mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
fix(channels): check json marshal/unmarshal errors in toChannelHashes
Replace silently discarded json.Marshal and json.Unmarshal errors with explicit checks. If serialization fails, log a warning and either return early (for the config-level marshal/unmarshal) or skip the channel (for per-channel marshal). This prevents silent data loss when channel configuration contains unexpected types.
This commit is contained in:
@@ -132,7 +132,11 @@ func RunToolLoop(
|
||||
Content: response.Content,
|
||||
}
|
||||
for _, tc := range normalizedToolCalls {
|
||||
argumentsJSON, _ := json.Marshal(tc.Arguments)
|
||||
argumentsJSON, err := json.Marshal(tc.Arguments)
|
||||
if err != nil {
|
||||
logger.Warnf("toolloop: failed to marshal tool call arguments for %s: %v", tc.Name, err)
|
||||
argumentsJSON = []byte("{}")
|
||||
}
|
||||
assistantMsg.ToolCalls = append(assistantMsg.ToolCalls, providers.ToolCall{
|
||||
ID: tc.ID,
|
||||
Type: "function",
|
||||
|
||||
Reference in New Issue
Block a user