pub struct AgentConfig {
pub name: String,
pub description: String,
pub model: String,
pub reasoning_effort: Option<ReasoningEffort>,
pub model_settings: ModelSettings,
pub context_window: Option<u32>,
pub user_invocable: bool,
pub agent_invocable: bool,
pub providers: ProviderConnectionOverrides,
pub prompts: Vec<PromptSource>,
pub mcps: Vec<McpSourceSpec>,
pub tools: ToolFilter,
}Expand description
A single agent definition. Every agent must be invocable on at least one
surface — set userInvocable, agentInvocable, or both.
A user-invocable agent with its own prompt and a read-only tool allowlist:
{
"name": "Review",
"description": "Reviews diffs and suggests changes",
"model": "anthropic:claude-sonnet-4-5-20250929",
"userInvocable": true,
"prompts": [".aether/REVIEW.md"],
"tools": { "allow": [{ "readOnly": true }, "plan__*"] }
}A deterministic judge agent that pins sampling via modelSettings:
{
"name": "Judge",
"description": "Grades responses against a rubric",
"model": "anthropic:claude-sonnet-4-5-20250929",
"userInvocable": true,
"modelSettings": { "temperature": 0, "maxTokens": 1024 }
}A sub-agent (callable by other agents) that pins a Bedrock inference profile:
{
"name": "Search",
"description": "Answers questions about the codebase",
"model": "anthropic.claude-sonnet-4-5-20250929-v1:0",
"agentInvocable": true,
"providers": {
"bedrock": {
"inferenceProfileArn": "arn:aws:bedrock:us-west-2:000000000000:application-inference-profile/abc"
}
}
}Fields§
§name: StringAgent identifier. Names are trimmed for merge and lookup.
description: StringHuman-readable description shown in UIs and sub-agent listings.
model: StringModel spec for this agent, in provider:model-id form. Accepts a
comma-separated alloy of specs to round-robin across turns.
reasoning_effort: Option<ReasoningEffort>Optional thinking budget for providers that support extended reasoning.
model_settings: ModelSettingsSampling controls (temperature, topP, maxTokens) applied to this
agent’s model calls. Omitted knobs keep the provider/model default.
context_window: Option<u32>Override for the model’s context window, in tokens. Defaults to the model’s advertised window.
user_invocable: boolExposes the agent as a user-selectable mode.
agent_invocable: boolExposes the agent to the subagents MCP server so other agents can spawn it.
providers: ProviderConnectionOverridesPer-agent provider overrides, merged over the top-level providers.
prompts: Vec<PromptSource>Agent-specific prompt sources. A non-empty array replaces the top-level prompts.
mcps: Vec<McpSourceSpec>Agent-specific MCP sources. A non-empty array replaces the top-level mcps.
tools: ToolFilterPer-agent MCP tool filter (allow/deny lists).
Trait Implementations§
Source§impl Clone for AgentConfig
impl Clone for AgentConfig
Source§fn clone(&self) -> AgentConfig
fn clone(&self) -> AgentConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentConfig
impl Debug for AgentConfig
Source§impl Default for AgentConfig
impl Default for AgentConfig
Source§fn default() -> AgentConfig
fn default() -> AgentConfig
Source§impl<'de> Deserialize<'de> for AgentConfig
impl<'de> Deserialize<'de> for AgentConfig
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 AgentConfig
impl JsonSchema for AgentConfig
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 moreSource§impl PartialEq for AgentConfig
impl PartialEq for AgentConfig
Source§fn eq(&self, other: &AgentConfig) -> bool
fn eq(&self, other: &AgentConfig) -> bool
self and other values to be equal, and is used by ==.