pub struct TaskLaunchInput {
pub blueprint: Blueprint,
pub operator_id: String,
pub role: Role,
pub ttl: Duration,
pub operator_kind: Option<OperatorKind>,
pub bridge_id: Option<String>,
pub hook_id: Option<String>,
pub operator_backend_id: Option<String>,
pub operator_kind_overrides: HashMap<String, OperatorKind>,
pub init_ctx: Value,
}Expand description
Input to TaskLaunchService::launch.
Fields§
§blueprint: BlueprintThe Blueprint to compile, link, and run.
operator_id: StringCaller-supplied id for the Operator that owns this run.
role: RoleThe Operator’s role for this run.
ttl: DurationHow long the attached session is allowed to live.
operator_kind: Option<OperatorKind>“Runtime Global” tier of the OperatorKind cascade. Some(_) is
always an explicit request — including Some(OperatorKind::Automate)
— that outranks the BP-level tiers (OperatorDef.kind /
Blueprint.default_operator_kind); None leaves it unspecified so
those tiers / the final default decide. Under MainAi or
Composite, MainAIMiddleware’s spawn_hook before/after
callbacks become effective. See
crate::core::ctx::collapse_operator_kind.
bridge_id: Option<String>SeniorBridge registry ID. None — no bridge; Some(id) —
attach a bridge previously registered via
engine.register_senior_bridge.
hook_id: Option<String>SpawnHook registry ID. Same shape as above, via
engine.register_spawn_hook.
operator_backend_id: Option<String>Operator registry ID — used on the path that hands the whole
spawn off to an external Operator. Name previously registered
with engine.register_operator; resolved by
OperatorDelegateMiddleware, which — for kind = MainAi or
Composite — bypasses inner.spawn and calls
operator.execute.
operator_kind_overrides: HashMap<String, OperatorKind>“Runtime Agent-level” tier (highest priority) of the OperatorKind
cascade — per-agent override, keyed by AgentDef.name. Empty by
default (no override for any agent). See
crate::core::ctx::collapse_operator_kind for the full tier list.
init_ctx: ValueThe initial ctx (JSON Value) that flow.ir’s eval_async
starts from. Every Step.in $.<path> reference reads from
here.
Implementations§
Source§impl TaskLaunchInput
impl TaskLaunchInput
Sourcepub fn automate(
blueprint: Blueprint,
operator_id: impl Into<String>,
role: Role,
ttl: Duration,
init_ctx: Value,
) -> Self
pub fn automate( blueprint: Blueprint, operator_id: impl Into<String>, role: Role, ttl: Duration, init_ctx: Value, ) -> Self
Helper for existing callers on the default path — no hooks and no
per-agent OperatorKind overrides. Leaves the “Runtime Global” tier
unspecified (None), so the BP-level tiers / final default
(OperatorKind::Automate) decide — this preserves today’s
behaviour for every existing caller without silently forcing
Automate as an explicit override that would outrank a BP-declared
MainAi/Composite kind.
Trait Implementations§
Source§impl Clone for TaskLaunchInput
impl Clone for TaskLaunchInput
Source§fn clone(&self) -> TaskLaunchInput
fn clone(&self) -> TaskLaunchInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for TaskLaunchInput
impl RefUnwindSafe for TaskLaunchInput
impl Send for TaskLaunchInput
impl Sync for TaskLaunchInput
impl Unpin for TaskLaunchInput
impl UnsafeUnpin for TaskLaunchInput
impl UnwindSafe for TaskLaunchInput
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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