pub struct AgentBase {
pub upstream: Upstream,
pub output_mode: OutputMode,
pub script: Script,
pub mcp_servers: Option<McpServers>,
pub laboratories: Option<Laboratories>,
pub client_objectiveai_mcp: Option<ClientObjectiveaiMcp>,
}Expand description
The base configuration for a Script Agent (without computed ID).
Fields§
§upstream: UpstreamThe upstream provider marker.
output_mode: OutputModeThe output mode for vector completions. Ignored for agent completions.
script: ScriptThe code this agent runs on the CLIENT — a required
type-tagged enum, flattened so type + its payload (e.g.
python) sit directly on the agent object.
mcp_servers: Option<McpServers>MCP servers the agent can connect to.
laboratories: Option<Laboratories>Laboratories provisioned for the agent — each becomes a
client-side laboratory MCP server whose id DERIVES from the
agent’s full id plus the spec (see
laboratories::derived_id).
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).
Implementations§
Source§impl AgentBase
impl AgentBase
Sourcepub fn prepare(&mut self)
pub fn prepare(&mut self)
Normalizes the configuration for deterministic ID computation. The script code itself is never normalized — whitespace is significant.
Sourcepub fn merged_messages(&self, messages: Vec<Message>) -> Vec<Message>
pub fn merged_messages(&self, messages: Vec<Message>) -> Vec<Message>
Returns the messages as-is.
pub const fn model() -> &'static str
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