mirror of
https://github.com/router-for-me/CLIProxyAPI.git
synced 2026-02-03 04:50:52 +08:00
- Renamed `openai` packages to `chat_completions` across translator modules. - Introduced `openai_responses_handlers` with handlers for `/v1/models` and OpenAI-compatible chat completions endpoints. - Updated constants and registry identifiers for OpenAI response type. - Simplified request/response conversions and added detailed retry/error handling. - Added `golang.org/x/crypto` for additional cryptographic functions.
20 lines
772 B
Go
20 lines
772 B
Go
package responses
|
|
|
|
import (
|
|
. "github.com/luispater/CLIProxyAPI/internal/translator/gemini/openai/responses"
|
|
"github.com/tidwall/gjson"
|
|
"github.com/tidwall/sjson"
|
|
)
|
|
|
|
func ConvertOpenAIResponsesRequestToGeminiCLI(modelName string, rawJSON []byte, stream bool) []byte {
|
|
modelResult := gjson.GetBytes(rawJSON, "model")
|
|
rawJSON = []byte(gjson.GetBytes(rawJSON, "request").Raw)
|
|
rawJSON, _ = sjson.SetBytes(rawJSON, "model", modelResult.String())
|
|
if gjson.GetBytes(rawJSON, "systemInstruction").Exists() {
|
|
rawJSON, _ = sjson.SetRawBytes(rawJSON, "system_instruction", []byte(gjson.GetBytes(rawJSON, "systemInstruction").Raw))
|
|
rawJSON, _ = sjson.DeleteBytes(rawJSON, "systemInstruction")
|
|
}
|
|
|
|
return ConvertOpenAIResponsesRequestToGemini(modelName, rawJSON, stream)
|
|
}
|