Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

47 lines
869 B
Go

package agentruntime
import (
"encoding/json"
"strconv"
"strings"
)
func acpIntFromValue(value any) (int, bool) {
switch typed := value.(type) {
case int:
return typed, true
case int32:
return int(typed), true
case int64:
return int(typed), true
case float64:
return int(typed), true
case json.Number:
n, err := typed.Int64()
if err != nil {
return 0, false
}
return int(n), true
case string:
n, err := strconv.Atoi(strings.TrimSpace(typed))
if err != nil {
return 0, false
}
return n, true
default:
return 0, false
}
}
func acpExitCodeFromText(value any) (int, bool) {
text := strings.TrimSpace(asString(value))
if text == "" {
return 0, false
}
lower := strings.ToLower(text)
if !strings.HasPrefix(lower, "exit code ") {
return 0, false
}
return acpIntFromValue(strings.TrimSpace(text[len("Exit code "):]))
}