ChatSidebarComponent
Hosts an agent chat in a toggleable side panel alongside projected application content.
import { ChatSidebarComponent } from '@threadplane/chat';Declaration
export declare class ChatSidebarComponent {
constructor();
readonly agent: import("@angular/core").InputSignal<Agent<unknown>>;
readonly clientTools: import("@angular/core").InputSignal<Readonly<Record<string, import("../../client-tools/tool-def").ClientToolDef>> | undefined>;
readonly closeOnEscape: import("@angular/core").InputSignal<boolean>;
closeWindow(): void;
readonly messageCopy: import("@angular/core").OutputEmitterRef<{
messageIndex: number;
content: string;
}>;
readonly modelOptions: import("@angular/core").InputSignal<readonly ChatSelectOption[]>;
readonly open: import("@angular/core").ModelSignal<boolean>;
openWindow(): void;
readonly pushContent: import("@angular/core").InputSignal<boolean>;
readonly rate: import("@angular/core").OutputEmitterRef<{
messageIndex: number;
rating: "up" | "down";
}>;
readonly regenerate: import("@angular/core").OutputEmitterRef<void>;
readonly selectedModel: import("@angular/core").ModelSignal<string>;
readonly showModelPicker: import("@angular/core").InputSignal<boolean>;
toggle(): void;
readonly views: import("@angular/core").InputSignal<Readonly<Record<string, import("@threadplane/render").RenderViewEntry | import("@angular/core").Type<unknown>>> | undefined>;
}Angular template API
Selector: chat-sidebar
Inputs
agent· requiredAgent<unknown>clientToolsReadonly<Record<string, ClientToolDef>> | undefinedcloseOnEscapebooleanmodelOptionsreadonly ChatSelectOption[]openbooleanpushContentbooleanselectedModelstringshowModelPickerbooleanviewsReadonly<Record<string, RenderViewEntry | Type<unknown>>> | undefined
Outputs
messageCopy{ messageIndex: number; content: string; }openChangebooleanrate{ messageIndex: number; rating: "up" | "down"; }regeneratevoidselectedModelChangestring
Members
Constructor · overload 1
Constructs a new instance of the ChatSidebarComponent class
constructor();agent
readonly agent: import("@angular/core").InputSignal<Agent<unknown>>;clientTools
Frontend-declared client tools forwarded to the inner <chat>.
readonly clientTools: import("@angular/core").InputSignal<Readonly<Record<string, import("../../client-tools/tool-def").ClientToolDef>> | undefined>;closeOnEscape
Close the sidebar on Escape (default true).
readonly closeOnEscape: import("@angular/core").InputSignal<boolean>;closeWindow · overload 1
closeWindow(): void;Returns
voidmessageCopy
Emitted when the user copies an assistant message.
readonly messageCopy: import("@angular/core").OutputEmitterRef<{
messageIndex: number;
content: string;
}>;modelOptions
Forwarded to the inner <chat>. When non-empty, a model picker pill renders in the chat-input chrome.
readonly modelOptions: import("@angular/core").InputSignal<readonly ChatSelectOption[]>;open
readonly open: import("@angular/core").ModelSignal<boolean>;openWindow · overload 1
openWindow(): void;Returns
voidpushContent
readonly pushContent: import("@angular/core").InputSignal<boolean>;rate
Emitted when the user rates an assistant message.
readonly rate: import("@angular/core").OutputEmitterRef<{
messageIndex: number;
rating: "up" | "down";
}>;regenerate
Emitted when the user clicks the regenerate button on an assistant message.
readonly regenerate: import("@angular/core").OutputEmitterRef<void>;selectedModel
Two-way bound current model value.
readonly selectedModel: import("@angular/core").ModelSignal<string>;showModelPicker
Forwarded to the inner <chat>. When false, hides the
auto-rendered model picker even with non-empty modelOptions.
Use this in narrow surfaces (the chat-sidebar panel is 28rem
wide; chat-popup is 24rem) where the picker crowds the input.
Defaults to true.
readonly showModelPicker: import("@angular/core").InputSignal<boolean>;toggle · overload 1
toggle(): void;Returns
voidviews
A2UI component catalog forwarded to the inner <chat>. Without it,
messages classified as A2UI parse correctly but never mount a
surface. Pass a2uiBasicCatalog() from @threadplane/chat.
readonly views: import("@angular/core").InputSignal<Readonly<Record<string, import("@threadplane/render").RenderViewEntry | import("@angular/core").Type<unknown>>> | undefined>;