Skip to content

Documentation / @agentick/client / MessageLog

Class: MessageLog

Defined in: client/src/message-log.ts:71

Accumulates chat messages from execution lifecycle events.

Tracks tool call durations (tool_call_start → tool_result) and extracts messages from execution_end events via a configurable MessageTransform.

When renderMode is set, processes stream events progressively:

  • "message": Full assistant messages appear on message event
  • "block": Content blocks appear one-at-a-time on content/tool_call events
  • "streaming": Token-by-token updates on content_delta/tool_call_delta events

Standalone: Self-subscribes to session events by default. Composed: Pass subscribe: false and call processEvent() from a parent controller (e.g. ChatSession) for single-subscription fan-out.

Constructors

Constructor

new MessageLog(client, options?): MessageLog

Defined in: client/src/message-log.ts:92

Parameters

client

AgentickClient

options?

MessageLogOptions = {}

Returns

MessageLog

Accessors

messages

Get Signature

get messages(): readonly ChatMessage[]

Defined in: client/src/message-log.ts:109

Returns

readonly ChatMessage[]


state

Get Signature

get state(): MessageLogState

Defined in: client/src/message-log.ts:105

Returns

MessageLogState

Methods

appendMessages()

appendMessages(messages): void

Defined in: client/src/message-log.ts:183

Append messages (e.g. initial load from DB, or external sources). Adjusts internal counters so dedup continues to work correctly.

Parameters

messages

readonly ChatMessage[]

Returns

void


clear()

clear(): void

Defined in: client/src/message-log.ts:190

Returns

void


destroy()

destroy(): void

Defined in: client/src/message-log.ts:208

Returns

void


onStateChange()

onStateChange(listener): () => void

Defined in: client/src/message-log.ts:203

Parameters

listener

() => void

Returns

(): void

Returns

void


prependMessages()

prependMessages(messages): void

Defined in: client/src/message-log.ts:172

Prepend older messages (e.g. loaded from DB on scroll-back). Adjusts internal counters so dedup continues to work correctly.

Parameters

messages

readonly ChatMessage[]

Returns

void


processEvent()

processEvent(event): void

Defined in: client/src/message-log.ts:132

Process a stream event. Called automatically when self-subscribing, or manually by a parent controller (ChatSession).

Parameters

event

StreamEvent

Returns

void


pushUserMessage()

pushUserMessage(text, extraBlocks?): void

Defined in: client/src/message-log.ts:118

Add a user message immediately (before execution_end). Used in progressive modes so user messages appear right away. When extraBlocks are provided, content becomes ContentBlock[].

Parameters

text

string

extraBlocks?

ContentBlock[] = []

Returns

void

Released under the ISC License.