Documentation / @agentick/client / ChatSession
Class: ChatSession<TMode>
Defined in: client/src/chat-session.ts:28
Complete chat controller — composes MessageLog, ToolConfirmations, MessageSteering, and AttachmentManager into a single state snapshot.
Owns a single event subscription and fans out to all three event-driven primitives deterministically. chatMode is derived (not tracked) via ChatModeDeriver. AttachmentManager is pure client-side state (no events).
Generic over TMode for custom chat modes — defaults to "idle" | "streaming" | "confirming_tool".
Type Parameters
TMode
TMode extends string = ChatMode
Constructors
Constructor
new ChatSession<
TMode>(client,options?):ChatSession<TMode>
Defined in: client/src/chat-session.ts:50
Parameters
client
options?
ChatSessionOptions<TMode> = ...
Returns
ChatSession<TMode>
Accessors
attachments
Get Signature
get attachments():
AttachmentManager
Defined in: client/src/chat-session.ts:174
Returns
chatMode
Get Signature
get chatMode():
TMode
Defined in: client/src/chat-session.ts:146
Returns
TMode
error
Get Signature
get error(): {
message:string;name:string; } |null
Defined in: client/src/chat-session.ts:170
Returns
{ message: string; name: string; } | null
isExecuting
Get Signature
get isExecuting():
boolean
Defined in: client/src/chat-session.ts:162
Returns
boolean
lastSubmitted
Get Signature
get lastSubmitted():
string|null
Defined in: client/src/chat-session.ts:154
Returns
string | null
messages
Get Signature
get messages(): readonly
ChatMessage[]
Defined in: client/src/chat-session.ts:142
Returns
readonly ChatMessage[]
mode
Get Signature
get mode():
SteeringMode
Defined in: client/src/chat-session.ts:166
Returns
queued
Get Signature
get queued(): readonly
Message[]
Defined in: client/src/chat-session.ts:158
Returns
readonly Message[]
state
Get Signature
get state():
ChatSessionState<TMode>
Defined in: client/src/chat-session.ts:138
Returns
ChatSessionState<TMode>
toolConfirmation
Get Signature
get toolConfirmation():
ToolConfirmationState|null
Defined in: client/src/chat-session.ts:150
Returns
ToolConfirmationState | null
Methods
abort()
abort(
reason?):void
Defined in: client/src/chat-session.ts:259
Parameters
reason?
string
Returns
void
appendMessages()
appendMessages(
messages):void
Defined in: client/src/chat-session.ts:247
Append messages (e.g. initial load from DB, or external sources).
Parameters
messages
readonly ChatMessage[]
Returns
void
clearMessages()
clearMessages():
void
Defined in: client/src/chat-session.ts:252
Returns
void
clearQueued()
clearQueued():
void
Defined in: client/src/chat-session.ts:218
Returns
void
destroy()
destroy():
void
Defined in: client/src/chat-session.ts:270
Returns
void
flush()
flush():
void
Defined in: client/src/chat-session.ts:208
Returns
void
interrupt()
interrupt(
text):Promise<ClientExecutionHandle>
Defined in: client/src/chat-session.ts:201
Parameters
text
string
Returns
Promise<ClientExecutionHandle>
onStateChange()
onStateChange(
listener): () =>void
Defined in: client/src/chat-session.ts:265
Parameters
listener
() => void
Returns
():
void
Returns
void
prependMessages()
prependMessages(
messages):void
Defined in: client/src/chat-session.ts:239
Prepend older messages (e.g. fetched from DB on scroll-back). New messages appear at the start of the list; dedup counters are adjusted so streaming continues to work correctly.
Parameters
messages
readonly ChatMessage[]
Returns
void
queue()
queue(
text):void
Defined in: client/src/chat-session.ts:196
Parameters
text
string
Returns
void
removeQueued()
removeQueued(
index):void
Defined in: client/src/chat-session.ts:213
Parameters
index
number
Returns
void
respondToConfirmation()
respondToConfirmation(
response):void
Defined in: client/src/chat-session.ts:228
Parameters
response
Returns
void
setMode()
setMode(
mode):void
Defined in: client/src/chat-session.ts:223
Parameters
mode
Returns
void
steer()
steer(
text):void
Defined in: client/src/chat-session.ts:190
Parameters
text
string
Returns
void
submit()
submit(
text):void
Defined in: client/src/chat-session.ts:180
Parameters
text
string
Returns
void