Skip to main content

StreamEvent

Enum StreamEvent 

Source
pub enum StreamEvent<S: State> {
Show 16 variants Values { state: S, step: usize, }, FilteredValues { data: Value, step: usize, }, Updates { node: String, update: S::Update, step: usize, }, FilteredUpdates { node: String, data: Value, step: usize, }, Messages { chunk: MessageChunk, metadata: MessageStreamMetadata, }, Custom { node: String, data: Value, ns: Vec<String>, }, TaskStart { node: String, task_id: String, step: usize, }, TaskEnd { node: String, task_id: String, step: usize, duration_ms: u64, }, Interrupt { node: String, payload: Value, resumable: bool, ns: Vec<String>, }, BudgetExceeded { reason: BudgetExceededReason, usage: BudgetUsage, }, End { output: S, }, Cancelled { step: usize, }, Debug(DebugEvent), Tools(ToolsEvent), CheckpointSaved { checkpoint_id: String, metadata: CheckpointMetadata, step: usize, }, TaskDetail { task_id: String, node: String, step: usize, attempt: usize, event: TaskEventType, },
}
Expand description

Stream event during graph execution

Variants§

§

Values

Complete state snapshot

Fields

§state: S
§step: usize
§

FilteredValues

Filtered state snapshot (only selected fields as JSON).

Emitted instead of Values when StreamConfig::output_keys is set. The data field contains a JSON object with only the keys requested by the caller.

Fields

§data: Value
§step: usize
§

Updates

Node update

Fields

§node: String
§update: S::Update
§step: usize
§

FilteredUpdates

Filtered node update (only selected fields as JSON).

Emitted instead of Updates when StreamConfig::output_keys is set.

Fields

§node: String
§data: Value
§step: usize
§

Messages

LLM token chunk

§

Custom

Custom event from node

Fields

§node: String
§data: Value
§

TaskStart

Task started

Fields

§node: String
§task_id: String
§step: usize
§

TaskEnd

Task completed

Fields

§node: String
§task_id: String
§step: usize
§duration_ms: u64
§

Interrupt

HITL interrupt

Fields

§node: String
§payload: Value
§resumable: bool
§

BudgetExceeded

Budget exceeded

§

End

Graph execution completed

Fields

§output: S
§

Cancelled

Graph execution was cancelled (e.g. by the caller dropping the stream).

Emitted when the graph is interrupted before reaching a natural End. Consumers use this to distinguish between successful completion (End), cancellation (Cancelled), and errors (propagated via Result).

Fields

§step: usize
§

Debug(DebugEvent)

Debug event

§

Tools(ToolsEvent)

Tool lifecycle event

§

CheckpointSaved

Checkpoint saved

Fields

§checkpoint_id: String
§step: usize
§

TaskDetail

Detailed task event

Fields

§task_id: String
§node: String
§step: usize
§attempt: usize

Implementations§

Source§

impl<S: State> StreamEvent<S>

Source

pub fn namespace(&self) -> &[String]

Return the namespace segment list attached to this event, if any.

Events originating from subgraphs carry a non-empty ns field (the nesting path). Top-level graph events return an empty slice. This is used by stream filtering to decide whether to forward or suppress subgraph events.

Trait Implementations§

Source§

impl<S: Clone + State> Clone for StreamEvent<S>
where S::Update: Clone,

Source§

fn clone(&self) -> StreamEvent<S>

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<S: Debug + State> Debug for StreamEvent<S>
where S::Update: Debug,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> Freeze for StreamEvent<S>
where S: Freeze, <S as State>::Update: Freeze,

§

impl<S> RefUnwindSafe for StreamEvent<S>

§

impl<S> Send for StreamEvent<S>

§

impl<S> Sync for StreamEvent<S>

§

impl<S> Unpin for StreamEvent<S>
where S: Unpin, <S as State>::Update: Unpin,

§

impl<S> UnsafeUnpin for StreamEvent<S>
where S: UnsafeUnpin, <S as State>::Update: UnsafeUnpin,

§

impl<S> UnwindSafe for StreamEvent<S>
where S: UnwindSafe, <S as State>::Update: UnwindSafe,

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