Skip to content

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 ​

typescript
@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 ​

readonly attachments: WritableSignal&lt;readonly Attachment[]>

Defined in: angular/src/chat-session.service.ts:116


chatMode ​

readonly chatMode: WritableSignal<ChatMode>

Defined in: angular/src/chat-session.service.ts:109


error ​

readonly error: WritableSignal<{ message: string; name: string; } | null>

Defined in: angular/src/chat-session.service.ts:115


isConfirmingTool ​

readonly isConfirmingTool: Signal<boolean>

Defined in: angular/src/chat-session.service.ts:127


isExecuting ​

readonly isExecuting: WritableSignal<boolean>

Defined in: angular/src/chat-session.service.ts:113


isIdle ​

readonly isIdle: Signal<boolean>

Defined in: angular/src/chat-session.service.ts:125


isStreaming ​

readonly isStreaming: Signal<boolean>

Defined in: angular/src/chat-session.service.ts:126


lastSubmitted ​

readonly lastSubmitted: WritableSignal<string | null>

Defined in: angular/src/chat-session.service.ts:111


messages ​

readonly messages: WritableSignal&lt;readonly ChatMessage[]>

Defined in: angular/src/chat-session.service.ts:108


mode ​

readonly mode: WritableSignal<SteeringMode>

Defined in: angular/src/chat-session.service.ts:114


queued ​

readonly queued: WritableSignal&lt;readonly Message[]>

Defined in: angular/src/chat-session.service.ts:112


sessionId ​

readonly sessionId: WritableSignal<string | undefined>

Defined in: angular/src/chat-session.service.ts:119

The current session ID, or undefined if no session is connected.


toolConfirmation ​

readonly toolConfirmation: 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 ​

AttachmentInput

Returns ​

Attachment


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 ​

ToolConfirmationResponse

Returns ​

void


setMode() ​

setMode(mode): void

Defined in: angular/src/chat-session.service.ts:208

Parameters ​

mode ​

SteeringMode

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

Released under the ISC License.