From 6586f08584a77165b5b175e318a7927edf46b642 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Wed, 17 Dec 2025 03:57:35 +0800 Subject: [PATCH] fix(translator): correct funcName extraction and ensure proper handling of function response data in Antigravity Claude requests --- .../antigravity/claude/antigravity_claude_request.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/internal/translator/antigravity/claude/antigravity_claude_request.go b/internal/translator/antigravity/claude/antigravity_claude_request.go index 10377dc2..0136c24a 100644 --- a/internal/translator/antigravity/claude/antigravity_claude_request.go +++ b/internal/translator/antigravity/claude/antigravity_claude_request.go @@ -122,9 +122,17 @@ func ConvertClaudeRequestToAntigravity(modelName string, inputRawJSON []byte, _ funcName := toolCallID toolCallIDs := strings.Split(toolCallID, "-") if len(toolCallIDs) > 1 { - funcName = strings.Join(toolCallIDs[0:len(toolCallIDs)-1], "-") + funcName = strings.Join(toolCallIDs[0:len(toolCallIDs)-2], "-") } - responseData := contentResult.Get("content").Raw + functionResponseResult := contentResult.Get("content") + + responseData := "" + if functionResponseResult.Type == gjson.String { + responseData = functionResponseResult.String() + } else { + responseData = contentResult.Get("content").Raw + } + functionResponse := client.FunctionResponse{ID: toolCallID, Name: funcName, Response: map[string]interface{}{"result": responseData}} clientContent.Parts = append(clientContent.Parts, client.Part{FunctionResponse: &functionResponse}) }