Skip to content

Class: AgentLifecycleEmitter

Makaio Framework


Makaio Framework / ai-adapters-core / AgentLifecycleEmitter

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:32

Stateful lifecycle emitter for AIAgent terminal/start/session events.

new AgentLifecycleEmitter(config): AgentLifecycleEmitter

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:44

AgentLifecycleEmitterConfig

AgentLifecycleEmitter

emitCompletion(result): Promise<void>

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:77

Emit terminal completion event with deferred error-category propagation.

Omit<z.infer<typeof AgentSchemas.complete>, keyof AgentContext>

Completion payload without AgentContext fields

Promise<void>


emitError(result): void

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:101

Stash error metadata for the next completion emission.

Pick<z.infer<typeof AgentSchemas.complete>, "error" | "errorCategory">

Error payload from connector/runtime error handler

void


emitSessionClosed(reason?): void

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:110

Emit agent.session.closed once for this agent lifecycle.

string

Optional closure reason

void


emitStart(event): Promise<void>

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:52

Emit agent.started and reset per-turn lifecycle state.

Omit<AgentStarted, "agentId" | "adapterId" | "adapterName" | "adapterSessionId">

Start payload without auto-enriched AgentContext fields

Promise<void>


resetTurnState(): void

Defined in: ../../../adapters/core/src/agent/agent-lifecycle-emitter.ts:68

Reset per-turn dedup state so the next completion can fire.

Called when a new message handle is tracked — guarantees the guard resets per-turn even for adapters that don’t emit agent.started on every turn (e.g., codex emits thread_started once per thread).

void