@flamingo-stack/openframe-frontend-core 0.0.204 → 0.0.205

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 (509) hide show
  1. package/dist/{chunk-4CWSZPXH.cjs → chunk-24KCAECR.cjs} +9 -9
  2. package/dist/{chunk-4CWSZPXH.cjs.map → chunk-24KCAECR.cjs.map} +1 -1
  3. package/dist/chunk-27APPAJN.cjs +24 -0
  4. package/dist/chunk-27APPAJN.cjs.map +1 -0
  5. package/dist/{chunk-UC43NICZ.cjs → chunk-664KA5FI.cjs} +2 -35
  6. package/dist/chunk-664KA5FI.cjs.map +1 -0
  7. package/dist/chunk-6RZYJICV.cjs +24 -0
  8. package/dist/chunk-6RZYJICV.cjs.map +1 -0
  9. package/dist/chunk-7L4DWM7P.js +24 -0
  10. package/dist/chunk-7L4DWM7P.js.map +1 -0
  11. package/dist/chunk-BZFW3FOF.cjs +21 -0
  12. package/dist/chunk-BZFW3FOF.cjs.map +1 -0
  13. package/dist/{chunk-N57KWHDB.js → chunk-CIPO6DXK.js} +5 -5
  14. package/dist/chunk-EL5YVPD5.js +21 -0
  15. package/dist/chunk-EL5YVPD5.js.map +1 -0
  16. package/dist/{chunk-ARQ4XP64.cjs → chunk-FDCFI7YT.cjs} +40080 -31492
  17. package/dist/chunk-FDCFI7YT.cjs.map +1 -0
  18. package/dist/chunk-G7UE6RKV.cjs +121 -0
  19. package/dist/chunk-G7UE6RKV.cjs.map +1 -0
  20. package/dist/{chunk-25LVV26X.cjs → chunk-JUZGUQMX.cjs} +178 -50
  21. package/dist/chunk-JUZGUQMX.cjs.map +1 -0
  22. package/dist/{chunk-SZPJ5R5B.js → chunk-KSOOKNBG.js} +1 -34
  23. package/dist/chunk-KSOOKNBG.js.map +1 -0
  24. package/dist/{chunk-RMB5DVED.cjs → chunk-KUZGEA7U.cjs} +83 -66
  25. package/dist/chunk-KUZGEA7U.cjs.map +1 -0
  26. package/dist/chunk-LXC6P2EO.js +63 -0
  27. package/dist/chunk-LXC6P2EO.js.map +1 -0
  28. package/dist/chunk-MJNXIEV2.js +24 -0
  29. package/dist/chunk-MJNXIEV2.js.map +1 -0
  30. package/dist/{chunk-CPXLQ57U.js → chunk-MVGGXOFA.js} +37 -20
  31. package/dist/chunk-MVGGXOFA.js.map +1 -0
  32. package/dist/{chunk-LY34ORX6.js → chunk-O55ZUAX7.js} +39920 -31332
  33. package/dist/chunk-O55ZUAX7.js.map +1 -0
  34. package/dist/chunk-OHPI2HRK.js +47 -0
  35. package/dist/chunk-OHPI2HRK.js.map +1 -0
  36. package/dist/chunk-PLJLE4A4.js +121 -0
  37. package/dist/chunk-PLJLE4A4.js.map +1 -0
  38. package/dist/{chunk-XGL5FKIK.js → chunk-SCN5WFIZ.js} +148 -20
  39. package/dist/chunk-SCN5WFIZ.js.map +1 -0
  40. package/dist/chunk-WBR7H6E3.cjs +47 -0
  41. package/dist/chunk-WBR7H6E3.cjs.map +1 -0
  42. package/dist/chunk-XL4V2PYG.cjs +63 -0
  43. package/dist/chunk-XL4V2PYG.cjs.map +1 -0
  44. package/dist/components/announcement-bar.d.ts.map +1 -1
  45. package/dist/components/chat/chat-attachment-bar.d.ts +66 -0
  46. package/dist/components/chat/chat-attachment-bar.d.ts.map +1 -0
  47. package/dist/components/chat/chat-container.d.ts +21 -1
  48. package/dist/components/chat/chat-container.d.ts.map +1 -1
  49. package/dist/components/chat/chat-input.d.ts.map +1 -1
  50. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  51. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  52. package/dist/components/chat/chat-panel-context.d.ts +9 -0
  53. package/dist/components/chat/chat-panel-context.d.ts.map +1 -0
  54. package/dist/components/chat/chat-ticket-list.d.ts +1 -1
  55. package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
  56. package/dist/components/chat/embeddable-chat.d.ts +42 -0
  57. package/dist/components/chat/embeddable-chat.d.ts.map +1 -0
  58. package/dist/components/chat/entity-cards/admin-content-card.d.ts +34 -0
  59. package/dist/components/chat/entity-cards/admin-content-card.d.ts.map +1 -0
  60. package/dist/components/chat/entity-cards/block-card.d.ts.map +1 -0
  61. package/dist/components/chat/entity-cards/blog-card.d.ts +30 -0
  62. package/dist/components/chat/entity-cards/blog-card.d.ts.map +1 -0
  63. package/dist/components/chat/entity-cards/blog-image-placeholder.d.ts +26 -0
  64. package/dist/components/chat/entity-cards/blog-image-placeholder.d.ts.map +1 -0
  65. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts +33 -0
  66. package/dist/components/chat/entity-cards/campaign-card-admin.d.ts.map +1 -0
  67. package/dist/components/chat/entity-cards/case-study-card.d.ts +20 -0
  68. package/dist/components/chat/entity-cards/case-study-card.d.ts.map +1 -0
  69. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -0
  70. package/dist/components/chat/{chat-video-entity-card.d.ts → entity-cards/chat-video-entity-card.d.ts} +1 -1
  71. package/dist/components/chat/entity-cards/chat-video-entity-card.d.ts.map +1 -0
  72. package/dist/components/chat/entity-cards/customer-interview-card.d.ts +19 -0
  73. package/dist/components/chat/entity-cards/customer-interview-card.d.ts.map +1 -0
  74. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts +47 -0
  75. package/dist/components/chat/entity-cards/data-room-doc-card.d.ts.map +1 -0
  76. package/dist/components/chat/entity-cards/dispatch.d.ts +119 -0
  77. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -0
  78. package/dist/components/chat/entity-cards/entity-author-card.d.ts +87 -0
  79. package/dist/components/chat/entity-cards/entity-author-card.d.ts.map +1 -0
  80. package/dist/components/chat/entity-cards/generic-entity-card.d.ts +42 -0
  81. package/dist/components/chat/entity-cards/generic-entity-card.d.ts.map +1 -0
  82. package/dist/components/chat/entity-cards/github-activity-card.d.ts +37 -0
  83. package/dist/components/chat/entity-cards/github-activity-card.d.ts.map +1 -0
  84. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts +28 -0
  85. package/dist/components/chat/entity-cards/hubspot-ticket-card.d.ts.map +1 -0
  86. package/dist/components/chat/entity-cards/index.d.ts +32 -0
  87. package/dist/components/chat/entity-cards/index.d.ts.map +1 -0
  88. package/dist/components/chat/entity-cards/investor-update-card.d.ts +19 -0
  89. package/dist/components/chat/entity-cards/investor-update-card.d.ts.map +1 -0
  90. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts +20 -0
  91. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -0
  92. package/dist/components/chat/entity-cards/product-release-card-defaults.d.ts +21 -0
  93. package/dist/components/chat/entity-cards/product-release-card-defaults.d.ts.map +1 -0
  94. package/dist/components/chat/entity-cards/product-release-card.d.ts +12 -0
  95. package/dist/components/chat/entity-cards/product-release-card.d.ts.map +1 -0
  96. package/dist/components/chat/entity-cards/program-card-defaults.d.ts +32 -0
  97. package/dist/components/chat/entity-cards/program-card-defaults.d.ts.map +1 -0
  98. package/dist/components/chat/entity-cards/program-card.d.ts +37 -0
  99. package/dist/components/chat/entity-cards/program-card.d.ts.map +1 -0
  100. package/dist/components/chat/entity-cards/roadmap-card.d.ts +28 -0
  101. package/dist/components/chat/entity-cards/roadmap-card.d.ts.map +1 -0
  102. package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts +12 -0
  103. package/dist/components/chat/entity-cards/roadmap-vote-button.d.ts.map +1 -0
  104. package/dist/components/chat/entity-cards/slack-message-card.d.ts +28 -0
  105. package/dist/components/chat/entity-cards/slack-message-card.d.ts.map +1 -0
  106. package/dist/components/chat/entity-cards/task-type-icon.d.ts +6 -0
  107. package/dist/components/chat/entity-cards/task-type-icon.d.ts.map +1 -0
  108. package/dist/components/chat/hooks/index.d.ts +10 -0
  109. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  110. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts +5 -0
  111. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -0
  112. package/dist/components/chat/hooks/use-chat-attachments.d.ts +33 -0
  113. package/dist/components/chat/hooks/use-chat-attachments.d.ts.map +1 -0
  114. package/dist/components/chat/hooks/use-chat-card-item.d.ts +7 -0
  115. package/dist/components/chat/hooks/use-chat-card-item.d.ts.map +1 -0
  116. package/dist/components/chat/hooks/use-chat-identity.d.ts +44 -0
  117. package/dist/components/chat/hooks/use-chat-identity.d.ts.map +1 -0
  118. package/dist/components/chat/hooks/use-chat.d.ts +30 -0
  119. package/dist/components/chat/hooks/use-chat.d.ts.map +1 -0
  120. package/dist/components/chat/hooks/use-close-on-navigation.d.ts +2 -0
  121. package/dist/components/chat/hooks/use-close-on-navigation.d.ts.map +1 -0
  122. package/dist/components/chat/hooks/use-embedded-chat.d.ts +174 -0
  123. package/dist/components/chat/hooks/use-embedded-chat.d.ts.map +1 -0
  124. package/dist/components/chat/hooks/use-proxied-image-url.d.ts +18 -0
  125. package/dist/components/chat/hooks/use-proxied-image-url.d.ts.map +1 -0
  126. package/dist/components/chat/hooks/use-slash-commands.d.ts +32 -0
  127. package/dist/components/chat/hooks/use-slash-commands.d.ts.map +1 -0
  128. package/dist/components/chat/hooks/use-sse.d.ts +57 -0
  129. package/dist/components/chat/hooks/use-sse.d.ts.map +1 -0
  130. package/dist/components/chat/index.cjs +393 -0
  131. package/dist/components/chat/index.cjs.map +1 -0
  132. package/dist/components/chat/index.d.ts +5 -3
  133. package/dist/components/chat/index.d.ts.map +1 -1
  134. package/dist/components/chat/index.js +393 -0
  135. package/dist/components/chat/index.js.map +1 -0
  136. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts +33 -0
  137. package/dist/components/chat/nav-link-anchor-via-runtime.d.ts.map +1 -0
  138. package/dist/components/chat/source-action-button.d.ts +39 -0
  139. package/dist/components/chat/source-action-button.d.ts.map +1 -0
  140. package/dist/components/chat/types/chat.types.d.ts +36 -0
  141. package/dist/components/chat/types/chat.types.d.ts.map +1 -1
  142. package/dist/components/chat/types/component.types.d.ts +56 -11
  143. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  144. package/dist/components/chat/types/entities/blog.d.ts +14 -0
  145. package/dist/components/chat/types/entities/blog.d.ts.map +1 -0
  146. package/dist/components/chat/types/entities/case-study.d.ts +10 -0
  147. package/dist/components/chat/types/entities/case-study.d.ts.map +1 -0
  148. package/dist/components/chat/types/entities/content-ref.d.ts +23 -0
  149. package/dist/components/chat/types/entities/content-ref.d.ts.map +1 -0
  150. package/dist/components/chat/types/entities/customer-interview.d.ts +10 -0
  151. package/dist/components/chat/types/entities/customer-interview.d.ts.map +1 -0
  152. package/dist/components/chat/types/entities/data-room-doc.d.ts +37 -0
  153. package/dist/components/chat/types/entities/data-room-doc.d.ts.map +1 -0
  154. package/dist/components/chat/types/entities/github-activity.d.ts +29 -0
  155. package/dist/components/chat/types/entities/github-activity.d.ts.map +1 -0
  156. package/dist/components/chat/types/entities/hubspot-ticket.d.ts +39 -0
  157. package/dist/components/chat/types/entities/hubspot-ticket.d.ts.map +1 -0
  158. package/dist/components/chat/types/entities/index.d.ts +28 -0
  159. package/dist/components/chat/types/entities/index.d.ts.map +1 -0
  160. package/dist/components/chat/types/entities/investor-update.d.ts +83 -0
  161. package/dist/components/chat/types/entities/investor-update.d.ts.map +1 -0
  162. package/dist/components/chat/types/entities/onboarding-guide.d.ts +79 -0
  163. package/dist/components/chat/types/entities/onboarding-guide.d.ts.map +1 -0
  164. package/dist/components/chat/types/entities/program-types.d.ts +303 -0
  165. package/dist/components/chat/types/entities/program-types.d.ts.map +1 -0
  166. package/dist/components/chat/types/entities/roadmap-item.d.ts +41 -0
  167. package/dist/components/chat/types/entities/roadmap-item.d.ts.map +1 -0
  168. package/dist/components/chat/types/entities/slack-message.d.ts +28 -0
  169. package/dist/components/chat/types/entities/slack-message.d.ts.map +1 -0
  170. package/dist/components/chat/types/index.d.ts +1 -0
  171. package/dist/components/chat/types/index.d.ts.map +1 -1
  172. package/dist/components/chat/utils/agent-status-message.d.ts +18 -0
  173. package/dist/components/chat/utils/agent-status-message.d.ts.map +1 -0
  174. package/dist/components/chat/utils/auto-continuation-directive.d.ts +38 -0
  175. package/dist/components/chat/utils/auto-continuation-directive.d.ts.map +1 -0
  176. package/dist/components/chat/utils/chat-attachment-markdown.d.ts +114 -0
  177. package/dist/components/chat/utils/chat-attachment-markdown.d.ts.map +1 -0
  178. package/dist/components/chat/utils/chat-authed-fetch.d.ts +13 -0
  179. package/dist/components/chat/utils/chat-authed-fetch.d.ts.map +1 -0
  180. package/dist/components/chat/utils/chat-nav-resolution.d.ts +72 -0
  181. package/dist/components/chat/utils/chat-nav-resolution.d.ts.map +1 -0
  182. package/dist/components/chat/utils/chat-proxy-auth-storage.d.ts +43 -0
  183. package/dist/components/chat/utils/chat-proxy-auth-storage.d.ts.map +1 -0
  184. package/dist/components/chat/utils/chip-action-class.d.ts +16 -0
  185. package/dist/components/chat/utils/chip-action-class.d.ts.map +1 -0
  186. package/dist/components/chat/utils/chip-styles.d.ts +32 -0
  187. package/dist/components/chat/utils/chip-styles.d.ts.map +1 -0
  188. package/dist/components/chat/utils/clickup-task-type-utils.d.ts +38 -0
  189. package/dist/components/chat/utils/clickup-task-type-utils.d.ts.map +1 -0
  190. package/dist/components/chat/utils/compact-card-classes.d.ts +50 -0
  191. package/dist/components/chat/utils/compact-card-classes.d.ts.map +1 -0
  192. package/dist/components/chat/utils/decide-new-tab.d.ts +39 -0
  193. package/dist/components/chat/utils/decide-new-tab.d.ts.map +1 -0
  194. package/dist/components/chat/utils/external-app-urls.d.ts +14 -0
  195. package/dist/components/chat/utils/external-app-urls.d.ts.map +1 -0
  196. package/dist/components/chat/utils/flatten-assistant-content.d.ts +25 -0
  197. package/dist/components/chat/utils/flatten-assistant-content.d.ts.map +1 -0
  198. package/dist/components/chat/utils/icon-registry.d.ts +67 -0
  199. package/dist/components/chat/utils/icon-registry.d.ts.map +1 -0
  200. package/dist/components/chat/utils/index.d.ts +21 -0
  201. package/dist/components/chat/utils/index.d.ts.map +1 -1
  202. package/dist/components/chat/utils/is-cross-origin-url.d.ts +22 -0
  203. package/dist/components/chat/utils/is-cross-origin-url.d.ts.map +1 -0
  204. package/dist/components/chat/utils/nav-anchor-props.d.ts +54 -0
  205. package/dist/components/chat/utils/nav-anchor-props.d.ts.map +1 -0
  206. package/dist/components/chat/utils/nav-click-handler.d.ts +51 -0
  207. package/dist/components/chat/utils/nav-click-handler.d.ts.map +1 -0
  208. package/dist/components/chat/utils/scroll-anchor.d.ts +30 -0
  209. package/dist/components/chat/utils/scroll-anchor.d.ts.map +1 -0
  210. package/dist/components/chat/utils/slash-dispatch-utils.d.ts +109 -0
  211. package/dist/components/chat/utils/slash-dispatch-utils.d.ts.map +1 -0
  212. package/dist/components/chat/utils/source-icons.d.ts +8 -0
  213. package/dist/components/chat/utils/source-icons.d.ts.map +1 -0
  214. package/dist/components/chat/utils/source-row-cta.d.ts +111 -0
  215. package/dist/components/chat/utils/source-row-cta.d.ts.map +1 -0
  216. package/dist/components/features/figma-prototype-viewer.d.ts.map +1 -1
  217. package/dist/components/features/index.cjs +12 -6
  218. package/dist/components/features/index.cjs.map +1 -1
  219. package/dist/components/features/index.js +11 -5
  220. package/dist/components/features/video.d.ts.map +1 -1
  221. package/dist/components/icons/index.cjs +3 -3
  222. package/dist/components/icons/index.js +2 -2
  223. package/dist/components/index.cjs +274 -8
  224. package/dist/components/index.cjs.map +1 -1
  225. package/dist/components/index.js +273 -7
  226. package/dist/components/interactive-wrapper.d.ts +3 -3
  227. package/dist/components/navigation/index.cjs +12 -6
  228. package/dist/components/navigation/index.cjs.map +1 -1
  229. package/dist/components/navigation/index.js +11 -5
  230. package/dist/components/resizable.d.ts +1 -1
  231. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts +1 -1
  232. package/dist/components/shared/product-release/product-release-card-skeleton.d.ts.map +1 -1
  233. package/dist/components/shared/product-release/product-release-card.d.ts +19 -12
  234. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  235. package/dist/components/shared/product-release/release-detail-page.d.ts +2 -4
  236. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  237. package/dist/components/ui/button/button.d.ts +13 -0
  238. package/dist/components/ui/button/button.d.ts.map +1 -1
  239. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  240. package/dist/components/ui/entity-image.d.ts.map +1 -1
  241. package/dist/components/ui/file-manager/index.cjs +71 -70
  242. package/dist/components/ui/file-manager/index.cjs.map +1 -1
  243. package/dist/components/ui/file-manager/index.js +6 -5
  244. package/dist/components/ui/file-manager/index.js.map +1 -1
  245. package/dist/components/ui/hover-dropdown.d.ts +66 -0
  246. package/dist/components/ui/hover-dropdown.d.ts.map +1 -0
  247. package/dist/components/ui/index.cjs +276 -6
  248. package/dist/components/ui/index.cjs.map +1 -1
  249. package/dist/components/ui/index.d.ts +1 -0
  250. package/dist/components/ui/index.d.ts.map +1 -1
  251. package/dist/components/ui/index.js +278 -8
  252. package/dist/components/ui/simple-markdown-renderer.d.ts.map +1 -1
  253. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  254. package/dist/contexts/chat-runtime-context.d.ts +109 -0
  255. package/dist/contexts/chat-runtime-context.d.ts.map +1 -0
  256. package/dist/contexts/endpoints-runtime-context.d.ts +28 -0
  257. package/dist/contexts/endpoints-runtime-context.d.ts.map +1 -0
  258. package/dist/contexts/index.cjs +30 -0
  259. package/dist/contexts/index.cjs.map +1 -0
  260. package/dist/contexts/index.d.ts +26 -0
  261. package/dist/contexts/index.d.ts.map +1 -0
  262. package/dist/contexts/index.js +30 -0
  263. package/dist/contexts/index.js.map +1 -0
  264. package/dist/contexts/use-outer-or-default.d.ts +29 -0
  265. package/dist/contexts/use-outer-or-default.d.ts.map +1 -0
  266. package/dist/embed-shims/index.cjs +51 -0
  267. package/dist/embed-shims/index.cjs.map +1 -0
  268. package/dist/embed-shims/index.d.ts +31 -0
  269. package/dist/embed-shims/index.d.ts.map +1 -0
  270. package/dist/embed-shims/index.js +51 -0
  271. package/dist/embed-shims/index.js.map +1 -0
  272. package/dist/embed-shims/next-dynamic.cjs +12 -0
  273. package/dist/embed-shims/next-dynamic.cjs.map +1 -0
  274. package/dist/embed-shims/next-dynamic.d.ts +47 -0
  275. package/dist/embed-shims/next-dynamic.d.ts.map +1 -0
  276. package/dist/embed-shims/next-dynamic.js +12 -0
  277. package/dist/embed-shims/next-dynamic.js.map +1 -0
  278. package/dist/embed-shims/next-image.cjs +12 -0
  279. package/dist/embed-shims/next-image.cjs.map +1 -0
  280. package/dist/embed-shims/next-image.d.ts +28 -0
  281. package/dist/embed-shims/next-image.d.ts.map +1 -0
  282. package/dist/embed-shims/next-image.js +12 -0
  283. package/dist/embed-shims/next-image.js.map +1 -0
  284. package/dist/embed-shims/next-link.cjs +14 -0
  285. package/dist/embed-shims/next-link.cjs.map +1 -0
  286. package/dist/embed-shims/next-link.d.ts +22 -0
  287. package/dist/embed-shims/next-link.d.ts.map +1 -0
  288. package/dist/embed-shims/next-link.js +14 -0
  289. package/dist/embed-shims/next-link.js.map +1 -0
  290. package/dist/embed-shims/next-navigation.cjs +30 -0
  291. package/dist/embed-shims/next-navigation.cjs.map +1 -0
  292. package/dist/embed-shims/next-navigation.d.ts +46 -0
  293. package/dist/embed-shims/next-navigation.d.ts.map +1 -0
  294. package/dist/embed-shims/next-navigation.js +30 -0
  295. package/dist/embed-shims/next-navigation.js.map +1 -0
  296. package/dist/hooks/index.cjs +10 -4
  297. package/dist/hooks/index.cjs.map +1 -1
  298. package/dist/hooks/index.d.ts +2 -0
  299. package/dist/hooks/index.d.ts.map +1 -1
  300. package/dist/hooks/index.js +9 -3
  301. package/dist/hooks/use-access-code-integration.d.ts +48 -0
  302. package/dist/hooks/use-access-code-integration.d.ts.map +1 -0
  303. package/dist/hooks/use-contact-submission.d.ts.map +1 -1
  304. package/dist/hooks/use-og-placeholder.d.ts +31 -0
  305. package/dist/hooks/use-og-placeholder.d.ts.map +1 -0
  306. package/dist/hooks/use-toast.d.ts +1 -1
  307. package/dist/index.cjs +367 -7
  308. package/dist/index.cjs.map +1 -1
  309. package/dist/index.js +378 -18
  310. package/dist/types/index.cjs.map +1 -1
  311. package/dist/types/index.js.map +1 -1
  312. package/dist/utils/access-code-client.d.ts +21 -37
  313. package/dist/utils/access-code-client.d.ts.map +1 -1
  314. package/dist/utils/cn.d.ts +0 -27
  315. package/dist/utils/cn.d.ts.map +1 -1
  316. package/dist/utils/color-analysis.d.ts +33 -0
  317. package/dist/utils/color-analysis.d.ts.map +1 -0
  318. package/dist/utils/date-formatters.d.ts +16 -5
  319. package/dist/utils/date-formatters.d.ts.map +1 -1
  320. package/dist/utils/fetch-priority.d.ts +3 -0
  321. package/dist/utils/fetch-priority.d.ts.map +1 -0
  322. package/dist/utils/format.d.ts +192 -1
  323. package/dist/utils/format.d.ts.map +1 -1
  324. package/dist/utils/image-proxy.d.ts +67 -2
  325. package/dist/utils/image-proxy.d.ts.map +1 -1
  326. package/dist/utils/index.cjs +1274 -155
  327. package/dist/utils/index.cjs.map +1 -1
  328. package/dist/utils/index.d.ts +19 -3
  329. package/dist/utils/index.d.ts.map +1 -1
  330. package/dist/utils/index.js +1200 -157
  331. package/dist/utils/index.js.map +1 -1
  332. package/dist/utils/local-storage-adapter.d.ts +46 -0
  333. package/dist/utils/local-storage-adapter.d.ts.map +1 -0
  334. package/dist/utils/source-icons.d.ts +78 -0
  335. package/dist/utils/source-icons.d.ts.map +1 -0
  336. package/package.json +29 -2
  337. package/src/components/announcement-bar.tsx +26 -4
  338. package/src/components/categories-cart.tsx +1 -1
  339. package/src/components/chat/chat-attachment-bar.tsx +323 -0
  340. package/src/components/chat/chat-container.tsx +39 -5
  341. package/src/components/chat/chat-input.tsx +7 -1
  342. package/src/components/chat/chat-message-enhanced.tsx +32 -22
  343. package/src/components/chat/chat-message-list.tsx +53 -4
  344. package/src/components/chat/chat-panel-context.tsx +37 -0
  345. package/src/components/chat/chat-ticket-list.tsx +1 -1
  346. package/src/components/chat/embeddable-chat.tsx +1106 -0
  347. package/src/components/chat/entity-cards/admin-content-card.tsx +155 -0
  348. package/src/components/chat/entity-cards/blog-card.tsx +259 -0
  349. package/src/components/chat/entity-cards/blog-image-placeholder.tsx +52 -0
  350. package/src/components/chat/entity-cards/campaign-card-admin.tsx +113 -0
  351. package/src/components/chat/entity-cards/case-study-card.tsx +192 -0
  352. package/src/components/chat/{chat-ticket-item.tsx → entity-cards/chat-ticket-item.tsx} +2 -2
  353. package/src/components/chat/{chat-video-entity-card.tsx → entity-cards/chat-video-entity-card.tsx} +2 -2
  354. package/src/components/chat/entity-cards/customer-interview-card.tsx +211 -0
  355. package/src/components/chat/entity-cards/data-room-doc-card.tsx +120 -0
  356. package/src/components/chat/entity-cards/dispatch.tsx +1093 -0
  357. package/src/components/chat/entity-cards/entity-author-card.tsx +193 -0
  358. package/src/components/chat/entity-cards/generic-entity-card.tsx +144 -0
  359. package/src/components/chat/entity-cards/github-activity-card.tsx +305 -0
  360. package/src/components/chat/entity-cards/hubspot-ticket-card.tsx +205 -0
  361. package/src/components/chat/entity-cards/index.ts +125 -0
  362. package/src/components/chat/entity-cards/investor-update-card.tsx +150 -0
  363. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +326 -0
  364. package/src/components/chat/entity-cards/product-release-card-defaults.ts +57 -0
  365. package/src/components/chat/entity-cards/product-release-card.tsx +19 -0
  366. package/src/components/chat/entity-cards/program-card-defaults.ts +62 -0
  367. package/src/components/chat/entity-cards/program-card.tsx +451 -0
  368. package/src/components/chat/entity-cards/roadmap-card.tsx +356 -0
  369. package/src/components/chat/entity-cards/roadmap-vote-button.tsx +54 -0
  370. package/src/components/chat/entity-cards/slack-message-card.tsx +182 -0
  371. package/src/components/chat/entity-cards/task-type-icon.tsx +60 -0
  372. package/src/components/chat/hooks/index.ts +22 -0
  373. package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +114 -0
  374. package/src/components/chat/hooks/use-chat-attachments.ts +429 -0
  375. package/src/components/chat/hooks/use-chat-card-item.ts +102 -0
  376. package/src/components/chat/hooks/use-chat-identity.ts +139 -0
  377. package/src/components/chat/hooks/use-chat.ts +501 -0
  378. package/src/components/chat/hooks/use-close-on-navigation.ts +87 -0
  379. package/src/components/chat/hooks/use-embedded-chat.ts +1023 -0
  380. package/src/components/chat/hooks/use-proxied-image-url.ts +31 -0
  381. package/src/components/chat/hooks/use-slash-commands.ts +106 -0
  382. package/src/components/chat/hooks/use-sse.ts +143 -0
  383. package/src/components/chat/index.ts +30 -4
  384. package/src/components/chat/nav-link-anchor-via-runtime.tsx +72 -0
  385. package/src/components/chat/source-action-button.tsx +120 -0
  386. package/src/components/chat/types/chat.types.ts +61 -0
  387. package/src/components/chat/types/component.types.ts +57 -11
  388. package/src/components/chat/types/entities/blog.ts +27 -0
  389. package/src/components/chat/types/entities/case-study.ts +14 -0
  390. package/src/components/chat/types/entities/content-ref.ts +23 -0
  391. package/src/components/chat/types/entities/customer-interview.ts +15 -0
  392. package/src/components/chat/types/entities/data-room-doc.ts +37 -0
  393. package/src/components/chat/types/entities/github-activity.ts +36 -0
  394. package/src/components/chat/types/entities/hubspot-ticket.ts +39 -0
  395. package/src/components/chat/types/entities/index.ts +28 -0
  396. package/src/components/chat/types/entities/investor-update.ts +100 -0
  397. package/src/components/chat/types/entities/onboarding-guide.ts +101 -0
  398. package/src/components/chat/types/entities/program-types.ts +433 -0
  399. package/src/components/chat/types/entities/roadmap-item.ts +42 -0
  400. package/src/components/chat/types/entities/slack-message.ts +28 -0
  401. package/src/components/chat/types/index.ts +1 -0
  402. package/src/components/chat/utils/agent-status-message.ts +52 -0
  403. package/src/components/chat/utils/auto-continuation-directive.ts +70 -0
  404. package/src/components/chat/utils/chat-attachment-markdown.ts +190 -0
  405. package/src/components/chat/utils/chat-authed-fetch.ts +73 -0
  406. package/src/components/chat/utils/chat-nav-resolution.ts +151 -0
  407. package/src/components/chat/utils/chat-proxy-auth-storage.ts +148 -0
  408. package/src/components/chat/utils/chip-action-class.ts +19 -0
  409. package/src/components/chat/utils/chip-styles.ts +51 -0
  410. package/src/components/chat/utils/clickup-task-type-utils.ts +59 -0
  411. package/src/components/chat/utils/compact-card-classes.ts +97 -0
  412. package/src/components/chat/utils/decide-new-tab.ts +57 -0
  413. package/src/components/chat/utils/external-app-urls.ts +19 -0
  414. package/src/components/chat/utils/flatten-assistant-content.ts +35 -0
  415. package/src/components/chat/utils/icon-registry.ts +297 -0
  416. package/src/components/chat/utils/index.ts +133 -0
  417. package/src/components/chat/utils/is-cross-origin-url.ts +28 -0
  418. package/src/components/chat/utils/nav-anchor-props.ts +78 -0
  419. package/src/components/chat/utils/nav-click-handler.ts +81 -0
  420. package/src/components/chat/utils/scroll-anchor.ts +35 -0
  421. package/src/components/chat/utils/slash-dispatch-utils.ts +183 -0
  422. package/src/components/chat/utils/source-icons.ts +14 -0
  423. package/src/components/chat/utils/source-row-cta.ts +215 -0
  424. package/src/components/empty-state.tsx +1 -1
  425. package/src/components/features/board/ticket-card.tsx +1 -1
  426. package/src/components/features/figma-prototype-viewer.tsx +2 -1
  427. package/src/components/features/media-gallery-manager.tsx +1 -1
  428. package/src/components/features/parallax-image-showcase.tsx +1 -1
  429. package/src/components/features/release-media-manager.tsx +1 -1
  430. package/src/components/features/seo-editor-preview.tsx +1 -1
  431. package/src/components/features/video.tsx +54 -3
  432. package/src/components/footer-waitlist-button.tsx +1 -1
  433. package/src/components/navigation/header.tsx +1 -1
  434. package/src/components/shared/onboarding/onboarding-step-card.tsx +1 -1
  435. package/src/components/shared/product-release/product-release-card-skeleton.tsx +8 -44
  436. package/src/components/shared/product-release/product-release-card.tsx +31 -116
  437. package/src/components/shared/product-release/release-detail-page.tsx +12 -16
  438. package/src/components/ui/actions-menu.tsx +1 -1
  439. package/src/components/ui/button/button.tsx +41 -11
  440. package/src/components/ui/button/split-button.tsx +1 -1
  441. package/src/components/ui/dashboard-info-card.tsx +2 -3
  442. package/src/components/ui/data-table/data-table-row.tsx +1 -1
  443. package/src/components/ui/entity-image.tsx +2 -8
  444. package/src/components/ui/hover-dropdown.tsx +258 -0
  445. package/src/components/ui/image-gallery-modal.tsx +1 -1
  446. package/src/components/ui/index.ts +1 -0
  447. package/src/components/ui/markdown-editor.tsx +1 -1
  448. package/src/components/ui/more-actions-menu.tsx +1 -1
  449. package/src/components/ui/organization-card.tsx +1 -1
  450. package/src/components/ui/simple-markdown-renderer.tsx +53 -5
  451. package/src/components/ui/square-avatar.tsx +3 -12
  452. package/src/components/ui/tab-navigation.tsx +1 -1
  453. package/src/components/ui/table/table-row.tsx +1 -1
  454. package/src/components/unified-filter-logic.tsx +1 -1
  455. package/src/components/unified-pagination.tsx +1 -1
  456. package/src/components/user-summary-stub.tsx +1 -1
  457. package/src/components/vendor-display-button.tsx +1 -1
  458. package/src/components/vendor-icon.tsx +1 -1
  459. package/src/contexts/chat-runtime-context.tsx +163 -0
  460. package/src/contexts/endpoints-runtime-context.tsx +68 -0
  461. package/src/contexts/index.ts +38 -0
  462. package/src/contexts/use-outer-or-default.ts +42 -0
  463. package/src/embed-shims/index.ts +42 -0
  464. package/src/embed-shims/next-dynamic.tsx +70 -0
  465. package/src/embed-shims/next-image.tsx +114 -0
  466. package/src/embed-shims/next-link.tsx +91 -0
  467. package/src/embed-shims/next-navigation.tsx +201 -0
  468. package/src/hooks/index.ts +9 -0
  469. package/src/hooks/state/use-api-params.ts +1 -1
  470. package/src/hooks/state/use-query-params.ts +1 -1
  471. package/src/hooks/use-access-code-integration.ts +107 -0
  472. package/src/hooks/use-contact-submission.ts +7 -3
  473. package/src/hooks/use-og-placeholder.ts +45 -0
  474. package/src/stories/OnboardingStepCard.stories.tsx +140 -0
  475. package/src/styles/chat-animations.css +65 -0
  476. package/src/styles/index.css +1 -0
  477. package/src/utils/access-code-client.ts +32 -75
  478. package/src/utils/cn.ts +0 -65
  479. package/src/utils/color-analysis.ts +205 -0
  480. package/src/utils/date-formatters.ts +54 -11
  481. package/src/utils/fetch-priority.ts +41 -0
  482. package/src/utils/format.ts +525 -1
  483. package/src/utils/image-proxy.ts +127 -7
  484. package/src/utils/index.ts +145 -5
  485. package/src/utils/local-storage-adapter.ts +105 -0
  486. package/src/utils/source-icons.ts +219 -0
  487. package/dist/chunk-25LVV26X.cjs.map +0 -1
  488. package/dist/chunk-ARQ4XP64.cjs.map +0 -1
  489. package/dist/chunk-CPXLQ57U.js.map +0 -1
  490. package/dist/chunk-LY34ORX6.js.map +0 -1
  491. package/dist/chunk-RMB5DVED.cjs.map +0 -1
  492. package/dist/chunk-SZPJ5R5B.js.map +0 -1
  493. package/dist/chunk-UC43NICZ.cjs.map +0 -1
  494. package/dist/chunk-XGL5FKIK.js.map +0 -1
  495. package/dist/components/chat/block-card.d.ts.map +0 -1
  496. package/dist/components/chat/chat-ticket-item.d.ts.map +0 -1
  497. package/dist/components/chat/chat-video-entity-card.d.ts.map +0 -1
  498. package/dist/utils/dynamic-icons.d.ts +0 -26
  499. package/dist/utils/dynamic-icons.d.ts.map +0 -1
  500. package/dist/utils/format-relative-time.d.ts +0 -21
  501. package/dist/utils/format-relative-time.d.ts.map +0 -1
  502. package/src/utils/.dynamic-icons.md +0 -30
  503. package/src/utils/.format-relative-time.md +0 -36
  504. package/src/utils/dynamic-icons.tsx +0 -120
  505. package/src/utils/format-relative-time.ts +0 -52
  506. /package/dist/{chunk-N57KWHDB.js.map → chunk-CIPO6DXK.js.map} +0 -0
  507. /package/dist/components/chat/{block-card.d.ts → entity-cards/block-card.d.ts} +0 -0
  508. /package/dist/components/chat/{chat-ticket-item.d.ts → entity-cards/chat-ticket-item.d.ts} +0 -0
  509. /package/src/components/chat/{block-card.tsx → entity-cards/block-card.tsx} +0 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Slack Message Card — unified visual for slack-messages markers.
3
+ *
4
+ * PURE PRESENTATION (no internal nav). The card receives the structured
5
+ * `<a>` prop bundle via `anchorProps` (composed by the caller from a
6
+ * runtime hook) and renders the rest from the `SlackMessageItem` shape
7
+ * directly.
8
+ */
9
+ import React from 'react';
10
+ import type { SlackMessageItem } from '../types/entities/slack-message';
11
+ export interface SlackMessageCardAnchorProps {
12
+ href: string;
13
+ target?: '_blank';
14
+ rel?: 'noopener noreferrer';
15
+ onClick?: (e: React.MouseEvent<HTMLAnchorElement>) => void;
16
+ }
17
+ export interface SlackMessageCardProps {
18
+ item: SlackMessageItem;
19
+ variant?: 'row' | 'compact';
20
+ className?: string;
21
+ anchorProps?: SlackMessageCardAnchorProps;
22
+ }
23
+ export declare function SlackMessageCard({ item, variant, className, anchorProps }: SlackMessageCardProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function SlackMessageCardSkeleton({ variant, className }: {
25
+ variant?: 'row' | 'compact';
26
+ className?: string;
27
+ }): import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=slack-message-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-message-card.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/entity-cards/slack-message-card.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,QAAQ,CAAA;IACjB,GAAG,CAAC,EAAE,qBAAqB,CAAA;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,2BAA2B,CAAA;CAC1C;AAgBD,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAmB,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,qBAAqB,2CAwF5G;AAED,wBAAgB,wBAAwB,CAAC,EAAE,OAAmB,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CA+B/H"}
@@ -0,0 +1,6 @@
1
+ export interface TaskTypeIconProps {
2
+ customItemId: number | null | undefined;
3
+ className?: string;
4
+ }
5
+ export declare function TaskTypeIcon({ customItemId, className }: TaskTypeIconProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=task-type-icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-type-icon.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/entity-cards/task-type-icon.tsx"],"names":[],"mappings":"AAmDA,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,YAAY,CAAC,EAAE,YAAY,EAAE,SAAqB,EAAE,EAAE,iBAAiB,2CAGtF"}
@@ -3,4 +3,14 @@ export * from './use-collapsible';
3
3
  export * from './use-jetstream-dialog-subscription';
4
4
  export * from './use-nats-dialog-subscription';
5
5
  export * from './use-realtime-chunk-processor';
6
+ export * from './use-slash-commands';
7
+ export * from './use-chat-attachments';
8
+ export * from './use-chat-attachment-image-gallery';
9
+ export * from './use-chat-identity';
10
+ export * from './use-chat-card-item';
11
+ export * from './use-close-on-navigation';
12
+ export * from './use-chat';
13
+ export * from './use-sse';
14
+ export * from './use-embedded-chat';
15
+ export * from './use-proxied-image-url';
6
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qCAAqC,CAAA;AACnD,cAAc,gCAAgC,CAAA;AAC9C,cAAc,gCAAgC,CAAA;AAG9C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qCAAqC,CAAA;AACnD,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AAMzC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,qBAAqB,CAAA;AAMnC,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare function useChatAttachmentImageGallery(): {
2
+ panelRef: import("react").RefObject<HTMLDivElement | null>;
3
+ modal: import("react/jsx-runtime").JSX.Element | null;
4
+ };
5
+ //# sourceMappingURL=use-chat-attachment-image-gallery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat-attachment-image-gallery.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-chat-attachment-image-gallery.tsx"],"names":[],"mappings":"AAsCA,wBAAgB,6BAA6B;;;EA8D5C"}
@@ -0,0 +1,33 @@
1
+ import type { ChatAttachment } from '../utils/chat-attachment-markdown';
2
+ type Status = 'sniffing' | 'uploading' | 'ready' | 'error';
3
+ /** Internal staged-attachment shape (more fields than the wire
4
+ * `ChatAttachment` — carries state-machine metadata). */
5
+ export interface StagedAttachment {
6
+ /** Stable client-side id; survives across re-renders. */
7
+ id: string;
8
+ file: File;
9
+ status: Status;
10
+ /** Set when `status === 'ready'`. Server-issued. */
11
+ storagePath?: string;
12
+ /** Set when `status === 'ready'`. Server-issued HMAC view token. */
13
+ viewToken?: string;
14
+ /** 0-100 during 'uploading'. */
15
+ progress: number;
16
+ /** Set when `status === 'error'`. */
17
+ errorMessage?: string;
18
+ }
19
+ interface UseChatAttachmentsApi {
20
+ attachments: StagedAttachment[];
21
+ /** All staged files in 'ready' state, projected to the wire
22
+ * `ChatAttachment` shape — pass to `sendMessage`'s `pendingAttachments`. */
23
+ readyAttachments: ChatAttachment[];
24
+ /** True iff any attachment is mid-upload — Send button reads this
25
+ * to disable itself. */
26
+ hasInflightUploads: boolean;
27
+ addFiles: (files: FileList | File[]) => void;
28
+ removeAttachment: (id: string) => void;
29
+ clear: () => void;
30
+ }
31
+ export declare function useChatAttachments(): UseChatAttachmentsApi;
32
+ export {};
33
+ //# sourceMappingURL=use-chat-attachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat-attachments.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-chat-attachments.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAgBvE,KAAK,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,OAAO,CAAA;AAE1D;0DAC0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAYD,UAAU,qBAAqB;IAC7B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B;iFAC6E;IAC7E,gBAAgB,EAAE,cAAc,EAAE,CAAA;IAClC;6BACyB;IACzB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,IAAI,CAAA;IAC5C,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAiGD,wBAAgB,kBAAkB,IAAI,qBAAqB,CAkP1D"}
@@ -0,0 +1,7 @@
1
+ export interface UseChatCardItemResult<T = unknown> {
2
+ item: T | undefined;
3
+ isLoading: boolean;
4
+ isError: boolean;
5
+ }
6
+ export declare function useChatCardItem<T = unknown>(type: string, id: string): UseChatCardItemResult<T>;
7
+ //# sourceMappingURL=use-chat-card-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat-card-item.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-chat-card-item.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,IAAI,EAAE,CAAC,GAAG,SAAS,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AAyCD,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,EACzC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,qBAAqB,CAAC,CAAC,CAAC,CA6B1B"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Wire-shape for the `/api/chat/identity` route response. Mirrors
3
+ * the hub's `ChatIdentityResponse` (in `app/api/chat/identity/route.ts`)
4
+ * — kept in sync there. Lib-side declaration so the chat panel can
5
+ * compile without depending on hub-internal types.
6
+ */
7
+ export interface ChatIdentityResponse {
8
+ authTier: 'session' | 'bearer-act-as' | 'anon';
9
+ source: string | null;
10
+ attachmentsEnabled: boolean;
11
+ /** Server-resolved display identity. `null` for anon. Read by the
12
+ * chat panel for the greeting first-name — embedders DON'T pass
13
+ * user info into the runtime; server is the single source of truth
14
+ * so the displayed name always matches the auth tier.
15
+ *
16
+ * All sub-fields are optional and may be `null`. Consumers MUST
17
+ * treat missing values as "use empty string and skip the affected
18
+ * UI line" — never substitute a placeholder. */
19
+ user: {
20
+ name: string | null;
21
+ email: string | null;
22
+ /** Optional first name supplied by the identity webservice.
23
+ * When set, the chat greeting renders `Hey ${firstName}, I'm Mingo`.
24
+ * When absent (null/undefined/empty), the greeting falls back to
25
+ * the no-name variant `Hey, I'm Mingo`. The chat panel does NOT
26
+ * derive `firstName` from `name.split(' ')[0]` anymore — this is
27
+ * the dedicated authoritative source from the identity webservice. */
28
+ firstName?: string | null;
29
+ /** Optional last name. Currently unused by chat UI; surfaced for
30
+ * embedders that want to display the full name elsewhere. */
31
+ lastName?: string | null;
32
+ /** Optional avatar URL. Validated as https:// server-side. */
33
+ avatarUrl?: string | null;
34
+ } | null;
35
+ }
36
+ /** Shape returned by the hook. NEVER throws — loading + error fall
37
+ * back to anon defaults so consumers can always render synchronously. */
38
+ export interface ChatIdentitySurface extends ChatIdentityResponse {
39
+ /** True while the query is in-flight on first mount; consumers that
40
+ * show a skeleton spinner can read this. */
41
+ isLoading: boolean;
42
+ }
43
+ export declare function useChatIdentity(): ChatIdentitySurface;
44
+ //# sourceMappingURL=use-chat-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat-identity.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-chat-identity.ts"],"names":[],"mappings":"AAwCA;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,GAAG,eAAe,GAAG,MAAM,CAAA;IAC9C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,kBAAkB,EAAE,OAAO,CAAA;IAC3B;;;;;;;qDAOiD;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;QACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB;;;;;+EAKuE;QACvE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB;sEAC8D;QAC9D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAC1B,GAAG,IAAI,CAAA;CACT;AAED;0EAC0E;AAC1E,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D;iDAC6C;IAC7C,SAAS,EAAE,OAAO,CAAA;CACnB;AASD,wBAAgB,eAAe,IAAI,mBAAmB,CA+CrD"}
@@ -0,0 +1,30 @@
1
+ import { type StreamFn, type StreamFnExtraOptions } from './use-sse';
2
+ import type { Message } from '../types/message.types';
3
+ export type { Message } from '../types/message.types';
4
+ export type { StreamFnExtraOptions } from './use-sse';
5
+ interface UseChatOptions {
6
+ useMock?: boolean;
7
+ debugMode?: boolean;
8
+ assistantName?: string;
9
+ assistantAvatar?: string;
10
+ /** Custom stream function — bypasses mock/SSE service when provided */
11
+ streamFn?: StreamFn;
12
+ /** Initial messages (e.g., restored from localStorage). Evaluated once on mount. */
13
+ initialMessages?: Message[];
14
+ /** Called whenever the messages array changes — use for persistence. */
15
+ onMessagesChange?: (messages: Message[]) => void;
16
+ }
17
+ export declare function useChat({ useMock, debugMode, assistantName, assistantAvatar, streamFn, initialMessages, onMessagesChange, }?: UseChatOptions): {
18
+ messages: Message[];
19
+ isTyping: boolean;
20
+ isStreaming: boolean;
21
+ error: string | null;
22
+ sendMessage: (text: string, extra?: StreamFnExtraOptions, options?: {
23
+ hidden?: boolean;
24
+ }) => Promise<void>;
25
+ stopMessage: () => void;
26
+ handleQuickAction: (actionText: string) => void;
27
+ clearMessages: () => void;
28
+ hasMessages: boolean;
29
+ };
30
+ //# sourceMappingURL=use-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-chat.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-chat.ts"],"names":[],"mappings":"AAGA,OAAO,EAAU,KAAK,QAAQ,EAAE,KAAK,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAC5E,OAAO,KAAK,EACV,OAAO,EAGR,MAAM,wBAAwB,CAAA;AAI/B,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAErD,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oFAAoF;IACpF,eAAe,CAAC,EAAE,OAAO,EAAE,CAAA;IAC3B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CACjD;AAQD,wBAAgB,OAAO,CAAC,EACtB,OAAc,EACd,SAAiB,EACjB,aAAqB,EACrB,eAAe,EACf,QAAQ,EACR,eAAe,EACf,gBAAgB,GACjB,GAAE,cAAmB;;;;;wBA4CV,MAAM,UACJ,oBAAoB,YAOlB;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;;oCAoXnB,MAAM;;;EAkCtB"}
@@ -0,0 +1,2 @@
1
+ export declare function useCloseOnNavigation(close: () => void, pathname: string | null): void;
2
+ //# sourceMappingURL=use-close-on-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-close-on-navigation.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-close-on-navigation.ts"],"names":[],"mappings":"AAwDA,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,IAAI,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,IAAI,CA2BN"}
@@ -0,0 +1,174 @@
1
+ import { type StreamFnExtraOptions } from './use-chat';
2
+ import type { ChatRef } from '../chat-ref.types';
3
+ import type { MessageSegment } from '../types/message.types';
4
+ import { type ScrollAnchor } from '../utils/scroll-anchor';
5
+ /** Source identifier — opaque string ID (registry lookup happens in the
6
+ * hub-side platform-utils, not in lib). */
7
+ export type DocSource = string;
8
+ export interface ChatSource {
9
+ index: number;
10
+ name: string;
11
+ path: string;
12
+ documentType: string;
13
+ externalUrl?: string;
14
+ /** Platform that owns the destination at `externalUrl`. */
15
+ targetPlatform?: string | null;
16
+ /** Primary-key value for single-row chips. */
17
+ id?: string;
18
+ /** Per-row items for grouped chips. */
19
+ items?: Array<{
20
+ id: string;
21
+ documentType: string;
22
+ name: string;
23
+ externalUrl?: string;
24
+ targetPlatform?: string | null;
25
+ /** In-app doc-tree path for markdown / data-room-doc rows so the
26
+ * grouped chip's anchor can trigger an in-page doc-tree swap via
27
+ * `handleChatNavClick` (parity with single-row chips + cards). */
28
+ path?: string | null;
29
+ }>;
30
+ /** RagTableConfig.id for this source. */
31
+ sourceRepo?: string;
32
+ /** Optional display label override returned by the chat API. */
33
+ label?: string;
34
+ }
35
+ export interface DocChatMessage {
36
+ id: string;
37
+ role: 'user' | 'assistant';
38
+ /** String form for legacy callers that just want the answer text; structured
39
+ * segments include thinking blocks too, which the lib's
40
+ * ChatMessageEnhanced renders as <ThinkingDisplay> cards. */
41
+ content: string;
42
+ /** Structured segments. When set, callers should prefer this over `content`. */
43
+ segments?: MessageSegment[];
44
+ sources?: ChatSource[];
45
+ /** Per-row refs for inline object-card rendering. Keyed by
46
+ * `<documentType>:<primaryKey>`. Populated for assistant messages only. */
47
+ chatRefs?: Record<string, ChatRef>;
48
+ /** Per-message viewport-positioning hint emitted by the server. */
49
+ scrollAnchor?: ScrollAnchor;
50
+ /** When true the message is part of the conversation history but is
51
+ * NOT rendered in the chat UI. */
52
+ hidden?: boolean;
53
+ }
54
+ /** Streaming phase exposed to the chat shell so it can render a "Thinking with
55
+ * Sonnet 4.6 · 200K context window" status row above the input box.
56
+ * - 'idle' → no in-flight turn
57
+ * - 'thinking' → server emitted the leading {status:'thinking'} frame; no
58
+ * text token has arrived yet (adaptive-thinking phase)
59
+ * - 'streaming' → first text token has arrived; model is generating answer */
60
+ export type StreamingPhase = 'idle' | 'thinking' | 'streaming';
61
+ /** Per-turn metadata extracted from the streamed metadata frame. */
62
+ export interface ChatTurnMeta {
63
+ /** Provider key recognized by `<ModelDisplay>` for icon
64
+ * selection: 'anthropic' | 'openai' | 'google' (case-insensitive). */
65
+ provider: string | null;
66
+ modelLabel: string | null;
67
+ contextWindowMaxTokens: number | null;
68
+ /** Input tokens (from message_start). Includes cached tokens. */
69
+ inputTokens: number | null;
70
+ /** Output tokens (from message_delta). Only known after stream end. */
71
+ outputTokens: number | null;
72
+ /** Cache hit % (read / total-input × 100). Only known after stream end. */
73
+ cacheHitRatePct: number | null;
74
+ /** Cross-call usage breakdown extracted from the trailing usage frame. */
75
+ breakdown: {
76
+ haikuRewriter?: {
77
+ input: number;
78
+ output: number;
79
+ };
80
+ haikuClassifier?: {
81
+ input: number;
82
+ output: number;
83
+ };
84
+ haikuSummarizer?: {
85
+ input: number;
86
+ output: number;
87
+ };
88
+ routedAnswer?: {
89
+ model: string;
90
+ complexity: string;
91
+ thinkingBudget: number;
92
+ };
93
+ } | null;
94
+ /** Per-message viewport-positioning hint. */
95
+ scrollAnchor: ScrollAnchor | null;
96
+ /** Routing decision from the server's `decideRoute`. */
97
+ routedComplexity: string | null;
98
+ routedThinkingBudget: number | null;
99
+ }
100
+ /**
101
+ * Optional dependency-injection options for `useEmbeddedChat`.
102
+ *
103
+ * - `tableIdForDocumentType` — looks up the RagTableConfig.id for an
104
+ * LLM document type. Used by `displayRef` + `discussRef` to translate
105
+ * an inline-card click into a server-side entity-id filter.
106
+ *
107
+ * **Defaults to `defaultTableIdForDocumentType` from
108
+ * `src/utils/source-icons.ts`** — a lib-baked map covering every
109
+ * documentType currently registered in the hub's RAG_TABLE_CONFIGS.
110
+ * This makes Ask / Display work out of the box in embedders without
111
+ * any callback wiring.
112
+ *
113
+ * Override only when you have polymorphic / per-tenant document
114
+ * types that map to a different tableId than the default
115
+ * (hub-canonical) registry — pass your own `(docType) => tableId`
116
+ * callback and it wins over the default.
117
+ */
118
+ export interface UseEmbeddedChatOptions {
119
+ tableIdForDocumentType?: (documentType: string) => string | null;
120
+ }
121
+ /**
122
+ * Stream-driven AI chat hook. Returns the message list, send/stop/clear
123
+ * controls, and per-turn metadata (model name, token counts, routing
124
+ * decision) the lib's `<ChatContainer>` consumes.
125
+ *
126
+ * Source identity comes from `useRequiredChatRuntime().source` — no
127
+ * parameter. Throws if `runtime.source` is empty.
128
+ */
129
+ export declare function useEmbeddedChat(options?: UseEmbeddedChatOptions): {
130
+ messages: DocChatMessage[];
131
+ isLoading: boolean;
132
+ sendMessage: (text: string, options?: StreamFnExtraOptions, messageOptions?: {
133
+ hidden?: boolean;
134
+ }) => void;
135
+ /** "Discuss" affordance for ObjectCard. */
136
+ discussRef: (reference: ChatRef) => void;
137
+ /** "Display" counterpart of `discussRef`. */
138
+ displayRef: (reference: ChatRef) => void;
139
+ stopMessage: () => void;
140
+ clearMessages: () => void;
141
+ streamingPhase: StreamingPhase;
142
+ /** Provider key for the lib's `<ModelDisplay>` icon. */
143
+ currentProvider: string | null;
144
+ currentModelLabel: string | null;
145
+ currentContextWindowMaxTokens: number | null;
146
+ /** Input tokens (known after server's message_start frame; null until). */
147
+ currentInputTokens: number | null;
148
+ /** Output tokens (known only after server's trailing usage frame). */
149
+ currentOutputTokens: number | null;
150
+ /** Cache hit % (read / total-input × 100). null during streaming. */
151
+ currentCacheHitRatePct: number | null;
152
+ /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
153
+ * token counts). null until the trailing usage frame lands. */
154
+ currentUsageBreakdown: {
155
+ haikuRewriter?: {
156
+ input: number;
157
+ output: number;
158
+ };
159
+ haikuClassifier?: {
160
+ input: number;
161
+ output: number;
162
+ };
163
+ haikuSummarizer?: {
164
+ input: number;
165
+ output: number;
166
+ };
167
+ routedAnswer?: {
168
+ model: string;
169
+ complexity: string;
170
+ thinkingBudget: number;
171
+ };
172
+ } | null;
173
+ };
174
+ //# sourceMappingURL=use-embedded-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-embedded-chat.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-embedded-chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Hook-version of `getProxiedImageUrl` that reads `proxyPrefix` and
3
+ * `skipDomains` from the ambient `ChatRuntime`. Use anywhere inside
4
+ * a `<ChatRuntimeContext.Provider>`.
5
+ *
6
+ * Returns the input URL (or `''` for null/undefined) when no
7
+ * `imageProxyUrlPrefix` is configured. Always passes `directHttps: true`
8
+ * — callers that need proxied https (e.g. raster-only) must use the pure
9
+ * `getProxiedImageUrl` from `@flamingo-stack/openframe-frontend-core/utils`
10
+ * directly.
11
+ *
12
+ * Rules of hooks: call at the TOP of a component, NOT inside loops/maps.
13
+ * For `.map(item => proxy(item.url))` patterns, use the pure
14
+ * `getProxiedImageUrl` and hardcode the proxy config — the rare
15
+ * non-React-tree caller pattern.
16
+ */
17
+ export declare function useProxiedImageUrl(url: string | null | undefined): string;
18
+ //# sourceMappingURL=use-proxied-image-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-proxied-image-url.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-proxied-image-url.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CASzE"}
@@ -0,0 +1,32 @@
1
+ import type { SlashCommandActionId, SlashCommandSummaryAction, SlashCommandSummary } from "../types/component.types";
2
+ export type { SlashCommandActionId, SlashCommandSummaryAction, SlashCommandSummary, };
3
+ /**
4
+ * Fetch slash-command suggestions for the CURRENT deployment platform,
5
+ * matching id-prefix `prefix`. The chat source is server-resolved — the
6
+ * client sends NO `source` param on the URL.
7
+ *
8
+ * `commandsUrl` is required — supplied by `useChatRuntime().endpoints.commandsUrl`
9
+ * at the call site. NO default value.
10
+ *
11
+ * URL handling: `new URL(commandsUrl, window.location.origin)` works
12
+ * for both relative (e.g. `/api/mingo-guide/commands` → resolved against
13
+ * the embedder origin, proxy handles it) and absolute
14
+ * (e.g. `https://hub.openframe.ai/api/commands` → the base arg is
15
+ * ignored).
16
+ *
17
+ * Returns the parsed `commands` array; on any non-2xx (auth,
18
+ * rate-limit, chat-disabled) returns an empty array — the autocomplete
19
+ * UI silently shows no suggestions rather than surfacing 401/403/429
20
+ * toasts.
21
+ */
22
+ export declare function fetchSlashCommands(prefix: string, signal: AbortSignal | undefined, commandsUrl: string): Promise<SlashCommandSummary[]>;
23
+ /**
24
+ * Debounced, cancellable React hook. Returns `{ commands, loading }`.
25
+ *
26
+ * `commandsUrl` is required — pass `useChatRuntime().endpoints.commandsUrl`.
27
+ */
28
+ export declare function useSlashCommands(prefix: string | null, commandsUrl: string): {
29
+ commands: SlashCommandSummary[];
30
+ loading: boolean;
31
+ };
32
+ //# sourceMappingURL=use-slash-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-slash-commands.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-slash-commands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAMlC,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,GACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAOhC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,WAAW,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAiCvD"}
@@ -0,0 +1,57 @@
1
+ import type { MessageSegment } from '../types/message.types';
2
+ import type { WireCommandOverride } from '../utils/slash-dispatch-utils';
3
+ import type { ChatAttachment } from '../utils/chat-attachment-markdown';
4
+ /**
5
+ * Stream function signature. The optional `signal` is created fresh per
6
+ * `streamMessage` call so the underlying fetch can be aborted cleanly when
7
+ * the user clicks Stop. Without the signal, abort would only stop yielding
8
+ * chunks at the iterator boundary while the upstream Anthropic request
9
+ * continued running (and billing).
10
+ *
11
+ * `extraOptions` carries per-call extras (currently `commandOverride` for
12
+ * the inline-card "Discuss" affordance per v6.1 §B.2.8). Kept generic so
13
+ * future per-call wire fields don't bloat the signature.
14
+ */
15
+ export interface StreamFnExtraOptions {
16
+ commandOverride?: WireCommandOverride;
17
+ /** Out-of-band signal for the post-approval / post-reject
18
+ * server-driven turn. When set, the streamFn routes to
19
+ * `/api/chat/agent/confirm-tool` instead of `/api/docs/chat` and
20
+ * encodes the action on the request body. The server emits a
21
+ * `decision_resolved` leading frame that the chat-shell uses to
22
+ * flip the SOURCE approval card (different assistant message than
23
+ * the one being streamed into), then — on approve + write tool —
24
+ * pipes the auto-continuation Sonnet response as standard chat SSE
25
+ * frames into a NEW assistant turn. The CLIENT does not orchestrate
26
+ * the auto-continuation; it just renders frames. */
27
+ approvalAction?: {
28
+ proposalId: string;
29
+ action: 'approve' | 'reject';
30
+ };
31
+ /** Chat-attachment payload riding alongside the user's text — the
32
+ * staged attachments produced by `useChatAttachments`. Server-side,
33
+ * `runDocsChat` strips the embedded `/api/storage/view/chat-attachments/...`
34
+ * markdown lines from the user's text and replaces them with
35
+ * Anthropic image content blocks (raw signed URLs).
36
+ *
37
+ * Wire format: `storagePath` + `viewToken` only — NEVER a `url`
38
+ * field. Server validates against `ChatAttachmentSchema` and rejects
39
+ * malformed shapes. */
40
+ pendingAttachments?: ChatAttachment[];
41
+ }
42
+ export type StreamFn = (message: string, signal?: AbortSignal, extra?: StreamFnExtraOptions) => AsyncGenerator<MessageSegment>;
43
+ interface UseSSEOptions {
44
+ useMock?: boolean;
45
+ debugMode?: boolean;
46
+ /** Custom stream function — when provided, bypasses the mock fallback */
47
+ streamFn?: StreamFn;
48
+ }
49
+ export declare function useSSE({ useMock, debugMode, streamFn }?: UseSSEOptions): {
50
+ streamMessage: (message: string, extra?: StreamFnExtraOptions) => AsyncGenerator<MessageSegment>;
51
+ isStreaming: boolean;
52
+ error: string | null;
53
+ abort: () => void;
54
+ reset: () => void;
55
+ };
56
+ export {};
57
+ //# sourceMappingURL=use-sse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sse.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/hooks/use-sse.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,CAAC,EAAE,mBAAmB,CAAA;IACrC;;;;;;;;;yDASqD;IACrD,cAAc,CAAC,EAAE;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAA;KAC7B,CAAA;IACD;;;;;;;;4BAQwB;IACxB,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAA;CACtC;AACD,MAAM,MAAM,QAAQ,GAAG,CACrB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,EACpB,KAAK,CAAC,EAAE,oBAAoB,KACzB,cAAc,CAAC,cAAc,CAAC,CAAA;AAEnC,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAc,EAAE,SAAiB,EAAE,QAAQ,EAAE,GAAE,aAAkB;6BAqB3E,MAAM,UACP,oBAAoB,KAC3B,cAAc,CAAC,cAAc,CAAC;;;;;EA6DpC"}