@threadplane/chat 0.0.53 → 0.0.55

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.53",
3
+ "version": "0.0.55",
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.4.1",
28
+ "@cacheplane/partial-markdown": "^0.5.3",
29
29
  "tslib": "^2.3.0",
30
30
  "@threadplane/telemetry": "*"
31
31
  },
@@ -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';
@@ -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;
@@ -1277,9 +1277,9 @@ declare class ChatGenerativeUiComponent {
1277
1277
  * [chatWelcomeSuggestions] — projects suggestion rows below the input
1278
1278
  *
1279
1279
  * Host CSS variables (override on :host or any ancestor):
1280
- * --ngaf-chat-welcome-max-width default 36rem
1281
- * --ngaf-chat-welcome-gap default 1.25rem
1282
- * --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
1283
1283
  */
1284
1284
  declare class ChatWelcomeComponent {
1285
1285
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatWelcomeComponent, never>;
@@ -1296,6 +1296,22 @@ declare class ChatWelcomeSuggestionComponent {
1296
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>;
1297
1297
  }
1298
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
+
1299
1315
  interface ChatSelectOption {
1300
1316
  value: string;
1301
1317
  label: string;
@@ -1303,15 +1319,13 @@ interface ChatSelectOption {
1303
1319
  disabled?: boolean;
1304
1320
  }
1305
1321
  /**
1306
- * Generic single-select dropdown. Designed to slot into the chat input pill
1307
- * (via [chatInputModelSelect]) but usable anywhere.
1308
- *
1309
- * Inputs:
1310
- * options — array of { value, label, disabled? }; required
1311
- * value currently selected value (two-way via model())
1312
- * placeholder — trigger label when no option matches; default 'Select'
1313
- * disabled — disables the trigger; default false
1314
- * 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).
1315
1329
  */
1316
1330
  declare class ChatSelectComponent {
1317
1331
  readonly options: _angular_core.InputSignal<readonly ChatSelectOption[]>;
@@ -1319,23 +1333,75 @@ declare class ChatSelectComponent {
1319
1333
  readonly placeholder: _angular_core.InputSignal<string>;
1320
1334
  readonly disabled: _angular_core.InputSignal<boolean>;
1321
1335
  readonly menuLabel: _angular_core.InputSignal<string | undefined>;
1336
+ readonly panelClass: _angular_core.InputSignal<string | string[]>;
1322
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[]>;
1323
1341
  protected readonly currentLabel: _angular_core.Signal<string>;
1324
1342
  private readonly hostEl;
1325
1343
  private readonly document;
1326
- private readonly destroyRef;
1327
- constructor();
1344
+ private menuPane;
1345
+ protected onAttached(pane: HTMLElement): void;
1328
1346
  protected toggle(): void;
1329
1347
  protected selectOption(opt: ChatSelectOption): void;
1330
1348
  protected onTriggerKeydown(e: KeyboardEvent): void;
1331
1349
  protected onMenuKeydown(e: KeyboardEvent): void;
1332
1350
  private focusOption;
1333
- private focusTrigger;
1334
1351
  private moveFocus;
1335
1352
  private queryOptions;
1336
1353
  private queryTrigger;
1337
1354
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatSelectComponent, never>;
1338
- 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>;
1339
1405
  }
1340
1406
 
1341
1407
  /**
@@ -2023,6 +2089,7 @@ declare class ChatStreamingMdComponent {
2023
2089
  private parser;
2024
2090
  private prior;
2025
2091
  private finished;
2092
+ private readonly finalizeTick;
2026
2093
  readonly root: _angular_core.Signal<MarkdownDocumentNode | null>;
2027
2094
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChatStreamingMdComponent, never>;
2028
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>;
@@ -2225,6 +2292,8 @@ declare class MarkdownTableComponent {
2225
2292
 
2226
2293
  declare class MarkdownTableRowComponent {
2227
2294
  readonly node: _angular_core.InputSignal<MarkdownTableRowNode>;
2295
+ private readonly registry;
2296
+ protected resolve(child: MarkdownNode): Type<unknown> | null;
2228
2297
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownTableRowComponent, never>;
2229
2298
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownTableRowComponent, "chat-md-table-row", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2230
2299
  }
@@ -3004,5 +3073,5 @@ declare function mockAgent(opts?: MockAgentOptions): MockAgent;
3004
3073
  /** Inferred argument type for a schema (alias of StandardSchemaInferOutput). */
3005
3074
  type ToolArgs<S extends StandardSchemaV1> = StandardSchemaInferOutput<S>;
3006
3075
 
3007
- 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, 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 };
3008
- 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 };
3076
+ 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 };
3077
+ 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 };