mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
**fix(translator): handle non-JSON output parsing for OpenAI function responses**
- Updated `antigravity_openai_request.go` to process non-JSON outputs gracefully by verifying and distinguishing between JSON and plain string formats. - Ensured proper assignment of parsed or raw response to `functionResponse`.
This commit is contained in:
@@ -271,7 +271,15 @@ func ConvertOpenAIRequestToAntigravity(modelName string, inputRawJSON []byte, _
|
|||||||
if resp == "" {
|
if resp == "" {
|
||||||
resp = "{}"
|
resp = "{}"
|
||||||
}
|
}
|
||||||
toolNode, _ = sjson.SetBytes(toolNode, "parts."+itoa(pp)+".functionResponse.response.result", []byte(resp))
|
// Handle non-JSON output gracefully (matches dev branch approach)
|
||||||
|
if resp != "null" {
|
||||||
|
parsed := gjson.Parse(resp)
|
||||||
|
if parsed.Type == gjson.JSON {
|
||||||
|
toolNode, _ = sjson.SetRawBytes(toolNode, "parts."+itoa(pp)+".functionResponse.response.result", []byte(parsed.Raw))
|
||||||
|
} else {
|
||||||
|
toolNode, _ = sjson.SetBytes(toolNode, "parts."+itoa(pp)+".functionResponse.response.result", resp)
|
||||||
|
}
|
||||||
|
}
|
||||||
pp++
|
pp++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user