@flamingo-stack/openframe-frontend-core 0.0.296-snapshot.20260621021605 → 0.0.296

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 (276) hide show
  1. package/README.md +0 -9
  2. package/dist/chunk-26PKDALD.js +2379 -0
  3. package/dist/chunk-26PKDALD.js.map +1 -0
  4. package/dist/chunk-3MCHAFHB.js +89 -0
  5. package/dist/chunk-3MCHAFHB.js.map +1 -0
  6. package/dist/{chunk-PI4WSYQV.js → chunk-3ZXUQQL4.js} +2 -2
  7. package/dist/{chunk-WMSTJAZT.cjs → chunk-5E2HOSSH.cjs} +51 -913
  8. package/dist/chunk-5E2HOSSH.cjs.map +1 -0
  9. package/dist/{chunk-IL47XWV5.js → chunk-5P3B2LZW.js} +14 -8
  10. package/dist/{chunk-IL47XWV5.js.map → chunk-5P3B2LZW.js.map} +1 -1
  11. package/dist/chunk-66AANIOC.cjs +619 -0
  12. package/dist/chunk-66AANIOC.cjs.map +1 -0
  13. package/dist/{chunk-AD6C23QY.js → chunk-6GCI7JOE.js} +7 -8
  14. package/dist/{chunk-AD6C23QY.js.map → chunk-6GCI7JOE.js.map} +1 -1
  15. package/dist/chunk-6JINAOI7.cjs +311 -0
  16. package/dist/chunk-6JINAOI7.cjs.map +1 -0
  17. package/dist/{chunk-2QG57XOJ.js → chunk-7RIYT7ZH.js} +205 -1067
  18. package/dist/chunk-7RIYT7ZH.js.map +1 -0
  19. package/dist/{chunk-L6PSSIUQ.cjs → chunk-AQOWFSMB.cjs} +1 -1
  20. package/dist/chunk-AQOWFSMB.cjs.map +1 -0
  21. package/dist/chunk-BOCFIKYS.cjs +3009 -0
  22. package/dist/chunk-BOCFIKYS.cjs.map +1 -0
  23. package/dist/{chunk-54KNMC2R.cjs → chunk-D3LEFMOA.cjs} +3 -3
  24. package/dist/{chunk-54KNMC2R.cjs.map → chunk-D3LEFMOA.cjs.map} +1 -1
  25. package/dist/chunk-D652TJBQ.js +3009 -0
  26. package/dist/chunk-D652TJBQ.js.map +1 -0
  27. package/dist/{chunk-PWQUAVA3.js → chunk-E4XABBSU.js} +98 -338
  28. package/dist/chunk-E4XABBSU.js.map +1 -0
  29. package/dist/{chunk-JALO4TAZ.js → chunk-EL6QLAWX.js} +55 -357
  30. package/dist/chunk-EL6QLAWX.js.map +1 -0
  31. package/dist/{chunk-6C526VNN.cjs → chunk-EYEW6PTA.cjs} +118 -358
  32. package/dist/chunk-EYEW6PTA.cjs.map +1 -0
  33. package/dist/chunk-FQJK446R.js +1606 -0
  34. package/dist/chunk-FQJK446R.js.map +1 -0
  35. package/dist/{chunk-4PSQS3SW.cjs → chunk-GLLDTKZK.cjs} +9 -7
  36. package/dist/chunk-GLLDTKZK.cjs.map +1 -0
  37. package/dist/{chunk-FQOTC3UU.cjs → chunk-IE6OU3WQ.cjs} +16 -318
  38. package/dist/chunk-IE6OU3WQ.cjs.map +1 -0
  39. package/dist/chunk-J54Z3OCR.cjs +1606 -0
  40. package/dist/chunk-J54Z3OCR.cjs.map +1 -0
  41. package/dist/{chunk-PC746XCO.js → chunk-K2PFPBMF.js} +5563 -15048
  42. package/dist/chunk-K2PFPBMF.js.map +1 -0
  43. package/dist/chunk-KXCRGTRN.cjs +2379 -0
  44. package/dist/chunk-KXCRGTRN.cjs.map +1 -0
  45. package/dist/{chunk-IZ7JSBFP.js → chunk-LCNMR277.js} +1 -1
  46. package/dist/chunk-LCNMR277.js.map +1 -0
  47. package/dist/chunk-LFGGF7OT.cjs +449 -0
  48. package/dist/chunk-LFGGF7OT.cjs.map +1 -0
  49. package/dist/chunk-M2OCXTNT.js +311 -0
  50. package/dist/chunk-M2OCXTNT.js.map +1 -0
  51. package/dist/{chunk-L7ULJKG7.js → chunk-MBFWU2EM.js} +10 -6
  52. package/dist/{chunk-L7ULJKG7.js.map → chunk-MBFWU2EM.js.map} +1 -1
  53. package/dist/chunk-ME4EVDFP.js +619 -0
  54. package/dist/chunk-ME4EVDFP.js.map +1 -0
  55. package/dist/chunk-OQ6X7ZOC.js +449 -0
  56. package/dist/chunk-OQ6X7ZOC.js.map +1 -0
  57. package/dist/{chunk-4TLE6VLU.js → chunk-OY7OF7E7.js} +24 -30
  58. package/dist/chunk-OY7OF7E7.js.map +1 -0
  59. package/dist/chunk-POKKCWKF.js +354 -0
  60. package/dist/chunk-POKKCWKF.js.map +1 -0
  61. package/dist/{chunk-GUTS7HGA.cjs → chunk-QHIXS3W2.cjs} +2514 -11999
  62. package/dist/chunk-QHIXS3W2.cjs.map +1 -0
  63. package/dist/chunk-TFSYSWPS.cjs +89 -0
  64. package/dist/chunk-TFSYSWPS.cjs.map +1 -0
  65. package/dist/{chunk-53FUMSZ5.cjs → chunk-W6M2FLLT.cjs} +46 -40
  66. package/dist/chunk-W6M2FLLT.cjs.map +1 -0
  67. package/dist/{chunk-3JIQVE7T.js → chunk-WHMATDVP.js} +15 -9
  68. package/dist/{chunk-3JIQVE7T.js.map → chunk-WHMATDVP.js.map} +1 -1
  69. package/dist/{chunk-YBYI62OE.cjs → chunk-X647HY3F.cjs} +37 -33
  70. package/dist/chunk-X647HY3F.cjs.map +1 -0
  71. package/dist/{chunk-UNVE2SDJ.cjs → chunk-X6BV7MB7.cjs} +31 -37
  72. package/dist/chunk-X6BV7MB7.cjs.map +1 -0
  73. package/dist/{chunk-7OVGB2DQ.cjs → chunk-XREEV72C.cjs} +25 -19
  74. package/dist/chunk-XREEV72C.cjs.map +1 -0
  75. package/dist/chunk-YETA25JW.cjs +354 -0
  76. package/dist/chunk-YETA25JW.cjs.map +1 -0
  77. package/dist/{chunk-FCDQNTDG.cjs → chunk-YIGPRLQY.cjs} +20 -21
  78. package/dist/chunk-YIGPRLQY.cjs.map +1 -0
  79. package/dist/{chunk-X4DOXQRT.js → chunk-ZP4AVIZP.js} +6 -4
  80. package/dist/{chunk-X4DOXQRT.js.map → chunk-ZP4AVIZP.js.map} +1 -1
  81. package/dist/components/chat/index.cjs +18 -8
  82. package/dist/components/chat/index.cjs.map +1 -1
  83. package/dist/components/chat/index.js +85 -75
  84. package/dist/components/contact/index.cjs +15 -8
  85. package/dist/components/contact/index.cjs.map +1 -1
  86. package/dist/components/contact/index.js +14 -7
  87. package/dist/components/docs/doc-viewer.d.ts +2 -39
  88. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  89. package/dist/components/docs/index.cjs +9 -17
  90. package/dist/components/docs/index.cjs.map +1 -1
  91. package/dist/components/docs/index.d.ts +0 -4
  92. package/dist/components/docs/index.d.ts.map +1 -1
  93. package/dist/components/docs/index.js +8 -16
  94. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  95. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  96. package/dist/components/embeds/index.cjs +15 -38
  97. package/dist/components/embeds/index.cjs.map +1 -1
  98. package/dist/components/embeds/index.d.ts +0 -8
  99. package/dist/components/embeds/index.d.ts.map +1 -1
  100. package/dist/components/embeds/index.js +17 -40
  101. package/dist/components/faq/index.cjs +16 -9
  102. package/dist/components/faq/index.cjs.map +1 -1
  103. package/dist/components/faq/index.js +15 -8
  104. package/dist/components/features/index.cjs +16 -8
  105. package/dist/components/features/index.cjs.map +1 -1
  106. package/dist/components/features/index.js +32 -24
  107. package/dist/components/index.cjs +452 -257
  108. package/dist/components/index.cjs.map +1 -1
  109. package/dist/components/index.js +976 -781
  110. package/dist/components/index.js.map +1 -1
  111. package/dist/components/layout/page-layout.d.ts +1 -10
  112. package/dist/components/layout/page-layout.d.ts.map +1 -1
  113. package/dist/components/layout/title-block.d.ts +1 -17
  114. package/dist/components/layout/title-block.d.ts.map +1 -1
  115. package/dist/components/navigation/index.cjs +15 -7
  116. package/dist/components/navigation/index.cjs.map +1 -1
  117. package/dist/components/navigation/index.js +17 -9
  118. package/dist/components/onboarding-guides/index.cjs +36 -35
  119. package/dist/components/onboarding-guides/index.cjs.map +1 -1
  120. package/dist/components/onboarding-guides/index.js +14 -13
  121. package/dist/components/onboarding-guides/index.js.map +1 -1
  122. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts +1 -1
  123. package/dist/components/onboarding-guides/onboarding-guide-detail-view.d.ts.map +1 -1
  124. package/dist/components/related-content/index.cjs +16 -9
  125. package/dist/components/related-content/index.cjs.map +1 -1
  126. package/dist/components/related-content/index.js +15 -8
  127. package/dist/components/shared/dev-section/dev-section-page.d.ts +0 -9
  128. package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -1
  129. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -1
  130. package/dist/components/shared/dev-section/index.d.ts +1 -1
  131. package/dist/components/shared/dev-section/index.d.ts.map +1 -1
  132. package/dist/components/shared/doc-search/use-doc-search.d.ts.map +1 -1
  133. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -1
  134. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  135. package/dist/components/tickets/index.cjs +112 -100
  136. package/dist/components/tickets/index.cjs.map +1 -1
  137. package/dist/components/tickets/index.js +32 -20
  138. package/dist/components/tickets/index.js.map +1 -1
  139. package/dist/components/ui/file-manager/index.cjs +52 -50
  140. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  141. package/dist/components/ui/file-manager/index.js +6 -4
  142. package/dist/components/ui/file-manager/index.js.map +1 -1
  143. package/dist/components/ui/index.cjs +19 -13
  144. package/dist/components/ui/index.cjs.map +1 -1
  145. package/dist/components/ui/index.d.ts +0 -2
  146. package/dist/components/ui/index.d.ts.map +1 -1
  147. package/dist/components/ui/index.js +139 -133
  148. package/dist/components/ui/release-changelog-section.d.ts +2 -6
  149. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  150. package/dist/components/ui/simple-markdown-renderer.d.ts +8 -2
  151. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -1
  152. package/dist/contexts/chat-runtime-context.d.ts +0 -14
  153. package/dist/contexts/chat-runtime-context.d.ts.map +1 -1
  154. package/dist/contexts/index.cjs +3 -3
  155. package/dist/contexts/index.js +5 -5
  156. package/dist/embed-shims/index.cjs +3 -3
  157. package/dist/embed-shims/index.cjs.map +1 -1
  158. package/dist/embed-shims/index.js +4 -4
  159. package/dist/hooks/index.cjs +9 -4
  160. package/dist/hooks/index.cjs.map +1 -1
  161. package/dist/hooks/index.js +11 -6
  162. package/dist/index.cjs +20 -14
  163. package/dist/index.cjs.map +1 -1
  164. package/dist/index.js +364 -358
  165. package/dist/types/doc-source.d.ts +1 -31
  166. package/dist/types/doc-source.d.ts.map +1 -1
  167. package/dist/utils/index.cjs +0 -4
  168. package/dist/utils/index.cjs.map +1 -1
  169. package/dist/utils/index.d.ts +0 -1
  170. package/dist/utils/index.d.ts.map +1 -1
  171. package/dist/utils/index.js +1 -4
  172. package/dist/utils/index.js.map +1 -1
  173. package/package.json +1 -7
  174. package/src/components/chat/embeddable-chat.tsx +1 -1
  175. package/src/components/docs/doc-viewer.tsx +19 -111
  176. package/src/components/docs/index.ts +0 -17
  177. package/src/components/docs/use-document-tree.ts +0 -21
  178. package/src/components/embeds/embed-iframe.tsx +9 -7
  179. package/src/components/embeds/index.ts +0 -30
  180. package/src/components/embeds/og-link-preview.tsx +13 -13
  181. package/src/components/layout/page-layout.tsx +1 -14
  182. package/src/components/layout/title-block.tsx +62 -40
  183. package/src/components/onboarding-guides/onboarding-guide-detail-view.tsx +3 -3
  184. package/src/components/shared/dev-section/dev-section-page.tsx +1 -9
  185. package/src/components/shared/dev-section/dev-section-view.tsx +9 -14
  186. package/src/components/shared/dev-section/index.ts +1 -1
  187. package/src/components/shared/doc-search/use-doc-search.ts +3 -7
  188. package/src/components/shared/legal-document/legal-document-page.tsx +2 -2
  189. package/src/components/shared/product-release/release-detail-page.tsx +4 -6
  190. package/src/components/ui/index.ts +0 -2
  191. package/src/components/ui/release-changelog-section.tsx +2 -7
  192. package/src/components/ui/simple-markdown-renderer.tsx +11 -7
  193. package/src/contexts/chat-runtime-context.tsx +0 -14
  194. package/src/types/doc-source.ts +1 -33
  195. package/src/utils/index.ts +0 -1
  196. package/dist/chunk-2QG57XOJ.js.map +0 -1
  197. package/dist/chunk-4PSQS3SW.cjs.map +0 -1
  198. package/dist/chunk-4TLE6VLU.js.map +0 -1
  199. package/dist/chunk-53FUMSZ5.cjs.map +0 -1
  200. package/dist/chunk-6C526VNN.cjs.map +0 -1
  201. package/dist/chunk-7OVGB2DQ.cjs.map +0 -1
  202. package/dist/chunk-F5OB2YAL.cjs +0 -144
  203. package/dist/chunk-F5OB2YAL.cjs.map +0 -1
  204. package/dist/chunk-FBWXMMRB.cjs +0 -2
  205. package/dist/chunk-FBWXMMRB.cjs.map +0 -1
  206. package/dist/chunk-FCDQNTDG.cjs.map +0 -1
  207. package/dist/chunk-FQOTC3UU.cjs.map +0 -1
  208. package/dist/chunk-GUTS7HGA.cjs.map +0 -1
  209. package/dist/chunk-GZ4C3XW6.js +0 -2
  210. package/dist/chunk-GZ4C3XW6.js.map +0 -1
  211. package/dist/chunk-IZ7JSBFP.js.map +0 -1
  212. package/dist/chunk-JALO4TAZ.js.map +0 -1
  213. package/dist/chunk-L6PSSIUQ.cjs.map +0 -1
  214. package/dist/chunk-PC746XCO.js.map +0 -1
  215. package/dist/chunk-PWQUAVA3.js.map +0 -1
  216. package/dist/chunk-SA2WPJVO.js +0 -144
  217. package/dist/chunk-SA2WPJVO.js.map +0 -1
  218. package/dist/chunk-UNVE2SDJ.cjs.map +0 -1
  219. package/dist/chunk-WMSTJAZT.cjs.map +0 -1
  220. package/dist/chunk-YBYI62OE.cjs.map +0 -1
  221. package/dist/components/case-studies/index.cjs +0 -126
  222. package/dist/components/case-studies/index.cjs.map +0 -1
  223. package/dist/components/case-studies/index.d.ts +0 -2
  224. package/dist/components/case-studies/index.d.ts.map +0 -1
  225. package/dist/components/case-studies/index.js +0 -126
  226. package/dist/components/case-studies/index.js.map +0 -1
  227. package/dist/components/case-studies/share-experience-section.d.ts +0 -48
  228. package/dist/components/case-studies/share-experience-section.d.ts.map +0 -1
  229. package/dist/components/docs/docs-hub-page.d.ts +0 -46
  230. package/dist/components/docs/docs-hub-page.d.ts.map +0 -1
  231. package/dist/components/docs/skeletons.d.ts +0 -32
  232. package/dist/components/docs/skeletons.d.ts.map +0 -1
  233. package/dist/components/docs/use-docs-resolve-link.d.ts +0 -20
  234. package/dist/components/docs/use-docs-resolve-link.d.ts.map +0 -1
  235. package/dist/components/embeds/embed-container.d.ts +0 -37
  236. package/dist/components/embeds/embed-container.d.ts.map +0 -1
  237. package/dist/components/embeds/file-download-card.d.ts +0 -18
  238. package/dist/components/embeds/file-download-card.d.ts.map +0 -1
  239. package/dist/components/embeds/linkedin-embed-client.d.ts +0 -8
  240. package/dist/components/embeds/linkedin-embed-client.d.ts.map +0 -1
  241. package/dist/components/embeds/markdown-image.d.ts +0 -5
  242. package/dist/components/embeds/markdown-image.d.ts.map +0 -1
  243. package/dist/components/embeds/reddit-embed-client.d.ts +0 -7
  244. package/dist/components/embeds/reddit-embed-client.d.ts.map +0 -1
  245. package/dist/components/embeds/rich-markdown-runtime.d.ts +0 -46
  246. package/dist/components/embeds/rich-markdown-runtime.d.ts.map +0 -1
  247. package/dist/components/embeds/twitter-embed-client.d.ts +0 -8
  248. package/dist/components/embeds/twitter-embed-client.d.ts.map +0 -1
  249. package/dist/components/layout/page-header.d.ts +0 -78
  250. package/dist/components/layout/page-header.d.ts.map +0 -1
  251. package/dist/components/layout/page-with-header.d.ts +0 -67
  252. package/dist/components/layout/page-with-header.d.ts.map +0 -1
  253. package/dist/components/ui/rich-markdown-renderer.d.ts +0 -34
  254. package/dist/components/ui/rich-markdown-renderer.d.ts.map +0 -1
  255. package/dist/utils/page-header-constants.d.ts +0 -15
  256. package/dist/utils/page-header-constants.d.ts.map +0 -1
  257. package/dist/utils/social-embed-cache.d.ts +0 -29
  258. package/dist/utils/social-embed-cache.d.ts.map +0 -1
  259. package/src/components/case-studies/index.ts +0 -4
  260. package/src/components/case-studies/share-experience-section.tsx +0 -185
  261. package/src/components/docs/docs-hub-page.tsx +0 -149
  262. package/src/components/docs/skeletons.tsx +0 -138
  263. package/src/components/docs/use-docs-resolve-link.ts +0 -52
  264. package/src/components/embeds/embed-container.tsx +0 -80
  265. package/src/components/embeds/file-download-card.tsx +0 -54
  266. package/src/components/embeds/linkedin-embed-client.tsx +0 -100
  267. package/src/components/embeds/markdown-image.tsx +0 -88
  268. package/src/components/embeds/reddit-embed-client.tsx +0 -550
  269. package/src/components/embeds/rich-markdown-runtime.tsx +0 -79
  270. package/src/components/embeds/twitter-embed-client.tsx +0 -308
  271. package/src/components/layout/page-header.tsx +0 -182
  272. package/src/components/layout/page-with-header.tsx +0 -110
  273. package/src/components/ui/rich-markdown-renderer.tsx +0 -1203
  274. package/src/utils/page-header-constants.ts +0 -15
  275. package/src/utils/social-embed-cache.ts +0 -391
  276. /package/dist/{chunk-PI4WSYQV.js.map → chunk-3ZXUQQL4.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-YIGPRLQY.cjs","../src/components/shared/doc-search/format-relative-path.ts","../src/components/shared/doc-search/doc-search-result-row.tsx","../src/components/shared/doc-search/doc-search-bar.tsx","../src/components/shared/doc-search/map-doc-search-results.ts","../src/components/shared/doc-search/resolve-search-result-action.ts","../src/components/shared/doc-search/use-doc-search.ts"],"names":["jsx"],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-YIGPRLQY.cjs","sourcesContent":[null,"/**\n * Format a full document path as a breadcrumb trail.\n * Shows parent folders only (excludes the last segment / filename).\n *\n * @example\n * formatRelativePath('openframe-oss-tenant/architecture/api-controllers.md')\n * // → 'Openframe oss tenant / Architecture'\n */\nexport function formatRelativePath(fullPath: string): string {\n if (!fullPath) return ''\n const segments = fullPath.replace(/\\.md$/, '').split('/')\n // Show only parent path (exclude the filename itself since the title already shows it)\n const parentSegments = segments.length > 1 ? segments.slice(0, -1) : segments\n return parentSegments\n .map((seg) => seg.charAt(0).toUpperCase() + seg.slice(1).replace(/-/g, ' '))\n .join(' / ')\n}\n","'use client'\n\n/**\n * Single row in the `<SearchInput>` dropdown — the standard layout\n * used by every doc-search-backed surface (company-hub data-room\n * search bar, onboarding-guide catalog search, …). Single source of\n * truth for the row appearance so search dropdowns are visually\n * identical everywhere.\n *\n * Resolves the source icon via the same `resolveSourceIcon()`\n * registry the inline chat-card refs use, so a row pointing at e.g.\n * an onboarding-guide surfaces the SAME `<GraduationCap>` glyph the\n * chat card surfaces — no cross-surface drift.\n */\n\nimport { resolveSourceIcon } from '../../chat/utils/source-row-cta'\nimport { formatRelativePath } from './format-relative-path'\n\n/**\n * Minimal result shape this row renders. Compatible with any\n * doc-search hook whose result type exposes `{ title?, path?,\n * metadata? }`. The two hub consumers (onboarding-guide catalog,\n * data-room sidebar) both satisfy this shape via their\n * `useDocSearch` hook result.\n */\nexport interface DocSearchResultRowEntry {\n title?: string\n path?: string\n metadata?: Record<string, unknown>\n}\n\nexport interface DocSearchResultRowProps {\n result: DocSearchResultRowEntry\n isHighlighted: boolean\n}\n\nexport function DocSearchResultRow({\n result,\n isHighlighted,\n}: DocSearchResultRowProps) {\n const docType = (result.metadata?.documentType as string) || undefined\n const sourceRepo = (result.metadata?.sourceRepo as string) || undefined\n const { Icon: SourceIcon, label: iconLabel } = resolveSourceIcon({\n sourceRepo,\n documentType: docType,\n })\n const isGroup = result.metadata?.isGroup as boolean | undefined\n\n return (\n <div className=\"flex items-center gap-3 w-full min-w-0\">\n <span\n className=\"flex-shrink-0 text-ods-text-secondary\"\n title={iconLabel}\n >\n <SourceIcon className=\"size-4\" />\n </span>\n <div className=\"min-w-0 flex-1\">\n <div\n className={`text-sm font-medium leading-5 truncate ${\n isHighlighted ? 'text-ods-accent' : 'text-ods-text-primary'\n }`}\n >\n {result.title || result.path}\n </div>\n {!isGroup && result.path?.includes('/') && (\n <div className=\"text-xs leading-4 text-ods-text-secondary truncate mt-0.5\">\n {formatRelativePath(result.path)}\n </div>\n )}\n </div>\n </div>\n )\n}\n","'use client'\n\n/**\n * `<DocSearchBar>` — the canonical RAG-search dropdown surface.\n *\n * Mounted by every doc-search consumer (data-room sidebar, onboarding-\n * guide catalog, and any future surface that needs typeahead against\n * `/api/docs/search`). Wraps `<SearchInput>` with the lib's standard\n * `<DocSearchResultRow>` so the dropdown looks identical everywhere.\n *\n * ## Why a presentation component, not a \"search bar that owns its\n * own hook\"\n *\n * The data-fetching hook (`useDocSearch`) lives hub-side because it\n * depends on hub-only context (`useDocNavigation`, the rag-table-\n * config registry, the hub's `decideNewTab` helper). Moving the hook\n * would cascade ~5 more file migrations into the lib.\n *\n * Instead, the hook stays hub-side and callers pass its result into\n * this component as plain props. Both consumers shrink to ~5 lines.\n */\n\nimport type { ReactNode } from 'react'\nimport { SearchInput, type SearchResult } from '../../ui/search-input'\nimport { DocSearchResultRow } from './doc-search-result-row'\n\nexport interface DocSearchBarProps {\n placeholder: string\n query: string\n onQueryChange: (value: string) => void\n /** Hook-fetched results. Reuses the lib's `<SearchInput>` `SearchResult`\n * shape directly so callers don't translate. */\n results: SearchResult[]\n isLoading: boolean\n /** Result selection handler. Mirrors `<SearchInput>` — the second\n * `modifiers` argument is preserved so cmd-click / shift-click on\n * a result row still forces new-tab behavior. Hub `useDocSearch`\n * reads these to short-circuit to `window.open()`. */\n onResultSelect: (\n result: SearchResult,\n modifiers?: {\n metaKey?: boolean\n ctrlKey?: boolean\n shiftKey?: boolean\n altKey?: boolean\n button?: number\n },\n ) => void\n /** Lets the caller's hook force the dropdown open after a recent\n * internal action (e.g. result navigation). `undefined` falls back\n * to `<SearchInput>`'s built-in focus/hover heuristics. */\n showDropdown?: boolean\n /** Defaults to 2 — matches the existing data-room and onboarding-\n * guide consumers. Override only if a surface needs different\n * typeahead semantics. */\n minQueryLength?: number\n /** Defaults to 0 — both existing consumers debounce inside the\n * hook, not the input. */\n debounceMs?: number\n className?: string\n /** Optional row-renderer override. Defaults to the lib's standard\n * `<DocSearchResultRow>` (source icon + title + path breadcrumb).\n * Override only when a surface needs custom row chrome. */\n renderResult?: (result: SearchResult, isHighlighted: boolean) => ReactNode\n}\n\nexport function DocSearchBar({\n placeholder,\n query,\n onQueryChange,\n results,\n isLoading,\n onResultSelect,\n showDropdown,\n minQueryLength = 2,\n debounceMs = 0,\n className = 'w-full',\n renderResult,\n}: DocSearchBarProps) {\n return (\n <SearchInput\n placeholder={placeholder}\n value={query}\n onChange={onQueryChange}\n results={results}\n isLoading={isLoading}\n onResultSelect={onResultSelect}\n showDropdown={showDropdown || undefined}\n debounceMs={debounceMs}\n minQueryLength={minQueryLength}\n className={className}\n renderResult={\n renderResult ??\n ((result, isHighlighted) => (\n <DocSearchResultRow result={result} isHighlighted={isHighlighted} />\n ))\n }\n />\n )\n}\n","/**\n * Map RAG `/api/docs/search` wire results into the `<DocSearchBar>`\n * dropdown's row shape, collapsing entity-table rows into grouped\n * results so the dropdown lists ONE \"Cap Table (12 records)\" row\n * instead of 12 individual rows.\n *\n * Pure transform — no telemetry, no navigation, no React deps. Lifted\n * from the hub's `hooks/use-docs.ts:mapDocSearchResults` (the hub's\n * `traceCompose` call was hub-only telemetry and is intentionally\n * dropped — callers that want logging can wrap this helper).\n */\n\nimport type { SearchResult } from '../../ui/search-input'\nimport type { DocSearchResult } from './types'\n\n/** Source repos that should be collapsed into grouped results in the search bar.\n * Only financial tables (all rows link to the same admin page).\n * Content tables (blog, webinar, podcast, etc.) stay individual since each has a unique URL. */\nconst SEARCH_GROUP_REPOS = new Set([\n 'financial-cap-table',\n 'financial-kpis',\n 'financial-pnl',\n 'financial-balance-sheet',\n 'financial-cash-flow',\n])\n\nconst ENTITY_LABELS: Record<string, string> = {\n 'financial-cap-table': 'Cap Table',\n 'financial-kpis': 'Financial KPIs',\n 'financial-pnl': 'Profit & Loss',\n 'financial-balance-sheet': 'Balance Sheets',\n 'financial-cash-flow': 'Cash Flow',\n 'blog-posts': 'Blog Posts',\n 'product-releases': 'Product Releases',\n 'case-studies': 'Case Studies',\n webinars: 'Webinars',\n events: 'Events',\n podcasts: 'Podcasts',\n}\n\nexport function mapDocSearchResults(docs: DocSearchResult[]): SearchResult[] {\n const entityGroups = new Map<string, DocSearchResult[]>()\n // Track insertion order — groups appear where the FIRST row of that\n // repo appeared in the response.\n const order: Array<\n { type: 'entity'; repo: string } | { type: 'doc'; doc: DocSearchResult }\n > = []\n const seenRepos = new Set<string>()\n\n for (const doc of docs) {\n if (doc.sourceRepo && SEARCH_GROUP_REPOS.has(doc.sourceRepo)) {\n const group = entityGroups.get(doc.sourceRepo) || []\n group.push(doc)\n entityGroups.set(doc.sourceRepo, group)\n if (!seenRepos.has(doc.sourceRepo)) {\n seenRepos.add(doc.sourceRepo)\n order.push({ type: 'entity', repo: doc.sourceRepo })\n }\n } else {\n order.push({ type: 'doc', doc })\n }\n }\n\n const results: SearchResult[] = []\n for (const entry of order) {\n if (entry.type === 'entity') {\n const rows = entityGroups.get(entry.repo)!\n const label = ENTITY_LABELS[entry.repo] || entry.repo\n results.push({\n id: `group-${entry.repo}`,\n title: `${label} (${rows.length} ${rows.length === 1 ? 'record' : 'records'})`,\n path: rows[0].path,\n type: 'file',\n metadata: {\n documentType: rows[0].documentType,\n externalUrl: rows[0].externalUrl,\n sourceRepo: entry.repo,\n id: rows[0].entityId,\n isGroup: true,\n items: rows.map((r) => ({\n name: r.name,\n externalUrl: r.externalUrl,\n id: r.entityId,\n sourceRepo: r.sourceRepo,\n documentType: r.documentType,\n })),\n },\n })\n } else {\n const doc = entry.doc\n const isNonMarkdown = doc.documentType && doc.documentType !== 'markdown'\n results.push({\n id: doc.path,\n title: doc.name,\n description: isNonMarkdown ? doc.name : doc.snippet,\n path: doc.path,\n type: doc.type,\n metadata: {\n matchType: doc.matchType,\n ...(doc.documentType ? { documentType: doc.documentType } : {}),\n ...(doc.externalUrl ? { externalUrl: doc.externalUrl } : {}),\n ...(doc.targetPlatform != null\n ? { targetPlatform: doc.targetPlatform }\n : {}),\n ...(doc.sourceRepo ? { sourceRepo: doc.sourceRepo } : {}),\n ...(doc.entityId ? { id: doc.entityId } : {}),\n },\n })\n }\n }\n\n return results\n}\n","/**\n * Resolve what should happen when the user picks a search result.\n * Returns one of five typed actions so the caller is a single switch.\n *\n * Resolution order:\n * 1. `externalUrl` present → use `decideNewTab` to choose same-tab vs\n * new-tab against the row's `targetPlatform`.\n * 2. Row has `id` + `sourceRepo` + `documentType` → synth an Ask-AI\n * action (entity drill-in via primary key, no URL).\n * 3. Row has only `path` → legacy navigation fallback.\n * 4. Nothing actionable → noop.\n *\n * Lifted from the hub's `hooks/use-docs.ts:resolveSearchResultAction`.\n * Pure — no React, no telemetry.\n */\n\nimport type { SearchResult } from '../../ui/search-input'\nimport type { ChatRef } from '../../chat/chat-ref.types'\nimport { decideNewTab } from '../../chat/utils/decide-new-tab'\n\nexport type SearchResultAction =\n | { kind: 'navigate-same-tab'; href: string }\n | { kind: 'navigate-new-tab'; href: string }\n | { kind: 'ask-ai'; detail: { source: string; ref: ChatRef } }\n | { kind: 'route'; path: string }\n | { kind: 'noop' }\n\nexport function resolveSearchResultAction(\n result: SearchResult,\n source: string,\n runtimeMode?: 'host' | 'embed',\n): SearchResultAction {\n const meta = result.metadata ?? {}\n const externalUrl = meta.externalUrl as string | undefined\n if (externalUrl) {\n // Same pure helper `useNavLink` and `useUnifiedNav` call — single\n // decision rule across cards, chips, and autocomplete rows. Thread\n // the caller's `source` as `currentSource` so the platform-vs-\n // platform comparison matches the hub's pre-migration behavior.\n const targetPlatform = meta.targetPlatform as string | null | undefined\n const isNewTab = decideNewTab({\n href: externalUrl,\n targetPlatform,\n surface: 'useUnifiedNav',\n runtimeMode,\n currentSource: source,\n })\n return isNewTab\n ? { kind: 'navigate-new-tab', href: externalUrl }\n : { kind: 'navigate-same-tab', href: externalUrl }\n }\n const rowId = meta.id as string | undefined\n const sourceRepo = meta.sourceRepo as string | undefined\n const documentType = meta.documentType as string | undefined\n if (rowId && sourceRepo && documentType) {\n return {\n kind: 'ask-ai',\n detail: {\n source,\n ref: { type: documentType, id: rowId, title: result.title, url: null },\n },\n }\n }\n if (result.path) {\n return { kind: 'route', path: result.path }\n }\n return { kind: 'noop' }\n}\n","'use client'\n\n/**\n * `useDocSearch` — debounced RAG-search hook against `/api/docs/search`.\n *\n * Pure fetch + navigation glue. Embedders can mount this directly\n * (any host with a reverse-proxy that exposes `/api/docs/search` will\n * work). Hub callers wire it into the lib `<DocSearchBar>` for the\n * canonical typeahead dropdown.\n *\n * ## What moved from hub to lib\n *\n * Lifted from `multi-platform-hub/hooks/use-docs.ts:useDocSearch`. Two\n * hub-only concerns are now optional injection points instead of\n * direct imports:\n *\n * - `useDocNavigation()` (hub's in-page doc-tree swap) → optional\n * `onInPageSwap?: (path: string) => boolean` config callback. When\n * present and returns true, the hook treats a same-origin result\n * click as \"handled in-page\"; when absent or returns false, the\n * hook falls back to `onNavigate(path)` (`router.push` on hub,\n * `window.location.assign` on bare embedders).\n * - `traceCompose` (hub-only telemetry) → dropped. The lib has no\n * equivalent runtime-context yet; bring it back when there is one.\n *\n * Everything else (debounce, `useChatRuntime` for embed-mode short-\n * circuit, embed-shim router, the action-resolver + result-mapper) is\n * now lib-resident.\n */\n\nimport { useState, useEffect, useCallback } from 'react'\nimport { useRouter } from '../../../embed-shims'\nimport { useDebounce } from '../../../hooks/ui/use-debounce'\nimport { useChatRuntime } from '../../../contexts/chat-runtime-context'\nimport type { SearchResult } from '../../ui/search-input'\nimport {\n resolveExternalNavigation,\n stripSameOriginToPath,\n NEW_TAB_FEATURES,\n} from '../../chat/utils/chat-nav-resolution'\nimport type { DocSearchResult } from './types'\nimport { mapDocSearchResults } from './map-doc-search-results'\nimport { resolveSearchResultAction } from './resolve-search-result-action'\n\nexport interface UseDocSearchConfig {\n /** Discriminator passed to `/api/docs/search?source=` (e.g.\n * `'openframe'`). Embedders set it to whatever discriminator their\n * reverse-proxy expects. */\n source: string\n /** Base route prefix this search lives under (e.g. `'/onboarding-guides'`).\n * When a result's href starts with `${baseRoute}/`, the hook\n * attempts the optional in-page swap path before falling through\n * to a full nav. */\n baseRoute: string\n /** Imperative navigation fallback. Called when no override\n * (in-page swap, new-tab) applies. Hub callers pass\n * `(path) => router.push(path)`; embedders pass an equivalent. */\n onNavigate: (path: string) => void\n /** Optional `RagTableConfig.id` list to narrow the search to specific\n * tables (e.g. `['onboarding-guides']`). Forwarded to\n * `/api/docs/search?tableIds=…` which intersects with the source's\n * standing set. */\n tableIds?: string[]\n /** Optional in-page swap callback. When the result's href is under\n * `baseRoute` AND this callback returns true, the hook treats the\n * click as handled in-page (no router push). Hub's\n * `<DocumentationSection>` wires this to\n * `useDocNavigation().navigate(path)`. */\n onInPageSwap?: (path: string) => boolean\n /** Optional endpoint override. Defaults to `'/api/docs/search'`\n * (the hub's reverse-proxy route). Embedders with a different\n * path can override. */\n searchEndpoint?: string\n}\n\nexport function useDocSearch(config: UseDocSearchConfig) {\n const {\n source,\n baseRoute,\n onNavigate,\n tableIds,\n onInPageSwap,\n searchEndpoint = '/api/docs/search',\n } = config\n const tableIdsKey = tableIds && tableIds.length > 0 ? tableIds.join(',') : ''\n\n const router = useRouter()\n // Optional chat-runtime read — when present and mode='embed' the\n // search-result row click short-circuits to a new-tab open against\n // the absolutized URL. Null/host preserves today's behavior.\n const runtime = useChatRuntime()\n\n const [query, setQuery] = useState('')\n const [results, setResults] = useState<SearchResult[]>([])\n const [isFetching, setIsFetching] = useState(false)\n const debouncedQuery = useDebounce(query, 300)\n\n useEffect(() => {\n if (!debouncedQuery || debouncedQuery.trim().length < 2) {\n setResults([])\n setIsFetching(false)\n return\n }\n\n let cancelled = false\n\n async function fetchResults() {\n setIsFetching(true)\n try {\n const params = new URLSearchParams({\n q: debouncedQuery,\n source,\n limit: '10',\n })\n if (tableIdsKey) params.set('tableIds', tableIdsKey)\n\n const response = await fetch(`${searchEndpoint}?${params.toString()}`)\n if (!response.ok) {\n throw new Error(`Search request failed: ${response.status}`)\n }\n\n const json = await response.json()\n\n if (!cancelled && json.success && Array.isArray(json.data)) {\n const mapped = mapDocSearchResults(json.data as DocSearchResult[])\n setResults(mapped)\n }\n } catch (error) {\n console.error('Doc search error:', error)\n if (!cancelled) {\n setResults([])\n }\n } finally {\n if (!cancelled) {\n setIsFetching(false)\n }\n }\n }\n\n fetchResults()\n\n return () => {\n cancelled = true\n }\n }, [debouncedQuery, source, tableIdsKey, searchEndpoint])\n\n // Derived loading state — single source of truth for \"should the\n // dropdown show 'Loading...' instead of 'No results found'\":\n const isLoading =\n query.trim().length >= 2 && (query !== debouncedQuery || isFetching)\n\n // Track whether dropdown should stay open (external link opened in new tab).\n const [keepOpen, setKeepOpen] = useState(false)\n\n const handleResultSelect = useCallback(\n (\n result: SearchResult,\n modifiers?: {\n metaKey?: boolean\n ctrlKey?: boolean\n shiftKey?: boolean\n altKey?: boolean\n button?: number\n },\n ) => {\n const action = resolveSearchResultAction(\n result,\n source,\n runtime?.navigation.mode,\n )\n // Modifier / non-primary mouse click → force new tab regardless of\n // same-tab/new-tab decision. The dropdown row is a `<div>`, not an\n // `<a target=\"_blank\">`, so the browser doesn't background-tab\n // natively on cmd-click. Honor it explicitly here for parity with\n // the anchor-based surfaces (cards, chips, related-content). Plain\n // Enter from the keyboard passes `modifiers === undefined`.\n const wantsNewTab =\n modifiers &&\n (modifiers.metaKey ||\n modifiers.ctrlKey ||\n modifiers.shiftKey ||\n modifiers.altKey ||\n (typeof modifiers.button === 'number' && modifiers.button !== 0))\n switch (action.kind) {\n case 'navigate-same-tab': {\n // Embed-mode short-circuit — autocomplete row clicked while\n // the chat panel is hosted inside an embedding app.\n if (runtime?.navigation.mode === 'embed') {\n setKeepOpen(true)\n const targetPlatform =\n (result.metadata?.targetPlatform as string | null | undefined) ?? null\n resolveExternalNavigation({\n href: action.href,\n targetPlatform,\n runtime,\n }).open()\n return\n }\n if (wantsNewTab) {\n setKeepOpen(true)\n window.open(action.href, '_blank', NEW_TAB_FEATURES)\n return\n }\n // Same-origin click:\n // 1. If the href is under the current doc-tree's baseRoute AND\n // an `onInPageSwap` callback is wired AND returns true →\n // consider in-page swap handled.\n // 2. Otherwise → embed-shim `router.push()` (soft RSC nav on\n // Next.js hosts, window.location.assign on bare hosts).\n setKeepOpen(false)\n const path =\n baseRoute && action.href.startsWith(`${baseRoute}/`)\n ? action.href.slice(baseRoute.length + 1)\n : null\n if (path && onInPageSwap?.(path)) return\n router.push(stripSameOriginToPath(action.href))\n return\n }\n case 'navigate-new-tab':\n // Cross-origin (e.g. clicking a flamingo.run release from\n // product-hub) — open in a new tab. Keep dropdown open so the\n // user can pick another result without re-searching.\n setKeepOpen(true)\n window.open(action.href, '_blank', NEW_TAB_FEATURES)\n return\n case 'ask-ai':\n // Row is searchable-but-not-openable (cap_table positions,\n // financial-kpi snapshots, anything backed by\n // `resolveUrl: () => null`). Dispatch a CustomEvent that\n // GlobalAskAI listens for — opens chat + drills via\n // `entityIdFilter` (primary-key only, same as inline-card Ask).\n setKeepOpen(false)\n window.dispatchEvent(\n new CustomEvent('ask-ai:open-with-ref', { detail: action.detail }),\n )\n return\n case 'route':\n // Final fallback: legacy navigation by path. Hits when a row\n // has neither URL nor pk metadata — a mapper/API regression.\n setKeepOpen(false)\n onNavigate(action.path)\n return\n case 'noop':\n return\n }\n },\n [onNavigate, source, baseRoute, router, onInPageSwap, runtime],\n )\n\n // Reset keepOpen when query changes.\n useEffect(() => {\n setKeepOpen(false)\n }, [query])\n\n return {\n query,\n setQuery,\n results,\n isLoading,\n handleResultSelect,\n keepDropdownOpen: keepOpen,\n }\n}\n"]}
@@ -1,12 +1,14 @@
1
1
  "use client";
2
2
  import {
3
- PageLayout,
3
+ PageLayout
4
+ } from "./chunk-D652TJBQ.js";
5
+ import {
4
6
  formatBioText,
5
7
  getProxiedImageUrl
6
- } from "./chunk-PC746XCO.js";
8
+ } from "./chunk-FQJK446R.js";
7
9
  import {
8
10
  useChatRuntime
9
- } from "./chunk-IZ7JSBFP.js";
11
+ } from "./chunk-LCNMR277.js";
10
12
  import {
11
13
  next_image_default
12
14
  } from "./chunk-LXC6P2EO.js";
@@ -146,4 +148,4 @@ export {
146
148
  DetailPageSkeleton,
147
149
  ArticleAuthorByline
148
150
  };
149
- //# sourceMappingURL=chunk-X4DOXQRT.js.map
151
+ //# sourceMappingURL=chunk-ZP4AVIZP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/shared/detail-page-skeleton.tsx","../src/components/shared/article-author-byline.tsx"],"sourcesContent":["\"use client\";\n\nimport { PageLayout } from '../layout/page-layout';\n\nexport interface DetailPageSkeletonProps {\n metadataColumns?: number; // Number of metadata grid columns (default 4)\n showImageGallery?: boolean; // Show horizontal image gallery (default true)\n /** Render only the skeleton blocks, WITHOUT the self-contained page wrapper\n * — the caller supplies its own (e.g. `<PageShell>`) so the loading state\n * matches the loaded page's width, padding, and min-height. Default false\n * (self-contained `<PageLayout>` at the hub article width). */\n bare?: boolean;\n}\n\nexport function DetailPageSkeleton({\n metadataColumns = 4,\n showImageGallery = true,\n bare = false\n}: DetailPageSkeletonProps = {}) {\n const content = (\n <div className=\"space-y-6 md:space-y-10 animate-pulse\">\n {/* Title Block */}\n <div className=\"flex flex-col gap-6 w-full\">\n <div className=\"h-16 md:h-20 w-full max-w-3xl bg-ods-card rounded\"></div>\n </div>\n\n {/* Category Tags Skeleton */}\n <div className=\"flex flex-wrap gap-2 w-full\">\n <div className=\"h-8 w-32 bg-ods-card rounded\"></div>\n <div className=\"h-8 w-28 bg-ods-card rounded\"></div>\n <div className=\"h-8 w-36 bg-ods-card rounded\"></div>\n </div>\n\n {/* Metadata Grid Skeleton */}\n <div className={`grid grid-cols-1 md:grid-cols-${metadataColumns} border border-ods-border rounded-md overflow-hidden w-full`}>\n {Array.from({ length: metadataColumns }).map((_, i) => (\n <div key={i} className=\"bg-ods-card border-b md:border-b-0 md:border-r last:border-r-0 border-ods-border p-4\">\n <div className=\"h-6 w-24 bg-ods-border rounded mb-2\"></div>\n <div className=\"h-5 w-20 bg-ods-border rounded\"></div>\n </div>\n ))}\n </div>\n\n {/* Image Gallery Skeleton */}\n {showImageGallery && (\n <div className=\"flex gap-6 overflow-x-auto w-full\">\n {[1, 2, 3, 4, 5].map((i) => (\n <div key={i} className=\"shrink-0 w-[240px] h-[200px] bg-ods-card rounded-md border border-ods-border\"></div>\n ))}\n </div>\n )}\n\n {/* Featured Image Skeleton (for case studies) */}\n {!showImageGallery && (\n <div className=\"aspect-[2560/1366] w-full bg-ods-card rounded-md\"></div>\n )}\n\n {/* Content Sections Skeleton */}\n {[1, 2, 3].map((section) => (\n <div key={section} className=\"space-y-6\">\n <div className=\"h-16 w-64 bg-ods-card rounded\"></div>\n <div className=\"space-y-3\">\n <div className=\"h-6 w-full bg-ods-card rounded\"></div>\n <div className=\"h-6 w-full bg-ods-card rounded\"></div>\n <div className=\"h-6 w-4/5 bg-ods-card rounded\"></div>\n </div>\n </div>\n ))}\n </div>\n );\n if (bare) return content;\n return (\n <PageLayout\n showHeader={false}\n className=\"bg-ods-bg max-w-[1280px] mx-auto py-6 md:py-10 px-6 md:px-20\"\n >\n {content}\n </PageLayout>\n );\n}\n","'use client'\n\n/**\n * Shared \"author byline\" card used by article-shaped detail pages\n * (blog post, product release, onboarding guide, investor update).\n *\n * MOVED from the hub so any consuming app can embed it; hub call sites\n * import it directly and pass their platform-aware copy explicitly\n * (`fallbackBio={defaultAuthorFallbackBio()}` from the hub's app-config).\n *\n * Embed-readiness contract:\n * - `Link` / `Image` render through the embed-shims (plain `<a>` / `<img>`\n * in non-Next hosts; the real Next primitives once the host registers\n * them at app init).\n * - The avatar is proxied through the OPTIONAL ambient `ChatRuntime`\n * (`endpoints.imageProxyUrlPrefix`, same config `useProxiedImageUrl`\n * reads) — when no runtime is mounted the raw URL renders as-is, so the\n * component never throws outside a provider. Hosts can also inject\n * `proxyImageUrl` to bypass the runtime entirely.\n * - `fallbackBio` is a PLAIN prop (no app-config import): the lib has no\n * platform awareness; pass copy or leave it absent to render nothing.\n *\n * Render order: avatar → name + job title + date → bio (when present).\n * Returns null when `author` is empty (no card rendered).\n */\n\nimport React from 'react'\nimport { Calendar, User } from 'lucide-react'\nimport Image from '../../embed-shims/next-image'\nimport Link from '../../embed-shims/next-link'\nimport { cn } from '../../utils/cn'\nimport { formatBioText } from '../../utils/format'\nimport { getProxiedImageUrl } from '../../utils/image-proxy'\nimport { useChatRuntime } from '../../contexts/chat-runtime-context'\n\nexport interface ArticleAuthorBylineProps {\n /** Author display name. Required — block is hidden when null/empty. */\n author: string | null\n /** Avatar URL. Falls back to a placeholder when null. */\n avatar?: string | null\n /** Optional bio paragraph rendered below the name. */\n bio?: string | null\n /** Optional job title rendered immediately under the name. */\n jobTitle?: string | null\n /** Optional published date (ISO string or Date). Rendered next to the name. */\n publishedAt?: string | Date | null\n /** Optional link target for the author name (e.g. the author page). */\n href?: string | null\n /**\n * Fallback paragraph when `bio` is empty. Plain copy — the lib has no\n * platform/config awareness, so hosts that want a branded default\n * (\"Contributing author on the {platform} platform\") pass it explicitly\n * (the hub wrapper derives it from `getAppConfig()`). Absent/null ⇒\n * nothing renders below the name when `bio` is empty.\n */\n fallbackBio?: string | null\n /** Avatar size variant. `md` = 56px (default), `lg` = 64px. */\n size?: 'md' | 'lg'\n /**\n * Host-injected avatar-URL mapper. Wins over the ambient-runtime proxy\n * resolution. Use when the host proxies images outside the `ChatRuntime`\n * config (e.g. a bespoke CDN rewrite).\n */\n proxyImageUrl?: (url: string) => string\n className?: string\n}\n\nfunction formatDate(value: string | Date): string {\n const d = typeof value === 'string' ? new Date(value) : value\n if (Number.isNaN(d.getTime())) return ''\n // `timeZone: 'UTC'` keeps the SSR (server = UTC) and client (user's local tz)\n // renders identical — without it a published_at near a midnight boundary\n // formats to a different day on each side, triggering a React #418 hydration\n // text mismatch. Matches the convention in blog-metadata.tsx / investor-update.\n return d.toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n timeZone: 'UTC',\n })\n}\n\nexport function ArticleAuthorByline({\n author,\n avatar,\n bio,\n jobTitle,\n publishedAt,\n href,\n fallbackBio,\n size = 'md',\n proxyImageUrl,\n className,\n}: ArticleAuthorBylineProps) {\n // Optional runtime — `useChatRuntime` returns null outside a provider, so\n // the byline works in bare embeds (raw avatar URL) and proxies whenever the\n // host mounted a runtime with `imageProxyUrlPrefix` (the hub always does).\n const runtime = useChatRuntime()\n if (!author) return null\n\n const proxiedAvatar = avatar\n ? proxyImageUrl\n ? proxyImageUrl(avatar)\n : (getProxiedImageUrl(avatar, {\n proxyPrefix: runtime?.endpoints.imageProxyUrlPrefix,\n skipDomains: runtime?.endpoints.imageProxySkipDomains,\n directHttps: true,\n }) ?? avatar)\n : ''\n\n // Class-driven sizing (md = 56px, lg = 64px). The numeric pair feeds only\n // the Image element's intrinsic width/height attributes (required by the\n // Next image shim) — layout comes from the classes.\n const avatarSizeClass = size === 'lg' ? 'w-16 h-16' : 'w-14 h-14'\n const avatarIconClass = size === 'lg' ? 'w-8 h-8' : 'w-7 h-7'\n const avatarDim = size === 'lg' ? 64 : 56\n const formattedBio = formatBioText(bio ?? null)\n const dateLabel = publishedAt ? formatDate(publishedAt) : ''\n\n return (\n <div\n className={cn(\n 'bg-ods-card border border-ods-border rounded-lg p-6',\n 'flex flex-col md:flex-row gap-4 items-start',\n className,\n )}\n >\n {/* Avatar */}\n <div className=\"flex-shrink-0\">\n {avatar ? (\n <Image\n src={proxiedAvatar || avatar}\n alt={author}\n width={avatarDim}\n height={avatarDim}\n className={cn('rounded-full border-2 border-ods-border object-cover', avatarSizeClass)}\n />\n ) : (\n <div\n className={cn(\n 'rounded-full border-2 border-ods-border bg-ods-bg flex items-center justify-center',\n avatarSizeClass,\n )}\n >\n <User className={cn('text-ods-text-secondary', avatarIconClass)} />\n </div>\n )}\n </div>\n\n {/* Name + meta + bio */}\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex flex-wrap items-baseline gap-x-3 gap-y-1\">\n <h3 className=\"text-h5 text-ods-text-primary\">\n {href ? (\n <Link href={href} className=\"hover:text-ods-accent transition-colors\">\n {author}\n </Link>\n ) : (\n author\n )}\n </h3>\n {dateLabel && (\n <span className=\"inline-flex items-center gap-1 font-body text-body-sm text-ods-text-secondary\">\n <Calendar className=\"h-3 w-3\" />\n {dateLabel}\n </span>\n )}\n </div>\n {jobTitle && (\n <p className=\"font-body text-body-sm text-ods-text-secondary mt-0.5\">\n {jobTitle}\n </p>\n )}\n {formattedBio ? (\n <p className=\"font-body text-body-md text-ods-text-secondary leading-relaxed mt-2\">\n {formattedBio}\n </p>\n ) : fallbackBio ? (\n <p className=\"font-body text-body-md text-ods-text-secondary italic mt-2\">\n {fallbackBio}\n </p>\n ) : null}\n </div>\n </div>\n )\n}\n"],"mappings":"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","names":["jsx","jsxs"]}
1
+ {"version":3,"sources":["../src/components/shared/detail-page-skeleton.tsx","../src/components/shared/article-author-byline.tsx"],"sourcesContent":["\"use client\";\n\nimport { PageLayout } from '../layout/page-layout';\n\nexport interface DetailPageSkeletonProps {\n metadataColumns?: number; // Number of metadata grid columns (default 4)\n showImageGallery?: boolean; // Show horizontal image gallery (default true)\n /** Render only the skeleton blocks, WITHOUT the self-contained page wrapper\n * — the caller supplies its own (e.g. `<PageShell>`) so the loading state\n * matches the loaded page's width, padding, and min-height. Default false\n * (self-contained `<PageLayout>` at the hub article width). */\n bare?: boolean;\n}\n\nexport function DetailPageSkeleton({\n metadataColumns = 4,\n showImageGallery = true,\n bare = false\n}: DetailPageSkeletonProps = {}) {\n const content = (\n <div className=\"space-y-6 md:space-y-10 animate-pulse\">\n {/* Title Block */}\n <div className=\"flex flex-col gap-6 w-full\">\n <div className=\"h-16 md:h-20 w-full max-w-3xl bg-ods-card rounded\"></div>\n </div>\n\n {/* Category Tags Skeleton */}\n <div className=\"flex flex-wrap gap-2 w-full\">\n <div className=\"h-8 w-32 bg-ods-card rounded\"></div>\n <div className=\"h-8 w-28 bg-ods-card rounded\"></div>\n <div className=\"h-8 w-36 bg-ods-card rounded\"></div>\n </div>\n\n {/* Metadata Grid Skeleton */}\n <div className={`grid grid-cols-1 md:grid-cols-${metadataColumns} border border-ods-border rounded-md overflow-hidden w-full`}>\n {Array.from({ length: metadataColumns }).map((_, i) => (\n <div key={i} className=\"bg-ods-card border-b md:border-b-0 md:border-r last:border-r-0 border-ods-border p-4\">\n <div className=\"h-6 w-24 bg-ods-border rounded mb-2\"></div>\n <div className=\"h-5 w-20 bg-ods-border rounded\"></div>\n </div>\n ))}\n </div>\n\n {/* Image Gallery Skeleton */}\n {showImageGallery && (\n <div className=\"flex gap-6 overflow-x-auto w-full\">\n {[1, 2, 3, 4, 5].map((i) => (\n <div key={i} className=\"shrink-0 w-[240px] h-[200px] bg-ods-card rounded-md border border-ods-border\"></div>\n ))}\n </div>\n )}\n\n {/* Featured Image Skeleton (for case studies) */}\n {!showImageGallery && (\n <div className=\"aspect-[2560/1366] w-full bg-ods-card rounded-md\"></div>\n )}\n\n {/* Content Sections Skeleton */}\n {[1, 2, 3].map((section) => (\n <div key={section} className=\"space-y-6\">\n <div className=\"h-16 w-64 bg-ods-card rounded\"></div>\n <div className=\"space-y-3\">\n <div className=\"h-6 w-full bg-ods-card rounded\"></div>\n <div className=\"h-6 w-full bg-ods-card rounded\"></div>\n <div className=\"h-6 w-4/5 bg-ods-card rounded\"></div>\n </div>\n </div>\n ))}\n </div>\n );\n if (bare) return content;\n return (\n <PageLayout\n showHeader={false}\n className=\"bg-ods-bg max-w-[1280px] mx-auto py-6 md:py-10 px-6 md:px-20\"\n >\n {content}\n </PageLayout>\n );\n}\n","'use client'\n\n/**\n * Shared \"author byline\" card used by article-shaped detail pages\n * (blog post, product release, onboarding guide, investor update).\n *\n * MOVED from the hub so any consuming app can embed it; hub call sites\n * import it directly and pass their platform-aware copy explicitly\n * (`fallbackBio={defaultAuthorFallbackBio()}` from the hub's app-config).\n *\n * Embed-readiness contract:\n * - `Link` / `Image` render through the embed-shims (plain `<a>` / `<img>`\n * in non-Next hosts; the real Next primitives once the host registers\n * them at app init).\n * - The avatar is proxied through the OPTIONAL ambient `ChatRuntime`\n * (`endpoints.imageProxyUrlPrefix`, same config `useProxiedImageUrl`\n * reads) — when no runtime is mounted the raw URL renders as-is, so the\n * component never throws outside a provider. Hosts can also inject\n * `proxyImageUrl` to bypass the runtime entirely.\n * - `fallbackBio` is a PLAIN prop (no app-config import): the lib has no\n * platform awareness; pass copy or leave it absent to render nothing.\n *\n * Render order: avatar → name + job title + date → bio (when present).\n * Returns null when `author` is empty (no card rendered).\n */\n\nimport React from 'react'\nimport { Calendar, User } from 'lucide-react'\nimport Image from '../../embed-shims/next-image'\nimport Link from '../../embed-shims/next-link'\nimport { cn } from '../../utils/cn'\nimport { formatBioText } from '../../utils/format'\nimport { getProxiedImageUrl } from '../../utils/image-proxy'\nimport { useChatRuntime } from '../../contexts/chat-runtime-context'\n\nexport interface ArticleAuthorBylineProps {\n /** Author display name. Required — block is hidden when null/empty. */\n author: string | null\n /** Avatar URL. Falls back to a placeholder when null. */\n avatar?: string | null\n /** Optional bio paragraph rendered below the name. */\n bio?: string | null\n /** Optional job title rendered immediately under the name. */\n jobTitle?: string | null\n /** Optional published date (ISO string or Date). Rendered next to the name. */\n publishedAt?: string | Date | null\n /** Optional link target for the author name (e.g. the author page). */\n href?: string | null\n /**\n * Fallback paragraph when `bio` is empty. Plain copy — the lib has no\n * platform/config awareness, so hosts that want a branded default\n * (\"Contributing author on the {platform} platform\") pass it explicitly\n * (the hub wrapper derives it from `getAppConfig()`). Absent/null ⇒\n * nothing renders below the name when `bio` is empty.\n */\n fallbackBio?: string | null\n /** Avatar size variant. `md` = 56px (default), `lg` = 64px. */\n size?: 'md' | 'lg'\n /**\n * Host-injected avatar-URL mapper. Wins over the ambient-runtime proxy\n * resolution. Use when the host proxies images outside the `ChatRuntime`\n * config (e.g. a bespoke CDN rewrite).\n */\n proxyImageUrl?: (url: string) => string\n className?: string\n}\n\nfunction formatDate(value: string | Date): string {\n const d = typeof value === 'string' ? new Date(value) : value\n if (Number.isNaN(d.getTime())) return ''\n // `timeZone: 'UTC'` keeps the SSR (server = UTC) and client (user's local tz)\n // renders identical — without it a published_at near a midnight boundary\n // formats to a different day on each side, triggering a React #418 hydration\n // text mismatch. Matches the convention in blog-metadata.tsx / investor-update.\n return d.toLocaleDateString('en-US', {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n timeZone: 'UTC',\n })\n}\n\nexport function ArticleAuthorByline({\n author,\n avatar,\n bio,\n jobTitle,\n publishedAt,\n href,\n fallbackBio,\n size = 'md',\n proxyImageUrl,\n className,\n}: ArticleAuthorBylineProps) {\n // Optional runtime — `useChatRuntime` returns null outside a provider, so\n // the byline works in bare embeds (raw avatar URL) and proxies whenever the\n // host mounted a runtime with `imageProxyUrlPrefix` (the hub always does).\n const runtime = useChatRuntime()\n if (!author) return null\n\n const proxiedAvatar = avatar\n ? proxyImageUrl\n ? proxyImageUrl(avatar)\n : (getProxiedImageUrl(avatar, {\n proxyPrefix: runtime?.endpoints.imageProxyUrlPrefix,\n skipDomains: runtime?.endpoints.imageProxySkipDomains,\n directHttps: true,\n }) ?? avatar)\n : ''\n\n // Class-driven sizing (md = 56px, lg = 64px). The numeric pair feeds only\n // the Image element's intrinsic width/height attributes (required by the\n // Next image shim) — layout comes from the classes.\n const avatarSizeClass = size === 'lg' ? 'w-16 h-16' : 'w-14 h-14'\n const avatarIconClass = size === 'lg' ? 'w-8 h-8' : 'w-7 h-7'\n const avatarDim = size === 'lg' ? 64 : 56\n const formattedBio = formatBioText(bio ?? null)\n const dateLabel = publishedAt ? formatDate(publishedAt) : ''\n\n return (\n <div\n className={cn(\n 'bg-ods-card border border-ods-border rounded-lg p-6',\n 'flex flex-col md:flex-row gap-4 items-start',\n className,\n )}\n >\n {/* Avatar */}\n <div className=\"flex-shrink-0\">\n {avatar ? (\n <Image\n src={proxiedAvatar || avatar}\n alt={author}\n width={avatarDim}\n height={avatarDim}\n className={cn('rounded-full border-2 border-ods-border object-cover', avatarSizeClass)}\n />\n ) : (\n <div\n className={cn(\n 'rounded-full border-2 border-ods-border bg-ods-bg flex items-center justify-center',\n avatarSizeClass,\n )}\n >\n <User className={cn('text-ods-text-secondary', avatarIconClass)} />\n </div>\n )}\n </div>\n\n {/* Name + meta + bio */}\n <div className=\"flex-1 min-w-0\">\n <div className=\"flex flex-wrap items-baseline gap-x-3 gap-y-1\">\n <h3 className=\"text-h5 text-ods-text-primary\">\n {href ? (\n <Link href={href} className=\"hover:text-ods-accent transition-colors\">\n {author}\n </Link>\n ) : (\n author\n )}\n </h3>\n {dateLabel && (\n <span className=\"inline-flex items-center gap-1 font-body text-body-sm text-ods-text-secondary\">\n <Calendar className=\"h-3 w-3\" />\n {dateLabel}\n </span>\n )}\n </div>\n {jobTitle && (\n <p className=\"font-body text-body-sm text-ods-text-secondary mt-0.5\">\n {jobTitle}\n </p>\n )}\n {formattedBio ? (\n <p className=\"font-body text-body-md text-ods-text-secondary leading-relaxed mt-2\">\n {formattedBio}\n </p>\n ) : fallbackBio ? (\n <p className=\"font-body text-body-md text-ods-text-secondary italic mt-2\">\n {fallbackBio}\n </p>\n ) : null}\n </div>\n </div>\n )\n}\n"],"mappings":"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","names":["jsx","jsxs"]}
@@ -171,6 +171,7 @@
171
171
 
172
172
 
173
173
 
174
+ var _chunkQHIXS3W2cjs = require('../../chunk-QHIXS3W2.cjs');
174
175
 
175
176
 
176
177
 
@@ -197,6 +198,12 @@
197
198
 
198
199
 
199
200
 
201
+ var _chunkKXCRGTRNcjs = require('../../chunk-KXCRGTRN.cjs');
202
+ require('../../chunk-5E2HOSSH.cjs');
203
+ require('../../chunk-LFGGF7OT.cjs');
204
+ require('../../chunk-27APPAJN.cjs');
205
+ require('../../chunk-6JINAOI7.cjs');
206
+ require('../../chunk-PXXS27EE.cjs');
200
207
 
201
208
 
202
209
 
@@ -208,6 +215,7 @@
208
215
 
209
216
 
210
217
 
218
+ var _chunkBOCFIKYScjs = require('../../chunk-BOCFIKYS.cjs');
211
219
 
212
220
 
213
221
 
@@ -239,28 +247,30 @@
239
247
 
240
248
 
241
249
 
242
- var _chunkGUTS7HGAcjs = require('../../chunk-GUTS7HGA.cjs');
243
250
 
244
251
 
245
252
 
253
+ var _chunkJ54Z3OCRcjs = require('../../chunk-J54Z3OCR.cjs');
254
+ require('../../chunk-TFSYSWPS.cjs');
246
255
 
247
256
 
248
257
 
249
258
 
250
- var _chunkWMSTJAZTcjs = require('../../chunk-WMSTJAZT.cjs');
251
- require('../../chunk-L6PSSIUQ.cjs');
252
- require('../../chunk-27APPAJN.cjs');
253
- require('../../chunk-BZFW3FOF.cjs');
259
+
260
+
261
+
262
+ var _chunkYETA25JWcjs = require('../../chunk-YETA25JW.cjs');
263
+ require('../../chunk-AQOWFSMB.cjs');
254
264
  require('../../chunk-G7UE6RKV.cjs');
255
265
  require('../../chunk-XL4V2PYG.cjs');
256
- require('../../chunk-FQOTC3UU.cjs');
266
+ require('../../chunk-BZFW3FOF.cjs');
267
+ require('../../chunk-IE6OU3WQ.cjs');
257
268
  require('../../chunk-WBR7H6E3.cjs');
258
269
  require('../../chunk-LGLPNWS6.cjs');
259
270
  require('../../chunk-FIG2RKZF.cjs');
260
271
  require('../../chunk-ZS2SBWBR.cjs');
261
272
  require('../../chunk-WZW7C7TF.cjs');
262
273
  require('../../chunk-XQFFGR6U.cjs');
263
- require('../../chunk-PXXS27EE.cjs');
264
274
  require('../../chunk-VRHGVLSL.cjs');
265
275
 
266
276
 
@@ -508,5 +518,5 @@ require('../../chunk-VRHGVLSL.cjs');
508
518
 
509
519
 
510
520
 
511
- exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = _chunkGUTS7HGAcjs.ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.APPROVAL_STATUS = _chunkGUTS7HGAcjs.APPROVAL_STATUS; exports.ASSISTANT_TYPE = _chunkGUTS7HGAcjs.ASSISTANT_TYPE; exports.AUTHOR_TYPE = _chunkGUTS7HGAcjs.AUTHOR_TYPE; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = _chunkGUTS7HGAcjs.AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.AdminContentCard = _chunkGUTS7HGAcjs.AdminContentCard; exports.ApprovalBatchMessage = _chunkGUTS7HGAcjs.ApprovalBatchMessage; exports.ApprovalRequestMessage = _chunkGUTS7HGAcjs.ApprovalRequestMessage; exports.ArchiveChatModal = _chunkGUTS7HGAcjs.ArchiveChatModal; exports.ArgRow = _chunkGUTS7HGAcjs.ArgRow; exports.BlockCard = _chunkGUTS7HGAcjs.BlockCard; exports.BlogCard = _chunkGUTS7HGAcjs.BlogCard; exports.BlogCardSkeleton = _chunkGUTS7HGAcjs.BlogCardSkeleton; exports.BlogImagePlaceholder = _chunkGUTS7HGAcjs.BlogImagePlaceholder; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = _chunkGUTS7HGAcjs.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = _chunkGUTS7HGAcjs.CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.CHAT_ATTACHMENT_MIME_TYPES = _chunkGUTS7HGAcjs.CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = _chunkGUTS7HGAcjs.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = _chunkGUTS7HGAcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkGUTS7HGAcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = _chunkGUTS7HGAcjs.CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.CHAT_TYPE = _chunkGUTS7HGAcjs.CHAT_TYPE; exports.CHIP_ACTION_BUTTON_CLASS = _chunkGUTS7HGAcjs.CHIP_ACTION_BUTTON_CLASS; exports.COMPACT_CARD_ICON_SLOT = _chunkGUTS7HGAcjs.COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_IMAGE_SLOT = _chunkGUTS7HGAcjs.COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_META_ROW = _chunkGUTS7HGAcjs.COMPACT_CARD_META_ROW; exports.COMPACT_CARD_META_ROW_BOX = _chunkGUTS7HGAcjs.COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_OUTER = _chunkGUTS7HGAcjs.COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = _chunkGUTS7HGAcjs.COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_ROW_FILLER = _chunkGUTS7HGAcjs.COMPACT_CARD_ROW_FILLER; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = _chunkGUTS7HGAcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_OUTER = _chunkGUTS7HGAcjs.COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_SUBTITLE = _chunkGUTS7HGAcjs.COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = _chunkGUTS7HGAcjs.COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_TEXT_COL = _chunkGUTS7HGAcjs.COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE = _chunkGUTS7HGAcjs.COMPACT_CARD_TITLE; exports.COMPACT_CARD_TITLE_ROW = _chunkGUTS7HGAcjs.COMPACT_CARD_TITLE_ROW; exports.COMPACT_HEADER_BUTTON = _chunkGUTS7HGAcjs.COMPACT_HEADER_BUTTON; exports.CONNECTION_STATUS = _chunkGUTS7HGAcjs.CONNECTION_STATUS; exports.CONTEXT_BACK_CLASS = _chunkGUTS7HGAcjs.CONTEXT_BACK_CLASS; exports.CONTEXT_ICON_CLASS = _chunkGUTS7HGAcjs.CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = _chunkGUTS7HGAcjs.CONTEXT_LABEL_CLASS; exports.CONTEXT_ROW_CLASS = _chunkGUTS7HGAcjs.CONTEXT_ROW_CLASS; exports.CONTEXT_STATE_CLASS = _chunkGUTS7HGAcjs.CONTEXT_STATE_CLASS; exports.CUSTOM_ITEM_ID = _chunkGUTS7HGAcjs.CUSTOM_ITEM_ID; exports.CampaignCardAdmin = _chunkGUTS7HGAcjs.CampaignCardAdmin; exports.CampaignCardAdminSkeleton = _chunkGUTS7HGAcjs.CampaignCardAdminSkeleton; exports.CaseStudyCard = _chunkGUTS7HGAcjs.CaseStudyCard; exports.CaseStudyCardSkeleton = _chunkGUTS7HGAcjs.CaseStudyCardSkeleton; exports.ChatArchivePage = _chunkGUTS7HGAcjs.ChatArchivePage; exports.ChatAttachmentAddButton = _chunkGUTS7HGAcjs.ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = _chunkGUTS7HGAcjs.ChatAttachmentChipStrip; exports.ChatCardLoader = _chunkGUTS7HGAcjs.ChatCardLoader; exports.ChatComposer = _chunkGUTS7HGAcjs.ChatComposer; exports.ChatComposerPlusMenu = _chunkGUTS7HGAcjs.ChatComposerPlusMenu; exports.ChatContainer = _chunkGUTS7HGAcjs.ChatContainer; exports.ChatContent = _chunkGUTS7HGAcjs.ChatContent; exports.ChatContextChipStrip = _chunkGUTS7HGAcjs.ChatContextChipStrip; exports.ChatContextPicker = _chunkGUTS7HGAcjs.ChatContextPicker; exports.ChatDialogModals = _chunkGUTS7HGAcjs.ChatDialogModals; exports.ChatFooter = _chunkGUTS7HGAcjs.ChatFooter; exports.ChatHeader = _chunkGUTS7HGAcjs.ChatHeader; exports.ChatHeaderIconButton = _chunkGUTS7HGAcjs.ChatHeaderIconButton; exports.ChatIdentityProvider = _chunkGUTS7HGAcjs.ChatIdentityProvider; exports.ChatInput = _chunkGUTS7HGAcjs.ChatInput; exports.ChatMessageEnhanced = _chunkGUTS7HGAcjs.MemoizedChatMessageEnhanced; exports.ChatMessageList = _chunkGUTS7HGAcjs.ChatMessageList; exports.ChatMessageListSkeleton = _chunkGUTS7HGAcjs.ChatMessageListSkeleton; exports.ChatMessageRow = _chunkGUTS7HGAcjs.ChatMessageRow; exports.ChatMessageRowSkeleton = _chunkGUTS7HGAcjs.ChatMessageRowSkeleton; exports.ChatMessageSkeleton = _chunkGUTS7HGAcjs.ChatMessageSkeleton; exports.ChatPanelHeader = _chunkGUTS7HGAcjs.ChatPanelHeader; exports.ChatQuickAction = _chunkGUTS7HGAcjs.ChatQuickAction; exports.ChatQuickActionRow = _chunkGUTS7HGAcjs.ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = _chunkGUTS7HGAcjs.ChatQuickActionRowSkeleton; exports.ChatSidebar = _chunkGUTS7HGAcjs.ChatSidebar; exports.ChatTicketItem = _chunkGUTS7HGAcjs.ChatTicketItem; exports.ChatTicketList = _chunkGUTS7HGAcjs.ChatTicketList; exports.ChatTypingIndicator = _chunkGUTS7HGAcjs.ChatTypingIndicator; exports.ChatVideoEntityCard = _chunkGUTS7HGAcjs.ChatVideoEntityCard; exports.ContextCompactionDisplay = _chunkGUTS7HGAcjs.ContextCompactionDisplay; exports.ContextErrorBoundary = _chunkGUTS7HGAcjs.ContextErrorBoundary; exports.ContextItemsList = _chunkGUTS7HGAcjs.ContextItemsList; exports.ContextItemsSkeleton = _chunkGUTS7HGAcjs.ContextItemsSkeleton; exports.ContextMenuRow = _chunkGUTS7HGAcjs.ContextMenuRow; exports.CustomerInterviewCard = _chunkGUTS7HGAcjs.CustomerInterviewCard; exports.CustomerInterviewCardSkeleton = _chunkGUTS7HGAcjs.CustomerInterviewCardSkeleton; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = _chunkGUTS7HGAcjs.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.DataRoomDocCard = _chunkGUTS7HGAcjs.DataRoomDocCard; exports.DataRoomDocCardSkeleton = _chunkGUTS7HGAcjs.DataRoomDocCardSkeleton; exports.DialogListItem = _chunkGUTS7HGAcjs.DialogListItem; exports.EMPTY_AUTHOR_PLACEHOLDER = _chunkGUTS7HGAcjs.EMPTY_AUTHOR_PLACEHOLDER; exports.EmbeddableChat = _chunkGUTS7HGAcjs.EmbeddableChat; exports.EntityAuthorCard = _chunkGUTS7HGAcjs.EntityAuthorCard; exports.EntityMetadataAuthorCell = _chunkGUTS7HGAcjs.EntityMetadataAuthorCell; exports.EntityMetadataValueCell = _chunkGUTS7HGAcjs.EntityMetadataValueCell; exports.ErrorMessageDisplay = _chunkGUTS7HGAcjs.ErrorMessageDisplay; exports.ExpandChevron = _chunkGUTS7HGAcjs.ExpandChevron; exports.GenericEntityCard = _chunkGUTS7HGAcjs.GenericEntityCard; exports.GenericEntityCardSkeleton = _chunkGUTS7HGAcjs.GenericEntityCardSkeleton; exports.GitHubActivityCard = _chunkGUTS7HGAcjs.GitHubActivityCard; exports.GitHubActivityCardSkeleton = _chunkGUTS7HGAcjs.GitHubActivityCardSkeleton; exports.GuideModeBanner = _chunkGUTS7HGAcjs.GuideModeBanner; exports.GuideWelcome = _chunkGUTS7HGAcjs.GuideWelcome; exports.HubspotTicketCard = _chunkGUTS7HGAcjs.HubspotTicketCard; exports.HubspotTicketCardSkeleton = _chunkGUTS7HGAcjs.HubspotTicketCardSkeleton; exports.ICON_REGISTRY = _chunkGUTS7HGAcjs.ICON_REGISTRY; exports.InvestorUpdateCard = _chunkGUTS7HGAcjs.InvestorUpdateCard; exports.InvestorUpdateCardSkeleton = _chunkGUTS7HGAcjs.InvestorUpdateCardSkeleton; exports.MESSAGE_ROLE = _chunkGUTS7HGAcjs.MESSAGE_ROLE; exports.MESSAGE_TYPE = _chunkGUTS7HGAcjs.MESSAGE_TYPE; exports.MessageSegmentAccumulator = _chunkGUTS7HGAcjs.MessageSegmentAccumulator; exports.MingoChatHistory = _chunkGUTS7HGAcjs.MingoChatHistory; exports.MingoChatHistorySkeleton = _chunkGUTS7HGAcjs.MingoChatHistorySkeleton; exports.MingoOnboardingCard = _chunkGUTS7HGAcjs.MingoOnboardingCard; exports.MingoOnboardingCardSkeleton = _chunkGUTS7HGAcjs.MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = _chunkGUTS7HGAcjs.MingoOnboardingListSkeleton; exports.MingoWelcome = _chunkGUTS7HGAcjs.MingoWelcome; exports.ModelDisplay = _chunkGUTS7HGAcjs.ModelDisplay; exports.ModelDisplaySkeleton = _chunkGUTS7HGAcjs.ModelDisplaySkeleton; exports.NETWORK_CONFIG = _chunkGUTS7HGAcjs.NETWORK_CONFIG; exports.NEW_TAB_FEATURES = _chunkGUTS7HGAcjs.NEW_TAB_FEATURES; exports.NavLinkAnchorViaRuntime = _chunkGUTS7HGAcjs.NavLinkAnchorViaRuntime; exports.ONBOARDING_ICONS = _chunkGUTS7HGAcjs.ONBOARDING_ICONS; exports.ONBOARDING_ICON_OPTIONS = _chunkGUTS7HGAcjs.ONBOARDING_ICON_OPTIONS; exports.OWNER_TYPE = _chunkGUTS7HGAcjs.OWNER_TYPE; exports.OnboardingGuideCard = _chunkGUTS7HGAcjs.OnboardingGuideCard; exports.OnboardingGuideCardSkeleton = _chunkGUTS7HGAcjs.OnboardingGuideCardSkeleton; exports.ProductReleaseCard = _chunkGUTS7HGAcjs.ProductReleaseCard; exports.ProductReleaseCardSkeleton = _chunkGUTS7HGAcjs.ProductReleaseCardSkeleton; exports.ProgramCard = _chunkGUTS7HGAcjs.ProgramCard; exports.ProgramCardSkeleton = _chunkGUTS7HGAcjs.ProgramCardSkeleton; exports.RenameChatModal = _chunkGUTS7HGAcjs.RenameChatModal; exports.ResultBlock = _chunkGUTS7HGAcjs.ResultBlock; exports.RoadmapCard = _chunkGUTS7HGAcjs.RoadmapCard; exports.RoadmapCardSkeleton = _chunkGUTS7HGAcjs.RoadmapCardSkeleton; exports.RoadmapVoteButton = _chunkGUTS7HGAcjs.RoadmapVoteButton; exports.SCROLL_ANCHOR = _chunkGUTS7HGAcjs.SCROLL_ANCHOR; exports.SCROLL_ANCHOR_WIRE_KEY = _chunkGUTS7HGAcjs.SCROLL_ANCHOR_WIRE_KEY; exports.SOURCE_ICON_NAMES = _chunkGUTS7HGAcjs.SOURCE_ICON_NAMES; exports.SOURCE_LABELS_BY_TABLE = _chunkGUTS7HGAcjs.SOURCE_LABELS_BY_TABLE; exports.SYNTHETIC_REALTIME_ID_PREFIXES = _chunkGUTS7HGAcjs.SYNTHETIC_REALTIME_ID_PREFIXES; exports.SlackMessageCard = _chunkGUTS7HGAcjs.SlackMessageCard; exports.SlackMessageCardSkeleton = _chunkGUTS7HGAcjs.SlackMessageCardSkeleton; exports.SlashCommandSuggestions = _chunkGUTS7HGAcjs.SlashCommandSuggestions; exports.SourceActionButton = _chunkGUTS7HGAcjs.SourceActionButton; exports.TaskTypeIcon = _chunkGUTS7HGAcjs.TaskTypeIcon; exports.ThinkingDisplay = _chunkGUTS7HGAcjs.ThinkingDisplay; exports.ToolExecutionDisplay = _chunkGUTS7HGAcjs.ToolExecutionDisplay; exports.UnarchiveChatModal = _chunkGUTS7HGAcjs.UnarchiveChatModal; exports.WhatIShippedCard = _chunkGUTS7HGAcjs.WhatIShippedCard; exports.WhatIShippedCardSkeleton = _chunkGUTS7HGAcjs.WhatIShippedCardSkeleton; exports.applyProxyAuth = _chunkWMSTJAZTcjs.applyProxyAuth; exports.buildAnchorProps = _chunkGUTS7HGAcjs.buildAnchorProps; exports.buildAutoContinuationDirective = _chunkGUTS7HGAcjs.buildAutoContinuationDirective; exports.buildChatAttachmentViewUrl = _chunkGUTS7HGAcjs.buildChatAttachmentViewUrl; exports.buildChatRefKey = _chunkGUTS7HGAcjs.buildChatRefKey; exports.buildDiscussAddendum = _chunkGUTS7HGAcjs.buildDiscussAddendum; exports.buildNatsWsUrl = _chunkGUTS7HGAcjs.buildNatsWsUrl; exports.buildProductReleaseCardProps = _chunkGUTS7HGAcjs.buildProductReleaseCardProps; exports.chatAuthedFetch = _chunkWMSTJAZTcjs.embedAuthedFetch; exports.chatChipClass = _chunkGUTS7HGAcjs.chatChipClass; exports.clearChatProxyAuth = _chunkWMSTJAZTcjs.clearEmbedProxyAuth; exports.clickupTaskUrl = _chunkGUTS7HGAcjs.clickupTaskUrl; exports.computeHistoryPrepend = _chunkGUTS7HGAcjs.computeHistoryPrepend; exports.computeIsNewTab = _chunkGUTS7HGAcjs.computeIsNewTab; exports.createMessageSegmentAccumulator = _chunkGUTS7HGAcjs.createMessageSegmentAccumulator; exports.decideNewTab = _chunkGUTS7HGAcjs.decideNewTab; exports.defaultBuildProductReleaseCardProps = _chunkGUTS7HGAcjs.defaultBuildProductReleaseCardProps; exports.defaultTableIdForDocumentType = _chunkGUTS7HGAcjs.defaultTableIdForDocumentType; exports.escapeMarkdownInline = _chunkGUTS7HGAcjs.escapeMarkdownInline; exports.executeNavigation = _chunkGUTS7HGAcjs.executeNavigation; exports.executeNavigationImperative = _chunkGUTS7HGAcjs.executeNavigationImperative; exports.extractEntityIdFilter = _chunkGUTS7HGAcjs.extractEntityIdFilter; exports.extractErrorMessages = _chunkGUTS7HGAcjs.extractErrorMessages; exports.extractIncompleteMessageState = _chunkGUTS7HGAcjs.extractIncompleteMessageState; exports.extractTextFromChunk = _chunkGUTS7HGAcjs.extractTextFromChunk; exports.fetchEmptyStateConfig = _chunkGUTS7HGAcjs.fetchEmptyStateConfig; exports.fetchSlashCommands = _chunkGUTS7HGAcjs.fetchSlashCommands; exports.flattenAssistantContent = _chunkGUTS7HGAcjs.flattenAssistantContent; exports.flattenMessagePagesChronological = _chunkGUTS7HGAcjs.flattenMessagePagesChronological; exports.formatChatAttachmentMarkdownForBubble = _chunkGUTS7HGAcjs.formatChatAttachmentMarkdownForBubble; exports.formatInvestorUpdatePeriod = _chunkGUTS7HGAcjs.formatInvestorUpdatePeriod; exports.formatSingularLookupInvocation = _chunkGUTS7HGAcjs.formatSingularLookupInvocation; exports.getChatProxyAuth = _chunkWMSTJAZTcjs.getEmbedProxyAuth; exports.getCommandText = _chunkGUTS7HGAcjs.getCommandText; exports.getDynamicIcon = _chunkGUTS7HGAcjs.getDynamicIcon; exports.getIconComponent = _chunkGUTS7HGAcjs.getIconComponent; exports.getPersistedProxyEmail = _chunkWMSTJAZTcjs.getPersistedProxyEmail; exports.getSourceIconName = _chunkGUTS7HGAcjs.getSourceIconName; exports.getSourceLabel = _chunkGUTS7HGAcjs.getSourceLabel; exports.getStatusColorScheme = _chunkGUTS7HGAcjs.getStatusColorScheme; exports.getTaskTypeLabel = _chunkGUTS7HGAcjs.getTaskTypeLabel; exports.handleChatNavClick = _chunkGUTS7HGAcjs.handleChatNavClick; exports.isControlChunk = _chunkGUTS7HGAcjs.isControlChunk; exports.isCrossOriginUrl = _chunkGUTS7HGAcjs.isCrossOriginUrl; exports.isErrorChunk = _chunkGUTS7HGAcjs.isErrorChunk; exports.isMetadataChunk = _chunkGUTS7HGAcjs.isMetadataChunk; exports.isModifierClick = _chunkGUTS7HGAcjs.isModifierClick; exports.isStructuredContent = _chunkGUTS7HGAcjs.isStructuredContent; exports.maxPersistedStreamSeq = _chunkGUTS7HGAcjs.maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = _chunkGUTS7HGAcjs.mergeHistoryWithRealtime; exports.newTabAnchorAttrs = _chunkGUTS7HGAcjs.newTabAnchorAttrs; exports.normalizeContent = _chunkGUTS7HGAcjs.normalizeContent; exports.normalizeIconKey = _chunkGUTS7HGAcjs.normalizeIconKey; exports.parseChunkToAction = _chunkGUTS7HGAcjs.parseChunkToAction; exports.parseScrollAnchor = _chunkGUTS7HGAcjs.parseScrollAnchor; exports.parseWireCommandOverride = _chunkGUTS7HGAcjs.parseWireCommandOverride; exports.processHistoricalMessages = _chunkGUTS7HGAcjs.processHistoricalMessages; exports.processHistoricalMessagesWithErrors = _chunkGUTS7HGAcjs.processHistoricalMessagesWithErrors; exports.remarkCardLinks = _chunkGUTS7HGAcjs.remarkCardLinks; exports.remarkMentionChips = _chunkGUTS7HGAcjs.remarkMentionChips; exports.renderChatInlineEntityCard = _chunkGUTS7HGAcjs.renderChatInlineEntityCard; exports.resolveExternalNavigation = _chunkGUTS7HGAcjs.resolveExternalNavigation; exports.resolveOnboardingIcon = _chunkGUTS7HGAcjs.resolveOnboardingIcon; exports.resolveSourceIcon = _chunkGUTS7HGAcjs.resolveSourceIcon; exports.resolveSourceRowCTA = _chunkGUTS7HGAcjs.resolveSourceRowCTA; exports.safeHref = _chunkGUTS7HGAcjs.safeHref; exports.sanitizeTitleForChat = _chunkGUTS7HGAcjs.sanitizeTitleForChat; exports.setChatProxyAuth = _chunkWMSTJAZTcjs.setEmbedProxyAuth; exports.stripChatAttachmentMarkdown = _chunkGUTS7HGAcjs.stripChatAttachmentMarkdown; exports.stripSameOriginToPath = _chunkGUTS7HGAcjs.stripSameOriginToPath; exports.transformEventToProgram = _chunkGUTS7HGAcjs.transformEventToProgram; exports.transformPodcastToProgram = _chunkGUTS7HGAcjs.transformPodcastToProgram; exports.transformWebinarToProgram = _chunkGUTS7HGAcjs.transformWebinarToProgram; exports.useChat = _chunkGUTS7HGAcjs.useChat; exports.useChatAttachmentImageGallery = _chunkGUTS7HGAcjs.useChatAttachmentImageGallery; exports.useChatAttachments = _chunkGUTS7HGAcjs.useChatAttachments; exports.useChatCardItem = _chunkGUTS7HGAcjs.useChatCardItem; exports.useChatIdentity = _chunkGUTS7HGAcjs.useChatIdentity; exports.useChunkCatchup = _chunkGUTS7HGAcjs.useChunkCatchup; exports.useCloseOnNavigation = _chunkGUTS7HGAcjs.useCloseOnNavigation; exports.useCollapsible = _chunkGUTS7HGAcjs.useCollapsible; exports.useEmbeddedChat = _chunkGUTS7HGAcjs.useSseChatAdapter; exports.useEmptyStateConfig = _chunkGUTS7HGAcjs.useEmptyStateConfig; exports.useJetStreamDialogSubscription = _chunkGUTS7HGAcjs.useJetStreamDialogSubscription; exports.useNatsChatAdapter = _chunkGUTS7HGAcjs.useNatsChatAdapter; exports.useNatsDialogSubscription = _chunkGUTS7HGAcjs.useNatsDialogSubscription; exports.useProxiedImageUrl = _chunkGUTS7HGAcjs.useProxiedImageUrl; exports.useRealtimeChunkProcessor = _chunkGUTS7HGAcjs.useRealtimeChunkProcessor; exports.useSSE = _chunkGUTS7HGAcjs.useSSE; exports.useSlashCommandRegistry = _chunkGUTS7HGAcjs.useSlashCommandRegistry; exports.useSlashCommands = _chunkGUTS7HGAcjs.useSlashCommands; exports.useSseChatAdapter = _chunkGUTS7HGAcjs.useSseChatAdapter; exports.useUnifiedChat = _chunkGUTS7HGAcjs.useUnifiedChat;
521
+ exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = _chunkKXCRGTRNcjs.ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.APPROVAL_STATUS = _chunkQHIXS3W2cjs.APPROVAL_STATUS; exports.ASSISTANT_TYPE = _chunkQHIXS3W2cjs.ASSISTANT_TYPE; exports.AUTHOR_TYPE = _chunkQHIXS3W2cjs.AUTHOR_TYPE; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = _chunkKXCRGTRNcjs.AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.AdminContentCard = _chunkQHIXS3W2cjs.AdminContentCard; exports.ApprovalBatchMessage = _chunkQHIXS3W2cjs.ApprovalBatchMessage; exports.ApprovalRequestMessage = _chunkQHIXS3W2cjs.ApprovalRequestMessage; exports.ArchiveChatModal = _chunkQHIXS3W2cjs.ArchiveChatModal; exports.ArgRow = _chunkQHIXS3W2cjs.ArgRow; exports.BlockCard = _chunkQHIXS3W2cjs.BlockCard; exports.BlogCard = _chunkQHIXS3W2cjs.BlogCard; exports.BlogCardSkeleton = _chunkQHIXS3W2cjs.BlogCardSkeleton; exports.BlogImagePlaceholder = _chunkBOCFIKYScjs.BlogImagePlaceholder; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = _chunkQHIXS3W2cjs.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = _chunkKXCRGTRNcjs.CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.CHAT_ATTACHMENT_MIME_TYPES = _chunkQHIXS3W2cjs.CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = _chunkKXCRGTRNcjs.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = _chunkKXCRGTRNcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = _chunkKXCRGTRNcjs.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = _chunkQHIXS3W2cjs.CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.CHAT_TYPE = _chunkQHIXS3W2cjs.CHAT_TYPE; exports.CHIP_ACTION_BUTTON_CLASS = _chunkQHIXS3W2cjs.CHIP_ACTION_BUTTON_CLASS; exports.COMPACT_CARD_ICON_SLOT = _chunkJ54Z3OCRcjs.COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_IMAGE_SLOT = _chunkJ54Z3OCRcjs.COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_META_ROW = _chunkJ54Z3OCRcjs.COMPACT_CARD_META_ROW; exports.COMPACT_CARD_META_ROW_BOX = _chunkJ54Z3OCRcjs.COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_OUTER = _chunkJ54Z3OCRcjs.COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = _chunkJ54Z3OCRcjs.COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_ROW_FILLER = _chunkJ54Z3OCRcjs.COMPACT_CARD_ROW_FILLER; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = _chunkJ54Z3OCRcjs.COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_OUTER = _chunkJ54Z3OCRcjs.COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_SUBTITLE = _chunkJ54Z3OCRcjs.COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = _chunkJ54Z3OCRcjs.COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_TEXT_COL = _chunkJ54Z3OCRcjs.COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE = _chunkJ54Z3OCRcjs.COMPACT_CARD_TITLE; exports.COMPACT_CARD_TITLE_ROW = _chunkJ54Z3OCRcjs.COMPACT_CARD_TITLE_ROW; exports.COMPACT_HEADER_BUTTON = _chunkQHIXS3W2cjs.COMPACT_HEADER_BUTTON; exports.CONNECTION_STATUS = _chunkQHIXS3W2cjs.CONNECTION_STATUS; exports.CONTEXT_BACK_CLASS = _chunkQHIXS3W2cjs.CONTEXT_BACK_CLASS; exports.CONTEXT_ICON_CLASS = _chunkQHIXS3W2cjs.CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = _chunkQHIXS3W2cjs.CONTEXT_LABEL_CLASS; exports.CONTEXT_ROW_CLASS = _chunkQHIXS3W2cjs.CONTEXT_ROW_CLASS; exports.CONTEXT_STATE_CLASS = _chunkQHIXS3W2cjs.CONTEXT_STATE_CLASS; exports.CUSTOM_ITEM_ID = _chunkKXCRGTRNcjs.CUSTOM_ITEM_ID; exports.CampaignCardAdmin = _chunkQHIXS3W2cjs.CampaignCardAdmin; exports.CampaignCardAdminSkeleton = _chunkQHIXS3W2cjs.CampaignCardAdminSkeleton; exports.CaseStudyCard = _chunkQHIXS3W2cjs.CaseStudyCard; exports.CaseStudyCardSkeleton = _chunkQHIXS3W2cjs.CaseStudyCardSkeleton; exports.ChatArchivePage = _chunkQHIXS3W2cjs.ChatArchivePage; exports.ChatAttachmentAddButton = _chunkQHIXS3W2cjs.ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = _chunkQHIXS3W2cjs.ChatAttachmentChipStrip; exports.ChatCardLoader = _chunkQHIXS3W2cjs.ChatCardLoader; exports.ChatComposer = _chunkQHIXS3W2cjs.ChatComposer; exports.ChatComposerPlusMenu = _chunkQHIXS3W2cjs.ChatComposerPlusMenu; exports.ChatContainer = _chunkQHIXS3W2cjs.ChatContainer; exports.ChatContent = _chunkQHIXS3W2cjs.ChatContent; exports.ChatContextChipStrip = _chunkQHIXS3W2cjs.ChatContextChipStrip; exports.ChatContextPicker = _chunkQHIXS3W2cjs.ChatContextPicker; exports.ChatDialogModals = _chunkQHIXS3W2cjs.ChatDialogModals; exports.ChatFooter = _chunkQHIXS3W2cjs.ChatFooter; exports.ChatHeader = _chunkQHIXS3W2cjs.ChatHeader; exports.ChatHeaderIconButton = _chunkQHIXS3W2cjs.ChatHeaderIconButton; exports.ChatIdentityProvider = _chunkQHIXS3W2cjs.ChatIdentityProvider; exports.ChatInput = _chunkQHIXS3W2cjs.ChatInput; exports.ChatMessageEnhanced = _chunkQHIXS3W2cjs.MemoizedChatMessageEnhanced; exports.ChatMessageList = _chunkQHIXS3W2cjs.ChatMessageList; exports.ChatMessageListSkeleton = _chunkQHIXS3W2cjs.ChatMessageListSkeleton; exports.ChatMessageRow = _chunkQHIXS3W2cjs.ChatMessageRow; exports.ChatMessageRowSkeleton = _chunkQHIXS3W2cjs.ChatMessageRowSkeleton; exports.ChatMessageSkeleton = _chunkQHIXS3W2cjs.ChatMessageSkeleton; exports.ChatPanelHeader = _chunkQHIXS3W2cjs.ChatPanelHeader; exports.ChatQuickAction = _chunkQHIXS3W2cjs.ChatQuickAction; exports.ChatQuickActionRow = _chunkQHIXS3W2cjs.ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = _chunkQHIXS3W2cjs.ChatQuickActionRowSkeleton; exports.ChatSidebar = _chunkQHIXS3W2cjs.ChatSidebar; exports.ChatTicketItem = _chunkQHIXS3W2cjs.ChatTicketItem; exports.ChatTicketList = _chunkQHIXS3W2cjs.ChatTicketList; exports.ChatTypingIndicator = _chunkQHIXS3W2cjs.ChatTypingIndicator; exports.ChatVideoEntityCard = _chunkQHIXS3W2cjs.ChatVideoEntityCard; exports.ContextCompactionDisplay = _chunkQHIXS3W2cjs.ContextCompactionDisplay; exports.ContextErrorBoundary = _chunkQHIXS3W2cjs.ContextErrorBoundary; exports.ContextItemsList = _chunkQHIXS3W2cjs.ContextItemsList; exports.ContextItemsSkeleton = _chunkQHIXS3W2cjs.ContextItemsSkeleton; exports.ContextMenuRow = _chunkQHIXS3W2cjs.ContextMenuRow; exports.CustomerInterviewCard = _chunkQHIXS3W2cjs.CustomerInterviewCard; exports.CustomerInterviewCardSkeleton = _chunkQHIXS3W2cjs.CustomerInterviewCardSkeleton; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = _chunkJ54Z3OCRcjs.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.DataRoomDocCard = _chunkQHIXS3W2cjs.DataRoomDocCard; exports.DataRoomDocCardSkeleton = _chunkQHIXS3W2cjs.DataRoomDocCardSkeleton; exports.DialogListItem = _chunkQHIXS3W2cjs.DialogListItem; exports.EMPTY_AUTHOR_PLACEHOLDER = _chunkBOCFIKYScjs.EMPTY_AUTHOR_PLACEHOLDER; exports.EmbeddableChat = _chunkQHIXS3W2cjs.EmbeddableChat; exports.EntityAuthorCard = _chunkBOCFIKYScjs.EntityAuthorCard; exports.EntityMetadataAuthorCell = _chunkBOCFIKYScjs.EntityMetadataAuthorCell; exports.EntityMetadataValueCell = _chunkBOCFIKYScjs.EntityMetadataValueCell; exports.ErrorMessageDisplay = _chunkQHIXS3W2cjs.ErrorMessageDisplay; exports.ExpandChevron = _chunkQHIXS3W2cjs.ExpandChevron; exports.GenericEntityCard = _chunkQHIXS3W2cjs.GenericEntityCard; exports.GenericEntityCardSkeleton = _chunkQHIXS3W2cjs.GenericEntityCardSkeleton; exports.GitHubActivityCard = _chunkQHIXS3W2cjs.GitHubActivityCard; exports.GitHubActivityCardSkeleton = _chunkQHIXS3W2cjs.GitHubActivityCardSkeleton; exports.GuideModeBanner = _chunkQHIXS3W2cjs.GuideModeBanner; exports.GuideWelcome = _chunkQHIXS3W2cjs.GuideWelcome; exports.HubspotTicketCard = _chunkQHIXS3W2cjs.HubspotTicketCard; exports.HubspotTicketCardSkeleton = _chunkQHIXS3W2cjs.HubspotTicketCardSkeleton; exports.ICON_REGISTRY = _chunkJ54Z3OCRcjs.ICON_REGISTRY; exports.InvestorUpdateCard = _chunkQHIXS3W2cjs.InvestorUpdateCard; exports.InvestorUpdateCardSkeleton = _chunkQHIXS3W2cjs.InvestorUpdateCardSkeleton; exports.MESSAGE_ROLE = _chunkQHIXS3W2cjs.MESSAGE_ROLE; exports.MESSAGE_TYPE = _chunkKXCRGTRNcjs.MESSAGE_TYPE; exports.MessageSegmentAccumulator = _chunkQHIXS3W2cjs.MessageSegmentAccumulator; exports.MingoChatHistory = _chunkQHIXS3W2cjs.MingoChatHistory; exports.MingoChatHistorySkeleton = _chunkQHIXS3W2cjs.MingoChatHistorySkeleton; exports.MingoOnboardingCard = _chunkQHIXS3W2cjs.MingoOnboardingCard; exports.MingoOnboardingCardSkeleton = _chunkQHIXS3W2cjs.MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = _chunkQHIXS3W2cjs.MingoOnboardingListSkeleton; exports.MingoWelcome = _chunkQHIXS3W2cjs.MingoWelcome; exports.ModelDisplay = _chunkQHIXS3W2cjs.ModelDisplay; exports.ModelDisplaySkeleton = _chunkQHIXS3W2cjs.ModelDisplaySkeleton; exports.NETWORK_CONFIG = _chunkQHIXS3W2cjs.NETWORK_CONFIG; exports.NEW_TAB_FEATURES = _chunkJ54Z3OCRcjs.NEW_TAB_FEATURES; exports.NavLinkAnchorViaRuntime = _chunkQHIXS3W2cjs.NavLinkAnchorViaRuntime; exports.ONBOARDING_ICONS = _chunkQHIXS3W2cjs.ONBOARDING_ICONS; exports.ONBOARDING_ICON_OPTIONS = _chunkQHIXS3W2cjs.ONBOARDING_ICON_OPTIONS; exports.OWNER_TYPE = _chunkQHIXS3W2cjs.OWNER_TYPE; exports.OnboardingGuideCard = _chunkBOCFIKYScjs.OnboardingGuideCard; exports.OnboardingGuideCardSkeleton = _chunkBOCFIKYScjs.OnboardingGuideCardSkeleton; exports.ProductReleaseCard = _chunkQHIXS3W2cjs.ProductReleaseCard; exports.ProductReleaseCardSkeleton = _chunkQHIXS3W2cjs.ProductReleaseCardSkeleton; exports.ProgramCard = _chunkQHIXS3W2cjs.ProgramCard; exports.ProgramCardSkeleton = _chunkQHIXS3W2cjs.ProgramCardSkeleton; exports.RenameChatModal = _chunkQHIXS3W2cjs.RenameChatModal; exports.ResultBlock = _chunkQHIXS3W2cjs.ResultBlock; exports.RoadmapCard = _chunkQHIXS3W2cjs.RoadmapCard; exports.RoadmapCardSkeleton = _chunkQHIXS3W2cjs.RoadmapCardSkeleton; exports.RoadmapVoteButton = _chunkQHIXS3W2cjs.RoadmapVoteButton; exports.SCROLL_ANCHOR = _chunkKXCRGTRNcjs.SCROLL_ANCHOR; exports.SCROLL_ANCHOR_WIRE_KEY = _chunkKXCRGTRNcjs.SCROLL_ANCHOR_WIRE_KEY; exports.SOURCE_ICON_NAMES = _chunkJ54Z3OCRcjs.SOURCE_ICON_NAMES; exports.SOURCE_LABELS_BY_TABLE = _chunkJ54Z3OCRcjs.SOURCE_LABELS_BY_TABLE; exports.SYNTHETIC_REALTIME_ID_PREFIXES = _chunkQHIXS3W2cjs.SYNTHETIC_REALTIME_ID_PREFIXES; exports.SlackMessageCard = _chunkQHIXS3W2cjs.SlackMessageCard; exports.SlackMessageCardSkeleton = _chunkQHIXS3W2cjs.SlackMessageCardSkeleton; exports.SlashCommandSuggestions = _chunkQHIXS3W2cjs.SlashCommandSuggestions; exports.SourceActionButton = _chunkQHIXS3W2cjs.SourceActionButton; exports.TaskTypeIcon = _chunkQHIXS3W2cjs.TaskTypeIcon; exports.ThinkingDisplay = _chunkQHIXS3W2cjs.ThinkingDisplay; exports.ToolExecutionDisplay = _chunkQHIXS3W2cjs.ToolExecutionDisplay; exports.UnarchiveChatModal = _chunkQHIXS3W2cjs.UnarchiveChatModal; exports.WhatIShippedCard = _chunkQHIXS3W2cjs.WhatIShippedCard; exports.WhatIShippedCardSkeleton = _chunkQHIXS3W2cjs.WhatIShippedCardSkeleton; exports.applyProxyAuth = _chunkYETA25JWcjs.applyProxyAuth; exports.buildAnchorProps = _chunkBOCFIKYScjs.buildAnchorProps; exports.buildAutoContinuationDirective = _chunkKXCRGTRNcjs.buildAutoContinuationDirective; exports.buildChatAttachmentViewUrl = _chunkKXCRGTRNcjs.buildChatAttachmentViewUrl; exports.buildChatRefKey = _chunkQHIXS3W2cjs.buildChatRefKey; exports.buildDiscussAddendum = _chunkKXCRGTRNcjs.buildDiscussAddendum; exports.buildNatsWsUrl = _chunkQHIXS3W2cjs.buildNatsWsUrl; exports.buildProductReleaseCardProps = _chunkQHIXS3W2cjs.buildProductReleaseCardProps; exports.chatAuthedFetch = _chunkYETA25JWcjs.embedAuthedFetch; exports.chatChipClass = _chunkQHIXS3W2cjs.chatChipClass; exports.clearChatProxyAuth = _chunkYETA25JWcjs.clearEmbedProxyAuth; exports.clickupTaskUrl = _chunkKXCRGTRNcjs.clickupTaskUrl; exports.computeHistoryPrepend = _chunkQHIXS3W2cjs.computeHistoryPrepend; exports.computeIsNewTab = _chunkBOCFIKYScjs.computeIsNewTab; exports.createMessageSegmentAccumulator = _chunkQHIXS3W2cjs.createMessageSegmentAccumulator; exports.decideNewTab = _chunkJ54Z3OCRcjs.decideNewTab; exports.defaultBuildProductReleaseCardProps = _chunkQHIXS3W2cjs.defaultBuildProductReleaseCardProps; exports.defaultTableIdForDocumentType = _chunkJ54Z3OCRcjs.defaultTableIdForDocumentType; exports.escapeMarkdownInline = _chunkKXCRGTRNcjs.escapeMarkdownInline; exports.executeNavigation = _chunkQHIXS3W2cjs.executeNavigation; exports.executeNavigationImperative = _chunkQHIXS3W2cjs.executeNavigationImperative; exports.extractEntityIdFilter = _chunkKXCRGTRNcjs.extractEntityIdFilter; exports.extractErrorMessages = _chunkQHIXS3W2cjs.extractErrorMessages; exports.extractIncompleteMessageState = _chunkQHIXS3W2cjs.extractIncompleteMessageState; exports.extractTextFromChunk = _chunkQHIXS3W2cjs.extractTextFromChunk; exports.fetchEmptyStateConfig = _chunkQHIXS3W2cjs.fetchEmptyStateConfig; exports.fetchSlashCommands = _chunkQHIXS3W2cjs.fetchSlashCommands; exports.flattenAssistantContent = _chunkKXCRGTRNcjs.flattenAssistantContent; exports.flattenMessagePagesChronological = _chunkQHIXS3W2cjs.flattenMessagePagesChronological; exports.formatChatAttachmentMarkdownForBubble = _chunkKXCRGTRNcjs.formatChatAttachmentMarkdownForBubble; exports.formatInvestorUpdatePeriod = _chunkQHIXS3W2cjs.formatInvestorUpdatePeriod; exports.formatSingularLookupInvocation = _chunkKXCRGTRNcjs.formatSingularLookupInvocation; exports.getChatProxyAuth = _chunkYETA25JWcjs.getEmbedProxyAuth; exports.getCommandText = _chunkQHIXS3W2cjs.getCommandText; exports.getDynamicIcon = _chunkJ54Z3OCRcjs.getDynamicIcon; exports.getIconComponent = _chunkJ54Z3OCRcjs.getIconComponent; exports.getPersistedProxyEmail = _chunkYETA25JWcjs.getPersistedProxyEmail; exports.getSourceIconName = _chunkJ54Z3OCRcjs.getSourceIconName; exports.getSourceLabel = _chunkJ54Z3OCRcjs.getSourceLabel; exports.getStatusColorScheme = _chunkKXCRGTRNcjs.getStatusColorScheme; exports.getTaskTypeLabel = _chunkKXCRGTRNcjs.getTaskTypeLabel; exports.handleChatNavClick = _chunkQHIXS3W2cjs.handleChatNavClick; exports.isControlChunk = _chunkQHIXS3W2cjs.isControlChunk; exports.isCrossOriginUrl = _chunkJ54Z3OCRcjs.isCrossOriginUrl; exports.isErrorChunk = _chunkQHIXS3W2cjs.isErrorChunk; exports.isMetadataChunk = _chunkQHIXS3W2cjs.isMetadataChunk; exports.isModifierClick = _chunkJ54Z3OCRcjs.isModifierClick; exports.isStructuredContent = _chunkQHIXS3W2cjs.isStructuredContent; exports.maxPersistedStreamSeq = _chunkQHIXS3W2cjs.maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = _chunkQHIXS3W2cjs.mergeHistoryWithRealtime; exports.newTabAnchorAttrs = _chunkBOCFIKYScjs.newTabAnchorAttrs; exports.normalizeContent = _chunkQHIXS3W2cjs.normalizeContent; exports.normalizeIconKey = _chunkJ54Z3OCRcjs.normalizeIconKey; exports.parseChunkToAction = _chunkQHIXS3W2cjs.parseChunkToAction; exports.parseScrollAnchor = _chunkKXCRGTRNcjs.parseScrollAnchor; exports.parseWireCommandOverride = _chunkKXCRGTRNcjs.parseWireCommandOverride; exports.processHistoricalMessages = _chunkQHIXS3W2cjs.processHistoricalMessages; exports.processHistoricalMessagesWithErrors = _chunkQHIXS3W2cjs.processHistoricalMessagesWithErrors; exports.remarkCardLinks = _chunkQHIXS3W2cjs.remarkCardLinks; exports.remarkMentionChips = _chunkQHIXS3W2cjs.remarkMentionChips; exports.renderChatInlineEntityCard = _chunkQHIXS3W2cjs.renderChatInlineEntityCard; exports.resolveExternalNavigation = _chunkJ54Z3OCRcjs.resolveExternalNavigation; exports.resolveOnboardingIcon = _chunkQHIXS3W2cjs.resolveOnboardingIcon; exports.resolveSourceIcon = _chunkJ54Z3OCRcjs.resolveSourceIcon; exports.resolveSourceRowCTA = _chunkJ54Z3OCRcjs.resolveSourceRowCTA; exports.safeHref = _chunkJ54Z3OCRcjs.safeHref; exports.sanitizeTitleForChat = _chunkKXCRGTRNcjs.sanitizeTitleForChat; exports.setChatProxyAuth = _chunkYETA25JWcjs.setEmbedProxyAuth; exports.stripChatAttachmentMarkdown = _chunkKXCRGTRNcjs.stripChatAttachmentMarkdown; exports.stripSameOriginToPath = _chunkJ54Z3OCRcjs.stripSameOriginToPath; exports.transformEventToProgram = _chunkQHIXS3W2cjs.transformEventToProgram; exports.transformPodcastToProgram = _chunkQHIXS3W2cjs.transformPodcastToProgram; exports.transformWebinarToProgram = _chunkQHIXS3W2cjs.transformWebinarToProgram; exports.useChat = _chunkQHIXS3W2cjs.useChat; exports.useChatAttachmentImageGallery = _chunkQHIXS3W2cjs.useChatAttachmentImageGallery; exports.useChatAttachments = _chunkQHIXS3W2cjs.useChatAttachments; exports.useChatCardItem = _chunkQHIXS3W2cjs.useChatCardItem; exports.useChatIdentity = _chunkQHIXS3W2cjs.useChatIdentity; exports.useChunkCatchup = _chunkQHIXS3W2cjs.useChunkCatchup; exports.useCloseOnNavigation = _chunkQHIXS3W2cjs.useCloseOnNavigation; exports.useCollapsible = _chunkQHIXS3W2cjs.useCollapsible; exports.useEmbeddedChat = _chunkQHIXS3W2cjs.useSseChatAdapter; exports.useEmptyStateConfig = _chunkQHIXS3W2cjs.useEmptyStateConfig; exports.useJetStreamDialogSubscription = _chunkQHIXS3W2cjs.useJetStreamDialogSubscription; exports.useNatsChatAdapter = _chunkQHIXS3W2cjs.useNatsChatAdapter; exports.useNatsDialogSubscription = _chunkQHIXS3W2cjs.useNatsDialogSubscription; exports.useProxiedImageUrl = _chunkQHIXS3W2cjs.useProxiedImageUrl; exports.useRealtimeChunkProcessor = _chunkQHIXS3W2cjs.useRealtimeChunkProcessor; exports.useSSE = _chunkQHIXS3W2cjs.useSSE; exports.useSlashCommandRegistry = _chunkQHIXS3W2cjs.useSlashCommandRegistry; exports.useSlashCommands = _chunkQHIXS3W2cjs.useSlashCommands; exports.useSseChatAdapter = _chunkQHIXS3W2cjs.useSseChatAdapter; exports.useUnifiedChat = _chunkQHIXS3W2cjs.useUnifiedChat;
512
522
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/chat/index.cjs"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wwhBAAC","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/chat/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/chat/index.cjs"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,wwhBAAC","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/chat/index.cjs"}
@@ -1,11 +1,9 @@
1
1
  "use client";
2
2
  "use client";
3
3
  import {
4
- ANTHROPIC_SUPPORTED_IMAGE_MIME,
5
4
  APPROVAL_STATUS,
6
5
  ASSISTANT_TYPE,
7
6
  AUTHOR_TYPE,
8
- AUTO_CONTINUATION_DIRECTIVE_PREFIX,
9
7
  AdminContentCard,
10
8
  ApprovalBatchMessage,
11
9
  ApprovalRequestMessage,
@@ -14,30 +12,11 @@ import {
14
12
  BlockCard,
15
13
  BlogCard,
16
14
  BlogCardSkeleton,
17
- BlogImagePlaceholder,
18
15
  CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER,
19
- CHAT_ATTACHMENT_MARKDOWN_PATTERN,
20
16
  CHAT_ATTACHMENT_MIME_TYPES,
21
- CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM,
22
- CHAT_ATTACHMENT_VIEW_URL_PREFIX,
23
- CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED,
24
17
  CHAT_CONTEXT_ITEMS_DEFAULT_MAX,
25
18
  CHAT_TYPE,
26
19
  CHIP_ACTION_BUTTON_CLASS,
27
- COMPACT_CARD_ICON_SLOT,
28
- COMPACT_CARD_IMAGE_SLOT,
29
- COMPACT_CARD_META_ROW,
30
- COMPACT_CARD_META_ROW_BOX,
31
- COMPACT_CARD_OUTER,
32
- COMPACT_CARD_OUTER_STATIC,
33
- COMPACT_CARD_ROW_FILLER,
34
- COMPACT_CARD_SKELETON_IMAGE_SLOT,
35
- COMPACT_CARD_SKELETON_OUTER,
36
- COMPACT_CARD_SUBTITLE,
37
- COMPACT_CARD_SUMMARY,
38
- COMPACT_CARD_TEXT_COL,
39
- COMPACT_CARD_TITLE,
40
- COMPACT_CARD_TITLE_ROW,
41
20
  COMPACT_HEADER_BUTTON,
42
21
  CONNECTION_STATUS,
43
22
  CONTEXT_BACK_CLASS,
@@ -45,7 +24,6 @@ import {
45
24
  CONTEXT_LABEL_CLASS,
46
25
  CONTEXT_ROW_CLASS,
47
26
  CONTEXT_STATE_CLASS,
48
- CUSTOM_ITEM_ID,
49
27
  CampaignCardAdmin,
50
28
  CampaignCardAdminSkeleton,
51
29
  CaseStudyCard,
@@ -87,15 +65,10 @@ import {
87
65
  ContextMenuRow,
88
66
  CustomerInterviewCard,
89
67
  CustomerInterviewCardSkeleton,
90
- DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
91
68
  DataRoomDocCard,
92
69
  DataRoomDocCardSkeleton,
93
70
  DialogListItem,
94
- EMPTY_AUTHOR_PLACEHOLDER,
95
71
  EmbeddableChat,
96
- EntityAuthorCard,
97
- EntityMetadataAuthorCell,
98
- EntityMetadataValueCell,
99
72
  ErrorMessageDisplay,
100
73
  ExpandChevron,
101
74
  GenericEntityCard,
@@ -106,11 +79,9 @@ import {
106
79
  GuideWelcome,
107
80
  HubspotTicketCard,
108
81
  HubspotTicketCardSkeleton,
109
- ICON_REGISTRY,
110
82
  InvestorUpdateCard,
111
83
  InvestorUpdateCardSkeleton,
112
84
  MESSAGE_ROLE,
113
- MESSAGE_TYPE,
114
85
  MemoizedChatMessageEnhanced,
115
86
  MessageSegmentAccumulator,
116
87
  MingoChatHistory,
@@ -122,13 +93,10 @@ import {
122
93
  ModelDisplay,
123
94
  ModelDisplaySkeleton,
124
95
  NETWORK_CONFIG,
125
- NEW_TAB_FEATURES,
126
96
  NavLinkAnchorViaRuntime,
127
97
  ONBOARDING_ICONS,
128
98
  ONBOARDING_ICON_OPTIONS,
129
99
  OWNER_TYPE,
130
- OnboardingGuideCard,
131
- OnboardingGuideCardSkeleton,
132
100
  ProductReleaseCard,
133
101
  ProductReleaseCardSkeleton,
134
102
  ProgramCard,
@@ -138,10 +106,6 @@ import {
138
106
  RoadmapCard,
139
107
  RoadmapCardSkeleton,
140
108
  RoadmapVoteButton,
141
- SCROLL_ANCHOR,
142
- SCROLL_ANCHOR_WIRE_KEY,
143
- SOURCE_ICON_NAMES,
144
- SOURCE_LABELS_BY_TABLE,
145
109
  SYNTHETIC_REALTIME_ID_PREFIXES,
146
110
  SlackMessageCard,
147
111
  SlackMessageCardSkeleton,
@@ -153,70 +117,38 @@ import {
153
117
  UnarchiveChatModal,
154
118
  WhatIShippedCard,
155
119
  WhatIShippedCardSkeleton,
156
- buildAnchorProps,
157
- buildAutoContinuationDirective,
158
- buildChatAttachmentViewUrl,
159
120
  buildChatRefKey,
160
- buildDiscussAddendum,
161
121
  buildNatsWsUrl,
162
122
  buildProductReleaseCardProps,
163
123
  chatChipClass,
164
- clickupTaskUrl,
165
124
  computeHistoryPrepend,
166
- computeIsNewTab,
167
125
  createMessageSegmentAccumulator,
168
- decideNewTab,
169
126
  defaultBuildProductReleaseCardProps,
170
- defaultTableIdForDocumentType,
171
- escapeMarkdownInline,
172
127
  executeNavigation,
173
128
  executeNavigationImperative,
174
- extractEntityIdFilter,
175
129
  extractErrorMessages,
176
130
  extractIncompleteMessageState,
177
131
  extractTextFromChunk,
178
132
  fetchEmptyStateConfig,
179
133
  fetchSlashCommands,
180
- flattenAssistantContent,
181
134
  flattenMessagePagesChronological,
182
- formatChatAttachmentMarkdownForBubble,
183
135
  formatInvestorUpdatePeriod,
184
- formatSingularLookupInvocation,
185
136
  getCommandText,
186
- getDynamicIcon,
187
- getIconComponent,
188
- getSourceIconName,
189
- getSourceLabel,
190
- getStatusColorScheme,
191
- getTaskTypeLabel,
192
137
  handleChatNavClick,
193
138
  isControlChunk,
194
- isCrossOriginUrl,
195
139
  isErrorChunk,
196
140
  isMetadataChunk,
197
- isModifierClick,
198
141
  isStructuredContent,
199
142
  maxPersistedStreamSeq,
200
143
  mergeHistoryWithRealtime,
201
- newTabAnchorAttrs,
202
144
  normalizeContent,
203
- normalizeIconKey,
204
145
  parseChunkToAction,
205
- parseScrollAnchor,
206
- parseWireCommandOverride,
207
146
  processHistoricalMessages,
208
147
  processHistoricalMessagesWithErrors,
209
148
  remarkCardLinks,
210
149
  remarkMentionChips,
211
150
  renderChatInlineEntityCard,
212
- resolveExternalNavigation,
213
151
  resolveOnboardingIcon,
214
- resolveSourceIcon,
215
- resolveSourceRowCTA,
216
- safeHref,
217
- sanitizeTitleForChat,
218
- stripChatAttachmentMarkdown,
219
- stripSameOriginToPath,
220
152
  transformEventToProgram,
221
153
  transformPodcastToProgram,
222
154
  transformWebinarToProgram,
@@ -239,7 +171,87 @@ import {
239
171
  useSlashCommands,
240
172
  useSseChatAdapter,
241
173
  useUnifiedChat
242
- } from "../../chunk-PC746XCO.js";
174
+ } from "../../chunk-K2PFPBMF.js";
175
+ import {
176
+ ANTHROPIC_SUPPORTED_IMAGE_MIME,
177
+ AUTO_CONTINUATION_DIRECTIVE_PREFIX,
178
+ CHAT_ATTACHMENT_MARKDOWN_PATTERN,
179
+ CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM,
180
+ CHAT_ATTACHMENT_VIEW_URL_PREFIX,
181
+ CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED,
182
+ CUSTOM_ITEM_ID,
183
+ MESSAGE_TYPE,
184
+ SCROLL_ANCHOR,
185
+ SCROLL_ANCHOR_WIRE_KEY,
186
+ buildAutoContinuationDirective,
187
+ buildChatAttachmentViewUrl,
188
+ buildDiscussAddendum,
189
+ clickupTaskUrl,
190
+ escapeMarkdownInline,
191
+ extractEntityIdFilter,
192
+ flattenAssistantContent,
193
+ formatChatAttachmentMarkdownForBubble,
194
+ formatSingularLookupInvocation,
195
+ getStatusColorScheme,
196
+ getTaskTypeLabel,
197
+ parseScrollAnchor,
198
+ parseWireCommandOverride,
199
+ sanitizeTitleForChat,
200
+ stripChatAttachmentMarkdown
201
+ } from "../../chunk-26PKDALD.js";
202
+ import "../../chunk-7RIYT7ZH.js";
203
+ import "../../chunk-OQ6X7ZOC.js";
204
+ import "../../chunk-MJNXIEV2.js";
205
+ import "../../chunk-M2OCXTNT.js";
206
+ import "../../chunk-PHWQLKVE.js";
207
+ import {
208
+ BlogImagePlaceholder,
209
+ EMPTY_AUTHOR_PLACEHOLDER,
210
+ EntityAuthorCard,
211
+ EntityMetadataAuthorCell,
212
+ EntityMetadataValueCell,
213
+ OnboardingGuideCard,
214
+ OnboardingGuideCardSkeleton,
215
+ buildAnchorProps,
216
+ computeIsNewTab,
217
+ newTabAnchorAttrs
218
+ } from "../../chunk-D652TJBQ.js";
219
+ import {
220
+ COMPACT_CARD_ICON_SLOT,
221
+ COMPACT_CARD_IMAGE_SLOT,
222
+ COMPACT_CARD_META_ROW,
223
+ COMPACT_CARD_META_ROW_BOX,
224
+ COMPACT_CARD_OUTER,
225
+ COMPACT_CARD_OUTER_STATIC,
226
+ COMPACT_CARD_ROW_FILLER,
227
+ COMPACT_CARD_SKELETON_IMAGE_SLOT,
228
+ COMPACT_CARD_SKELETON_OUTER,
229
+ COMPACT_CARD_SUBTITLE,
230
+ COMPACT_CARD_SUMMARY,
231
+ COMPACT_CARD_TEXT_COL,
232
+ COMPACT_CARD_TITLE,
233
+ COMPACT_CARD_TITLE_ROW,
234
+ DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID,
235
+ ICON_REGISTRY,
236
+ NEW_TAB_FEATURES,
237
+ SOURCE_ICON_NAMES,
238
+ SOURCE_LABELS_BY_TABLE,
239
+ decideNewTab,
240
+ defaultTableIdForDocumentType,
241
+ getDynamicIcon,
242
+ getIconComponent,
243
+ getSourceIconName,
244
+ getSourceLabel,
245
+ isCrossOriginUrl,
246
+ isModifierClick,
247
+ normalizeIconKey,
248
+ resolveExternalNavigation,
249
+ resolveSourceIcon,
250
+ resolveSourceRowCTA,
251
+ safeHref,
252
+ stripSameOriginToPath
253
+ } from "../../chunk-FQJK446R.js";
254
+ import "../../chunk-3MCHAFHB.js";
243
255
  import {
244
256
  applyProxyAuth,
245
257
  clearEmbedProxyAuth,
@@ -247,20 +259,18 @@ import {
247
259
  getEmbedProxyAuth,
248
260
  getPersistedProxyEmail,
249
261
  setEmbedProxyAuth
250
- } from "../../chunk-2QG57XOJ.js";
251
- import "../../chunk-IZ7JSBFP.js";
252
- import "../../chunk-MJNXIEV2.js";
253
- import "../../chunk-EL5YVPD5.js";
262
+ } from "../../chunk-POKKCWKF.js";
263
+ import "../../chunk-LCNMR277.js";
254
264
  import "../../chunk-PLJLE4A4.js";
255
265
  import "../../chunk-LXC6P2EO.js";
256
- import "../../chunk-JALO4TAZ.js";
266
+ import "../../chunk-EL5YVPD5.js";
267
+ import "../../chunk-EL6QLAWX.js";
257
268
  import "../../chunk-OHPI2HRK.js";
258
269
  import "../../chunk-V4IIBNTA.js";
259
270
  import "../../chunk-XTCBRQN2.js";
260
271
  import "../../chunk-J7AV6H63.js";
261
272
  import "../../chunk-6U3IUD57.js";
262
273
  import "../../chunk-W72U7OU7.js";
263
- import "../../chunk-PHWQLKVE.js";
264
274
  import "../../chunk-GGWZFCYS.js";
265
275
  export {
266
276
  ANTHROPIC_SUPPORTED_IMAGE_MIME,