@flamingo-stack/openframe-frontend-core 0.0.481 → 0.0.482

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 (838) hide show
  1. package/dist/{chunk-H6DFCF44.cjs → chunk-22AED5IC.cjs} +82 -82
  2. package/dist/{chunk-H6DFCF44.cjs.map → chunk-22AED5IC.cjs.map} +1 -1
  3. package/dist/{chunk-MGKCS6KS.js → chunk-3WCARCI4.js} +2 -2
  4. package/dist/{chunk-LNKWY74S.cjs → chunk-4HL6UENH.cjs} +5 -5
  5. package/dist/{chunk-LNKWY74S.cjs.map → chunk-4HL6UENH.cjs.map} +1 -1
  6. package/dist/{chunk-Y3Y2DLNO.js → chunk-6UGYBCEN.js} +3 -3
  7. package/dist/{chunk-BBUEY73L.js → chunk-7I5B5PQ4.js} +6269 -5339
  8. package/dist/chunk-7I5B5PQ4.js.map +1 -0
  9. package/dist/{chunk-PSPWT2Q5.js → chunk-7LWXWXEY.js} +4 -4
  10. package/dist/{chunk-M7O74OWG.cjs → chunk-ACOU5YJI.cjs} +31 -31
  11. package/dist/{chunk-M7O74OWG.cjs.map → chunk-ACOU5YJI.cjs.map} +1 -1
  12. package/dist/{chunk-INDFIVDV.cjs → chunk-AHGSN4AT.cjs} +12 -12
  13. package/dist/{chunk-INDFIVDV.cjs.map → chunk-AHGSN4AT.cjs.map} +1 -1
  14. package/dist/{chunk-VTSRDC4W.js → chunk-CKC3EAYT.js} +2 -2
  15. package/dist/{chunk-SASR7SK5.js → chunk-GZK7FWJJ.js} +20 -4
  16. package/dist/chunk-GZK7FWJJ.js.map +1 -0
  17. package/dist/{chunk-ZRANZNEA.js → chunk-JJE5TUZK.js} +2 -2
  18. package/dist/{chunk-66BNAFO6.js → chunk-JQIUBFHL.js} +4 -4
  19. package/dist/{chunk-MMCBQJKE.cjs → chunk-KUBJHB6I.cjs} +11 -11
  20. package/dist/{chunk-MMCBQJKE.cjs.map → chunk-KUBJHB6I.cjs.map} +1 -1
  21. package/dist/{chunk-ZV6E3U3C.cjs → chunk-MRGTMMJ3.cjs} +30 -30
  22. package/dist/{chunk-ZV6E3U3C.cjs.map → chunk-MRGTMMJ3.cjs.map} +1 -1
  23. package/dist/{chunk-OZJN54R5.cjs → chunk-NWVKG7QC.cjs} +37 -37
  24. package/dist/{chunk-OZJN54R5.cjs.map → chunk-NWVKG7QC.cjs.map} +1 -1
  25. package/dist/{chunk-AN47EIIJ.cjs → chunk-PHTSSHIQ.cjs} +59 -59
  26. package/dist/{chunk-AN47EIIJ.cjs.map → chunk-PHTSSHIQ.cjs.map} +1 -1
  27. package/dist/{chunk-N2JZ33V7.cjs → chunk-RUA3OXSJ.cjs} +26 -26
  28. package/dist/{chunk-N2JZ33V7.cjs.map → chunk-RUA3OXSJ.cjs.map} +1 -1
  29. package/dist/{chunk-LK623WCC.cjs → chunk-RZPF7MJ2.cjs} +9 -9
  30. package/dist/{chunk-LK623WCC.cjs.map → chunk-RZPF7MJ2.cjs.map} +1 -1
  31. package/dist/{chunk-G3UN2DXU.cjs → chunk-STYA77PH.cjs} +20 -4
  32. package/dist/chunk-STYA77PH.cjs.map +1 -0
  33. package/dist/{chunk-JUJY3HQS.cjs → chunk-U37UTLP7.cjs} +19 -19
  34. package/dist/{chunk-JUJY3HQS.cjs.map → chunk-U37UTLP7.cjs.map} +1 -1
  35. package/dist/{chunk-2DIOV7BR.js → chunk-UPN6EFOM.js} +4 -4
  36. package/dist/{chunk-OWMLWJQY.cjs → chunk-VPVOJD5X.cjs} +2432 -1502
  37. package/dist/chunk-VPVOJD5X.cjs.map +1 -0
  38. package/dist/{chunk-4SMRQ4SN.js → chunk-WBL5Y4PS.js} +3 -3
  39. package/dist/{chunk-FP4H6Y5O.js → chunk-WPYPSIY2.js} +3 -3
  40. package/dist/{chunk-R5WJJL4V.js → chunk-X5X43HFV.js} +5 -5
  41. package/dist/{chunk-DEHZ5CTC.js → chunk-XTWKDMCG.js} +2 -2
  42. package/dist/components/case-studies/index.cjs +9 -9
  43. package/dist/components/case-studies/index.js +3 -3
  44. package/dist/components/chat/index.cjs +3 -3
  45. package/dist/components/chat/index.js +2 -2
  46. package/dist/components/contact/index.cjs +4 -4
  47. package/dist/components/contact/index.js +3 -3
  48. package/dist/components/docs/index.cjs +6 -6
  49. package/dist/components/docs/index.js +5 -5
  50. package/dist/components/embeds/index.cjs +4 -4
  51. package/dist/components/embeds/index.js +3 -3
  52. package/dist/components/faq/index.cjs +4 -4
  53. package/dist/components/faq/index.js +3 -3
  54. package/dist/components/features/captions-url.cjs +12 -0
  55. package/dist/components/features/captions-url.cjs.map +1 -0
  56. package/dist/components/features/captions-url.js +10 -0
  57. package/dist/components/features/captions-url.js.map +1 -0
  58. package/dist/components/features/card-hit-layer.d.ts +40 -0
  59. package/dist/components/features/card-hit-layer.d.ts.map +1 -0
  60. package/dist/components/features/floating-walkthrough-video.d.ts +71 -0
  61. package/dist/components/features/floating-walkthrough-video.d.ts.map +1 -0
  62. package/dist/components/features/index.cjs +11 -3
  63. package/dist/components/features/index.cjs.map +1 -1
  64. package/dist/components/features/index.d.ts +4 -0
  65. package/dist/components/features/index.d.ts.map +1 -1
  66. package/dist/components/features/index.js +12 -4
  67. package/dist/components/features/use-walkthrough-video.d.ts +16 -0
  68. package/dist/components/features/use-walkthrough-video.d.ts.map +1 -0
  69. package/dist/components/features/video-bites-strip.d.ts.map +1 -1
  70. package/dist/components/features/video-center-badge.d.ts.map +1 -1
  71. package/dist/components/features/video-hover-preview.d.ts +68 -0
  72. package/dist/components/features/video-hover-preview.d.ts.map +1 -0
  73. package/dist/components/features/video.d.ts +78 -40
  74. package/dist/components/features/video.d.ts.map +1 -1
  75. package/dist/components/form.d.ts +0 -1
  76. package/dist/components/form.d.ts.map +1 -1
  77. package/dist/components/help-center-pages/index.cjs +21 -21
  78. package/dist/components/help-center-pages/index.js +12 -12
  79. package/dist/components/index.cjs +163 -155
  80. package/dist/components/index.cjs.map +1 -1
  81. package/dist/components/index.js +18 -10
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/navigation/index.cjs +3 -3
  84. package/dist/components/navigation/index.js +2 -2
  85. package/dist/components/onboarding-guides/index.cjs +6 -6
  86. package/dist/components/onboarding-guides/index.js +5 -5
  87. package/dist/components/related-content/index.cjs +4 -4
  88. package/dist/components/related-content/index.js +3 -3
  89. package/dist/components/tickets/index.cjs +6 -6
  90. package/dist/components/tickets/index.js +5 -5
  91. package/dist/components/ui/button/button-styles.d.ts +2 -0
  92. package/dist/components/ui/button/button-styles.d.ts.map +1 -1
  93. package/dist/components/ui/button/button.d.ts +2 -2
  94. package/dist/components/ui/button/button.d.ts.map +1 -1
  95. package/dist/components/ui/file-manager/index.cjs +50 -50
  96. package/dist/components/ui/file-manager/index.js +1 -1
  97. package/dist/components/ui/index.cjs +3 -3
  98. package/dist/components/ui/index.js +2 -2
  99. package/dist/components/ui/page-actions.d.ts +2 -1
  100. package/dist/components/ui/page-actions.d.ts.map +1 -1
  101. package/dist/index.cjs +27 -3
  102. package/dist/index.cjs.map +1 -1
  103. package/dist/index.js +28 -4
  104. package/dist/types/supabase.d.ts +80 -0
  105. package/dist/types/supabase.d.ts.map +1 -1
  106. package/dist/types/video-processing.d.ts +1 -1
  107. package/dist/types/video-processing.d.ts.map +1 -1
  108. package/dist/utils/announcement-storage.d.ts +1 -1
  109. package/dist/utils/announcement-storage.d.ts.map +1 -1
  110. package/dist/utils/dismiss-cookie.d.ts +27 -0
  111. package/dist/utils/dismiss-cookie.d.ts.map +1 -0
  112. package/dist/utils/dismissal-storage.d.ts +19 -0
  113. package/dist/utils/dismissal-storage.d.ts.map +1 -0
  114. package/dist/utils/index.cjs +48 -10
  115. package/dist/utils/index.cjs.map +1 -1
  116. package/dist/utils/index.d.ts +2 -0
  117. package/dist/utils/index.d.ts.map +1 -1
  118. package/dist/utils/index.js +41 -11
  119. package/dist/utils/index.js.map +1 -1
  120. package/package.json +8 -2
  121. package/src/.index.md +39 -32
  122. package/src/.platform-domains.md +65 -0
  123. package/src/assets/.fae-avatar.md +33 -0
  124. package/src/assets/.index.md +15 -9
  125. package/src/components/.agent-mark.md +31 -0
  126. package/src/components/.announcement-bar.md +47 -35
  127. package/src/components/.calendar.md +19 -15
  128. package/src/components/.categories-cart.md +34 -30
  129. package/src/components/.category-card.md +33 -33
  130. package/src/components/.chart.md +38 -40
  131. package/src/components/.command.md +47 -23
  132. package/src/components/.comment-card.md +31 -26
  133. package/src/components/.content-loading-container.md +45 -20
  134. package/src/components/.context-menu.md +45 -31
  135. package/src/components/.date-time-picker.md +36 -30
  136. package/src/components/.empty-state.md +31 -31
  137. package/src/components/.faq-accordion.md +20 -30
  138. package/src/components/.filter-chip.md +36 -33
  139. package/src/components/.footer-waitlist-button.md +27 -21
  140. package/src/components/.footer.md +39 -24
  141. package/src/components/.form.md +32 -20
  142. package/src/components/.hero-image-uploader.md +35 -31
  143. package/src/components/.icon-display.md +53 -0
  144. package/src/components/.image-cropper.md +34 -33
  145. package/src/components/.index.md +25 -29
  146. package/src/components/.logs-list.md +27 -23
  147. package/src/components/.media-carousel.md +47 -26
  148. package/src/components/.metric-value.md +27 -24
  149. package/src/components/.msp-display.md +29 -23
  150. package/src/components/.open-source-features.md +23 -26
  151. package/src/components/.pagination.md +44 -39
  152. package/src/components/.persistent-filter-controls.md +61 -28
  153. package/src/components/.pricing-display.md +34 -33
  154. package/src/components/.results-count.md +33 -20
  155. package/src/components/.smooth-accordion.md +24 -20
  156. package/src/components/.social-icon-row.md +33 -21
  157. package/src/components/.sonner.md +40 -25
  158. package/src/components/.steps.md +39 -25
  159. package/src/components/.tool-icon.md +34 -21
  160. package/src/components/.unified-filter-logic.md +32 -36
  161. package/src/components/.user-display.md +33 -28
  162. package/src/components/.user-summary-stub.md +40 -33
  163. package/src/components/.vendor-display-button.md +17 -15
  164. package/src/components/.vendor-icon.md +17 -25
  165. package/src/components/.vendor-tag.md +39 -34
  166. package/src/components/.why-it-matters.md +15 -11
  167. package/src/components/.yes-no-display.md +36 -31
  168. package/src/components/authors/.author-detail-view.md +50 -0
  169. package/src/components/case-studies/.index.md +26 -0
  170. package/src/components/case-studies/.share-experience-section.md +45 -0
  171. package/src/components/chat/.approval-batch-message.md +48 -33
  172. package/src/components/chat/.approval-request-message.md +37 -26
  173. package/src/components/chat/.chat-archive-page.md +56 -0
  174. package/src/components/chat/.chat-attachment-bar.md +32 -40
  175. package/src/components/chat/.chat-composer.md +43 -0
  176. package/src/components/chat/.chat-container.md +41 -25
  177. package/src/components/chat/.chat-context-memory-bar.md +53 -0
  178. package/src/components/chat/.chat-context-picker.md +89 -0
  179. package/src/components/chat/.chat-header-icon-button.md +43 -0
  180. package/src/components/chat/.chat-header-search-field.md +51 -0
  181. package/src/components/chat/.chat-input.md +63 -30
  182. package/src/components/chat/.chat-list-empty-state.md +44 -0
  183. package/src/components/chat/.chat-message-enhanced.md +29 -31
  184. package/src/components/chat/.chat-message-list.md +34 -44
  185. package/src/components/chat/.chat-message-row.md +56 -0
  186. package/src/components/chat/.chat-message-skeleton.md +32 -26
  187. package/src/components/chat/.chat-panel-header-mobile.md +46 -0
  188. package/src/components/chat/.chat-panel-header.md +80 -0
  189. package/src/components/chat/.chat-sidebar-skeleton.md +31 -30
  190. package/src/components/chat/.chat-sidebar.md +36 -29
  191. package/src/components/chat/.chat-ticket-list.md +38 -23
  192. package/src/components/chat/.chat-typing-indicator.md +37 -19
  193. package/src/components/chat/.context-compaction-display.md +19 -15
  194. package/src/components/chat/.context-items-list.md +57 -0
  195. package/src/components/chat/.embeddable-chat.md +57 -66
  196. package/src/components/chat/.error-message-display.md +40 -22
  197. package/src/components/chat/.guide-mode-banner.md +41 -0
  198. package/src/components/chat/.guide-welcome.md +43 -0
  199. package/src/components/chat/.index.md +26 -21
  200. package/src/components/chat/.mingo-chat-history.md +63 -0
  201. package/src/components/chat/.mingo-chat-modals.md +44 -0
  202. package/src/components/chat/.mingo-history-rail.md +63 -0
  203. package/src/components/chat/.mingo-info-card.md +59 -0
  204. package/src/components/chat/.mingo-onboarding-card.md +21 -27
  205. package/src/components/chat/.mingo-welcome.md +60 -0
  206. package/src/components/chat/.model-display.md +33 -25
  207. package/src/components/chat/.msp-organization-card-skeleton.md +44 -0
  208. package/src/components/chat/.msp-organization-card.md +51 -0
  209. package/src/components/chat/.nav-link-anchor-via-runtime.md +36 -25
  210. package/src/components/chat/.quick-action-chip.md +60 -0
  211. package/src/components/chat/.quick-action-marquee.md +53 -0
  212. package/src/components/chat/.quick-action-wall.md +68 -0
  213. package/src/components/chat/.remark-mention-chips.md +41 -0
  214. package/src/components/chat/.slash-command-suggestions.md +30 -36
  215. package/src/components/chat/.source-action-button.md +28 -25
  216. package/src/components/chat/.tool-call-blocks.md +18 -30
  217. package/src/components/chat/.tool-execution-display.md +29 -34
  218. package/src/components/chat/entity-cards/.admin-content-card.md +29 -22
  219. package/src/components/chat/entity-cards/.blog-card.md +44 -33
  220. package/src/components/chat/entity-cards/.blog-image-placeholder.md +20 -18
  221. package/src/components/chat/entity-cards/.case-study-card.md +24 -33
  222. package/src/components/chat/entity-cards/.chat-ticket-item.md +39 -22
  223. package/src/components/chat/entity-cards/.customer-interview-card.md +29 -32
  224. package/src/components/chat/entity-cards/.data-room-doc-card.md +21 -22
  225. package/src/components/chat/entity-cards/.dispatch.md +41 -24
  226. package/src/components/chat/entity-cards/.entity-author-card.md +36 -33
  227. package/src/components/chat/entity-cards/.entity-portrait-card.md +47 -0
  228. package/src/components/chat/entity-cards/.generic-entity-card.md +26 -25
  229. package/src/components/chat/entity-cards/.github-activity-card.md +35 -41
  230. package/src/components/chat/entity-cards/.hubspot-ticket-card.md +22 -28
  231. package/src/components/chat/entity-cards/.index.md +33 -44
  232. package/src/components/chat/entity-cards/.investor-update-card.md +36 -25
  233. package/src/components/chat/entity-cards/.onboarding-guide-card.md +20 -29
  234. package/src/components/chat/entity-cards/.product-release-card-defaults.md +26 -19
  235. package/src/components/chat/entity-cards/.program-card.md +30 -33
  236. package/src/components/chat/entity-cards/.roadmap-card.md +40 -31
  237. package/src/components/chat/entity-cards/.roadmap-vote-button.md +33 -36
  238. package/src/components/chat/entity-cards/.slack-message-card.md +31 -32
  239. package/src/components/chat/entity-cards/.use-cover-image-fallback.md +47 -0
  240. package/src/components/chat/entity-cards/.use-entity-card-link.md +51 -0
  241. package/src/components/chat/entity-cards/.use-entity-card-placeholder.md +47 -0
  242. package/src/components/chat/entity-cards/.what-i-shipped-card.md +43 -0
  243. package/src/components/chat/hooks/.index.md +33 -30
  244. package/src/components/chat/hooks/.use-chat-card-item.md +30 -17
  245. package/src/components/chat/hooks/.use-chat-dialog-manager.md +59 -0
  246. package/src/components/chat/hooks/.use-chat-identity.md +37 -25
  247. package/src/components/chat/hooks/.use-chunk-catchup.md +53 -36
  248. package/src/components/chat/hooks/.use-empty-state-config.md +39 -0
  249. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +65 -30
  250. package/src/components/chat/hooks/.use-nats-chat-adapter.md +55 -36
  251. package/src/components/chat/hooks/.use-nats-dialog-subscription.md +66 -50
  252. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +58 -31
  253. package/src/components/chat/hooks/.use-scripted-stream.md +46 -0
  254. package/src/components/chat/hooks/.use-slash-commands.md +32 -25
  255. package/src/components/chat/hooks/.use-sse-chat-adapter.md +32 -21
  256. package/src/components/chat/hooks/.use-unified-chat.md +45 -35
  257. package/src/components/chat/types/.api.types.md +49 -41
  258. package/src/components/chat/types/.chat.types.md +56 -34
  259. package/src/components/chat/types/.component.types.md +36 -36
  260. package/src/components/chat/types/.context-item.types.md +61 -0
  261. package/src/components/chat/types/.index.md +32 -17
  262. package/src/components/chat/types/.message.types.md +44 -45
  263. package/src/components/chat/types/.network.types.md +46 -46
  264. package/src/components/chat/types/.processing.types.md +49 -37
  265. package/src/components/chat/types/.unified-chat-state.types.md +41 -26
  266. package/src/components/chat/types/entities/.content-ref.md +20 -31
  267. package/src/components/chat/types/entities/.investor-update.md +14 -16
  268. package/src/components/chat/types/entities/.onboarding-guide.md +35 -34
  269. package/src/components/chat/types/entities/.program-types.md +55 -43
  270. package/src/components/chat/utils/.chip-action-class.md +17 -19
  271. package/src/components/chat/utils/.chip-styles.md +18 -18
  272. package/src/components/chat/utils/.chunk-parser.md +48 -37
  273. package/src/components/chat/utils/.compact-card-classes.md +33 -35
  274. package/src/components/chat/utils/.execute-navigation.md +49 -0
  275. package/src/components/chat/utils/.extract-incomplete-message-state.md +9 -12
  276. package/src/components/chat/utils/.history-merge.md +65 -0
  277. package/src/components/chat/utils/.icon-library.md +33 -31
  278. package/src/components/chat/utils/.icon-registry.md +44 -0
  279. package/src/components/chat/utils/.index.md +37 -33
  280. package/src/components/chat/utils/.is-cross-origin-url.md +26 -22
  281. package/src/components/chat/utils/.message-segment-accumulator.md +46 -25
  282. package/src/components/chat/utils/.nav-anchor-props.md +29 -34
  283. package/src/components/chat/utils/.nav-click-handler.md +29 -33
  284. package/src/components/chat/utils/.process-historical-messages.md +29 -33
  285. package/src/components/chat/utils/.scripted-stream.md +52 -0
  286. package/src/components/chat/utils/.source-row-cta.md +32 -31
  287. package/src/components/chat/utils/.tool-call-helpers.md +25 -17
  288. package/src/components/contact/.contact-form.md +24 -19
  289. package/src/components/docs/.doc-navigation-context.md +49 -0
  290. package/src/components/docs/.doc-viewer.md +64 -0
  291. package/src/components/docs/.docs-hub-page.md +49 -0
  292. package/src/components/docs/.index.md +51 -0
  293. package/src/components/docs/.skeletons.md +47 -0
  294. package/src/components/docs/.use-docs-resolve-link.md +61 -0
  295. package/src/components/docs/.use-document-tree.md +83 -0
  296. package/src/components/docs/.use-scroll-spy.md +58 -0
  297. package/src/components/embeds/.embed-container.md +45 -0
  298. package/src/components/embeds/.embed-iframe.md +51 -0
  299. package/src/components/embeds/.figma-embed.md +43 -0
  300. package/src/components/embeds/.file-download-card.md +47 -0
  301. package/src/components/embeds/.google-sheets-viewer.md +40 -0
  302. package/src/components/embeds/.index.md +58 -0
  303. package/src/components/embeds/.linkedin-embed-client.md +50 -0
  304. package/src/components/embeds/.markdown-image.md +40 -0
  305. package/src/components/embeds/.og-link-preview.md +54 -0
  306. package/src/components/embeds/.pdf-viewer.md +43 -0
  307. package/src/components/embeds/.reddit-embed-client.md +40 -0
  308. package/src/components/embeds/.rich-markdown-runtime.md +53 -0
  309. package/src/components/embeds/.twitter-embed-client.md +44 -0
  310. package/src/components/faq/.faq-document-page.md +68 -0
  311. package/src/components/faq/.faq-section.md +55 -0
  312. package/src/components/faq/.index.md +29 -0
  313. package/src/components/faq/.json-ld.md +48 -0
  314. package/src/components/features/.array-entry-manager.md +32 -24
  315. package/src/components/features/.auth-providers-list.md +33 -32
  316. package/src/components/features/.captions-url.md +43 -0
  317. package/src/components/features/.cards-strip.md +48 -0
  318. package/src/components/features/.changelog-manager.md +17 -20
  319. package/src/components/features/.command-box.md +11 -16
  320. package/src/components/features/.entity-summary-editor.md +20 -15
  321. package/src/components/features/.entity-tag-badges.md +43 -0
  322. package/src/components/features/.entity-video-section.md +31 -41
  323. package/src/components/features/.figma-prototype-viewer.md +55 -37
  324. package/src/components/features/.filters-dropdown.md +14 -13
  325. package/src/components/features/.highlight-config-section.md +19 -16
  326. package/src/components/features/.highlight-video-combined-section.md +28 -19
  327. package/src/components/features/.highlight-video-preview.md +13 -11
  328. package/src/components/features/.highlight-video-section.md +26 -22
  329. package/src/components/features/.index.md +40 -36
  330. package/src/components/features/.media-gallery-manager.md +37 -35
  331. package/src/components/features/.mux-origins.md +46 -0
  332. package/src/components/features/.og-editor-preview.md +29 -24
  333. package/src/components/features/.os-type-badge-group.md +26 -18
  334. package/src/components/features/.os-type-badge.md +41 -24
  335. package/src/components/features/.paths-display.md +42 -25
  336. package/src/components/features/.platform-badge.md +26 -17
  337. package/src/components/features/.policy-configuration-panel.md +33 -31
  338. package/src/components/features/.provider-button.md +29 -20
  339. package/src/components/features/.push-button-selector.md +39 -41
  340. package/src/components/features/.release-media-manager.md +41 -34
  341. package/src/components/features/.section-selector.md +27 -16
  342. package/src/components/features/.select-button.md +21 -32
  343. package/src/components/features/.seo-editor-preview.md +49 -36
  344. package/src/components/features/.social-links-manager.md +40 -18
  345. package/src/components/features/.start-with-openframe-button.md +30 -32
  346. package/src/components/features/.status-filter-component.md +29 -38
  347. package/src/components/features/.tags-selector.md +25 -29
  348. package/src/components/features/.transcript-summary-editor.md +24 -18
  349. package/src/components/features/.use-video-warmup.md +47 -0
  350. package/src/components/features/.video-bites-display.md +36 -37
  351. package/src/components/features/.video-bites-shared.md +44 -0
  352. package/src/components/features/.video-bites-strip.md +63 -0
  353. package/src/components/features/.video-center-badge.md +38 -0
  354. package/src/components/features/.video-ratio-tabs.md +38 -31
  355. package/src/components/features/.video-source-selector.md +24 -27
  356. package/src/components/features/.video.md +35 -27
  357. package/src/components/features/.waitlist-form.md +39 -33
  358. package/src/components/features/.warning-block.md +53 -0
  359. package/src/components/features/ai-enrich/.AIEnrichSection.md +24 -25
  360. package/src/components/features/ai-enrich/.AIRequiredBadge.md +22 -21
  361. package/src/components/features/ai-enrich/.AIStatusIndicator.md +42 -35
  362. package/src/components/features/ai-enrich/.AIWarningsSection.md +23 -20
  363. package/src/components/features/ai-enrich/.ConfidenceBadge.md +35 -20
  364. package/src/components/features/auth/.auth-benefits-panel.md +48 -0
  365. package/src/components/features/auth/.auth-branding.md +51 -0
  366. package/src/components/features/auth/.auth-shell.md +51 -0
  367. package/src/components/features/auth/.back-to-login-link.md +48 -0
  368. package/src/components/features/auth/.complete-account-form.md +45 -0
  369. package/src/components/features/auth/.create-organization-form.md +53 -0
  370. package/src/components/features/auth/.index.md +48 -0
  371. package/src/components/features/auth/.invite-link-invalid-modal.md +42 -0
  372. package/src/components/features/auth/.login-form.md +42 -0
  373. package/src/components/features/auth/.openframe-sso-login-form.md +46 -0
  374. package/src/components/features/auth/.openframe-sso-signup-form.md +51 -0
  375. package/src/components/features/auth/.password-reset-form.md +57 -0
  376. package/src/components/features/auth/.sso-auth-shell.md +35 -0
  377. package/src/components/features/auth/.sso-providers.md +42 -0
  378. package/src/components/features/auth/.terms-agreement-label.md +28 -0
  379. package/src/components/features/board/.board-column-header.md +24 -18
  380. package/src/components/features/board/.board-column.md +32 -32
  381. package/src/components/features/board/.board-ticket-approval.md +42 -0
  382. package/src/components/features/board/.board.md +38 -38
  383. package/src/components/features/board/.index.md +35 -38
  384. package/src/components/features/board/.ticket-card.md +33 -36
  385. package/src/components/features/board/.types.md +38 -31
  386. package/src/components/features/card-hit-layer.tsx +84 -0
  387. package/src/components/features/floating-walkthrough-video.tsx +891 -0
  388. package/src/components/features/index.ts +4 -0
  389. package/src/components/features/notifications/.approval-request-notification-tile.md +45 -0
  390. package/src/components/features/notifications/.index.md +35 -31
  391. package/src/components/features/notifications/.notification-drawer.md +32 -19
  392. package/src/components/features/notifications/.notification-popups.md +51 -0
  393. package/src/components/features/notifications/.notification-tile.md +43 -27
  394. package/src/components/features/notifications/.notifications-context.md +42 -45
  395. package/src/components/features/notifications/.types.md +51 -31
  396. package/src/components/features/ticket-status-config-list/.ticket-status-config-list.md +51 -0
  397. package/src/components/features/time-tracker/.index.md +48 -0
  398. package/src/components/features/time-tracker/.time-tracker-context.md +55 -0
  399. package/src/components/features/time-tracker/.time-tracker-header-button.md +51 -0
  400. package/src/components/features/time-tracker/.time-tracker-panel.md +58 -0
  401. package/src/components/features/time-tracker/.types.md +51 -0
  402. package/src/components/features/time-tracker/.use-tracker-clock.md +32 -0
  403. package/src/components/features/use-walkthrough-video.ts +70 -0
  404. package/src/components/features/video-bites-strip.tsx +46 -146
  405. package/src/components/features/video-center-badge.tsx +11 -2
  406. package/src/components/features/video-hover-preview.tsx +201 -0
  407. package/src/components/features/video.tsx +368 -73
  408. package/src/components/help-center-pages/.delivery-page.md +51 -0
  409. package/src/components/help-center-pages/.index.md +51 -0
  410. package/src/components/help-center-pages/.onboarding-guides-catalog-page.md +53 -0
  411. package/src/components/help-center-pages/.product-releases-list-page.md +51 -0
  412. package/src/components/help-center-pages/.roadmap-page.md +46 -0
  413. package/src/components/icons/.figma-icon.md +13 -7
  414. package/src/components/icons/.index.md +26 -22
  415. package/src/components/icons/.vendor-directory-icon.md +30 -18
  416. package/src/components/icons/.x-logo.md +26 -10
  417. package/src/components/icons-v2-generated/.index.md +30 -41
  418. package/src/components/icons-v2-generated/brand-logos/.index.md +25 -19
  419. package/src/components/icons-v2-generated/communication/.index.md +26 -30
  420. package/src/components/icons-v2-generated/logos/.flamingo-logo-icon.md +41 -0
  421. package/src/components/layout/.article-detail-layout.md +32 -21
  422. package/src/components/layout/.page-container.md +25 -23
  423. package/src/components/layout/.page-heading.md +48 -0
  424. package/src/components/layout/.page-layout.md +30 -25
  425. package/src/components/layout/.title-block.md +43 -24
  426. package/src/components/loading/.card-skeleton.md +28 -35
  427. package/src/components/loading/.category-card-skeleton.md +25 -23
  428. package/src/components/loading/.device-card-skeleton.md +22 -15
  429. package/src/components/loading/.margin-report-skeleton.md +30 -35
  430. package/src/components/loading/.openmsp-heartbeat.md +30 -32
  431. package/src/components/loading/.organization-card-skeleton.md +22 -25
  432. package/src/components/loading/.organization-icon-skeleton.md +39 -27
  433. package/src/components/loading/.page-layout-skeleton.md +50 -28
  434. package/src/components/loading/.unified-skeleton.md +37 -40
  435. package/src/components/loading/.users-grid-skeleton.md +19 -38
  436. package/src/components/navigation/.app-header.md +35 -28
  437. package/src/components/navigation/.app-layout-context.md +48 -0
  438. package/src/components/navigation/.app-layout-drawer.md +56 -0
  439. package/src/components/navigation/.app-layout.md +24 -23
  440. package/src/components/navigation/.header-mingo-button.md +46 -0
  441. package/src/components/navigation/.header-organization-filter.md +32 -18
  442. package/src/components/navigation/.header.md +24 -31
  443. package/src/components/navigation/.index.md +36 -50
  444. package/src/components/navigation/.mingo-ai-button.md +41 -0
  445. package/src/components/navigation/.mobile-burger-menu.md +29 -29
  446. package/src/components/navigation/.mobile-nav-panel.md +41 -49
  447. package/src/components/navigation/.multi-level-navigation.md +76 -0
  448. package/src/components/navigation/.navigation-sidebar-item.md +14 -14
  449. package/src/components/navigation/.navigation-sidebar.md +30 -23
  450. package/src/components/navigation/.sliding-sidebar.md +30 -25
  451. package/src/components/navigation/.sticky-section-nav.md +23 -21
  452. package/src/components/onboarding-guides/.index.md +40 -0
  453. package/src/components/onboarding-guides/.onboarding-guide-detail-view.md +55 -0
  454. package/src/components/onboarding-guides/.onboarding-guides-catalog-skeleton.md +33 -0
  455. package/src/components/onboarding-guides/.onboarding-guides-catalog-view.md +50 -0
  456. package/src/components/onboarding-guides/hooks/.use-onboarding-guides.md +54 -0
  457. package/src/components/platform/.CveLink.md +28 -17
  458. package/src/components/platform/.ScriptArguments.md +18 -23
  459. package/src/components/platform/.ScriptInfoSection.md +27 -21
  460. package/src/components/platform/.ShellTypeBadge.md +34 -18
  461. package/src/components/platform/.SoftwareInfo.md +23 -21
  462. package/src/components/platform/.ToolBadge.md +18 -16
  463. package/src/components/profile/.ProfileLoadingSkeleton.md +24 -23
  464. package/src/components/related-content/.index.md +41 -0
  465. package/src/components/related-content/.related-content-section.md +62 -0
  466. package/src/components/shared/.article-author-byline.md +56 -0
  467. package/src/components/shared/.detail-page-skeleton.md +32 -43
  468. package/src/components/shared/.media-gallery-strip.md +43 -0
  469. package/src/components/shared/delivery/.delivery-lists.md +20 -19
  470. package/src/components/shared/delivery/.delivery-row.md +24 -20
  471. package/src/components/shared/delivery/.delivery-table.md +20 -22
  472. package/src/components/shared/dev-section/.dev-card-row.md +28 -36
  473. package/src/components/shared/dev-section/.dev-section-page.md +36 -25
  474. package/src/components/shared/dev-section/.dev-section-view.md +32 -22
  475. package/src/components/shared/doc-search/.doc-search-bar.md +58 -0
  476. package/src/components/shared/doc-search/.doc-search-result-row.md +50 -0
  477. package/src/components/shared/doc-search/.format-relative-path.md +30 -0
  478. package/src/components/shared/doc-search/.index.md +46 -0
  479. package/src/components/shared/doc-search/.map-doc-search-results.md +44 -0
  480. package/src/components/shared/doc-search/.resolve-search-result-action.md +52 -0
  481. package/src/components/shared/doc-search/.types.md +49 -0
  482. package/src/components/shared/doc-search/.use-doc-search.md +66 -0
  483. package/src/components/shared/legal-document/.legal-document-page.md +26 -20
  484. package/src/components/shared/legal-document/.use-legal-docs.md +36 -30
  485. package/src/components/shared/onboarding/.onboarding-step-card.md +24 -16
  486. package/src/components/shared/onboarding/.onboarding-walkthrough.md +42 -28
  487. package/src/components/shared/product-release/.index.md +33 -24
  488. package/src/components/shared/product-release/.product-release-card-skeleton.md +22 -28
  489. package/src/components/shared/product-release/.product-release-card.md +28 -29
  490. package/src/components/shared/product-release/.product-releases-view.md +49 -0
  491. package/src/components/shared/product-release/.release-detail-page.md +30 -15
  492. package/src/components/shared/roadmap/.index.md +29 -24
  493. package/src/components/shared/roadmap/.roadmap-grid.md +43 -54
  494. package/src/components/shared/roadmap/.roadmap-view.md +41 -0
  495. package/src/components/shared/roadmap/.use-roadmap-voting.md +27 -17
  496. package/src/components/switch.tsx +1 -1
  497. package/src/components/tickets/.help-center-card.md +32 -28
  498. package/src/components/tickets/.help-center-create-form.md +34 -22
  499. package/src/components/tickets/.help-center-list.md +36 -25
  500. package/src/components/tickets/.index.md +30 -45
  501. package/src/components/tickets/.ticket-center.md +31 -38
  502. package/src/components/tickets/.ticket-detail-drawer.md +20 -30
  503. package/src/components/tickets/.ticket-open-form.md +24 -26
  504. package/src/components/tickets/.ticket-reply-composer.md +51 -0
  505. package/src/components/tickets/.ticket-row.md +26 -11
  506. package/src/components/tickets/.types.md +56 -38
  507. package/src/components/tickets/hooks/.use-ticket-actions.md +60 -47
  508. package/src/components/tickets/hooks/.use-ticket-engagements.md +27 -27
  509. package/src/components/tickets/hooks/.use-tickets-list.md +24 -30
  510. package/src/components/ui/.accordion.md +28 -21
  511. package/src/components/ui/.actions-menu.md +36 -54
  512. package/src/components/ui/.ai-generated-badge.md +25 -0
  513. package/src/components/ui/.alert-dialog.md +21 -16
  514. package/src/components/ui/.alert.md +30 -25
  515. package/src/components/ui/.allowed-domains-input.md +26 -15
  516. package/src/components/ui/.announcement-bar-view.md +46 -0
  517. package/src/components/ui/.autocomplete.md +40 -27
  518. package/src/components/ui/.badge.md +34 -31
  519. package/src/components/ui/.brand-association-card.md +22 -18
  520. package/src/components/ui/.breadcrumb.md +18 -14
  521. package/src/components/ui/.bullet-list.md +35 -23
  522. package/src/components/ui/.card.md +47 -30
  523. package/src/components/ui/.checkbox-block.md +34 -22
  524. package/src/components/ui/.checkbox-with-description.md +18 -20
  525. package/src/components/ui/.chevron-button.md +29 -29
  526. package/src/components/ui/.circular-progress.md +30 -41
  527. package/src/components/ui/.color-preset-select.md +54 -0
  528. package/src/components/ui/.color-swatch.md +37 -0
  529. package/src/components/ui/.content-loader.md +34 -27
  530. package/src/components/ui/.crossfade-panels.md +50 -0
  531. package/src/components/ui/.cursor-pagination.md +38 -26
  532. package/src/components/ui/.dashboard-info-card.md +46 -27
  533. package/src/components/ui/.date-picker.md +52 -36
  534. package/src/components/ui/.device-card-compact.md +23 -20
  535. package/src/components/ui/.device-card.md +39 -30
  536. package/src/components/ui/.dialog.md +14 -14
  537. package/src/components/ui/.drawer.md +45 -39
  538. package/src/components/ui/.dropdown-button.md +41 -33
  539. package/src/components/ui/.dropdown-menu.md +40 -23
  540. package/src/components/ui/.duration-input.md +41 -0
  541. package/src/components/ui/.entity-image.md +32 -28
  542. package/src/components/ui/.error-state.md +30 -26
  543. package/src/components/ui/.fade-preview.md +44 -0
  544. package/src/components/ui/.field-wrapper.md +34 -23
  545. package/src/components/ui/.file-upload.md +30 -18
  546. package/src/components/ui/.filter-modal.md +30 -32
  547. package/src/components/ui/.filter-pill-row.md +58 -0
  548. package/src/components/ui/.floating-tooltip.md +27 -32
  549. package/src/components/ui/.hidden-tags-popup.md +18 -20
  550. package/src/components/ui/.highlight-card.md +36 -23
  551. package/src/components/ui/.honeypot-field.md +41 -0
  552. package/src/components/ui/.hover-dropdown.md +44 -31
  553. package/src/components/ui/.image-gallery-modal.md +28 -30
  554. package/src/components/ui/.image-uploader.md +39 -22
  555. package/src/components/ui/.index.md +33 -31
  556. package/src/components/ui/.info-card-row.md +50 -0
  557. package/src/components/ui/.info-card.md +27 -20
  558. package/src/components/ui/.info-row.md +30 -24
  559. package/src/components/ui/.info-section.md +63 -0
  560. package/src/components/ui/.input.md +29 -28
  561. package/src/components/ui/.label.md +34 -26
  562. package/src/components/ui/.markdown-editor.md +26 -25
  563. package/src/components/ui/.marquee-wall.md +64 -0
  564. package/src/components/ui/.menubar.md +50 -16
  565. package/src/components/ui/.modal-v2.md +41 -27
  566. package/src/components/ui/.modal.md +22 -19
  567. package/src/components/ui/.more-actions-menu.md +30 -24
  568. package/src/components/ui/.navigation-menu.md +40 -25
  569. package/src/components/ui/.organization-card.md +46 -27
  570. package/src/components/ui/.page-actions.md +55 -41
  571. package/src/components/ui/.page-loader.md +40 -23
  572. package/src/components/ui/.password-input.md +30 -0
  573. package/src/components/ui/.phone-input.md +20 -22
  574. package/src/components/ui/.portal-container.md +43 -0
  575. package/src/components/ui/.progress-bar.md +40 -27
  576. package/src/components/ui/.release-changelog-section.md +32 -26
  577. package/src/components/ui/.rich-markdown-renderer.md +45 -0
  578. package/src/components/ui/.scroll-fade.md +56 -0
  579. package/src/components/ui/.search-input.md +55 -37
  580. package/src/components/ui/.select.md +25 -26
  581. package/src/components/ui/.service-card.md +25 -19
  582. package/src/components/ui/.sheet.md +21 -21
  583. package/src/components/ui/.simple-markdown-renderer.md +36 -24
  584. package/src/components/ui/.slack-channel-chip.md +49 -0
  585. package/src/components/ui/.square-avatar.md +29 -26
  586. package/src/components/ui/.stacked-rows-panel.md +61 -0
  587. package/src/components/ui/.status-badge.md +30 -24
  588. package/src/components/ui/.status-indicator.md +35 -21
  589. package/src/components/ui/.tab-content.md +34 -22
  590. package/src/components/ui/.tab-navigation.md +40 -50
  591. package/src/components/ui/.tab-selector.md +48 -31
  592. package/src/components/ui/.tabs.md +34 -21
  593. package/src/components/ui/.tag-search-input.md +20 -20
  594. package/src/components/ui/.tag-select-dropdown.md +59 -0
  595. package/src/components/ui/.tag.md +25 -43
  596. package/src/components/ui/.tags-input.md +31 -31
  597. package/src/components/ui/.textarea.md +32 -30
  598. package/src/components/ui/.ticket-attachments-list.md +36 -29
  599. package/src/components/ui/.ticket-info-section.md +37 -42
  600. package/src/components/ui/.ticket-status-config-row.md +66 -0
  601. package/src/components/ui/.ticket-status-tag.md +39 -35
  602. package/src/components/ui/.toaster.md +21 -15
  603. package/src/components/ui/.toggle.md +38 -37
  604. package/src/components/ui/.tooltip.md +16 -13
  605. package/src/components/ui/button/.button-styles.md +17 -18
  606. package/src/components/ui/button/.button.md +30 -37
  607. package/src/components/ui/button/.split-button.md +46 -23
  608. package/src/components/ui/button/button-styles.ts +13 -0
  609. package/src/components/ui/button/button.tsx +5 -0
  610. package/src/components/ui/data-table/.data-table-body.md +50 -35
  611. package/src/components/ui/data-table/.data-table-empty.md +17 -33
  612. package/src/components/ui/data-table/.data-table-header.md +43 -40
  613. package/src/components/ui/data-table/.data-table-row.md +31 -31
  614. package/src/components/ui/data-table/.types.md +23 -28
  615. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +16 -24
  616. package/src/components/ui/file-manager/.file-manager-empty.md +23 -15
  617. package/src/components/ui/file-manager/.file-manager-skeleton.md +34 -36
  618. package/src/components/ui/file-manager/.file-manager-table-row.md +29 -29
  619. package/src/components/ui/file-manager/.file-manager-table.md +39 -24
  620. package/src/components/ui/no-data/.index.md +22 -0
  621. package/src/components/ui/no-data/.no-data-actions.md +29 -0
  622. package/src/components/ui/no-data/.no-data-message.md +37 -0
  623. package/src/components/ui/no-data/.no-data-styles.md +39 -0
  624. package/src/components/ui/no-data/.no-data.md +59 -0
  625. package/src/components/ui/page-actions.tsx +2 -1
  626. package/src/components/ui/query-report-table/.query-report-table-header.md +15 -15
  627. package/src/components/ui/query-report-table/.query-report-table-row.md +16 -16
  628. package/src/components/ui/query-report-table/.query-report-table.md +39 -24
  629. package/src/components/ui/table/.table-column-filter-dropdown.md +15 -9
  630. package/src/components/ui/table/.table-description-cell.md +13 -12
  631. package/src/components/ui/table/.table-empty-state.md +19 -20
  632. package/src/components/ui/table/.table-row.md +30 -20
  633. package/src/components/ui/table/.table-skeleton.md +32 -27
  634. package/src/components/ui/table/.table-timestamp-cell.md +24 -23
  635. package/src/components/ui/table/.table.md +43 -30
  636. package/src/components/ui/table/.types.md +49 -45
  637. package/src/components/ui/table/.use-table-motion.md +45 -0
  638. package/src/contexts/.chat-runtime-context.md +55 -26
  639. package/src/contexts/.endpoints-runtime-context.md +40 -44
  640. package/src/embed-shims/.next-navigation.md +38 -31
  641. package/src/hooks/.api-hooks.md +28 -21
  642. package/src/hooks/.index.md +30 -25
  643. package/src/hooks/.use-authed-image-src.md +38 -0
  644. package/src/hooks/.use-contact-submission.md +35 -36
  645. package/src/hooks/.use-humanity-signals.md +47 -0
  646. package/src/hooks/.use-near-viewport.md +30 -30
  647. package/src/hooks/.use-og-placeholder-url.md +57 -0
  648. package/src/hooks/.use-scroll-to-hash.md +46 -0
  649. package/src/hooks/.use-self-fetch.md +52 -0
  650. package/src/hooks/state/.flatten-schema.md +37 -29
  651. package/src/hooks/ui/.index.md +37 -25
  652. package/src/hooks/ui/.use-auto-limit-tags.md +55 -38
  653. package/src/hooks/ui/.use-deferred-error.md +44 -0
  654. package/src/hooks/ui/.use-focus-trap.md +59 -0
  655. package/src/hooks/ui/.use-header-height.md +37 -0
  656. package/src/hooks/ui/.use-horizontal-scrollbar.md +25 -34
  657. package/src/hooks/ui/.use-marquee-engine.md +73 -0
  658. package/src/hooks/ui/.use-notification-permission.md +49 -0
  659. package/src/hooks/ui/.use-reset-on-page-hidden.md +40 -0
  660. package/src/hooks/ui/.use-suppress-clone-focus.md +41 -0
  661. package/src/nats/.index.md +39 -0
  662. package/src/nats/.nats-provider.md +46 -0
  663. package/src/nats/.nats.md +38 -28
  664. package/src/nats/.shared-connection.md +56 -0
  665. package/src/nats/.use-nats-subscription.md +57 -0
  666. package/src/stories/.ActionsMenu.stories.md +57 -0
  667. package/src/stories/.Alert.stories.md +46 -0
  668. package/src/stories/.AnnouncementBar.stories.md +59 -32
  669. package/src/stories/.AppLayoutDrawer.stories.md +60 -0
  670. package/src/stories/.AppLayoutSidebar.stories.md +45 -0
  671. package/src/stories/.ApprovalBatchMessage.stories.md +46 -0
  672. package/src/stories/.ApprovalBatchMessageClient.stories.md +55 -0
  673. package/src/stories/.ApprovalRequestMessage.stories.md +50 -0
  674. package/src/stories/.ApprovalRequestMessageClient.stories.md +41 -0
  675. package/src/stories/.BlogCard.stories.md +52 -0
  676. package/src/stories/.Board.stories.md +25 -20
  677. package/src/stories/.Button.stories.md +35 -40
  678. package/src/stories/.CampaignCardAdmin.stories.md +38 -0
  679. package/src/stories/.CardsStrip.stories.md +39 -0
  680. package/src/stories/.CaseStudyCard.stories.md +41 -0
  681. package/src/stories/.ChatContainer.stories.md +41 -0
  682. package/src/stories/.ChatInlineVideoPill.stories.md +36 -0
  683. package/src/stories/.ChatMessageEnhanced.stories.md +51 -0
  684. package/src/stories/.ChatMingoInfoCards.stories.md +30 -0
  685. package/src/stories/.ChatTicketList.stories.md +38 -22
  686. package/src/stories/.ChatTypingIndicator.stories.md +47 -0
  687. package/src/stories/.CheckboxBlock.stories.md +34 -35
  688. package/src/stories/.ContextCompactionDisplay.stories.md +28 -0
  689. package/src/stories/.CustomerInterviewCard.stories.md +36 -0
  690. package/src/stories/.DashboardInfoCard.stories.md +40 -33
  691. package/src/stories/.DataRoomDocCard.stories.md +42 -0
  692. package/src/stories/.DataTable.stories.md +37 -32
  693. package/src/stories/.DatePicker.stories.md +34 -30
  694. package/src/stories/.EmbeddableChat.stories.md +45 -28
  695. package/src/stories/.EmptyState.stories.md +55 -0
  696. package/src/stories/.ErrorMessageDisplay.stories.md +45 -0
  697. package/src/stories/.FilterModal.stories.md +28 -22
  698. package/src/stories/.GenericEntityCard.stories.md +50 -0
  699. package/src/stories/.GitHubActivityCard.stories.md +41 -0
  700. package/src/stories/.GuideWelcome.stories.md +38 -0
  701. package/src/stories/.Header.stories.md +32 -22
  702. package/src/stories/.HubspotTicketCard.stories.md +41 -0
  703. package/src/stories/.InfoCard.stories.md +37 -26
  704. package/src/stories/.InfoCardRow.stories.md +48 -0
  705. package/src/stories/.InfoSection.stories.md +55 -0
  706. package/src/stories/.Input.stories.md +45 -35
  707. package/src/stories/.InvestorUpdateCard.stories.md +41 -0
  708. package/src/stories/.MarqueeWall.stories.md +53 -0
  709. package/src/stories/.MingoAiButton.stories.md +31 -0
  710. package/src/stories/.MingoChatModals.stories.md +47 -0
  711. package/src/stories/.MingoInfoCard.stories.md +50 -0
  712. package/src/stories/.MingoOnboardingCard.stories.md +19 -19
  713. package/src/stories/.MingoWelcome.stories.md +41 -0
  714. package/src/stories/.MobileNavPanel.stories.md +52 -0
  715. package/src/stories/.Modal.stories.md +19 -16
  716. package/src/stories/.MspOrganizationCard.stories.md +45 -0
  717. package/src/stories/.NotificationDrawer.stories.md +39 -28
  718. package/src/stories/.OSTypeBadge.stories.md +34 -25
  719. package/src/stories/.OnboardingGuideCard.stories.md +41 -0
  720. package/src/stories/.PageActions.stories.md +21 -21
  721. package/src/stories/.PageContainer.stories.md +29 -24
  722. package/src/stories/.PageLayout.stories.md +18 -35
  723. package/src/stories/.PolicyConfigurationPanel.stories.md +58 -0
  724. package/src/stories/.ProductReleaseCard.stories.md +39 -0
  725. package/src/stories/.ProgramCard.stories.md +51 -0
  726. package/src/stories/.QuickActionChip.stories.md +59 -0
  727. package/src/stories/.QuickActionMarquee.stories.md +51 -0
  728. package/src/stories/.QuickActionWall.stories.md +58 -0
  729. package/src/stories/.RoadmapCard.stories.md +41 -0
  730. package/src/stories/.ShellTypeBadge.stories.md +42 -22
  731. package/src/stories/.SlackMessageCard.stories.md +42 -0
  732. package/src/stories/.SlashCommandSuggestions.stories.md +21 -31
  733. package/src/stories/.SplitButton.stories.md +23 -25
  734. package/src/stories/.StackedRowsPanel.stories.md +65 -0
  735. package/src/stories/.TabSelector.stories.md +26 -38
  736. package/src/stories/.Tag.stories.md +32 -27
  737. package/src/stories/.ThinkingDisplay.stories.md +43 -0
  738. package/src/stories/.TicketCard.stories.md +60 -0
  739. package/src/stories/.TicketInfoSection.stories.md +28 -20
  740. package/src/stories/.TimeTracker.stories.md +35 -0
  741. package/src/stories/.Toaster.stories.md +26 -20
  742. package/src/stories/.ToolBadge.stories.md +34 -24
  743. package/src/stories/.ToolExecutionDisplay.stories.md +22 -20
  744. package/src/stories/.ToolExecutionDisplayClient.stories.md +33 -0
  745. package/src/stories/.VideoBitesStrip.stories.md +37 -0
  746. package/src/stories/.WarningBlock.stories.md +51 -0
  747. package/src/stories/__fixtures__/.chat-card-decorator.md +39 -0
  748. package/src/stories/__fixtures__/.chat-cards.md +57 -0
  749. package/src/stories/auth/.CompleteAccount.stories.md +36 -0
  750. package/src/stories/auth/.CreateOrganization.stories.md +52 -0
  751. package/src/stories/auth/.InviteLinkInvalid.stories.md +21 -0
  752. package/src/stories/auth/.Login.stories.md +32 -0
  753. package/src/stories/auth/.OpenFrameSso.stories.md +58 -0
  754. package/src/stories/auth/.PasswordReset.stories.md +49 -0
  755. package/src/styles/ods-interaction-states.css +32 -0
  756. package/src/types/.announcement.md +67 -35
  757. package/src/types/.blog.md +44 -41
  758. package/src/types/.case-study.md +31 -17
  759. package/src/types/.content-ref.md +37 -0
  760. package/src/types/.customer-interview.md +38 -38
  761. package/src/types/.doc-source.md +87 -0
  762. package/src/types/.entity-author.md +53 -0
  763. package/src/types/.entity-platform.md +40 -0
  764. package/src/types/.index.md +23 -17
  765. package/src/types/.marketing.md +32 -35
  766. package/src/types/.navigation.md +31 -19
  767. package/src/types/.os.types.md +30 -31
  768. package/src/types/.permissions.md +49 -35
  769. package/src/types/.platform.md +44 -28
  770. package/src/types/.product-release.md +59 -42
  771. package/src/types/.shell.types.md +46 -30
  772. package/src/types/.supabase.md +43 -29
  773. package/src/types/.tool.types.md +43 -23
  774. package/src/types/.video-processing.md +40 -31
  775. package/src/types/supabase.ts +80 -0
  776. package/src/types/video-processing.ts +1 -0
  777. package/src/utils/.announcement-storage.md +49 -17
  778. package/src/utils/.app-config.md +22 -18
  779. package/src/utils/.brand-marks.md +46 -0
  780. package/src/utils/.cn.md +40 -29
  781. package/src/utils/.color-analysis.md +34 -25
  782. package/src/utils/.common.md +43 -23
  783. package/src/utils/.content-href.md +64 -0
  784. package/src/utils/.content-ref-groups.md +51 -0
  785. package/src/utils/.date-utils.md +46 -35
  786. package/src/utils/.doc-path-utils.md +38 -0
  787. package/src/utils/.doc-tree-nav.md +51 -0
  788. package/src/utils/.embed-authed-fetch.md +48 -32
  789. package/src/utils/.embed-content-fetch.md +36 -0
  790. package/src/utils/.embed-url-converters.md +52 -0
  791. package/src/utils/.extract-items.md +49 -0
  792. package/src/utils/.faq-anchor.md +48 -0
  793. package/src/utils/.format.md +73 -55
  794. package/src/utils/.humanity-signals.md +59 -0
  795. package/src/utils/.index.md +73 -31
  796. package/src/utils/.list-url.md +43 -0
  797. package/src/utils/.markdown-section-extractor.md +57 -0
  798. package/src/utils/.markdown-to-plain.md +51 -0
  799. package/src/utils/.media-carousel-utils-stub.md +42 -31
  800. package/src/utils/.ods-color-utils.md +84 -43
  801. package/src/utils/.og-placeholder.md +45 -0
  802. package/src/utils/.page-header-constants.md +26 -0
  803. package/src/utils/.platform-config.md +34 -34
  804. package/src/utils/.release-badge.md +47 -0
  805. package/src/utils/.release-cover.md +45 -0
  806. package/src/utils/.same-page-hash-nav.md +45 -0
  807. package/src/utils/.scroll-into-view.md +32 -25
  808. package/src/utils/.seo-description.md +37 -0
  809. package/src/utils/.seo-title.md +25 -0
  810. package/src/utils/.social-embed-cache.md +37 -0
  811. package/src/utils/.source-icons.md +30 -34
  812. package/src/utils/.suggestion-url.md +46 -0
  813. package/src/utils/.tool-utils.md +39 -24
  814. package/src/utils/.tree-builder.md +64 -0
  815. package/src/utils/.video-bite-id.md +42 -0
  816. package/src/utils/announcement-storage.ts +9 -18
  817. package/src/utils/dev-sections/.dev-section-param-keys.md +51 -0
  818. package/src/utils/dev-sections/.openframe-dev-sections.md +40 -28
  819. package/src/utils/dismiss-cookie.ts +55 -0
  820. package/src/utils/dismissal-storage.ts +38 -0
  821. package/src/utils/index.ts +3 -0
  822. package/dist/chunk-BBUEY73L.js.map +0 -1
  823. package/dist/chunk-G3UN2DXU.cjs.map +0 -1
  824. package/dist/chunk-OWMLWJQY.cjs.map +0 -1
  825. package/dist/chunk-SASR7SK5.js.map +0 -1
  826. package/src/components/chat/utils/.onboarding-icons.md +0 -28
  827. package/src/hooks/.use-og-placeholder.md +0 -51
  828. /package/dist/{chunk-MGKCS6KS.js.map → chunk-3WCARCI4.js.map} +0 -0
  829. /package/dist/{chunk-Y3Y2DLNO.js.map → chunk-6UGYBCEN.js.map} +0 -0
  830. /package/dist/{chunk-PSPWT2Q5.js.map → chunk-7LWXWXEY.js.map} +0 -0
  831. /package/dist/{chunk-VTSRDC4W.js.map → chunk-CKC3EAYT.js.map} +0 -0
  832. /package/dist/{chunk-ZRANZNEA.js.map → chunk-JJE5TUZK.js.map} +0 -0
  833. /package/dist/{chunk-66BNAFO6.js.map → chunk-JQIUBFHL.js.map} +0 -0
  834. /package/dist/{chunk-2DIOV7BR.js.map → chunk-UPN6EFOM.js.map} +0 -0
  835. /package/dist/{chunk-4SMRQ4SN.js.map → chunk-WBL5Y4PS.js.map} +0 -0
  836. /package/dist/{chunk-FP4H6Y5O.js.map → chunk-WPYPSIY2.js.map} +0 -0
  837. /package/dist/{chunk-R5WJJL4V.js.map → chunk-X5X43HFV.js.map} +0 -0
  838. /package/dist/{chunk-DEHZ5CTC.js.map → chunk-XTWKDMCG.js.map} +0 -0
@@ -1,29 +1,44 @@
1
- <!-- source-hash: 20e5ae4b1dc4695977d9dc1f7ed04663 -->
2
- Central barrel export file that re-exports all TypeScript types and interfaces from the chat module's type definitions.
1
+ <!-- source-hash: 75c4ecf369e61a07b6662d1777b9777b -->
2
+ Central barrel export file that re-exports all TypeScript type definitions for the OpenFrame chat system, providing a single import entry point for consumers.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export Source | Description |
6
+ All exports are sourced from the following modules:
7
+
8
+ | Module | Description |
7
9
  |---|---|
8
- | `chat.types` | Core chat session and conversation types |
9
- | `message.types` | Message structure and content types |
10
- | `component.types` | UI component prop and state types |
10
+ | `chat.types` | Core chat domain types |
11
+ | `message.types` | Message structure and payload types |
12
+ | `component.types` | UI component prop/state types |
11
13
  | `network.types` | Network request/response types |
12
- | `processing.types` | Message processing and transformation types |
13
- | `api.types` | API contract and endpoint types |
14
- | `entities` | Domain entity definitions |
15
- | `unified-chat-state.types` | Unified state management types for chat |
14
+ | `processing.types` | Message processing pipeline types |
15
+ | `api.types` | External API contract types |
16
+ | `entities` | Shared domain entity definitions |
17
+ | `context-item.types` | Context item types for AI/chat context |
18
+ | `unified-chat-state.types` | Unified state management types |
16
19
 
17
20
  ## Usage Example
18
21
 
19
22
  ```typescript
20
- // Import any chat-related type directly from the module root
21
- import {
22
- ChatSession,
23
- Message,
23
+ // Import any type directly from the package root — no need to reach into submodules
24
+ import type {
25
+ ChatMessage,
26
+ NetworkRequest,
24
27
  UnifiedChatState,
25
- ApiResponse
26
- } from '@/types/chat'
28
+ ContextItem,
29
+ } from '@openframe/chat-types'
30
+ ```
31
+
32
+ Instead of:
33
+
34
+ ```typescript
35
+ // ❌ Avoid deep imports
36
+ import type { ChatMessage } from '@openframe/chat-types/message.types'
37
+ import type { UnifiedChatState } from '@openframe/chat-types/unified-chat-state.types'
27
38
  ```
28
39
 
29
- > All types are available from a single import path — no need to reference individual type files directly.
40
+ ## Notes
41
+
42
+ - This file contains **no runtime logic** — it is purely a type re-export barrel.
43
+ - Adding a new type module requires a corresponding `export *` line here to expose it to consumers.
44
+ - See the [source file](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/index.ts) for the full export list.
@@ -1,32 +1,30 @@
1
- <!-- source-hash: 08cea50ef9b44d5ac821b066fa03a785 -->
2
- Defines all message-related TypeScript types, interfaces, and constants used across the Flamingo chat system covering message lifecycle events, tool execution, approval flows, and rendered content segments.
1
+ <!-- source-hash: 91d6851796cacd6ea48ea0e1555aaf5a -->
2
+ Defines all TypeScript types, interfaces, and constants for the chat message system, covering message lifecycle events, content structures, tool execution states, approval workflows, and historical/processed message representations.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### Constants
7
- - **`MESSAGE_TYPE`** — Enum-like const object for all message event types (e.g. `TEXT`, `THINKING`, `EXECUTING_TOOL`, `APPROVAL_REQUEST`, `ERROR`, `CONTEXT_COMPACTION_*`, etc.)
8
- - **`SCROLL_ANCHOR`** — Viewport positioning hint (`top` | `bottom`) controlling chat scroll behavior per message
7
+ - **`MESSAGE_TYPE`** — Enum-style const object with 16 message types (`TEXT`, `THINKING`, `EXECUTING_TOOL`, `APPROVAL_REQUEST`, `CONTEXT_COMPACTION_START`, etc.)
8
+ - **`SCROLL_ANCHOR`** — Per-message viewport hint (`top` | `bottom`) controlling chat scroll behavior on long assistant responses
9
9
 
10
10
  ### Tool Execution
11
- - **`ToolExecutionData`** — Payload for `EXECUTING_TOOL` / `EXECUTED_TOOL` events, including tool identity, parameters, and optional merge ID
12
- - **`ExecutingToolState`** — In-flight snapshot held between execution events to preserve `toolTitle` across merge
11
+ - **`ToolExecutionData`** — Wire payload for `EXECUTING_TOOL` / `EXECUTED_TOOL` events, including optional `toolExecutionRequestId` for merging into approval batches
12
+ - **`ExecutingToolState`** — In-flight snapshot carried between executing/executed events to preserve `toolTitle` and `toolExplanation`
13
13
 
14
- ### Approval Flow
15
- - **`ApprovalRequestData`** / **`ApprovalResultData`** — Single-tool approval request/result payloads
16
- - **`ApprovalBatchData`** / **`PendingToolCallData`** / **`ApprovalBatchExecutionState`** Batch approval structures for multi-tool proposals with per-tool execution tracking
14
+ ### Approval Workflow
15
+ - **`ApprovalRequestData`** / **`ApprovalResultData`** — Single-command approval request/result payloads
16
+ - **`PendingToolCallData`** — Individual tool call within a batch approval request
17
+ - **`ApprovalBatchData`** — Batch of tool calls requiring approval, keyed by `toolExecutionRequestId`
18
+ - **`ApprovalBatchExecutionState`** — Per-tool execution progress (`executing` | `done`) within a resolved batch
17
19
 
18
- ### Message Segments (UI Rendering)
20
+ ### Message Segments
19
21
  - **`MessageSegment`** — Union of `TextSegment`, `ThinkingSegment`, `ToolExecutionSegment`, `ApprovalRequestSegment`, `ApprovalBatchSegment`, `ErrorSegment`, `ContextCompactionSegment`
20
22
  - **`MessageContent`** — `string | MessageSegment[]`
21
23
 
22
- ### Wire / API Data Types
23
- - **`MessageData`** — Discriminated union of all backend-sourced message data shapes (`TextMessageData`, `ExecutingToolMessageData`, `ApprovalRequestMessageData`, `AIMetadataMessageData`, etc.)
24
- - **`TokenUsageData`** — Input/output/total/context token counts
25
-
26
- ### Core Message Interfaces
27
- - **`Message`** — Primary chat message object with role, content, scroll anchor, `chatRefs` for entity cards, and `hidden` flag for synthetic continuation turns
28
- - **`ProcessedMessage`** — Normalized display-ready message derived from raw history
29
- - **`HistoricalMessage`** — Raw persisted message shape from GraphQL/API
24
+ ### API Data Types
25
+ - **`MessageData`** — Discriminated union of all wire-format message data types from GraphQL/API
26
+ - **`HistoricalMessage`** — Persisted message row with `lastChunkStreamSeq` for realtime merge coverage
27
+ - **`ProcessedMessage`** / **`Message`** — Normalized display-ready message with role, content, timestamps, and `streamSeq`
30
28
 
31
29
  ## Usage Example
32
30
 
@@ -34,39 +32,40 @@ Defines all message-related TypeScript types, interfaces, and constants used acr
34
32
  import {
35
33
  MESSAGE_TYPE,
36
34
  SCROLL_ANCHOR,
37
- type Message,
35
+ type MessageData,
38
36
  type MessageSegment,
39
- type ApprovalBatchData
37
+ type ApprovalBatchData,
38
+ type ProcessedMessage,
40
39
  } from './message.types'
41
40
 
42
- // Build a message with mixed content segments
43
- const segments: MessageSegment[] = [
44
- { type: 'text', text: 'Creating a ticket for you...' },
45
- {
46
- type: 'approval_batch',
47
- data: {
48
- approvalRequestId: 'req_123',
49
- approvalType: 'CLIENT',
50
- toolCalls: [
51
- {
52
- toolExecutionRequestId: 'exec_456',
53
- toolName: 'create_ticket',
54
- toolTitle: 'Create Support Ticket',
55
- requiresApproval: true,
56
- approvalType: 'CLIENT',
57
- }
58
- ]
59
- },
60
- status: 'PENDING',
61
- onApprove: async (id) => console.log('Approved:', id),
41
+ // Check incoming message type
42
+ function handleChunk(data: MessageData) {
43
+ if (data.type === MESSAGE_TYPE.EXECUTING_TOOL) {
44
+ console.log('Tool running:', data.toolFunction)
45
+ }
46
+ if (data.type === MESSAGE_TYPE.APPROVAL_REQUEST) {
47
+ console.log('Batch calls:', data.toolCalls?.length)
62
48
  }
63
- ]
49
+ }
64
50
 
65
- const msg: Message = {
66
- id: 'msg_789',
51
+ // Build a processed message for rendering
52
+ const msg: ProcessedMessage = {
53
+ id: 'msg-1',
67
54
  role: 'assistant',
68
- content: segments,
69
- scrollAnchor: SCROLL_ANCHOR.TOP,
55
+ content: [
56
+ { type: 'text', text: 'Done! Here is the result.' },
57
+ { type: 'tool_execution', data: {
58
+ type: 'EXECUTED_TOOL',
59
+ integratedToolType: 'ticketing',
60
+ toolFunction: 'createTicket',
61
+ success: true,
62
+ result: '{"ticketId":"T-42"}',
63
+ }},
64
+ ],
70
65
  timestamp: new Date(),
66
+ streamSeq: 14,
71
67
  }
68
+
69
+ // Scroll hint for long article responses
70
+ const anchor = SCROLL_ANCHOR.TOP
72
71
  ```
@@ -1,63 +1,55 @@
1
- <!-- source-hash: 8a6f81705a1810d60982ff3e397e9ebc -->
2
- Defines TypeScript types and constants for all network and communication layers in the Flamingo platform, including NATS messaging, WebSocket connections, streaming chunk data, and API response shapes.
1
+ <!-- source-hash: b3a25b6e2897d6d6248d3a4a28608f01 -->
2
+ Defines TypeScript types and constants for network and communication infrastructure, covering NATS messaging, WebSocket connections, streaming chunk data, and generic API response shapes.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### Types & Enums
6
+ ### Constants
7
+ - **`NETWORK_CONFIG`** — Frozen configuration object with tunable network parameters (timeouts, retry backoff, message limits, ping intervals)
7
8
 
8
- | Export | Description |
9
- |--------|-------------|
10
- | `NatsMessageType` | Union type for NATS message categories: `'message'` or `'admin-message'` |
11
- | `NatsConnectionStatus` | Connection lifecycle states: `connecting`, `connected`, `disconnected`, `reconnecting`, `closed`, `error` |
12
- | `NatsConnectionSource` | Origin of a NATS connection: `client`, `agent`, or `dashboard` |
9
+ ### NATS Types
10
+ - **`NatsMessageType`** — Discriminates between `'message'` and `'admin-message'` NATS payloads
11
+ - **`NatsConnectionStatus`** Union of NATS lifecycle states (`connecting`, `connected`, `disconnected`, `reconnecting`, `closed`, `error`)
12
+ - **`NatsConnectionSource`** Identifies the actor initiating a connection (`client`, `agent`, `dashboard`)
13
13
 
14
- ### Constants
14
+ ### Chunk / Streaming Types
15
+ - **`ChunkData`** — Core streaming payload; carries sequence IDs, stream state, tool execution metadata, approval workflow fields, and model/provider info. Supports an open index signature for extension
16
+ - **`BufferedChunk`** — Wraps a `ChunkData` with its `NatsMessageType` for buffered delivery
15
17
 
16
- | Export | Description |
17
- |--------|-------------|
18
- | `NETWORK_CONFIG` | Frozen config object with timeouts, retry backoff, ping intervals, and message limits |
19
- | `NetworkConfig` | Inferred type from `NETWORK_CONFIG` |
18
+ ### WebSocket Types
19
+ - **`WebSocketMessage`** — Generic typed message envelope with optional timestamp and ID
20
+ - **`WebSocketConfig`** Full WebSocket client configuration including reconnect strategy and lifecycle callbacks
20
21
 
21
- ### Interfaces
22
+ ### Function Types
23
+ - **`FetchChunksFunction`** — Typed async fetcher for polling `ChunkData[]` by dialog ID and chat type
22
24
 
23
- | Export | Description |
24
- |--------|-------------|
25
- | `ChunkData` | Streaming dialog chunk payload carries sequence IDs, tool execution data, approval requests, model metadata, and stream state |
26
- | `BufferedChunk` | Wraps a `ChunkData` with its `NatsMessageType` for buffered delivery |
27
- | `WebSocketMessage` | Generic WebSocket envelope with `type`, `payload`, and optional metadata |
28
- | `WebSocketConfig` | Full WebSocket client configuration including reconnect strategy and event handlers |
29
- | `FetchChunksFunction` | Async function signature for polling dialog chunks by `dialogId` and `ChatType` |
30
- | `NetworkResponse<T>` | Standard API response wrapper with `success`, `data`, `error`, and `message` |
31
- | `PaginatedResponse<T>` | Extends `NetworkResponse<T>` with pagination metadata |
32
- | `NetworkError` | Structured error shape with `code`, `message`, optional `details`, and `timestamp` |
25
+ ### Response Types
26
+ - **`NetworkResponse<T>`** — Generic success/error API envelope
27
+ - **`PaginatedResponse<T>`**Extends `NetworkResponse` with page, pageSize, totalCount, and totalPages
28
+ - **`NetworkError`** Structured error with code, message, optional details, and ISO timestamp
33
29
 
34
30
  ## Usage Example
35
31
 
36
32
  ```typescript
37
- import type {
38
- ChunkData,
39
- FetchChunksFunction,
40
- NetworkResponse,
41
- PaginatedResponse,
42
- NatsConnectionStatus,
33
+ import {
34
+ NETWORK_CONFIG,
35
+ type ChunkData,
36
+ type FetchChunksFunction,
37
+ type NetworkResponse,
38
+ type PaginatedResponse,
39
+ type NatsConnectionStatus,
43
40
  } from './network.types'
44
- import { NETWORK_CONFIG } from './network.types'
45
41
 
46
- // Use constants for consistent timeout configuration
47
- const client = createNatsClient({
48
- timeout: NETWORK_CONFIG.CONNECT_TIMEOUT_MS,
49
- reconnectTimeWait: NETWORK_CONFIG.RECONNECT_TIME_WAIT_MS,
50
- maxPingOut: NETWORK_CONFIG.MAX_PING_OUT,
51
- })
42
+ // Use frozen config values
43
+ const timeout = NETWORK_CONFIG.CONNECT_TIMEOUT_MS // 10_000
52
44
 
53
- // Type-safe connection state handler
54
- function onStatusChange(status: NatsConnectionStatus) {
55
- if (status === 'reconnecting') {
56
- console.warn('NATS reconnecting...')
45
+ // Type a NATS connection status handler
46
+ function handleStatus(status: NatsConnectionStatus): void {
47
+ if (status === 'error') {
48
+ scheduleReconnect(NETWORK_CONFIG.RECONNECT_TIME_WAIT_MS)
57
49
  }
58
50
  }
59
51
 
60
- // Typed chunk fetch implementation
52
+ // Type a chunk fetcher implementation
61
53
  const fetchChunks: FetchChunksFunction = async (dialogId, chatType, fromSequenceId) => {
62
54
  const res = await api.get<ChunkData[]>(`/dialogs/${dialogId}/chunks`, {
63
55
  params: { chatType, from: fromSequenceId },
@@ -65,7 +57,15 @@ const fetchChunks: FetchChunksFunction = async (dialogId, chatType, fromSequence
65
57
  return res.data
66
58
  }
67
59
 
68
- // Paginated API response
69
- const response: PaginatedResponse<ChunkData[]> = await fetchPage(dialogId, 1)
70
- console.log(`Page ${response.page} of ${response.totalPages}`)
71
- ```
60
+ // Consume a paginated API response
61
+ async function loadHistory(): Promise<void> {
62
+ const response: PaginatedResponse<ChunkData[]> = await api.getHistory()
63
+ if (response.success) {
64
+ console.log(`Page ${response.page} of ${response.totalPages}`)
65
+ }
66
+ }
67
+ ```
68
+
69
+ ## Source
70
+
71
+ [`network.types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/network.types.ts)
@@ -1,21 +1,31 @@
1
- <!-- source-hash: 118d3a4cacf89174498282067448e4bf -->
2
- Defines TypeScript types for message processing pipeline operations, including chunk parsing, accumulator state management, stream control, and buffer management for AI chat message flows.
1
+ <!-- source-hash: bdb71cca9908cf9cfebf089a00d84db8 -->
2
+ Defines TypeScript types for the message processing pipeline, covering chunk parsing, state accumulation, stream control, and buffer management.
3
3
 
4
4
  ## Key Components
5
5
 
6
- | Export | Type | Description |
7
- |--------|------|-------------|
8
- | `ParsedChunkAction` | Union type | Discriminated union of all possible chunk parse results (text, tool execution, approvals, metadata, etc.) |
9
- | `AccumulatorState` | Interface | Stateful container tracking message segments, pending approvals, and executing tools during stream processing |
10
- | `PendingApproval` | Interface | Represents an approval request awaiting user action (command, explanation, type) |
11
- | `MessageProcessingOptions` | Interface | Configuration for assistant rendering, approval callbacks, chat filtering, and batch approval UI |
12
- | `ChunkProcessor` | Interface | Contract for processing raw `ChunkData` into `ParsedChunkAction` results |
13
- | `ChunkProcessorOptions` | Interface | Lifecycle callbacks for chunk processing events |
14
- | `MessageTransformer` | Interface | Contract for transforming raw inputs into `ProcessedMessage` objects |
15
- | `StreamProcessor` | Interface | Full lifecycle control (start/stop/pause/resume/reset) for stream consumers |
16
- | `StreamState` | Interface | Snapshot of stream health: active status, buffered chunks, error log, and last activity timestamp |
17
- | `BufferManager` | Interface | CRUD-style contract for managing `ChunkData` buffers |
18
- | `BufferOptions` | Interface | Configuration for buffer capacity, flush intervals, and overflow handling callbacks |
6
+ ### Union Types
7
+ - **`ParsedChunkAction`** — Discriminated union of all possible chunk parse results: `message_start`, `message_end`, `error`, `metadata`, `text`, `thinking`, `tool_execution`, `approval_request`, `approval_batch`, `approval_result`, `token_usage`, `direct_message`, `system`, `context_compaction_start/end`, `dialog_closed`
8
+
9
+ ### Accumulator State
10
+ - **`AccumulatorState`** Tracks in-flight message segments, pending approvals, and executing tool states during streaming
11
+ - **`PendingApproval`** Holds command, explanation, and approval type for a deferred approval card
12
+
13
+ ### Processing Configuration
14
+ - **`MessageProcessingOptions`** Runtime options passed to the processor: assistant identity, approval callbacks, chat type filter, approval status map, `displayApprovalTypes`, and `batchApprovalsEnabled` (consumer-owned feature flag)
15
+
16
+ ### Chunk Processing
17
+ - **`ChunkProcessor`** Interface for stateful chunk parsing with `processChunk` and `reset`
18
+ - **`ChunkProcessorOptions`** Lifecycle callbacks for chunk events (`onText`, `onToolExecution`, `onApprovalRequest`, etc.)
19
+
20
+ ### Message Transformation
21
+ - **`MessageTransformer`** — Single and batch transform interface producing `ProcessedMessage` outputs
22
+ - **`TransformationOptions`** — Flags for segment merging, timestamp formatting, and metadata inclusion
23
+
24
+ ### Stream & Buffer Management
25
+ - **`StreamProcessor`** — Lifecycle control (`start`, `stop`, `pause`, `resume`, `reset`, `getState`)
26
+ - **`StreamState`** — Runtime counters: active state, pause flag, processed message count, buffered chunks, error log
27
+ - **`BufferManager`** — FIFO buffer operations (`add`, `flush`, `clear`, `size`, `isEmpty`, `isFull`)
28
+ - **`BufferOptions`** — Max size, flush interval, and overflow/flush callbacks
19
29
 
20
30
  ## Usage Example
21
31
 
@@ -24,45 +34,47 @@ import type {
24
34
  ParsedChunkAction,
25
35
  AccumulatorState,
26
36
  MessageProcessingOptions,
27
- StreamState
37
+ StreamState,
28
38
  } from './processing.types'
29
39
 
30
- // Handling a parsed chunk action via discriminated union
31
- function handleChunkAction(action: ParsedChunkAction): void {
40
+ // Narrow a parsed chunk action by discriminant
41
+ function handleChunk(action: ParsedChunkAction) {
32
42
  switch (action.action) {
33
43
  case 'text':
34
- console.log('Received text:', action.text)
44
+ console.log('Text received:', action.text)
35
45
  break
36
46
  case 'tool_execution':
37
- console.log('Tool executing:', action.segment)
47
+ console.log('Tool segment:', action.segment)
38
48
  break
39
49
  case 'approval_batch':
40
- console.log('Batch approval request:', action.requestId, action.toolCalls)
50
+ console.log('Batch approval', action.requestId, action.toolCalls)
41
51
  break
42
52
  case 'error':
43
- console.error('Processing error:', action.error, action.details)
53
+ console.error(action.error, action.details)
44
54
  break
45
55
  }
46
56
  }
47
57
 
48
- // Initializing accumulator state
49
- const state: AccumulatorState = {
50
- segments: [],
51
- pendingApprovals: new Map(),
52
- executingTools: new Map()
53
- }
54
-
55
- // Configuring message processing
58
+ // Configure message processing with batch approvals enabled
56
59
  const options: MessageProcessingOptions = {
57
60
  assistantName: 'Mingo',
58
61
  assistantType: 'mingo',
59
- batchApprovalsEnabled: true,
60
- displayApprovalTypes: ['shell', 'file'],
62
+ batchApprovalsEnabled: true, // consumer sets this from their feature flag
63
+ displayApprovalTypes: ['shell', 'file_write'],
61
64
  onApprove: async (requestId) => {
62
- await submitApproval(requestId)
65
+ await fetch(`/api/approvals/${requestId}/approve`, { method: 'POST' })
66
+ },
67
+ onReject: async (requestId) => {
68
+ await fetch(`/api/approvals/${requestId}/reject`, { method: 'POST' })
63
69
  },
64
- onReject: (requestId) => {
65
- logRejection(requestId)
66
- }
67
70
  }
68
- ```
71
+
72
+ // Initialize accumulator state
73
+ const state: AccumulatorState = {
74
+ segments: [],
75
+ pendingApprovals: new Map(),
76
+ executingTools: new Map(),
77
+ }
78
+ ```
79
+
80
+ **Source:** [`processing.types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/processing.types.ts)
@@ -1,41 +1,56 @@
1
- <!-- source-hash: 5419513463f6ad2b09f3c013740a3568 -->
2
- Shared TypeScript contract defining the unified state shape and supporting types that all chat transport hooks (SSE and NATS) must satisfy, enabling transport-agnostic consumption by UI components.
1
+ <!-- source-hash: cae6679d748353879069b316add2f081 -->
2
+ Unified contract type definitions for the `useChat` hook's transport-agnostic return shape, shared by both the SSE (Guide mode) and NATS (Mingo mode) transport adapters.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  | Export | Kind | Description |
7
- |--------|------|-------------|
8
- | `StreamingPhase` | Type | `'idle' \| 'thinking' \| 'streaming'` granular in-flight status for the streaming indicator UI |
9
- | `UnifiedUsageBreakdown` | Interface | SSE-only per-turn LLM telemetry (Haiku pipeline costs + routed answer metadata); always `null` in Mingo/NATS mode |
10
- | `UnifiedChatMessage` | Interface | Transport-agnostic message shape; SSE-only fields (`sources`, `chatRefs`) are optional, Mingo-safe |
11
- | `UnifiedSendMessageOptions` | Interface | Options for `sendMessage` `hidden` (suppress UI render) and `attachments` (SSE-only image uploads) |
12
- | `UnifiedChatState` | Interface | The primary contract: full return shape every transport hook must implement, covering messages, actions, loading state, and SSE-only LLM metadata |
7
+ |---|---|---|
8
+ | `DialogTokenUsage` | Interface | Per-dialog token usage snapshot from the Mingo backend's GraphQL `dialogs` endpoint |
9
+ | `ChatConnectionState` | Type | Transport-level connection status: `'connected' \| 'connecting' \| 'disconnected'` |
10
+ | `StreamingPhase` | Type | Granular streaming indicator: `'idle' \| 'thinking' \| 'streaming'` |
11
+ | `UnifiedUsageBreakdown` | Interface | SSE-only sub-call token costs for the Haiku rewriter/classifier/summarizer pipeline |
12
+ | `UnifiedChatMessage` | Interface | Transport-agnostic message shape; Guide-only fields (`sources`, `chatRefs`) are optional |
13
+ | `UnifiedSendMessageOptions` | Interface | Options accepted by `sendMessage` honoured by both transports |
14
+ | `UnifiedChatState` | Interface | **Primary contract** — the full return shape both transport hooks must satisfy |
13
15
 
14
16
  ## Usage Example
15
17
 
16
18
  ```typescript
17
- // Consumer component — works identically for SSE (Guide) or NATS (Mingo)
18
- import type { UnifiedChatState, UnifiedSendMessageOptions } from './unified-chat-state.types'
19
-
20
- function ChatShell({ chat }: { chat: UnifiedChatState }) {
19
+ import type {
20
+ UnifiedChatState,
21
+ UnifiedChatMessage,
22
+ UnifiedSendMessageOptions,
23
+ StreamingPhase,
24
+ } from './unified-chat-state.types'
25
+
26
+ // Consuming the contract without branching on transport mode
27
+ function MyChatShell({ chat }: { chat: UnifiedChatState }) {
21
28
  const { messages, isLoading, streamingPhase, sendMessage, stopMessage } = chat
22
29
 
23
- async function handleSubmit(text: string, attachments?: ChatAttachment[]) {
24
- const options: UnifiedSendMessageOptions = { attachments }
25
- await sendMessage(text, options)
30
+ const handleSend = async (text: string, opts?: UnifiedSendMessageOptions) => {
31
+ await sendMessage(text, {
32
+ hidden: false,
33
+ attachments: opts?.attachments,
34
+ contextItems: opts?.contextItems,
35
+ })
26
36
  }
27
37
 
28
- return (
29
- <>
30
- {/* SSE-only metadata safely null in Mingo mode */}
31
- {chat.currentModelLabel && <ModelDisplay label={chat.currentModelLabel} />}
32
- {streamingPhase === 'thinking' && <span>Thinking...</span>}
33
- {streamingPhase === 'streaming' && <span>Streaming...</span>}
34
- <MessageList messages={messages.filter(m => !m.hidden)} />
35
- <ChatInput onSubmit={handleSubmit} disabled={isLoading} onStop={stopMessage} />
36
- </>
37
- )
38
+ // SSE-only fields are null in Mingo mode — guard before rendering
39
+ const modelLabel = chat.currentModelLabel ?? 'AI'
40
+ const phase: StreamingPhase = streamingPhase
41
+
42
+ return { messages, isLoading, phase, modelLabel, handleSend, stopMessage }
38
43
  }
39
44
  ```
40
45
 
41
- > **Transport isolation:** `currentProvider`, `currentModelLabel`, `currentUsageBreakdown`, and related token fields are `null` in Mingo/NATS mode. Always guard with a null check before rendering LLM metadata.
46
+ ## Transport Compatibility
47
+
48
+ | Field | SSE (Guide) | NATS (Mingo) |
49
+ |---|---|---|
50
+ | `sources`, `chatRefs` | ✅ Populated | `undefined` |
51
+ | `currentProvider` / `currentModelLabel` | ✅ Populated | `null` |
52
+ | `currentUsageBreakdown` | ✅ After trailing frame | `null` |
53
+ | `DialogTokenUsage` (separate) | `null` | ✅ From GraphQL |
54
+ | `discussRef` / `displayRef` | ✅ Active | no-op |
55
+
56
+ > **Source:** [`unified-chat-state.types.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/unified-chat-state.types.ts)
@@ -1,41 +1,30 @@
1
- <!-- source-hash: c5cc84322439cd96dae36a797cb9a2cb -->
2
- Defines the `ContentRef` interface the unified shape for link/embed references stored in JSONB columns across entities such as investor updates and performance baselines that surface "related content" rails.
1
+ <!-- source-hash: d15c6ea0015118d3460fb4327e86fe26 -->
2
+ Backwards-compatibility re-export stub that preserves existing import paths for `ContentRef` and `ContentRefWithReason` after their canonical definitions were relocated to `src/types/content-ref.ts`.
3
3
 
4
4
  ## Key Components
5
5
 
6
- ### `ContentRef` Interface
7
-
8
- | Field | Type | Required | Description |
9
- |-------|------|----------|-------------|
10
- | `type` | `string` | ✅ | Content type identifier (e.g., `"video"`, `"article"`) |
11
- | `id` | `string` | ✅ | Unique content identifier |
12
- | `slug` | `string` | ✅ | URL-friendly slug |
13
- | `url` | `string` | ✅ | Canonical URL of the referenced content |
14
- | `targetPlatform` | `string \| null` | ❌ | Platform hint (e.g., `"youtube"`, `"notion"`) |
15
- | `title` | `string` | ✅ | Display title |
16
- | `summary` | `string` | ❌ | Short description or excerpt |
17
- | `image_url` | `string` | ❌ | Thumbnail or preview image URL |
18
- | `image_bg_color` | `string` | ❌ | Background color for image placeholder |
19
- | `visibility` | `'public' \| 'internal'` | ✅ | Access scope |
20
- | `display_order` | `number` | ✅ | Sort position within its parent list |
6
+ - **`ContentRef`** — re-exported from `src/types/content-ref.ts`; the canonical content reference type shared across the related-content rail and chat entities.
7
+ - **`ContentRefWithReason`** — re-exported from `src/types/content-ref.ts`; extends `ContentRef` with a reason field.
21
8
 
22
9
  ## Usage Example
23
10
 
24
11
  ```typescript
25
- import type { ContentRef } from './content-ref';
26
-
27
- const ref: ContentRef = {
28
- type: 'video',
29
- id: 'abc123',
30
- slug: 'q1-investor-update',
31
- url: 'https://www.youtube.com/watch?v=abc123',
32
- targetPlatform: 'youtube',
33
- title: 'Q1 2025 Investor Update',
34
- summary: 'Quarterly performance highlights and roadmap preview.',
35
- image_url: 'https://img.youtube.com/vi/abc123/hqdefault.jpg',
36
- visibility: 'internal',
37
- display_order: 1,
12
+ // Existing imports continue to work unchanged — no migration required.
13
+ import type { ContentRef, ContentRefWithReason } from './content-ref';
14
+
15
+ const ref: ContentRef = { id: '123', type: 'article' };
16
+
17
+ const refWithReason: ContentRefWithReason = {
18
+ ...ref,
19
+ reason: 'Related to current investor update',
38
20
  };
39
21
  ```
40
22
 
41
- > **Note:** This type is shared across client and server. Server-side data utilities (e.g., JSONB serialization, fetch helpers) remain hub-side and should import this interface rather than redeclare it locally.
23
+ > **Note:** Prefer importing directly from the canonical location for new code:
24
+ > ```typescript
25
+ > import type { ContentRef } from 'src/types/content-ref';
26
+ > ```
27
+
28
+ ## Source
29
+
30
+ [`content-ref.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/content-ref.ts)
@@ -1,35 +1,33 @@
1
- <!-- source-hash: cd90c6466cd8d12a5c8765efbf35dcb1 -->
2
- Defines the wire-shape types and a pure formatter for investor update entities, used across chat cards and `/api/investor-updates` API reads.
1
+ <!-- source-hash: ef4cd58c55bef9dac453eefe4b6067ba -->
2
+ Defines the wire-shape types for investor update entities used in chat cards and `/api/investor-updates` API responses, plus a pure date-range formatter utility.
3
3
 
4
4
  ## Key Components
5
5
 
6
6
  ### Interfaces
7
7
 
8
- | Interface | Purpose |
9
- |---|---|
10
- | `MetricEntry` | A single financial or KPI metric with current/previous values and visibility scope |
11
- | `HighlightEntry` | A titled highlight item (milestone, note, etc.) with optional description and visibility |
12
- | `InvestorUpdateHighlights` | Grouped collections of `HighlightEntry` items by category |
13
- | `InvestorUpdate` | Full wire shape for an investor update — covers content, media, SEO, HubSpot, authorship, and visibility |
8
+ - **`MetricEntry`** — A single financial or operational metric with current/previous values, optional percentage change, and a `public | internal` visibility flag
9
+ - **`HighlightEntry`** — A titled highlight item (e.g. product milestone, community update) with visibility control
10
+ - **`InvestorUpdateHighlights`** Groups highlight entries by category: `key_highlights`, `product_milestones`, `community_updates`, `upcoming_priorities`, and `financial_notes`
11
+ - **`InvestorUpdate`** The primary entity shape covering all update fields: content, video assets, financials, metrics, SEO metadata, HubSpot integration IDs, and audit timestamps
14
12
 
15
13
  ### Functions
16
14
 
17
- - **`formatInvestorUpdatePeriod`** — Pure formatter that converts `period_start` / `period_end` ISO strings into a human-readable range (e.g. `Mar 2025 - May 2025`). Falls back to `?` for missing endpoints.
15
+ - **`formatInvestorUpdatePeriod(start, end, options?)`** — Formats a date range as a human-readable string (e.g. `Mar 2025 - May 2025`). Renders `?` for missing endpoints. Pins to UTC to ensure SSR/client hydration consistency.
18
16
 
19
17
  ## Usage Example
20
18
 
21
19
  ```typescript
22
- import type { InvestorUpdate, MetricEntry } from './investor-update';
23
- import { formatInvestorUpdatePeriod } from './investor-update';
20
+ import type { InvestorUpdate, MetricEntry } from '@openframe-oss-lib/investor-update';
21
+ import { formatInvestorUpdatePeriod } from '@openframe-oss-lib/investor-update';
24
22
 
25
- // Format a period range for display
23
+ // Format a period label for display
26
24
  const label = formatInvestorUpdatePeriod('2025-03-01', '2025-05-31');
27
25
  // → "Mar 2025 - May 2025"
28
26
 
29
27
  const labelLong = formatInvestorUpdatePeriod('2025-03-01', null, { monthFormat: 'long' });
30
28
  // → "March 2025 - ?"
31
29
 
32
- // Type-safe metric entry
30
+ // Typing a metric entry
33
31
  const mrr: MetricEntry = {
34
32
  current: 42000,
35
33
  previous: 38000,
@@ -40,6 +38,6 @@ const mrr: MetricEntry = {
40
38
 
41
39
  ## Notes
42
40
 
43
- - Visibility fields (`'public' | 'internal'`) control what surfaces in public-facing vs. internal views filtering logic stays hub-side.
44
- - `section_visibility` is a freeform record allowing per-section overrides on any `InvestorUpdate`.
45
- - Server-side data utilities and DB access remain in `lib/data/investor-update-utils-shared.ts`; this file exports types and pure functions only.
41
+ - Only **types** and the pure `formatInvestorUpdatePeriod` formatter are exported here. Server-side data utilities and visibility filters remain hub-side.
42
+ - `section_visibility` allows per-section `public | internal` gating on the `InvestorUpdate` object independent of field-level `MetricEntry` / `HighlightEntry` visibility.
43
+ - Source: [`investor-update.ts`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/investor-update.ts)