diff --git a/internal/translator/gemini-cli/openai/responses/cli_openai-responses_request.go b/internal/translator/gemini-cli/openai/responses/cli_openai-responses_request.go new file mode 100644 index 00000000..46421320 --- /dev/null +++ b/internal/translator/gemini-cli/openai/responses/cli_openai-responses_request.go @@ -0,0 +1,19 @@ +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) +} diff --git a/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_response.go b/internal/translator/gemini-cli/openai/responses/cli_openai-responses_response.go similarity index 100% rename from internal/translator/gemini-cli/openai/responses/gemini_openai-responses_response.go rename to internal/translator/gemini-cli/openai/responses/cli_openai-responses_response.go diff --git a/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_request.go b/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_request.go deleted file mode 100644 index 6d4e740d..00000000 --- a/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_request.go +++ /dev/null @@ -1,5 +0,0 @@ -package responses - -func ConvertOpenAIResponsesRequestToGeminiCLI(modelName string, rawJSON []byte, stream bool) []byte { - return nil -}