pub struct CodexLoginClient { /* private fields */ }Expand description
Codex account-backed Responses client used by local evaluation adapters.
The client reads a short-lived auth snapshot supplied by the caller and never writes credentials to the workspace or session store.
Implementations§
Trait Implementations§
Source§impl LlmClient for CodexLoginClient
impl LlmClient for CodexLoginClient
Source§fn model_generation_pool(&self) -> Option<ModelGenerationPool>
fn model_generation_pool(&self) -> Option<ModelGenerationPool>
Describe the non-secret provider/model capacity pool shared by this
client. The default is
None for custom clients that do not expose a
stable routing identity; they retain the existing per-client gate.Source§fn with_active_generation_timeout(
&self,
timeout: Duration,
) -> Option<Arc<dyn LlmClient>>
fn with_active_generation_timeout( &self, timeout: Duration, ) -> Option<Arc<dyn LlmClient>>
Return a view of this client configured for one active generation
deadline. The caller still owns and enforces the outer deadline. Read more
Source§fn fork_for_session(&self, session_id: &str) -> Option<Arc<dyn LlmClient>>
fn fork_for_session(&self, session_id: &str) -> Option<Arc<dyn LlmClient>>
Derive a provider client bound to one logical agent session. Read more
Source§fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Complete a conversation (non-streaming)
Source§fn complete_streaming<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
cancel_token: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<Receiver<StreamEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn complete_streaming<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
cancel_token: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<Receiver<StreamEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Complete a conversation with streaming
Returns a receiver for streaming events.
The cancel_token is checked during the HTTP request; if cancelled, the request is aborted.
Source§fn native_structured_support(&self) -> NativeStructuredSupport
fn native_structured_support(&self) -> NativeStructuredSupport
Report the strongest provider-native structured-output enforcement this
client supports. Used by
structured to decide whether to force a
tool call, request a native response_format, or fall back to
prompt-and-parse. Defaults to no native support.Source§fn model_generation_concurrency(&self) -> ModelGenerationConcurrency
fn model_generation_concurrency(&self) -> ModelGenerationConcurrency
Report the client’s explicitly supported active-generation capacity. Read more
Source§fn bind_model_generation_admission(
&self,
_admission: ModelGenerationAdmission,
_preadmitted: Option<Arc<ModelGenerationPermit>>,
) -> Option<Arc<dyn LlmClient>>
fn bind_model_generation_admission( &self, _admission: ModelGenerationAdmission, _preadmitted: Option<Arc<ModelGenerationPermit>>, ) -> Option<Arc<dyn LlmClient>>
Rebind a governed model facade to an invocation-owned generation gate. Read more
Source§fn model_generation_is_managed(&self) -> bool
fn model_generation_is_managed(&self) -> bool
Whether this client already applies the model-generation admission
contract around every provider call. Built-in run-bound clients use
this marker so structured tools do not acquire the same permit twice.
Source§fn take_model_generation_queue_wait(&self) -> Duration
fn take_model_generation_queue_wait(&self) -> Duration
Take queue wait accumulated by a managed client since the previous
observation. Unmanaged clients report zero.
Source§fn has_distinct_non_streaming_transport(&self) -> bool
fn has_distinct_non_streaming_transport(&self) -> bool
Report whether
LlmClient::complete_structured uses a transport that
is independent from the streaming implementation. Read moreSource§fn complete_structured<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
_directive: &'life4 StructuredDirective,
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn complete_structured<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
_directive: &'life4 StructuredDirective,
) -> Pin<Box<dyn Future<Output = Result<LlmResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Complete a conversation while honoring a structured-output directive
(forced
tool_choice and/or native response_format). Read moreSource§fn complete_streaming_structured<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
_directive: &'life4 StructuredDirective,
cancel_token: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<Receiver<StreamEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
fn complete_streaming_structured<'life0, 'life1, 'life2, 'life3, 'life4, 'async_trait>(
&'life0 self,
messages: &'life1 [Message],
system: Option<&'life2 str>,
tools: &'life3 [ToolDefinition],
_directive: &'life4 StructuredDirective,
cancel_token: CancellationToken,
) -> Pin<Box<dyn Future<Output = Result<Receiver<StreamEvent>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
Streaming counterpart of
LlmClient::complete_structured. Defaults to
LlmClient::complete_streaming, ignoring the directive.Auto Trait Implementations§
impl !RefUnwindSafe for CodexLoginClient
impl !UnwindSafe for CodexLoginClient
impl Freeze for CodexLoginClient
impl Send for CodexLoginClient
impl Sync for CodexLoginClient
impl Unpin for CodexLoginClient
impl UnsafeUnpin for CodexLoginClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more