@flamingo-stack/openframe-frontend-core 0.0.213 → 0.0.214

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 (745) hide show
  1. package/dist/{chunk-3JWIJJ44.js → chunk-5OWDOFKK.js} +2 -2
  2. package/dist/{chunk-IK2X5YJU.js → chunk-HWY35EAK.js} +2 -2
  3. package/dist/{chunk-OTKJASSX.cjs → chunk-IZL2KEH6.cjs} +24 -24
  4. package/dist/{chunk-OTKJASSX.cjs.map → chunk-IZL2KEH6.cjs.map} +1 -1
  5. package/dist/{chunk-35XIT2CF.cjs → chunk-KDNGUYZM.cjs} +17 -17
  6. package/dist/{chunk-35XIT2CF.cjs.map → chunk-KDNGUYZM.cjs.map} +1 -1
  7. package/dist/{chunk-ZTJVRSN5.js → chunk-UKND27XC.js} +2 -2
  8. package/dist/chunk-UKND27XC.js.map +1 -0
  9. package/dist/{chunk-ZDF6F7ED.cjs → chunk-YZUUFTIK.cjs} +2 -2
  10. package/dist/chunk-YZUUFTIK.cjs.map +1 -0
  11. package/dist/components/chat/index.cjs +2 -2
  12. package/dist/components/chat/index.js +1 -1
  13. package/dist/components/contact/index.cjs +3 -3
  14. package/dist/components/contact/index.js +2 -2
  15. package/dist/components/features/index.cjs +2 -2
  16. package/dist/components/features/index.js +1 -1
  17. package/dist/components/index.cjs +49 -49
  18. package/dist/components/index.js +2 -2
  19. package/dist/components/navigation/index.cjs +2 -2
  20. package/dist/components/navigation/index.js +1 -1
  21. package/dist/components/tickets/index.cjs +61 -61
  22. package/dist/components/tickets/index.js +3 -3
  23. package/dist/components/ui/index.cjs +2 -2
  24. package/dist/components/ui/index.js +1 -1
  25. package/dist/index.cjs +2 -2
  26. package/dist/index.js +1 -1
  27. package/package.json +1 -1
  28. package/src/.index.md +36 -34
  29. package/src/components/.alert-dialog.md +27 -23
  30. package/src/components/.announcement-bar.md +26 -21
  31. package/src/components/.breadcrumb.md +19 -15
  32. package/src/components/.calendar.md +24 -19
  33. package/src/components/.categories-cart.md +29 -24
  34. package/src/components/.checkbox.md +23 -25
  35. package/src/components/.chevron-button.md +37 -32
  36. package/src/components/.comment-card.md +32 -62
  37. package/src/components/.dialog.md +26 -26
  38. package/src/components/.dynamic-skeleton.md +54 -57
  39. package/src/components/.empty-state.md +42 -51
  40. package/src/components/.faq-accordion.md +27 -21
  41. package/src/components/.filter-chip.md +41 -24
  42. package/src/components/.flamingo-logo.md +20 -23
  43. package/src/components/.footer-waitlist-button.md +29 -22
  44. package/src/components/.footer.md +32 -32
  45. package/src/components/.icons-block.md +27 -17
  46. package/src/components/.image-cropper.md +41 -32
  47. package/src/components/.index.md +33 -39
  48. package/src/components/.input.md +31 -35
  49. package/src/components/.logs-list.md +31 -20
  50. package/src/components/.media-carousel.md +35 -36
  51. package/src/components/.open-source-features.md +33 -16
  52. package/src/components/.pagination.md +52 -51
  53. package/src/components/.provider-button.md +21 -23
  54. package/src/components/.select.md +31 -20
  55. package/src/components/.sidebar.md +34 -24
  56. package/src/components/.smooth-accordion.md +29 -24
  57. package/src/components/.social-icon-row.md +36 -32
  58. package/src/components/.textarea.md +25 -31
  59. package/src/components/.tool-icon.md +24 -26
  60. package/src/components/.unified-filter-logic.md +37 -30
  61. package/src/components/.unified-pagination.md +23 -22
  62. package/src/components/.user-summary-stub.md +38 -22
  63. package/src/components/.vendor-display-button.md +25 -25
  64. package/src/components/.vendor-icon.md +33 -25
  65. package/src/components/.why-it-matters.md +28 -25
  66. package/src/components/chat/.approval-batch-message.md +51 -0
  67. package/src/components/chat/.approval-request-message.md +35 -34
  68. package/src/components/chat/.chat-attachment-bar.md +64 -0
  69. package/src/components/chat/.chat-container.md +36 -18
  70. package/src/components/chat/.chat-input.md +37 -20
  71. package/src/components/chat/.chat-message-enhanced.md +30 -49
  72. package/src/components/chat/.chat-message-list.md +45 -32
  73. package/src/components/chat/.chat-message-skeleton.md +26 -22
  74. package/src/components/chat/.chat-panel-context.md +52 -0
  75. package/src/components/chat/.chat-ref.types.md +42 -0
  76. package/src/components/chat/.chat-sidebar-skeleton.md +34 -25
  77. package/src/components/chat/.chat-sidebar.md +31 -26
  78. package/src/components/chat/.chat-ticket-list.md +39 -0
  79. package/src/components/chat/.context-compaction-display.md +36 -0
  80. package/src/components/chat/.cycling-phrase.md +52 -0
  81. package/src/components/chat/.embeddable-chat.md +48 -0
  82. package/src/components/chat/.expand-chevron.md +24 -0
  83. package/src/components/chat/.index.md +31 -35
  84. package/src/components/chat/.mingo-onboarding-card-skeleton.md +44 -0
  85. package/src/components/chat/.mingo-onboarding-card.md +62 -0
  86. package/src/components/chat/.model-display.md +32 -30
  87. package/src/components/chat/.nav-link-anchor-via-runtime.md +40 -0
  88. package/src/components/chat/.remark-card-links.md +38 -0
  89. package/src/components/chat/.slash-command-suggestions.md +47 -0
  90. package/src/components/chat/.source-action-button.md +48 -0
  91. package/src/components/chat/.thinking-display.md +42 -0
  92. package/src/components/chat/.tool-call-blocks.md +45 -0
  93. package/src/components/chat/.tool-execution-display.md +44 -36
  94. package/src/components/chat/chat-container.tsx +1 -1
  95. package/src/components/chat/entity-cards/.admin-content-card.md +43 -0
  96. package/src/components/chat/entity-cards/.block-card.md +47 -0
  97. package/src/components/chat/entity-cards/.blog-card.md +52 -0
  98. package/src/components/chat/entity-cards/.blog-image-placeholder.md +39 -0
  99. package/src/components/chat/entity-cards/.campaign-card-admin.md +47 -0
  100. package/src/components/chat/entity-cards/.case-study-card.md +58 -0
  101. package/src/components/chat/entity-cards/.chat-ticket-item.md +40 -0
  102. package/src/components/chat/entity-cards/.chat-video-entity-card.md +43 -0
  103. package/src/components/chat/entity-cards/.customer-interview-card.md +53 -0
  104. package/src/components/chat/entity-cards/.data-room-doc-card.md +47 -0
  105. package/src/components/chat/entity-cards/.dispatch.md +39 -0
  106. package/src/components/chat/entity-cards/.entity-author-card.md +51 -0
  107. package/src/components/chat/entity-cards/.generic-entity-card.md +62 -0
  108. package/src/components/chat/entity-cards/.github-activity-card.md +61 -0
  109. package/src/components/chat/entity-cards/.hubspot-ticket-card.md +53 -0
  110. package/src/components/chat/entity-cards/.index.md +66 -0
  111. package/src/components/chat/entity-cards/.investor-update-card.md +47 -0
  112. package/src/components/chat/entity-cards/.onboarding-guide-card.md +58 -0
  113. package/src/components/chat/entity-cards/.product-release-card-defaults.md +31 -0
  114. package/src/components/chat/entity-cards/.product-release-card.md +29 -0
  115. package/src/components/chat/entity-cards/.program-card-defaults.md +41 -0
  116. package/src/components/chat/entity-cards/.program-card.md +59 -0
  117. package/src/components/chat/entity-cards/.roadmap-card.md +46 -0
  118. package/src/components/chat/entity-cards/.roadmap-vote-button.md +52 -0
  119. package/src/components/chat/entity-cards/.slack-message-card.md +48 -0
  120. package/src/components/chat/entity-cards/.task-type-icon.md +47 -0
  121. package/src/components/chat/hooks/.index.md +36 -21
  122. package/src/components/chat/hooks/.use-chat-attachment-image-gallery.md +51 -0
  123. package/src/components/chat/hooks/.use-chat-attachments.md +48 -0
  124. package/src/components/chat/hooks/.use-chat-card-item.md +39 -0
  125. package/src/components/chat/hooks/.use-chat-identity.md +45 -0
  126. package/src/components/chat/hooks/.use-chat.md +58 -0
  127. package/src/components/chat/hooks/.use-chunk-catchup.md +46 -48
  128. package/src/components/chat/hooks/.use-close-on-navigation.md +44 -0
  129. package/src/components/chat/hooks/.use-collapsible.md +48 -0
  130. package/src/components/chat/hooks/.use-embedded-chat.md +32 -0
  131. package/src/components/chat/hooks/.use-jetstream-dialog-subscription.md +40 -0
  132. package/src/components/chat/hooks/.use-nats-chat-adapter.md +52 -0
  133. package/src/components/chat/hooks/.use-nats-dialog-subscription.md +49 -30
  134. package/src/components/chat/hooks/.use-proxied-image-url.md +40 -0
  135. package/src/components/chat/hooks/.use-realtime-chunk-processor.md +43 -40
  136. package/src/components/chat/hooks/.use-slash-commands.md +46 -0
  137. package/src/components/chat/hooks/.use-sse-chat-adapter.md +34 -0
  138. package/src/components/chat/hooks/.use-sse.md +60 -0
  139. package/src/components/chat/hooks/.use-unified-chat.md +57 -0
  140. package/src/components/chat/types/.api.types.md +52 -38
  141. package/src/components/chat/types/.chat.types.md +43 -34
  142. package/src/components/chat/types/.component.types.md +47 -48
  143. package/src/components/chat/types/.index.md +20 -27
  144. package/src/components/chat/types/.message.types.md +58 -48
  145. package/src/components/chat/types/.network.types.md +57 -31
  146. package/src/components/chat/types/.processing.types.md +49 -31
  147. package/src/components/chat/types/.unified-chat-state.types.md +41 -0
  148. package/src/components/chat/types/entities/.blog.md +43 -0
  149. package/src/components/chat/types/entities/.case-study.md +26 -0
  150. package/src/components/chat/types/entities/.content-ref.md +41 -0
  151. package/src/components/chat/types/entities/.customer-interview.md +28 -0
  152. package/src/components/chat/types/entities/.data-room-doc.md +36 -0
  153. package/src/components/chat/types/entities/.github-activity.md +43 -0
  154. package/src/components/chat/types/entities/.hubspot-ticket.md +53 -0
  155. package/src/components/chat/types/entities/.index.md +42 -0
  156. package/src/components/chat/types/entities/.investor-update.md +45 -0
  157. package/src/components/chat/types/entities/.onboarding-guide.md +50 -0
  158. package/src/components/chat/types/entities/.program-types.md +57 -0
  159. package/src/components/chat/types/entities/.roadmap-item.md +58 -0
  160. package/src/components/chat/types/entities/.slack-message.md +35 -0
  161. package/src/components/chat/utils/.agent-status-message.md +45 -0
  162. package/src/components/chat/utils/.auto-continuation-directive.md +58 -0
  163. package/src/components/chat/utils/.chat-attachment-markdown.md +54 -0
  164. package/src/components/chat/utils/.chat-authed-fetch.md +25 -0
  165. package/src/components/chat/utils/.chat-nav-resolution.md +46 -0
  166. package/src/components/chat/utils/.chat-proxy-auth-storage.md +38 -0
  167. package/src/components/chat/utils/.chip-action-class.md +34 -0
  168. package/src/components/chat/utils/.chip-styles.md +46 -0
  169. package/src/components/chat/utils/.chunk-parser.md +38 -28
  170. package/src/components/chat/utils/.clickup-task-type-utils.md +48 -0
  171. package/src/components/chat/utils/.compact-card-classes.md +62 -0
  172. package/src/components/chat/utils/.decide-new-tab.md +51 -0
  173. package/src/components/chat/utils/.external-app-urls.md +29 -0
  174. package/src/components/chat/utils/.extract-incomplete-message-state.md +25 -29
  175. package/src/components/chat/utils/.flatten-assistant-content.md +34 -0
  176. package/src/components/chat/utils/.icon-registry.md +46 -0
  177. package/src/components/chat/utils/.index.md +37 -32
  178. package/src/components/chat/utils/.is-cross-origin-url.md +35 -0
  179. package/src/components/chat/utils/.message-segment-accumulator.md +25 -34
  180. package/src/components/chat/utils/.nav-anchor-props.md +44 -0
  181. package/src/components/chat/utils/.nav-click-handler.md +47 -0
  182. package/src/components/chat/utils/.onboarding-icons.md +28 -0
  183. package/src/components/chat/utils/.process-historical-messages.md +46 -35
  184. package/src/components/chat/utils/.scroll-anchor.md +40 -0
  185. package/src/components/chat/utils/.slash-dispatch-utils.md +44 -0
  186. package/src/components/chat/utils/.source-icons.md +35 -0
  187. package/src/components/chat/utils/.source-row-cta.md +54 -0
  188. package/src/components/chat/utils/.tool-call-helpers.md +42 -0
  189. package/src/components/contact/.contact-form.md +43 -0
  190. package/src/components/contact/.index.md +27 -0
  191. package/src/components/features/.array-entry-manager.md +36 -45
  192. package/src/components/features/.changelog-manager.md +47 -21
  193. package/src/components/features/.changelog-sections-manager.md +21 -26
  194. package/src/components/features/.command-box.md +31 -28
  195. package/src/components/features/.entity-summary-editor.md +46 -0
  196. package/src/components/features/.entity-video-section.md +51 -0
  197. package/src/components/features/.figma-prototype-viewer.md +48 -29
  198. package/src/components/features/.filters-dropdown.md +33 -46
  199. package/src/components/features/.highlight-config-section.md +42 -0
  200. package/src/components/features/.highlight-generation-section.md +46 -0
  201. package/src/components/features/.highlight-video-combined-section.md +47 -0
  202. package/src/components/features/.highlight-video-preview.md +44 -0
  203. package/src/components/features/.highlight-video-section.md +47 -0
  204. package/src/components/features/.index.md +40 -66
  205. package/src/components/features/.media-gallery-manager.md +48 -38
  206. package/src/components/features/.more-about-button.md +22 -19
  207. package/src/components/features/.og-editor-preview.md +40 -36
  208. package/src/components/features/.parallax-image-showcase.md +33 -26
  209. package/src/components/features/.paths-display.md +42 -43
  210. package/src/components/features/.platform-badge.md +37 -36
  211. package/src/components/features/.platform-filter.md +23 -16
  212. package/src/components/features/.policy-configuration-panel.md +48 -56
  213. package/src/components/features/.provider-button.md +33 -36
  214. package/src/components/features/.push-button-selector.md +40 -29
  215. package/src/components/features/.release-media-manager.md +46 -31
  216. package/src/components/features/.section-selector.md +26 -31
  217. package/src/components/features/.select-button.md +35 -25
  218. package/src/components/features/.seo-editor-preview.md +41 -44
  219. package/src/components/features/.social-links-manager.md +25 -19
  220. package/src/components/features/.start-with-openframe-button.md +37 -29
  221. package/src/components/features/.status-filter-component.md +36 -20
  222. package/src/components/features/.tags-selector.md +40 -24
  223. package/src/components/features/.transcribe-and-summarize-combined-section.md +45 -0
  224. package/src/components/features/.transcribe-summarize-section.md +48 -0
  225. package/src/components/features/.transcript-summary-editor.md +53 -0
  226. package/src/components/features/.video-bites-display.md +46 -0
  227. package/src/components/features/.video-clips-section.md +41 -0
  228. package/src/components/features/.video-ratio-tabs.md +56 -0
  229. package/src/components/features/.video-source-selector.md +60 -0
  230. package/src/components/features/.video.md +44 -0
  231. package/src/components/features/.waitlist-form.md +60 -0
  232. package/src/components/features/ai-enrich/.AIEnrichButton.md +30 -27
  233. package/src/components/features/ai-enrich/.AIEnrichSection.md +46 -42
  234. package/src/components/features/board/.board-column-header.md +38 -0
  235. package/src/components/features/board/.board-column.md +43 -0
  236. package/src/components/features/board/.board.md +51 -0
  237. package/src/components/features/board/.color-utils.md +26 -0
  238. package/src/components/features/board/.index.md +56 -0
  239. package/src/components/features/board/.ticket-card-skeleton.md +38 -0
  240. package/src/components/features/board/.ticket-card.md +47 -0
  241. package/src/components/features/board/.types.md +45 -0
  242. package/src/components/features/board/.use-board-collapse.md +34 -0
  243. package/src/components/features/notifications/.index.md +57 -0
  244. package/src/components/features/notifications/.notification-drawer.md +34 -0
  245. package/src/components/features/notifications/.notification-tile.md +39 -0
  246. package/src/components/features/notifications/.notifications-context.md +73 -0
  247. package/src/components/features/notifications/.types.md +45 -0
  248. package/src/components/icons/.about-icon.md +20 -28
  249. package/src/components/icons/.ai-robot-icon.md +15 -17
  250. package/src/components/icons/.bash-icon.md +16 -23
  251. package/src/components/icons/.buildings-icon.md +10 -24
  252. package/src/components/icons/.capterra-icon.md +30 -26
  253. package/src/components/icons/.carta-icon.md +29 -0
  254. package/src/components/icons/.clickup-icon.md +26 -0
  255. package/src/components/icons/.cmd-icon.md +15 -22
  256. package/src/components/icons/.coins-icon.md +17 -25
  257. package/src/components/icons/.community-hub-icon.md +19 -25
  258. package/src/components/icons/.community-icon.md +24 -21
  259. package/src/components/icons/.compare-icon.md +32 -19
  260. package/src/components/icons/.copy-icon.md +29 -15
  261. package/src/components/icons/.custom-external-link-icon.md +19 -17
  262. package/src/components/icons/.custom-fork-icon.md +32 -21
  263. package/src/components/icons/.custom-license-icon.md +29 -25
  264. package/src/components/icons/.custom-star-icon.md +20 -28
  265. package/src/components/icons/.custom-time-icon.md +21 -22
  266. package/src/components/icons/.cut-vendor-costs-icon.md +6 -19
  267. package/src/components/icons/.dashboard-icon.md +13 -18
  268. package/src/components/icons/.deno-icon.md +16 -23
  269. package/src/components/icons/.donut-icon.md +12 -23
  270. package/src/components/icons/.double-chevron-icon.md +28 -36
  271. package/src/components/icons/.elestio-logo.md +13 -23
  272. package/src/components/icons/.empty-vendor-icon.md +16 -18
  273. package/src/components/icons/.explore-categories-icon.md +18 -29
  274. package/src/components/icons/.eye-icon.md +16 -26
  275. package/src/components/icons/.facebook-icon.md +9 -20
  276. package/src/components/icons/.figma-icon.md +8 -17
  277. package/src/components/icons/.filter-icon.md +15 -17
  278. package/src/components/icons/.flamingo-logo.md +28 -27
  279. package/src/components/icons/.folder-shield-icon.md +28 -19
  280. package/src/components/icons/.g2-icon.md +22 -21
  281. package/src/components/icons/.getapp-icon.md +25 -21
  282. package/src/components/icons/.github-icon.md +13 -25
  283. package/src/components/icons/.globe-icon.md +14 -19
  284. package/src/components/icons/.google-gemini-icon.md +16 -19
  285. package/src/components/icons/.google-logo.md +15 -21
  286. package/src/components/icons/.grid-view-icon.md +30 -19
  287. package/src/components/icons/.hamburger-icon.md +22 -20
  288. package/src/components/icons/.hand-dollar-icon.md +24 -34
  289. package/src/components/icons/.hotel-icon.md +27 -21
  290. package/src/components/icons/.icon-utils.md +28 -29
  291. package/src/components/icons/.image-icon.md +15 -22
  292. package/src/components/icons/.index.md +25 -28
  293. package/src/components/icons/.info-circle-icon.md +29 -30
  294. package/src/components/icons/.instagram-icon.md +10 -24
  295. package/src/components/icons/.jump-in-icon.md +18 -18
  296. package/src/components/icons/.linux-icon.md +18 -18
  297. package/src/components/icons/.log-out-icon.md +15 -23
  298. package/src/components/icons/.logs-icon.md +14 -23
  299. package/src/components/icons/.margin-crisis-icon.md +21 -20
  300. package/src/components/icons/.menu-icon.md +18 -19
  301. package/src/components/icons/.miami-cyber-gang-logo-face-only.md +18 -21
  302. package/src/components/icons/.miami-cyber-gang-logo.md +22 -14
  303. package/src/components/icons/.mlg-logo.md +18 -16
  304. package/src/components/icons/.moon-icon.md +32 -22
  305. package/src/components/icons/.ms-icon.md +30 -19
  306. package/src/components/icons/.nushell-icon.md +7 -21
  307. package/src/components/icons/.open-source-icon.md +19 -23
  308. package/src/components/icons/.openai-icon.md +9 -24
  309. package/src/components/icons/.openframe-ai-icons.md +25 -26
  310. package/src/components/icons/.openframe-logo.md +28 -22
  311. package/src/components/icons/.openframe-text.md +24 -27
  312. package/src/components/icons/.openmsp-logo.md +26 -23
  313. package/src/components/icons/.pilot-icon.md +23 -0
  314. package/src/components/icons/.powershell-icon.md +17 -22
  315. package/src/components/icons/.python-icon.md +16 -23
  316. package/src/components/icons/.queries-icon.md +13 -21
  317. package/src/components/icons/.reddit-icon.md +28 -24
  318. package/src/components/icons/.remote-control-icon.md +13 -17
  319. package/src/components/icons/.script-icon.md +27 -19
  320. package/src/components/icons/.search-icon.md +21 -21
  321. package/src/components/icons/.send-icon.md +14 -16
  322. package/src/components/icons/.settings-icon.md +30 -19
  323. package/src/components/icons/.shape-circle-dash-icon.md +16 -21
  324. package/src/components/icons/.shell-icon.md +15 -19
  325. package/src/components/icons/.shield-check-icon.md +18 -31
  326. package/src/components/icons/.shield-key-icon.md +25 -25
  327. package/src/components/icons/.shield-lock-icon.md +8 -18
  328. package/src/components/icons/.slack-icon.md +28 -32
  329. package/src/components/icons/.sparkles-icon.md +18 -23
  330. package/src/components/icons/.sso-configuration-icon.md +29 -16
  331. package/src/components/icons/.sun-icon.md +20 -18
  332. package/src/components/icons/.table-view-icon.md +17 -19
  333. package/src/components/icons/.telegram-icon.md +8 -22
  334. package/src/components/icons/.thumbs-down-icon.md +10 -19
  335. package/src/components/icons/.thumbs-up-icon.md +8 -17
  336. package/src/components/icons/.tool-directory-icons.md +24 -28
  337. package/src/components/icons/.trustpilot-icon.md +25 -22
  338. package/src/components/icons/.user-icon.md +26 -28
  339. package/src/components/icons/.users-group-icon.md +28 -24
  340. package/src/components/icons/.vendor-showcase-icons.md +21 -29
  341. package/src/components/icons/.vendors-icon.md +18 -22
  342. package/src/components/icons/.whatsapp-icon.md +30 -14
  343. package/src/components/icons/.x-icon.md +18 -23
  344. package/src/components/icons/.x-logo.md +13 -38
  345. package/src/components/icons/.youtube-icon.md +8 -19
  346. package/src/components/icons/device-type-icons/.get-device-type-icon.md +26 -34
  347. package/src/components/icons-v2-generated/.index.md +52 -0
  348. package/src/components/icons-v2-generated/alphabet/.index.md +33 -0
  349. package/src/components/icons-v2-generated/arrows/.index.md +39 -0
  350. package/src/components/icons-v2-generated/audio-and-visual/.index.md +40 -0
  351. package/src/components/icons-v2-generated/brand-logos/.elestio-logo-icon.md +40 -0
  352. package/src/components/icons-v2-generated/brand-logos/.gemini-logo-icon.md +37 -0
  353. package/src/components/icons-v2-generated/brand-logos/.google-gemini-logo-icon.md +33 -0
  354. package/src/components/icons-v2-generated/brand-logos/.index.md +38 -0
  355. package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-grey-icon.md +35 -0
  356. package/src/components/icons-v2-generated/brand-logos/.meshcentral-logo-icon.md +36 -0
  357. package/src/components/icons-v2-generated/buildings/.index.md +48 -0
  358. package/src/components/icons-v2-generated/charts/.index.md +40 -0
  359. package/src/components/icons-v2-generated/clothes/.index.md +48 -0
  360. package/src/components/icons-v2-generated/coding/.index.md +42 -0
  361. package/src/components/icons-v2-generated/communication/.index.md +39 -0
  362. package/src/components/icons-v2-generated/date-and-time/.index.md +29 -0
  363. package/src/components/icons-v2-generated/design/.index.md +39 -0
  364. package/src/components/icons-v2-generated/devices/.index.md +38 -0
  365. package/src/components/icons-v2-generated/documents/.index.md +38 -0
  366. package/src/components/icons-v2-generated/finance/.index.md +34 -0
  367. package/src/components/icons-v2-generated/food-and-drinks/.index.md +34 -0
  368. package/src/components/icons-v2-generated/food-and-drinks/.leafy-green-icon.md +36 -0
  369. package/src/components/icons-v2-generated/food-and-drinks/.strawberry-icon.md +39 -0
  370. package/src/components/icons-v2-generated/health/.index.md +40 -0
  371. package/src/components/icons-v2-generated/household/.index.md +45 -0
  372. package/src/components/icons-v2-generated/interface/.index.md +36 -0
  373. package/src/components/icons-v2-generated/map-and-travel/.index.md +41 -0
  374. package/src/components/icons-v2-generated/media-playback/.index.md +51 -0
  375. package/src/components/icons-v2-generated/number/.index.md +41 -0
  376. package/src/components/icons-v2-generated/school/.index.md +37 -0
  377. package/src/components/icons-v2-generated/security/.fingerprint-icon.md +38 -0
  378. package/src/components/icons-v2-generated/security/.index.md +39 -0
  379. package/src/components/icons-v2-generated/shopping/.index.md +42 -0
  380. package/src/components/icons-v2-generated/signs-and-symbols/.index.md +32 -0
  381. package/src/components/icons-v2-generated/sort-and-filter/.index.md +35 -0
  382. package/src/components/icons-v2-generated/sport/.index.md +41 -0
  383. package/src/components/icons-v2-generated/text-editor/.index.md +44 -0
  384. package/src/components/icons-v2-generated/users/.index.md +45 -0
  385. package/src/components/icons-v2-generated/vehicles-and-delivery/.index.md +36 -0
  386. package/src/components/icons-v2-generated/weather-and-nature/.flower-sakura-icon.md +36 -0
  387. package/src/components/icons-v2-generated/weather-and-nature/.index.md +34 -0
  388. package/src/components/layout/.article-detail-layout.md +43 -0
  389. package/src/components/layout/.back-button.md +40 -0
  390. package/src/components/layout/.list-page-layout.md +35 -26
  391. package/src/components/layout/.page-container.md +27 -38
  392. package/src/components/layout/.page-layout.md +50 -0
  393. package/src/components/layout/.title-block.md +42 -0
  394. package/src/components/loading/.card-skeleton.md +38 -29
  395. package/src/components/loading/.device-card-skeleton.md +29 -25
  396. package/src/components/loading/.index.md +39 -46
  397. package/src/components/loading/.margin-report-skeleton.md +45 -34
  398. package/src/components/loading/.organization-card-skeleton.md +39 -44
  399. package/src/components/loading/.page-layout-skeleton.md +34 -45
  400. package/src/components/loading/.unified-skeleton.md +62 -36
  401. package/src/components/navigation/.app-header.md +40 -29
  402. package/src/components/navigation/.app-layout.md +25 -26
  403. package/src/components/navigation/.header-global-search.md +34 -37
  404. package/src/components/navigation/.header-organization-filter.md +23 -22
  405. package/src/components/navigation/.header.md +31 -35
  406. package/src/components/navigation/.mobile-burger-menu.md +39 -47
  407. package/src/components/navigation/.mobile-nav-panel.md +51 -32
  408. package/src/components/navigation/.navigation-sidebar-header.md +36 -0
  409. package/src/components/navigation/.navigation-sidebar-item.md +45 -0
  410. package/src/components/navigation/.navigation-sidebar-toggle.md +38 -0
  411. package/src/components/navigation/.navigation-sidebar.md +33 -34
  412. package/src/components/navigation/.sliding-sidebar.md +52 -41
  413. package/src/components/navigation/.sticky-section-nav.md +56 -48
  414. package/src/components/platform/.ScriptArguments.md +39 -25
  415. package/src/components/platform/.ScriptInfoSection.md +30 -26
  416. package/src/components/platform/.ShellTypeBadge.md +18 -13
  417. package/src/components/platform/.SoftwareInfo.md +23 -27
  418. package/src/components/platform/.SoftwareSourceBadge.md +28 -19
  419. package/src/components/platform/.ToolBadge.md +25 -26
  420. package/src/components/providers/.theme-provider.md +52 -0
  421. package/src/components/shared/delivery/.delivery-lists.md +39 -0
  422. package/src/components/shared/delivery/.delivery-row.md +41 -0
  423. package/src/components/shared/delivery/.delivery-table.md +41 -0
  424. package/src/components/shared/delivery/.index.md +38 -0
  425. package/src/components/shared/dev-section/.dev-card-row.md +60 -0
  426. package/src/components/shared/dev-section/.dev-section-page.md +48 -0
  427. package/src/components/shared/dev-section/.dev-section-view.md +43 -0
  428. package/src/components/shared/dev-section/.index.md +38 -0
  429. package/src/components/shared/legal-document/.index.md +40 -0
  430. package/src/components/shared/legal-document/.legal-document-page.md +50 -0
  431. package/src/components/shared/legal-document/.use-legal-docs.md +42 -0
  432. package/src/components/shared/onboarding/.onboarding-step-card.md +32 -31
  433. package/src/components/shared/onboarding/.onboarding-walkthrough.md +39 -43
  434. package/src/components/shared/product-release/.index.md +28 -30
  435. package/src/components/shared/product-release/.product-release-card-skeleton.md +28 -28
  436. package/src/components/shared/product-release/.product-release-card.md +45 -27
  437. package/src/components/shared/product-release/.release-detail-page.md +23 -24
  438. package/src/components/shared/roadmap/.index.md +37 -0
  439. package/src/components/shared/roadmap/.roadmap-grid-skeleton.md +39 -0
  440. package/src/components/shared/roadmap/.roadmap-grid.md +66 -0
  441. package/src/components/shared/roadmap/.use-roadmap-voting.md +68 -0
  442. package/src/components/tickets/.help-center-card.md +51 -0
  443. package/src/components/tickets/.help-center-create-form.md +38 -0
  444. package/src/components/tickets/.help-center-list.md +40 -0
  445. package/src/components/tickets/.index.md +65 -0
  446. package/src/components/tickets/.ticket-center.md +51 -0
  447. package/src/components/tickets/.ticket-detail-drawer.md +48 -0
  448. package/src/components/tickets/.ticket-linked-delivery-card.md +36 -0
  449. package/src/components/tickets/.ticket-open-form.md +50 -0
  450. package/src/components/tickets/.ticket-row.md +30 -0
  451. package/src/components/tickets/.types.md +57 -0
  452. package/src/components/tickets/hooks/.use-ticket-actions.md +77 -0
  453. package/src/components/tickets/hooks/.use-ticket-engagements.md +42 -0
  454. package/src/components/tickets/hooks/.use-tickets-list.md +54 -0
  455. package/src/components/ui/.actions-menu.md +66 -41
  456. package/src/components/ui/.alert-dialog.md +29 -26
  457. package/src/components/ui/.allowed-domains-input.md +29 -21
  458. package/src/components/ui/.assignee-dropdown.md +45 -0
  459. package/src/components/ui/.autocomplete.md +47 -41
  460. package/src/components/ui/.benefit-card.md +51 -36
  461. package/src/components/ui/.brand-association-card.md +30 -27
  462. package/src/components/ui/.breadcrumb.md +17 -15
  463. package/src/components/ui/.checkbox-block.md +39 -35
  464. package/src/components/ui/.checkbox-with-description.md +23 -16
  465. package/src/components/ui/.checkbox.md +31 -23
  466. package/src/components/ui/.circular-progress.md +49 -19
  467. package/src/components/ui/.content-loader.md +32 -20
  468. package/src/components/ui/.cursor-pagination.md +41 -52
  469. package/src/components/ui/.dashboard-info-card.md +33 -26
  470. package/src/components/ui/.date-picker.md +27 -25
  471. package/src/components/ui/.device-card-compact.md +28 -29
  472. package/src/components/ui/.device-card.md +27 -27
  473. package/src/components/ui/.dialog.md +25 -16
  474. package/src/components/ui/.drawer.md +86 -0
  475. package/src/components/ui/.dropdown-button.md +45 -0
  476. package/src/components/ui/.entity-image.md +46 -0
  477. package/src/components/ui/.error-state.md +41 -28
  478. package/src/components/ui/.feature-card.md +35 -31
  479. package/src/components/ui/.feature-list.md +48 -0
  480. package/src/components/ui/.field-wrapper.md +47 -0
  481. package/src/components/ui/.file-upload.md +42 -0
  482. package/src/components/ui/.filter-checkbox-item.md +43 -0
  483. package/src/components/ui/.filter-list.md +57 -0
  484. package/src/components/ui/.filter-modal.md +59 -0
  485. package/src/components/ui/.floating-tooltip.md +43 -26
  486. package/src/components/ui/.hidden-tags-popup.md +49 -0
  487. package/src/components/ui/.hover-dropdown.md +54 -0
  488. package/src/components/ui/.image-gallery-modal.md +41 -34
  489. package/src/components/ui/.image-uploader.md +53 -0
  490. package/src/components/ui/.index.md +40 -34
  491. package/src/components/ui/.info-card.md +31 -31
  492. package/src/components/ui/.info-row.md +31 -27
  493. package/src/components/ui/.input-trigger.md +44 -0
  494. package/src/components/ui/.input.md +37 -31
  495. package/src/components/ui/.markdown-editor.md +57 -0
  496. package/src/components/ui/.modal-v2.md +51 -0
  497. package/src/components/ui/.modal.md +32 -31
  498. package/src/components/ui/.more-actions-menu.md +45 -38
  499. package/src/components/ui/.organization-card.md +31 -37
  500. package/src/components/ui/.page-actions.md +44 -54
  501. package/src/components/ui/.phone-input.md +54 -0
  502. package/src/components/ui/.progress-bar.md +35 -27
  503. package/src/components/ui/.radio-group.md +39 -27
  504. package/src/components/ui/.release-changelog-section.md +34 -34
  505. package/src/components/ui/.search-input.md +48 -0
  506. package/src/components/ui/.select.md +54 -34
  507. package/src/components/ui/.service-card.md +42 -40
  508. package/src/components/ui/.sheet.md +27 -18
  509. package/src/components/ui/.simple-markdown-renderer.md +29 -31
  510. package/src/components/ui/.sort-column-item.md +42 -0
  511. package/src/components/ui/.square-avatar.md +34 -24
  512. package/src/components/ui/.status-badge.md +26 -38
  513. package/src/components/ui/.switch.md +22 -35
  514. package/src/components/ui/.tab-navigation.md +56 -53
  515. package/src/components/ui/.tab-selector.md +40 -0
  516. package/src/components/ui/.tag-key-value-filter.md +56 -0
  517. package/src/components/ui/.tag-search-input.md +53 -0
  518. package/src/components/ui/.tag.md +49 -31
  519. package/src/components/ui/.tags-manager.md +60 -0
  520. package/src/components/ui/.textarea.md +44 -34
  521. package/src/components/ui/.ticket-attachments-list.md +45 -0
  522. package/src/components/ui/.ticket-detail-section.md +29 -0
  523. package/src/components/ui/.ticket-info-section.md +56 -0
  524. package/src/components/ui/.ticket-note-card.md +53 -0
  525. package/src/components/ui/.ticket-notes-section.md +54 -0
  526. package/src/components/ui/.ticket-status-tag.md +49 -0
  527. package/src/components/ui/.title-content-block.md +25 -26
  528. package/src/components/ui/.toaster.md +40 -28
  529. package/src/components/ui/.tooltip.md +22 -11
  530. package/src/components/ui/.truncate-text.md +39 -0
  531. package/src/components/ui/button/.button-styles.md +35 -0
  532. package/src/components/ui/button/.button.md +53 -0
  533. package/src/components/ui/button/.split-button.md +48 -0
  534. package/src/components/ui/data-table/.data-table-body.md +48 -0
  535. package/src/components/ui/data-table/.data-table-column-filter.md +45 -0
  536. package/src/components/ui/data-table/.data-table-cursor-footer.md +45 -0
  537. package/src/components/ui/data-table/.data-table-empty.md +43 -0
  538. package/src/components/ui/data-table/.data-table-header.md +55 -0
  539. package/src/components/ui/data-table/.data-table-infinite-footer.md +44 -0
  540. package/src/components/ui/data-table/.data-table-row-count.md +43 -0
  541. package/src/components/ui/data-table/.data-table-row.md +47 -0
  542. package/src/components/ui/data-table/.data-table-skeleton.md +42 -0
  543. package/src/components/ui/data-table/.data-table.md +47 -0
  544. package/src/components/ui/data-table/.index.md +55 -0
  545. package/src/components/ui/data-table/.types.md +54 -0
  546. package/src/components/ui/data-table/.use-data-table.md +45 -0
  547. package/src/components/ui/data-table/.utils.md +38 -0
  548. package/src/components/ui/file-manager/.file-manager-action-bar.md +39 -30
  549. package/src/components/ui/file-manager/.file-manager-breadcrumb.md +29 -27
  550. package/src/components/ui/file-manager/.file-manager-context-menu.md +38 -42
  551. package/src/components/ui/file-manager/.file-manager-empty.md +26 -39
  552. package/src/components/ui/file-manager/.file-manager-table-row.md +33 -41
  553. package/src/components/ui/file-manager/.file-manager.md +35 -31
  554. package/src/components/ui/query-report-table/.index.md +43 -0
  555. package/src/components/ui/query-report-table/.query-report-table-header.md +36 -0
  556. package/src/components/ui/query-report-table/.query-report-table-row.md +40 -0
  557. package/src/components/ui/query-report-table/.query-report-table-skeleton.md +44 -0
  558. package/src/components/ui/query-report-table/.query-report-table.md +47 -0
  559. package/src/components/ui/query-report-table/.types.md +41 -0
  560. package/src/components/ui/query-report-table/.utils.md +35 -0
  561. package/src/components/ui/table/.index.md +27 -48
  562. package/src/components/ui/table/.table-cell.md +18 -27
  563. package/src/components/ui/table/.table-column-filter-dropdown.md +40 -0
  564. package/src/components/ui/table/.table-description-cell.md +24 -14
  565. package/src/components/ui/table/.table-empty-state.md +21 -22
  566. package/src/components/ui/table/.table-header.md +25 -40
  567. package/src/components/ui/table/.table-row.md +22 -40
  568. package/src/components/ui/table/.table-skeleton.md +33 -26
  569. package/src/components/ui/table/.table-timestamp-cell.md +26 -16
  570. package/src/components/ui/table/.table.md +39 -59
  571. package/src/components/ui/table/.types.md +44 -36
  572. package/src/components/ui/table/.utils.md +18 -20
  573. package/src/contexts/.chat-runtime-context.md +54 -0
  574. package/src/contexts/.endpoints-runtime-context.md +58 -0
  575. package/src/contexts/.index.md +53 -0
  576. package/src/contexts/.use-outer-or-default.md +36 -0
  577. package/src/embed-shims/.index.md +45 -0
  578. package/src/embed-shims/.next-dynamic.md +43 -0
  579. package/src/embed-shims/.next-image.md +45 -0
  580. package/src/embed-shims/.next-link.md +59 -0
  581. package/src/embed-shims/.next-navigation.md +59 -0
  582. package/src/hooks/.index.md +34 -29
  583. package/src/hooks/.use-access-code-integration.md +49 -0
  584. package/src/hooks/.use-contact-submission.md +37 -26
  585. package/src/hooks/.use-copy-to-clipboard.md +42 -0
  586. package/src/hooks/.use-near-viewport.md +44 -0
  587. package/src/hooks/.use-og-placeholder.md +51 -0
  588. package/src/hooks/.use-toast.md +36 -35
  589. package/src/hooks/state/.use-api-params.md +29 -46
  590. package/src/hooks/state/.use-query-params.md +37 -33
  591. package/src/hooks/ui/.index.md +33 -32
  592. package/src/hooks/ui/.use-auto-limit-tags.md +54 -0
  593. package/src/hooks/ui/.use-horizontal-scrollbar.md +74 -0
  594. package/src/hooks/ui/.use-image-edge-color.md +42 -0
  595. package/src/hooks/ui/.use-media-query.md +33 -25
  596. package/src/hooks/ui/.use-search.md +51 -0
  597. package/src/nats/.nats.md +49 -28
  598. package/src/schemas/.contact-schema.md +45 -0
  599. package/src/stories/.AnnouncementBar.stories.md +45 -0
  600. package/src/stories/.AppLayout.stories.md +20 -21
  601. package/src/stories/.Autocomplete.stories.md +48 -34
  602. package/src/stories/.Board.stories.md +35 -0
  603. package/src/stories/.Button.stories.md +36 -33
  604. package/src/stories/.ChatTicketList.stories.md +33 -0
  605. package/src/stories/.CheckboxBlock.stories.md +40 -28
  606. package/src/stories/.ContentLoader.stories.md +47 -0
  607. package/src/stories/.DashboardInfoCard.stories.md +57 -0
  608. package/src/stories/.DataTable.stories.md +41 -0
  609. package/src/stories/.DatePicker.stories.md +66 -52
  610. package/src/stories/.DeviceCard.stories.md +41 -40
  611. package/src/stories/.DeviceCardCompact.stories.md +41 -0
  612. package/src/stories/.DotsLoaderIcon.stories.md +36 -0
  613. package/src/stories/.Drawer.stories.md +58 -0
  614. package/src/stories/.EmbeddableChat.stories.md +41 -0
  615. package/src/stories/.FileManager.stories.md +41 -0
  616. package/src/stories/.FileManagerActionBar.stories.md +38 -0
  617. package/src/stories/.FileUpload.stories.md +53 -0
  618. package/src/stories/.FilterList.stories.md +54 -0
  619. package/src/stories/.FilterModal.stories.md +72 -0
  620. package/src/stories/.FiltersDropdown.stories.md +57 -0
  621. package/src/stories/.Header.stories.md +48 -0
  622. package/src/stories/.ImageUploader.stories.md +49 -0
  623. package/src/stories/.InfoCard.stories.md +54 -0
  624. package/src/stories/.Input.stories.md +48 -30
  625. package/src/stories/.ListPageLayout.stories.md +56 -43
  626. package/src/stories/.MingoOnboardingCard.stories.md +42 -0
  627. package/src/stories/.MingoOnboardingCardSkeleton.stories.md +35 -0
  628. package/src/stories/.Modal.stories.md +40 -31
  629. package/src/stories/.NotificationDrawer.stories.md +55 -0
  630. package/src/stories/.OnboardingStepCard.stories.md +41 -0
  631. package/src/stories/.OrganizationCard.stories.md +61 -0
  632. package/src/stories/.PageActions.stories.md +52 -49
  633. package/src/stories/.PageContainer.stories.md +41 -35
  634. package/src/stories/.PageLayout.stories.md +60 -0
  635. package/src/stories/.ParallaxImageShowcase.stories.md +49 -0
  636. package/src/stories/.PhoneInput.stories.md +53 -0
  637. package/src/stories/.QueryReportTable.stories.md +44 -0
  638. package/src/stories/.RadioGroup.stories.md +46 -0
  639. package/src/stories/.RadioGroupBlock.stories.md +45 -0
  640. package/src/stories/.Select.stories.md +29 -15
  641. package/src/stories/.SlashCommandSuggestions.stories.md +41 -0
  642. package/src/stories/.SplitButton.stories.md +62 -0
  643. package/src/stories/.TabNavigation.stories.md +47 -38
  644. package/src/stories/.TabSelector.stories.md +65 -0
  645. package/src/stories/.Table.stories.md +38 -46
  646. package/src/stories/.TableColumnFilterDropdown.stories.md +46 -0
  647. package/src/stories/.Tag.stories.md +43 -32
  648. package/src/stories/.TagKeyValueFilter.stories.md +44 -0
  649. package/src/stories/.TagSearchInput.stories.md +61 -0
  650. package/src/stories/.Textarea.stories.md +49 -26
  651. package/src/stories/.Theme.stories.md +41 -0
  652. package/src/stories/.TicketAttachmentsList.stories.md +39 -0
  653. package/src/stories/.TicketDescriptionViewer.stories.md +39 -0
  654. package/src/stories/.TicketInfoSection.stories.md +40 -0
  655. package/src/stories/.TicketKnowledgeBaseList.stories.md +36 -0
  656. package/src/stories/.TicketNotesSection.stories.md +50 -0
  657. package/src/stories/.Toaster.stories.md +40 -0
  658. package/src/stories/.ToolExecutionDisplay.stories.md +41 -0
  659. package/src/stories/.Tooltip.stories.md +41 -0
  660. package/src/stories/.UserSummary.stories.md +41 -0
  661. package/src/stories/.WaitlistForm.stories.md +42 -0
  662. package/src/stories/BlogCard.stories.tsx +61 -0
  663. package/src/stories/CampaignCardAdmin.stories.tsx +52 -0
  664. package/src/stories/CaseStudyCard.stories.tsx +42 -0
  665. package/src/stories/ChatContainer.stories.tsx +186 -0
  666. package/src/stories/ChatInlineVideoPill.stories.tsx +63 -0
  667. package/src/stories/CustomerInterviewCard.stories.tsx +42 -0
  668. package/src/stories/DataRoomDocCard.stories.tsx +52 -0
  669. package/src/stories/GenericEntityCard.stories.tsx +66 -0
  670. package/src/stories/GitHubActivityCard.stories.tsx +61 -0
  671. package/src/stories/HubspotTicketCard.stories.tsx +98 -0
  672. package/src/stories/InvestorUpdateCard.stories.tsx +42 -0
  673. package/src/stories/OnboardingGuideCard.stories.tsx +52 -0
  674. package/src/stories/ProductReleaseCard.stories.tsx +61 -0
  675. package/src/stories/ProgramCard.stories.tsx +79 -0
  676. package/src/stories/RoadmapCard.stories.tsx +75 -0
  677. package/src/stories/SlackMessageCard.stories.tsx +41 -0
  678. package/src/stories/__fixtures__/chat-cards.ts +604 -0
  679. package/src/types/.blog.md +53 -29
  680. package/src/types/.case-study.md +44 -27
  681. package/src/types/.customer-interview.md +66 -44
  682. package/src/types/.delivery.md +40 -0
  683. package/src/types/.employee.md +24 -30
  684. package/src/types/.index.md +33 -47
  685. package/src/types/.marketing.md +49 -44
  686. package/src/types/.navigation.md +33 -25
  687. package/src/types/.os.types.md +32 -27
  688. package/src/types/.platform.md +31 -28
  689. package/src/types/.product-release.md +65 -38
  690. package/src/types/.supabase.md +37 -29
  691. package/src/types/.team.md +41 -33
  692. package/src/types/.video-processing.md +54 -0
  693. package/src/types/.waitlist.md +40 -36
  694. package/src/utils/.access-code-client.md +37 -36
  695. package/src/utils/.cn.md +31 -23
  696. package/src/utils/.color-analysis.md +35 -0
  697. package/src/utils/.country-phone-utils.md +39 -0
  698. package/src/utils/.date-formatters.md +19 -18
  699. package/src/utils/.embed-authed-fetch.md +39 -0
  700. package/src/utils/.embed-proxy-auth-storage.md +38 -0
  701. package/src/utils/.fetch-priority.md +41 -0
  702. package/src/utils/.format.md +74 -25
  703. package/src/utils/.generic-domain-utils.md +42 -0
  704. package/src/utils/.image-proxy.md +59 -23
  705. package/src/utils/.index.md +42 -49
  706. package/src/utils/.local-storage-adapter.md +50 -0
  707. package/src/utils/.ods-color-utils.md +55 -38
  708. package/src/utils/.platform-config.md +45 -25
  709. package/src/utils/.scroll-into-view.md +40 -0
  710. package/src/utils/.source-icons.md +53 -0
  711. package/src/utils/.sse-decision-frame.md +46 -0
  712. package/src/utils/dev-sections/.index.md +34 -0
  713. package/src/utils/dev-sections/.openframe-dev-sections.md +49 -0
  714. package/dist/chunk-ZDF6F7ED.cjs.map +0 -1
  715. package/dist/chunk-ZTJVRSN5.js.map +0 -1
  716. package/src/components/.card.md +0 -42
  717. package/src/components/.contact-button.md +0 -30
  718. package/src/components/.drawer.md +0 -46
  719. package/src/components/.fixed-layout-container.md +0 -47
  720. package/src/components/.footer-waitlist-card.md +0 -29
  721. package/src/components/.join-waitlist-cta.md +0 -29
  722. package/src/components/.sheet.md +0 -47
  723. package/src/components/.sliding-panel.md +0 -48
  724. package/src/components/.tooltip.md +0 -48
  725. package/src/components/.use-mobile.md +0 -42
  726. package/src/components/.vendor-compact-card.md +0 -66
  727. package/src/components/.x-button.md +0 -42
  728. package/src/components/features/.github-repo-button.md +0 -40
  729. package/src/components/features/.organization-icon.md +0 -47
  730. package/src/components/features/.organization-selector.md +0 -45
  731. package/src/components/icons/.fleet-icon.md +0 -39
  732. package/src/components/icons/.meshcentral-icon.md +0 -35
  733. package/src/components/icons/.refresh-icon.md +0 -34
  734. package/src/components/icons/.tactical-icon.md +0 -35
  735. package/src/components/ui/.button.md +0 -69
  736. package/src/components/ui/.log-table-row.md +0 -47
  737. package/src/components/ui/.selectable-device-card.md +0 -46
  738. package/src/hooks/.api-hooks-stub.md +0 -45
  739. package/src/hooks/api/.use-product-releases.md +0 -53
  740. package/src/stories/.OrganizationSelector.stories.md +0 -42
  741. package/src/stories/.SelectableDeviceCard.stories.md +0 -30
  742. package/src/utils/.lite-youtube-embed-stub.md +0 -37
  743. package/src/utils/.lite-youtube-embed.md +0 -33
  744. /package/dist/{chunk-3JWIJJ44.js.map → chunk-5OWDOFKK.js.map} +0 -0
  745. /package/dist/{chunk-IK2X5YJU.js.map → chunk-HWY35EAK.js.map} +0 -0
@@ -0,0 +1,60 @@
1
+ <!-- source-hash: cbf092b126eb212162fd68f7341c0c6d -->
2
+ A React hook that manages Server-Sent Events (SSE) streaming for chat messages, handling abort control, error states, and async generator-based chunk processing.
3
+
4
+ ## Key Components
5
+
6
+ ### Types & Interfaces
7
+
8
+ | Export | Description |
9
+ |--------|-------------|
10
+ | `StreamFnExtraOptions` | Per-call options: `commandOverride`, `approvalAction` (tool approval/rejection routing), `pendingAttachments` (chat file uploads) |
11
+ | `StreamFn` | Async generator signature `(message, signal?, extra?) => AsyncGenerator<MessageSegment>` |
12
+ | `UseSSEOptions` | Hook config: `useMock`, `debugMode`, `streamFn` |
13
+
14
+ ### Hook Return Values
15
+
16
+ | Value | Type | Description |
17
+ |-------|------|-------------|
18
+ | `streamMessage` | `AsyncGenerator fn` | Initiates streaming with fresh `AbortController` per call |
19
+ | `isStreaming` | `boolean` | Streaming in-progress state |
20
+ | `error` | `string \| null` | Last error message (AbortErrors are suppressed) |
21
+ | `abort` | `() => void` | Cancels active stream and terminates upstream fetch |
22
+ | `reset` | `() => void` | Resets hook state |
23
+
24
+ ## Usage Example
25
+
26
+ ```typescript
27
+ import { useSSE } from './use-sse'
28
+ import { createDocStreamFn } from './use-embedded-chat'
29
+
30
+ function ChatComponent() {
31
+ const streamFn = createDocStreamFn({ sessionId: 'abc123' })
32
+ const { streamMessage, isStreaming, error, abort } = useSSE({
33
+ useMock: false,
34
+ streamFn,
35
+ })
36
+
37
+ const handleSend = async (message: string) => {
38
+ for await (const chunk of streamMessage(message, {
39
+ commandOverride: { command: '/discuss', payload: cardId },
40
+ pendingAttachments: stagedFiles,
41
+ })) {
42
+ appendChunk(chunk)
43
+ }
44
+ }
45
+
46
+ return (
47
+ <>
48
+ <button onClick={() => handleSend('Hello')}>Send</button>
49
+ {isStreaming && <button onClick={abort}>Stop</button>}
50
+ {error && <p>{error}</p>}
51
+ </>
52
+ )
53
+ }
54
+ ```
55
+
56
+ ## Notes
57
+
58
+ - `useMock: true` without a `streamFn` throws loudly by design — mock implementations must be provided by the host application
59
+ - `AbortController` is created fresh per `streamMessage` call; the ref guards against race conditions in rapid send→stop→send sequences
60
+ - `approvalAction` routes to `/api/chat/agent/confirm-tool` instead of `/api/docs/chat` for tool approval flows
@@ -0,0 +1,57 @@
1
+ <!-- source-hash: 5f44f9c9a190ae929c177b9308e2bf01 -->
2
+ Single public entry-point hook that dispatches chat state and actions to either the SSE/Guide or NATS/Mingo transport adapter based on the active mode, while always satisfying React's rules of hooks by keeping both adapters mounted.
3
+
4
+ ## Key Components
5
+
6
+ | Export | Type | Description |
7
+ |--------|------|-------------|
8
+ | `useUnifiedChat` | Hook | Primary hook — returns a stable `UnifiedChatState` for the active transport |
9
+ | `ChatMode` | Type | `'guide'` (SSE) or `'mingo'` (NATS) |
10
+ | `UseUnifiedChatModes` | Interface | Per-mode config slots; each is optional |
11
+ | `UseUnifiedChatOptions` | Interface | `{ modes, activeMode }` passed to the hook |
12
+
13
+ ## Architecture
14
+
15
+ ```mermaid
16
+ graph TD
17
+ Consumer["Consumer Component"] --> UUC["useUnifiedChat"]
18
+ UUC --> SSE["useSseChatAdapter\n(guide mode)"]
19
+ UUC --> NATS["useNatsChatAdapter\n(mingo mode)"]
20
+ SSE -->|"active when guide"| ActiveState["UnifiedChatState\n(returned)"]
21
+ NATS -->|"active when mingo"| ActiveState
22
+ SSE -.->|"idle / buffered"| Inactive["Inactive Adapter\n(state preserved)"]
23
+ NATS -.->|"idle / buffered"| Inactive
24
+ ```
25
+
26
+ ## Usage Example
27
+
28
+ ```typescript
29
+ // Guide-only consumer
30
+ const chat = useUnifiedChat({
31
+ activeMode: 'guide',
32
+ modes: {
33
+ guide: { /* UseSseChatAdapterOptions */ },
34
+ },
35
+ })
36
+
37
+ // Dual-mode consumer (mode toggle lives in the shell component)
38
+ const chat = useUnifiedChat({
39
+ activeMode: currentMode, // 'guide' | 'mingo'
40
+ modes: {
41
+ guide: {},
42
+ mingo: {
43
+ dialogId: 'dialog-abc',
44
+ getNatsWsUrl: () => 'wss://nats.example.com',
45
+ publishUserMessage: async (msg) => publishToNats(msg),
46
+ },
47
+ },
48
+ })
49
+
50
+ chat.sendMessage('How do I reset a password?')
51
+ ```
52
+
53
+ ## Key Behaviours
54
+
55
+ - **Both adapters always mount** — inactive adapter holds its message buffer, so flipping `activeMode` restores the user to exactly where they left off in each conversation.
56
+ - **Disabled fallback** — if a mode's config slot is `undefined`, a stable no-op default is injected (ref-stabilised for NATS, constant for SSE) to prevent hook churn.
57
+ - **Stable return identity** — all callbacks are `useCallback`-wrapped and the final object is `useMemo`-stabilised; consumers receive a referentially stable `UnifiedChatState` on every render.
@@ -1,48 +1,62 @@
1
- <!-- source-hash: a73867ba07ef4db1732d63872e920f29 -->
2
- Comprehensive TypeScript definitions for API interactions and React hooks in a chat system with real-time messaging capabilities. Includes types for NATS subscriptions, chunk processing, dialog management, and approval workflows.
1
+ <!-- source-hash: 60ad035125eceb97fa074f58783d5bc8 -->
2
+ Defines TypeScript interfaces for API interactions and React hook contracts used across Flamingo's chat and dialog systems, covering NATS/JetStream subscriptions, real-time chunk processing, and REST-style request/response shapes.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Hook Options:**
7
- - `UseChunkCatchupOptions` - Configuration for catching up on missed message chunks
8
- - `UseNatsDialogSubscriptionOptions` - NATS WebSocket subscription configuration with client settings
9
- - `UseRealtimeChunkProcessorOptions` - Real-time message processing with approval filtering
10
-
11
- **Hook Return Types:**
12
- - `UseChunkCatchupReturn` - Chunk catchup functionality with buffering controls
13
- - `UseNatsDialogSubscriptionReturn` - Connection status for NATS subscriptions
14
- - `UseRealtimeChunkProcessorReturn` - Message segment processing and approval management
15
-
16
- **API Request/Response Types:**
17
- - Chat API endpoints (`ChatAPIRequest`, `ChatAPIResponse`)
18
- - Dialog management (`DialogCreateRequest`, `DialogListResponse`)
19
- - Approval workflows (`ApprovalRequest`, `ApprovalResponse`)
20
- - Settings management (`ChatSettings`, `UpdateSettingsRequest`)
21
-
22
- **Callback Interfaces:**
23
- - `RealtimeChunkCallbacks` - Comprehensive event handlers for streaming, metadata, approvals, and escalations
6
+ ### Hook Options
7
+ | Interface | Purpose |
8
+ |---|---|
9
+ | `UseChunkCatchupOptions` | Configure chunk catch-up replay with optional custom fetch function |
10
+ | `UseNatsDialogSubscriptionOptions` | Core NATS WebSocket subscription config with reconnection backoff tuning |
11
+ | `UseJetStreamDialogSubscriptionOptions` | JetStream-based subscription with sequence-based resume support |
12
+ | `UseRealtimeChunkProcessorOptions` | Controls how streaming chunks are parsed, including approval routing and batch mode |
13
+
14
+ ### Hook Return Types
15
+ | Interface | Purpose |
16
+ |---|---|
17
+ | `UseChunkCatchupReturn` | Exposes catchup, processing, and buffering controls |
18
+ | `UseNatsDialogSubscriptionReturn` | Connection state and reconnection counter |
19
+ | `UseJetStreamDialogSubscriptionReturn` | Connection state plus current stream sequence |
20
+ | `UseRealtimeChunkProcessorReturn` | Chunk processing, segment access, and approval status management |
21
+
22
+ ### Callbacks
23
+ - **`RealtimeChunkCallbacks`** Rich event callback map for streaming events: `onStreamStart`, `onStreamEnd`, `onSegmentsUpdate`, `onTokenUsage`, `onApprove`, `onReject`, `onEscalatedApproval`, `onApprovalResolved`, `onToolExecuted`, `onDialogClosed`, and more.
24
+
25
+ ### API Request/Response Types
26
+ - **Chat** — `ChatAPIRequest` / `ChatAPIResponse`
27
+ - **Dialogs** — `DialogCreateRequest/Response`, `DialogListRequest/Response`
28
+ - **Approvals** — `ApprovalRequest` / `ApprovalResponse`
29
+ - **Settings** — `ChatSettings`, `UpdateSettingsRequest/Response`
24
30
 
25
31
  ## Usage Example
26
32
 
27
33
  ```typescript
28
- // Configure real-time chunk processing
29
- const processorOptions: UseRealtimeChunkProcessorOptions = {
34
+ const options: UseRealtimeChunkProcessorOptions = {
30
35
  callbacks: {
31
- onStreamStart: () => console.log('Stream started'),
32
- onSegmentsUpdate: (segments) => updateUI(segments),
33
- onApprove: async (requestId) => await approveRequest(requestId),
34
- onEscalatedApproval: (id, data) => handleEscalation(id, data)
36
+ onSegmentsUpdate: (segments, meta) => {
37
+ if (meta?.append) appendToLastMessage(segments)
38
+ else setSegments(segments)
39
+ },
40
+ onApprovalResolved: (requestId, status, approvalType) => {
41
+ updateApprovalBadge(requestId, status)
42
+ },
43
+ onTokenUsage: (data) => console.log('Tokens used:', data),
44
+ },
45
+ batchApprovalsEnabled: true,
46
+ displayApprovalTypes: ['CLIENT'],
47
+ enableThinking: false,
48
+ }
49
+
50
+ const natsOptions: UseNatsDialogSubscriptionOptions = {
51
+ enabled: true,
52
+ dialogId: 'dialog-123',
53
+ getNatsWsUrl: () => 'wss://nats.example.com',
54
+ reconnectionBackoff: {
55
+ fastRetries: 3,
56
+ fastRetryDelayMs: 500,
57
+ maxDelayMs: 30000,
58
+ multiplier: 2,
35
59
  },
36
- displayApprovalTypes: ['CLIENT', 'ADMIN'],
37
- initialState: {
38
- existingSegments: previousSegments,
39
- pendingApprovals: new Map()
40
- }
41
- };
42
-
43
- // Dialog creation request
44
- const createDialog: DialogCreateRequest = {
45
- name: 'Support Session',
46
- metadata: { customer: 'user123', priority: 'high' }
47
- };
60
+ onBeforeReconnect: async () => refreshAuthToken(),
61
+ }
48
62
  ```
@@ -1,47 +1,56 @@
1
- <!-- source-hash: 64e087729cbab55280b984028a72489d -->
2
- Core TypeScript type definitions for Flamingo's AI-powered chat system, providing strongly-typed constants and interfaces for chat operations across MSP platform interactions.
1
+ <!-- source-hash: 38493d239449552957a80bb746221c21 -->
2
+ Defines core constants, enums, types, and utility functions for the Flamingo chat system, covering chat participants, message roles, connection states, and SSE wire shapes.
3
3
 
4
4
  ## Key Components
5
5
 
6
- - **CHAT_TYPE** - Defines client and admin chat channel types
7
- - **OWNER_TYPE** - Specifies message ownership (CLIENT, ADMIN, ASSISTANT)
8
- - **MESSAGE_ROLE** - Standard chat roles (user, assistant, system, error)
9
- - **ASSISTANT_TYPE** - Flamingo AI assistants (Fae for clients, Mingo for technicians)
10
- - **APPROVAL_STATUS** - Chat message approval workflow states
11
- - **CONNECTION_STATUS** - WebSocket connection state management
12
- - **MessageOwner** - Interface for tracking message attribution and metadata
6
+ | Export | Kind | Description |
7
+ |--------|------|-------------|
8
+ | `CHAT_TYPE` / `ChatType` | Const + Type | Distinguishes `CLIENT_CHAT` from `ADMIN_AI_CHAT` contexts |
9
+ | `OWNER_TYPE` / `OwnerType` | Const + Type | Message ownership: `CLIENT`, `ADMIN`, or `ASSISTANT` |
10
+ | `MESSAGE_ROLE` / `MessageRole` | Const + Type | Conversation roles: `user`, `assistant`, `error`, `system` |
11
+ | `ASSISTANT_TYPE` / `AssistantType` | Const + Type | AI assistants: `fae` (client-facing) and `mingo` (technician-facing) |
12
+ | `AUTHOR_TYPE` / `AuthorType` | Const + Type | Full author roster including `user`, `admin`, `fae`, `mingo`, `system` |
13
+ | `APPROVAL_STATUS` / `ChatApprovalStatus` | Const + Type | Approval workflow states: `pending`, `approved`, `rejected` |
14
+ | `CONNECTION_STATUS` / `ConnectionStatus` | Const + Type | WebSocket/SSE lifecycle states |
15
+ | `MessageOwner` | Interface | Identifies who owns a message, with optional user profile fields |
16
+ | `buildChatRefKey` | Function | Builds canonical `docType:externalId` keys for `chatRefs` map lookups |
17
+ | `isStructuredContent` | Function | Type guard — checks if `MessageContent` is a `MessageSegment[]` |
18
+ | `normalizeContent` | Function | Coerces string or segment array to a uniform `MessageSegment[]` |
19
+ | `TextEventData` / `ToolExecutionEventData` / `SSEEventData` | Interfaces + Union | Wire shapes for SSE streaming events |
20
+ | `QuickAction` | Interface | Shape for quick-reply chip components (`id` + `text`) |
13
21
 
14
22
  ## Usage Example
15
23
 
16
24
  ```typescript
17
- import {
18
- CHAT_TYPE,
19
- MESSAGE_ROLE,
20
- ASSISTANT_TYPE,
21
- MessageOwner,
22
- ConnectionStatus
25
+ import {
26
+ CHAT_TYPE,
27
+ MESSAGE_ROLE,
28
+ ASSISTANT_TYPE,
29
+ APPROVAL_STATUS,
30
+ CONNECTION_STATUS,
31
+ buildChatRefKey,
32
+ isStructuredContent,
33
+ normalizeContent,
23
34
  } from './chat.types'
24
35
 
25
- // Create a client chat message
26
- const clientMessage = {
27
- role: MESSAGE_ROLE.USER,
28
- content: "Help with server issues",
29
- chatType: CHAT_TYPE.CLIENT
30
- }
36
+ // Route to the correct AI assistant based on chat context
37
+ const assistant =
38
+ chatType === CHAT_TYPE.CLIENT ? ASSISTANT_TYPE.FAE : ASSISTANT_TYPE.MINGO
31
39
 
32
- // Define assistant response owner
33
- const faeOwner: MessageOwner = {
34
- type: OWNER_TYPE.ASSISTANT,
35
- machineId: 'fae-01',
36
- model: ASSISTANT_TYPE.FAE
37
- }
40
+ // Build a chatRefs lookup key matching inline [card://ticket:42] markers
41
+ const refKey = buildChatRefKey('ticket', '42') // → "ticket:42"
38
42
 
39
- // Handle connection states
40
- const handleConnectionChange = (status: ConnectionStatus) => {
41
- if (status === CONNECTION_STATUS.CONNECTED) {
42
- console.log('Chat service ready')
43
- }
43
+ // Normalize incoming content before rendering
44
+ const segments = normalizeContent(message.content)
45
+ // always MessageSegment[], safe to iterate
46
+
47
+ // Check approval before displaying an action
48
+ if (approval === APPROVAL_STATUS.PENDING) {
49
+ showApprovalBanner()
44
50
  }
45
- ```
46
51
 
47
- This type system ensures type safety across Flamingo's chat components while supporting both client-facing (Fae) and technician-focused (Mingo) AI interactions within the unified OpenFrame platform.
52
+ // Handle SSE connection lifecycle
53
+ if (status === CONNECTION_STATUS.RECONNECTING) {
54
+ showReconnectingSpinner()
55
+ }
56
+ ```
@@ -1,61 +1,60 @@
1
- <!-- source-hash: ba9f2a73586812d02d2b98db0ff1f6f0 -->
2
- TypeScript component prop interface definitions for a comprehensive chat UI system, providing type safety for React components used in AI-powered chat interfaces with approval workflows, tool execution displays, and dialog management.
1
+ <!-- source-hash: 141d208f153f42ac4e3acd48496b0621 -->
2
+ Defines all TypeScript prop and ref types for the chat UI component library, covering containers, headers, messages, message lists, inputs, and slash command affordances.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Core Chat Props**:
7
- - `ChatContainerProps` - Main chat wrapper with HTML div attributes
8
- - `ChatHeaderProps` - Header with user info, settings, and connection status
9
- - `ChatMessageEnhancedProps` - Enhanced messages supporting segments, typing states, and approval callbacks
10
- - `ChatMessageListProps` - Message list with scrolling, loading states, and approval handling
11
- - `ChatInputProps` - Text input with send functionality and response states
12
-
13
- **Specialized Component Props**:
14
- - `ToolExecutionDisplayProps` - Expandable tool execution results display
15
- - `ApprovalRequestMessageProps` - Interactive approval request with status handling
16
- - `ConnectionIndicatorProps` - Real-time connection status indicator
17
- - `ChatTypingIndicatorProps` - Animated typing indicator with customizable appearance
18
- - `ChatQuickActionProps` - Action buttons with hint animations and loading states
19
-
20
- **Navigation & Management**:
21
- - `ChatSidebarProps` - Dialog list with infinite scroll and creation states
22
- - `DialogListItemProps` - Individual dialog items with selection and unread counts
23
- - `ModelDisplayProps` - AI model information display with provider details
6
+ ### Core Component Props
7
+ - **`ChatContainerProps`** Extends `HTMLAttributes<HTMLDivElement>` for the root chat wrapper
8
+ - **`ChatHeaderProps`** Full header configuration including user info, connection status, ticket info, `fullWidth`, and `bare` display modes
9
+ - **`ChatMessageEnhancedProps`** — Per-message props including role, content (`string | MessageSegment[]`), entity card rendering, and markdown link routing
10
+ - **`ChatMessageListProps`** Message list with infinite scroll, approval handling, avatar display, and forwarded `renderEntityCard`/`NavLinkAnchor` props
11
+ - **`ChatMessageListRef`** Imperative handle exposing `scrollToBottom`, `getScrollPosition`, and `setScrollPosition`
12
+ - **`ConnectionIndicatorProps`** — Wraps `ConnectionStatus` for the connection state badge
13
+
14
+ ### Slash Commands
15
+ - **`SlashCommandsProp`** — Consumer-supplied `fetchCommands` callback and optional `resolveSourceIcon` for autocomplete
16
+ - **`SlashCommandSummary`** — Server-resolved command descriptor with `actions`, `argumentHint`, `label`, `displayOrder`, and `iconName`
17
+ - **`SlashCommandActionId`** — String-literal union: `'browse' | 'search' | 'find' | 'display'`
18
+ - **`SlashCommandSourceMeta`** Icon component + label pair returned by `resolveSourceIcon`
19
+
20
+ ### Routing
21
+ - **`NavLinkAnchorComponent`** — Host-supplied anchor component for markdown links, enabling unified routing (soft same-origin nav, new-tab cross-origin)
24
22
 
25
23
  ## Usage Example
26
24
 
27
25
  ```typescript
28
- import type {
29
- ChatMessageEnhancedProps,
30
- ChatInputProps,
31
- ApprovalRequestMessageProps
26
+ import type {
27
+ ChatMessageListProps,
28
+ ChatHeaderProps,
29
+ NavLinkAnchorComponent,
30
+ SlashCommandsProp,
32
31
  } from './component.types'
33
32
 
34
- // Enhanced message with approval handling
35
- const messageProps: ChatMessageEnhancedProps = {
36
- role: 'assistant',
37
- content: [
38
- { type: 'text', content: 'Here is the analysis:' },
39
- {
40
- type: 'approval_request',
41
- data: { requestId: 'req_123', action: 'execute_command' }
42
- }
43
- ],
44
- assistantType: 'mingo',
45
- onApprove: async (requestId) => {
46
- await approveRequest(requestId)
47
- },
48
- onReject: (requestId) => {
49
- rejectRequest(requestId)
50
- }
33
+ // Host-supplied anchor delegates routing to app router
34
+ const NavLinkAnchor: NavLinkAnchorComponent = ({ href, className, children }) => (
35
+ <a href={href} className={className}>{children}</a>
36
+ )
37
+
38
+ const headerProps: ChatHeaderProps = {
39
+ userName: 'Mingo AI',
40
+ connectionStatus: 'connected',
41
+ fullWidth: true, // fills narrow side panel
42
+ bare: true, // no card chrome inside Drawer
43
+ }
44
+
45
+ const listProps: ChatMessageListProps = {
46
+ messages,
47
+ fullWidth: true,
48
+ hasNextPage: true,
49
+ isFetchingNextPage: false,
50
+ onLoadMore: fetchOlderMessages,
51
+ renderEntityCard: (ref) => <EntityCard reference={ref} />,
52
+ NavLinkAnchor,
51
53
  }
52
54
 
53
- // Chat input with send handling
54
- const inputProps: ChatInputProps = {
55
- onSend: (message) => sendMessage(message),
56
- sending: false,
57
- awaitingResponse: true,
58
- maxRows: 4,
59
- placeholder: "Ask Mingo anything..."
55
+ const slashCommands: SlashCommandsProp = {
56
+ fetchCommands: async (prefix, signal) =>
57
+ fetch(`/api/docs/commands?q=${prefix}`, { signal }).then(r => r.json()),
58
+ resolveSourceIcon: (sourceId) => iconRegistry[sourceId],
60
59
  }
61
60
  ```
@@ -1,36 +1,29 @@
1
- <!-- source-hash: aea0bf978ce55f3fb2871d4071c7fd48 -->
2
- This TypeScript file serves as the main export barrel for type definitions, providing a centralized entry point for importing all types used throughout the system's chat, messaging, component, network, processing, and API layers.
1
+ <!-- source-hash: 20e5ae4b1dc4695977d9dc1f7ed04663 -->
2
+ Central barrel export file that re-exports all TypeScript types and interfaces from the chat module's type definitions.
3
3
 
4
4
  ## Key Components
5
5
 
6
- The file re-exports types from six specialized modules:
7
-
8
- - **chat.types** - Chat-related type definitions and interfaces
9
- - **message.types** - Message structure and formatting types
10
- - **component.types** - UI component and React component types
11
- - **network.types** - Network request/response and connection types
12
- - **processing.types** - Data processing and transformation types
13
- - **api.types** - API endpoint and service interface types
6
+ | Export Source | Description |
7
+ |---|---|
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 |
11
+ | `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
16
 
15
17
  ## Usage Example
16
18
 
17
19
  ```typescript
18
- // Import specific types from the barrel export
19
- import { ChatMessage, ApiResponse, ComponentProps } from './types'
20
-
21
- // Or import all types with namespace
22
- import * as Types from './types'
23
-
24
- // Use the imported types
25
- const message: Types.ChatMessage = {
26
- id: '123',
27
- content: 'Hello world',
28
- timestamp: new Date()
29
- }
30
-
31
- const apiCall = async (): Promise<Types.ApiResponse> => {
32
- // API implementation
33
- }
20
+ // Import any chat-related type directly from the module root
21
+ import {
22
+ ChatSession,
23
+ Message,
24
+ UnifiedChatState,
25
+ ApiResponse
26
+ } from '@/types/chat'
34
27
  ```
35
28
 
36
- This barrel export pattern simplifies imports across the codebase by allowing consumers to import multiple related types from a single source rather than importing from individual type files.
29
+ > All types are available from a single import path no need to reference individual type files directly.
@@ -1,62 +1,72 @@
1
- <!-- source-hash: 85b8ef73de713600cd760aa44e399e60 -->
2
- This file defines comprehensive TypeScript types for message handling in a chat system that supports AI assistants, tool execution, and approval workflows.
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.
3
3
 
4
4
  ## Key Components
5
5
 
6
- **Core Message Types:**
7
- - `MESSAGE_TYPE` - Constants for all message types (TEXT, EXECUTING_TOOL, APPROVAL_REQUEST, etc.)
8
- - `MessageData` - Union type for all possible message data structures from GraphQL/API
9
- - `MessageSegment` - Union type for different content segments (text, tool execution, approval requests, errors)
10
- - `ProcessedMessage` - Processed message structure for UI display
11
- - `HistoricalMessage` - Message structure for chat history storage
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
12
9
 
13
- **Tool Execution Types:**
14
- - `ToolExecutionData` - Structure for tool execution parameters and results
15
- - `ExecutingToolMessageData` / `ExecutedToolMessageData` - API message data for tool operations
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
16
13
 
17
- **Approval System Types:**
18
- - `ApprovalRequestData` - Structure for approval requests with commands and explanations
19
- - `ApprovalResultData` - Structure for approval responses
20
- - `ApprovalRequestSegment` - UI segment with approval callbacks
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
17
+
18
+ ### Message Segments (UI Rendering)
19
+ - **`MessageSegment`** — Union of `TextSegment`, `ThinkingSegment`, `ToolExecutionSegment`, `ApprovalRequestSegment`, `ApprovalBatchSegment`, `ErrorSegment`, `ContextCompactionSegment`
20
+ - **`MessageContent`** — `string | MessageSegment[]`
21
+
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
21
30
 
22
31
  ## Usage Example
23
32
 
24
33
  ```typescript
25
- // Creating a text message
26
- const textMessage: Message = {
27
- id: 'msg-123',
28
- role: 'assistant',
29
- content: 'Hello! How can I help you today?',
30
- assistantType: 'MINGO',
31
- timestamp: new Date()
32
- }
34
+ import {
35
+ MESSAGE_TYPE,
36
+ SCROLL_ANCHOR,
37
+ type Message,
38
+ type MessageSegment,
39
+ type ApprovalBatchData
40
+ } from './message.types'
33
41
 
34
- // Creating a tool execution message
35
- const toolMessage: ProcessedMessage = {
36
- id: 'msg-456',
37
- role: 'assistant',
38
- content: [{
39
- type: 'tool_execution',
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',
40
47
  data: {
41
- type: 'EXECUTING_TOOL',
42
- integratedToolType: 'file_system',
43
- toolFunction: 'readFile',
44
- parameters: { path: '/config/settings.json' }
45
- }
46
- }],
47
- timestamp: new Date()
48
- }
49
-
50
- // Creating an approval request segment
51
- const approvalSegment: ApprovalRequestSegment = {
52
- type: 'approval_request',
53
- data: {
54
- command: 'sudo rm -rf /tmp/cache',
55
- explanation: 'Clear temporary cache files',
56
- approvalRequestId: 'req-789'
57
- },
58
- onApprove: async (requestId) => {
59
- console.log(`Approved request: ${requestId}`)
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),
60
62
  }
63
+ ]
64
+
65
+ const msg: Message = {
66
+ id: 'msg_789',
67
+ role: 'assistant',
68
+ content: segments,
69
+ scrollAnchor: SCROLL_ANCHOR.TOP,
70
+ timestamp: new Date(),
61
71
  }
62
72
  ```