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:163
Returns ​
chatMode ​
Get Signature ​
get chatMode():
TMode
Defined in: client/src/chat-session.ts:135
Returns ​
TMode
error ​
Get Signature ​
get error(): {
message:string;name:string; } |null
Defined in: client/src/chat-session.ts:159
Returns ​
{ message: string; name: string; } | null
isExecuting ​
Get Signature ​
get isExecuting():
boolean
Defined in: client/src/chat-session.ts:151
Returns ​
boolean
lastSubmitted ​
Get Signature ​
get lastSubmitted():
string|null
Defined in: client/src/chat-session.ts:143
Returns ​
string | null
messages ​
Get Signature ​
get messages(): readonly
ChatMessage[]
Defined in: client/src/chat-session.ts:131
Returns ​
readonly ChatMessage[]
mode ​
Get Signature ​
get mode():
SteeringMode
Defined in: client/src/chat-session.ts:155
Returns ​
queued ​
Get Signature ​
get queued(): readonly
Message[]
Defined in: client/src/chat-session.ts:147
Returns ​
readonly Message[]
state ​
Get Signature ​
get state():
ChatSessionState<TMode>
Defined in: client/src/chat-session.ts:127
Returns ​
ChatSessionState<TMode>
toolConfirmation ​
Get Signature ​
get toolConfirmation():
ToolConfirmationState|null
Defined in: client/src/chat-session.ts:139
Returns ​
ToolConfirmationState | null
Methods ​
abort() ​
abort(
reason?):void
Defined in: client/src/chat-session.ts:248
Parameters ​
reason? ​
string
Returns ​
void
appendMessages() ​
appendMessages(
messages):void
Defined in: client/src/chat-session.ts:236
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:241
Returns ​
void
clearQueued() ​
clearQueued():
void
Defined in: client/src/chat-session.ts:207
Returns ​
void
destroy() ​
destroy():
void
Defined in: client/src/chat-session.ts:259
Returns ​
void
flush() ​
flush():
void
Defined in: client/src/chat-session.ts:197
Returns ​
void
interrupt() ​
interrupt(
text):Promise<ClientExecutionHandle>
Defined in: client/src/chat-session.ts:190
Parameters ​
text ​
string
Returns ​
Promise<ClientExecutionHandle>
onStateChange() ​
onStateChange(
listener): () =>void
Defined in: client/src/chat-session.ts:254
Parameters ​
listener ​
() => void
Returns ​
():
void
Returns ​
void
prependMessages() ​
prependMessages(
messages):void
Defined in: client/src/chat-session.ts:228
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:185
Parameters ​
text ​
string
Returns ​
void
removeQueued() ​
removeQueued(
index):void
Defined in: client/src/chat-session.ts:202
Parameters ​
index ​
number
Returns ​
void
respondToConfirmation() ​
respondToConfirmation(
response):void
Defined in: client/src/chat-session.ts:217
Parameters ​
response ​
Returns ​
void
setMode() ​
setMode(
mode):void
Defined in: client/src/chat-session.ts:212
Parameters ​
mode ​
Returns ​
void
steer() ​
steer(
text):void
Defined in: client/src/chat-session.ts:179
Parameters ​
text ​
string
Returns ​
void
submit() ​
submit(
text):void
Defined in: client/src/chat-session.ts:169
Parameters ​
text ​
string
Returns ​
void