@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
@@ -2,11 +2,26 @@
2
2
  * Component prop types
3
3
  */
4
4
 
5
- import type { ComponentType, HTMLAttributes, TextareaHTMLAttributes } from 'react'
5
+ import type { ComponentType, HTMLAttributes, ReactNode, TextareaHTMLAttributes } from 'react'
6
6
  import type { AssistantType, AuthorType, ChatApprovalStatus, ConnectionStatus } from './chat.types'
7
7
  import type { ApprovalRequestData, Message, MessageSegment, ToolExecutionData } from './message.types'
8
8
  import type { ChatRef } from '../chat-ref.types'
9
9
 
10
+ /**
11
+ * Anchor component supplied by the host (or the lib's
12
+ * `NavLinkAnchorViaRuntime`) for markdown links. Receives at minimum
13
+ * `href` / `className` / `children` — what react-markdown's anchor
14
+ * passes. The lib's call site spreads its `rest` via `any`, so
15
+ * implementations are free to declare additional optional routing
16
+ * props (e.g. `path`, `targetPlatform`) without TS forcing the host's
17
+ * NavLinkAnchor prop type to know about them.
18
+ */
19
+ export type NavLinkAnchorComponent = ComponentType<{
20
+ href: string
21
+ className?: string
22
+ children?: ReactNode
23
+ }>
24
+
10
25
  // ========== Chat Container Props ==========
11
26
 
12
27
  export interface ChatContainerProps extends HTMLAttributes<HTMLDivElement> {
@@ -35,6 +50,18 @@ export interface ChatHeaderProps extends HTMLAttributes<HTMLDivElement> {
35
50
  serverUrl?: string | null
36
51
  headerActions?: React.ReactNode
37
52
  ticketInfo?: ChatHeaderTicketInfo
53
+ /**
54
+ * Drop the default `max-w-ods-content-narrow` (= 600px) constraint so
55
+ * the header fills the entire parent width. Use for chat dialogs
56
+ * embedded in narrow side panels (e.g. the multi-platform-hub
57
+ * `<GlobalAskAI>` panel) where the 600px column would float in the
58
+ * middle of a 720px panel and look misaligned vs the full-width
59
+ * input + content area.
60
+ *
61
+ * Default `false` — preserves the existing centered-narrow layout
62
+ * for legacy consumers.
63
+ */
64
+ fullWidth?: boolean
38
65
  }
39
66
 
40
67
  // ========== Connection Indicator Props ==========
@@ -94,12 +121,13 @@ export interface ChatMessageEnhancedProps extends Omit<HTMLAttributes<HTMLDivEle
94
121
  *
95
122
  * `card://` markers are still intercepted by the override BEFORE this
96
123
  * component runs, so the host need not handle them.
124
+ *
125
+ * Implementations MAY declare additional optional props (e.g.
126
+ * `path`, `targetPlatform` on `NavLinkAnchorViaRuntime`) — react-markdown
127
+ * passes its anchor `rest` props via spread, so undeclared extras
128
+ * simply default to undefined on the receiver.
97
129
  */
98
- NavLinkAnchor?: React.ComponentType<{
99
- href: string
100
- className?: string
101
- children?: React.ReactNode
102
- } & Record<string, unknown>>
130
+ NavLinkAnchor?: NavLinkAnchorComponent
103
131
  }
104
132
 
105
133
  // ========== Chat Message List Props ==========
@@ -113,6 +141,15 @@ export interface ChatMessageListProps extends HTMLAttributes<HTMLDivElement> {
113
141
  smoothScroll?: boolean
114
142
  autoScroll?: boolean
115
143
  showAvatars?: boolean
144
+ /** Same `fullWidth` semantics as `ChatHeaderProps.fullWidth` — drops
145
+ * the inner content wrapper's `max-w-ods-content-narrow` so messages
146
+ * fill the entire scroller width. Preferred over `contentClassName=
147
+ * "!max-w-none"` for new consumers (clearer intent, no
148
+ * `!important` specificity wrestling). */
149
+ fullWidth?: boolean
150
+ /** @deprecated Prefer `fullWidth` for the full-panel-width use case.
151
+ * This prop remains supported for callers that need a NON-binary
152
+ * override (custom max-w value, etc.). */
116
153
  contentClassName?: string
117
154
  assistantType?: AssistantType
118
155
  assistantIcon?: React.ReactNode
@@ -129,11 +166,7 @@ export interface ChatMessageListProps extends HTMLAttributes<HTMLDivElement> {
129
166
  /** Host-provided anchor for markdown links. Forwarded verbatim to every
130
167
  * message's ChatMessageEnhanced. Owns the unified click rule
131
168
  * (same-origin soft nav, cross-origin new tab). */
132
- NavLinkAnchor?: React.ComponentType<{
133
- href: string
134
- className?: string
135
- children?: React.ReactNode
136
- } & Record<string, unknown>>
169
+ NavLinkAnchor?: NavLinkAnchorComponent
137
170
  }
138
171
 
139
172
  export interface ChatMessageListRef {
@@ -194,6 +227,15 @@ export interface SlashCommandSummary {
194
227
  * ≥1 action). Single source of truth — same array drives the
195
228
  * empty-state chip on the host side via the synchronous registry. */
196
229
  actions: SlashCommandSummaryAction[]
230
+ /** Icon-registry key — drives both the empty-state chip glyph AND the
231
+ * autocomplete dropdown row glyph. Optional; falls back to the
232
+ * `primarySourceId`-based resolution when missing. */
233
+ iconName?: string
234
+ /** Admin-UI bucket id. */
235
+ category?: string
236
+ /** Empty-state chip-grid sort key. Undefined = NOT a chip (utility /
237
+ * thematic command — autocomplete dropdown only). Lower = earlier. */
238
+ displayOrder?: number
197
239
  }
198
240
 
199
241
  /** Icon + label pair returned by the consumer's `resolveSourceIcon`. The
@@ -237,6 +279,10 @@ export interface ChatInputProps extends Omit<TextareaHTMLAttributes<HTMLTextArea
237
279
  onStop?: () => void | Promise<void>
238
280
  sending?: boolean
239
281
  awaitingResponse?: boolean
282
+ /** Same `fullWidth` semantics as `ChatHeaderProps.fullWidth` — drops
283
+ * the default `max-w-ods-content-narrow` so the input fills the
284
+ * parent. */
285
+ fullWidth?: boolean
240
286
  /**
241
287
  * @deprecated The avatar-offset layout was removed; this prop is accepted
242
288
  * for back-compat but silently ignored. Safe to drop from call sites.
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Blog entity types — chat card consumer barrel.
3
+ *
4
+ * The canonical Blog shapes already live in `src/types/blog.ts` (lib).
5
+ * Audit found NO competing definition in the hub — clients have always
6
+ * relied on this lib shape. This module re-exports the chat-card-relevant
7
+ * surface so the entities barrel has a single import path.
8
+ *
9
+ * Cards consume `BlogPost` (full row) or `BlogPostSummary` (the catalog
10
+ * projection). Tags / categories / author / pagination shapes are
11
+ * re-exported for completeness.
12
+ */
13
+
14
+ export type {
15
+ BlogPost,
16
+ BlogPostSummary,
17
+ BlogPostPlatform,
18
+ BlogPostCategory,
19
+ BlogPostTag,
20
+ BlogCategory,
21
+ BlogTag,
22
+ BlogAuthor,
23
+ BlogMediaAsset,
24
+ BlogStatus,
25
+ BlogPagination,
26
+ BlogSearchParams,
27
+ } from '@/types/blog';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Case Study entity types — chat card consumer barrel.
3
+ *
4
+ * The canonical CaseStudy shape already lives in `src/types/case-study.ts`
5
+ * (lib). Audit found NO competing definition in the hub — clients have
6
+ * always relied on this lib shape. This module re-exports it for the
7
+ * chat entities barrel.
8
+ */
9
+
10
+ export type {
11
+ CaseStudy,
12
+ CaseStudyFilters,
13
+ CaseStudyListResponse,
14
+ } from '@/types/case-study';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ContentRef — the unified link/embed shape stored in JSONB columns
3
+ * across investor updates, performance baselines, and any other entity
4
+ * that surfaces "related content" rails.
5
+ *
6
+ * Lifted from `lib/data/investor-update-utils-shared.ts` in the hub
7
+ * (the server-side data utils in the same file stay hub-side; only the
8
+ * TYPE moves here).
9
+ */
10
+
11
+ export interface ContentRef {
12
+ type: string;
13
+ id: string;
14
+ slug: string;
15
+ url: string;
16
+ targetPlatform?: string | null;
17
+ title: string;
18
+ summary?: string;
19
+ image_url?: string;
20
+ image_bg_color?: string;
21
+ visibility: 'public' | 'internal';
22
+ display_order: number;
23
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Customer Interview entity types — chat card consumer barrel.
3
+ *
4
+ * The canonical CustomerInterview shape already lives in
5
+ * `src/types/customer-interview.ts` (lib). Audit found NO competing
6
+ * definition in the hub — clients have always relied on this lib shape.
7
+ * This module re-exports it for the chat entities barrel.
8
+ */
9
+
10
+ export type {
11
+ CustomerInterview,
12
+ CustomerInterviewConfig,
13
+ CustomerInterviewFilters,
14
+ CustomerInterviewListResponse,
15
+ } from '@/types/customer-interview';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Data Room Doc entity — wire shape for the chat data-room-doc card.
3
+ *
4
+ * Lifted from `components/shared/data-room/data-room-doc-card.tsx`.
5
+ * Covers both `data_room_documents` rows and `openframe-docs` markdown
6
+ * rows — the card differentiates via `sourceRepo` and routes the click
7
+ * via the shared `resolveSourceRowCTA` helper.
8
+ */
9
+
10
+ export interface DataRoomDocCardItem {
11
+ /** Data-room doc UUID (the `external_id` / `id` from data_room_documents) */
12
+ id: string;
13
+ /** Display title — the doc's `name` */
14
+ title: string;
15
+ /** Path within the data room — e.g. `legal/fundraising/seed/executed/vertex-vii-3.5m-safe` */
16
+ path?: string | null;
17
+ /** Optional content preview (up to ~200 chars) */
18
+ preview?: string | null;
19
+ /** Resolved URL (typically `/data-room/<path>`) — null when not resolvable */
20
+ url?: string | null;
21
+ /** RagTableConfig.id (e.g. `'openframe-docs'`, `'data-room-docs'`) — drives
22
+ * the badge label via `SOURCE_LABELS_BY_TABLE`. Falls back to "Data room"
23
+ * when missing. */
24
+ sourceRepo?: string | null;
25
+ /** Chat shell's base route (e.g. `/data-room`, `/knowledge-base`). Threaded
26
+ * from `renderChatInlineEntityCard` → `renderCompactEntityCard` →
27
+ * `DataRoomDocChatCard` so the shared `resolveSourceRowCTA` helper can
28
+ * compose the destination URL identically to the SourceChip path. */
29
+ baseRoute?: string;
30
+ /** Cross-platform target for the card click (e.g. `'flamingo'` to open the
31
+ * link on www.flamingo.cx). When set, the resolver composes an absolute
32
+ * cross-origin URL; the click handler routes through a plain `<a>` so the
33
+ * link opens in a new tab. Without this, product-hub clicks on
34
+ * `/knowledge-base/<path>` get redirected to `/` by the middleware
35
+ * because the route is not in the platform's `allowedRoutes`. */
36
+ chipBasePlatform?: string;
37
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * GitHub Activity entity types — wire shape for chat cards.
3
+ *
4
+ * Mirrors the canonical row consumed by `GitHubActivityCard`:
5
+ * - `commit` : commit on a repo (SHA, message)
6
+ * - `pull_request`: PR opened/updated
7
+ * - `pr_review` : review submitted on a PR (state badge drives color)
8
+ *
9
+ * Lifted from `components/shared/github/github-activity-card.tsx` so the
10
+ * type is canonical in lib — clients can build / pass / extend it without
11
+ * pulling in the card itself.
12
+ */
13
+
14
+ export type GitHubActivityKind = 'commit' | 'pull_request' | 'pr_review';
15
+
16
+ export type PrReviewState =
17
+ | 'APPROVED'
18
+ | 'CHANGES_REQUESTED'
19
+ | 'COMMENTED'
20
+ | 'DISMISSED'
21
+ | 'PENDING';
22
+
23
+ export interface GitHubActivityItem {
24
+ /** Commit SHA (full or short) / PR-# / review id */
25
+ id: string;
26
+ /** Commit message / PR title / review state */
27
+ title: string;
28
+ /** "owner/repo" — derived from the GitHub URL when not provided */
29
+ repo?: string;
30
+ /** ISO timestamp or millisecond epoch */
31
+ dateUpdated?: string | number | null;
32
+ /** GitHub URL — used as the link target */
33
+ url?: string | null;
34
+ /** Discriminator — defaults to 'commit' when not supplied */
35
+ kind?: GitHubActivityKind;
36
+ }
@@ -0,0 +1,39 @@
1
+ /**
2
+ * HubSpot Ticket entity — wire shape for the chat hubspot-ticket card.
3
+ *
4
+ * Lifted from `components/shared/hubspot/hubspot-ticket-card.tsx`. The
5
+ * card consumes this shape across THREE variants — FULL (all fields,
6
+ * for admin/internal viewers), ANON (no customerCompany, no url), and
7
+ * SELF (the chat user's own tickets, no admin URL). The shape itself
8
+ * is the same; the indexer redacts the variant-restricted fields to
9
+ * null before sending the row to the client.
10
+ */
11
+
12
+ export interface HubspotTicketItem {
13
+ /** HubSpot ticket id (the `external_id` column on hubspot_tickets) */
14
+ id: string;
15
+ /** Subject — ticket title */
16
+ title: string;
17
+ /** Body preview (sanitized via the mapper's `buildPreview`) */
18
+ preview?: string;
19
+ /** Canonical status (NEW | IN_PROGRESS | WAITING | CLOSED) — drives
20
+ * badge color + sort order. */
21
+ status?: string | null;
22
+ /** Human-readable HubSpot pipeline stage label (e.g. "Code review",
23
+ * "Closed"). Drives badge TEXT. Falls back to the formatted canonical
24
+ * `status` when null (rows synced before the column landed). */
25
+ statusLabel?: string | null;
26
+ /** Severity: LOW | MEDIUM | HIGH | URGENT */
27
+ priority?: string | null;
28
+ /** Customer company (FULL variant only — anon strips this) */
29
+ customerCompany?: string | null;
30
+ /** Customer email — usually the chat-creating user's address. Shown as
31
+ * a discrete row so customers can confirm who the ticket is for
32
+ * (especially relevant in proxy-auth surfaces where the chat user
33
+ * acts on behalf of another email). */
34
+ customerEmail?: string | null;
35
+ /** ISO timestamp or epoch */
36
+ dateUpdated?: string | number | null;
37
+ /** HubSpot UI URL (FULL variant only; null for anon + self) */
38
+ url?: string | null;
39
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Chat entity row types — canonical wire shapes the chat cards consume.
3
+ *
4
+ * Each module here holds the type for one entity surface (commit/PR/review,
5
+ * slack message, hubspot ticket, data-room doc, roadmap item, investor
6
+ * update, onboarding guide, program items, blog, case study, customer
7
+ * interview). They moved here from the hub when the chat surface
8
+ * migrated into lib so the cards have a single, lib-owned source of
9
+ * truth — clients can compose the wire shape without importing hub-tree
10
+ * helpers.
11
+ *
12
+ * Hub-side server utilities that PRODUCE these shapes (DAL functions,
13
+ * RAG mappers, sync engines) stay in the hub — only the wire TYPE
14
+ * (+ pure formatters that operate on it) lives here.
15
+ */
16
+
17
+ export * from './blog';
18
+ export * from './case-study';
19
+ export * from './content-ref';
20
+ export * from './customer-interview';
21
+ export * from './data-room-doc';
22
+ export * from './github-activity';
23
+ export * from './hubspot-ticket';
24
+ export * from './investor-update';
25
+ export * from './onboarding-guide';
26
+ export * from './program-types';
27
+ export * from './roadmap-item';
28
+ export * from './slack-message';
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Investor Update entity — wire shape for the chat investor-update card
3
+ * + the `/api/investor-updates` reads.
4
+ *
5
+ * Lifted from `lib/data/investor-update-utils-shared.ts` in the hub.
6
+ * The server-side data utils + visibility filters in that file stay
7
+ * hub-side; only the TYPES + the pure `formatInvestorUpdatePeriod`
8
+ * formatter move here.
9
+ */
10
+
11
+ import type { ContentRef } from './content-ref';
12
+
13
+ export interface MetricEntry {
14
+ current: number;
15
+ previous?: number;
16
+ change_pct?: number;
17
+ visibility: 'public' | 'internal';
18
+ }
19
+
20
+ export interface HighlightEntry {
21
+ title: string;
22
+ description?: string;
23
+ visibility: 'public' | 'internal';
24
+ }
25
+
26
+ export interface InvestorUpdateHighlights {
27
+ key_highlights?: HighlightEntry[];
28
+ product_milestones?: HighlightEntry[];
29
+ community_updates?: HighlightEntry[];
30
+ upcoming_priorities?: HighlightEntry[];
31
+ financial_notes?: HighlightEntry[];
32
+ }
33
+
34
+ export interface InvestorUpdate {
35
+ id: string;
36
+ title: string;
37
+ slug: string;
38
+ update_number: number | null;
39
+ period_start: string | null;
40
+ period_end: string | null;
41
+ platform_id: string | null;
42
+ content: string | null;
43
+ video_summary: string | null;
44
+ transcript: string | null;
45
+ srt_content?: string | null;
46
+ main_video_url: string | null;
47
+ highlight_video_url: string | null;
48
+ highlight_video_thumbnail: string | null;
49
+ main_video_thumbnail: string | null;
50
+ video_bites: unknown[];
51
+ featured_image: string | null;
52
+ strategic_update: string | null;
53
+ financials: Record<string, MetricEntry>;
54
+ metrics_snapshot: Record<string, MetricEntry>;
55
+ content_refs: ContentRef[];
56
+ highlights: InvestorUpdateHighlights | null;
57
+ section_visibility: Record<string, 'public' | 'internal'>;
58
+ status: string;
59
+ published_at: string | null;
60
+ author_id: string | null;
61
+ author?: {
62
+ id: string;
63
+ full_name: string;
64
+ avatar_url: string | null;
65
+ job_title: string | null;
66
+ email?: string | null;
67
+ };
68
+ seo_title: string | null;
69
+ seo_description: string | null;
70
+ seo_keywords: string | null;
71
+ og_image_url: string | null;
72
+ hubspot_email_id: string | null;
73
+ hubspot_email_url?: string | null;
74
+ custom_instructions: string | null;
75
+ created_at: string;
76
+ updated_at: string;
77
+ created_by: string | null;
78
+ updated_by: string | null;
79
+ }
80
+
81
+ /**
82
+ * Format an investor-update period as `Mar 2025 - May 2025` (or `?` for
83
+ * a missing endpoint). Pure formatter — no DB / state access, so it
84
+ * moves to lib alongside the types.
85
+ */
86
+ export function formatInvestorUpdatePeriod(
87
+ start: string | null,
88
+ end: string | null,
89
+ options?: { monthFormat?: 'short' | 'long' },
90
+ ): string {
91
+ if (!start && !end) return '';
92
+ const fmt = (d: string) =>
93
+ new Date(d).toLocaleDateString('en-US', {
94
+ month: options?.monthFormat || 'short',
95
+ year: 'numeric',
96
+ });
97
+ const s = start ? fmt(start) : '?';
98
+ const e = end ? fmt(end) : '?';
99
+ return `${s} - ${e}`;
100
+ }
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Onboarding Guide entity — wire shape for the chat onboarding-guide
3
+ * card + the `/api/onboarding-guides` reads.
4
+ *
5
+ * Lifted from `lib/data/onboarding-guide-utils.ts` in the hub. The
6
+ * server-side DAL (createOnboardingGuide / updateOnboardingGuide /
7
+ * resolvePublicPlatformScope / …) stays hub-side; only the row TYPE +
8
+ * the filter/response shapes move here.
9
+ */
10
+
11
+ export interface OnboardingGuide {
12
+ id: string;
13
+ title: string;
14
+ slug: string;
15
+
16
+ // Structured ordering
17
+ section: string;
18
+ step_order: number;
19
+ section_order: number;
20
+
21
+ // Body
22
+ content: string | null;
23
+ video_summary: string | null;
24
+ transcript: string | null;
25
+ transcript_words_data: unknown | null;
26
+ srt_content: string | null;
27
+ ai_transcript_formatted: string | null;
28
+
29
+ // Video pipeline. `main_video_url` (Mux / MP4) and `youtube_url` are
30
+ // INDEPENDENT columns — same shape as `product_releases`. The detail
31
+ // page + RAG mapper read whichever is set; `<VideoSourceSelector>` in
32
+ // the admin form toggles between them.
33
+ main_video_url: string | null;
34
+ main_video_thumbnail: string | null;
35
+ youtube_url: string | null;
36
+ highlight_video_url: string | null;
37
+ highlight_video_thumbnail: string | null;
38
+ highlight_video_duration_ms: number | null;
39
+ highlight_video_source: string | null;
40
+ video_bites: unknown[];
41
+
42
+ // Images
43
+ featured_image: string | null;
44
+ og_image_url: string | null;
45
+
46
+ // SEO
47
+ seo_title: string | null;
48
+ seo_description: string | null;
49
+ seo_keywords: string | null;
50
+
51
+ // Workflow
52
+ status: string;
53
+ published_at: string | null;
54
+ author_id: string | null;
55
+ author?: {
56
+ id: string;
57
+ full_name: string;
58
+ avatar_url: string | null;
59
+ job_title: string | null;
60
+ email?: string | null;
61
+ };
62
+ custom_instructions: string | null;
63
+ config: Record<string, unknown> | null;
64
+ ai_effort_score: number | null;
65
+
66
+ // Junction (multi-platform)
67
+ onboarding_guide_platforms?: Array<{
68
+ platform_id: string;
69
+ is_featured: boolean;
70
+ featured_order: number | null;
71
+ name?: string;
72
+ display_name?: string;
73
+ }>;
74
+
75
+ // Audit
76
+ created_at: string;
77
+ updated_at: string;
78
+ created_by: string | null;
79
+ updated_by: string | null;
80
+ }
81
+
82
+ export interface OnboardingGuideFilters {
83
+ status?: string;
84
+ search?: string;
85
+ section?: string;
86
+ platform?: string;
87
+ limit?: number;
88
+ offset?: number;
89
+ ids?: string[];
90
+ }
91
+
92
+ export interface OnboardingGuideListResponse {
93
+ data: OnboardingGuide[];
94
+ count: number;
95
+ }
96
+
97
+ export interface OnboardingGuideSectionSummary {
98
+ section: string;
99
+ section_order: number;
100
+ count: number;
101
+ }