Skip to main content

Class: GraphEventEmitter

Defined in: packages/agentos/src/orchestration/events/GraphEvent.ts:359

Lightweight event emitter for GraphEvent values.

Supports both:

  • Push-based consumption via on() / off() callbacks.
  • Pull-based consumption via the stream() async generator.

The emitter is single-use: once close() is called it is permanently closed and subsequent emit() calls are silently ignored.

Example​

const emitter = new GraphEventEmitter();

// Pull-based — collect events in order
async function consume() {
for await (const event of emitter.stream()) {
console.log(event.type);
}
}

emitter.emit({ type: 'run_start', runId: 'r1', graphId: 'g1' });
emitter.close();
await consume(); // logs 'run_start'

Constructors​

Constructor​

new GraphEventEmitter(): GraphEventEmitter

Returns​

GraphEventEmitter

Methods​

close()​

close(): void

Defined in: packages/agentos/src/orchestration/events/GraphEvent.ts:421

Permanently closes the emitter.

  • Future emit() calls are silently ignored.
  • Active stream() generators are signalled to drain their queues and return.

Returns​

void


emit()​

emit(event): void

Defined in: packages/agentos/src/orchestration/events/GraphEvent.ts:401

Dispatches event to all registered listeners and any active stream() generators. If close() has already been called, this method is a no-op.

Parameters​

event​

GraphEvent

The GraphEvent to dispatch.

Returns​

void


off()​

off(listener): void

Defined in: packages/agentos/src/orchestration/events/GraphEvent.ts:388

Removes a previously registered listener. If the listener was not registered, this is a no-op.

Parameters​

listener​

(event) => void

The exact function reference passed to on().

Returns​

void


on()​

on(listener): void

Defined in: packages/agentos/src/orchestration/events/GraphEvent.ts:378

Registers a callback that is invoked synchronously for every subsequent emit() call.

Parameters​

listener​

(event) => void

Function to call with each emitted GraphEvent.

Returns​

void


stream()​

stream(): AsyncGenerator<GraphEvent>

Defined in: packages/agentos/src/orchestration/events/GraphEvent.ts:464

Returns an AsyncGenerator that yields every GraphEvent emitted after the call to stream(), in the exact order they were emitted.

The generator completes (returns) when close() is called on the emitter and any queued events have been yielded.

Multiple concurrent stream() calls are supported; each gets an independent copy of the event stream.

Returns​

AsyncGenerator<GraphEvent>

Example​

for await (const event of emitter.stream()) {
if (event.type === 'run_end') break;
}