diff options
Diffstat (limited to 'libpanto/src/config.zig')
| -rw-r--r-- | libpanto/src/config.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libpanto/src/config.zig b/libpanto/src/config.zig index c48cefc..7c8a495 100644 --- a/libpanto/src/config.zig +++ b/libpanto/src/config.zig @@ -27,6 +27,9 @@ pub const APIStyle = enum { /// OpenAI Responses API (`/responses`). Used by the ChatGPT-subscription /// Codex backend, whose request/stream shape differs from Chat Completions. openai_responses, + /// ChatGPT-subscription Codex Responses dialect. User config selects this + /// with `style = "openai_responses"` plus `dialect = "codex"`. + openai_codex_responses, }; /// A single HTTP request header (name/value). Used for provider @@ -155,6 +158,7 @@ pub const ProviderConfig = union(APIStyle) { openai_chat: OpenAIChatConfig, anthropic_messages: AnthropicMessagesConfig, openai_responses: OpenAIResponsesConfig, + openai_codex_responses: OpenAIResponsesConfig, pub fn style(self: ProviderConfig) APIStyle { return @as(APIStyle, self); @@ -187,6 +191,12 @@ pub const ProviderConfig = union(APIStyle) { .model = c.model, .reasoning = c.reasoning, }, + .openai_codex_responses => |c| .{ + .api_style = .openai_codex_responses, + .base_url = c.base_url, + .model = c.model, + .reasoning = c.reasoning, + }, }; } }; |
