pub struct CreateChildInput {Show 17 fields
pub parent_session: Session,
pub child_id: String,
pub title: String,
pub responsibility: String,
pub assignment_prompt: String,
pub subagent_type: String,
pub workspace: String,
pub model_override: Option<String>,
pub model_ref_override: Option<ProviderModelRef>,
pub runtime_metadata: HashMap<String, String>,
pub auto_run: bool,
pub reasoning_effort: Option<ReasoningEffort>,
pub lifecycle: Option<String>,
pub resident_name: Option<String>,
pub resident_context: Option<String>,
pub disabled_tools: Option<BTreeSet<String>>,
pub context_fork: Option<usize>,
}Expand description
Input for creating a child session.
Fields§
§parent_session: Session§child_id: String§title: String§responsibility: String§assignment_prompt: String§subagent_type: String§workspace: StringAbsolute path to the working directory for the child session.
model_override: Option<String>Optional model override resolved from subagent_type routing.
When None, the child inherits the parent session’s model.
model_ref_override: Option<ProviderModelRef>Optional provider+model override resolved from subagent routing. When present, this preserves cross-provider routing for child execution.
runtime_metadata: HashMap<String, String>Runtime metadata resolved from subagent routing (e.g. external agent config).
auto_run: boolWhether to immediately enqueue the child for execution.
Defaults to true.
reasoning_effort: Option<ReasoningEffort>Optional reasoning effort to apply to the child’s own LLM calls.
None (the default) leaves Session::reasoning_effort at None,
so the provider falls back to its default. The child does NOT
inherit the parent’s reasoning_effort — fan-out children that
only need a quick lookup should not pay for xhigh reasoning
just because the orchestrator is running at xhigh.
lifecycle: Option<String>Lifecycle of this child: Some("resident") marks a reusable resident
agent (one stable session reused for successive tasks under the same
root); None/Some("oneshot") is the default throwaway child.
resident_name: Option<String>For a resident agent, the stable reuse key (scoped to the root session).
resident_context: Option<String>For a resident agent, how successive tasks treat prior context:
"reset" (default — independent tasks) or "accumulate" (remember).
disabled_tools: Option<BTreeSet<String>>Tool names to disable for this child (denylist; matched by EXACT
ToolSchema.function.name). None (the default) = full toolset. A
read-only Guardian reviewer sets e.g. {“Edit”,“Write”,“SubAgent”,…}.
Carried to the child’s SpawnJob.disabled_tools via the child session
metadata (see create_child_action) so the worker trims its toolset.
context_fork: Option<usize>Model-controllable context fork (Phase 3): when Some(n) with n > 0,
the last n non-system parent messages are rendered into a “Forked
context from parent” block prepended to the child’s task brief. None
(the default) keeps the child on a clean, freshly-seeded context.
Trait Implementations§
Source§impl Clone for CreateChildInput
impl Clone for CreateChildInput
Source§fn clone(&self) -> CreateChildInput
fn clone(&self) -> CreateChildInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more