@runtypelabs/persona 3.18.0 → 3.19.0

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.
Files changed (38) hide show
  1. package/README.md +1 -1
  2. package/dist/index.cjs +47 -47
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +281 -4
  5. package/dist/index.d.ts +281 -4
  6. package/dist/index.global.js +102 -1636
  7. package/dist/index.global.js.map +1 -1
  8. package/dist/index.js +47 -47
  9. package/dist/index.js.map +1 -1
  10. package/dist/theme-editor.cjs +1438 -619
  11. package/dist/theme-editor.d.cts +119 -1
  12. package/dist/theme-editor.d.ts +119 -1
  13. package/dist/theme-editor.js +1552 -619
  14. package/dist/widget.css +348 -0
  15. package/package.json +1 -1
  16. package/src/components/composer-builder.test.ts +52 -0
  17. package/src/components/composer-builder.ts +67 -490
  18. package/src/components/composer-parts.test.ts +152 -0
  19. package/src/components/composer-parts.ts +452 -0
  20. package/src/components/header-builder.ts +22 -299
  21. package/src/components/header-parts.ts +360 -0
  22. package/src/components/panel.test.ts +61 -0
  23. package/src/components/panel.ts +262 -5
  24. package/src/components/pill-composer-builder.test.ts +85 -0
  25. package/src/components/pill-composer-builder.ts +183 -0
  26. package/src/index.ts +4 -0
  27. package/src/runtime/init.ts +4 -2
  28. package/src/runtime/persist-state.test.ts +152 -0
  29. package/src/styles/widget.css +348 -0
  30. package/src/types.ts +121 -1
  31. package/src/ui.component-directive.test.ts +183 -0
  32. package/src/ui.composer-bar.test.ts +1009 -0
  33. package/src/ui.ts +809 -72
  34. package/src/utils/attachment-manager.ts +1 -1
  35. package/src/utils/dock.test.ts +45 -0
  36. package/src/utils/dock.ts +3 -0
  37. package/src/utils/icons.ts +314 -58
  38. package/src/utils/stream-animation.ts +7 -2
package/dist/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { IconNode } from 'lucide';
2
+
1
3
  /**
2
4
  * Plugin interface for customizing widget components
3
5
  */
@@ -1777,6 +1779,101 @@ type AgentWidgetDockConfig = {
1777
1779
  */
1778
1780
  reveal?: "resize" | "overlay" | "push" | "emerge";
1779
1781
  };
1782
+ /**
1783
+ * Layout configuration for `mountMode: "composer-bar"`. Controls how the
1784
+ * collapsed pill is positioned and sized, and how the panel expands when
1785
+ * the user opens it.
1786
+ */
1787
+ type AgentWidgetComposerBarConfig = {
1788
+ /**
1789
+ * Max-width of the collapsed pill composer at the bottom of the viewport.
1790
+ * @default "720px"
1791
+ */
1792
+ collapsedMaxWidth?: string;
1793
+ /**
1794
+ * Bottom offset (CSS length) from the viewport edge in the collapsed state.
1795
+ * @default "16px"
1796
+ */
1797
+ bottomOffset?: string;
1798
+ /**
1799
+ * Auto-expand the panel when the user submits a message while the composer
1800
+ * is collapsed. When false, the message still sends but the panel remains
1801
+ * collapsed (the host can drive expansion programmatically).
1802
+ * @default true
1803
+ */
1804
+ expandOnSubmit?: boolean;
1805
+ /**
1806
+ * Size of the expanded chat panel.
1807
+ * - `"anchored"` (default): the pill stays at the bottom of the viewport
1808
+ * and the chat history grows upward into a centered column above it.
1809
+ * Width is driven by `expandedMaxWidth`; the panel's top edge sits at
1810
+ * `expandedTopOffset` from the viewport top.
1811
+ * - `"fullscreen"`: covers the entire viewport (mobile-app style). Inner
1812
+ * content is centered horizontally via `contentMaxWidth`.
1813
+ * - `"modal"`: centered sheet with margins; size driven by
1814
+ * `modalMaxWidth` / `modalMaxHeight`.
1815
+ * @default "anchored"
1816
+ */
1817
+ expandedSize?: "anchored" | "fullscreen" | "modal";
1818
+ /**
1819
+ * When `expandedSize === "anchored"`, max-width of the expanded panel
1820
+ * column. Capped at `calc(100vw - 32px)` on narrow viewports.
1821
+ * @default "880px"
1822
+ */
1823
+ expandedMaxWidth?: string;
1824
+ /**
1825
+ * When `expandedSize === "anchored"`, distance from the viewport top to
1826
+ * the panel's top edge. Accepts any CSS length.
1827
+ * @default "5vh"
1828
+ */
1829
+ expandedTopOffset?: string;
1830
+ /**
1831
+ * Max-width applied to messages, composer form, suggestions, and
1832
+ * attachment previews so they center horizontally inside the expanded
1833
+ * panel. Falls back to `layout.contentMaxWidth` when set; otherwise
1834
+ * defaults to this value.
1835
+ * @default "720px"
1836
+ */
1837
+ contentMaxWidth?: string;
1838
+ /**
1839
+ * When `expandedSize === "modal"`, max-width of the expanded sheet.
1840
+ * @default "880px"
1841
+ */
1842
+ modalMaxWidth?: string;
1843
+ /**
1844
+ * When `expandedSize === "modal"`, max-height of the expanded sheet.
1845
+ * @default "min(90vh, 800px)"
1846
+ */
1847
+ modalMaxHeight?: string;
1848
+ /**
1849
+ * Configuration for the "peek" banner — the chrome-less row above the
1850
+ * collapsed pill that previews the most recent assistant message.
1851
+ */
1852
+ peek?: AgentWidgetComposerBarPeekConfig;
1853
+ };
1854
+ /**
1855
+ * Configuration for the composer-bar peek banner. Reuses the same
1856
+ * `streamAnimation` shape developers already configure for the main message
1857
+ * stream, so the surface for animations is identical across both contexts.
1858
+ *
1859
+ * Resolution order:
1860
+ * - If `peek.streamAnimation` is set, those values apply to the peek.
1861
+ * - Otherwise the peek inherits from `features.streamAnimation`.
1862
+ *
1863
+ * Per-surface carve-outs:
1864
+ * - `bubbleClass` from a plugin (used by `pop-bubble`) is ignored — the peek
1865
+ * has no bubble analog.
1866
+ * - `containerClass`, `wrap` ("char" | "word"), `useCaret`, `placeholder`
1867
+ * ("skeleton"), `buffer` ("word" | "line"), `speed`, `duration`, and
1868
+ * custom plugins all apply unchanged.
1869
+ */
1870
+ type AgentWidgetComposerBarPeekConfig = {
1871
+ /**
1872
+ * Reveal animation for the peek's trailing-message preview. Same shape as
1873
+ * `features.streamAnimation`. Omit to inherit from the main stream config.
1874
+ */
1875
+ streamAnimation?: AgentWidgetStreamAnimationFeature;
1876
+ };
1780
1877
  type AgentWidgetLauncherConfig = {
1781
1878
  enabled?: boolean;
1782
1879
  title?: string;
@@ -1791,14 +1888,22 @@ type AgentWidgetLauncherConfig = {
1791
1888
  * Controls how the launcher panel is mounted relative to the host page.
1792
1889
  * - "floating": default floating launcher / panel behavior
1793
1890
  * - "docked": wraps the target container and renders as a sibling dock
1891
+ * - "composer-bar": persistent rounded-pill composer fixed to the bottom of
1892
+ * the viewport that morphs into a fullscreen (or modal) chat panel on
1893
+ * submit and minimizes back to the pill on close.
1794
1894
  *
1795
1895
  * @default "floating"
1796
1896
  */
1797
- mountMode?: "floating" | "docked";
1897
+ mountMode?: "floating" | "docked" | "composer-bar";
1798
1898
  /**
1799
1899
  * Layout configuration for docked mode.
1800
1900
  */
1801
1901
  dock?: AgentWidgetDockConfig;
1902
+ /**
1903
+ * Layout configuration for composer-bar mode.
1904
+ * Only applies when `mountMode === "composer-bar"`.
1905
+ */
1906
+ composerBar?: AgentWidgetComposerBarConfig;
1802
1907
  autoExpand?: boolean;
1803
1908
  width?: string;
1804
1909
  /**
@@ -3882,6 +3987,13 @@ type AgentWidgetConfig = {
3882
3987
  * When `true`, uses default settings with sessionStorage.
3883
3988
  * When an object, allows customizing storage type, key prefix, and what to persist.
3884
3989
  *
3990
+ * Setting this to `false` is the explicit kill-switch: it disables UI-state
3991
+ * persistence **and** message-history persistence. When `false`, any
3992
+ * `storageAdapter` you configure is ignored and the default localStorage
3993
+ * adapter is not created — no chat history is read or written. Pass `true`
3994
+ * (or omit) to keep the default behavior of persisting messages via the
3995
+ * configured `storageAdapter` (or the built-in localStorage adapter).
3996
+ *
3885
3997
  * @example
3886
3998
  * ```typescript
3887
3999
  * // Simple usage - persist open state in sessionStorage
@@ -3904,6 +4016,14 @@ type AgentWidgetConfig = {
3904
4016
  * }
3905
4017
  * }
3906
4018
  * ```
4019
+ *
4020
+ * @example
4021
+ * ```typescript
4022
+ * // Ephemeral widget — no message history written anywhere
4023
+ * config: {
4024
+ * persistState: false
4025
+ * }
4026
+ * ```
3907
4027
  */
3908
4028
  persistState?: boolean | AgentWidgetPersistStateConfig;
3909
4029
  /**
@@ -5632,6 +5752,161 @@ interface DropdownMenuHandle {
5632
5752
  */
5633
5753
  declare function createDropdownMenu(options: CreateDropdownOptions): DropdownMenuHandle;
5634
5754
 
5755
+ /**
5756
+ * Curated registry of lucide icons available to `renderLucideIcon`.
5757
+ *
5758
+ * The widget used to do `import * as icons from "lucide"` and look up
5759
+ * icons dynamically by string. That defeated tree-shaking, so the IIFE
5760
+ * (CDN/script-tag) bundle shipped all 1640 lucide icons (~400KB of icon
5761
+ * data) regardless of which we actually used. This explicit registry
5762
+ * lets the bundler drop any icon not listed here.
5763
+ *
5764
+ * Trade-off: `renderLucideIcon(name)` is now a *closed set*. Names not
5765
+ * in this map return `null` and log a warning, exactly as a typo did
5766
+ * before. The registry is intentionally generous (~110 icons) so that
5767
+ * custom `ComponentRenderer` authors rarely hit a missing-icon dead end.
5768
+ *
5769
+ * To add icons: add a named import above and a row in `LUCIDE_ICONS`,
5770
+ * keyed by the lucide kebab-case name (matches their filename and
5771
+ * https://lucide.dev/icons).
5772
+ *
5773
+ * See `packages/widget/docs/icon-registry-shortlist.md` for the full
5774
+ * curation rationale and which icons were considered but excluded.
5775
+ */
5776
+ declare const LUCIDE_ICONS: {
5777
+ readonly activity: IconNode;
5778
+ readonly "arrow-down": IconNode;
5779
+ readonly "arrow-up": IconNode;
5780
+ readonly "arrow-up-right": IconNode;
5781
+ readonly bot: IconNode;
5782
+ readonly "chevron-down": IconNode;
5783
+ readonly "chevron-up": IconNode;
5784
+ readonly "chevron-right": IconNode;
5785
+ readonly "chevron-left": IconNode;
5786
+ readonly check: IconNode;
5787
+ readonly clipboard: IconNode;
5788
+ readonly "clipboard-copy": IconNode;
5789
+ readonly copy: IconNode;
5790
+ readonly file: IconNode;
5791
+ readonly "file-code": IconNode;
5792
+ readonly "file-spreadsheet": IconNode;
5793
+ readonly "file-text": IconNode;
5794
+ readonly "image-plus": IconNode;
5795
+ readonly loader: IconNode;
5796
+ readonly "loader-circle": IconNode;
5797
+ readonly mic: IconNode;
5798
+ readonly paperclip: IconNode;
5799
+ readonly "refresh-cw": IconNode;
5800
+ readonly search: IconNode;
5801
+ readonly send: IconNode;
5802
+ readonly "shield-alert": IconNode;
5803
+ readonly "shield-check": IconNode;
5804
+ readonly "shield-x": IconNode;
5805
+ readonly square: IconNode;
5806
+ readonly "thumbs-down": IconNode;
5807
+ readonly "thumbs-up": IconNode;
5808
+ readonly upload: IconNode;
5809
+ readonly "volume-2": IconNode;
5810
+ readonly x: IconNode;
5811
+ readonly user: IconNode;
5812
+ readonly mail: IconNode;
5813
+ readonly phone: IconNode;
5814
+ readonly calendar: IconNode;
5815
+ readonly clock: IconNode;
5816
+ readonly building: IconNode;
5817
+ readonly "map-pin": IconNode;
5818
+ readonly lock: IconNode;
5819
+ readonly key: IconNode;
5820
+ readonly "credit-card": IconNode;
5821
+ readonly "at-sign": IconNode;
5822
+ readonly hash: IconNode;
5823
+ readonly globe: IconNode;
5824
+ readonly link: IconNode;
5825
+ readonly "circle-check": IconNode;
5826
+ readonly "circle-x": IconNode;
5827
+ readonly "triangle-alert": IconNode;
5828
+ readonly info: IconNode;
5829
+ readonly ban: IconNode;
5830
+ readonly shield: IconNode;
5831
+ readonly "arrow-left": IconNode;
5832
+ readonly "arrow-right": IconNode;
5833
+ readonly "external-link": IconNode;
5834
+ readonly ellipsis: IconNode;
5835
+ readonly "ellipsis-vertical": IconNode;
5836
+ readonly menu: IconNode;
5837
+ readonly house: IconNode;
5838
+ readonly plus: IconNode;
5839
+ readonly minus: IconNode;
5840
+ readonly pencil: IconNode;
5841
+ readonly trash: IconNode;
5842
+ readonly "trash-2": IconNode;
5843
+ readonly save: IconNode;
5844
+ readonly download: IconNode;
5845
+ readonly share: IconNode;
5846
+ readonly funnel: IconNode;
5847
+ readonly settings: IconNode;
5848
+ readonly "rotate-cw": IconNode;
5849
+ readonly maximize: IconNode;
5850
+ readonly minimize: IconNode;
5851
+ readonly "shopping-cart": IconNode;
5852
+ readonly "shopping-bag": IconNode;
5853
+ readonly package: IconNode;
5854
+ readonly truck: IconNode;
5855
+ readonly tag: IconNode;
5856
+ readonly gift: IconNode;
5857
+ readonly receipt: IconNode;
5858
+ readonly wallet: IconNode;
5859
+ readonly store: IconNode;
5860
+ readonly "dollar-sign": IconNode;
5861
+ readonly percent: IconNode;
5862
+ readonly play: IconNode;
5863
+ readonly pause: IconNode;
5864
+ readonly "volume-x": IconNode;
5865
+ readonly camera: IconNode;
5866
+ readonly image: IconNode;
5867
+ readonly film: IconNode;
5868
+ readonly headphones: IconNode;
5869
+ readonly "message-circle": IconNode;
5870
+ readonly "message-square": IconNode;
5871
+ readonly bell: IconNode;
5872
+ readonly heart: IconNode;
5873
+ readonly star: IconNode;
5874
+ readonly eye: IconNode;
5875
+ readonly "eye-off": IconNode;
5876
+ readonly bookmark: IconNode;
5877
+ readonly "calendar-days": IconNode;
5878
+ readonly history: IconNode;
5879
+ readonly timer: IconNode;
5880
+ readonly folder: IconNode;
5881
+ readonly "folder-open": IconNode;
5882
+ readonly files: IconNode;
5883
+ readonly sparkles: IconNode;
5884
+ readonly zap: IconNode;
5885
+ readonly sun: IconNode;
5886
+ readonly moon: IconNode;
5887
+ readonly flag: IconNode;
5888
+ readonly monitor: IconNode;
5889
+ readonly smartphone: IconNode;
5890
+ };
5891
+ /**
5892
+ * Names of lucide icons that ship with the widget. Names not in this
5893
+ * union return `null` from `renderLucideIcon` (with a console warning).
5894
+ */
5895
+ type IconName = keyof typeof LUCIDE_ICONS;
5896
+ /**
5897
+ * Renders a lucide icon as an inline SVG element. Works inside Shadow
5898
+ * DOM and requires no CSS.
5899
+ *
5900
+ * @param iconName - A lucide kebab-case name from the registry. See
5901
+ * `IconName` for the full list, or `docs/icon-registry-shortlist.md`
5902
+ * for rationale.
5903
+ * @param size - The size in pixels (number) or any CSS length string.
5904
+ * @param color - Stroke color (default: "currentColor").
5905
+ * @param strokeWidth - Stroke width (default: 2).
5906
+ * @returns SVGElement, or null if the name is not in the registry.
5907
+ */
5908
+ declare const renderLucideIcon: (iconName: IconName | (string & {}), size?: number | string, color?: string, strokeWidth?: number) => SVGElement | null;
5909
+
5635
5910
  /** Options for {@link createIconButton}. */
5636
5911
  interface CreateIconButtonOptions {
5637
5912
  /** Lucide icon name (kebab-case, e.g. "eye", "chevron-down"). */
@@ -6343,8 +6618,10 @@ interface ComposerBuildContext {
6343
6618
  disabled?: boolean;
6344
6619
  }
6345
6620
  /**
6346
- * Build the composer/footer section of the panel.
6347
- * Extracted for reuse and plugin override support.
6621
+ * Build the full footer + composer form (column-stacked card layout) for
6622
+ * the floating, docked, and inline-embed launcher modes. The pill variant
6623
+ * for `mountMode: "composer-bar"` lives in `pill-composer-builder.ts` and
6624
+ * shares the same low-level part factories from `composer-parts.ts`.
6348
6625
  */
6349
6626
  declare const buildComposer: (context: ComposerBuildContext) => ComposerElements;
6350
6627
 
@@ -6383,4 +6660,4 @@ declare function createVoiceProvider(config: VoiceConfig): VoiceProvider;
6383
6660
  declare function createBestAvailableVoiceProvider(config?: Partial<VoiceConfig>): VoiceProvider;
6384
6661
  declare function isVoiceSupported(config?: Partial<VoiceConfig>): boolean;
6385
6662
 
6386
- export { ASK_USER_QUESTION_TOOL_NAME, type AgentConfig, type AgentExecutionState, type AgentLoopConfig, type AgentMessageMetadata, type AgentRequestOptions, type AgentToolsConfig, type AgentWidgetAgentRequestPayload, type AgentWidgetApproval, type AgentWidgetApprovalConfig, type AgentWidgetArtifactsFeature, type AgentWidgetArtifactsLayoutConfig, type AgentWidgetAskUserQuestionFeature, type AgentWidgetAskUserQuestionStyles, type AgentWidgetAttachmentsConfig, type AgentWidgetAvatarConfig, AgentWidgetClient, type AgentWidgetComposerConfig, type AgentWidgetConfig, type AgentWidgetController, type AgentWidgetControllerEventMap, type AgentWidgetCustomFetch, type AgentWidgetDockConfig, type AgentWidgetEvent, type AgentWidgetFeatureFlags, type AgentWidgetHeaderLayoutConfig, type AgentWidgetHeadersFunction, type AgentWidgetInitHandle, type AgentWidgetInitOptions, type AgentWidgetLauncherConfig, type AgentWidgetLayoutConfig, type AgentWidgetLoadingIndicatorConfig, type AgentWidgetMarkdownConfig, type AgentWidgetMarkdownOptions, type AgentWidgetMarkdownRendererOverrides, type AgentWidgetMessage, type AgentWidgetMessageActionsConfig, type AgentWidgetMessageFeedback, type AgentWidgetMessageLayoutConfig, type AgentWidgetPlugin, type AgentWidgetRequestPayload, type AgentWidgetSSEEventParser, type AgentWidgetSSEEventResult, AgentWidgetSession, type AgentWidgetSessionStatus, type AgentWidgetStreamAnimationBuffer, type AgentWidgetStreamAnimationBuiltinType, type AgentWidgetStreamAnimationFeature, type AgentWidgetStreamAnimationPlaceholder, type AgentWidgetStreamAnimationType, type AgentWidgetStreamParser, type AgentWidgetStreamParserResult, type AgentWidgetTimestampConfig, type ArtifactConfigPayload, type ArtifactPaneTokens, type ArtifactTabTokens, type ArtifactToolbarTokens, type AskUserQuestionOption, type AskUserQuestionPayload, type AskUserQuestionPrompt, AttachmentManager, type AttachmentManagerConfig, type BorderScale, type CSATFeedbackOptions, type ClientChatRequest, type ClientFeedbackRequest, type ClientFeedbackType, type ClientInitResponse, type ClientSession, type CodeFormat, type CodeGeneratorHooks, type CodeGeneratorOptions, type ColorPalette, type ColorShade, type ComboButtonHandle, type ComponentContext, type ComponentDirective, type ComponentRenderer, type ComponentTokens, type ComposerBuildContext, type ComposerElements, type ContentPart, type CreateComboButtonOptions, type CreateDropdownOptions, type CreateIconButtonOptions, type CreateLabelButtonOptions, type CreateStandardBubbleOptions, type CreateThemeOptions, type CreateToggleGroupOptions, DEFAULT_COMPONENTS, DEFAULT_FLOATING_LAUNCHER_MAX_WIDTH, DEFAULT_FLOATING_LAUNCHER_WIDTH, DEFAULT_PALETTE, DEFAULT_SEMANTIC, DEFAULT_WIDGET_CONFIG, type DeepPartial, type DemoCarouselHandle, type DemoCarouselItem, type DemoCarouselOptions, type DomContextMode, type DomContextOptions, type DropdownMenuHandle, type DropdownMenuItem, type EnrichedPageElement, type EventStreamBadgeColor, type EventStreamConfig, type EventStreamPayloadRenderContext, type EventStreamRowRenderContext, type EventStreamToolbarRenderContext, type EventStreamViewRenderContext, type FormatEnrichedContextOptions, type HeaderBuildContext, type HeaderElements, type HeaderLayoutContext, type HeaderLayoutRenderer, type HeaderRenderContext, type IconButtonTokens, type IdleIndicatorRenderContext, type ImageContentPart, type InjectAssistantMessageOptions, type InjectMessageOptions, type InjectSystemMessageOptions, type InjectUserMessageOptions, type LabelButtonTokens, type LoadingIndicatorRenderContext, type LoadingIndicatorRenderer, type MarkdownProcessorOptions, type MessageActionCallbacks, type MessageContent, type MessageRenderContext, type MessageTransform, type NPSFeedbackOptions, PRESETS, PRESET_FULLSCREEN, PRESET_MINIMAL, PRESET_SHOP, type ParseOptionsConfig, type ParseRule, type PendingAttachment, type PersonaArtifactKind, type PersonaArtifactManualUpsert, type PersonaArtifactRecord, type PersonaTheme, type PersonaThemePlugin, type RadiusScale, type RuleScoringContext, type SSEEventCallback, type SSEEventRecord, type SanitizeFunction, type SemanticColors, type SemanticSpacing, type SemanticTypography, type ShadowScale, type SlotRenderContext, type SlotRenderer, type SpacingScale, type StreamAnimationContext, type StreamAnimationPlugin, THEME_ZONES, type TextContentPart, type ThemeValidationError, type ThemeValidationResult, type ThemeZone, type ToggleGroupHandle, type ToggleGroupItem, type ToggleGroupTokens, type TokenReference, type TypographyScale, VERSION, type VoiceConfig, type VoiceProvider, type VoiceResult, type VoiceStatus, type WidgetHostLayout, type WidgetHostLayoutMode, type WidgetLayoutSlot, type WidgetPreset, accessibilityPlugin, animationsPlugin, applyThemeVariables, attachHeaderToContainer, brandPlugin, buildComposer, buildDefaultHeader, buildHeader, buildHeaderWithLayout, buildMinimalHeader, collectEnrichedPageContext, componentRegistry, createActionManager, createAgentExperience, createAskUserQuestionBubble, createBestAvailableVoiceProvider, createBubbleWithLayout, createCSATFeedback, createComboButton, createComponentMiddleware, createComponentStreamParser, createDefaultSanitizer, createDemoCarousel, createDirectivePostprocessor, createDropdownMenu, createFlexibleJsonStreamParser, createIconButton, createImagePart, createJsonStreamParser, createLabelButton, createLocalStorageAdapter, createMarkdownProcessor, createMarkdownProcessorFromConfig, createMessageActions, createNPSFeedback, createPlainTextParser, createPlugin, createRegexJsonParser, createStandardBubble, createTextPart, createTheme, createThemeObserver, createToggleGroup, createTypingIndicator, createVoiceProvider, createWidgetHostLayout, createXmlParser, initAgentWidget as default, defaultActionHandlers, defaultJsonActionParser, defaultParseRules, detectColorScheme, directivePostprocessor, ensureAskUserQuestionSheet, escapeHtml, extractComponentDirectiveFromMessage, fileToImagePart, formatEnrichedContext, generateAssistantMessageId, generateCodeSnippet, generateMessageId, generateStableSelector, generateUserMessageId, getActiveTheme, getColorScheme, getDisplayText, getHeaderLayout, getImageParts, getPreset, hasComponentDirective, hasImages, headerLayouts, highContrastPlugin, initAgentWidget, isAskUserQuestionMessage, isComponentDirectiveType, isDockedMountMode, isVoiceSupported, listRegisteredStreamAnimations, markdownPostprocessor, mergeWithDefaults, normalizeContent, parseAskUserQuestionPayload, pluginRegistry, reducedMotionPlugin, registerStreamAnimationPlugin, removeAskUserQuestionSheet, renderComponentDirective, renderLoadingIndicatorWithFallback, resolveDockConfig, resolveSanitizer, resolveTokens, themeToCssVariables, unregisterStreamAnimationPlugin, validateImageFile, validateTheme };
6663
+ export { ASK_USER_QUESTION_TOOL_NAME, type AgentConfig, type AgentExecutionState, type AgentLoopConfig, type AgentMessageMetadata, type AgentRequestOptions, type AgentToolsConfig, type AgentWidgetAgentRequestPayload, type AgentWidgetApproval, type AgentWidgetApprovalConfig, type AgentWidgetArtifactsFeature, type AgentWidgetArtifactsLayoutConfig, type AgentWidgetAskUserQuestionFeature, type AgentWidgetAskUserQuestionStyles, type AgentWidgetAttachmentsConfig, type AgentWidgetAvatarConfig, AgentWidgetClient, type AgentWidgetComposerConfig, type AgentWidgetConfig, type AgentWidgetController, type AgentWidgetControllerEventMap, type AgentWidgetCustomFetch, type AgentWidgetDockConfig, type AgentWidgetEvent, type AgentWidgetFeatureFlags, type AgentWidgetHeaderLayoutConfig, type AgentWidgetHeadersFunction, type AgentWidgetInitHandle, type AgentWidgetInitOptions, type AgentWidgetLauncherConfig, type AgentWidgetLayoutConfig, type AgentWidgetLoadingIndicatorConfig, type AgentWidgetMarkdownConfig, type AgentWidgetMarkdownOptions, type AgentWidgetMarkdownRendererOverrides, type AgentWidgetMessage, type AgentWidgetMessageActionsConfig, type AgentWidgetMessageFeedback, type AgentWidgetMessageLayoutConfig, type AgentWidgetPlugin, type AgentWidgetRequestPayload, type AgentWidgetSSEEventParser, type AgentWidgetSSEEventResult, AgentWidgetSession, type AgentWidgetSessionStatus, type AgentWidgetStreamAnimationBuffer, type AgentWidgetStreamAnimationBuiltinType, type AgentWidgetStreamAnimationFeature, type AgentWidgetStreamAnimationPlaceholder, type AgentWidgetStreamAnimationType, type AgentWidgetStreamParser, type AgentWidgetStreamParserResult, type AgentWidgetTimestampConfig, type ArtifactConfigPayload, type ArtifactPaneTokens, type ArtifactTabTokens, type ArtifactToolbarTokens, type AskUserQuestionOption, type AskUserQuestionPayload, type AskUserQuestionPrompt, AttachmentManager, type AttachmentManagerConfig, type BorderScale, type CSATFeedbackOptions, type ClientChatRequest, type ClientFeedbackRequest, type ClientFeedbackType, type ClientInitResponse, type ClientSession, type CodeFormat, type CodeGeneratorHooks, type CodeGeneratorOptions, type ColorPalette, type ColorShade, type ComboButtonHandle, type ComponentContext, type ComponentDirective, type ComponentRenderer, type ComponentTokens, type ComposerBuildContext, type ComposerElements, type ContentPart, type CreateComboButtonOptions, type CreateDropdownOptions, type CreateIconButtonOptions, type CreateLabelButtonOptions, type CreateStandardBubbleOptions, type CreateThemeOptions, type CreateToggleGroupOptions, DEFAULT_COMPONENTS, DEFAULT_FLOATING_LAUNCHER_MAX_WIDTH, DEFAULT_FLOATING_LAUNCHER_WIDTH, DEFAULT_PALETTE, DEFAULT_SEMANTIC, DEFAULT_WIDGET_CONFIG, type DeepPartial, type DemoCarouselHandle, type DemoCarouselItem, type DemoCarouselOptions, type DomContextMode, type DomContextOptions, type DropdownMenuHandle, type DropdownMenuItem, type EnrichedPageElement, type EventStreamBadgeColor, type EventStreamConfig, type EventStreamPayloadRenderContext, type EventStreamRowRenderContext, type EventStreamToolbarRenderContext, type EventStreamViewRenderContext, type FormatEnrichedContextOptions, type HeaderBuildContext, type HeaderElements, type HeaderLayoutContext, type HeaderLayoutRenderer, type HeaderRenderContext, type IconButtonTokens, type IconName, type IdleIndicatorRenderContext, type ImageContentPart, type InjectAssistantMessageOptions, type InjectMessageOptions, type InjectSystemMessageOptions, type InjectUserMessageOptions, type LabelButtonTokens, type LoadingIndicatorRenderContext, type LoadingIndicatorRenderer, type MarkdownProcessorOptions, type MessageActionCallbacks, type MessageContent, type MessageRenderContext, type MessageTransform, type NPSFeedbackOptions, PRESETS, PRESET_FULLSCREEN, PRESET_MINIMAL, PRESET_SHOP, type ParseOptionsConfig, type ParseRule, type PendingAttachment, type PersonaArtifactKind, type PersonaArtifactManualUpsert, type PersonaArtifactRecord, type PersonaTheme, type PersonaThemePlugin, type RadiusScale, type RuleScoringContext, type SSEEventCallback, type SSEEventRecord, type SanitizeFunction, type SemanticColors, type SemanticSpacing, type SemanticTypography, type ShadowScale, type SlotRenderContext, type SlotRenderer, type SpacingScale, type StreamAnimationContext, type StreamAnimationPlugin, THEME_ZONES, type TextContentPart, type ThemeValidationError, type ThemeValidationResult, type ThemeZone, type ToggleGroupHandle, type ToggleGroupItem, type ToggleGroupTokens, type TokenReference, type TypographyScale, VERSION, type VoiceConfig, type VoiceProvider, type VoiceResult, type VoiceStatus, type WidgetHostLayout, type WidgetHostLayoutMode, type WidgetLayoutSlot, type WidgetPreset, accessibilityPlugin, animationsPlugin, applyThemeVariables, attachHeaderToContainer, brandPlugin, buildComposer, buildDefaultHeader, buildHeader, buildHeaderWithLayout, buildMinimalHeader, collectEnrichedPageContext, componentRegistry, createActionManager, createAgentExperience, createAskUserQuestionBubble, createBestAvailableVoiceProvider, createBubbleWithLayout, createCSATFeedback, createComboButton, createComponentMiddleware, createComponentStreamParser, createDefaultSanitizer, createDemoCarousel, createDirectivePostprocessor, createDropdownMenu, createFlexibleJsonStreamParser, createIconButton, createImagePart, createJsonStreamParser, createLabelButton, createLocalStorageAdapter, createMarkdownProcessor, createMarkdownProcessorFromConfig, createMessageActions, createNPSFeedback, createPlainTextParser, createPlugin, createRegexJsonParser, createStandardBubble, createTextPart, createTheme, createThemeObserver, createToggleGroup, createTypingIndicator, createVoiceProvider, createWidgetHostLayout, createXmlParser, initAgentWidget as default, defaultActionHandlers, defaultJsonActionParser, defaultParseRules, detectColorScheme, directivePostprocessor, ensureAskUserQuestionSheet, escapeHtml, extractComponentDirectiveFromMessage, fileToImagePart, formatEnrichedContext, generateAssistantMessageId, generateCodeSnippet, generateMessageId, generateStableSelector, generateUserMessageId, getActiveTheme, getColorScheme, getDisplayText, getHeaderLayout, getImageParts, getPreset, hasComponentDirective, hasImages, headerLayouts, highContrastPlugin, initAgentWidget, isAskUserQuestionMessage, isComponentDirectiveType, isDockedMountMode, isVoiceSupported, listRegisteredStreamAnimations, markdownPostprocessor, mergeWithDefaults, normalizeContent, parseAskUserQuestionPayload, pluginRegistry, reducedMotionPlugin, registerStreamAnimationPlugin, removeAskUserQuestionSheet, renderComponentDirective, renderLoadingIndicatorWithFallback, renderLucideIcon, resolveDockConfig, resolveSanitizer, resolveTokens, themeToCssVariables, unregisterStreamAnimationPlugin, validateImageFile, validateTheme };