pub struct OpenAIResponsesProvider { /* private fields */ }openai only.Expand description
OpenAI Responses API provider.
This provider uses the /v1/responses endpoint for OpenAI models that expose
agentic workflows over the Responses API.
Implementations§
Source§impl OpenAIResponsesProvider
impl OpenAIResponsesProvider
Sourcepub fn new(api_key: String, model: String) -> OpenAIResponsesProvider
pub fn new(api_key: String, model: String) -> OpenAIResponsesProvider
Create a new OpenAI Responses API provider.
Sourcepub fn with_base_url(
api_key: String,
model: String,
base_url: String,
) -> OpenAIResponsesProvider
pub fn with_base_url( api_key: String, model: String, base_url: String, ) -> OpenAIResponsesProvider
Create a provider with a custom base URL.
Sourcepub fn with_extra_headers(
self,
headers: Vec<(String, String)>,
) -> OpenAIResponsesProvider
pub fn with_extra_headers( self, headers: Vec<(String, String)>, ) -> OpenAIResponsesProvider
Add extra HTTP headers applied to every request.
Used by OpenAIProvider’s transparent
Responses-API reroute to forward its BYOK / gateway auth headers (e.g.
cf-aig-authorization) so a rerouted request authenticates correctly.
Sourcepub fn gpt56(api_key: String) -> OpenAIResponsesProvider
pub fn gpt56(api_key: String) -> OpenAIResponsesProvider
Create a provider using the GPT-5.6 alias, which routes to GPT-5.6 Sol.
Sourcepub fn gpt56_sol(api_key: String) -> OpenAIResponsesProvider
pub fn gpt56_sol(api_key: String) -> OpenAIResponsesProvider
Create a provider using GPT-5.6 Sol (frontier reasoning and coding).
Sourcepub fn gpt56_terra(api_key: String) -> OpenAIResponsesProvider
pub fn gpt56_terra(api_key: String) -> OpenAIResponsesProvider
Create a provider using GPT-5.6 Terra (balanced intelligence and cost).
Sourcepub fn gpt56_luna(api_key: String) -> OpenAIResponsesProvider
pub fn gpt56_luna(api_key: String) -> OpenAIResponsesProvider
Create a provider using GPT-5.6 Luna (cost-sensitive, high-volume work).
Sourcepub fn gpt53_codex(api_key: String) -> OpenAIResponsesProvider
pub fn gpt53_codex(api_key: String) -> OpenAIResponsesProvider
Create a provider using GPT-5.3-Codex (latest codex model).
Sourcepub fn codex(api_key: String) -> OpenAIResponsesProvider
pub fn codex(api_key: String) -> OpenAIResponsesProvider
Create a provider using the latest Codex model.
Sourcepub fn with_thinking(self, thinking: ThinkingConfig) -> OpenAIResponsesProvider
pub fn with_thinking(self, thinking: ThinkingConfig) -> OpenAIResponsesProvider
Set the provider-owned thinking configuration for this model.
Sourcepub fn with_reasoning(
self,
reasoning: OpenAIReasoningConfig,
) -> OpenAIResponsesProvider
pub fn with_reasoning( self, reasoning: OpenAIReasoningConfig, ) -> OpenAIResponsesProvider
Set exact OpenAI reasoning and related response controls.
Calling this after with_thinking replaces the
legacy provider-owned thinking configuration.
Sourcepub fn with_reasoning_effort(
self,
effort: ReasoningEffort,
) -> OpenAIResponsesProvider
pub fn with_reasoning_effort( self, effort: ReasoningEffort, ) -> OpenAIResponsesProvider
Set the reasoning effort level.
Trait Implementations§
Source§impl Clone for OpenAIResponsesProvider
impl Clone for OpenAIResponsesProvider
Source§fn clone(&self) -> OpenAIResponsesProvider
fn clone(&self) -> OpenAIResponsesProvider
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl LlmProvider for OpenAIResponsesProvider
impl LlmProvider for OpenAIResponsesProvider
Source§fn chat<'life0, 'async_trait>(
&'life0 self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatOutcome, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
OpenAIResponsesProvider: 'async_trait,
fn chat<'life0, 'async_trait>(
&'life0 self,
request: ChatRequest,
) -> Pin<Box<dyn Future<Output = Result<ChatOutcome, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
OpenAIResponsesProvider: 'async_trait,
Source§fn chat_stream(
&self,
request: ChatRequest,
) -> Pin<Box<dyn Stream<Item = Result<StreamDelta, Error>> + Send + '_>>
fn chat_stream( &self, request: ChatRequest, ) -> Pin<Box<dyn Stream<Item = Result<StreamDelta, Error>> + Send + '_>>
fn model(&self) -> &str
fn provider(&self) -> &'static str
Source§fn configured_thinking(&self) -> Option<&ThinkingConfig>
fn configured_thinking(&self) -> Option<&ThinkingConfig>
Source§fn list_models<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ModelInfo>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn list_models<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ModelInfo>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Source§fn capabilities(&self) -> Option<&'static ModelCapabilities>
fn capabilities(&self) -> Option<&'static ModelCapabilities>
Source§fn model_features(&self) -> Option<&'static ModelFeatures>
fn model_features(&self) -> Option<&'static ModelFeatures>
Source§fn validate_thinking_config(
&self,
thinking: Option<&ThinkingConfig>,
) -> Result<(), Error>
fn validate_thinking_config( &self, thinking: Option<&ThinkingConfig>, ) -> Result<(), Error>
Source§fn resolve_thinking_config(
&self,
request_thinking: Option<&ThinkingConfig>,
) -> Result<Option<ThinkingConfig>, Error>
fn resolve_thinking_config( &self, request_thinking: Option<&ThinkingConfig>, ) -> Result<Option<ThinkingConfig>, Error>
Source§fn default_max_tokens(&self) -> u32
fn default_max_tokens(&self) -> u32
AgentConfig.max_tokens.Source§fn structured_output_support(&self) -> StructuredOutputSupport
fn structured_output_support(&self) -> StructuredOutputSupport
ResponseFormat) request. Read more