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