@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,303 @@
1
+ /**
2
+ * Unified Program System Types
3
+ *
4
+ * Base interfaces and types for the Unified Program System that handles
5
+ * events, podcasts, and webinars through a single set of generic components.
6
+ *
7
+ * Design Goals:
8
+ * 1. Maximum Reuse: Single set of components works for all program types
9
+ * 2. Type Safety: TypeScript generics ensure correct data shapes
10
+ * 3. Configuration-Driven: Program types defined via configuration objects
11
+ * 4. Admin Consistency: Same patterns work for public pages and admin CRUD
12
+ *
13
+ * Lifted from `lib/types/program-types.ts` in the hub. The pure transform
14
+ * helpers (`transformEventToProgram`, `transformPodcastToProgram`,
15
+ * `transformWebinarToProgram`) also move here — they're pure shape
16
+ * mappers with no DB / state access.
17
+ */
18
+ import type { ReactNode } from 'react';
19
+ /**
20
+ * Host/Speaker information for programs
21
+ */
22
+ export interface ProgramHost {
23
+ id?: string;
24
+ name: string;
25
+ email?: string;
26
+ avatar_url?: string;
27
+ bio?: string;
28
+ role?: string;
29
+ }
30
+ /**
31
+ * Raw database row from luma_events table
32
+ * Note: Many fields are optional to support partial queries
33
+ * where not all columns are selected. The hosts field uses
34
+ * unknown to accommodate JSON parsing from the database.
35
+ */
36
+ export interface LumaEventRow {
37
+ id: string;
38
+ name: string;
39
+ description?: string | null;
40
+ cover_url?: string | null;
41
+ start_at: string;
42
+ end_at: string;
43
+ timezone?: string | null;
44
+ location_name?: string | null;
45
+ location_full_address?: string | null;
46
+ geo_latitude?: number | null;
47
+ geo_longitude?: number | null;
48
+ meeting_url?: string | null;
49
+ event_url?: string | null;
50
+ guest_count?: number | null;
51
+ visibility?: string | null;
52
+ hosts?: ProgramHost[] | null;
53
+ platform_id: string;
54
+ luma_api_id: string;
55
+ is_deleted?: boolean;
56
+ }
57
+ /**
58
+ * Raw database row from podcast_episodes table
59
+ * Note: Many fields are optional to support partial queries
60
+ * where not all columns are selected.
61
+ */
62
+ export interface PodcastEpisodeRow {
63
+ id: string;
64
+ title: string;
65
+ description?: string | null;
66
+ cover_url?: string | null;
67
+ published_at?: string | null;
68
+ created_at: string;
69
+ external_url?: string | null;
70
+ hosts?: ProgramHost[] | null;
71
+ platform_id: string;
72
+ podbean_episode_id: string;
73
+ podbean_podcast_id: string;
74
+ audio_url?: string | null;
75
+ /** Podbean-supplied source video URL (was `video_url` pre-rename). */
76
+ main_video_url?: string | null;
77
+ media_type?: 'audio' | 'video' | null;
78
+ duration_seconds?: number | null;
79
+ status?: string | null;
80
+ is_deleted?: boolean;
81
+ cover_image_override?: string | null;
82
+ custom_video_url?: string | null;
83
+ }
84
+ /**
85
+ * Raw database row from webinars table
86
+ * Note: Many fields are optional to support partial queries
87
+ * where not all columns are selected.
88
+ */
89
+ export interface WebinarRow {
90
+ id: string;
91
+ title: string;
92
+ description?: string | null;
93
+ cover_url?: string | null;
94
+ start_at: string;
95
+ end_at?: string | null;
96
+ timezone?: string | null;
97
+ registration_url?: string | null;
98
+ hosts?: ProgramHost[] | null;
99
+ platform_id: string;
100
+ livestorm_event_id: string;
101
+ is_deleted?: boolean;
102
+ /** Livestorm-supplied recording URL (was `recording_url` pre-rename). */
103
+ main_video_url?: string | null;
104
+ custom_video_url?: string | null;
105
+ display_date_override?: string | null;
106
+ cover_image_override?: string | null;
107
+ }
108
+ /**
109
+ * Base interface that all program items must implement
110
+ * This enables the generic components to work across events, podcasts, and webinars
111
+ */
112
+ export interface BaseProgramItem {
113
+ id: string;
114
+ title: string;
115
+ description: string | null;
116
+ cover_url: string | null;
117
+ date: string;
118
+ external_url?: string | null;
119
+ hosts?: ProgramHost[] | null;
120
+ platform_id: string;
121
+ }
122
+ /**
123
+ * Event-specific fields (from luma_events table)
124
+ */
125
+ export interface EventItem extends BaseProgramItem {
126
+ luma_api_id: string;
127
+ end_at: string;
128
+ timezone?: string | null;
129
+ location_name?: string | null;
130
+ location_full_address?: string | null;
131
+ geo_latitude?: number | null;
132
+ geo_longitude?: number | null;
133
+ meeting_url?: string | null;
134
+ event_url?: string | null;
135
+ guest_count?: number | null;
136
+ visibility?: string | null;
137
+ is_deleted: boolean;
138
+ }
139
+ /**
140
+ * Podcast episode fields (from podcast_episodes table)
141
+ * Updated for Podbean video podcast support
142
+ */
143
+ export interface PodcastItem extends BaseProgramItem {
144
+ author_id?: string | null;
145
+ podbean_episode_id: string;
146
+ podbean_podcast_id: string;
147
+ audio_url?: string | null;
148
+ /** Podbean-supplied source video URL (was `video_url` pre-rename). */
149
+ main_video_url?: string | null;
150
+ media_type: 'audio' | 'video';
151
+ duration_seconds?: number | null;
152
+ status: string;
153
+ published_at: string | null;
154
+ is_deleted: boolean;
155
+ podcast_url?: string | null;
156
+ cover_image_override?: string | null;
157
+ custom_video_url?: string | null;
158
+ transcript?: string | null;
159
+ transcript_words_data?: unknown;
160
+ srt_content?: string | null;
161
+ video_summary?: string | null;
162
+ video_bites?: unknown[];
163
+ highlight_video_url?: string | null;
164
+ highlight_video_source?: string | null;
165
+ highlight_video_thumbnail?: string | null;
166
+ highlight_video_duration_ms?: number | null;
167
+ main_video_thumbnail?: string | null;
168
+ config?: Record<string, unknown>;
169
+ custom_instructions?: string | null;
170
+ seo_title?: string | null;
171
+ seo_description?: string | null;
172
+ seo_keywords?: string | null;
173
+ ai_confidence_video_summary?: number | null;
174
+ ai_confidence_transcript?: number | null;
175
+ }
176
+ /**
177
+ * Webinar fields (from webinars table)
178
+ */
179
+ export interface WebinarItem extends BaseProgramItem {
180
+ author_id?: string | null;
181
+ livestorm_event_id: string;
182
+ start_at: string;
183
+ end_at?: string | null;
184
+ timezone?: string | null;
185
+ registration_url?: string | null;
186
+ is_deleted: boolean;
187
+ /** Livestorm-supplied recording URL (was `recording_url` pre-rename). */
188
+ main_video_url?: string | null;
189
+ custom_video_url?: string | null;
190
+ display_date_override?: string | null;
191
+ cover_image_override?: string | null;
192
+ transcript?: string | null;
193
+ transcript_words_data?: unknown;
194
+ srt_content?: string | null;
195
+ video_summary?: string | null;
196
+ video_bites?: unknown[];
197
+ highlight_video_url?: string | null;
198
+ highlight_video_source?: string | null;
199
+ highlight_video_thumbnail?: string | null;
200
+ highlight_video_duration_ms?: number | null;
201
+ main_video_thumbnail?: string | null;
202
+ config?: Record<string, unknown>;
203
+ custom_instructions?: string | null;
204
+ seo_title?: string | null;
205
+ seo_description?: string | null;
206
+ seo_keywords?: string | null;
207
+ ai_confidence_video_summary?: number | null;
208
+ ai_confidence_transcript?: number | null;
209
+ }
210
+ /**
211
+ * Program type identifier
212
+ */
213
+ export type ProgramType = 'event' | 'podcast' | 'webinar';
214
+ /**
215
+ * Labels configuration for a program type
216
+ */
217
+ export interface ProgramLabels {
218
+ singular: string;
219
+ plural: string;
220
+ upcoming: string;
221
+ upcomingSection: string;
222
+ archive: string;
223
+ empty: string;
224
+ }
225
+ /**
226
+ * Configuration object that defines how a program type behaves
227
+ * This is the core abstraction that enables generic components
228
+ */
229
+ export interface ProgramConfig<T extends BaseProgramItem = BaseProgramItem> {
230
+ type: ProgramType;
231
+ labels: ProgramLabels;
232
+ dateField: keyof T;
233
+ table: string;
234
+ apiEndpoint: string;
235
+ icon: ReactNode;
236
+ platformIcon?: ReactNode;
237
+ externalLinkLabel: string;
238
+ detailRoute: string;
239
+ sortOrder?: 'asc' | 'desc';
240
+ showInNav?: boolean;
241
+ platformUrl?: string;
242
+ heroCoverAspect?: 'landscape' | 'square';
243
+ }
244
+ /**
245
+ * Generic response for program list queries
246
+ */
247
+ export interface ProgramListResponse<T extends BaseProgramItem> {
248
+ items: T[];
249
+ count: number;
250
+ hasMore?: boolean;
251
+ }
252
+ /**
253
+ * Generic response for single program queries
254
+ */
255
+ export interface ProgramItemResponse<T extends BaseProgramItem> {
256
+ item: T;
257
+ media?: ProgramMedia[];
258
+ }
259
+ /**
260
+ * Program media (photos, videos, etc.)
261
+ */
262
+ export interface ProgramMedia {
263
+ id: string;
264
+ program_id: string;
265
+ media_type: 'image' | 'video' | 'audio';
266
+ media_url: string;
267
+ title?: string | null;
268
+ description?: string | null;
269
+ display_order: number;
270
+ created_at: string;
271
+ }
272
+ /**
273
+ * Filter options for program queries
274
+ */
275
+ export interface ProgramFilter {
276
+ filter: 'upcoming' | 'past' | 'all';
277
+ limit?: number;
278
+ offset?: number;
279
+ search?: string;
280
+ }
281
+ /**
282
+ * Admin query options
283
+ */
284
+ export interface AdminProgramFilter extends ProgramFilter {
285
+ includeDeleted?: boolean;
286
+ sortBy?: string;
287
+ sortOrder?: 'asc' | 'desc';
288
+ }
289
+ /**
290
+ * Transform a database event row to EventItem
291
+ */
292
+ export declare function transformEventToProgram(event: LumaEventRow): EventItem;
293
+ /**
294
+ * Transform a database podcast row to PodcastItem
295
+ */
296
+ export declare function transformPodcastToProgram(episode: PodcastEpisodeRow): PodcastItem;
297
+ /**
298
+ * Transform a database webinar row to WebinarItem
299
+ * Uses display_date_override for date field when available (for backdating)
300
+ * Uses cover_image_override for cover_url when available
301
+ */
302
+ export declare function transformWebinarToProgram(webinar: WebinarRow): WebinarItem;
303
+ //# sourceMappingURL=program-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program-types.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/types/entities/program-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Roadmap Item entity — wire shape for the chat roadmap card and the
3
+ * public `/api/roadmap` reads.
4
+ *
5
+ * Lifted from `lib/data/clickup-query-utils.ts` in the hub. Mirrors the
6
+ * `roadmap_items` projection produced by `transformTask()` in
7
+ * `clickup-sync-utils.ts`.
8
+ *
9
+ * Naming note: a `RoadmapItem` stub already exists in
10
+ * `src/components/shared/product-release/release-detail-page.tsx` as
11
+ * `{ id: string; [key: string]: unknown }` — that placeholder predates this
12
+ * canonical shape and lives in a different module, so the two don't
13
+ * collide. Callers that want the strongly-typed wire shape import from
14
+ * `@/components/chat/types/entities/roadmap-item`; the product-release
15
+ * placeholder will be reconciled in a follow-up.
16
+ */
17
+ export interface RoadmapItem {
18
+ id: string;
19
+ title: string;
20
+ description: string;
21
+ status: string;
22
+ statusColor: string;
23
+ icon: string | null;
24
+ figmaUrl: string | null;
25
+ screenshots: string[];
26
+ targetVersion: string | null;
27
+ upvotes: number;
28
+ downvotes: number;
29
+ quarter: string;
30
+ clickupUrl: string;
31
+ /** ClickUp canonical task-type taxonomy ID (1008=Bug, 1009=Request,
32
+ * 1010=Feature, …). Drives the type-specific icon rendered in the
33
+ * chat's compact card for the internal-tasks variant — see
34
+ * `getTaskTypeIcon` in `lib/utils/clickup-task-type-utils.ts`. */
35
+ customItemId: number | null;
36
+ }
37
+ export interface RoadmapStaleness {
38
+ lastSyncedAt: string | null;
39
+ staleSinceMs: number;
40
+ }
41
+ //# sourceMappingURL=roadmap-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/types/entities/roadmap-item.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB;;;uEAGmE;IACnE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Slack Message entity — wire shape for the chat slack-message card.
3
+ *
4
+ * Lifted from `components/shared/slack/slack-message-card.tsx`. The card
5
+ * consumes this shape; the row shape coming out of the `slack_messages`
6
+ * RAG table is reduced to this minimal projection at render time.
7
+ *
8
+ * Naming note: this is intentionally `SlackMessageItem` (not the broader
9
+ * `SlackMessage` in `src/types/slack.ts`, which describes the Slack
10
+ * Community feature's message structure including reactions / threading /
11
+ * user objects). The chat card needs only the post-RAG projection: id,
12
+ * title, preview, channel, date, permalink — no reactions / threads.
13
+ */
14
+ export interface SlackMessageItem {
15
+ /** Slack message ID (ts or url-derived) */
16
+ id: string;
17
+ /** Display title — typically "author · channel" or message subject */
18
+ title: string;
19
+ /** Message body preview (PII-sanitized server-side) */
20
+ preview?: string;
21
+ /** Channel name parsed from URL or stored on the row, when available */
22
+ channel?: string;
23
+ /** ISO timestamp or millisecond epoch */
24
+ dateUpdated?: string | number | null;
25
+ /** Slack permalink (https://*.slack.com/archives/<channel>/p<ts>) */
26
+ url?: string | null;
27
+ }
28
+ //# sourceMappingURL=slack-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-message.d.ts","sourceRoot":"","sources":["../../../../../src/components/chat/types/entities/slack-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB"}
@@ -4,4 +4,5 @@ export * from './component.types';
4
4
  export * from './network.types';
5
5
  export * from './processing.types';
6
6
  export * from './api.types';
7
+ export * from './entities';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Status color-scheme resolver used by chat-adjacent badges (StatusBadge
3
+ * components rendering job, ClickUp task, and log-level statuses).
4
+ *
5
+ * Lib-side subset of the hub's `lib/utils/agent-status-message.ts`. The
6
+ * hub file also carries CSS-class resolvers + an `AgentStatusMessage`
7
+ * builder for the SSE-status surface; those live hub-side because they
8
+ * reference hub-only ODS class names. This function returns the abstract
9
+ * color scheme name only — the consuming `StatusBadge` (in this lib)
10
+ * maps it to concrete colors.
11
+ */
12
+ export type ColorScheme = 'success' | 'error' | 'warning' | 'cyan' | 'default';
13
+ /**
14
+ * Map a status to a color scheme name for StatusBadge components.
15
+ * Supports job/processing statuses, ClickUp task statuses, and log levels.
16
+ */
17
+ export declare function getStatusColorScheme(status: string): ColorScheme;
18
+ //# sourceMappingURL=agent-status-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-status-message.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/agent-status-message.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAA;AAE9E;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAiChE"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Shared cross-process contract for the post-approval auto-continuation
3
+ * directive. The client emits a hidden synthetic user message starting
4
+ * with `AUTO_CONTINUATION_DIRECTIVE_PREFIX`; the server's `decideRoute`
5
+ * matches that exact prefix on the RAW user query (pre-rewriter) and
6
+ * hard-disables tools for the directive turn, forcing the LLM to
7
+ * respond with prose follow-up questions instead of duplicating the
8
+ * just-approved tool call.
9
+ *
10
+ * Single source of truth — both server-side `decideRoute` AND
11
+ * client-side `autoContinueRef` import from here. Drifting the literal
12
+ * on either side would silently break the duplicate-ticket guard
13
+ * (server would route normally with tools wired; LLM would propose the
14
+ * same tool again).
15
+ *
16
+ * `toolName` is typed as `string` (not a const-union) so the lib stays
17
+ * generic across hub deployments — host code that has a sharper
18
+ * `KnownWriteToolName` type can pass that through; this builder only
19
+ * cares about a handful of string-equal branches.
20
+ */
21
+ export declare const AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
22
+ export interface BuildAutoContinuationOptions {
23
+ ticketId?: string;
24
+ /** Reading of `args.status` on the just-approved tool call. Used to
25
+ * branch the directive between "post-create diagnostic Qs",
26
+ * "post-close resolution ask", and "post-update acknowledgement". */
27
+ status?: string;
28
+ }
29
+ /**
30
+ * Build the directive text the client sends as a HIDDEN user message
31
+ * after every successful Approve. The LLM treats it as the user
32
+ * speaking; the chat shell filters it out at render time.
33
+ *
34
+ * Branch logic mirrors `TICKET_TOOL_PROTOCOL` §1a/§1b — keep them in
35
+ * sync: the directive tells the model WHICH section to follow.
36
+ */
37
+ export declare function buildAutoContinuationDirective(toolName: string, opts?: BuildAutoContinuationOptions): string;
38
+ //# sourceMappingURL=auto-continuation-directive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-continuation-directive.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/auto-continuation-directive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,eAAO,MAAM,kCAAkC,iCAAiC,CAAA;AAEhF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;0EAEsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,4BAAiC,GACtC,MAAM,CA2BR"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Shared helper for the host-side markdown formatter ↔ server-side
3
+ * parser pair. Single source of truth so the host-side build (chat
4
+ * bubble render) and the server-side strip (LLM input cleanup) can
5
+ * never drift.
6
+ *
7
+ * Lib-side replacement for the hub's `lib/utils/chat-attachment-markdown.ts`.
8
+ * The hub file pulled its constants from `lib/config/chat-attachment-config`
9
+ * + its `ChatAttachment` type from `lib/types/chat-attachment`. Both are
10
+ * inlined here as lib-local constants/types — they're stable wire-format
11
+ * contracts (the hub's view-route owns the prefix + token-param name; any
12
+ * change is a coordinated migration).
13
+ *
14
+ * URL flavors at a glance:
15
+ * - HOST-SIDE (user-bubble render): uses the runtime's
16
+ * `attachmentViewUrlPrefix` (hub default = `/api/storage/view/chat-attachments/`).
17
+ * Embedded apps override per their reverse-proxy topology.
18
+ * - SERVER-SIDE (strip regex): uses the constant
19
+ * `CHAT_ATTACHMENT_VIEW_URL_PREFIX` directly. The chat ROUTE always
20
+ * runs on the hub, so it always strips on the hub default.
21
+ * - ANTHROPIC image-blocks: uses the RAW Supabase signed URL — NOT the
22
+ * proxy URL — because Anthropic's image fetcher doesn't reliably
23
+ * follow 302 redirects.
24
+ *
25
+ * Security gates inside the formatter:
26
+ * - Filename markdown chars escaped via `escapeMarkdownInline` so a
27
+ * name like `screenshot](https://evil.com).png` cannot terminate
28
+ * the markdown image early and embed an attacker-controlled URL.
29
+ * - `<` and `>` escaped too — prevents CommonMark autolink expansion
30
+ * for filenames containing URL-shaped text.
31
+ */
32
+ /** Hub-default prefix for the view-proxy URL. Embedders override via the
33
+ * runtime. The server-side strip regex always uses THIS value (server
34
+ * runs on the hub). */
35
+ export declare const CHAT_ATTACHMENT_VIEW_URL_PREFIX = "/api/storage/view/chat-attachments/";
36
+ /** Query parameter name for the HMAC view token. */
37
+ export declare const CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = "t";
38
+ /** Subset Anthropic's image content-block API supports. HEIC / video
39
+ * attachments fall through to the text-marker form so the LLM still sees
40
+ * a reference even when it can't visually parse the file. */
41
+ export declare const ANTHROPIC_SUPPORTED_IMAGE_MIME: readonly ["image/jpeg", "image/png", "image/webp", "image/gif"];
42
+ /**
43
+ * Wire shape for a single chat attachment.
44
+ *
45
+ * `viewToken` is server-issued (HMAC-signed) and embedded in the markdown
46
+ * URL's `?t=` query parameter. The client never generates it — the upload
47
+ * route returns it alongside the storage path.
48
+ */
49
+ export interface ChatAttachment {
50
+ storagePath: string;
51
+ viewToken: string;
52
+ contentType: string;
53
+ fileName: string;
54
+ size: number;
55
+ }
56
+ /**
57
+ * Build the markdown view-URL for a chat attachment.
58
+ *
59
+ * `viewUrlPrefix` is parameterized (NOT pulled from the constant) so
60
+ * host-side callers can pass the runtime's prefix
61
+ * (`ChatRuntime.endpoints.attachmentViewUrlPrefix`) — embedded apps
62
+ * supply an absolute URL against the hub's origin so chat-history
63
+ * markdown works cross-origin.
64
+ *
65
+ * Server-side callers (the strip regex source) should pass
66
+ * `CHAT_ATTACHMENT_VIEW_URL_PREFIX` directly.
67
+ */
68
+ export declare function buildChatAttachmentViewUrl(viewUrlPrefix: string, storagePath: string, viewToken: string): string;
69
+ /**
70
+ * Escape inline-markdown special characters from a filename before
71
+ * interpolation. Closes the markdown-injection / phishing primitive:
72
+ * a filename like `screenshot](https://evil.com).png` would otherwise
73
+ * terminate `![filename](...)` early and emit an attacker-controlled
74
+ * URL in the user's bubble.
75
+ *
76
+ * Escapes: `[`, `]`, `(`, `)`, `\`, `\n`, `\r`, `<`, `>`, `"`.
77
+ */
78
+ export declare function escapeMarkdownInline(text: string): string;
79
+ /**
80
+ * Format a single chat-attachment as a markdown line to append to the
81
+ * user's bubble text BEFORE sending.
82
+ *
83
+ * Images (MIME in `ANTHROPIC_SUPPORTED_IMAGE_MIME`) emit the `![]()`
84
+ * image form so the browser renders the attachment inline. Everything
85
+ * else (HEIC, video, audio) emits the `[Attached: ...]` link form so the
86
+ * bubble shows a clickable file pill instead of a broken-image icon.
87
+ */
88
+ export declare function formatChatAttachmentMarkdownForBubble(att: ChatAttachment, viewUrlPrefix: string): string;
89
+ /**
90
+ * Module-private: the `CHAT_ATTACHMENT_VIEW_URL_PREFIX` with regex
91
+ * meta-characters escaped, so it can be safely interpolated into
92
+ * regex sources. Computed ONCE at module load. Exported so other
93
+ * regex-building call sites can share the same source of truth.
94
+ */
95
+ export declare const CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED: string;
96
+ /**
97
+ * Single anchored regex matching both the image (`![]()`) and link
98
+ * (`[Attached: ...]`) forms keyed on the server-side prefix.
99
+ *
100
+ * `gm` flags — multi-line anchored so the regex matches per-line.
101
+ * Non-chat markdown links/images stay untouched because the regex
102
+ * requires the literal `/api/storage/view/chat-attachments/` prefix.
103
+ */
104
+ export declare const CHAT_ATTACHMENT_MARKDOWN_PATTERN: RegExp;
105
+ /**
106
+ * Strip pre-embedded chat-attachment markdown lines from `text`.
107
+ * Returns the cleaned text + the storage paths extracted from the
108
+ * matched URLs.
109
+ */
110
+ export declare function stripChatAttachmentMarkdown(text: string): {
111
+ stripped: string;
112
+ storagePaths: string[];
113
+ };
114
+ //# sourceMappingURL=chat-attachment-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-attachment-markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chat-attachment-markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AASH;;wBAEwB;AACxB,eAAO,MAAM,+BAA+B,wCAAwC,CAAA;AAEpF,oDAAoD;AACpD,eAAO,MAAM,sCAAsC,MAAM,CAAA;AAEzD;;8DAE8D;AAC9D,eAAO,MAAM,8BAA8B,iEAKjC,CAAA;AAEV;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAMD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,cAAc,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAKR;AAMD;;;;;GAKG;AACH,eAAO,MAAM,6CAA6C,QACc,CAAA;AAExE;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,QAG5C,CAAA;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,EAAE,CAAA;CACvB,CAcA"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * `fetch` wrapper that attaches chat-proxy bearer headers (when
3
+ * present in localStorage) and forces `credentials: 'same-origin'`
4
+ * so Supabase auth cookies travel too.
5
+ *
6
+ * Headers are MERGED: caller-supplied `init.headers` keys override the
7
+ * proxy headers (so a caller explicitly passing `Authorization` wins).
8
+ * In practice `applyProxyAuth` only sets the keys our chat auth chain
9
+ * cares about and no caller should override those — but the merge
10
+ * direction is documented so a future caller doesn't get a surprise.
11
+ */
12
+ export declare function chatAuthedFetch(url: string, init?: RequestInit): Promise<Response>;
13
+ //# sourceMappingURL=chat-authed-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-authed-fetch.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/utils/chat-authed-fetch.ts"],"names":[],"mappings":"AA2BA;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkCtF"}