pub struct JournalEventMessage {Show 13 fields
pub run_id: String,
pub event_type: String,
pub data: Vec<u8>,
pub correlation_id: String,
pub parent_correlation_id: String,
pub tenant_id: Option<String>,
pub source_timestamp_ns: i64,
pub metadata: HashMap<String, String>,
pub queued_at: Instant,
pub is_streaming: bool,
pub is_sse_only: bool,
pub content_index: i32,
pub sequence: i64,
}Expand description
Unified event message for all event types
Fields§
§run_id: StringRun ID for this event
event_type: StringEvent type (e.g., “workflow.step.completed”, “output.delta”, “log”)
data: Vec<u8>Event payload as JSON bytes
correlation_id: StringCorrelation ID for pairing started↔completed events
parent_correlation_id: StringParent correlation ID for hierarchy (tree view)
tenant_id: Option<String>Optional tenant ID
source_timestamp_ns: i64Source timestamp in nanoseconds (when event was created)
metadata: HashMap<String, String>Additional metadata (display-friendly key-value pairs)
queued_at: InstantWhen event was queued (for metrics)
is_streaming: boolWhether this is a streaming request (affects delivery mode)
is_sse_only: boolIf true, forward to SSE only (no persist) - for deltas and logs
content_index: i32Index for parallel content blocks
sequence: i64Sequence number for ordering
Implementations§
Source§impl JournalEventMessage
impl JournalEventMessage
Sourcepub fn is_sse_only_event_type(event_type: &str) -> bool
pub fn is_sse_only_event_type(event_type: &str) -> bool
Check if this event type is an SSE-only event (delta, log, etc.)
Sourcepub fn is_checkpoint_event_type(event_type: &str) -> bool
pub fn is_checkpoint_event_type(event_type: &str) -> bool
Check if this event type is a checkpoint event that requires sync acknowledgement
Checkpoint events block until the platform acknowledges persistence. This ensures correct event ordering for lifecycle events that affect workflow state.
Checkpoint events include:
*.started,*.completed,*.failed,*.pausedapproval.requested,approval.resolved
This is the inverse of is_sse_only_event_type() - if an event is NOT SSE-only,
it’s a checkpoint event.
Trait Implementations§
Source§impl Clone for JournalEventMessage
impl Clone for JournalEventMessage
Source§impl Debug for JournalEventMessage
impl Debug for JournalEventMessage
Auto Trait Implementations§
impl Freeze for JournalEventMessage
impl RefUnwindSafe for JournalEventMessage
impl Send for JournalEventMessage
impl Sync for JournalEventMessage
impl Unpin for JournalEventMessage
impl UnsafeUnpin for JournalEventMessage
impl UnwindSafe for JournalEventMessage
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,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request