@signalflare-ai/ui 0.5.0

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 (765) hide show
  1. package/CHANGELOG.md +96 -0
  2. package/README.md +527 -0
  3. package/ai/USAGE.md +200 -0
  4. package/ai/component-registry.json +7103 -0
  5. package/ai/component-registry.md +3046 -0
  6. package/ai/schemas.ts +1230 -0
  7. package/bin/intent.js +23 -0
  8. package/bin/sf.js +34 -0
  9. package/dist/.build-complete +1 -0
  10. package/dist/ai/schemas.d.ts +7056 -0
  11. package/dist/ai/schemas.d.ts.map +1 -0
  12. package/dist/ai-actions-DG1dhDMP.js +57 -0
  13. package/dist/ai-actions-DG1dhDMP.js.map +1 -0
  14. package/dist/ai-agent-card-BbtL4NII.js +171 -0
  15. package/dist/ai-agent-card-BbtL4NII.js.map +1 -0
  16. package/dist/ai-approval-Mb7-BY6i.js +184 -0
  17. package/dist/ai-approval-Mb7-BY6i.js.map +1 -0
  18. package/dist/ai-code-block-BI_z0UVR.js +110 -0
  19. package/dist/ai-code-block-BI_z0UVR.js.map +1 -0
  20. package/dist/ai-conversation-DYtExcrw.js +184 -0
  21. package/dist/ai-conversation-DYtExcrw.js.map +1 -0
  22. package/dist/ai-info-banner-BpzauUAY.js +76 -0
  23. package/dist/ai-info-banner-BpzauUAY.js.map +1 -0
  24. package/dist/ai-loader-Cr3eQkNS.js +134 -0
  25. package/dist/ai-loader-Cr3eQkNS.js.map +1 -0
  26. package/dist/ai-message-CV8SBoHM.js +286 -0
  27. package/dist/ai-message-CV8SBoHM.js.map +1 -0
  28. package/dist/ai-mission-header-ByYkJ6YP.js +171 -0
  29. package/dist/ai-mission-header-ByYkJ6YP.js.map +1 -0
  30. package/dist/ai-prompt-input-Bo1YuJly.js +769 -0
  31. package/dist/ai-prompt-input-Bo1YuJly.js.map +1 -0
  32. package/dist/ai-question-Dp1g9k2o.js +149 -0
  33. package/dist/ai-question-Dp1g9k2o.js.map +1 -0
  34. package/dist/ai-reasoning-UAmNx_LD.js +270 -0
  35. package/dist/ai-reasoning-UAmNx_LD.js.map +1 -0
  36. package/dist/ai-response-BWoVsNQG.js +42 -0
  37. package/dist/ai-response-BWoVsNQG.js.map +1 -0
  38. package/dist/ai-shimmer-BpOmfonu.js +43 -0
  39. package/dist/ai-shimmer-BpOmfonu.js.map +1 -0
  40. package/dist/ai-status-badge-WhbKVeqn.js +63 -0
  41. package/dist/ai-status-badge-WhbKVeqn.js.map +1 -0
  42. package/dist/ai-streaming-text-ClL7FwvD.js +81 -0
  43. package/dist/ai-streaming-text-ClL7FwvD.js.map +1 -0
  44. package/dist/ai-subagent-BruGN1UE.js +133 -0
  45. package/dist/ai-subagent-BruGN1UE.js.map +1 -0
  46. package/dist/ai-suggestion-CNsCZj5P.js +55 -0
  47. package/dist/ai-suggestion-CNsCZj5P.js.map +1 -0
  48. package/dist/ai-task-list-B9CpMDYN.js +120 -0
  49. package/dist/ai-task-list-B9CpMDYN.js.map +1 -0
  50. package/dist/ai-timeline-Bb5ntsr3.js +373 -0
  51. package/dist/ai-timeline-Bb5ntsr3.js.map +1 -0
  52. package/dist/ai-tool-BGH8nQ_D.js +437 -0
  53. package/dist/ai-tool-BGH8nQ_D.js.map +1 -0
  54. package/dist/ai-usage-bar-BI-p-JBk.js +70 -0
  55. package/dist/ai-usage-bar-BI-p-JBk.js.map +1 -0
  56. package/dist/badge-D_eaA6wv.js +128 -0
  57. package/dist/badge-D_eaA6wv.js.map +1 -0
  58. package/dist/banner-B_6oBrsu.js +54 -0
  59. package/dist/banner-B_6oBrsu.js.map +1 -0
  60. package/dist/breadcrumbs-BlmeYfgq.js +128 -0
  61. package/dist/breadcrumbs-BlmeYfgq.js.map +1 -0
  62. package/dist/button-De0267YU.js +170 -0
  63. package/dist/button-De0267YU.js.map +1 -0
  64. package/dist/catalog.js +506 -0
  65. package/dist/catalog.js.map +1 -0
  66. package/dist/chart-Bes4MN3C.js +618 -0
  67. package/dist/chart-Bes4MN3C.js.map +1 -0
  68. package/dist/checkbox-CPX7lBaU.js +153 -0
  69. package/dist/checkbox-CPX7lBaU.js.map +1 -0
  70. package/dist/clipboard-text-92YeCybc.js +176 -0
  71. package/dist/clipboard-text-92YeCybc.js.map +1 -0
  72. package/dist/cn-YROP2_ox.js +25 -0
  73. package/dist/cn-YROP2_ox.js.map +1 -0
  74. package/dist/code-DE1Yy1Cu.js +97 -0
  75. package/dist/code-DE1Yy1Cu.js.map +1 -0
  76. package/dist/collapsible-DWsXeXmS.js +72 -0
  77. package/dist/collapsible-DWsXeXmS.js.map +1 -0
  78. package/dist/combobox-B0bLdsX8.js +197 -0
  79. package/dist/combobox-B0bLdsX8.js.map +1 -0
  80. package/dist/command-line/cli.js +823 -0
  81. package/dist/command-palette-CBTY8EiF.js +484 -0
  82. package/dist/command-palette-CBTY8EiF.js.map +1 -0
  83. package/dist/components/ai-actions.js +3 -0
  84. package/dist/components/ai-agent-card.js +3 -0
  85. package/dist/components/ai-approval.js +3 -0
  86. package/dist/components/ai-code-block.js +3 -0
  87. package/dist/components/ai-conversation.js +3 -0
  88. package/dist/components/ai-info-banner.js +3 -0
  89. package/dist/components/ai-loader.js +3 -0
  90. package/dist/components/ai-message.js +3 -0
  91. package/dist/components/ai-mission-header.js +3 -0
  92. package/dist/components/ai-prompt-input.js +3 -0
  93. package/dist/components/ai-question.js +3 -0
  94. package/dist/components/ai-reasoning.js +3 -0
  95. package/dist/components/ai-response.js +3 -0
  96. package/dist/components/ai-shimmer.js +3 -0
  97. package/dist/components/ai-status-badge.js +3 -0
  98. package/dist/components/ai-streaming-text.js +3 -0
  99. package/dist/components/ai-subagent.js +3 -0
  100. package/dist/components/ai-suggestion.js +3 -0
  101. package/dist/components/ai-task-list.js +3 -0
  102. package/dist/components/ai-timeline.js +3 -0
  103. package/dist/components/ai-tool.js +3 -0
  104. package/dist/components/ai-usage-bar.js +3 -0
  105. package/dist/components/badge.js +3 -0
  106. package/dist/components/banner.js +3 -0
  107. package/dist/components/breadcrumbs.js +3 -0
  108. package/dist/components/button.js +3 -0
  109. package/dist/components/chart.js +3 -0
  110. package/dist/components/checkbox.js +3 -0
  111. package/dist/components/clipboard-text.js +3 -0
  112. package/dist/components/code.js +3 -0
  113. package/dist/components/collapsible.js +3 -0
  114. package/dist/components/combobox.js +3 -0
  115. package/dist/components/command-palette.js +3 -0
  116. package/dist/components/data-grid.js +3 -0
  117. package/dist/components/date-picker.js +3 -0
  118. package/dist/components/date-range-picker.js +3 -0
  119. package/dist/components/dialog.js +3 -0
  120. package/dist/components/dropdown.js +3 -0
  121. package/dist/components/empty.js +3 -0
  122. package/dist/components/field.js +3 -0
  123. package/dist/components/filters.js +3 -0
  124. package/dist/components/flow.js +3 -0
  125. package/dist/components/grid.js +3 -0
  126. package/dist/components/input.js +4 -0
  127. package/dist/components/label.js +3 -0
  128. package/dist/components/layer-card.js +3 -0
  129. package/dist/components/link.js +92 -0
  130. package/dist/components/link.js.map +1 -0
  131. package/dist/components/loader.js +4 -0
  132. package/dist/components/menubar.js +3 -0
  133. package/dist/components/meter.js +3 -0
  134. package/dist/components/pagination.js +3 -0
  135. package/dist/components/popover.js +3 -0
  136. package/dist/components/radio.js +3 -0
  137. package/dist/components/select.js +3 -0
  138. package/dist/components/sensitive-input.js +3 -0
  139. package/dist/components/sidebar.js +3 -0
  140. package/dist/components/signalflare-ai-logo.js +3 -0
  141. package/dist/components/surface.js +3 -0
  142. package/dist/components/switch.js +3 -0
  143. package/dist/components/table.js +3 -0
  144. package/dist/components/tabs.js +3 -0
  145. package/dist/components/text.js +3 -0
  146. package/dist/components/theme-toggle.js +3 -0
  147. package/dist/components/toast.js +3 -0
  148. package/dist/components/tooltip.js +3 -0
  149. package/dist/components/use-agent-harness.js +3 -0
  150. package/dist/data-grid-UJ9ja5cu.js +305 -0
  151. package/dist/data-grid-UJ9ja5cu.js.map +1 -0
  152. package/dist/date-picker-ebekkC3R.js +57 -0
  153. package/dist/date-picker-ebekkC3R.js.map +1 -0
  154. package/dist/date-range-picker-D75LLINc.js +347 -0
  155. package/dist/date-range-picker-D75LLINc.js.map +1 -0
  156. package/dist/dialog-CyHEQXEY.js +104 -0
  157. package/dist/dialog-CyHEQXEY.js.map +1 -0
  158. package/dist/dist-BNlyONdD.js +3546 -0
  159. package/dist/dist-BNlyONdD.js.map +1 -0
  160. package/dist/dropdown-J5T4pHaR.js +202 -0
  161. package/dist/dropdown-J5T4pHaR.js.map +1 -0
  162. package/dist/empty-D2TypIId.js +90 -0
  163. package/dist/empty-D2TypIId.js.map +1 -0
  164. package/dist/favicon.svg +4 -0
  165. package/dist/field-Y_UK1_Cg.js +57 -0
  166. package/dist/field-Y_UK1_Cg.js.map +1 -0
  167. package/dist/filters-BdBogf7D.js +682 -0
  168. package/dist/filters-BdBogf7D.js.map +1 -0
  169. package/dist/flow-BRsYUCJa.js +741 -0
  170. package/dist/flow-BRsYUCJa.js.map +1 -0
  171. package/dist/genui.js +40 -0
  172. package/dist/genui.js.map +1 -0
  173. package/dist/grid-qUAN9hFx.js +119 -0
  174. package/dist/grid-qUAN9hFx.js.map +1 -0
  175. package/dist/highlight-to-react-ClEfL81q.js +57 -0
  176. package/dist/highlight-to-react-ClEfL81q.js.map +1 -0
  177. package/dist/index.js +215 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/input-BxQAnXki.js +81 -0
  180. package/dist/input-BxQAnXki.js.map +1 -0
  181. package/dist/input-Cn25I4o5.js +121 -0
  182. package/dist/input-Cn25I4o5.js.map +1 -0
  183. package/dist/label-QtJxtJ4u.js +70 -0
  184. package/dist/label-QtJxtJ4u.js.map +1 -0
  185. package/dist/layer-card-BME0eljh.js +44 -0
  186. package/dist/layer-card-BME0eljh.js.map +1 -0
  187. package/dist/link-provider-BUZKXaNE.js +25 -0
  188. package/dist/link-provider-BUZKXaNE.js.map +1 -0
  189. package/dist/loader-DAcc-Uag.js +84 -0
  190. package/dist/loader-DAcc-Uag.js.map +1 -0
  191. package/dist/logo.svg +1 -0
  192. package/dist/menubar-C8NzAjfd.js +102 -0
  193. package/dist/menubar-C8NzAjfd.js.map +1 -0
  194. package/dist/meter-CpmTenEr.js +37 -0
  195. package/dist/meter-CpmTenEr.js.map +1 -0
  196. package/dist/pagination-C_YqCy8l.js +117 -0
  197. package/dist/pagination-C_YqCy8l.js.map +1 -0
  198. package/dist/popover-BRQZ2b6z.js +147 -0
  199. package/dist/popover-BRQZ2b6z.js.map +1 -0
  200. package/dist/primitives/accordion.js +2 -0
  201. package/dist/primitives/alert-dialog.js +2 -0
  202. package/dist/primitives/autocomplete.js +2 -0
  203. package/dist/primitives/avatar.js +2 -0
  204. package/dist/primitives/button.js +2 -0
  205. package/dist/primitives/checkbox-group.js +2 -0
  206. package/dist/primitives/checkbox.js +2 -0
  207. package/dist/primitives/collapsible.js +2 -0
  208. package/dist/primitives/combobox.js +2 -0
  209. package/dist/primitives/context-menu.js +2 -0
  210. package/dist/primitives/csp-provider.js +2 -0
  211. package/dist/primitives/dialog.js +2 -0
  212. package/dist/primitives/direction-provider.js +2 -0
  213. package/dist/primitives/drawer.js +2 -0
  214. package/dist/primitives/field.js +2 -0
  215. package/dist/primitives/fieldset.js +2 -0
  216. package/dist/primitives/form.js +2 -0
  217. package/dist/primitives/input.js +2 -0
  218. package/dist/primitives/menu.js +2 -0
  219. package/dist/primitives/menubar.js +2 -0
  220. package/dist/primitives/meter.js +2 -0
  221. package/dist/primitives/navigation-menu.js +2 -0
  222. package/dist/primitives/number-field.js +2 -0
  223. package/dist/primitives/popover.js +2 -0
  224. package/dist/primitives/preview-card.js +2 -0
  225. package/dist/primitives/progress.js +2 -0
  226. package/dist/primitives/radio-group.js +2 -0
  227. package/dist/primitives/radio.js +2 -0
  228. package/dist/primitives/scroll-area.js +2 -0
  229. package/dist/primitives/select.js +2 -0
  230. package/dist/primitives/separator.js +2 -0
  231. package/dist/primitives/slider.js +2 -0
  232. package/dist/primitives/switch.js +2 -0
  233. package/dist/primitives/tabs.js +2 -0
  234. package/dist/primitives/toast.js +2 -0
  235. package/dist/primitives/toggle-group.js +2 -0
  236. package/dist/primitives/toggle.js +2 -0
  237. package/dist/primitives/toolbar.js +2 -0
  238. package/dist/primitives/tooltip.js +2 -0
  239. package/dist/primitives.js +40 -0
  240. package/dist/radio-B7zg1wUI.js +101 -0
  241. package/dist/radio-B7zg1wUI.js.map +1 -0
  242. package/dist/registry.js +1 -0
  243. package/dist/select-9p721G00.js +95 -0
  244. package/dist/select-9p721G00.js.map +1 -0
  245. package/dist/sensitive-input-D5je2NLl.js +248 -0
  246. package/dist/sensitive-input-D5je2NLl.js.map +1 -0
  247. package/dist/sidebar-DOwBrq57.js +964 -0
  248. package/dist/sidebar-DOwBrq57.js.map +1 -0
  249. package/dist/signalflare-ai-logo-DDhxMJD6.js +260 -0
  250. package/dist/signalflare-ai-logo-DDhxMJD6.js.map +1 -0
  251. package/dist/skeleton-line-Do3UmGk9.js +36 -0
  252. package/dist/skeleton-line-Do3UmGk9.js.map +1 -0
  253. package/dist/src/blocks/agent-harness/agent-harness.d.ts +177 -0
  254. package/dist/src/blocks/agent-harness/agent-harness.d.ts.map +1 -0
  255. package/dist/src/blocks/agent-harness/agent-harness.tsx +1122 -0
  256. package/dist/src/blocks/agent-harness/index.d.ts +2 -0
  257. package/dist/src/blocks/agent-harness/index.d.ts.map +1 -0
  258. package/dist/src/blocks/commander/commander.d.ts +101 -0
  259. package/dist/src/blocks/commander/commander.d.ts.map +1 -0
  260. package/dist/src/blocks/commander/commander.tsx +477 -0
  261. package/dist/src/blocks/commander/index.d.ts +2 -0
  262. package/dist/src/blocks/commander/index.d.ts.map +1 -0
  263. package/dist/src/blocks/delete-resource/delete-resource.d.ts +46 -0
  264. package/dist/src/blocks/delete-resource/delete-resource.d.ts.map +1 -0
  265. package/dist/src/blocks/delete-resource/delete-resource.tsx +214 -0
  266. package/dist/src/blocks/delete-resource/index.d.ts +2 -0
  267. package/dist/src/blocks/delete-resource/index.d.ts.map +1 -0
  268. package/dist/src/blocks/map-block/index.d.ts +2 -0
  269. package/dist/src/blocks/map-block/index.d.ts.map +1 -0
  270. package/dist/src/blocks/map-block/map-block.d.ts +79 -0
  271. package/dist/src/blocks/map-block/map-block.d.ts.map +1 -0
  272. package/dist/src/blocks/map-block/map-block.tsx +522 -0
  273. package/dist/src/blocks/page-header/index.d.ts +2 -0
  274. package/dist/src/blocks/page-header/index.d.ts.map +1 -0
  275. package/dist/src/blocks/page-header/page-header.d.ts +38 -0
  276. package/dist/src/blocks/page-header/page-header.d.ts.map +1 -0
  277. package/dist/src/blocks/page-header/page-header.tsx +96 -0
  278. package/dist/src/blocks/resource-list/index.d.ts +2 -0
  279. package/dist/src/blocks/resource-list/index.d.ts.map +1 -0
  280. package/dist/src/blocks/resource-list/resource-list.d.ts +18 -0
  281. package/dist/src/blocks/resource-list/resource-list.d.ts.map +1 -0
  282. package/dist/src/blocks/resource-list/resource-list.test.tsx +27 -0
  283. package/dist/src/blocks/resource-list/resource-list.tsx +65 -0
  284. package/dist/src/catalog/catalog.d.ts +75 -0
  285. package/dist/src/catalog/catalog.d.ts.map +1 -0
  286. package/dist/src/catalog/data.d.ts +44 -0
  287. package/dist/src/catalog/data.d.ts.map +1 -0
  288. package/dist/src/catalog/index.d.ts +35 -0
  289. package/dist/src/catalog/index.d.ts.map +1 -0
  290. package/dist/src/catalog/sf-components.d.ts +8 -0
  291. package/dist/src/catalog/sf-components.d.ts.map +1 -0
  292. package/dist/src/catalog/sf-registry.d.ts +4 -0
  293. package/dist/src/catalog/sf-registry.d.ts.map +1 -0
  294. package/dist/src/catalog/types.d.ts +226 -0
  295. package/dist/src/catalog/types.d.ts.map +1 -0
  296. package/dist/src/catalog/visibility.d.ts +37 -0
  297. package/dist/src/catalog/visibility.d.ts.map +1 -0
  298. package/dist/src/command-line/build-cli.d.ts +7 -0
  299. package/dist/src/command-line/build-cli.d.ts.map +1 -0
  300. package/dist/src/command-line/cli.d.ts +13 -0
  301. package/dist/src/command-line/cli.d.ts.map +1 -0
  302. package/dist/src/command-line/commands/add.d.ts +10 -0
  303. package/dist/src/command-line/commands/add.d.ts.map +1 -0
  304. package/dist/src/command-line/commands/ai.d.ts +10 -0
  305. package/dist/src/command-line/commands/ai.d.ts.map +1 -0
  306. package/dist/src/command-line/commands/blocks.d.ts +10 -0
  307. package/dist/src/command-line/commands/blocks.d.ts.map +1 -0
  308. package/dist/src/command-line/commands/doc.d.ts +14 -0
  309. package/dist/src/command-line/commands/doc.d.ts.map +1 -0
  310. package/dist/src/command-line/commands/init.d.ts +18 -0
  311. package/dist/src/command-line/commands/init.d.ts.map +1 -0
  312. package/dist/src/command-line/commands/ls.d.ts +10 -0
  313. package/dist/src/command-line/commands/ls.d.ts.map +1 -0
  314. package/dist/src/command-line/commands/migrate.d.ts +10 -0
  315. package/dist/src/command-line/commands/migrate.d.ts.map +1 -0
  316. package/dist/src/command-line/utils/config.d.ts +42 -0
  317. package/dist/src/command-line/utils/config.d.ts.map +1 -0
  318. package/dist/src/command-line/utils/transformer.d.ts +21 -0
  319. package/dist/src/command-line/utils/transformer.d.ts.map +1 -0
  320. package/dist/src/components/ai-actions/ai-actions.d.ts +35 -0
  321. package/dist/src/components/ai-actions/ai-actions.d.ts.map +1 -0
  322. package/dist/src/components/ai-actions/index.d.ts +2 -0
  323. package/dist/src/components/ai-actions/index.d.ts.map +1 -0
  324. package/dist/src/components/ai-agent-card/ai-agent-card.d.ts +82 -0
  325. package/dist/src/components/ai-agent-card/ai-agent-card.d.ts.map +1 -0
  326. package/dist/src/components/ai-agent-card/index.d.ts +2 -0
  327. package/dist/src/components/ai-agent-card/index.d.ts.map +1 -0
  328. package/dist/src/components/ai-approval/ai-approval.d.ts +102 -0
  329. package/dist/src/components/ai-approval/ai-approval.d.ts.map +1 -0
  330. package/dist/src/components/ai-approval/index.d.ts +2 -0
  331. package/dist/src/components/ai-approval/index.d.ts.map +1 -0
  332. package/dist/src/components/ai-code-block/ai-code-block.d.ts +48 -0
  333. package/dist/src/components/ai-code-block/ai-code-block.d.ts.map +1 -0
  334. package/dist/src/components/ai-code-block/index.d.ts +2 -0
  335. package/dist/src/components/ai-code-block/index.d.ts.map +1 -0
  336. package/dist/src/components/ai-conversation/ai-conversation.d.ts +125 -0
  337. package/dist/src/components/ai-conversation/ai-conversation.d.ts.map +1 -0
  338. package/dist/src/components/ai-conversation/index.d.ts +2 -0
  339. package/dist/src/components/ai-conversation/index.d.ts.map +1 -0
  340. package/dist/src/components/ai-info-banner/ai-info-banner.d.ts +55 -0
  341. package/dist/src/components/ai-info-banner/ai-info-banner.d.ts.map +1 -0
  342. package/dist/src/components/ai-info-banner/index.d.ts +2 -0
  343. package/dist/src/components/ai-info-banner/index.d.ts.map +1 -0
  344. package/dist/src/components/ai-loader/ai-loader.d.ts +44 -0
  345. package/dist/src/components/ai-loader/ai-loader.d.ts.map +1 -0
  346. package/dist/src/components/ai-loader/index.d.ts +2 -0
  347. package/dist/src/components/ai-loader/index.d.ts.map +1 -0
  348. package/dist/src/components/ai-message/ai-message.d.ts +97 -0
  349. package/dist/src/components/ai-message/ai-message.d.ts.map +1 -0
  350. package/dist/src/components/ai-message/index.d.ts +2 -0
  351. package/dist/src/components/ai-message/index.d.ts.map +1 -0
  352. package/dist/src/components/ai-mission-header/ai-mission-header.d.ts +62 -0
  353. package/dist/src/components/ai-mission-header/ai-mission-header.d.ts.map +1 -0
  354. package/dist/src/components/ai-mission-header/index.d.ts +2 -0
  355. package/dist/src/components/ai-mission-header/index.d.ts.map +1 -0
  356. package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts +260 -0
  357. package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -0
  358. package/dist/src/components/ai-prompt-input/index.d.ts +2 -0
  359. package/dist/src/components/ai-prompt-input/index.d.ts.map +1 -0
  360. package/dist/src/components/ai-question/ai-question.d.ts +73 -0
  361. package/dist/src/components/ai-question/ai-question.d.ts.map +1 -0
  362. package/dist/src/components/ai-question/index.d.ts +2 -0
  363. package/dist/src/components/ai-question/index.d.ts.map +1 -0
  364. package/dist/src/components/ai-reasoning/ai-reasoning.d.ts +107 -0
  365. package/dist/src/components/ai-reasoning/ai-reasoning.d.ts.map +1 -0
  366. package/dist/src/components/ai-reasoning/index.d.ts +2 -0
  367. package/dist/src/components/ai-reasoning/index.d.ts.map +1 -0
  368. package/dist/src/components/ai-response/ai-response.d.ts +26 -0
  369. package/dist/src/components/ai-response/ai-response.d.ts.map +1 -0
  370. package/dist/src/components/ai-response/index.d.ts +2 -0
  371. package/dist/src/components/ai-response/index.d.ts.map +1 -0
  372. package/dist/src/components/ai-shimmer/ai-shimmer.d.ts +29 -0
  373. package/dist/src/components/ai-shimmer/ai-shimmer.d.ts.map +1 -0
  374. package/dist/src/components/ai-shimmer/index.d.ts +2 -0
  375. package/dist/src/components/ai-shimmer/index.d.ts.map +1 -0
  376. package/dist/src/components/ai-status-badge/ai-status-badge.d.ts +46 -0
  377. package/dist/src/components/ai-status-badge/ai-status-badge.d.ts.map +1 -0
  378. package/dist/src/components/ai-status-badge/index.d.ts +2 -0
  379. package/dist/src/components/ai-status-badge/index.d.ts.map +1 -0
  380. package/dist/src/components/ai-streaming-text/ai-streaming-text.d.ts +27 -0
  381. package/dist/src/components/ai-streaming-text/ai-streaming-text.d.ts.map +1 -0
  382. package/dist/src/components/ai-streaming-text/index.d.ts +2 -0
  383. package/dist/src/components/ai-streaming-text/index.d.ts.map +1 -0
  384. package/dist/src/components/ai-subagent/ai-subagent.d.ts +74 -0
  385. package/dist/src/components/ai-subagent/ai-subagent.d.ts.map +1 -0
  386. package/dist/src/components/ai-subagent/index.d.ts +2 -0
  387. package/dist/src/components/ai-subagent/index.d.ts.map +1 -0
  388. package/dist/src/components/ai-suggestion/ai-suggestion.d.ts +40 -0
  389. package/dist/src/components/ai-suggestion/ai-suggestion.d.ts.map +1 -0
  390. package/dist/src/components/ai-suggestion/index.d.ts +2 -0
  391. package/dist/src/components/ai-suggestion/index.d.ts.map +1 -0
  392. package/dist/src/components/ai-task-list/ai-task-list.d.ts +61 -0
  393. package/dist/src/components/ai-task-list/ai-task-list.d.ts.map +1 -0
  394. package/dist/src/components/ai-task-list/index.d.ts +2 -0
  395. package/dist/src/components/ai-task-list/index.d.ts.map +1 -0
  396. package/dist/src/components/ai-timeline/ai-timeline.d.ts +130 -0
  397. package/dist/src/components/ai-timeline/ai-timeline.d.ts.map +1 -0
  398. package/dist/src/components/ai-timeline/index.d.ts +2 -0
  399. package/dist/src/components/ai-timeline/index.d.ts.map +1 -0
  400. package/dist/src/components/ai-tool/ai-tool.d.ts +138 -0
  401. package/dist/src/components/ai-tool/ai-tool.d.ts.map +1 -0
  402. package/dist/src/components/ai-tool/index.d.ts +2 -0
  403. package/dist/src/components/ai-tool/index.d.ts.map +1 -0
  404. package/dist/src/components/ai-usage-bar/ai-usage-bar.d.ts +38 -0
  405. package/dist/src/components/ai-usage-bar/ai-usage-bar.d.ts.map +1 -0
  406. package/dist/src/components/ai-usage-bar/index.d.ts +2 -0
  407. package/dist/src/components/ai-usage-bar/index.d.ts.map +1 -0
  408. package/dist/src/components/badge/badge.d.ts +129 -0
  409. package/dist/src/components/badge/badge.d.ts.map +1 -0
  410. package/dist/src/components/badge/index.d.ts +2 -0
  411. package/dist/src/components/badge/index.d.ts.map +1 -0
  412. package/dist/src/components/banner/banner.d.ts +80 -0
  413. package/dist/src/components/banner/banner.d.ts.map +1 -0
  414. package/dist/src/components/banner/index.d.ts +2 -0
  415. package/dist/src/components/banner/index.d.ts.map +1 -0
  416. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts +78 -0
  417. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  418. package/dist/src/components/breadcrumbs/index.d.ts +2 -0
  419. package/dist/src/components/breadcrumbs/index.d.ts.map +1 -0
  420. package/dist/src/components/button/button.d.ts +212 -0
  421. package/dist/src/components/button/button.d.ts.map +1 -0
  422. package/dist/src/components/button/index.d.ts +2 -0
  423. package/dist/src/components/button/index.d.ts.map +1 -0
  424. package/dist/src/components/chart/color.d.ts +98 -0
  425. package/dist/src/components/chart/color.d.ts.map +1 -0
  426. package/dist/src/components/chart/echart.d.ts +135 -0
  427. package/dist/src/components/chart/echart.d.ts.map +1 -0
  428. package/dist/src/components/chart/index.d.ts +5 -0
  429. package/dist/src/components/chart/index.d.ts.map +1 -0
  430. package/dist/src/components/chart/legend.d.ts +42 -0
  431. package/dist/src/components/chart/legend.d.ts.map +1 -0
  432. package/dist/src/components/chart/timeseries-chart.d.ts +119 -0
  433. package/dist/src/components/chart/timeseries-chart.d.ts.map +1 -0
  434. package/dist/src/components/checkbox/checkbox.d.ts +174 -0
  435. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -0
  436. package/dist/src/components/checkbox/index.d.ts +2 -0
  437. package/dist/src/components/checkbox/index.d.ts.map +1 -0
  438. package/dist/src/components/clipboard-text/clipboard-text.d.ts +86 -0
  439. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -0
  440. package/dist/src/components/clipboard-text/index.d.ts +2 -0
  441. package/dist/src/components/clipboard-text/index.d.ts.map +1 -0
  442. package/dist/src/components/code/code.d.ts +165 -0
  443. package/dist/src/components/code/code.d.ts.map +1 -0
  444. package/dist/src/components/code/index.d.ts +4 -0
  445. package/dist/src/components/code/index.d.ts.map +1 -0
  446. package/dist/src/components/collapsible/collapsible.d.ts +72 -0
  447. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -0
  448. package/dist/src/components/collapsible/index.d.ts +2 -0
  449. package/dist/src/components/collapsible/index.d.ts.map +1 -0
  450. package/dist/src/components/combobox/combobox.d.ts +188 -0
  451. package/dist/src/components/combobox/combobox.d.ts.map +1 -0
  452. package/dist/src/components/combobox/index.d.ts +2 -0
  453. package/dist/src/components/combobox/index.d.ts.map +1 -0
  454. package/dist/src/components/command-palette/command-palette.d.ts +260 -0
  455. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -0
  456. package/dist/src/components/command-palette/index.d.ts +3 -0
  457. package/dist/src/components/command-palette/index.d.ts.map +1 -0
  458. package/dist/src/components/command-palette/types.d.ts +149 -0
  459. package/dist/src/components/command-palette/types.d.ts.map +1 -0
  460. package/dist/src/components/data-grid/data-grid.d.ts +78 -0
  461. package/dist/src/components/data-grid/data-grid.d.ts.map +1 -0
  462. package/dist/src/components/data-grid/index.d.ts +3 -0
  463. package/dist/src/components/data-grid/index.d.ts.map +1 -0
  464. package/dist/src/components/data-grid/types.d.ts +236 -0
  465. package/dist/src/components/data-grid/types.d.ts.map +1 -0
  466. package/dist/src/components/date-picker/date-picker.d.ts +65 -0
  467. package/dist/src/components/date-picker/date-picker.d.ts.map +1 -0
  468. package/dist/src/components/date-picker/index.d.ts +4 -0
  469. package/dist/src/components/date-picker/index.d.ts.map +1 -0
  470. package/dist/src/components/date-range-picker/date-range-picker.d.ts +125 -0
  471. package/dist/src/components/date-range-picker/date-range-picker.d.ts.map +1 -0
  472. package/dist/src/components/date-range-picker/index.d.ts +5 -0
  473. package/dist/src/components/date-range-picker/index.d.ts.map +1 -0
  474. package/dist/src/components/dialog/dialog.d.ts +189 -0
  475. package/dist/src/components/dialog/dialog.d.ts.map +1 -0
  476. package/dist/src/components/dialog/index.d.ts +2 -0
  477. package/dist/src/components/dialog/index.d.ts.map +1 -0
  478. package/dist/src/components/dropdown/dropdown.d.ts +91 -0
  479. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -0
  480. package/dist/src/components/dropdown/index.d.ts +2 -0
  481. package/dist/src/components/dropdown/index.d.ts.map +1 -0
  482. package/dist/src/components/empty/empty.d.ts +69 -0
  483. package/dist/src/components/empty/empty.d.ts.map +1 -0
  484. package/dist/src/components/empty/index.d.ts +2 -0
  485. package/dist/src/components/empty/index.d.ts.map +1 -0
  486. package/dist/src/components/field/field.d.ts +68 -0
  487. package/dist/src/components/field/field.d.ts.map +1 -0
  488. package/dist/src/components/field/index.d.ts +2 -0
  489. package/dist/src/components/field/index.d.ts.map +1 -0
  490. package/dist/src/components/filters/filters.d.ts +54 -0
  491. package/dist/src/components/filters/filters.d.ts.map +1 -0
  492. package/dist/src/components/filters/helpers.d.ts +56 -0
  493. package/dist/src/components/filters/helpers.d.ts.map +1 -0
  494. package/dist/src/components/filters/index.d.ts +3 -0
  495. package/dist/src/components/filters/index.d.ts.map +1 -0
  496. package/dist/src/components/filters/types.d.ts +148 -0
  497. package/dist/src/components/filters/types.d.ts.map +1 -0
  498. package/dist/src/components/flow/connectors.d.ts +35 -0
  499. package/dist/src/components/flow/connectors.d.ts.map +1 -0
  500. package/dist/src/components/flow/diagram.d.ts +62 -0
  501. package/dist/src/components/flow/diagram.d.ts.map +1 -0
  502. package/dist/src/components/flow/index.d.ts +26 -0
  503. package/dist/src/components/flow/index.d.ts.map +1 -0
  504. package/dist/src/components/flow/node.d.ts +52 -0
  505. package/dist/src/components/flow/node.d.ts.map +1 -0
  506. package/dist/src/components/flow/parallel.d.ts +5 -0
  507. package/dist/src/components/flow/parallel.d.ts.map +1 -0
  508. package/dist/src/components/flow/use-children.d.ts +69 -0
  509. package/dist/src/components/flow/use-children.d.ts.map +1 -0
  510. package/dist/src/components/grid/grid.d.ts +135 -0
  511. package/dist/src/components/grid/grid.d.ts.map +1 -0
  512. package/dist/src/components/grid/index.d.ts +2 -0
  513. package/dist/src/components/grid/index.d.ts.map +1 -0
  514. package/dist/src/components/input/index.d.ts +4 -0
  515. package/dist/src/components/input/index.d.ts.map +1 -0
  516. package/dist/src/components/input/input-area.d.ts +65 -0
  517. package/dist/src/components/input/input-area.d.ts.map +1 -0
  518. package/dist/src/components/input/input-group.d.ts +39 -0
  519. package/dist/src/components/input/input-group.d.ts.map +1 -0
  520. package/dist/src/components/input/input.d.ts +172 -0
  521. package/dist/src/components/input/input.d.ts.map +1 -0
  522. package/dist/src/components/label/index.d.ts +2 -0
  523. package/dist/src/components/label/index.d.ts.map +1 -0
  524. package/dist/src/components/label/label.d.ts +67 -0
  525. package/dist/src/components/label/label.d.ts.map +1 -0
  526. package/dist/src/components/layer-card/index.d.ts +2 -0
  527. package/dist/src/components/layer-card/index.d.ts.map +1 -0
  528. package/dist/src/components/layer-card/layer-card.d.ts +29 -0
  529. package/dist/src/components/layer-card/layer-card.d.ts.map +1 -0
  530. package/dist/src/components/link/index.d.ts +2 -0
  531. package/dist/src/components/link/index.d.ts.map +1 -0
  532. package/dist/src/components/link/link.d.ts +55 -0
  533. package/dist/src/components/link/link.d.ts.map +1 -0
  534. package/dist/src/components/loader/index.d.ts +3 -0
  535. package/dist/src/components/loader/index.d.ts.map +1 -0
  536. package/dist/src/components/loader/loader.d.ts +65 -0
  537. package/dist/src/components/loader/loader.d.ts.map +1 -0
  538. package/dist/src/components/loader/skeleton-line.d.ts +10 -0
  539. package/dist/src/components/loader/skeleton-line.d.ts.map +1 -0
  540. package/dist/src/components/menubar/index.d.ts +3 -0
  541. package/dist/src/components/menubar/index.d.ts.map +1 -0
  542. package/dist/src/components/menubar/menubar.d.ts +66 -0
  543. package/dist/src/components/menubar/menubar.d.ts.map +1 -0
  544. package/dist/src/components/menubar/use-menu-navigation.d.ts +8 -0
  545. package/dist/src/components/menubar/use-menu-navigation.d.ts.map +1 -0
  546. package/dist/src/components/meter/index.d.ts +2 -0
  547. package/dist/src/components/meter/index.d.ts.map +1 -0
  548. package/dist/src/components/meter/meter.d.ts +44 -0
  549. package/dist/src/components/meter/meter.d.ts.map +1 -0
  550. package/dist/src/components/pagination/index.d.ts +2 -0
  551. package/dist/src/components/pagination/index.d.ts.map +1 -0
  552. package/dist/src/components/pagination/pagination.d.ts +60 -0
  553. package/dist/src/components/pagination/pagination.d.ts.map +1 -0
  554. package/dist/src/components/popover/index.d.ts +3 -0
  555. package/dist/src/components/popover/index.d.ts.map +1 -0
  556. package/dist/src/components/popover/popover.d.ts +138 -0
  557. package/dist/src/components/popover/popover.d.ts.map +1 -0
  558. package/dist/src/components/radio/index.d.ts +2 -0
  559. package/dist/src/components/radio/index.d.ts.map +1 -0
  560. package/dist/src/components/radio/radio.d.ts +163 -0
  561. package/dist/src/components/radio/radio.d.ts.map +1 -0
  562. package/dist/src/components/select/index.d.ts +2 -0
  563. package/dist/src/components/select/index.d.ts.map +1 -0
  564. package/dist/src/components/select/select.d.ts +150 -0
  565. package/dist/src/components/select/select.d.ts.map +1 -0
  566. package/dist/src/components/sensitive-input/index.d.ts +2 -0
  567. package/dist/src/components/sensitive-input/index.d.ts.map +1 -0
  568. package/dist/src/components/sensitive-input/sensitive-input.d.ts +94 -0
  569. package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -0
  570. package/dist/src/components/sidebar/index.d.ts +2 -0
  571. package/dist/src/components/sidebar/index.d.ts.map +1 -0
  572. package/dist/src/components/sidebar/sidebar.d.ts +556 -0
  573. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
  574. package/dist/src/components/signalflare-ai-logo/index.d.ts +2 -0
  575. package/dist/src/components/signalflare-ai-logo/index.d.ts.map +1 -0
  576. package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.d.ts +171 -0
  577. package/dist/src/components/signalflare-ai-logo/signalflare-ai-logo.d.ts.map +1 -0
  578. package/dist/src/components/surface/index.d.ts +2 -0
  579. package/dist/src/components/surface/index.d.ts.map +1 -0
  580. package/dist/src/components/surface/surface.d.ts +60 -0
  581. package/dist/src/components/surface/surface.d.ts.map +1 -0
  582. package/dist/src/components/switch/index.d.ts +2 -0
  583. package/dist/src/components/switch/index.d.ts.map +1 -0
  584. package/dist/src/components/switch/switch.d.ts +169 -0
  585. package/dist/src/components/switch/switch.d.ts.map +1 -0
  586. package/dist/src/components/table/index.d.ts +2 -0
  587. package/dist/src/components/table/index.d.ts.map +1 -0
  588. package/dist/src/components/table/table.d.ts +89 -0
  589. package/dist/src/components/table/table.d.ts.map +1 -0
  590. package/dist/src/components/tabs/index.d.ts +3 -0
  591. package/dist/src/components/tabs/index.d.ts.map +1 -0
  592. package/dist/src/components/tabs/tabs.d.ts +105 -0
  593. package/dist/src/components/tabs/tabs.d.ts.map +1 -0
  594. package/dist/src/components/text/index.d.ts +2 -0
  595. package/dist/src/components/text/index.d.ts.map +1 -0
  596. package/dist/src/components/text/text.d.ts +181 -0
  597. package/dist/src/components/text/text.d.ts.map +1 -0
  598. package/dist/src/components/theme-toggle/index.d.ts +2 -0
  599. package/dist/src/components/theme-toggle/index.d.ts.map +1 -0
  600. package/dist/src/components/theme-toggle/theme-toggle.d.ts +68 -0
  601. package/dist/src/components/theme-toggle/theme-toggle.d.ts.map +1 -0
  602. package/dist/src/components/toast/index.d.ts +5 -0
  603. package/dist/src/components/toast/index.d.ts.map +1 -0
  604. package/dist/src/components/toast/toast.d.ts +152 -0
  605. package/dist/src/components/toast/toast.d.ts.map +1 -0
  606. package/dist/src/components/tooltip/index.d.ts +2 -0
  607. package/dist/src/components/tooltip/index.d.ts.map +1 -0
  608. package/dist/src/components/tooltip/tooltip.d.ts +82 -0
  609. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -0
  610. package/dist/src/components/use-agent-harness/index.d.ts +2 -0
  611. package/dist/src/components/use-agent-harness/index.d.ts.map +1 -0
  612. package/dist/src/components/use-agent-harness/use-agent-harness.d.ts +642 -0
  613. package/dist/src/components/use-agent-harness/use-agent-harness.d.ts.map +1 -0
  614. package/dist/src/genui/genui.d.ts +17 -0
  615. package/dist/src/genui/genui.d.ts.map +1 -0
  616. package/dist/src/genui/index.d.ts +19 -0
  617. package/dist/src/genui/index.d.ts.map +1 -0
  618. package/dist/src/index.d.ts +102 -0
  619. package/dist/src/index.d.ts.map +1 -0
  620. package/dist/src/lib/utils.d.ts +2 -0
  621. package/dist/src/lib/utils.d.ts.map +1 -0
  622. package/dist/src/primitives/accordion.d.ts +13 -0
  623. package/dist/src/primitives/accordion.d.ts.map +1 -0
  624. package/dist/src/primitives/alert-dialog.d.ts +13 -0
  625. package/dist/src/primitives/alert-dialog.d.ts.map +1 -0
  626. package/dist/src/primitives/autocomplete.d.ts +13 -0
  627. package/dist/src/primitives/autocomplete.d.ts.map +1 -0
  628. package/dist/src/primitives/avatar.d.ts +13 -0
  629. package/dist/src/primitives/avatar.d.ts.map +1 -0
  630. package/dist/src/primitives/button.d.ts +13 -0
  631. package/dist/src/primitives/button.d.ts.map +1 -0
  632. package/dist/src/primitives/checkbox-group.d.ts +13 -0
  633. package/dist/src/primitives/checkbox-group.d.ts.map +1 -0
  634. package/dist/src/primitives/checkbox.d.ts +13 -0
  635. package/dist/src/primitives/checkbox.d.ts.map +1 -0
  636. package/dist/src/primitives/collapsible.d.ts +13 -0
  637. package/dist/src/primitives/collapsible.d.ts.map +1 -0
  638. package/dist/src/primitives/combobox.d.ts +13 -0
  639. package/dist/src/primitives/combobox.d.ts.map +1 -0
  640. package/dist/src/primitives/context-menu.d.ts +13 -0
  641. package/dist/src/primitives/context-menu.d.ts.map +1 -0
  642. package/dist/src/primitives/csp-provider.d.ts +13 -0
  643. package/dist/src/primitives/csp-provider.d.ts.map +1 -0
  644. package/dist/src/primitives/dialog.d.ts +13 -0
  645. package/dist/src/primitives/dialog.d.ts.map +1 -0
  646. package/dist/src/primitives/direction-provider.d.ts +13 -0
  647. package/dist/src/primitives/direction-provider.d.ts.map +1 -0
  648. package/dist/src/primitives/drawer.d.ts +13 -0
  649. package/dist/src/primitives/drawer.d.ts.map +1 -0
  650. package/dist/src/primitives/field.d.ts +13 -0
  651. package/dist/src/primitives/field.d.ts.map +1 -0
  652. package/dist/src/primitives/fieldset.d.ts +13 -0
  653. package/dist/src/primitives/fieldset.d.ts.map +1 -0
  654. package/dist/src/primitives/form.d.ts +13 -0
  655. package/dist/src/primitives/form.d.ts.map +1 -0
  656. package/dist/src/primitives/index.d.ts +54 -0
  657. package/dist/src/primitives/index.d.ts.map +1 -0
  658. package/dist/src/primitives/input.d.ts +13 -0
  659. package/dist/src/primitives/input.d.ts.map +1 -0
  660. package/dist/src/primitives/menu.d.ts +13 -0
  661. package/dist/src/primitives/menu.d.ts.map +1 -0
  662. package/dist/src/primitives/menubar.d.ts +13 -0
  663. package/dist/src/primitives/menubar.d.ts.map +1 -0
  664. package/dist/src/primitives/meter.d.ts +13 -0
  665. package/dist/src/primitives/meter.d.ts.map +1 -0
  666. package/dist/src/primitives/navigation-menu.d.ts +13 -0
  667. package/dist/src/primitives/navigation-menu.d.ts.map +1 -0
  668. package/dist/src/primitives/number-field.d.ts +13 -0
  669. package/dist/src/primitives/number-field.d.ts.map +1 -0
  670. package/dist/src/primitives/popover.d.ts +13 -0
  671. package/dist/src/primitives/popover.d.ts.map +1 -0
  672. package/dist/src/primitives/preview-card.d.ts +13 -0
  673. package/dist/src/primitives/preview-card.d.ts.map +1 -0
  674. package/dist/src/primitives/progress.d.ts +13 -0
  675. package/dist/src/primitives/progress.d.ts.map +1 -0
  676. package/dist/src/primitives/radio-group.d.ts +13 -0
  677. package/dist/src/primitives/radio-group.d.ts.map +1 -0
  678. package/dist/src/primitives/radio.d.ts +13 -0
  679. package/dist/src/primitives/radio.d.ts.map +1 -0
  680. package/dist/src/primitives/scroll-area.d.ts +13 -0
  681. package/dist/src/primitives/scroll-area.d.ts.map +1 -0
  682. package/dist/src/primitives/select.d.ts +13 -0
  683. package/dist/src/primitives/select.d.ts.map +1 -0
  684. package/dist/src/primitives/separator.d.ts +13 -0
  685. package/dist/src/primitives/separator.d.ts.map +1 -0
  686. package/dist/src/primitives/slider.d.ts +13 -0
  687. package/dist/src/primitives/slider.d.ts.map +1 -0
  688. package/dist/src/primitives/switch.d.ts +13 -0
  689. package/dist/src/primitives/switch.d.ts.map +1 -0
  690. package/dist/src/primitives/tabs.d.ts +13 -0
  691. package/dist/src/primitives/tabs.d.ts.map +1 -0
  692. package/dist/src/primitives/toast.d.ts +13 -0
  693. package/dist/src/primitives/toast.d.ts.map +1 -0
  694. package/dist/src/primitives/toggle-group.d.ts +13 -0
  695. package/dist/src/primitives/toggle-group.d.ts.map +1 -0
  696. package/dist/src/primitives/toggle.d.ts +13 -0
  697. package/dist/src/primitives/toggle.d.ts.map +1 -0
  698. package/dist/src/primitives/toolbar.d.ts +13 -0
  699. package/dist/src/primitives/toolbar.d.ts.map +1 -0
  700. package/dist/src/primitives/tooltip.d.ts +13 -0
  701. package/dist/src/primitives/tooltip.d.ts.map +1 -0
  702. package/dist/src/registry/index.d.ts +8 -0
  703. package/dist/src/registry/index.d.ts.map +1 -0
  704. package/dist/src/registry/types.d.ts +191 -0
  705. package/dist/src/registry/types.d.ts.map +1 -0
  706. package/dist/src/utils/cn.d.ts +4 -0
  707. package/dist/src/utils/cn.d.ts.map +1 -0
  708. package/dist/src/utils/highlight-to-react.d.ts +12 -0
  709. package/dist/src/utils/highlight-to-react.d.ts.map +1 -0
  710. package/dist/src/utils/index.d.ts +3 -0
  711. package/dist/src/utils/index.d.ts.map +1 -0
  712. package/dist/src/utils/link-provider.d.ts +12 -0
  713. package/dist/src/utils/link-provider.d.ts.map +1 -0
  714. package/dist/src/utils/prop-examples.d.ts +36 -0
  715. package/dist/src/utils/prop-examples.d.ts.map +1 -0
  716. package/dist/styles/sf-binding.css +255 -0
  717. package/dist/styles/sf-standalone.css +2 -0
  718. package/dist/styles/sf.css +596 -0
  719. package/dist/styles/theme-fedramp.css +22 -0
  720. package/dist/styles/theme-minimal.css +127 -0
  721. package/dist/styles/theme-navigator.css +137 -0
  722. package/dist/styles/theme-sf.css +191 -0
  723. package/dist/surface-BduI7Ehl.js +18 -0
  724. package/dist/surface-BduI7Ehl.js.map +1 -0
  725. package/dist/switch-CzZBRBL7.js +169 -0
  726. package/dist/switch-CzZBRBL7.js.map +1 -0
  727. package/dist/table-CIMx0Oq0.js +200 -0
  728. package/dist/table-CIMx0Oq0.js.map +1 -0
  729. package/dist/tabs-1cHrYoel.js +54 -0
  730. package/dist/tabs-1cHrYoel.js.map +1 -0
  731. package/dist/text-KJmGkwnf.js +103 -0
  732. package/dist/text-KJmGkwnf.js.map +1 -0
  733. package/dist/theme-toggle-Dpgnoj_Q.js +129 -0
  734. package/dist/theme-toggle-Dpgnoj_Q.js.map +1 -0
  735. package/dist/toast-Nw28a5Cx.js +161 -0
  736. package/dist/toast-Nw28a5Cx.js.map +1 -0
  737. package/dist/tooltip-Cb7QW-7H.js +79 -0
  738. package/dist/tooltip-Cb7QW-7H.js.map +1 -0
  739. package/dist/use-agent-harness-DZzcn96L.js +929 -0
  740. package/dist/use-agent-harness-DZzcn96L.js.map +1 -0
  741. package/dist/utils.js +4 -0
  742. package/package.json +620 -0
  743. package/scripts/component-registry/cache.ts +124 -0
  744. package/scripts/component-registry/discovery.ts +464 -0
  745. package/scripts/component-registry/example-cleanup.ts +168 -0
  746. package/scripts/component-registry/index.test.ts +678 -0
  747. package/scripts/component-registry/index.ts +931 -0
  748. package/scripts/component-registry/markdown-generator.ts +222 -0
  749. package/scripts/component-registry/metadata.ts +653 -0
  750. package/scripts/component-registry/props-filter.ts +313 -0
  751. package/scripts/component-registry/schema-generator.ts +332 -0
  752. package/scripts/component-registry/sub-components.ts +350 -0
  753. package/scripts/component-registry/types.ts +156 -0
  754. package/scripts/component-registry/utils.ts +280 -0
  755. package/scripts/component-registry/variant-parser.ts +262 -0
  756. package/scripts/css-build.ts +117 -0
  757. package/scripts/generate-primitives.ts +178 -0
  758. package/scripts/theme-generator/config.ts +538 -0
  759. package/scripts/theme-generator/generate-css.ts +256 -0
  760. package/scripts/theme-generator/index.ts +161 -0
  761. package/scripts/theme-generator/migrate.ts +584 -0
  762. package/scripts/theme-generator/types.ts +86 -0
  763. package/skills/component-selection/SKILL.md +64 -0
  764. package/skills/installing-blocks/SKILL.md +47 -0
  765. package/skills/theming-and-tokens/SKILL.md +62 -0
@@ -0,0 +1,929 @@
1
+ "use client";
2
+ import { useCallback, useEffect, useReducer, useRef } from "react";
3
+ //#region src/components/use-agent-harness/use-agent-harness.ts
4
+ var SF_USE_AGENT_HARNESS_VARIANTS = {};
5
+ var SF_USE_AGENT_HARNESS_DEFAULT_VARIANTS = {};
6
+ /**
7
+ * Translate a Mastra HarnessEvent into one or more SF HarnessEvents.
8
+ *
9
+ * Mastra sends full HarnessMessage objects on message_update/end, while SF
10
+ * expects incremental deltas + separate thinking events. This function
11
+ * bridges the gap.
12
+ */
13
+ function translateMastraEvent(mastraEvent, prevMessages) {
14
+ const out = [];
15
+ if (mastraEvent.type === "message_start" || mastraEvent.type === "message_update" || mastraEvent.type === "message_end") {
16
+ const msg = mastraEvent.message;
17
+ const prev = prevMessages.get(msg.id);
18
+ if (mastraEvent.type === "message_start") out.push({
19
+ type: "message_start",
20
+ messageId: msg.id,
21
+ role: msg.role
22
+ });
23
+ const textParts = msg.content.filter((p) => p.type === "text");
24
+ const thinkingParts = msg.content.filter((p) => p.type === "thinking");
25
+ const fullText = textParts.map((p) => p.text).join("");
26
+ const prevText = prev ? prev.content.filter((p) => p.type === "text").map((p) => p.text).join("") : "";
27
+ const prevThinking = prev ? prev.content.filter((p) => p.type === "thinking") : [];
28
+ thinkingParts.forEach((part, i) => {
29
+ const thinkingId = `${msg.id}-thinking-${i}`;
30
+ const prevPart = prevThinking[i];
31
+ if (!prevPart) {
32
+ out.push({
33
+ type: "thinking_start",
34
+ thinkingId,
35
+ messageId: msg.id
36
+ });
37
+ if (part.thinking) out.push({
38
+ type: "thinking_delta",
39
+ thinkingId,
40
+ messageId: msg.id,
41
+ delta: part.thinking,
42
+ content: part.thinking
43
+ });
44
+ } else if (part.thinking !== prevPart.thinking) {
45
+ const delta = part.thinking.slice(prevPart.thinking.length);
46
+ if (delta) out.push({
47
+ type: "thinking_delta",
48
+ thinkingId,
49
+ messageId: msg.id,
50
+ delta,
51
+ content: part.thinking
52
+ });
53
+ }
54
+ });
55
+ if (fullText !== prevText && mastraEvent.type !== "message_start") {
56
+ const delta = fullText.slice(prevText.length);
57
+ out.push({
58
+ type: "message_update",
59
+ messageId: msg.id,
60
+ delta,
61
+ content: fullText
62
+ });
63
+ }
64
+ if (mastraEvent.type === "message_end") {
65
+ thinkingParts.forEach((part, i) => {
66
+ out.push({
67
+ type: "thinking_end",
68
+ thinkingId: `${msg.id}-thinking-${i}`,
69
+ messageId: msg.id,
70
+ content: part.thinking
71
+ });
72
+ });
73
+ out.push({
74
+ type: "message_end",
75
+ messageId: msg.id,
76
+ content: fullText
77
+ });
78
+ }
79
+ prevMessages.set(msg.id, msg);
80
+ return out;
81
+ }
82
+ return [mastraEvent];
83
+ }
84
+ /**
85
+ * Wrap a Mastra `Harness` instance as an SF `HarnessAdapter`.
86
+ *
87
+ * Translates Mastra's event format (full `HarnessMessage` objects on
88
+ * `message_update`) into SF's incremental event protocol, and extracts
89
+ * `thinking` content parts into `thinking_start/delta/end` events so the
90
+ * `AgentHarness` block can render them as collapsible reasoning blocks.
91
+ */
92
+ function fromMastraHarness(harness) {
93
+ return {
94
+ subscribe(listener) {
95
+ const prevMessages = /* @__PURE__ */ new Map();
96
+ return harness.subscribe((mastraEvent) => {
97
+ const translated = translateMastraEvent(mastraEvent, prevMessages);
98
+ for (const ev of translated) listener(ev);
99
+ });
100
+ },
101
+ sendMessage: harness.sendMessage.bind(harness),
102
+ respondToToolApproval: harness.respondToToolApproval?.bind(harness),
103
+ respondToQuestion: harness.respondToQuestion?.bind(harness),
104
+ respondToPlanApproval: harness.respondToPlanApproval?.bind(harness),
105
+ abort: harness.abort?.bind(harness),
106
+ steer: harness.steer ? (params) => harness.steer(params) : void 0,
107
+ selectMode: harness.selectMode ? (params) => harness.selectMode(params) : void 0
108
+ };
109
+ }
110
+ var initialState = {
111
+ messageIds: [],
112
+ messages: {},
113
+ toolCalls: {},
114
+ subagents: {},
115
+ omActivities: {},
116
+ thinkings: {},
117
+ questions: {},
118
+ planApprovals: {},
119
+ notices: [],
120
+ taskList: null,
121
+ usage: null,
122
+ isRunning: false,
123
+ timeline: []
124
+ };
125
+ /**
126
+ * Create an empty `AgentHarnessState` with optional partial overrides.
127
+ *
128
+ * Use this when operating in controlled mode — build or derive your own state
129
+ * that conforms to `AgentHarnessState` and pass it directly to `<AgentHarness state={...} />`.
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * const [state, setState] = useState(() => createAgentHarnessState());
134
+ * ```
135
+ */
136
+ function createAgentHarnessState(partial) {
137
+ return {
138
+ ...initialState,
139
+ ...partial
140
+ };
141
+ }
142
+ var _noticeCounter = 0;
143
+ function nextNoticeId() {
144
+ return `notice-${++_noticeCounter}`;
145
+ }
146
+ function getErrorString(error) {
147
+ return typeof error === "string" ? error : error.message;
148
+ }
149
+ function agentHarnessReducer(state, action) {
150
+ if (action.type === "RESET") return { ...initialState };
151
+ const { event, timestamp } = action;
152
+ const timeline = [...state.timeline, {
153
+ event,
154
+ timestamp
155
+ }];
156
+ switch (event.type) {
157
+ case "agent_start": return {
158
+ ...state,
159
+ timeline,
160
+ isRunning: true,
161
+ missionStartedAt: state.missionStartedAt ?? timestamp
162
+ };
163
+ case "agent_end": return {
164
+ ...state,
165
+ timeline,
166
+ isRunning: false,
167
+ missionEndedAt: timestamp
168
+ };
169
+ case "message_start": {
170
+ const msg = {
171
+ id: event.messageId,
172
+ role: event.role,
173
+ content: "",
174
+ isStreaming: event.role === "assistant",
175
+ toolCallIds: [],
176
+ subagentIds: [],
177
+ thinkingIds: [],
178
+ hasOMActivity: false
179
+ };
180
+ return {
181
+ ...state,
182
+ timeline,
183
+ messageIds: [...state.messageIds, event.messageId],
184
+ messages: {
185
+ ...state.messages,
186
+ [event.messageId]: msg
187
+ }
188
+ };
189
+ }
190
+ case "message_update": {
191
+ const existing = state.messages[event.messageId];
192
+ if (!existing) return {
193
+ ...state,
194
+ timeline
195
+ };
196
+ const newContent = event.content !== void 0 ? event.content : existing.content + event.delta;
197
+ return {
198
+ ...state,
199
+ timeline,
200
+ messages: {
201
+ ...state.messages,
202
+ [event.messageId]: {
203
+ ...existing,
204
+ content: newContent
205
+ }
206
+ }
207
+ };
208
+ }
209
+ case "message_end": {
210
+ const existing = state.messages[event.messageId];
211
+ if (!existing) return {
212
+ ...state,
213
+ timeline
214
+ };
215
+ return {
216
+ ...state,
217
+ timeline,
218
+ messages: {
219
+ ...state.messages,
220
+ [event.messageId]: {
221
+ ...existing,
222
+ content: event.content,
223
+ isStreaming: false
224
+ }
225
+ }
226
+ };
227
+ }
228
+ case "tool_start": {
229
+ const toolCall = {
230
+ id: event.toolCallId,
231
+ toolName: event.toolName,
232
+ messageId: event.messageId,
233
+ subagentId: event.subagentId,
234
+ state: "input-streaming",
235
+ inputBuffer: "",
236
+ startedAt: timestamp
237
+ };
238
+ const updatedMessages = event.messageId ? {
239
+ ...state.messages,
240
+ [event.messageId]: {
241
+ ...state.messages[event.messageId],
242
+ toolCallIds: [...state.messages[event.messageId]?.toolCallIds ?? [], event.toolCallId]
243
+ }
244
+ } : state.messages;
245
+ const updatedSubagents = event.subagentId && state.subagents[event.subagentId] ? {
246
+ ...state.subagents,
247
+ [event.subagentId]: {
248
+ ...state.subagents[event.subagentId],
249
+ toolCallIds: [...state.subagents[event.subagentId].toolCallIds, event.toolCallId]
250
+ }
251
+ } : state.subagents;
252
+ return {
253
+ ...state,
254
+ timeline,
255
+ messages: updatedMessages,
256
+ subagents: updatedSubagents,
257
+ toolCalls: {
258
+ ...state.toolCalls,
259
+ [event.toolCallId]: toolCall
260
+ }
261
+ };
262
+ }
263
+ case "tool_input_start": {
264
+ const tc = state.toolCalls[event.toolCallId];
265
+ if (!tc) return {
266
+ ...state,
267
+ timeline
268
+ };
269
+ return {
270
+ ...state,
271
+ timeline,
272
+ toolCalls: {
273
+ ...state.toolCalls,
274
+ [event.toolCallId]: {
275
+ ...tc,
276
+ state: "input-streaming",
277
+ inputBuffer: ""
278
+ }
279
+ }
280
+ };
281
+ }
282
+ case "tool_input_delta": {
283
+ const tc = state.toolCalls[event.toolCallId];
284
+ if (!tc) return {
285
+ ...state,
286
+ timeline
287
+ };
288
+ return {
289
+ ...state,
290
+ timeline,
291
+ toolCalls: {
292
+ ...state.toolCalls,
293
+ [event.toolCallId]: {
294
+ ...tc,
295
+ inputBuffer: (tc.inputBuffer ?? "") + event.delta
296
+ }
297
+ }
298
+ };
299
+ }
300
+ case "tool_input_end": {
301
+ const tc = state.toolCalls[event.toolCallId];
302
+ if (!tc) return {
303
+ ...state,
304
+ timeline
305
+ };
306
+ return {
307
+ ...state,
308
+ timeline,
309
+ toolCalls: {
310
+ ...state.toolCalls,
311
+ [event.toolCallId]: {
312
+ ...tc,
313
+ state: "input-available",
314
+ input: event.input,
315
+ inputBuffer: void 0
316
+ }
317
+ }
318
+ };
319
+ }
320
+ case "tool_approval_required": {
321
+ const tc = state.toolCalls[event.toolCallId] ?? {
322
+ id: event.toolCallId,
323
+ toolName: event.toolName,
324
+ messageId: event.messageId,
325
+ state: "approval-requested",
326
+ toolCallIds: [],
327
+ startedAt: timestamp
328
+ };
329
+ return {
330
+ ...state,
331
+ timeline,
332
+ pendingToolApprovalId: event.toolCallId,
333
+ toolCalls: {
334
+ ...state.toolCalls,
335
+ [event.toolCallId]: {
336
+ ...tc,
337
+ state: "approval-requested",
338
+ input: event.input ?? tc.input,
339
+ approvalState: "awaiting"
340
+ }
341
+ }
342
+ };
343
+ }
344
+ case "tool_update": {
345
+ const tc = state.toolCalls[event.toolCallId];
346
+ if (!tc) return {
347
+ ...state,
348
+ timeline
349
+ };
350
+ return {
351
+ ...state,
352
+ timeline,
353
+ toolCalls: {
354
+ ...state.toolCalls,
355
+ [event.toolCallId]: {
356
+ ...tc,
357
+ summary: event.summary ?? tc.summary
358
+ }
359
+ }
360
+ };
361
+ }
362
+ case "tool_end": {
363
+ const tc = state.toolCalls[event.toolCallId];
364
+ if (!tc) return {
365
+ ...state,
366
+ timeline
367
+ };
368
+ const pendingApprovalId = state.pendingToolApprovalId === event.toolCallId ? void 0 : state.pendingToolApprovalId;
369
+ return {
370
+ ...state,
371
+ timeline,
372
+ pendingToolApprovalId: pendingApprovalId,
373
+ toolCalls: {
374
+ ...state.toolCalls,
375
+ [event.toolCallId]: {
376
+ ...tc,
377
+ state: event.error ? "output-error" : "output-available",
378
+ output: event.output,
379
+ errorText: event.error,
380
+ durationMs: event.durationMs,
381
+ endedAt: timestamp
382
+ }
383
+ }
384
+ };
385
+ }
386
+ case "subagent_start": {
387
+ const subagent = {
388
+ id: event.subagentId,
389
+ agentType: event.agentType,
390
+ name: event.name,
391
+ modelId: event.modelId,
392
+ status: "running",
393
+ content: "",
394
+ toolCallIds: [],
395
+ messageId: event.parentMessageId,
396
+ startedAt: timestamp
397
+ };
398
+ const updatedMessages = event.parentMessageId ? {
399
+ ...state.messages,
400
+ [event.parentMessageId]: {
401
+ ...state.messages[event.parentMessageId],
402
+ subagentIds: [...state.messages[event.parentMessageId]?.subagentIds ?? [], event.subagentId]
403
+ }
404
+ } : state.messages;
405
+ return {
406
+ ...state,
407
+ timeline,
408
+ messages: updatedMessages,
409
+ subagents: {
410
+ ...state.subagents,
411
+ [event.subagentId]: subagent
412
+ }
413
+ };
414
+ }
415
+ case "subagent_text_delta": {
416
+ const sa = state.subagents[event.subagentId];
417
+ if (!sa) return {
418
+ ...state,
419
+ timeline
420
+ };
421
+ return {
422
+ ...state,
423
+ timeline,
424
+ subagents: {
425
+ ...state.subagents,
426
+ [event.subagentId]: {
427
+ ...sa,
428
+ content: sa.content + event.delta
429
+ }
430
+ }
431
+ };
432
+ }
433
+ case "subagent_tool_start": {
434
+ const tc = {
435
+ id: event.toolCallId,
436
+ toolName: event.toolName,
437
+ subagentId: event.subagentId,
438
+ state: "input-streaming",
439
+ inputBuffer: "",
440
+ startedAt: timestamp
441
+ };
442
+ const sa = state.subagents[event.subagentId];
443
+ const updatedSubagents = sa ? {
444
+ ...state.subagents,
445
+ [event.subagentId]: {
446
+ ...sa,
447
+ toolCallIds: [...sa.toolCallIds, event.toolCallId]
448
+ }
449
+ } : state.subagents;
450
+ return {
451
+ ...state,
452
+ timeline,
453
+ subagents: updatedSubagents,
454
+ toolCalls: {
455
+ ...state.toolCalls,
456
+ [event.toolCallId]: tc
457
+ }
458
+ };
459
+ }
460
+ case "subagent_tool_end": {
461
+ const tc = state.toolCalls[event.toolCallId];
462
+ if (!tc) return {
463
+ ...state,
464
+ timeline
465
+ };
466
+ return {
467
+ ...state,
468
+ timeline,
469
+ toolCalls: {
470
+ ...state.toolCalls,
471
+ [event.toolCallId]: {
472
+ ...tc,
473
+ state: event.error ? "output-error" : "output-available",
474
+ output: event.output,
475
+ errorText: event.error,
476
+ durationMs: event.durationMs,
477
+ endedAt: timestamp
478
+ }
479
+ }
480
+ };
481
+ }
482
+ case "subagent_end": {
483
+ const sa = state.subagents[event.subagentId];
484
+ if (!sa) return {
485
+ ...state,
486
+ timeline
487
+ };
488
+ return {
489
+ ...state,
490
+ timeline,
491
+ subagents: {
492
+ ...state.subagents,
493
+ [event.subagentId]: {
494
+ ...sa,
495
+ status: event.error ? "error" : "completed",
496
+ error: event.error,
497
+ durationMs: event.durationMs,
498
+ endedAt: timestamp
499
+ }
500
+ }
501
+ };
502
+ }
503
+ case "subagent_model_changed":
504
+ if (event.subagentId) {
505
+ const sa = state.subagents[event.subagentId];
506
+ if (!sa) return {
507
+ ...state,
508
+ timeline
509
+ };
510
+ return {
511
+ ...state,
512
+ timeline,
513
+ subagents: {
514
+ ...state.subagents,
515
+ [event.subagentId]: {
516
+ ...sa,
517
+ modelId: event.modelId
518
+ }
519
+ }
520
+ };
521
+ }
522
+ return {
523
+ ...state,
524
+ timeline
525
+ };
526
+ case "om_observation_start": {
527
+ const id = event.observationId ?? `om-obs-${Date.now()}`;
528
+ const activity = {
529
+ id,
530
+ type: "observation",
531
+ status: "streaming",
532
+ messageId: state.messageIds[state.messageIds.length - 1]
533
+ };
534
+ return {
535
+ ...state,
536
+ timeline,
537
+ omActivities: {
538
+ ...state.omActivities,
539
+ [id]: activity
540
+ }
541
+ };
542
+ }
543
+ case "om_observation_end": {
544
+ const id = event.observationId ?? Object.keys(state.omActivities).find((k) => state.omActivities[k].type === "observation" && state.omActivities[k].status === "streaming");
545
+ if (!id) return {
546
+ ...state,
547
+ timeline
548
+ };
549
+ return {
550
+ ...state,
551
+ timeline,
552
+ omActivities: {
553
+ ...state.omActivities,
554
+ [id]: {
555
+ ...state.omActivities[id],
556
+ status: "completed",
557
+ text: event.text,
558
+ durationMs: event.durationMs
559
+ }
560
+ }
561
+ };
562
+ }
563
+ case "om_reflection_start": {
564
+ const id = `om-ref-${Date.now()}`;
565
+ const activity = {
566
+ id,
567
+ type: "reflection",
568
+ status: "streaming",
569
+ messageId: state.messageIds[state.messageIds.length - 1]
570
+ };
571
+ return {
572
+ ...state,
573
+ timeline,
574
+ omActivities: {
575
+ ...state.omActivities,
576
+ [id]: activity
577
+ }
578
+ };
579
+ }
580
+ case "om_reflection_end": {
581
+ const id = Object.keys(state.omActivities).find((k) => state.omActivities[k].type === "reflection" && state.omActivities[k].status === "streaming");
582
+ if (!id) return {
583
+ ...state,
584
+ timeline
585
+ };
586
+ return {
587
+ ...state,
588
+ timeline,
589
+ omActivities: {
590
+ ...state.omActivities,
591
+ [id]: {
592
+ ...state.omActivities[id],
593
+ status: "completed",
594
+ text: event.text,
595
+ durationMs: event.durationMs
596
+ }
597
+ }
598
+ };
599
+ }
600
+ case "thinking_start": {
601
+ const thinking = {
602
+ id: event.thinkingId,
603
+ messageId: event.messageId,
604
+ text: "",
605
+ isStreaming: true
606
+ };
607
+ const existingMsg = state.messages[event.messageId];
608
+ return {
609
+ ...state,
610
+ timeline,
611
+ thinkings: {
612
+ ...state.thinkings,
613
+ [event.thinkingId]: thinking
614
+ },
615
+ messages: existingMsg ? {
616
+ ...state.messages,
617
+ [event.messageId]: {
618
+ ...existingMsg,
619
+ thinkingIds: [...existingMsg.thinkingIds, event.thinkingId]
620
+ }
621
+ } : state.messages
622
+ };
623
+ }
624
+ case "thinking_delta": {
625
+ const existing = state.thinkings[event.thinkingId];
626
+ if (!existing) return {
627
+ ...state,
628
+ timeline
629
+ };
630
+ const newText = event.content !== void 0 ? event.content : existing.text + event.delta;
631
+ return {
632
+ ...state,
633
+ timeline,
634
+ thinkings: {
635
+ ...state.thinkings,
636
+ [event.thinkingId]: {
637
+ ...existing,
638
+ text: newText
639
+ }
640
+ }
641
+ };
642
+ }
643
+ case "thinking_end": {
644
+ const existing = state.thinkings[event.thinkingId];
645
+ if (!existing) return {
646
+ ...state,
647
+ timeline
648
+ };
649
+ return {
650
+ ...state,
651
+ timeline,
652
+ thinkings: {
653
+ ...state.thinkings,
654
+ [event.thinkingId]: {
655
+ ...existing,
656
+ text: event.content,
657
+ isStreaming: false
658
+ }
659
+ }
660
+ };
661
+ }
662
+ case "ask_question": {
663
+ const q = {
664
+ questionId: event.questionId,
665
+ question: event.question,
666
+ header: event.header,
667
+ options: event.options,
668
+ multiple: event.multiple,
669
+ allowCustom: event.allowCustom,
670
+ status: "pending"
671
+ };
672
+ const lastMsgId = state.messageIds[state.messageIds.length - 1];
673
+ const updatedMessages = lastMsgId ? {
674
+ ...state.messages,
675
+ [lastMsgId]: {
676
+ ...state.messages[lastMsgId],
677
+ questionId: event.questionId
678
+ }
679
+ } : state.messages;
680
+ return {
681
+ ...state,
682
+ timeline,
683
+ pendingQuestionId: event.questionId,
684
+ questions: {
685
+ ...state.questions,
686
+ [event.questionId]: q
687
+ },
688
+ messages: updatedMessages
689
+ };
690
+ }
691
+ case "question_answered": {
692
+ const q = state.questions[event.questionId];
693
+ if (!q) return {
694
+ ...state,
695
+ timeline
696
+ };
697
+ return {
698
+ ...state,
699
+ timeline,
700
+ pendingQuestionId: state.pendingQuestionId === event.questionId ? void 0 : state.pendingQuestionId,
701
+ questions: {
702
+ ...state.questions,
703
+ [event.questionId]: {
704
+ ...q,
705
+ status: "answered",
706
+ answeredWith: event.answer
707
+ }
708
+ }
709
+ };
710
+ }
711
+ case "plan_approval_required": {
712
+ const p = {
713
+ planId: event.planId,
714
+ title: event.title,
715
+ description: event.description,
716
+ steps: event.steps,
717
+ status: "pending"
718
+ };
719
+ const lastMsgId = state.messageIds[state.messageIds.length - 1];
720
+ const updatedMessages = lastMsgId ? {
721
+ ...state.messages,
722
+ [lastMsgId]: {
723
+ ...state.messages[lastMsgId],
724
+ planId: event.planId
725
+ }
726
+ } : state.messages;
727
+ return {
728
+ ...state,
729
+ timeline,
730
+ pendingPlanId: event.planId,
731
+ planApprovals: {
732
+ ...state.planApprovals,
733
+ [event.planId]: p
734
+ },
735
+ messages: updatedMessages
736
+ };
737
+ }
738
+ case "plan_approved": {
739
+ const p = state.planApprovals[event.planId];
740
+ if (!p) return {
741
+ ...state,
742
+ timeline
743
+ };
744
+ return {
745
+ ...state,
746
+ timeline,
747
+ pendingPlanId: state.pendingPlanId === event.planId ? void 0 : state.pendingPlanId,
748
+ planApprovals: {
749
+ ...state.planApprovals,
750
+ [event.planId]: {
751
+ ...p,
752
+ status: "approved"
753
+ }
754
+ }
755
+ };
756
+ }
757
+ case "task_updated": return {
758
+ ...state,
759
+ timeline,
760
+ taskList: {
761
+ tasks: event.tasks,
762
+ title: event.title
763
+ }
764
+ };
765
+ case "usage_update": return {
766
+ ...state,
767
+ timeline,
768
+ usage: {
769
+ inputTokens: event.inputTokens,
770
+ outputTokens: event.outputTokens,
771
+ totalTokens: event.totalTokens,
772
+ cost: event.cost,
773
+ modelId: event.modelId
774
+ }
775
+ };
776
+ case "error": {
777
+ const notice = {
778
+ id: nextNoticeId(),
779
+ level: "error",
780
+ message: getErrorString(event.error),
781
+ messageId: event.messageId
782
+ };
783
+ return {
784
+ ...state,
785
+ timeline,
786
+ notices: [...state.notices, notice]
787
+ };
788
+ }
789
+ case "info": {
790
+ const notice = {
791
+ id: nextNoticeId(),
792
+ level: "info",
793
+ message: event.message
794
+ };
795
+ return {
796
+ ...state,
797
+ timeline,
798
+ notices: [...state.notices, notice]
799
+ };
800
+ }
801
+ case "follow_up_queued": {
802
+ const notice = {
803
+ id: nextNoticeId(),
804
+ level: "info",
805
+ message: `Follow-up queued: ${event.content}`
806
+ };
807
+ return {
808
+ ...state,
809
+ timeline,
810
+ notices: [...state.notices, notice]
811
+ };
812
+ }
813
+ case "workspace_error": return {
814
+ ...state,
815
+ timeline,
816
+ workspaceError: getErrorString(event.error)
817
+ };
818
+ case "workspace_ready": return {
819
+ ...state,
820
+ timeline,
821
+ workspaceError: void 0
822
+ };
823
+ case "workspace_status_changed": {
824
+ const notice = {
825
+ id: nextNoticeId(),
826
+ level: "info",
827
+ message: `Workspace: ${event.status}`
828
+ };
829
+ return {
830
+ ...state,
831
+ timeline,
832
+ notices: [...state.notices, notice]
833
+ };
834
+ }
835
+ case "mode_changed": return {
836
+ ...state,
837
+ timeline,
838
+ modeId: event.modeId,
839
+ modeName: event.modeName
840
+ };
841
+ case "model_changed": return {
842
+ ...state,
843
+ timeline,
844
+ modelId: event.modelId,
845
+ modelName: event.modelName
846
+ };
847
+ case "thread_changed": return {
848
+ ...initialState,
849
+ threadId: event.threadId,
850
+ timeline
851
+ };
852
+ case "thread_created":
853
+ case "thread_deleted":
854
+ case "state_changed":
855
+ case "om_status": return {
856
+ ...state,
857
+ timeline
858
+ };
859
+ default: return {
860
+ ...state,
861
+ timeline
862
+ };
863
+ }
864
+ }
865
+ /**
866
+ * `useAgentHarness` — headless state hook for the AgentHarness UI.
867
+ *
868
+ * Subscribes to a `HarnessAdapter` and reduces all events into a single
869
+ * normalized `AgentHarnessState` object that the `AgentHarness` block
870
+ * (or any custom UI) can render from.
871
+ *
872
+ * @example
873
+ * ```tsx
874
+ * const adapter = fromMastraHarness(harness);
875
+ * const { state, sendMessage, abort } = useAgentHarness({ adapter });
876
+ * ```
877
+ */
878
+ function useAgentHarness({ adapter }) {
879
+ const [state, dispatch] = useReducer(agentHarnessReducer, initialState);
880
+ const adapterRef = useRef(adapter);
881
+ adapterRef.current = adapter;
882
+ useEffect(() => {
883
+ if (!adapter) return;
884
+ return adapter.subscribe((event) => {
885
+ dispatch({
886
+ type: "EVENT",
887
+ event,
888
+ timestamp: Date.now()
889
+ });
890
+ });
891
+ }, [adapter]);
892
+ return {
893
+ state,
894
+ sendMessage: useCallback(async (params) => {
895
+ await adapterRef.current?.sendMessage(params);
896
+ }, []),
897
+ respondToToolApproval: useCallback(async (decision) => {
898
+ await adapterRef.current?.respondToToolApproval?.({ decision });
899
+ }, []),
900
+ respondToQuestion: useCallback(async (questionId, answer) => {
901
+ await adapterRef.current?.respondToQuestion?.({
902
+ questionId,
903
+ answer
904
+ });
905
+ }, []),
906
+ respondToPlanApproval: useCallback(async (planId, response) => {
907
+ await adapterRef.current?.respondToPlanApproval?.({
908
+ planId,
909
+ response
910
+ });
911
+ }, []),
912
+ abort: useCallback(() => {
913
+ adapterRef.current?.abort?.();
914
+ }, []),
915
+ steer: useCallback((content) => {
916
+ adapterRef.current?.steer?.({ content });
917
+ }, []),
918
+ selectMode: useCallback(async (modeId) => {
919
+ await adapterRef.current?.selectMode?.({ modeId });
920
+ }, []),
921
+ reset: useCallback(() => {
922
+ dispatch({ type: "RESET" });
923
+ }, [])
924
+ };
925
+ }
926
+ //#endregion
927
+ export { useAgentHarness as a, fromMastraHarness as i, SF_USE_AGENT_HARNESS_VARIANTS as n, createAgentHarnessState as r, SF_USE_AGENT_HARNESS_DEFAULT_VARIANTS as t };
928
+
929
+ //# sourceMappingURL=use-agent-harness-DZzcn96L.js.map