@threadplane/chat 0.0.52 → 0.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadplane/chat",
3
- "version": "0.0.52",
3
+ "version": "0.0.54",
4
4
  "exports": {
5
5
  "./chat.css": "./chat.css",
6
6
  "./themes/default-dark.css": "./themes/default-dark.css",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@cacheplane/partial-json": ">=0.1.1 <0.3.0",
28
- "@cacheplane/partial-markdown": "^0.3.0",
28
+ "@cacheplane/partial-markdown": "^0.5.3",
29
29
  "tslib": "^2.3.0",
30
30
  "@threadplane/telemetry": "*"
31
31
  },
@@ -41,7 +41,13 @@
41
41
  "@json-render/core": "^0.16.0",
42
42
  "@langchain/core": "^1.1.33",
43
43
  "rxjs": "~7.8.0",
44
- "marked": "^15.0.0 || ^16.0.0"
44
+ "marked": "^15.0.0 || ^16.0.0",
45
+ "katex": "^0.16.0 || ^0.17.0"
46
+ },
47
+ "peerDependenciesMeta": {
48
+ "katex": {
49
+ "optional": true
50
+ }
45
51
  },
46
52
  "license": "PolyForm-Noncommercial-1.0.0 OR LicenseRef-Threadplane-Commercial",
47
53
  "repository": {
@@ -4,7 +4,7 @@ export { StandardSchemaInferInput, StandardSchemaInferOutput, StandardSchemaV1,
4
4
  import { A2uiComponentDef, A2uiSurface, A2uiMessage, A2uiActionMessage } from '@threadplane/a2ui';
5
5
  export { A2uiAction, A2uiActionContextEntry, A2uiActionMessage, A2uiChildren, A2uiClientDataModel, A2uiComponent, A2uiComponentDef, A2uiSurface, A2uiTheme, DynamicBoolean, DynamicNumber, DynamicString, isLiteralBoolean, isLiteralNumber, isLiteralString, isPathRef } from '@threadplane/a2ui';
6
6
  import * as _angular_core from '@angular/core';
7
- import { Type, InjectionToken, Signal, TemplateRef, WritableSignal, InputSignal, InputSignalWithTransform } from '@angular/core';
7
+ import { Type, InjectionToken, Signal, TemplateRef, ElementRef, WritableSignal, InputSignal, InputSignalWithTransform } from '@angular/core';
8
8
  import * as _json_render_core from '@json-render/core';
9
9
  import { StateStore, Spec } from '@json-render/core';
10
10
  import { Observable } from 'rxjs';
@@ -12,9 +12,9 @@ import * as _threadplane_chat from '@threadplane/chat';
12
12
  import { PartialJsonParser } from '@cacheplane/partial-json';
13
13
  import { BaseMessage } from '@langchain/core/messages';
14
14
  import * as _cacheplane_partial_markdown from '@cacheplane/partial-markdown';
15
- import { CitationDefinition, MarkdownDocumentNode, MarkdownNode, MarkdownParagraphNode, MarkdownHeadingNode, MarkdownBlockquoteNode, MarkdownListNode, MarkdownListItemNode, MarkdownCodeBlockNode, MarkdownThematicBreakNode, MarkdownTextNode, MarkdownEmphasisNode, MarkdownStrongNode, MarkdownStrikethroughNode, MarkdownInlineCodeNode, MarkdownLinkNode, MarkdownAutolinkNode, MarkdownImageNode, MarkdownSoftBreakNode, MarkdownHardBreakNode, MarkdownCitationReferenceNode, MarkdownTableNode, MarkdownTableRowNode, MarkdownTableCellNode } from '@cacheplane/partial-markdown';
15
+ import { CitationDefinition, MarkdownDocumentNode, MarkdownNode, MarkdownParagraphNode, MarkdownHeadingNode, MarkdownBlockquoteNode, MarkdownListNode, MarkdownListItemNode, MarkdownCodeBlockNode, MarkdownThematicBreakNode, MarkdownTextNode, MarkdownEmphasisNode, MarkdownStrongNode, MarkdownStrikethroughNode, MarkdownInlineCodeNode, MarkdownMathInlineNode, MarkdownMathDisplayNode, MarkdownHtmlInlineNode, MarkdownHtmlBlockNode, MarkdownLinkNode, MarkdownAutolinkNode, MarkdownImageNode, MarkdownSoftBreakNode, MarkdownHardBreakNode, MarkdownCitationReferenceNode, MarkdownTableNode, MarkdownTableRowNode, MarkdownTableCellNode } from '@cacheplane/partial-markdown';
16
+ import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
16
17
  import { NavigationExtras } from '@angular/router';
17
- import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
18
18
 
19
19
  /** Precise authored function tool — what `action()` returns. Carries the schema
20
20
  * `S` and the handler's resolved return type `R`. */
@@ -558,7 +558,7 @@ interface AgentRef<TState> {
558
558
  */
559
559
  declare function createAgentRef<TState>(debugName?: string): AgentRef<TState>;
560
560
 
561
- type AgentRuntimeTelemetryEvent = 'ngaf:runtime_instance_created' | 'ngaf:runtime_request_created' | 'ngaf:stream_started' | 'ngaf:stream_ended' | 'ngaf:stream_errored';
561
+ type AgentRuntimeTelemetryEvent = 'tplane:runtime_instance_created' | 'tplane:runtime_request_created' | 'tplane:stream_started' | 'tplane:stream_ended' | 'tplane:stream_errored';
562
562
  interface AgentRuntimeTelemetryProperties {
563
563
  transport: 'langgraph' | 'ag-ui' | 'custom' | string;
564
564
  surface?: string;
@@ -868,6 +868,19 @@ declare class ChatScrollBubbleComponent {
868
868
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatScrollBubbleComponent, "chat-scroll-bubble", never, { "mode": { "alias": "mode"; "required": true; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, never>;
869
869
  }
870
870
 
871
+ /**
872
+ * Coerce an unknown error value into a human-readable message string — reads
873
+ * `.message` from `Error`s, returns strings as-is, and `String()`-casts the
874
+ * rest. Useful when rendering an agent's `error` outside the built-in
875
+ * `chat-error` component.
876
+ *
877
+ * @param error Any caught/agent error value.
878
+ * @returns The message text, or `null` when `error` is nullish.
879
+ * @example
880
+ * ```ts
881
+ * const msg = extractErrorMessage(agent.error());
882
+ * ```
883
+ */
871
884
  declare function extractErrorMessage(error: unknown): string | null;
872
885
  declare class ChatErrorComponent {
873
886
  readonly agent: _angular_core.InputSignal<Agent<Record<string, unknown>>>;
@@ -1264,9 +1277,9 @@ declare class ChatGenerativeUiComponent {
1264
1277
  * [chatWelcomeSuggestions] — projects suggestion rows below the input
1265
1278
  *
1266
1279
  * Host CSS variables (override on :host or any ancestor):
1267
- * --ngaf-chat-welcome-max-width default 36rem
1268
- * --ngaf-chat-welcome-gap default 1.25rem
1269
- * --ngaf-chat-welcome-padding default 24px
1280
+ * --tplane-chat-welcome-max-width default 36rem
1281
+ * --tplane-chat-welcome-gap default 1.25rem
1282
+ * --tplane-chat-welcome-padding default 24px
1270
1283
  */
1271
1284
  declare class ChatWelcomeComponent {
1272
1285
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatWelcomeComponent, never>;
@@ -1283,6 +1296,22 @@ declare class ChatWelcomeSuggestionComponent {
1283
1296
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatWelcomeSuggestionComponent, "chat-welcome-suggestion", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, ["[chatWelcomeSuggestionIcon]"], true, never>;
1284
1297
  }
1285
1298
 
1299
+ type HorizontalConnectionPos = 'start' | 'center' | 'end';
1300
+ type VerticalConnectionPos = 'top' | 'center' | 'bottom';
1301
+ interface ConnectedPosition {
1302
+ originX: HorizontalConnectionPos;
1303
+ originY: VerticalConnectionPos;
1304
+ overlayX: HorizontalConnectionPos;
1305
+ overlayY: VerticalConnectionPos;
1306
+ offsetX?: number;
1307
+ offsetY?: number;
1308
+ }
1309
+ interface OverlayPositionResult {
1310
+ top: number;
1311
+ left: number;
1312
+ position: ConnectedPosition;
1313
+ }
1314
+
1286
1315
  interface ChatSelectOption {
1287
1316
  value: string;
1288
1317
  label: string;
@@ -1290,15 +1319,13 @@ interface ChatSelectOption {
1290
1319
  disabled?: boolean;
1291
1320
  }
1292
1321
  /**
1293
- * Generic single-select dropdown. Designed to slot into the chat input pill
1294
- * (via [chatInputModelSelect]) but usable anywhere.
1295
- *
1296
- * Inputs:
1297
- * options — array of { value, label, disabled? }; required
1298
- * value currently selected value (two-way via model())
1299
- * placeholder — trigger label when no option matches; default 'Select'
1300
- * disabled — disables the trigger; default false
1301
- * menuLabel — aria-label for the popover; defaults to placeholder
1322
+ * Generic single-select dropdown. The menu renders through the chat
1323
+ * connected-overlay primitive (a body-level portal), so it is never clipped by
1324
+ * an ancestor's `overflow` and never trapped by an ancestor `transform`.
1325
+ *
1326
+ * Inputs: options (required), value (two-way), placeholder, disabled, menuLabel,
1327
+ * panelClass (extra class(es) on the overlay pane the menu is portaled, so
1328
+ * `::ng-deep chat-select .chat-select__menu` no longer reaches it).
1302
1329
  */
1303
1330
  declare class ChatSelectComponent {
1304
1331
  readonly options: _angular_core.InputSignal<readonly ChatSelectOption[]>;
@@ -1306,23 +1333,75 @@ declare class ChatSelectComponent {
1306
1333
  readonly placeholder: _angular_core.InputSignal<string>;
1307
1334
  readonly disabled: _angular_core.InputSignal<boolean>;
1308
1335
  readonly menuLabel: _angular_core.InputSignal<string | undefined>;
1336
+ readonly panelClass: _angular_core.InputSignal<string | string[]>;
1309
1337
  protected readonly open: _angular_core.WritableSignal<boolean>;
1338
+ protected readonly menuId: string;
1339
+ protected readonly overlayPositions: ConnectedPosition[];
1340
+ protected readonly panelClasses: _angular_core.Signal<string[]>;
1310
1341
  protected readonly currentLabel: _angular_core.Signal<string>;
1311
1342
  private readonly hostEl;
1312
1343
  private readonly document;
1313
- private readonly destroyRef;
1314
- constructor();
1344
+ private menuPane;
1345
+ protected onAttached(pane: HTMLElement): void;
1315
1346
  protected toggle(): void;
1316
1347
  protected selectOption(opt: ChatSelectOption): void;
1317
1348
  protected onTriggerKeydown(e: KeyboardEvent): void;
1318
1349
  protected onMenuKeydown(e: KeyboardEvent): void;
1319
1350
  private focusOption;
1320
- private focusTrigger;
1321
1351
  private moveFocus;
1322
1352
  private queryOptions;
1323
1353
  private queryTrigger;
1324
1354
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatSelectComponent, never>;
1325
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatSelectComponent, "chat-select", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "menuLabel": { "alias": "menuLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1355
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatSelectComponent, "chat-select", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "menuLabel": { "alias": "menuLabel"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
1356
+ }
1357
+
1358
+ /** Marks the anchor element a connected overlay positions against. */
1359
+ declare class ChatOverlayOriginDirective {
1360
+ readonly elementRef: ElementRef<HTMLElement>;
1361
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatOverlayOriginDirective, never>;
1362
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ChatOverlayOriginDirective, "[chatOverlayOrigin]", ["chatOverlayOrigin"], {}, {}, never, never, true, never>;
1363
+ }
1364
+ /**
1365
+ * Applied to an `<ng-template>`. When `chatOverlayOpen` is true, the template
1366
+ * content is portaled into the shared body-level overlay container and
1367
+ * positioned connected to `chatOverlayOrigin`, repositioning live on
1368
+ * scroll/resize. Closes on outside mousedown (via the `chatOverlayOutsideClick`
1369
+ * output) and Tab; returns focus to the origin when focus was inside the pane.
1370
+ *
1371
+ * NOTE: the directive does not own the open state — it only emits. To fully
1372
+ * close the overlay, consumers MUST handle BOTH `(chatOverlayOutsideClick)` and
1373
+ * `(chatOverlayDetach)`. Tab-close (and Escape, when the consumer routes it)
1374
+ * surface through `chatOverlayDetach`, so wiring only `chatOverlayOutsideClick`
1375
+ * leaves the overlay stuck open on Tab.
1376
+ */
1377
+ declare class ChatConnectedOverlayDirective {
1378
+ readonly origin: _angular_core.InputSignal<ChatOverlayOriginDirective>;
1379
+ readonly open: _angular_core.InputSignal<boolean>;
1380
+ readonly positions: _angular_core.InputSignal<ConnectedPosition[]>;
1381
+ readonly panelClass: _angular_core.InputSignal<string | string[]>;
1382
+ /** Emits the pane element once attached (consumers focus content from it). */
1383
+ readonly attached: _angular_core.OutputEmitterRef<HTMLElement>;
1384
+ readonly outsideClick: _angular_core.OutputEmitterRef<MouseEvent>;
1385
+ readonly detached: _angular_core.OutputEmitterRef<void>;
1386
+ private readonly templateRef;
1387
+ private readonly viewContainerRef;
1388
+ private readonly document;
1389
+ private pane;
1390
+ private viewRef;
1391
+ private resizeObs;
1392
+ private rafId;
1393
+ private previouslyFocused;
1394
+ private readonly onScrollOrResize;
1395
+ private readonly onDocMouseDown;
1396
+ private readonly onKeydown;
1397
+ constructor();
1398
+ private attach;
1399
+ private scheduleReposition;
1400
+ private reposition;
1401
+ private dispose;
1402
+ private normalizePanelClass;
1403
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatConnectedOverlayDirective, never>;
1404
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ChatConnectedOverlayDirective, "[chatConnectedOverlay]", never, { "origin": { "alias": "chatOverlayOrigin"; "required": true; "isSignal": true; }; "open": { "alias": "chatOverlayOpen"; "required": false; "isSignal": true; }; "positions": { "alias": "chatOverlayPositions"; "required": false; "isSignal": true; }; "panelClass": { "alias": "chatOverlayPanelClass"; "required": false; "isSignal": true; }; }, { "attached": "chatOverlayAttached"; "outsideClick": "chatOverlayOutsideClick"; "detached": "chatOverlayDetach"; }, never, never, true, never>;
1326
1405
  }
1327
1406
 
1328
1407
  /**
@@ -1655,6 +1734,26 @@ declare class ChatComponent {
1655
1734
  * reasoning pill collapses (per its internal logic).
1656
1735
  */
1657
1736
  protected isReasoningStreaming(message: Message, index: number): boolean;
1737
+ /** The nearest preceding assistant message (skipping hidden tool messages), or undefined. */
1738
+ private prevAssistant;
1739
+ /**
1740
+ * True when message[index] starts a reasoning RUN — a maximal sequence of
1741
+ * consecutive assistant reasoning steps separated only by (hidden) tool
1742
+ * messages. The merged reasoning pill renders once, here.
1743
+ */
1744
+ protected reasoningRunStart(index: number): boolean;
1745
+ /**
1746
+ * Aggregate the reasoning RUN starting at `index`: joins each step's
1747
+ * reasoning, sums durations, counts steps, and computes the streaming flag
1748
+ * and the merged label when N > 1 ("Thought for {total} · {N} steps", or
1749
+ * just "{N} steps" when no step reported timing).
1750
+ */
1751
+ protected reasoningRun(index: number): {
1752
+ content: string;
1753
+ durationMs: number | undefined;
1754
+ streaming: boolean;
1755
+ label: string | undefined;
1756
+ };
1658
1757
  private readonly classifiers;
1659
1758
  private readonly destroyRef;
1660
1759
  private readonly injector;
@@ -1990,6 +2089,7 @@ declare class ChatStreamingMdComponent {
1990
2089
  private parser;
1991
2090
  private prior;
1992
2091
  private finished;
2092
+ private readonly finalizeTick;
1993
2093
  readonly root: _angular_core.Signal<MarkdownDocumentNode | null>;
1994
2094
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatStreamingMdComponent, never>;
1995
2095
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChatStreamingMdComponent, "chat-streaming-md", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "streaming": { "alias": "streaming"; "required": false; "isSignal": true; }; "viewRegistry": { "alias": "viewRegistry"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -2113,6 +2213,36 @@ declare class MarkdownInlineCodeComponent {
2113
2213
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownInlineCodeComponent, "chat-md-inline-code", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2114
2214
  }
2115
2215
 
2216
+ type MathNode = MarkdownMathInlineNode | MarkdownMathDisplayNode;
2217
+ /**
2218
+ * Renders a `math-inline` / `math-display` markdown node as KaTeX. KaTeX is
2219
+ * lazy-loaded (see katex-loader); until it resolves, or if the LaTeX is
2220
+ * invalid, the raw `$…$` source is shown — never blank, never a crash.
2221
+ */
2222
+ declare class MarkdownMathComponent {
2223
+ readonly node: _angular_core.InputSignal<MathNode>;
2224
+ private readonly sanitizer;
2225
+ protected readonly display: _angular_core.Signal<boolean>;
2226
+ protected readonly raw: _angular_core.Signal<string>;
2227
+ protected readonly html: _angular_core.Signal<SafeHtml | null>;
2228
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownMathComponent, never>;
2229
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownMathComponent, "chat-md-math", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2230
+ }
2231
+
2232
+ /**
2233
+ * Renders a `html-block` / `html-inline` markdown node as **escaped text** —
2234
+ * the raw HTML is shown literally (Angular interpolation auto-escapes it),
2235
+ * never injected as live markup. This preserves the pre-0.4 behavior where
2236
+ * raw HTML was plain text, and keeps the chat XSS-safe: model-emitted
2237
+ * `<script>`, `<iframe>`, etc. are displayed as text and never executed.
2238
+ */
2239
+ declare class MarkdownHtmlComponent {
2240
+ readonly node: _angular_core.InputSignal<MarkdownHtmlInlineNode | MarkdownHtmlBlockNode>;
2241
+ protected readonly raw: _angular_core.Signal<string>;
2242
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownHtmlComponent, never>;
2243
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownHtmlComponent, "chat-md-html", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2244
+ }
2245
+
2116
2246
  declare class MarkdownLinkComponent {
2117
2247
  readonly node: _angular_core.InputSignal<MarkdownLinkNode>;
2118
2248
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownLinkComponent, never>;
@@ -2500,6 +2630,8 @@ declare class A2uiIconComponent {
2500
2630
  readonly childKeys: _angular_core.InputSignal<string[]>;
2501
2631
  readonly spec: _angular_core.InputSignal<Spec | undefined>;
2502
2632
  protected readonly effectiveName: _angular_core.Signal<string>;
2633
+ /** The effective name as a Material Symbols ligature (camelCase → snake_case). */
2634
+ protected readonly glyphName: _angular_core.Signal<string>;
2503
2635
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<A2uiIconComponent, never>;
2504
2636
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<A2uiIconComponent, "a2ui-icon", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "bindings": { "alias": "bindings"; "required": false; "isSignal": true; }; "emit": { "alias": "emit"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "childKeys": { "alias": "childKeys"; "required": false; "isSignal": true; }; "spec": { "alias": "spec"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2505
2637
  }
@@ -2939,5 +3071,5 @@ declare function mockAgent(opts?: MockAgentOptions): MockAgent;
2939
3071
  /** Inferred argument type for a schema (alias of StandardSchemaInferOutput). */
2940
3072
  type ToolArgs<S extends StandardSchemaV1> = StandardSchemaInferOutput<S>;
2941
3073
 
2942
- export { A2uiAudioPlayerComponent, A2uiButtonComponent, A2uiCardComponent, A2uiCheckBoxComponent, A2uiColumnComponent, A2uiDateTimeInputComponent, A2uiDividerComponent, A2uiIconComponent, A2uiImageComponent, A2uiListComponent, A2uiModalComponent, A2uiMultipleChoiceComponent, A2uiRowComponent, A2uiSliderComponent, A2uiSurfaceComponent, A2uiTabsComponent, A2uiTextComponent, A2uiTextFieldComponent, A2uiVideoComponent, AGENT_ERROR_MESSAGES, AgentError, CHAT_CONFIG, CHAT_LIFECYCLE, ChatApprovalCardComponent, ChatCitationCardTemplateDirective, ChatCitationsCardComponent, ChatCitationsComponent, ChatComponent, ChatConfirmDialogComponent, ChatErrorComponent, ChatGenerativeUiComponent, ChatGenuiSkeletonComponent, ChatHistorySearchPaletteComponent, ChatInputComponent, ChatInterruptComponent, ChatInterruptPanelComponent, ChatLauncherButtonComponent, ChatMessageActionsComponent, ChatMessageComponent, ChatMessageListComponent, ChatOverflowMenuComponent, ChatPopupComponent, ChatProjectListComponent, ChatReasoningComponent, ChatScrollBubbleComponent, ChatSelectComponent, ChatSidebarComponent, ChatSidenavComponent, ChatSidenavScrimComponent, ChatStreamingMdComponent, ChatSubagentCardComponent, ChatSubagentsComponent, ChatSuggestionsComponent, ChatThreadListComponent, ChatTimelineComponent, ChatTimelineSliderComponent, ChatToolCallCardComponent, ChatToolCallTemplateDirective, ChatToolCallsComponent, ChatToolViewsComponent, ChatTraceComponent, ChatTypingIndicatorComponent, ChatWelcomeComponent, ChatWelcomeSuggestionComponent, ChatWindowComponent, CitationsResolverService, IS_HEADER_ROW, MARKDOWN_VIEW_REGISTRY, MarkdownAutolinkComponent, MarkdownBlockquoteComponent, MarkdownChildrenComponent, MarkdownCitationReferenceComponent, MarkdownCodeBlockComponent, MarkdownDocumentComponent, MarkdownEmphasisComponent, MarkdownHardBreakComponent, MarkdownHeadingComponent, MarkdownImageComponent, MarkdownInlineCodeComponent, MarkdownLinkComponent, MarkdownListComponent, MarkdownListItemComponent, MarkdownParagraphComponent, MarkdownSoftBreakComponent, MarkdownStrikethroughComponent, MarkdownStrongComponent, MarkdownTableCellComponent, MarkdownTableComponent, MarkdownTableRowComponent, MarkdownTextComponent, MarkdownThematicBreakComponent, MessageTemplateDirective, a2uiBasicCatalog, action, ask, buildA2uiActionMessage, cacheplaneMarkdownViews, createA2uiSurfaceStore, createAgentRef, createContentClassifier, createParseTreeStore, createPartialArgsBridge, deriveJsonSchema, emitBinding, executeFunctionTool, extractErrorMessage, formatDuration, getInterrupt, getMessageType, injectThreadRouting, isAbortError, isAssistantMessage, isSystemMessage, isToolMessage, isTyping, isUserMessage, messageContent, mockAgent, normalizeEnvelopeArgs, normalizeViewEntry, provideChat, renderMarkdown, startClientToolExecutor, statusColor, submitMessage, toAgentError, toClientToolSpecs, tools, validateArgs, view };
2943
- export type { A2uiComponentView, A2uiSurfaceState, A2uiSurfaceStore, A2uiViewEntry, A2uiViews, Agent, AgentCheckpoint, AgentCustomEvent, AgentErrorKind, AgentEvent, AgentInterrupt, AgentRef, AgentRuntimeTelemetryEvent, AgentRuntimeTelemetryPayload, AgentRuntimeTelemetryProperties, AgentRuntimeTelemetrySink, AgentStateUpdateEvent, AgentStatus, AgentSubmitInput, AgentSubmitOptions, AgentWithHistory, AnyFunctionToolDef, AskToolDef, ChatApprovalAction, ChatConfig, ChatLifecycle, ChatMessageRole, ChatRenderEvent, ChatScrollBubbleMode, ChatSelectOption, ChatSidenavMode, ChatToolCallTemplateContext, Citation, ClientToolDef, ClientToolRegistry, ClientToolResult, ClientToolSpec, ClientToolsCapability, ClientToolsCoordinator, ContentBlock, ContentClassifier, ContentType, ElementAccumulationState, FunctionToolDef, InterruptAction, Message, MessageTemplateType, MockAgent, MockAgentOptions, OverflowMenuItem, ParseTreeStore, PartialArgsBridge, Project, ProjectActionAdapter, ResolvedCitation, Role, Subagent, SubagentStatus, Thread, ThreadActionAdapter, ThreadMatch, ThreadRoutingConfig, ToolArgs, ToolCall, ToolCallInfo, ToolCallStatus, TraceState, ViewProps, ViewToolDef };
3074
+ export { A2uiAudioPlayerComponent, A2uiButtonComponent, A2uiCardComponent, A2uiCheckBoxComponent, A2uiColumnComponent, A2uiDateTimeInputComponent, A2uiDividerComponent, A2uiIconComponent, A2uiImageComponent, A2uiListComponent, A2uiModalComponent, A2uiMultipleChoiceComponent, A2uiRowComponent, A2uiSliderComponent, A2uiSurfaceComponent, A2uiTabsComponent, A2uiTextComponent, A2uiTextFieldComponent, A2uiVideoComponent, AGENT_ERROR_MESSAGES, AgentError, CHAT_CONFIG, CHAT_LIFECYCLE, ChatApprovalCardComponent, ChatCitationCardTemplateDirective, ChatCitationsCardComponent, ChatCitationsComponent, ChatComponent, ChatConfirmDialogComponent, ChatConnectedOverlayDirective, ChatErrorComponent, ChatGenerativeUiComponent, ChatGenuiSkeletonComponent, ChatHistorySearchPaletteComponent, ChatInputComponent, ChatInterruptComponent, ChatInterruptPanelComponent, ChatLauncherButtonComponent, ChatMessageActionsComponent, ChatMessageComponent, ChatMessageListComponent, ChatOverflowMenuComponent, ChatOverlayOriginDirective, ChatPopupComponent, ChatProjectListComponent, ChatReasoningComponent, ChatScrollBubbleComponent, ChatSelectComponent, ChatSidebarComponent, ChatSidenavComponent, ChatSidenavScrimComponent, ChatStreamingMdComponent, ChatSubagentCardComponent, ChatSubagentsComponent, ChatSuggestionsComponent, ChatThreadListComponent, ChatTimelineComponent, ChatTimelineSliderComponent, ChatToolCallCardComponent, ChatToolCallTemplateDirective, ChatToolCallsComponent, ChatToolViewsComponent, ChatTraceComponent, ChatTypingIndicatorComponent, ChatWelcomeComponent, ChatWelcomeSuggestionComponent, ChatWindowComponent, CitationsResolverService, IS_HEADER_ROW, MARKDOWN_VIEW_REGISTRY, MarkdownAutolinkComponent, MarkdownBlockquoteComponent, MarkdownChildrenComponent, MarkdownCitationReferenceComponent, MarkdownCodeBlockComponent, MarkdownDocumentComponent, MarkdownEmphasisComponent, MarkdownHardBreakComponent, MarkdownHeadingComponent, MarkdownHtmlComponent, MarkdownImageComponent, MarkdownInlineCodeComponent, MarkdownLinkComponent, MarkdownListComponent, MarkdownListItemComponent, MarkdownMathComponent, MarkdownParagraphComponent, MarkdownSoftBreakComponent, MarkdownStrikethroughComponent, MarkdownStrongComponent, MarkdownTableCellComponent, MarkdownTableComponent, MarkdownTableRowComponent, MarkdownTextComponent, MarkdownThematicBreakComponent, MessageTemplateDirective, a2uiBasicCatalog, action, ask, buildA2uiActionMessage, cacheplaneMarkdownViews, createA2uiSurfaceStore, createAgentRef, createContentClassifier, createParseTreeStore, createPartialArgsBridge, deriveJsonSchema, emitBinding, executeFunctionTool, extractErrorMessage, formatDuration, getInterrupt, getMessageType, injectThreadRouting, isAbortError, isAssistantMessage, isSystemMessage, isToolMessage, isTyping, isUserMessage, messageContent, mockAgent, normalizeEnvelopeArgs, normalizeViewEntry, provideChat, renderMarkdown, startClientToolExecutor, statusColor, submitMessage, toAgentError, toClientToolSpecs, tools, validateArgs, view };
3075
+ export type { A2uiComponentView, A2uiSurfaceState, A2uiSurfaceStore, A2uiViewEntry, A2uiViews, Agent, AgentCheckpoint, AgentCustomEvent, AgentErrorKind, AgentEvent, AgentInterrupt, AgentRef, AgentRuntimeTelemetryEvent, AgentRuntimeTelemetryPayload, AgentRuntimeTelemetryProperties, AgentRuntimeTelemetrySink, AgentStateUpdateEvent, AgentStatus, AgentSubmitInput, AgentSubmitOptions, AgentWithHistory, AnyFunctionToolDef, AskToolDef, ChatApprovalAction, ChatConfig, ChatLifecycle, ChatMessageRole, ChatRenderEvent, ChatScrollBubbleMode, ChatSelectOption, ChatSidenavMode, ChatToolCallTemplateContext, Citation, ClientToolDef, ClientToolRegistry, ClientToolResult, ClientToolSpec, ClientToolsCapability, ClientToolsCoordinator, ConnectedPosition, ContentBlock, ContentClassifier, ContentType, ElementAccumulationState, FunctionToolDef, InterruptAction, Message, MessageTemplateType, MockAgent, MockAgentOptions, OverflowMenuItem, OverlayPositionResult, ParseTreeStore, PartialArgsBridge, Project, ProjectActionAdapter, ResolvedCitation, Role, Subagent, SubagentStatus, Thread, ThreadActionAdapter, ThreadMatch, ThreadRoutingConfig, ToolArgs, ToolCall, ToolCallInfo, ToolCallStatus, TraceState, ViewProps, ViewToolDef };