summaryrefslogtreecommitdiff
path: root/libpanto/src/config.zig
diff options
context:
space:
mode:
Diffstat (limited to 'libpanto/src/config.zig')
-rw-r--r--libpanto/src/config.zig10
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,
+ },
};
}
};