Class: MessageLifecycleTracker
Makaio Framework / ai-adapters-core / MessageLifecycleTracker
Class: MessageLifecycleTracker
Section titled “Class: 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.
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new MessageLifecycleTracker(
config):MessageLifecycleTracker
Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:44
Parameters
Section titled “Parameters”config
Section titled “config”MessageLifecycleTrackerConfig
Returns
Section titled “Returns”MessageLifecycleTracker
Methods
Section titled “Methods”acknowledge()
Section titled “acknowledge()”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
Parameters
Section titled “Parameters”handle
Section titled “handle”The message handle being acknowledged
Returns
Section titled “Returns”void
clearCurrentTurnId()
Section titled “clearCurrentTurnId()”clearCurrentTurnId():
void
Defined in: ../../../adapters/core/src/agent/message-lifecycle-tracker.ts:69
Clear the currently tracked turn ID.
Returns
Section titled “Returns”void
complete()
Section titled “complete()”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)
Parameters
Section titled “Parameters”handle
Section titled “handle”The message handle being completed
result
Section titled “result”The completion result with outcome
Returns
Section titled “Returns”void
getCurrentMessageId()
Section titled “getCurrentMessageId()”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.
Returns
Section titled “Returns”string | undefined
The current messageId or undefined if no message is being processed
getCurrentTurnId()
Section titled “getCurrentTurnId()”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.
Returns
Section titled “Returns”string | undefined
The current turnId or undefined if not set
setCurrentTurnId()
Section titled “setCurrentTurnId()”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.
Parameters
Section titled “Parameters”turnId
Section titled “turnId”string | undefined
Turn ID to track, or undefined to clear
Returns
Section titled “Returns”void
track()
Section titled “track()”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.
Parameters
Section titled “Parameters”handle
Section titled “handle”The message handle to track
onTerminal?
Section titled “onTerminal?”(messageId, result) => void
Optional callback for any terminal outcome (emits agent.complete)
Returns
Section titled “Returns”void