diff --git a/internal/translator/claude/openai/responses/claude_openai-responses_request.go b/internal/translator/claude/openai/responses/claude_openai-responses_request.go new file mode 100644 index 0000000..e1a2e43 --- /dev/null +++ b/internal/translator/claude/openai/responses/claude_openai-responses_request.go @@ -0,0 +1,5 @@ +package responses + +func ConvertOpenAIResponsesRequestToClaude(modelName string, rawJSON []byte, stream bool) []byte { + return nil +} diff --git a/internal/translator/claude/openai/responses/claude_openai-responses_response.go b/internal/translator/claude/openai/responses/claude_openai-responses_response.go new file mode 100644 index 0000000..f5f2afa --- /dev/null +++ b/internal/translator/claude/openai/responses/claude_openai-responses_response.go @@ -0,0 +1,11 @@ +package responses + +import "context" + +func ConvertClaudeResponseToOpenAIResponses(_ context.Context, modelName string, rawJSON []byte, param *any) []string { + return nil +} + +func ConvertClaudeResponseToOpenAIResponsesNonStream(_ context.Context, _ string, rawJSON []byte, _ *any) string { + return "" +} diff --git a/internal/translator/claude/openai/responses/init.go b/internal/translator/claude/openai/responses/init.go new file mode 100644 index 0000000..c233af4 --- /dev/null +++ b/internal/translator/claude/openai/responses/init.go @@ -0,0 +1,19 @@ +package responses + +import ( + . "github.com/luispater/CLIProxyAPI/internal/constant" + "github.com/luispater/CLIProxyAPI/internal/interfaces" + "github.com/luispater/CLIProxyAPI/internal/translator/translator" +) + +func init() { + translator.Register( + OPENAI_RESPONSE, + CLAUDE, + ConvertOpenAIResponsesRequestToClaude, + interfaces.TranslateResponse{ + Stream: ConvertClaudeResponseToOpenAIResponses, + NonStream: ConvertClaudeResponseToOpenAIResponsesNonStream, + }, + ) +} 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 new file mode 100644 index 0000000..6d4e740 --- /dev/null +++ b/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_request.go @@ -0,0 +1,5 @@ +package responses + +func ConvertOpenAIResponsesRequestToGeminiCLI(modelName string, rawJSON []byte, stream bool) []byte { + return nil +} diff --git a/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_response.go b/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_response.go new file mode 100644 index 0000000..2e1f8fd --- /dev/null +++ b/internal/translator/gemini-cli/openai/responses/gemini_openai-responses_response.go @@ -0,0 +1,11 @@ +package responses + +import "context" + +func ConvertGeminiCLIResponseToOpenAIResponses(_ context.Context, modelName string, rawJSON []byte, param *any) []string { + return nil +} + +func ConvertGeminiCLIResponseToOpenAIResponsesNonStream(_ context.Context, _ string, rawJSON []byte, _ *any) string { + return "" +} diff --git a/internal/translator/gemini-cli/openai/responses/init.go b/internal/translator/gemini-cli/openai/responses/init.go new file mode 100644 index 0000000..2aa3dc8 --- /dev/null +++ b/internal/translator/gemini-cli/openai/responses/init.go @@ -0,0 +1,19 @@ +package responses + +import ( + . "github.com/luispater/CLIProxyAPI/internal/constant" + "github.com/luispater/CLIProxyAPI/internal/interfaces" + "github.com/luispater/CLIProxyAPI/internal/translator/translator" +) + +func init() { + translator.Register( + OPENAI_RESPONSE, + GEMINICLI, + ConvertOpenAIResponsesRequestToGeminiCLI, + interfaces.TranslateResponse{ + Stream: ConvertGeminiCLIResponseToOpenAIResponses, + NonStream: ConvertGeminiCLIResponseToOpenAIResponsesNonStream, + }, + ) +} diff --git a/internal/translator/gemini/openai/responses/gemini_openai-responses_request.go b/internal/translator/gemini/openai/responses/gemini_openai-responses_request.go new file mode 100644 index 0000000..86c6158 --- /dev/null +++ b/internal/translator/gemini/openai/responses/gemini_openai-responses_request.go @@ -0,0 +1,5 @@ +package responses + +func ConvertOpenAIResponsesRequestToGemini(modelName string, rawJSON []byte, stream bool) []byte { + return nil +} diff --git a/internal/translator/gemini/openai/responses/gemini_openai-responses_response.go b/internal/translator/gemini/openai/responses/gemini_openai-responses_response.go new file mode 100644 index 0000000..11544e4 --- /dev/null +++ b/internal/translator/gemini/openai/responses/gemini_openai-responses_response.go @@ -0,0 +1,11 @@ +package responses + +import "context" + +func ConvertGeminiResponseToOpenAIResponses(_ context.Context, modelName string, rawJSON []byte, param *any) []string { + return nil +} + +func ConvertGeminiResponseToOpenAIResponsesNonStream(_ context.Context, _ string, rawJSON []byte, _ *any) string { + return "" +} diff --git a/internal/translator/gemini/openai/responses/init.go b/internal/translator/gemini/openai/responses/init.go new file mode 100644 index 0000000..6017cec --- /dev/null +++ b/internal/translator/gemini/openai/responses/init.go @@ -0,0 +1,19 @@ +package responses + +import ( + . "github.com/luispater/CLIProxyAPI/internal/constant" + "github.com/luispater/CLIProxyAPI/internal/interfaces" + "github.com/luispater/CLIProxyAPI/internal/translator/translator" +) + +func init() { + translator.Register( + OPENAI_RESPONSE, + GEMINI, + ConvertOpenAIResponsesRequestToGemini, + interfaces.TranslateResponse{ + Stream: ConvertGeminiResponseToOpenAIResponses, + NonStream: ConvertGeminiResponseToOpenAIResponsesNonStream, + }, + ) +} diff --git a/internal/translator/init.go b/internal/translator/init.go index f74e70a..42db67a 100644 --- a/internal/translator/init.go +++ b/internal/translator/init.go @@ -4,6 +4,7 @@ import ( _ "github.com/luispater/CLIProxyAPI/internal/translator/claude/gemini" _ "github.com/luispater/CLIProxyAPI/internal/translator/claude/gemini-cli" _ "github.com/luispater/CLIProxyAPI/internal/translator/claude/openai/chat-completions" + _ "github.com/luispater/CLIProxyAPI/internal/translator/claude/openai/responses" _ "github.com/luispater/CLIProxyAPI/internal/translator/codex/claude" _ "github.com/luispater/CLIProxyAPI/internal/translator/codex/gemini" _ "github.com/luispater/CLIProxyAPI/internal/translator/codex/gemini-cli" @@ -11,10 +12,12 @@ import ( _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini-cli/claude" _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini-cli/gemini" _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini-cli/openai/chat-completions" + _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini-cli/openai/responses" _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini/claude" _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini/gemini" _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini/gemini-cli" _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini/openai/chat-completions" + _ "github.com/luispater/CLIProxyAPI/internal/translator/gemini/openai/responses" _ "github.com/luispater/CLIProxyAPI/internal/translator/openai/claude" _ "github.com/luispater/CLIProxyAPI/internal/translator/openai/gemini" _ "github.com/luispater/CLIProxyAPI/internal/translator/openai/gemini-cli" diff --git a/internal/translator/openai/openai/responses/gemini_openai-responses_request.go b/internal/translator/openai/openai/responses/gemini_openai-responses_request.go new file mode 100644 index 0000000..b186369 --- /dev/null +++ b/internal/translator/openai/openai/responses/gemini_openai-responses_request.go @@ -0,0 +1,5 @@ +package responses + +func ConvertOpenAIResponsesRequestToOpenAIChatCompletions(modelName string, rawJSON []byte, stream bool) []byte { + return nil +} diff --git a/internal/translator/openai/openai/responses/gemini_openai-responses_response.go b/internal/translator/openai/openai/responses/gemini_openai-responses_response.go new file mode 100644 index 0000000..ab4592e --- /dev/null +++ b/internal/translator/openai/openai/responses/gemini_openai-responses_response.go @@ -0,0 +1,11 @@ +package responses + +import "context" + +func ConvertOpenAIChatCompletionsResponseToOpenAIResponses(_ context.Context, modelName string, rawJSON []byte, param *any) []string { + return nil +} + +func ConvertOpenAIChatCompletionsResponseToOpenAIResponsesNonStream(_ context.Context, _ string, rawJSON []byte, _ *any) string { + return "" +} diff --git a/internal/translator/openai/openai/responses/init.go b/internal/translator/openai/openai/responses/init.go new file mode 100644 index 0000000..611f6ed --- /dev/null +++ b/internal/translator/openai/openai/responses/init.go @@ -0,0 +1,19 @@ +package responses + +import ( + . "github.com/luispater/CLIProxyAPI/internal/constant" + "github.com/luispater/CLIProxyAPI/internal/interfaces" + "github.com/luispater/CLIProxyAPI/internal/translator/translator" +) + +func init() { + translator.Register( + OPENAI_RESPONSE, + OPENAI, + ConvertOpenAIResponsesRequestToOpenAIChatCompletions, + interfaces.TranslateResponse{ + Stream: ConvertOpenAIChatCompletionsResponseToOpenAIResponses, + NonStream: ConvertOpenAIChatCompletionsResponseToOpenAIResponsesNonStream, + }, + ) +}