pub struct SubagentTemplate {Show 19 fields
pub instruction: String,
pub params: BTreeMap<String, ParamSpec>,
pub servers: Option<Vec<String>>,
pub tools: Option<Vec<String>>,
pub limits: Option<Value>,
pub mode: Option<String>,
pub model: Option<String>,
pub priority: Option<String>,
pub skills: Option<Value>,
pub context: Option<Value>,
pub output_contract: Option<String>,
pub output_schema: Option<Value>,
pub budget: Option<Value>,
pub ttl: Option<Dur>,
pub until: Option<String>,
pub singleton: bool,
pub durable: Option<bool>,
pub result: Option<Value>,
pub mirror_streams: Option<Vec<String>>,
}Fields§
§instruction: StringA full instruction document. Directive extraction runs ONCE, at boot,
on this operator-authored text; params fold in later at spawn as data
and are never re-parsed for directives, so a param value cannot
introduce machinery the operator never wrote.
params: BTreeMap<String, ParamSpec>The ONLY holes the model may fill, schema-validated at spawn.
servers: Option<Vec<String>>Flat tier only: narrowing grants from the parent’s server/tool set.
tools: Option<Vec<String>>§limits: Option<Value>Flat tier: the full per-spawn limits object. Instance tier: OS caps
only (memory, cpu) — token ceilings live in budget.
mode: Option<String>§model: Option<String>§priority: Option<String>§skills: Option<Value>§context: Option<Value>§output_contract: Option<String>§output_schema: Option<Value>§budget: Option<Value>Instance tier only: the child’s own budget (a Budget document),
enforced in-child with on_exhausted: refuse.
ttl: Option<Dur>Instance tier only: a lifetime after which the child retires gracefully rather than being killed.
until: Option<String>A signal name (templated over params) whose delivery IN THE CHILD retires it.
singleton: boolOne live child at a time; its A2A peer alias is the template name.
durable: Option<bool>Durability class: false ⇒ the spawn’s record is memory-only (and an
instance child runs on a memory store — no restore-respawn). Absent ⇒
the deployment default (store.durability.work).
result: Option<Value>Instance tier, mode: sync: {workflow: <name>} — the spawn
resolves when the CHILD’s named workflow first completes,
returning that run’s output. Composed as a reporter workflow in the
child; requires the parent to have an A2A listener.
mirror_streams: Option<Vec<String>>Instance tier: child streams mirrored into the PARENT’s same-named
streams — each event forwarded over the socket and
appended with source instance:<handle>. Requires the stream declared
on BOTH sides and a parent A2A listener.
Trait Implementations§
Source§impl Clone for SubagentTemplate
impl Clone for SubagentTemplate
Source§fn clone(&self) -> SubagentTemplate
fn clone(&self) -> SubagentTemplate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more