Documentation / @agentick/angular / ChatSessionService
Class: ChatSessionService
Defined in: angular/src/chat-session.service.ts:98
Angular service wrapping ChatSession with signals.
Exposes all ChatSessionState fields as Angular signals and all ChatSession actions as methods. Automatically syncs on every state change and cleans up on destroy.
Supports session switching via switchSession() — tears down the current session and creates a new one with the given sessionId, reusing the same underlying client connection.
Example
@Component({
providers: [
provideAgentick({ baseUrl: '/api/v2', token: myJwt }),
provideChatSession({ renderMode: 'streaming' }),
],
template: `
@for (msg of chat.messages(); track msg.id) {
<div>{{ msg.role }}: {{ msg.content }}</div>
}
<input #input />
<button (click)="chat.submit(input.value); input.value = ''">Send</button>
`,
})
export class ChatComponent {
chat = inject(ChatSessionService);
}Implements
OnDestroy
Constructors
Constructor
new ChatSessionService():
ChatSessionService
Defined in: angular/src/chat-session.service.ts:133
Returns
ChatSessionService
Properties
attachments
readonlyattachments:WritableSignal<readonlyAttachment[]>
Defined in: angular/src/chat-session.service.ts:116
chatMode
readonlychatMode:WritableSignal<ChatMode>
Defined in: angular/src/chat-session.service.ts:109
error
readonlyerror:WritableSignal<{message:string;name:string; } |null>
Defined in: angular/src/chat-session.service.ts:115
isConfirmingTool
readonlyisConfirmingTool:Signal<boolean>
Defined in: angular/src/chat-session.service.ts:127
isExecuting
readonlyisExecuting:WritableSignal<boolean>
Defined in: angular/src/chat-session.service.ts:113
isIdle
readonlyisIdle:Signal<boolean>
Defined in: angular/src/chat-session.service.ts:125
isStreaming
readonlyisStreaming:Signal<boolean>
Defined in: angular/src/chat-session.service.ts:126
lastSubmitted
readonlylastSubmitted:WritableSignal<string|null>
Defined in: angular/src/chat-session.service.ts:111
messages
readonlymessages:WritableSignal<readonlyChatMessage[]>
Defined in: angular/src/chat-session.service.ts:108
mode
readonlymode:WritableSignal<SteeringMode>
Defined in: angular/src/chat-session.service.ts:114
queued
readonlyqueued:WritableSignal<readonlyMessage[]>
Defined in: angular/src/chat-session.service.ts:112
sessionId
readonlysessionId:WritableSignal<string|undefined>
Defined in: angular/src/chat-session.service.ts:119
The current session ID, or undefined if no session is connected.
toolConfirmation
readonlytoolConfirmation:WritableSignal<ToolConfirmationState|null>
Defined in: angular/src/chat-session.service.ts:110
Methods
abort()
abort(
reason?):void
Defined in: angular/src/chat-session.service.ts:192
Parameters
reason?
string
Returns
void
addAttachment()
addAttachment(
input):Attachment
Defined in: angular/src/chat-session.service.ts:236
Parameters
input
Returns
appendMessages()
appendMessages(
messages):void
Defined in: angular/src/chat-session.service.ts:228
Append messages (e.g. initial load from DB, or external sources). Messages appear at the end of the list.
Parameters
messages
readonly ChatMessage[]
Returns
void
clearAttachments()
clearAttachments():
void
Defined in: angular/src/chat-session.service.ts:244
Returns
void
clearMessages()
clearMessages():
void
Defined in: angular/src/chat-session.service.ts:232
Returns
void
clearQueued()
clearQueued():
void
Defined in: angular/src/chat-session.service.ts:204
Returns
void
flush()
flush():
void
Defined in: angular/src/chat-session.service.ts:196
Returns
void
interrupt()
interrupt(
text):Promise<ClientExecutionHandle>
Defined in: angular/src/chat-session.service.ts:188
Parameters
text
string
Returns
Promise<ClientExecutionHandle>
ngOnDestroy()
ngOnDestroy():
void
Defined in: angular/src/chat-session.service.ts:252
A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.
Returns
void
Implementation of
OnDestroy.ngOnDestroy
prependMessages()
prependMessages(
messages):void
Defined in: angular/src/chat-session.service.ts:220
Prepend older messages (e.g. fetched from DB on scroll-back). Messages appear at the start of the list.
Parameters
messages
readonly ChatMessage[]
Returns
void
queue()
queue(
text):void
Defined in: angular/src/chat-session.service.ts:184
Parameters
text
string
Returns
void
removeAttachment()
removeAttachment(
id):void
Defined in: angular/src/chat-session.service.ts:240
Parameters
id
string
Returns
void
removeQueued()
removeQueued(
index):void
Defined in: angular/src/chat-session.service.ts:200
Parameters
index
number
Returns
void
respondToConfirmation()
respondToConfirmation(
response):void
Defined in: angular/src/chat-session.service.ts:212
Parameters
response
Returns
void
setMode()
setMode(
mode):void
Defined in: angular/src/chat-session.service.ts:208
Parameters
mode
Returns
void
steer()
steer(
text):void
Defined in: angular/src/chat-session.service.ts:180
Parameters
text
string
Returns
void
submit()
submit(
text):void
Defined in: angular/src/chat-session.service.ts:176
Parameters
text
string
Returns
void
switchSession()
switchSession(
sessionId,initialMessages?):void
Defined in: angular/src/chat-session.service.ts:158
Switch to a different session. Tears down the current session, creates a new one with the given sessionId, and optionally pre-populates with initial messages.
Reuses the same underlying client connection (SSE transport).
Parameters
sessionId
string
— the new session to connect to
initialMessages?
readonly ChatMessage[]
— messages to populate the message log with
Returns
void