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