Skip to content

Class: MessageLifecycleTracker

Makaio Framework


Makaio Framework / ai-adapters-core / MessageLifecycleTracker

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:34

Tracks message lifecycle and emits corresponding events.

Responsibilities:

  • Track current messageId being processed
  • Emit user_message.acknowledged / user_message.completed events
  • Emit agent.turn.started / agent.turn.completed events

This provides a clean separation between message lifecycle tracking and the core AIAgent functionality.

new MessageLifecycleTracker(config): MessageLifecycleTracker

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

MessageLifecycleTrackerConfig

MessageLifecycleTracker

acknowledge(handle): void

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:90

Acknowledge a message - marks turn start.

Emits:

  • user_message.acknowledged
  • agent.turn.started

MessageHandle

The message handle being acknowledged

void


clearCurrentTurnId(): void

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:69

Clear the currently tracked turn ID.

void


complete(handle, result): void

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:118

Complete a message - marks turn end.

Emits:

  • agent.turn.completed (always, with outcome — paired with agent.turn.started)
  • user_message.completed (always, with outcome)

MessageHandle

The message handle being completed

MessageResult

The completion result with outcome

void


getCurrentMessageId(): string | undefined

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:53

Get the current messageId being processed. Used by enrichPayload() to add messageId to intermediate events.

string | undefined

The current messageId or undefined if no message is being processed


getCurrentTurnId(): string | undefined

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:78

Get the current turnId being processed. Used by enrichPayload() to add turnId to intermediate events.

string | undefined

The current turnId or undefined if not set


setCurrentTurnId(turnId): void

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:62

Set the current turnId from the session orchestrator. Called at the start of sendMessage processing.

string | undefined

Turn ID to track, or undefined to clear

void


track(handle, onTerminal?): void

Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:157

Wire up a message handle for lifecycle tracking.

Subscribes to the handle’s acknowledgment and completion promises and emits the appropriate events.

MessageHandle

The message handle to track

(messageId, result) => void

Optional callback for any terminal outcome (emits agent.complete)

void