pub struct InterventionCommand {
pub workflow_id: WorkflowId,
pub run_id: RunId,
pub activity_id: ActivityId,
pub attempt: u32,
pub issued_by: Option<String>,
pub issued_at: DateTime<Utc>,
pub kind: InterventionKind,
}Expand description
A mid-run control command routed operator -> server -> the worker owning the activity-attempt.
Recorded as a durable observability event (auditable, visible on transcript replay) but never part of the workflow replay log. A command addressed to a stale attempt is a no-op.
Fields§
§workflow_id: WorkflowIdThe workflow the target activity belongs to.
run_id: RunIdThe concrete run of that workflow the target attempt belongs to.
Required, and load-bearing for routing: a continue-as-new chain reuses one
workflow_id while ordinals and attempts restart in each generation, so without the run
axis a command aimed at generation two would resolve generation one’s owner. Delivering a
steer to the wrong generation is a control-plane fault, not a display bug.
activity_id: ActivityIdThe target activity within the workflow.
attempt: u32The target attempt. Commands to a stale (superseded) attempt are no-ops.
issued_by: Option<String>The auth subject that issued the command, when auth is enabled.
A neutral subject label (the same identity the auth layer records), carried so the
transcript can attribute the intervention. None when auth is off.
issued_at: DateTime<Utc>When the command was issued (operator-clock instant).
kind: InterventionKindThe neutral control primitive to apply.
Trait Implementations§
Source§impl Clone for InterventionCommand
impl Clone for InterventionCommand
Source§fn clone(&self) -> InterventionCommand
fn clone(&self) -> InterventionCommand
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InterventionCommand
impl Debug for InterventionCommand
Source§impl<'de> Deserialize<'de> for InterventionCommand
impl<'de> Deserialize<'de> for InterventionCommand
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>,
impl Eq for InterventionCommand
Source§impl PartialEq for InterventionCommand
impl PartialEq for InterventionCommand
Source§impl Serialize for InterventionCommand
impl Serialize for InterventionCommand
impl StructuralPartialEq for InterventionCommand
Source§impl TS for InterventionCommand
impl TS for InterventionCommand
Source§type WithoutGenerics = InterventionCommand
type WithoutGenerics = InterventionCommand
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or (). The only requirement for these dummy types is that
EXPORT_TO must be None. Read moreSource§type OptionInnerType = InterventionCommand
type OptionInnerType = InterventionCommand
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete(cfg: &Config) -> String
fn decl_concrete(cfg: &Config) -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl(cfg: &Config) -> String
fn decl(cfg: &Config) -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline(cfg: &Config) -> String
fn inline(cfg: &Config) -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened(cfg: &Config) -> String
fn inline_flattened(cfg: &Config) -> String
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported, relative to the output directory.
The returned path does not include any base directory. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
fn dependencies(cfg: &Config) -> Vec<Dependency>where
Self: 'static,
Source§fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
fn export_all(cfg: &Config) -> Result<(), ExportError>where
Self: 'static,
TS::export. Read more