#[non_exhaustive]pub struct SpawnMemberSpec {Show 16 fields
pub role_name: ProfileName,
pub meerkat_id: MeerkatId,
pub initial_message: Option<ContentInput>,
pub runtime_mode: Option<MobRuntimeMode>,
pub backend: Option<MobBackendKind>,
pub binding: Option<RuntimeBinding>,
pub context: Option<Value>,
pub labels: Option<BTreeMap<String, String>>,
pub launch_mode: MemberLaunchMode,
pub tool_access_policy: Option<ToolAccessPolicy>,
pub budget_split_policy: Option<BudgetSplitPolicy>,
pub auto_wire_parent: bool,
pub additional_instructions: Option<Vec<String>>,
pub shell_env: Option<HashMap<String, String>>,
pub inherited_tool_filter: Option<ToolFilter>,
pub override_profile: Option<Profile>,
}Expand description
Spawn request for first-class batch member provisioning.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.role_name: ProfileNameThe role name (profile key) for this member in the mob roster.
When tooling is present it controls model/tool resolution;
role_name remains a roster/topology label.
meerkat_id: MeerkatId§initial_message: Option<ContentInput>§runtime_mode: Option<MobRuntimeMode>§backend: Option<MobBackendKind>§binding: Option<RuntimeBinding>Runtime binding for this member. When set, takes precedence over
backend and carries concrete binding details (e.g., external process
comms identity). First step toward identity-first mobs.
context: Option<Value>Opaque application context passed through to the agent build pipeline.
labels: Option<BTreeMap<String, String>>Application-defined labels for this member.
launch_mode: MemberLaunchModeHow this member should be launched (fresh, resume, or fork).
tool_access_policy: Option<ToolAccessPolicy>Tool access policy for this member.
budget_split_policy: Option<BudgetSplitPolicy>How to split budget from the orchestrator to this member.
auto_wire_parent: boolWhen true, automatically wire this member to its spawner.
additional_instructions: Option<Vec<String>>Additional instruction sections appended to the system prompt for this member.
shell_env: Option<HashMap<String, String>>Per-agent environment variables injected into shell tool subprocesses.
inherited_tool_filter: Option<ToolFilter>Pre-resolved inherited tool filter from spawn tooling resolution.
When set, stored as INHERITED_TOOL_FILTER_METADATA_KEY on the child
session metadata so AgentBuilder::build() recovers it as a base filter.
override_profile: Option<Profile>Override profile resolved from SpawnTooling::Profile source.
When set, the spawn path uses this profile instead of looking up by
role_name from the mob definition. This allows agent-owned spawn
tooling to specify a different model/skills/tools via inline or
realm-scoped profiles.
Implementations§
Source§impl SpawnMemberSpec
impl SpawnMemberSpec
pub fn new( profile: impl Into<ProfileName>, meerkat_id: impl Into<MeerkatId>, ) -> Self
pub fn with_shell_env(self, env: HashMap<String, String>) -> Self
pub fn with_initial_message(self, message: impl Into<ContentInput>) -> Self
pub fn with_runtime_mode(self, mode: MobRuntimeMode) -> Self
pub fn with_backend(self, backend: MobBackendKind) -> Self
pub fn with_context(self, context: Value) -> Self
pub fn with_labels(self, labels: BTreeMap<String, String>) -> Self
Sourcepub fn with_resume_session_id(self, id: SessionId) -> Self
pub fn with_resume_session_id(self, id: SessionId) -> Self
Set launch mode to resume an existing session.
This is a convenience method equivalent to setting
launch_mode = MemberLaunchMode::Resume { session_id }.
pub fn with_launch_mode(self, mode: MemberLaunchMode) -> Self
pub fn with_tool_access_policy(self, policy: ToolAccessPolicy) -> Self
pub fn with_budget_split_policy(self, policy: BudgetSplitPolicy) -> Self
pub fn with_auto_wire_parent(self, auto_wire: bool) -> Self
pub fn with_additional_instructions(self, instructions: Vec<String>) -> Self
pub fn from_wire( profile: String, meerkat_id: String, initial_message: Option<ContentInput>, runtime_mode: Option<MobRuntimeMode>, backend: Option<MobBackendKind>, ) -> Self
Sourcepub fn resume_session_id(&self) -> Option<&SessionId>
pub fn resume_session_id(&self) -> Option<&SessionId>
Extract the resume session ID if the launch mode is Resume.
Trait Implementations§
Source§impl Clone for SpawnMemberSpec
impl Clone for SpawnMemberSpec
Source§fn clone(&self) -> SpawnMemberSpec
fn clone(&self) -> SpawnMemberSpec
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SpawnMemberSpec
impl RefUnwindSafe for SpawnMemberSpec
impl Send for SpawnMemberSpec
impl Sync for SpawnMemberSpec
impl Unpin for SpawnMemberSpec
impl UnsafeUnpin for SpawnMemberSpec
impl UnwindSafe for SpawnMemberSpec
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more