Skip to main content

GraphNodeBody

Enum GraphNodeBody 

Source
pub enum GraphNodeBody {
    Action {
        verb: Option<String>,
        action_name: String,
        mutating: bool,
        act_chain: Vec<String>,
        assertion_count: u32,
    },
    Assert {
        observe: String,
        assertions: Vec<AssertionSummary>,
    },
    Call {
        callee_flow_id: String,
        callee_ir_hash: String,
        input_keys: Vec<String>,
    },
    Human {
        mode: String,
        prompt_head: String,
        timeout_ms: u64,
    },
    If {
        cond: String,
        has_else: bool,
    },
    Foreach {
        items: String,
        as: String,
    },
    Let {
        binding_keys: Vec<String>,
    },
}
Expand description

Kind-specific node payloads (discriminant = step kind, A.4-aligned).

Variants§

§

Action

ActionStepIR (08 §3.1): verb/action, effect badge, act chain.

Fields

§verb: Option<String>

Canonical verb, when the step used one (snake_case values).

§action_name: String

First bound action name (the primary attempt’s).

§mutating: bool

mutating (solid badge) vs readonly (hollow badge).

§act_chain: Vec<String>

The act chain channel chips, in binding.attempts order (08 §3.4 — one attempt means no fallback, none is invented).

§assertion_count: u32

Assertion count badge.

§

Assert

AssertStepIR: observation source + assertion summaries.

Fields

§observe: String

"fresh" or the referenced fromStep step id.

§assertions: Vec<AssertionSummary>

Per-assertion summary rows: assertId + verify chain chips.

§

Call

CallStepIR — the collapse node (08 §3.3): callee identity only; the callee graph loads lazily by calleeIrHash.

Fields

§callee_flow_id: String

Callee flow id.

§callee_ir_hash: String

Callee content hash (full sha256: form; renderers may abbreviate to the 8-hex prefix).

§input_keys: Vec<String>

Input key names (values are authoring detail, not graph).

§

Human

HumanStepIR (08 §3.5): the pause-for-a-person node.

Fields

§mode: String

Interaction mode.

§prompt_head: String

First line of the prompt.

§timeout_ms: u64

Response deadline; on_timeout: unknown is fixed vocabulary.

§

If

IfStepIR: condition summary; then/else children reference this node via parentId + region.

Fields

§cond: String

Rendered condition expression summary.

§has_else: bool

Whether an else region exists.

§

Foreach

ForeachStepIR — the aggregate node (08 §3.2): iterations are folded onto this single node, never fanned out.

Fields

§items: String

Rendered items expression summary.

§as: String

Iteration variable name.

§

Let

LetStepIR: binding key names (small node).

Fields

§binding_keys: Vec<String>

Bound variable names.

Trait Implementations§

Source§

impl Clone for GraphNodeBody

Source§

fn clone(&self) -> GraphNodeBody

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GraphNodeBody

Source§

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

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

impl<'de> Deserialize<'de> for GraphNodeBody

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 GraphNodeBody

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

impl PartialEq for GraphNodeBody

Source§

fn eq(&self, other: &GraphNodeBody) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for GraphNodeBody

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for GraphNodeBody

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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> 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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<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