Skip to main content

StandardDefinition

Struct StandardDefinition 

Source
pub struct StandardDefinition {
Show 31 fields pub name: String, pub package_name: Option<String>, pub description: String, pub version: Option<String>, pub instructions: String, pub mcp_servers: Option<Vec<McpDefinition>>, pub model_settings: Option<ModelSettings>, pub analysis_model_settings: Option<ModelSettings>, pub history_size: Option<usize>, pub strategy: Option<AgentStrategy>, pub icon_url: Option<String>, pub max_iterations: Option<usize>, pub skills_description: Vec<AgentSkill>, pub available_skills: Vec<AvailableSkill>, pub sub_agents: Vec<String>, pub tool_format: ToolCallFormat, pub tool_delivery_mode: ToolDeliveryMode, pub tools: Option<ToolsConfig>, pub file_system: FileSystemMode, pub partials: HashMap<String, String>, pub write_large_tool_responses_to_fs: Option<bool>, pub reflection: Option<ReflectionConfig>, pub enable_todos: Option<bool>, pub browser_config: Option<BrowserAgentConfig>, pub include_shell: Option<bool>, pub context_size: Option<u32>, pub append_default_instructions: Option<bool>, pub include_scratchpad: Option<bool>, pub hooks: Vec<String>, pub user_message_overrides: Option<UserMessageOverrides>, pub compaction_enabled: bool,
}
Expand description

Agent definition - complete configuration for an agent

Fields§

§name: String

The name of the agent.

§package_name: Option<String>

Optional package name that registered this agent (workspace/plugin metadata)

§description: String

A brief description of the agent’s purpose.

§version: Option<String>

The version of the agent.

§instructions: String

Instructions for the agent - serves as an introduction defining what the agent is and does.

§mcp_servers: Option<Vec<McpDefinition>>

A list of MCP server definitions associated with the agent.

§model_settings: Option<ModelSettings>

Settings related to the model used by the agent. When None, the agent inherits model settings from the orchestrator context defaults.

§analysis_model_settings: Option<ModelSettings>

Optional lower-level model settings for lightweight analysis helpers

§history_size: Option<usize>

The size of the history to maintain for the agent.

§strategy: Option<AgentStrategy>

The new strategy configuration for the agent.

§icon_url: Option<String>

A2A-specific fields

§max_iterations: Option<usize>§skills_description: Vec<AgentSkill>

A2A agent card skills metadata (describes capabilities for agent-to-agent protocol)

§available_skills: Vec<AvailableSkill>

Skills available for on-demand loading by this agent

§sub_agents: Vec<String>

List of sub-agents that this agent can transfer control to

§tool_format: ToolCallFormat

Tool calling configuration

§tool_delivery_mode: ToolDeliveryMode

How tools are delivered to the LLM (all upfront vs on-demand search)

§tools: Option<ToolsConfig>

Tools configuration for this agent

§file_system: FileSystemMode

Where filesystem and artifact tools should run (server or local)

§partials: HashMap<String, String>

Custom handlebars partials (name -> template path) for use in custom prompts

§write_large_tool_responses_to_fs: Option<bool>

Whether to write large tool responses to filesystem as artifacts (default: false)

§reflection: Option<ReflectionConfig>

Reflection configuration for post-execution analysis using a subagent

§enable_todos: Option<bool>

Whether to enable TODO management functionality

§browser_config: Option<BrowserAgentConfig>

Browser configuration for this agent (enables shared Chromium automation)

§include_shell: Option<bool>

Whether to include shell/code execution tools (start_shell, execute_shell, stop_shell)

§context_size: Option<u32>

Context size override for this agent (overrides model_settings.context_size)

§append_default_instructions: Option<bool>

Strategy for prompt construction (append default template vs fully custom)

§include_scratchpad: Option<bool>

Whether to include the built-in scratchpad/history in prompts (default: true)

§hooks: Vec<String>

Optional hook names to attach to this agent

§user_message_overrides: Option<UserMessageOverrides>

Custom user message construction (dynamic prompting)

§compaction_enabled: bool

Whether context compaction is enabled for this agent (default: true)

Implementations§

Source§

impl StandardDefinition

Source

pub fn should_write_large_tool_responses_to_fs(&self) -> bool

Check if large tool responses should be written to filesystem (default: false)

Source

pub fn should_use_browser(&self) -> bool

Check if browser should be initialized automatically in orchestrator (default: false)

Source

pub fn browser_settings(&self) -> Option<&BrowserAgentConfig>

Returns browser config if defined

Source

pub fn browser_runtime_config(&self) -> Option<BrowsrClientConfig>

Returns the runtime Chromium driver configuration if enabled

Source

pub fn should_persist_browser_session(&self) -> bool

Should browser session state be serialized after tool runs

Source

pub fn is_reflection_enabled(&self) -> bool

Check if reflection is enabled (default: false)

Source

pub fn reflection_config(&self) -> Option<&ReflectionConfig>

Get the reflection configuration, if any

Source

pub fn is_todos_enabled(&self) -> bool

Check if TODO management functionality is enabled (default: false)

Source

pub fn should_include_shell(&self) -> bool

Check if shell/code execution tools should be included (default: false)

Source

pub fn model_settings(&self) -> Option<&ModelSettings>

Get model settings if configured.

Source

pub fn model_settings_mut(&mut self) -> Option<&mut ModelSettings>

Get a mutable reference to model settings, if present.

Source

pub fn get_effective_context_size(&self) -> u32

Get the effective context size (agent-level override or model settings)

Source

pub fn analysis_model_settings_config(&self) -> Option<&ModelSettings>

Model settings to use for lightweight browser analysis helpers (e.g., observe_summary commands)

Source

pub fn include_scratchpad(&self) -> bool

Whether to include the persistent scratchpad/history in prompts

Source

pub fn apply_overrides(&mut self, overrides: DefinitionOverrides)

Apply definition overrides to this agent definition

Source§

impl StandardDefinition

Source

pub fn validate(&self) -> Result<()>

Source

pub fn validate_reflection_agent(agent_def: &StandardDefinition) -> Result<()>

Validate that a reflection agent definition has the “reflect” tool configured. This is called at registration time when we have access to the full agent config.

Trait Implementations§

Source§

impl Clone for StandardDefinition

Source§

fn clone(&self) -> StandardDefinition

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StandardDefinition

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for StandardDefinition

Source§

fn default() -> StandardDefinition

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for StandardDefinition

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<StandardDefinition> for LlmDefinition

Source§

fn from(definition: StandardDefinition) -> Self

Converts to this type from the input type.
Source§

impl JsonSchema for StandardDefinition

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for StandardDefinition

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,