pub struct MockProvider { /* private fields */ }Expand description
Mock LLM provider for testing
Returns predefined responses in sequence.
Implementations§
Source§impl MockProvider
impl MockProvider
Sourcepub async fn add_response(&self, response: MockLlmResponse)
pub async fn add_response(&self, response: MockLlmResponse)
Add a response to the queue
Sourcepub async fn set_responses(&self, responses: Vec<MockLlmResponse>)
pub async fn set_responses(&self, responses: Vec<MockLlmResponse>)
Set all responses at once
Sourcepub async fn calls(&self) -> Vec<Vec<LlmMessage>>
pub async fn calls(&self) -> Vec<Vec<LlmMessage>>
Get the call log
Trait Implementations§
Source§impl ChatDriver for MockProvider
impl ChatDriver for MockProvider
Source§fn chat_completion_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: Vec<LlmMessage>,
_config: &'life1 LlmCallConfig,
) -> Pin<Box<dyn Future<Output = Result<LlmResponseStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn chat_completion_stream<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: Vec<LlmMessage>,
_config: &'life1 LlmCallConfig,
) -> Pin<Box<dyn Future<Output = Result<LlmResponseStream>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Call the LLM with streaming response
Source§fn chat_completion<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: Vec<LlmMessage>,
config: &'life1 LlmCallConfig,
) -> Pin<Box<dyn Future<Output = Result<LlmResponse, AgentLoopError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn chat_completion<'life0, 'life1, 'async_trait>(
&'life0 self,
messages: Vec<LlmMessage>,
config: &'life1 LlmCallConfig,
) -> Pin<Box<dyn Future<Output = Result<LlmResponse, AgentLoopError>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Call the LLM without streaming (convenience method)
Source§fn list_models<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<DiscoveredModel>>, AgentLoopError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn list_models<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<DiscoveredModel>>, AgentLoopError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
List available models from the provider Read more
Source§fn supports_compact(&self) -> bool
fn supports_compact(&self) -> bool
Check if this driver supports the compact endpoint Read more
Source§fn supports_stateful_responses(&self) -> bool
fn supports_stateful_responses(&self) -> bool
Whether this driver persists Responses API state and can resolve tool
calls that are reachable only through
previous_response_id. Read moreSource§fn effective_context_window(&self, _model: &str) -> Option<usize>
fn effective_context_window(&self, _model: &str) -> Option<usize>
Effective context window for
model, when the driver has authoritative
model metadata that is not represented by Everruns’ built-in profiles. Read moreSource§fn supports_parallel_tool_calls(&self, _model: &str) -> bool
fn supports_parallel_tool_calls(&self, _model: &str) -> bool
Whether this driver can express the request-level
parallel_tool_calls
preference on the wire for model. Read moreSource§fn compact<'life0, 'async_trait>(
&'life0 self,
_request: CompactRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<CompactResponse>, AgentLoopError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
fn compact<'life0, 'async_trait>(
&'life0 self,
_request: CompactRequest,
) -> Pin<Box<dyn Future<Output = Result<Option<CompactResponse>, AgentLoopError>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: 'async_trait,
Compact a conversation to reduce context size Read more
Source§impl Debug for MockProvider
impl Debug for MockProvider
Source§impl Default for MockProvider
impl Default for MockProvider
Source§fn default() -> MockProvider
fn default() -> MockProvider
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for MockProvider
impl !UnwindSafe for MockProvider
impl Freeze for MockProvider
impl Send for MockProvider
impl Sync for MockProvider
impl Unpin for MockProvider
impl UnsafeUnpin for MockProvider
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request