@flamingo-stack/openframe-frontend-core 0.0.207 → 0.0.208

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 (132) hide show
  1. package/dist/{chunk-Z3GQGR5E.js → chunk-2HMZSCJY.js} +3158 -2074
  2. package/dist/chunk-2HMZSCJY.js.map +1 -0
  3. package/dist/chunk-4XLJWX2N.js +12 -0
  4. package/dist/chunk-4XLJWX2N.js.map +1 -0
  5. package/dist/{chunk-APM6KBPU.cjs → chunk-C5EC5AZM.cjs} +1644 -560
  6. package/dist/chunk-C5EC5AZM.cjs.map +1 -0
  7. package/dist/chunk-VFKQMAUF.cjs +12 -0
  8. package/dist/chunk-VFKQMAUF.cjs.map +1 -0
  9. package/dist/components/chat/embeddable-chat.d.ts +35 -2
  10. package/dist/components/chat/embeddable-chat.d.ts.map +1 -1
  11. package/dist/components/chat/hooks/index.d.ts +3 -0
  12. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  13. package/dist/components/chat/hooks/use-embedded-chat.d.ts +10 -169
  14. package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +1 -1
  15. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts +85 -0
  16. package/dist/components/chat/hooks/use-nats-chat-adapter.d.ts.map +1 -0
  17. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts +124 -0
  18. package/dist/components/chat/hooks/use-sse-chat-adapter.d.ts.map +1 -0
  19. package/dist/components/chat/hooks/use-unified-chat.d.ts +33 -0
  20. package/dist/components/chat/hooks/use-unified-chat.d.ts.map +1 -0
  21. package/dist/components/chat/index.cjs +8 -2
  22. package/dist/components/chat/index.cjs.map +1 -1
  23. package/dist/components/chat/index.js +11 -5
  24. package/dist/components/chat/types/index.d.ts +1 -0
  25. package/dist/components/chat/types/index.d.ts.map +1 -1
  26. package/dist/components/chat/types/unified-chat-state.types.d.ts +185 -0
  27. package/dist/components/chat/types/unified-chat-state.types.d.ts.map +1 -0
  28. package/dist/components/features/index.cjs +3 -2
  29. package/dist/components/features/index.cjs.map +1 -1
  30. package/dist/components/features/index.js +2 -1
  31. package/dist/components/index.cjs +26 -2
  32. package/dist/components/index.cjs.map +1 -1
  33. package/dist/components/index.d.ts +4 -0
  34. package/dist/components/index.d.ts.map +1 -1
  35. package/dist/components/index.js +27 -3
  36. package/dist/components/navigation/index.cjs +3 -2
  37. package/dist/components/navigation/index.cjs.map +1 -1
  38. package/dist/components/navigation/index.js +2 -1
  39. package/dist/components/shared/delivery/delivery-lists.d.ts +16 -0
  40. package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -0
  41. package/dist/components/shared/delivery/delivery-table.d.ts +12 -0
  42. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -0
  43. package/dist/components/shared/delivery/index.d.ts +3 -0
  44. package/dist/components/shared/delivery/index.d.ts.map +1 -0
  45. package/dist/components/shared/dev-section/dev-section-page.d.ts +31 -0
  46. package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -0
  47. package/dist/components/shared/dev-section/dev-section-view.d.ts +34 -0
  48. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -0
  49. package/dist/components/shared/dev-section/index.d.ts +3 -0
  50. package/dist/components/shared/dev-section/index.d.ts.map +1 -0
  51. package/dist/components/shared/legal-document/index.d.ts +10 -0
  52. package/dist/components/shared/legal-document/index.d.ts.map +1 -0
  53. package/dist/components/shared/legal-document/legal-document-page.d.ts +66 -0
  54. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -0
  55. package/dist/components/shared/legal-document/use-legal-docs.d.ts +40 -0
  56. package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -0
  57. package/dist/components/shared/product-release/index.d.ts +2 -1
  58. package/dist/components/shared/product-release/index.d.ts.map +1 -1
  59. package/dist/components/shared/product-release/release-detail-page.d.ts +11 -7
  60. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  61. package/dist/components/shared/roadmap/index.d.ts +18 -0
  62. package/dist/components/shared/roadmap/index.d.ts.map +1 -0
  63. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +24 -0
  64. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -0
  65. package/dist/components/shared/roadmap/roadmap-grid.d.ts +18 -0
  66. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -0
  67. package/dist/components/shared/roadmap/use-roadmap-voting.d.ts +25 -0
  68. package/dist/components/shared/roadmap/use-roadmap-voting.d.ts.map +1 -0
  69. package/dist/components/ui/index.cjs +8 -2
  70. package/dist/components/ui/index.cjs.map +1 -1
  71. package/dist/components/ui/index.js +11 -5
  72. package/dist/components/ui/release-changelog-section.d.ts +13 -2
  73. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  74. package/dist/embed-shims/index.cjs +1 -6
  75. package/dist/embed-shims/index.cjs.map +1 -1
  76. package/dist/embed-shims/index.js +1 -6
  77. package/dist/embed-shims/index.js.map +1 -1
  78. package/dist/index.cjs +18 -2
  79. package/dist/index.cjs.map +1 -1
  80. package/dist/index.js +19 -3
  81. package/dist/types/delivery.d.ts +49 -0
  82. package/dist/types/delivery.d.ts.map +1 -0
  83. package/dist/types/index.cjs +13 -0
  84. package/dist/types/index.cjs.map +1 -1
  85. package/dist/types/index.d.ts +1 -0
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/dist/types/index.js +12 -1
  88. package/dist/types/index.js.map +1 -1
  89. package/dist/utils/dev-sections/index.d.ts +11 -0
  90. package/dist/utils/dev-sections/index.d.ts.map +1 -0
  91. package/dist/utils/dev-sections/openframe-dev-sections.d.ts +209 -0
  92. package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -0
  93. package/dist/utils/index.cjs +82 -0
  94. package/dist/utils/index.cjs.map +1 -1
  95. package/dist/utils/index.d.ts +1 -0
  96. package/dist/utils/index.d.ts.map +1 -1
  97. package/dist/utils/index.js +81 -2
  98. package/dist/utils/index.js.map +1 -1
  99. package/package.json +1 -1
  100. package/src/components/chat/embeddable-chat.tsx +123 -8
  101. package/src/components/chat/hooks/index.ts +9 -2
  102. package/src/components/chat/hooks/use-embedded-chat.ts +18 -1016
  103. package/src/components/chat/hooks/use-nats-chat-adapter.ts +372 -0
  104. package/src/components/chat/hooks/use-sse-chat-adapter.ts +1058 -0
  105. package/src/components/chat/hooks/use-unified-chat.ts +171 -0
  106. package/src/components/chat/types/index.ts +1 -0
  107. package/src/components/chat/types/unified-chat-state.types.ts +215 -0
  108. package/src/components/index.ts +8 -0
  109. package/src/components/shared/delivery/delivery-lists.tsx +199 -0
  110. package/src/components/shared/delivery/delivery-table.tsx +174 -0
  111. package/src/components/shared/delivery/index.ts +9 -0
  112. package/src/components/shared/dev-section/dev-section-page.tsx +72 -0
  113. package/src/components/shared/dev-section/dev-section-view.tsx +129 -0
  114. package/src/components/shared/dev-section/index.ts +2 -0
  115. package/src/components/shared/legal-document/index.ts +19 -0
  116. package/src/components/shared/legal-document/legal-document-page.tsx +178 -0
  117. package/src/components/shared/legal-document/use-legal-docs.ts +123 -0
  118. package/src/components/shared/product-release/index.ts +14 -3
  119. package/src/components/shared/product-release/release-detail-page.tsx +45 -7
  120. package/src/components/shared/roadmap/index.ts +23 -0
  121. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +74 -0
  122. package/src/components/shared/roadmap/roadmap-grid.tsx +106 -0
  123. package/src/components/shared/roadmap/use-roadmap-voting.ts +163 -0
  124. package/src/components/ui/release-changelog-section.tsx +113 -32
  125. package/src/stories/EmbeddableChat.stories.tsx +186 -0
  126. package/src/types/delivery.ts +54 -0
  127. package/src/types/index.ts +1 -0
  128. package/src/utils/dev-sections/index.ts +17 -0
  129. package/src/utils/dev-sections/openframe-dev-sections.ts +148 -0
  130. package/src/utils/index.ts +6 -1
  131. package/dist/chunk-APM6KBPU.cjs.map +0 -1
  132. package/dist/chunk-Z3GQGR5E.js.map +0 -1
@@ -0,0 +1,12 @@
1
+ "use strict";"use client";
2
+
3
+
4
+ var _chunkG7UE6RKVcjs = require('./chunk-G7UE6RKV.cjs');
5
+
6
+
7
+ var _chunkWBR7H6E3cjs = require('./chunk-WBR7H6E3.cjs');
8
+
9
+ // src/embed-shims/index.ts
10
+ _chunkWBR7H6E3cjs.init_next_link.call(void 0, );
11
+ _chunkG7UE6RKVcjs.init_next_navigation.call(void 0, );
12
+ //# sourceMappingURL=chunk-VFKQMAUF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-VFKQMAUF.cjs","../src/embed-shims/index.ts"],"names":[],"mappings":"AAAA,yBAAY;AACZ;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACmBA,8CAAA,CAAA;AAEA,oDAAA,CAAA","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-VFKQMAUF.cjs","sourcesContent":[null,"/**\n * Barrel for the `embed-shims/` shims.\n *\n * Each shim is environment-aware: by default it renders a plain HTML\n * equivalent so non-Next hosts (Vite, CRA, esbuild) work out of the\n * box. Next.js hosts opt into the REAL Next primitives by calling the\n * `register*` functions ONCE at app init — see each shim's docblock\n * for the host wiring snippet. After registration, every lib component\n * that renders through these shims delegates to the real Next impl\n * (Image Optimization, client-router prefetching, full app-router\n * navigation, etc.) without further config.\n *\n * Lib internals import each shim directly via its relative path\n * (`../embed-shims/next-link`). Hub and external consumers import\n * through this barrel:\n *\n * import { Link, Image, dynamic, useRouter, usePathname } from\n * '@flamingo-stack/openframe-frontend-core/embed-shims'\n *\n * Or per-shim:\n *\n * import Link from '@flamingo-stack/openframe-frontend-core/embed-shims/next-link'\n * import Image from '@flamingo-stack/openframe-frontend-core/embed-shims/next-image'\n *\n * Companion to the docblocks on each individual shim file.\n */\nexport { default as Image, registerImage } from './next-image'\nexport { default as Link, registerLink } from './next-link'\nexport { default as dynamic, registerDynamic } from './next-dynamic'\nexport {\n useRouter,\n usePathname,\n useSearchParams,\n useParams,\n redirect,\n permanentRedirect,\n notFound,\n RedirectType,\n ServerInsertedHTMLContext,\n registerNavigation,\n type NavigationImpl,\n} from './next-navigation'\n"]}
@@ -1,4 +1,5 @@
1
1
  import type { ChatCardDispatchExtras } from './entity-cards/dispatch';
2
+ import { type ChatMode, type UseUnifiedChatModes } from './hooks/use-unified-chat';
2
3
  export interface EmbeddableChatProps {
3
4
  /** Base route for in-app doc chip nav (e.g. `/knowledge-base`). When
4
5
  * omitted, defaults are derived from `runtime.source`. */
@@ -29,10 +30,42 @@ export interface EmbeddableChatProps {
29
30
  * (programs + product_release). Forwarded straight to
30
31
  * `renderChatInlineEntityCard`. */
31
32
  extras?: ChatCardDispatchExtras;
32
- /** Optional callback used by `useEmbeddedChat`'s `displayRef` /
33
+ /** Optional callback used by `useSseChatAdapter`'s `displayRef` /
33
34
  * `discussRef` flow to translate an LLM document type into the
34
- * registry table id for entity-id-filtered retrieval. */
35
+ * registry table id for entity-id-filtered retrieval.
36
+ *
37
+ * Legacy top-level form. The new shape is `modes.guide.tableIdForDocumentType`.
38
+ * When both are present, `modes` wins. */
35
39
  tableIdForDocumentType?: (documentType: string) => string | null;
40
+ /**
41
+ * Per-mode transport configuration. When omitted, the component
42
+ * falls back to legacy guide-only behaviour synthesised from the
43
+ * top-level `tableIdForDocumentType` prop — multi-platform-hub and
44
+ * any other existing consumer keep working with zero changes.
45
+ *
46
+ * When provided, this is the canonical way to wire chat transports:
47
+ *
48
+ * - `modes.guide` → SSE/Guide adapter options (RAG retrieval, hub).
49
+ * - `modes.mingo` → NATS/Mingo adapter config (agent, openframe).
50
+ *
51
+ * Configuring both modes makes the in-panel mode toggle appear so
52
+ * the user can flip between Guide and Mingo without losing either
53
+ * history (each mode keeps its own local thread).
54
+ */
55
+ modes?: UseUnifiedChatModes;
56
+ /**
57
+ * Controlled active-mode. When provided, `onActiveModeChange` MUST
58
+ * also be provided. For uncontrolled use see `defaultActiveMode`.
59
+ */
60
+ activeMode?: ChatMode;
61
+ /** Controlled active-mode change handler. Required when `activeMode` is set. */
62
+ onActiveModeChange?: (mode: ChatMode) => void;
63
+ /**
64
+ * Initial active mode for uncontrolled mode. Ignored when `activeMode`
65
+ * is set. Defaults to `'guide'` when `modes.guide` is configured,
66
+ * else `'mingo'`.
67
+ */
68
+ defaultActiveMode?: ChatMode;
36
69
  }
37
70
  /**
38
71
  * EmbeddableChat — the floating "Ask AI" button + Mingo chat panel.
@@ -1 +1 @@
1
- {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAoCrE,MAAM,WAAW,mBAAmB;IAClC;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;4DAGwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;oCAEgC;IAChC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACjD,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC/C;yDACqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wEAAwE;IACxE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;wCAEoC;IACpC,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B;;8DAE0D;IAC1D,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CACjE;AA6VD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAExD"}
1
+ {"version":3,"file":"embeddable-chat.d.ts","sourceRoot":"","sources":["../../../src/components/chat/embeddable-chat.tsx"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAA;AAkCjC,MAAM,WAAW,mBAAmB;IAClC;+DAC2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;4DAGwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;oCAEgC;IAChC,kBAAkB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IACjD,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;IAC/C;yDACqD;IACrD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,wEAAwE;IACxE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B;;wCAEoC;IACpC,MAAM,CAAC,EAAE,sBAAsB,CAAA;IAC/B;;;;;+CAK2C;IAC3C,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IAEhE;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAA;IAErB,gFAAgF;IAChF,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IAE7C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,QAAQ,CAAA;CAC7B;AA6VD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAExD"}
@@ -11,6 +11,9 @@ export * from './use-chat-card-item';
11
11
  export * from './use-close-on-navigation';
12
12
  export * from './use-chat';
13
13
  export * from './use-sse';
14
+ export * from './use-sse-chat-adapter';
15
+ export * from './use-nats-chat-adapter';
16
+ export * from './use-unified-chat';
14
17
  export * from './use-embedded-chat';
15
18
  export * from './use-proxied-image-url';
16
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAG9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AAMzC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AAMnC,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAG9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AAKzC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAMzB,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AAMnC,cAAc,yBAAyB,CAAA"}
@@ -1,174 +1,15 @@
1
- import { type StreamFnExtraOptions } from './use-chat';
2
- import type { ChatRef } from '../chat-ref.types';
3
- import type { MessageSegment } from '../types/message.types';
4
- import { type ScrollAnchor } from '../utils/scroll-anchor';
5
- /** Source identifier — opaque string ID (registry lookup happens in the
6
- * hub-side platform-utils, not in lib). */
7
- export type DocSource = string;
8
- export interface ChatSource {
9
- index: number;
10
- name: string;
11
- path: string;
12
- documentType: string;
13
- externalUrl?: string;
14
- /** Platform that owns the destination at `externalUrl`. */
15
- targetPlatform?: string | null;
16
- /** Primary-key value for single-row chips. */
17
- id?: string;
18
- /** Per-row items for grouped chips. */
19
- items?: Array<{
20
- id: string;
21
- documentType: string;
22
- name: string;
23
- externalUrl?: string;
24
- targetPlatform?: string | null;
25
- /** In-app doc-tree path for markdown / data-room-doc rows so the
26
- * grouped chip's anchor can trigger an in-page doc-tree swap via
27
- * `handleChatNavClick` (parity with single-row chips + cards). */
28
- path?: string | null;
29
- }>;
30
- /** RagTableConfig.id for this source. */
31
- sourceRepo?: string;
32
- /** Optional display label override returned by the chat API. */
33
- label?: string;
34
- }
35
- export interface DocChatMessage {
36
- id: string;
37
- role: 'user' | 'assistant';
38
- /** String form for legacy callers that just want the answer text; structured
39
- * segments include thinking blocks too, which the lib's
40
- * ChatMessageEnhanced renders as <ThinkingDisplay> cards. */
41
- content: string;
42
- /** Structured segments. When set, callers should prefer this over `content`. */
43
- segments?: MessageSegment[];
44
- sources?: ChatSource[];
45
- /** Per-row refs for inline object-card rendering. Keyed by
46
- * `<documentType>:<primaryKey>`. Populated for assistant messages only. */
47
- chatRefs?: Record<string, ChatRef>;
48
- /** Per-message viewport-positioning hint emitted by the server. */
49
- scrollAnchor?: ScrollAnchor;
50
- /** When true the message is part of the conversation history but is
51
- * NOT rendered in the chat UI. */
52
- hidden?: boolean;
53
- }
54
- /** Streaming phase exposed to the chat shell so it can render a "Thinking with
55
- * Sonnet 4.6 · 200K context window" status row above the input box.
56
- * - 'idle' → no in-flight turn
57
- * - 'thinking' → server emitted the leading {status:'thinking'} frame; no
58
- * text token has arrived yet (adaptive-thinking phase)
59
- * - 'streaming' → first text token has arrived; model is generating answer */
60
- export type StreamingPhase = 'idle' | 'thinking' | 'streaming';
61
- /** Per-turn metadata extracted from the streamed metadata frame. */
62
- export interface ChatTurnMeta {
63
- /** Provider key recognized by `<ModelDisplay>` for icon
64
- * selection: 'anthropic' | 'openai' | 'google' (case-insensitive). */
65
- provider: string | null;
66
- modelLabel: string | null;
67
- contextWindowMaxTokens: number | null;
68
- /** Input tokens (from message_start). Includes cached tokens. */
69
- inputTokens: number | null;
70
- /** Output tokens (from message_delta). Only known after stream end. */
71
- outputTokens: number | null;
72
- /** Cache hit % (read / total-input × 100). Only known after stream end. */
73
- cacheHitRatePct: number | null;
74
- /** Cross-call usage breakdown extracted from the trailing usage frame. */
75
- breakdown: {
76
- haikuRewriter?: {
77
- input: number;
78
- output: number;
79
- };
80
- haikuClassifier?: {
81
- input: number;
82
- output: number;
83
- };
84
- haikuSummarizer?: {
85
- input: number;
86
- output: number;
87
- };
88
- routedAnswer?: {
89
- model: string;
90
- complexity: string;
91
- thinkingBudget: number;
92
- };
93
- } | null;
94
- /** Per-message viewport-positioning hint. */
95
- scrollAnchor: ScrollAnchor | null;
96
- /** Routing decision from the server's `decideRoute`. */
97
- routedComplexity: string | null;
98
- routedThinkingBudget: number | null;
99
- }
100
1
  /**
101
- * Optional dependency-injection options for `useEmbeddedChat`.
2
+ * Backward-compatibility shim.
102
3
  *
103
- * - `tableIdForDocumentType` looks up the RagTableConfig.id for an
104
- * LLM document type. Used by `displayRef` + `discussRef` to translate
105
- * an inline-card click into a server-side entity-id filter.
4
+ * The canonical SSE/Guide-mode chat adapter has been renamed to
5
+ * `useSseChatAdapter` and moved to `./use-sse-chat-adapter`. This module
6
+ * re-exports it under the legacy `useEmbeddedChat` name plus the legacy
7
+ * options type, so external consumers and barrel imports keep working
8
+ * without churn.
106
9
  *
107
- * **Defaults to `defaultTableIdForDocumentType` from
108
- * `src/utils/source-icons.ts`** a lib-baked map covering every
109
- * documentType currently registered in the hub's RAG_TABLE_CONFIGS.
110
- * This makes Ask / Display work out of the box in embedders without
111
- * any callback wiring.
112
- *
113
- * Override only when you have polymorphic / per-tenant document
114
- * types that map to a different tableId than the default
115
- * (hub-canonical) registry — pass your own `(docType) => tableId`
116
- * callback and it wins over the default.
117
- */
118
- export interface UseEmbeddedChatOptions {
119
- tableIdForDocumentType?: (documentType: string) => string | null;
120
- }
121
- /**
122
- * Stream-driven AI chat hook. Returns the message list, send/stop/clear
123
- * controls, and per-turn metadata (model name, token counts, routing
124
- * decision) the lib's `<ChatContainer>` consumes.
125
- *
126
- * Source identity comes from `useRequiredChatRuntime().source` — no
127
- * parameter. Throws if `runtime.source` is empty.
10
+ * Internal lib code should import directly from `./use-sse-chat-adapter`.
11
+ * This shim will be removed once all external consumers migrate to the
12
+ * unified `useChat({ mode })` entry point.
128
13
  */
129
- export declare function useEmbeddedChat(options?: UseEmbeddedChatOptions): {
130
- messages: DocChatMessage[];
131
- isLoading: boolean;
132
- sendMessage: (text: string, options?: StreamFnExtraOptions, messageOptions?: {
133
- hidden?: boolean;
134
- }) => void;
135
- /** "Discuss" affordance for ObjectCard. */
136
- discussRef: (reference: ChatRef) => void;
137
- /** "Display" counterpart of `discussRef`. */
138
- displayRef: (reference: ChatRef) => void;
139
- stopMessage: () => void;
140
- clearMessages: () => void;
141
- streamingPhase: StreamingPhase;
142
- /** Provider key for the lib's `<ModelDisplay>` icon. */
143
- currentProvider: string | null;
144
- currentModelLabel: string | null;
145
- currentContextWindowMaxTokens: number | null;
146
- /** Input tokens (known after server's message_start frame; null until). */
147
- currentInputTokens: number | null;
148
- /** Output tokens (known only after server's trailing usage frame). */
149
- currentOutputTokens: number | null;
150
- /** Cache hit % (read / total-input × 100). null during streaming. */
151
- currentCacheHitRatePct: number | null;
152
- /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
153
- * token counts). null until the trailing usage frame lands. */
154
- currentUsageBreakdown: {
155
- haikuRewriter?: {
156
- input: number;
157
- output: number;
158
- };
159
- haikuClassifier?: {
160
- input: number;
161
- output: number;
162
- };
163
- haikuSummarizer?: {
164
- input: number;
165
- output: number;
166
- };
167
- routedAnswer?: {
168
- model: string;
169
- complexity: string;
170
- thinkingBudget: number;
171
- };
172
- } | null;
173
- };
14
+ export { useSseChatAdapter as useEmbeddedChat, type UseSseChatAdapterOptions as UseEmbeddedChatOptions, type ChatSource, type DocChatMessage, type DocSource, type ChatTurnMeta, type StreamingPhase, } from './use-sse-chat-adapter';
174
15
  //# sourceMappingURL=use-embedded-chat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-embedded-chat.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-embedded-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-embedded-chat.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-embedded-chat.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,iBAAiB,IAAI,eAAe,EACpC,KAAK,wBAAwB,IAAI,sBAAsB,EACvD,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAA"}
@@ -0,0 +1,85 @@
1
+ import type { FetchChunksFunction } from '../types';
2
+ import type { UnifiedChatState } from '../types/unified-chat-state.types';
3
+ /**
4
+ * Consumer-supplied configuration for the NATS chat adapter.
5
+ *
6
+ * Every field is consumer-owned — the lib does not assume a particular
7
+ * backend protocol or auth scheme. Hosts wire these up against their
8
+ * own OpenFrame deployment.
9
+ */
10
+ export interface UseNatsChatAdapterConfig {
11
+ /**
12
+ * Active conversation/dialog id. When `null` the adapter stays
13
+ * subscription-idle (no NATS connection, no catchup fetch). Set this
14
+ * once the consumer's "open new conversation" flow has allocated an
15
+ * id from the backend.
16
+ */
17
+ dialogId: string | null;
18
+ /**
19
+ * Build the NATS WebSocket URL. Returning `null` short-circuits the
20
+ * subscription — same contract as `useNatsDialogSubscription`.
21
+ */
22
+ getNatsWsUrl: () => string | null;
23
+ /**
24
+ * Optional NATS client auth.
25
+ */
26
+ clientConfig?: {
27
+ name?: string;
28
+ user?: string;
29
+ pass?: string;
30
+ };
31
+ /**
32
+ * Send a user message upstream. Consumer-owned: typically an
33
+ * authenticated HTTP POST to the OpenFrame chat endpoint, or a
34
+ * direct NATS publish to a dedicated subject.
35
+ *
36
+ * The adapter does NOT couple to the wire format — it only:
37
+ * 1. appends the user message to local state for immediate render
38
+ * 2. flips streamingPhase to 'thinking' so the input UI shows status
39
+ * 3. calls this callback
40
+ *
41
+ * Reply arrives asynchronously as NATS chunks via the live tail and
42
+ * is accumulated into the trailing assistant message.
43
+ */
44
+ publishUserMessage: (text: string, options: {
45
+ hidden?: boolean;
46
+ dialogId: string | null;
47
+ }) => Promise<void> | void;
48
+ /**
49
+ * Historical-chunk fetcher used by `useChunkCatchup` to back-fill
50
+ * events that happened while the user was in another mode or before
51
+ * the websocket came online. Consumer-owned: typically a REST GET
52
+ * against the OpenFrame chat-history endpoint.
53
+ *
54
+ * When omitted, `useChunkCatchup` falls back to its own default
55
+ * fetch implementation — see hook docs for the contract.
56
+ */
57
+ fetchChunks?: FetchChunksFunction;
58
+ /**
59
+ * Whether THINKING chunks are surfaced as segments. Default `false`
60
+ * (parity with the existing `useRealtimeChunkProcessor` default).
61
+ */
62
+ enableThinking?: boolean;
63
+ /**
64
+ * Mirrors `UseRealtimeChunkProcessorOptions.batchApprovalsEnabled`.
65
+ * Default `true` — single batch card per APPROVAL_REQUEST with
66
+ * `toolCalls[]`. Set `false` to fall back to legacy per-tool cards.
67
+ */
68
+ batchApprovalsEnabled?: boolean;
69
+ }
70
+ /**
71
+ * Per-call options for `useNatsChatAdapter`. Carries only the
72
+ * activation gate — config travels through the config object so it
73
+ * survives mode swaps without re-mounting.
74
+ */
75
+ export interface UseNatsChatAdapterOptions {
76
+ /**
77
+ * When `false` the adapter goes idle: no NATS subscription, no
78
+ * catchup fetch, no publish. Local message state is preserved so
79
+ * the user sees their history when the mode flips back to active.
80
+ * Default `true`.
81
+ */
82
+ active?: boolean;
83
+ }
84
+ export declare function useNatsChatAdapter(config: UseNatsChatAdapterConfig, options?: UseNatsChatAdapterOptions): UnifiedChatState;
85
+ //# sourceMappingURL=use-nats-chat-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-nats-chat-adapter.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-nats-chat-adapter.ts"],"names":[],"mappings":"AAgDA,OAAO,KAAK,EAEV,mBAAmB,EAIpB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EACV,gBAAgB,EAGjB,MAAM,mCAAmC,CAAA;AAO1C;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAEvB;;;OAGG;IACH,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAEjC;;OAEG;IACH,YAAY,CAAC,EAAE;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IAED;;;;;;;;;;;;OAYG;IACH,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KACnD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAEzB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAA;IAEjC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AA6CD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,wBAAwB,EAChC,OAAO,GAAE,yBAA8B,GACtC,gBAAgB,CA0KlB"}
@@ -0,0 +1,124 @@
1
+ import type { ChatRef } from '../chat-ref.types';
2
+ import type { MessageSegment } from '../types/message.types';
3
+ import { type ScrollAnchor } from '../utils/scroll-anchor';
4
+ import type { UnifiedChatState } from '../types/unified-chat-state.types';
5
+ /** Source identifier — opaque string ID (registry lookup happens in the
6
+ * hub-side platform-utils, not in lib). */
7
+ export type DocSource = string;
8
+ export interface ChatSource {
9
+ index: number;
10
+ name: string;
11
+ path: string;
12
+ documentType: string;
13
+ externalUrl?: string;
14
+ /** Platform that owns the destination at `externalUrl`. */
15
+ targetPlatform?: string | null;
16
+ /** Primary-key value for single-row chips. */
17
+ id?: string;
18
+ /** Per-row items for grouped chips. */
19
+ items?: Array<{
20
+ id: string;
21
+ documentType: string;
22
+ name: string;
23
+ externalUrl?: string;
24
+ targetPlatform?: string | null;
25
+ /** In-app doc-tree path for markdown / data-room-doc rows so the
26
+ * grouped chip's anchor can trigger an in-page doc-tree swap via
27
+ * `handleChatNavClick` (parity with single-row chips + cards). */
28
+ path?: string | null;
29
+ }>;
30
+ /** RagTableConfig.id for this source. */
31
+ sourceRepo?: string;
32
+ /** Optional display label override returned by the chat API. */
33
+ label?: string;
34
+ }
35
+ export interface DocChatMessage {
36
+ id: string;
37
+ role: 'user' | 'assistant';
38
+ /** String form for legacy callers that just want the answer text; structured
39
+ * segments include thinking blocks too, which the lib's
40
+ * ChatMessageEnhanced renders as <ThinkingDisplay> cards. */
41
+ content: string;
42
+ /** Structured segments. When set, callers should prefer this over `content`. */
43
+ segments?: MessageSegment[];
44
+ sources?: ChatSource[];
45
+ /** Per-row refs for inline object-card rendering. Keyed by
46
+ * `<documentType>:<primaryKey>`. Populated for assistant messages only. */
47
+ chatRefs?: Record<string, ChatRef>;
48
+ /** Per-message viewport-positioning hint emitted by the server. */
49
+ scrollAnchor?: ScrollAnchor;
50
+ /** When true the message is part of the conversation history but is
51
+ * NOT rendered in the chat UI. */
52
+ hidden?: boolean;
53
+ }
54
+ export type { StreamingPhase } from '../types/unified-chat-state.types';
55
+ /** Per-turn metadata extracted from the streamed metadata frame. */
56
+ export interface ChatTurnMeta {
57
+ /** Provider key recognized by `<ModelDisplay>` for icon
58
+ * selection: 'anthropic' | 'openai' | 'google' (case-insensitive). */
59
+ provider: string | null;
60
+ modelLabel: string | null;
61
+ contextWindowMaxTokens: number | null;
62
+ /** Input tokens (from message_start). Includes cached tokens. */
63
+ inputTokens: number | null;
64
+ /** Output tokens (from message_delta). Only known after stream end. */
65
+ outputTokens: number | null;
66
+ /** Cache hit % (read / total-input × 100). Only known after stream end. */
67
+ cacheHitRatePct: number | null;
68
+ /** Cross-call usage breakdown extracted from the trailing usage frame. */
69
+ breakdown: {
70
+ haikuRewriter?: {
71
+ input: number;
72
+ output: number;
73
+ };
74
+ haikuClassifier?: {
75
+ input: number;
76
+ output: number;
77
+ };
78
+ haikuSummarizer?: {
79
+ input: number;
80
+ output: number;
81
+ };
82
+ routedAnswer?: {
83
+ model: string;
84
+ complexity: string;
85
+ thinkingBudget: number;
86
+ };
87
+ } | null;
88
+ /** Per-message viewport-positioning hint. */
89
+ scrollAnchor: ScrollAnchor | null;
90
+ /** Routing decision from the server's `decideRoute`. */
91
+ routedComplexity: string | null;
92
+ routedThinkingBudget: number | null;
93
+ }
94
+ /**
95
+ * Optional dependency-injection options for `useSseChatAdapter`.
96
+ *
97
+ * - `tableIdForDocumentType` — looks up the RagTableConfig.id for an
98
+ * LLM document type. Used by `displayRef` + `discussRef` to translate
99
+ * an inline-card click into a server-side entity-id filter.
100
+ *
101
+ * **Defaults to `defaultTableIdForDocumentType` from
102
+ * `src/utils/source-icons.ts`** — a lib-baked map covering every
103
+ * documentType currently registered in the hub's RAG_TABLE_CONFIGS.
104
+ * This makes Ask / Display work out of the box in embedders without
105
+ * any callback wiring.
106
+ *
107
+ * Override only when you have polymorphic / per-tenant document
108
+ * types that map to a different tableId than the default
109
+ * (hub-canonical) registry — pass your own `(docType) => tableId`
110
+ * callback and it wins over the default.
111
+ */
112
+ export interface UseSseChatAdapterOptions {
113
+ tableIdForDocumentType?: (documentType: string) => string | null;
114
+ }
115
+ /**
116
+ * Stream-driven AI chat hook. Returns the message list, send/stop/clear
117
+ * controls, and per-turn metadata (model name, token counts, routing
118
+ * decision) the lib's `<ChatContainer>` consumes.
119
+ *
120
+ * Source identity comes from `useRequiredChatRuntime().source` — no
121
+ * parameter. Throws if `runtime.source` is empty.
122
+ */
123
+ export declare function useSseChatAdapter(options?: UseSseChatAdapterOptions): UnifiedChatState;
124
+ //# sourceMappingURL=use-sse-chat-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sse-chat-adapter.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-sse-chat-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { type UseSseChatAdapterOptions } from './use-sse-chat-adapter';
2
+ import { type UseNatsChatAdapterConfig } from './use-nats-chat-adapter';
3
+ import type { UnifiedChatState } from '../types/unified-chat-state.types';
4
+ /** Discriminator for the active transport mode. */
5
+ export type ChatMode = 'guide' | 'mingo';
6
+ /**
7
+ * Per-mode configuration. Each slot is optional — consumers that only
8
+ * need one mode leave the other undefined. The active mode MUST have
9
+ * its config populated; passing `activeMode: 'mingo'` while `modes.mingo`
10
+ * is undefined is a programming error and surfaces as a thrown
11
+ * `sendMessage`.
12
+ */
13
+ export interface UseUnifiedChatModes {
14
+ /**
15
+ * Guide mode (SSE → hub). Currently `useSseChatAdapter` reads its
16
+ * config from the ambient `ChatRuntimeContext` rather than props,
17
+ * so this slot is just an opt-in flag plus its adapter options.
18
+ * The presence of the key signals "guide mode is configured".
19
+ */
20
+ guide?: UseSseChatAdapterOptions;
21
+ /**
22
+ * Mingo mode (NATS → openframe). All wiring is explicit: dialog id,
23
+ * NATS URL builder, publish callback, optional catchup fetcher.
24
+ * See `UseNatsChatAdapterConfig` for the field-by-field contract.
25
+ */
26
+ mingo?: UseNatsChatAdapterConfig;
27
+ }
28
+ export interface UseUnifiedChatOptions {
29
+ modes: UseUnifiedChatModes;
30
+ activeMode: ChatMode;
31
+ }
32
+ export declare function useUnifiedChat(options: UseUnifiedChatOptions): UnifiedChatState;
33
+ //# sourceMappingURL=use-unified-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-unified-chat.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-unified-chat.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAqB,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACzF,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAMzE,mDAAmD;AACnD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAEhC;;;;OAIG;IACH,KAAK,CAAC,EAAE,wBAAwB,CAAA;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,mBAAmB,CAAA;IAC1B,UAAU,EAAE,QAAQ,CAAA;CACrB;AAyBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,qBAAqB,GAC7B,gBAAgB,CAiFlB"}
@@ -187,11 +187,14 @@
187
187
 
188
188
 
189
189
 
190
- var _chunkAPM6KBPUcjs = require('../../chunk-APM6KBPU.cjs');
190
+
191
+
192
+ var _chunkC5EC5AZMcjs = require('../../chunk-C5EC5AZM.cjs');
191
193
  require('../../chunk-JUZGUQMX.cjs');
192
194
  require('../../chunk-VJTFBYVG.cjs');
193
195
  require('../../chunk-6RZYJICV.cjs');
194
196
  require('../../chunk-27APPAJN.cjs');
197
+ require('../../chunk-VFKQMAUF.cjs');
195
198
  require('../../chunk-G7UE6RKV.cjs');
196
199
  require('../../chunk-XL4V2PYG.cjs');
197
200
  require('../../chunk-BZFW3FOF.cjs');
@@ -389,5 +392,8 @@ require('../../chunk-VRHGVLSL.cjs');
389
392
 
390
393
 
391
394
 
392
- exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = _chunkAPM6KBPUcjs.ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.APPROVAL_STATUS = _chunkAPM6KBPUcjs.APPROVAL_STATUS; exports.ASSISTANT_TYPE = _chunkAPM6KBPUcjs.ASSISTANT_TYPE; exports.AUTHOR_TYPE = _chunkAPM6KBPUcjs.AUTHOR_TYPE; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = _chunkAPM6KBPUcjs.AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.AdminContentCard = _chunkAPM6KBPUcjs.AdminContentCard; exports.ApprovalBatchMessage = _chunkAPM6KBPUcjs.ApprovalBatchMessage; exports.ApprovalRequestMessage = _chunkAPM6KBPUcjs.ApprovalRequestMessage; exports.ArgRow = _chunkAPM6KBPUcjs.ArgRow; exports.BlockCard = _chunkAPM6KBPUcjs.BlockCard; exports.BlogCard = _chunkAPM6KBPUcjs.BlogCard; exports.BlogCardSkeleton = _chunkAPM6KBPUcjs.BlogCardSkeleton; exports.BlogImagePlaceholder = _chunkAPM6KBPUcjs.BlogImagePlaceholder; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = _chunkAPM6KBPUcjs.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = _chunkAPM6KBPUcjs.CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.CHAT_ATTACHMENT_MIME_TYPES = _chunkAPM6KBPUcjs.CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = _chunkAPM6KBPUcjs.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = _chunkAPM6KBPUcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkAPM6KBPUcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_TYPE = _chunkAPM6KBPUcjs.CHAT_TYPE; exports.CHIP_ACTION_BUTTON_CLASS = _chunkAPM6KBPUcjs.CHIP_ACTION_BUTTON_CLASS; exports.COMPACT_CARD_ICON_SLOT = _chunkAPM6KBPUcjs.COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_IMAGE_SLOT = _chunkAPM6KBPUcjs.COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_META_ROW = _chunkAPM6KBPUcjs.COMPACT_CARD_META_ROW; exports.COMPACT_CARD_META_ROW_BOX = _chunkAPM6KBPUcjs.COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_OUTER = _chunkAPM6KBPUcjs.COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = _chunkAPM6KBPUcjs.COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_ROW_FILLER = _chunkAPM6KBPUcjs.COMPACT_CARD_ROW_FILLER; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = _chunkAPM6KBPUcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_OUTER = _chunkAPM6KBPUcjs.COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_SUBTITLE = _chunkAPM6KBPUcjs.COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = _chunkAPM6KBPUcjs.COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_TEXT_COL = _chunkAPM6KBPUcjs.COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE = _chunkAPM6KBPUcjs.COMPACT_CARD_TITLE; exports.COMPACT_CARD_TITLE_ROW = _chunkAPM6KBPUcjs.COMPACT_CARD_TITLE_ROW; exports.CONNECTION_STATUS = _chunkAPM6KBPUcjs.CONNECTION_STATUS; exports.CUSTOM_ITEM_ID = _chunkAPM6KBPUcjs.CUSTOM_ITEM_ID; exports.CampaignCardAdmin = _chunkAPM6KBPUcjs.CampaignCardAdmin; exports.CampaignCardAdminSkeleton = _chunkAPM6KBPUcjs.CampaignCardAdminSkeleton; exports.CaseStudyCard = _chunkAPM6KBPUcjs.CaseStudyCard; exports.CaseStudyCardSkeleton = _chunkAPM6KBPUcjs.CaseStudyCardSkeleton; exports.ChatAttachmentAddButton = _chunkAPM6KBPUcjs.ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = _chunkAPM6KBPUcjs.ChatAttachmentChipStrip; exports.ChatCardLoader = _chunkAPM6KBPUcjs.ChatCardLoader; exports.ChatContainer = _chunkAPM6KBPUcjs.ChatContainer; exports.ChatContent = _chunkAPM6KBPUcjs.ChatContent; exports.ChatFooter = _chunkAPM6KBPUcjs.ChatFooter; exports.ChatHeader = _chunkAPM6KBPUcjs.ChatHeader; exports.ChatInput = _chunkAPM6KBPUcjs.ChatInput; exports.ChatMessageEnhanced = _chunkAPM6KBPUcjs.MemoizedChatMessageEnhanced; exports.ChatMessageList = _chunkAPM6KBPUcjs.ChatMessageList; exports.ChatQuickAction = _chunkAPM6KBPUcjs.ChatQuickAction; exports.ChatSidebar = _chunkAPM6KBPUcjs.ChatSidebar; exports.ChatTicketItem = _chunkAPM6KBPUcjs.ChatTicketItem; exports.ChatTicketList = _chunkAPM6KBPUcjs.ChatTicketList; exports.ChatTypingIndicator = _chunkAPM6KBPUcjs.ChatTypingIndicator; exports.ChatVideoEntityCard = _chunkAPM6KBPUcjs.ChatVideoEntityCard; exports.ContextCompactionDisplay = _chunkAPM6KBPUcjs.ContextCompactionDisplay; exports.CustomerInterviewCard = _chunkAPM6KBPUcjs.CustomerInterviewCard; exports.CustomerInterviewCardSkeleton = _chunkAPM6KBPUcjs.CustomerInterviewCardSkeleton; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = _chunkAPM6KBPUcjs.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.DataRoomDocCard = _chunkAPM6KBPUcjs.DataRoomDocCard; exports.DataRoomDocCardSkeleton = _chunkAPM6KBPUcjs.DataRoomDocCardSkeleton; exports.DialogListItem = _chunkAPM6KBPUcjs.DialogListItem; exports.EMPTY_AUTHOR_PLACEHOLDER = _chunkAPM6KBPUcjs.EMPTY_AUTHOR_PLACEHOLDER; exports.EmbeddableChat = _chunkAPM6KBPUcjs.EmbeddableChat; exports.EntityAuthorCard = _chunkAPM6KBPUcjs.EntityAuthorCard; exports.EntityMetadataAuthorCell = _chunkAPM6KBPUcjs.EntityMetadataAuthorCell; exports.EntityMetadataValueCell = _chunkAPM6KBPUcjs.EntityMetadataValueCell; exports.ErrorMessageDisplay = _chunkAPM6KBPUcjs.ErrorMessageDisplay; exports.ExpandChevron = _chunkAPM6KBPUcjs.ExpandChevron; exports.GenericEntityCard = _chunkAPM6KBPUcjs.GenericEntityCard; exports.GenericEntityCardSkeleton = _chunkAPM6KBPUcjs.GenericEntityCardSkeleton; exports.GitHubActivityCard = _chunkAPM6KBPUcjs.GitHubActivityCard; exports.GitHubActivityCardSkeleton = _chunkAPM6KBPUcjs.GitHubActivityCardSkeleton; exports.HubspotTicketCard = _chunkAPM6KBPUcjs.HubspotTicketCard; exports.HubspotTicketCardSkeleton = _chunkAPM6KBPUcjs.HubspotTicketCardSkeleton; exports.ICON_REGISTRY = _chunkAPM6KBPUcjs.ICON_REGISTRY; exports.InvestorUpdateCard = _chunkAPM6KBPUcjs.InvestorUpdateCard; exports.InvestorUpdateCardSkeleton = _chunkAPM6KBPUcjs.InvestorUpdateCardSkeleton; exports.MESSAGE_ROLE = _chunkAPM6KBPUcjs.MESSAGE_ROLE; exports.MESSAGE_TYPE = _chunkAPM6KBPUcjs.MESSAGE_TYPE; exports.MessageSegmentAccumulator = _chunkAPM6KBPUcjs.MessageSegmentAccumulator; exports.ModelDisplay = _chunkAPM6KBPUcjs.ModelDisplay; exports.NETWORK_CONFIG = _chunkAPM6KBPUcjs.NETWORK_CONFIG; exports.NEW_TAB_FEATURES = _chunkAPM6KBPUcjs.NEW_TAB_FEATURES; exports.NavLinkAnchorViaRuntime = _chunkAPM6KBPUcjs.NavLinkAnchorViaRuntime; exports.OWNER_TYPE = _chunkAPM6KBPUcjs.OWNER_TYPE; exports.OnboardingGuideCard = _chunkAPM6KBPUcjs.OnboardingGuideCard; exports.OnboardingGuideCardSkeleton = _chunkAPM6KBPUcjs.OnboardingGuideCardSkeleton; exports.ProductReleaseCard = _chunkAPM6KBPUcjs.ProductReleaseCard; exports.ProductReleaseCardSkeleton = _chunkAPM6KBPUcjs.ProductReleaseCardSkeleton; exports.ProgramCard = _chunkAPM6KBPUcjs.ProgramCard; exports.ProgramCardSkeleton = _chunkAPM6KBPUcjs.ProgramCardSkeleton; exports.ResultBlock = _chunkAPM6KBPUcjs.ResultBlock; exports.RoadmapCard = _chunkAPM6KBPUcjs.RoadmapCard; exports.RoadmapCardSkeleton = _chunkAPM6KBPUcjs.RoadmapCardSkeleton; exports.RoadmapVoteButton = _chunkAPM6KBPUcjs.RoadmapVoteButton; exports.SCROLL_ANCHOR = _chunkAPM6KBPUcjs.SCROLL_ANCHOR; exports.SCROLL_ANCHOR_WIRE_KEY = _chunkAPM6KBPUcjs.SCROLL_ANCHOR_WIRE_KEY; exports.SOURCE_ICON_NAMES = _chunkAPM6KBPUcjs.SOURCE_ICON_NAMES; exports.SOURCE_LABELS_BY_TABLE = _chunkAPM6KBPUcjs.SOURCE_LABELS_BY_TABLE; exports.SlackMessageCard = _chunkAPM6KBPUcjs.SlackMessageCard; exports.SlackMessageCardSkeleton = _chunkAPM6KBPUcjs.SlackMessageCardSkeleton; exports.SlashCommandSuggestions = _chunkAPM6KBPUcjs.SlashCommandSuggestions; exports.SourceActionButton = _chunkAPM6KBPUcjs.SourceActionButton; exports.TaskTypeIcon = _chunkAPM6KBPUcjs.TaskTypeIcon; exports.ThinkingDisplay = _chunkAPM6KBPUcjs.ThinkingDisplay; exports.ToolExecutionDisplay = _chunkAPM6KBPUcjs.ToolExecutionDisplay; exports.applyProxyAuth = _chunkAPM6KBPUcjs.applyProxyAuth; exports.buildAnchorProps = _chunkAPM6KBPUcjs.buildAnchorProps; exports.buildAutoContinuationDirective = _chunkAPM6KBPUcjs.buildAutoContinuationDirective; exports.buildChatAttachmentViewUrl = _chunkAPM6KBPUcjs.buildChatAttachmentViewUrl; exports.buildChatRefKey = _chunkAPM6KBPUcjs.buildChatRefKey; exports.buildDiscussAddendum = _chunkAPM6KBPUcjs.buildDiscussAddendum; exports.buildNatsWsUrl = _chunkAPM6KBPUcjs.buildNatsWsUrl; exports.chatAuthedFetch = _chunkAPM6KBPUcjs.chatAuthedFetch; exports.chatChipClass = _chunkAPM6KBPUcjs.chatChipClass; exports.clearChatProxyAuth = _chunkAPM6KBPUcjs.clearChatProxyAuth; exports.clickupTaskUrl = _chunkAPM6KBPUcjs.clickupTaskUrl; exports.computeIsNewTab = _chunkAPM6KBPUcjs.computeIsNewTab; exports.createMessageSegmentAccumulator = _chunkAPM6KBPUcjs.createMessageSegmentAccumulator; exports.decideNewTab = _chunkAPM6KBPUcjs.decideNewTab; exports.defaultTableIdForDocumentType = _chunkAPM6KBPUcjs.defaultTableIdForDocumentType; exports.escapeMarkdownInline = _chunkAPM6KBPUcjs.escapeMarkdownInline; exports.extractEntityIdFilter = _chunkAPM6KBPUcjs.extractEntityIdFilter; exports.extractErrorMessages = _chunkAPM6KBPUcjs.extractErrorMessages; exports.extractIncompleteMessageState = _chunkAPM6KBPUcjs.extractIncompleteMessageState; exports.extractTextFromChunk = _chunkAPM6KBPUcjs.extractTextFromChunk; exports.fetchSlashCommands = _chunkAPM6KBPUcjs.fetchSlashCommands; exports.flattenAssistantContent = _chunkAPM6KBPUcjs.flattenAssistantContent; exports.formatChatAttachmentMarkdownForBubble = _chunkAPM6KBPUcjs.formatChatAttachmentMarkdownForBubble; exports.formatInvestorUpdatePeriod = _chunkAPM6KBPUcjs.formatInvestorUpdatePeriod; exports.formatSingularLookupInvocation = _chunkAPM6KBPUcjs.formatSingularLookupInvocation; exports.getChatProxyAuth = _chunkAPM6KBPUcjs.getChatProxyAuth; exports.getCommandText = _chunkAPM6KBPUcjs.getCommandText; exports.getDynamicIcon = _chunkAPM6KBPUcjs.getDynamicIcon; exports.getIconComponent = _chunkAPM6KBPUcjs.getIconComponent; exports.getPersistedProxyEmail = _chunkAPM6KBPUcjs.getPersistedProxyEmail; exports.getSourceIconName = _chunkAPM6KBPUcjs.getSourceIconName; exports.getSourceLabel = _chunkAPM6KBPUcjs.getSourceLabel; exports.getStatusColorScheme = _chunkAPM6KBPUcjs.getStatusColorScheme; exports.getTaskTypeLabel = _chunkAPM6KBPUcjs.getTaskTypeLabel; exports.handleChatNavClick = _chunkAPM6KBPUcjs.handleChatNavClick; exports.isControlChunk = _chunkAPM6KBPUcjs.isControlChunk; exports.isCrossOriginUrl = _chunkAPM6KBPUcjs.isCrossOriginUrl; exports.isErrorChunk = _chunkAPM6KBPUcjs.isErrorChunk; exports.isMetadataChunk = _chunkAPM6KBPUcjs.isMetadataChunk; exports.isModifierClick = _chunkAPM6KBPUcjs.isModifierClick; exports.isStructuredContent = _chunkAPM6KBPUcjs.isStructuredContent; exports.newTabAnchorAttrs = _chunkAPM6KBPUcjs.newTabAnchorAttrs; exports.normalizeContent = _chunkAPM6KBPUcjs.normalizeContent; exports.normalizeIconKey = _chunkAPM6KBPUcjs.normalizeIconKey; exports.parseChunkToAction = _chunkAPM6KBPUcjs.parseChunkToAction; exports.parseScrollAnchor = _chunkAPM6KBPUcjs.parseScrollAnchor; exports.parseWireCommandOverride = _chunkAPM6KBPUcjs.parseWireCommandOverride; exports.processHistoricalMessages = _chunkAPM6KBPUcjs.processHistoricalMessages; exports.processHistoricalMessagesWithErrors = _chunkAPM6KBPUcjs.processHistoricalMessagesWithErrors; exports.remarkCardLinks = _chunkAPM6KBPUcjs.remarkCardLinks; exports.renderChatInlineEntityCard = _chunkAPM6KBPUcjs.renderChatInlineEntityCard; exports.resolveExternalNavigation = _chunkAPM6KBPUcjs.resolveExternalNavigation; exports.resolveSourceIcon = _chunkAPM6KBPUcjs.resolveSourceIcon; exports.resolveSourceRowCTA = _chunkAPM6KBPUcjs.resolveSourceRowCTA; exports.safeHref = _chunkAPM6KBPUcjs.safeHref; exports.sanitizeTitleForChat = _chunkAPM6KBPUcjs.sanitizeTitleForChat; exports.setChatProxyAuth = _chunkAPM6KBPUcjs.setChatProxyAuth; exports.stripChatAttachmentMarkdown = _chunkAPM6KBPUcjs.stripChatAttachmentMarkdown; exports.stripSameOriginToPath = _chunkAPM6KBPUcjs.stripSameOriginToPath; exports.transformEventToProgram = _chunkAPM6KBPUcjs.transformEventToProgram; exports.transformPodcastToProgram = _chunkAPM6KBPUcjs.transformPodcastToProgram; exports.transformWebinarToProgram = _chunkAPM6KBPUcjs.transformWebinarToProgram; exports.useChat = _chunkAPM6KBPUcjs.useChat; exports.useChatAttachmentImageGallery = _chunkAPM6KBPUcjs.useChatAttachmentImageGallery; exports.useChatAttachments = _chunkAPM6KBPUcjs.useChatAttachments; exports.useChatCardItem = _chunkAPM6KBPUcjs.useChatCardItem; exports.useChatIdentity = _chunkAPM6KBPUcjs.useChatIdentity; exports.useChunkCatchup = _chunkAPM6KBPUcjs.useChunkCatchup; exports.useCloseOnNavigation = _chunkAPM6KBPUcjs.useCloseOnNavigation; exports.useCollapsible = _chunkAPM6KBPUcjs.useCollapsible; exports.useEmbeddedChat = _chunkAPM6KBPUcjs.useEmbeddedChat; exports.useJetStreamDialogSubscription = _chunkAPM6KBPUcjs.useJetStreamDialogSubscription; exports.useNatsDialogSubscription = _chunkAPM6KBPUcjs.useNatsDialogSubscription; exports.useProxiedImageUrl = _chunkAPM6KBPUcjs.useProxiedImageUrl; exports.useRealtimeChunkProcessor = _chunkAPM6KBPUcjs.useRealtimeChunkProcessor; exports.useSSE = _chunkAPM6KBPUcjs.useSSE; exports.useSlashCommands = _chunkAPM6KBPUcjs.useSlashCommands;
395
+
396
+
397
+
398
+ exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = _chunkC5EC5AZMcjs.ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.APPROVAL_STATUS = _chunkC5EC5AZMcjs.APPROVAL_STATUS; exports.ASSISTANT_TYPE = _chunkC5EC5AZMcjs.ASSISTANT_TYPE; exports.AUTHOR_TYPE = _chunkC5EC5AZMcjs.AUTHOR_TYPE; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = _chunkC5EC5AZMcjs.AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.AdminContentCard = _chunkC5EC5AZMcjs.AdminContentCard; exports.ApprovalBatchMessage = _chunkC5EC5AZMcjs.ApprovalBatchMessage; exports.ApprovalRequestMessage = _chunkC5EC5AZMcjs.ApprovalRequestMessage; exports.ArgRow = _chunkC5EC5AZMcjs.ArgRow; exports.BlockCard = _chunkC5EC5AZMcjs.BlockCard; exports.BlogCard = _chunkC5EC5AZMcjs.BlogCard; exports.BlogCardSkeleton = _chunkC5EC5AZMcjs.BlogCardSkeleton; exports.BlogImagePlaceholder = _chunkC5EC5AZMcjs.BlogImagePlaceholder; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = _chunkC5EC5AZMcjs.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = _chunkC5EC5AZMcjs.CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.CHAT_ATTACHMENT_MIME_TYPES = _chunkC5EC5AZMcjs.CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = _chunkC5EC5AZMcjs.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = _chunkC5EC5AZMcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkC5EC5AZMcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_TYPE = _chunkC5EC5AZMcjs.CHAT_TYPE; exports.CHIP_ACTION_BUTTON_CLASS = _chunkC5EC5AZMcjs.CHIP_ACTION_BUTTON_CLASS; exports.COMPACT_CARD_ICON_SLOT = _chunkC5EC5AZMcjs.COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_IMAGE_SLOT = _chunkC5EC5AZMcjs.COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_META_ROW = _chunkC5EC5AZMcjs.COMPACT_CARD_META_ROW; exports.COMPACT_CARD_META_ROW_BOX = _chunkC5EC5AZMcjs.COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_OUTER = _chunkC5EC5AZMcjs.COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = _chunkC5EC5AZMcjs.COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_ROW_FILLER = _chunkC5EC5AZMcjs.COMPACT_CARD_ROW_FILLER; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = _chunkC5EC5AZMcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_OUTER = _chunkC5EC5AZMcjs.COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_SUBTITLE = _chunkC5EC5AZMcjs.COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = _chunkC5EC5AZMcjs.COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_TEXT_COL = _chunkC5EC5AZMcjs.COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE = _chunkC5EC5AZMcjs.COMPACT_CARD_TITLE; exports.COMPACT_CARD_TITLE_ROW = _chunkC5EC5AZMcjs.COMPACT_CARD_TITLE_ROW; exports.CONNECTION_STATUS = _chunkC5EC5AZMcjs.CONNECTION_STATUS; exports.CUSTOM_ITEM_ID = _chunkC5EC5AZMcjs.CUSTOM_ITEM_ID; exports.CampaignCardAdmin = _chunkC5EC5AZMcjs.CampaignCardAdmin; exports.CampaignCardAdminSkeleton = _chunkC5EC5AZMcjs.CampaignCardAdminSkeleton; exports.CaseStudyCard = _chunkC5EC5AZMcjs.CaseStudyCard; exports.CaseStudyCardSkeleton = _chunkC5EC5AZMcjs.CaseStudyCardSkeleton; exports.ChatAttachmentAddButton = _chunkC5EC5AZMcjs.ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = _chunkC5EC5AZMcjs.ChatAttachmentChipStrip; exports.ChatCardLoader = _chunkC5EC5AZMcjs.ChatCardLoader; exports.ChatContainer = _chunkC5EC5AZMcjs.ChatContainer; exports.ChatContent = _chunkC5EC5AZMcjs.ChatContent; exports.ChatFooter = _chunkC5EC5AZMcjs.ChatFooter; exports.ChatHeader = _chunkC5EC5AZMcjs.ChatHeader; exports.ChatInput = _chunkC5EC5AZMcjs.ChatInput; exports.ChatMessageEnhanced = _chunkC5EC5AZMcjs.MemoizedChatMessageEnhanced; exports.ChatMessageList = _chunkC5EC5AZMcjs.ChatMessageList; exports.ChatQuickAction = _chunkC5EC5AZMcjs.ChatQuickAction; exports.ChatSidebar = _chunkC5EC5AZMcjs.ChatSidebar; exports.ChatTicketItem = _chunkC5EC5AZMcjs.ChatTicketItem; exports.ChatTicketList = _chunkC5EC5AZMcjs.ChatTicketList; exports.ChatTypingIndicator = _chunkC5EC5AZMcjs.ChatTypingIndicator; exports.ChatVideoEntityCard = _chunkC5EC5AZMcjs.ChatVideoEntityCard; exports.ContextCompactionDisplay = _chunkC5EC5AZMcjs.ContextCompactionDisplay; exports.CustomerInterviewCard = _chunkC5EC5AZMcjs.CustomerInterviewCard; exports.CustomerInterviewCardSkeleton = _chunkC5EC5AZMcjs.CustomerInterviewCardSkeleton; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = _chunkC5EC5AZMcjs.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.DataRoomDocCard = _chunkC5EC5AZMcjs.DataRoomDocCard; exports.DataRoomDocCardSkeleton = _chunkC5EC5AZMcjs.DataRoomDocCardSkeleton; exports.DialogListItem = _chunkC5EC5AZMcjs.DialogListItem; exports.EMPTY_AUTHOR_PLACEHOLDER = _chunkC5EC5AZMcjs.EMPTY_AUTHOR_PLACEHOLDER; exports.EmbeddableChat = _chunkC5EC5AZMcjs.EmbeddableChat; exports.EntityAuthorCard = _chunkC5EC5AZMcjs.EntityAuthorCard; exports.EntityMetadataAuthorCell = _chunkC5EC5AZMcjs.EntityMetadataAuthorCell; exports.EntityMetadataValueCell = _chunkC5EC5AZMcjs.EntityMetadataValueCell; exports.ErrorMessageDisplay = _chunkC5EC5AZMcjs.ErrorMessageDisplay; exports.ExpandChevron = _chunkC5EC5AZMcjs.ExpandChevron; exports.GenericEntityCard = _chunkC5EC5AZMcjs.GenericEntityCard; exports.GenericEntityCardSkeleton = _chunkC5EC5AZMcjs.GenericEntityCardSkeleton; exports.GitHubActivityCard = _chunkC5EC5AZMcjs.GitHubActivityCard; exports.GitHubActivityCardSkeleton = _chunkC5EC5AZMcjs.GitHubActivityCardSkeleton; exports.HubspotTicketCard = _chunkC5EC5AZMcjs.HubspotTicketCard; exports.HubspotTicketCardSkeleton = _chunkC5EC5AZMcjs.HubspotTicketCardSkeleton; exports.ICON_REGISTRY = _chunkC5EC5AZMcjs.ICON_REGISTRY; exports.InvestorUpdateCard = _chunkC5EC5AZMcjs.InvestorUpdateCard; exports.InvestorUpdateCardSkeleton = _chunkC5EC5AZMcjs.InvestorUpdateCardSkeleton; exports.MESSAGE_ROLE = _chunkC5EC5AZMcjs.MESSAGE_ROLE; exports.MESSAGE_TYPE = _chunkC5EC5AZMcjs.MESSAGE_TYPE; exports.MessageSegmentAccumulator = _chunkC5EC5AZMcjs.MessageSegmentAccumulator; exports.ModelDisplay = _chunkC5EC5AZMcjs.ModelDisplay; exports.NETWORK_CONFIG = _chunkC5EC5AZMcjs.NETWORK_CONFIG; exports.NEW_TAB_FEATURES = _chunkC5EC5AZMcjs.NEW_TAB_FEATURES; exports.NavLinkAnchorViaRuntime = _chunkC5EC5AZMcjs.NavLinkAnchorViaRuntime; exports.OWNER_TYPE = _chunkC5EC5AZMcjs.OWNER_TYPE; exports.OnboardingGuideCard = _chunkC5EC5AZMcjs.OnboardingGuideCard; exports.OnboardingGuideCardSkeleton = _chunkC5EC5AZMcjs.OnboardingGuideCardSkeleton; exports.ProductReleaseCard = _chunkC5EC5AZMcjs.ProductReleaseCard; exports.ProductReleaseCardSkeleton = _chunkC5EC5AZMcjs.ProductReleaseCardSkeleton; exports.ProgramCard = _chunkC5EC5AZMcjs.ProgramCard; exports.ProgramCardSkeleton = _chunkC5EC5AZMcjs.ProgramCardSkeleton; exports.ResultBlock = _chunkC5EC5AZMcjs.ResultBlock; exports.RoadmapCard = _chunkC5EC5AZMcjs.RoadmapCard; exports.RoadmapCardSkeleton = _chunkC5EC5AZMcjs.RoadmapCardSkeleton; exports.RoadmapVoteButton = _chunkC5EC5AZMcjs.RoadmapVoteButton; exports.SCROLL_ANCHOR = _chunkC5EC5AZMcjs.SCROLL_ANCHOR; exports.SCROLL_ANCHOR_WIRE_KEY = _chunkC5EC5AZMcjs.SCROLL_ANCHOR_WIRE_KEY; exports.SOURCE_ICON_NAMES = _chunkC5EC5AZMcjs.SOURCE_ICON_NAMES; exports.SOURCE_LABELS_BY_TABLE = _chunkC5EC5AZMcjs.SOURCE_LABELS_BY_TABLE; exports.SlackMessageCard = _chunkC5EC5AZMcjs.SlackMessageCard; exports.SlackMessageCardSkeleton = _chunkC5EC5AZMcjs.SlackMessageCardSkeleton; exports.SlashCommandSuggestions = _chunkC5EC5AZMcjs.SlashCommandSuggestions; exports.SourceActionButton = _chunkC5EC5AZMcjs.SourceActionButton; exports.TaskTypeIcon = _chunkC5EC5AZMcjs.TaskTypeIcon; exports.ThinkingDisplay = _chunkC5EC5AZMcjs.ThinkingDisplay; exports.ToolExecutionDisplay = _chunkC5EC5AZMcjs.ToolExecutionDisplay; exports.applyProxyAuth = _chunkC5EC5AZMcjs.applyProxyAuth; exports.buildAnchorProps = _chunkC5EC5AZMcjs.buildAnchorProps; exports.buildAutoContinuationDirective = _chunkC5EC5AZMcjs.buildAutoContinuationDirective; exports.buildChatAttachmentViewUrl = _chunkC5EC5AZMcjs.buildChatAttachmentViewUrl; exports.buildChatRefKey = _chunkC5EC5AZMcjs.buildChatRefKey; exports.buildDiscussAddendum = _chunkC5EC5AZMcjs.buildDiscussAddendum; exports.buildNatsWsUrl = _chunkC5EC5AZMcjs.buildNatsWsUrl; exports.chatAuthedFetch = _chunkC5EC5AZMcjs.chatAuthedFetch; exports.chatChipClass = _chunkC5EC5AZMcjs.chatChipClass; exports.clearChatProxyAuth = _chunkC5EC5AZMcjs.clearChatProxyAuth; exports.clickupTaskUrl = _chunkC5EC5AZMcjs.clickupTaskUrl; exports.computeIsNewTab = _chunkC5EC5AZMcjs.computeIsNewTab; exports.createMessageSegmentAccumulator = _chunkC5EC5AZMcjs.createMessageSegmentAccumulator; exports.decideNewTab = _chunkC5EC5AZMcjs.decideNewTab; exports.defaultTableIdForDocumentType = _chunkC5EC5AZMcjs.defaultTableIdForDocumentType; exports.escapeMarkdownInline = _chunkC5EC5AZMcjs.escapeMarkdownInline; exports.extractEntityIdFilter = _chunkC5EC5AZMcjs.extractEntityIdFilter; exports.extractErrorMessages = _chunkC5EC5AZMcjs.extractErrorMessages; exports.extractIncompleteMessageState = _chunkC5EC5AZMcjs.extractIncompleteMessageState; exports.extractTextFromChunk = _chunkC5EC5AZMcjs.extractTextFromChunk; exports.fetchSlashCommands = _chunkC5EC5AZMcjs.fetchSlashCommands; exports.flattenAssistantContent = _chunkC5EC5AZMcjs.flattenAssistantContent; exports.formatChatAttachmentMarkdownForBubble = _chunkC5EC5AZMcjs.formatChatAttachmentMarkdownForBubble; exports.formatInvestorUpdatePeriod = _chunkC5EC5AZMcjs.formatInvestorUpdatePeriod; exports.formatSingularLookupInvocation = _chunkC5EC5AZMcjs.formatSingularLookupInvocation; exports.getChatProxyAuth = _chunkC5EC5AZMcjs.getChatProxyAuth; exports.getCommandText = _chunkC5EC5AZMcjs.getCommandText; exports.getDynamicIcon = _chunkC5EC5AZMcjs.getDynamicIcon; exports.getIconComponent = _chunkC5EC5AZMcjs.getIconComponent; exports.getPersistedProxyEmail = _chunkC5EC5AZMcjs.getPersistedProxyEmail; exports.getSourceIconName = _chunkC5EC5AZMcjs.getSourceIconName; exports.getSourceLabel = _chunkC5EC5AZMcjs.getSourceLabel; exports.getStatusColorScheme = _chunkC5EC5AZMcjs.getStatusColorScheme; exports.getTaskTypeLabel = _chunkC5EC5AZMcjs.getTaskTypeLabel; exports.handleChatNavClick = _chunkC5EC5AZMcjs.handleChatNavClick; exports.isControlChunk = _chunkC5EC5AZMcjs.isControlChunk; exports.isCrossOriginUrl = _chunkC5EC5AZMcjs.isCrossOriginUrl; exports.isErrorChunk = _chunkC5EC5AZMcjs.isErrorChunk; exports.isMetadataChunk = _chunkC5EC5AZMcjs.isMetadataChunk; exports.isModifierClick = _chunkC5EC5AZMcjs.isModifierClick; exports.isStructuredContent = _chunkC5EC5AZMcjs.isStructuredContent; exports.newTabAnchorAttrs = _chunkC5EC5AZMcjs.newTabAnchorAttrs; exports.normalizeContent = _chunkC5EC5AZMcjs.normalizeContent; exports.normalizeIconKey = _chunkC5EC5AZMcjs.normalizeIconKey; exports.parseChunkToAction = _chunkC5EC5AZMcjs.parseChunkToAction; exports.parseScrollAnchor = _chunkC5EC5AZMcjs.parseScrollAnchor; exports.parseWireCommandOverride = _chunkC5EC5AZMcjs.parseWireCommandOverride; exports.processHistoricalMessages = _chunkC5EC5AZMcjs.processHistoricalMessages; exports.processHistoricalMessagesWithErrors = _chunkC5EC5AZMcjs.processHistoricalMessagesWithErrors; exports.remarkCardLinks = _chunkC5EC5AZMcjs.remarkCardLinks; exports.renderChatInlineEntityCard = _chunkC5EC5AZMcjs.renderChatInlineEntityCard; exports.resolveExternalNavigation = _chunkC5EC5AZMcjs.resolveExternalNavigation; exports.resolveSourceIcon = _chunkC5EC5AZMcjs.resolveSourceIcon; exports.resolveSourceRowCTA = _chunkC5EC5AZMcjs.resolveSourceRowCTA; exports.safeHref = _chunkC5EC5AZMcjs.safeHref; exports.sanitizeTitleForChat = _chunkC5EC5AZMcjs.sanitizeTitleForChat; exports.setChatProxyAuth = _chunkC5EC5AZMcjs.setChatProxyAuth; exports.stripChatAttachmentMarkdown = _chunkC5EC5AZMcjs.stripChatAttachmentMarkdown; exports.stripSameOriginToPath = _chunkC5EC5AZMcjs.stripSameOriginToPath; exports.transformEventToProgram = _chunkC5EC5AZMcjs.transformEventToProgram; exports.transformPodcastToProgram = _chunkC5EC5AZMcjs.transformPodcastToProgram; exports.transformWebinarToProgram = _chunkC5EC5AZMcjs.transformWebinarToProgram; exports.useChat = _chunkC5EC5AZMcjs.useChat; exports.useChatAttachmentImageGallery = _chunkC5EC5AZMcjs.useChatAttachmentImageGallery; exports.useChatAttachments = _chunkC5EC5AZMcjs.useChatAttachments; exports.useChatCardItem = _chunkC5EC5AZMcjs.useChatCardItem; exports.useChatIdentity = _chunkC5EC5AZMcjs.useChatIdentity; exports.useChunkCatchup = _chunkC5EC5AZMcjs.useChunkCatchup; exports.useCloseOnNavigation = _chunkC5EC5AZMcjs.useCloseOnNavigation; exports.useCollapsible = _chunkC5EC5AZMcjs.useCollapsible; exports.useEmbeddedChat = _chunkC5EC5AZMcjs.useSseChatAdapter; exports.useJetStreamDialogSubscription = _chunkC5EC5AZMcjs.useJetStreamDialogSubscription; exports.useNatsChatAdapter = _chunkC5EC5AZMcjs.useNatsChatAdapter; exports.useNatsDialogSubscription = _chunkC5EC5AZMcjs.useNatsDialogSubscription; exports.useProxiedImageUrl = _chunkC5EC5AZMcjs.useProxiedImageUrl; exports.useRealtimeChunkProcessor = _chunkC5EC5AZMcjs.useRealtimeChunkProcessor; exports.useSSE = _chunkC5EC5AZMcjs.useSSE; exports.useSlashCommands = _chunkC5EC5AZMcjs.useSlashCommands; exports.useSseChatAdapter = _chunkC5EC5AZMcjs.useSseChatAdapter; exports.useUnifiedChat = _chunkC5EC5AZMcjs.useUnifiedChat;
393
399
  //# sourceMappingURL=index.cjs.map