pub struct AgentBase {
pub upstream: Upstream,
pub output_mode: OutputMode,
pub top_logprobs: Option<u64>,
pub error: Option<bool>,
pub error_probability: Option<u8>,
pub mcp_servers: Option<McpServers>,
pub client_objectiveai_mcp: Option<ClientObjectiveaiMcp>,
pub calls: Option<Vec<Call>>,
}Expand description
The base configuration for a Mock Agent (without computed ID).
Fields§
§upstream: UpstreamThe upstream provider marker.
output_mode: OutputModeThe output mode for vector completions. Ignored for agent completions.
top_logprobs: Option<u64>Number of top log probabilities to return (2-20).
Vector completions only. Ignored for agent completions.
error: Option<bool>If true, the mock client will return an error instead of a response.
error_probability: Option<u8>Probability (0-100) that the mock returns an error mid-stream.
Requires error to be Some(true).
mcp_servers: Option<McpServers>MCP servers the agent can connect to.
client_objectiveai_mcp: Option<ClientObjectiveaiMcp>Client-side ObjectiveAI MCP surface the calling client is expected to expose locally back to the API (objectiveai built-in, plus specific plugins / tools by owner+name+version).
calls: Option<Vec<Call>>Deterministic-script override. When Some, the mock agent
emits each super::Call as its own assistant turn —
tool_calls first, then content — in array order. Each
subsequent turn inspects the continuation to count how many
Calls have already been satisfied (assistant message with
exactly that Call’s tool_calls (by name+arguments) and
content); the next un-matched Call is what that turn
emits. Once every Call has been satisfied in the
continuation, the mock falls through to its normal
dispatcher. Pure addition — agents without calls are
unaffected.
Implementations§
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for AgentBase
impl<'arbitrary> Arbitrary<'arbitrary> for AgentBase
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured this type
needs to construct itself. Read moreSource§impl<'de> Deserialize<'de> for AgentBase
impl<'de> Deserialize<'de> for AgentBase
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for AgentBase
impl JsonSchema for AgentBase
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreimpl StructuralPartialEq for AgentBase
Auto Trait Implementations§
impl Freeze for AgentBase
impl RefUnwindSafe for AgentBase
impl Send for AgentBase
impl Sync for AgentBase
impl Unpin for AgentBase
impl UnsafeUnpin for AgentBase
impl UnwindSafe for AgentBase
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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>
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>
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