pub struct TaskSpec {
pub agent: String,
pub initial_directive: Value,
pub step_ctx: Option<Value>,
}Expand description
Static task definition supplied to start_task: which agent runs it
and the initial prompt/directive value.
Fields§
§agent: StringName of the agent that should execute this task.
initial_directive: ValuePrompt/directive value seeded for attempt 1. Passed through
verbatim from the evaluated Step.in (issue #18 — no premature
Value → String coercion at this layer). Consumers that need a
rendered String (the EngineState.prompts table feeding the
Worker HTTP path, and the WS Spawn.directive reminder text)
render it at their own late boundary; strings pass through
verbatim, anything else is serde-stringified.
step_ctx: Option<Value>GH #21 Phase 2 — the Step tier’s resolved context bundle, threaded
through from EngineDispatcher::dispatch’s $step_meta envelope
resolution (None when the dispatched Step.in carried no
envelope — pre-#21-Phase-2 Blueprints unaffected). Re-read from
the spec on EVERY Engine::dispatch_attempt_with attempt (not
cached once), so retries and Run-rekicks all carry it; inserted
into Ctx.meta.runtime[STEP_CTX_KEY]
(crate::core::agent_context::STEP_CTX_KEY), consumed by
crate::middleware::agent_context::AgentContextMiddleware.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TaskSpec
impl<'de> Deserialize<'de> for TaskSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for TaskSpec
impl RefUnwindSafe for TaskSpec
impl Send for TaskSpec
impl Sync for TaskSpec
impl Unpin for TaskSpec
impl UnsafeUnpin for TaskSpec
impl UnwindSafe for TaskSpec
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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