Skip to main content

RunKickRequest

Struct RunKickRequest 

Source
pub struct RunKickRequest {
    pub init_ctx_override: Option<Value>,
    pub task_input_override: Option<TaskInputSpec>,
    pub timeout_secs: Option<u64>,
    pub detach: bool,
}
Expand description

Request body for POST /v1/tasks/:id/runs (issue #19 ST4) — every field is optional, and the body itself is optional (see task_rekick’s Option<Json<Self>> parameter); a caller that sends no body, or {}, or omits a field gets exactly today’s rekick behavior for that layer.

Fields§

§init_ctx_override: Option<Value>

Per-Run override for the flow-ir initial ctx. Merged on top of TaskRecord.input_ctx (itself already merged on top of Blueprint.default_init_ctx at original launch time) via merge_init_ctx_3layer — Run wins on key collision, same shallow-merge / non-Object-fully-replaces rule as every other layer in the cascade. None (absent field, or no body at all) is a no-op: the BP+Task merge alone seeds this kick, identical to pre-#19 rekick.

§task_input_override: Option<TaskInputSpec>

Per-Run override for the Task-level canonical fields (project_root / work_dir / task_metadata). None falls back to TaskRecord.task_input_spec (the spec resolved and snapshotted at original POST /v1/tasks time); Some replaces it wholesale for this kick only — the stored TaskRecord.task_input_spec is never mutated by a rekick.

§timeout_secs: Option<u64>

Per-Run ceiling (seconds) for this kick’s synchronous dispatch await (issue #35 ST3 — GH #33 Guard 2 parity). Some(0) is rejected (400). None falls back to AppState.sync_timeout_secs (the server-wide default), same cascade as TaskLaunchRequest.timeout_secs (lib.rs:818-826).

§detach: bool

GH #37: opt into the detached (asynchronous) rekick — same semantics as TaskLaunchRequest.detach. false (default) keeps the synchronous dispatch; true spawns the flow eval as a detached background task bounded by the run TTL alone and returns 202 Accepted with status: "running" immediately. Mutually exclusive with timeout_secs (400 when combined).

Trait Implementations§

Source§

impl Debug for RunKickRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for RunKickRequest

Source§

fn default() -> RunKickRequest

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for RunKickRequest

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl JsonSchema for RunKickRequest

Source§

fn schema_name() -> Cow<'static, str>

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn inline_schema() -> bool

Whether JSON Schemas generated for this type should be included directly in parent schemas, rather than being re-used where possible using the $ref keyword. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> MaybeSend for T

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more