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