pub struct AgentBlueprint {
pub id: &'static str,
pub name: &'static str,
pub description: &'static str,
pub model: BlueprintModel,
pub system_prompt: &'static str,
pub tools: Vec<Box<dyn Tool>>,
pub max_turns: Option<usize>,
pub config_schema: Option<Value>,
}Expand description
Pre-built agent definition with private tools, baked-in prompt, and model selection.
Contributed by capabilities via agent_blueprints(). Spawned via
spawn_subagent(blueprint: "<id>"). Blueprint tools never appear in the
host agent’s tool list — they exist only inside the spawned child session.
Fields§
§id: &'static strUnique identifier (e.g. "github_scout")
name: &'static strHuman-readable display name
description: &'static strWhen to use this blueprint (LLM reads this for delegation decisions)
model: BlueprintModelModel selection strategy
system_prompt: &'static strBaked-in system prompt for the child agent
tools: Vec<Box<dyn Tool>>Private tools — only available inside the blueprint’s session
max_turns: Option<usize>Iteration limit (default: 20)
config_schema: Option<Value>JSON Schema for allowed host-provided config. None = no config accepted.
Implementations§
Source§impl AgentBlueprint
impl AgentBlueprint
Sourcepub fn tool_definitions(&self) -> Vec<ToolDefinition>
pub fn tool_definitions(&self) -> Vec<ToolDefinition>
Convert blueprint tools to tool definitions (for RuntimeAgent building).
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for AgentBlueprint
impl !UnwindSafe for AgentBlueprint
impl Freeze for AgentBlueprint
impl Send for AgentBlueprint
impl Sync for AgentBlueprint
impl Unpin for AgentBlueprint
impl UnsafeUnpin for AgentBlueprint
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> 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