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
48 lines
928 B
Go
48 lines
928 B
Go
package agenthost
|
|
|
|
import "strings"
|
|
|
|
func clonePayload(payload map[string]any) map[string]any {
|
|
if len(payload) == 0 {
|
|
return nil
|
|
}
|
|
out := make(map[string]any, len(payload))
|
|
for key, value := range payload {
|
|
out[key] = clonePayloadValue(value)
|
|
}
|
|
return out
|
|
}
|
|
|
|
func clonePayloadValue(value any) any {
|
|
switch typed := value.(type) {
|
|
case map[string]any:
|
|
return clonePayload(typed)
|
|
case []any:
|
|
out := make([]any, len(typed))
|
|
for index, item := range typed {
|
|
out[index] = clonePayloadValue(item)
|
|
}
|
|
return out
|
|
default:
|
|
return value
|
|
}
|
|
}
|
|
|
|
func metadataString(metadata map[string]any, key string) string {
|
|
value, _ := metadata[key].(string)
|
|
return strings.TrimSpace(value)
|
|
}
|
|
|
|
func metadataInt64(metadata map[string]any, key string) int64 {
|
|
switch value := metadata[key].(type) {
|
|
case int64:
|
|
return value
|
|
case int:
|
|
return int64(value)
|
|
case float64:
|
|
return int64(value)
|
|
default:
|
|
return 0
|
|
}
|
|
}
|