Skip to content

rulvar API reference


rulvar API reference / @rulvar/core / EventBus

Class: EventBus

Defined in: packages/core/src/engine/events.ts:43

The per-run event bus. seq is strictly increasing in emission order; iterate() yields events from subscription onward; on() is the callback form over the same stream and the same seq values.

Constructors

Constructor

ts
new EventBus(options): EventBus;

Defined in: packages/core/src/engine/events.ts:53

Parameters

ParameterTypeDescription
options{ maskEvents?: boolean; now?: () => number; runId: string; spans: SpanRegistry; }-
options.maskEvents?booleanDefault true (M8-T04): key-shaped strings in every emitted body are masked. Telemetry only, never the journal: events are excluded from identity by construction, so masking cannot perturb replay.
options.now?() => number-
options.runIdstring-
options.spansSpanRegistry-

Returns

EventBus

Methods

emit()

ts
emit(
   body, 
   spanId, 
   replayed?): WorkflowEvent;

Defined in: packages/core/src/engine/events.ts:70

Parameters

ParameterType
bodyWorkflowEventBody
spanIdstring
replayed?boolean

Returns

WorkflowEvent


end()

ts
end(): void;

Defined in: packages/core/src/engine/events.ts:107

Ends every open iterator once the run has settled.

Returns

void


iterate()

ts
iterate(): AsyncIterable<WorkflowEvent>;

Defined in: packages/core/src/engine/events.ts:115

Returns

AsyncIterable&lt;WorkflowEvent&gt;


on()

ts
on<T>(type, cb): () => void;

Defined in: packages/core/src/engine/events.ts:91

Type Parameters

Type Parameter
T extends | "agent:start" | "agent:error" | "log" | "agent:schema-retry" | "tool:end" | "tool:start" | "agent:stream" | "budget:update" | "run:start" | "run:end" | "phase:start" | "external:waiting" | "approval:pending" | "child:start" | "child:end" | "agent:queued" | "agent:end" | "plan:revised" | "node:parked" | "node:cancelled" | "node:linked" | "orchestrator:woke" | "orchestrator:budget" | "escalation:raised" | "escalation:decided" | "spawn:admitted" | "spawn:rejected" | "verify:failed" | "ledger:op" | "stall:detected" | "guard:oscillation" | "resolution:applied" | "resolution:superseded" | "termination:debit" | "termination:denied" | "termination:config-drift" | "journal:compat"

Parameters

ParameterType
typeT
cb(event) => void

Returns

() => void