@signalflare-ai/ui 0.5.0 → 1.0.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 (316) hide show
  1. package/CHANGELOG.md +117 -1
  2. package/ai/USAGE.md +64 -0
  3. package/ai/component-registry.json +492 -618
  4. package/ai/component-registry.md +167 -85
  5. package/ai/schemas.ts +545 -102
  6. package/bin/sf.js +2 -3
  7. package/dist/.build-complete +1 -1
  8. package/dist/ai/schemas.d.ts +1659 -5532
  9. package/dist/ai/schemas.d.ts.map +1 -1
  10. package/dist/{ai-actions-DG1dhDMP.js → ai-actions-DSVeQn4e.js} +1 -1
  11. package/dist/{ai-actions-DG1dhDMP.js.map → ai-actions-DSVeQn4e.js.map} +1 -1
  12. package/dist/{ai-agent-card-BbtL4NII.js → ai-agent-card-BXHwhWAU.js} +1 -1
  13. package/dist/{ai-agent-card-BbtL4NII.js.map → ai-agent-card-BXHwhWAU.js.map} +1 -1
  14. package/dist/{ai-approval-Mb7-BY6i.js → ai-approval-aa0qvjFN.js} +1 -1
  15. package/dist/{ai-approval-Mb7-BY6i.js.map → ai-approval-aa0qvjFN.js.map} +1 -1
  16. package/dist/{ai-code-block-BI_z0UVR.js → ai-code-block-BgtIxtZZ.js} +1 -1
  17. package/dist/{ai-code-block-BI_z0UVR.js.map → ai-code-block-BgtIxtZZ.js.map} +1 -1
  18. package/dist/{ai-conversation-DYtExcrw.js → ai-conversation-CArP7C8K.js} +1 -1
  19. package/dist/{ai-conversation-DYtExcrw.js.map → ai-conversation-CArP7C8K.js.map} +1 -1
  20. package/dist/{ai-info-banner-BpzauUAY.js → ai-info-banner-uFxHHwBA.js} +1 -1
  21. package/dist/{ai-info-banner-BpzauUAY.js.map → ai-info-banner-uFxHHwBA.js.map} +1 -1
  22. package/dist/{ai-message-CV8SBoHM.js → ai-message-BjnFznXy.js} +1 -1
  23. package/dist/{ai-message-CV8SBoHM.js.map → ai-message-BjnFznXy.js.map} +1 -1
  24. package/dist/{ai-mission-header-ByYkJ6YP.js → ai-mission-header-08__gULL.js} +1 -1
  25. package/dist/{ai-mission-header-ByYkJ6YP.js.map → ai-mission-header-08__gULL.js.map} +1 -1
  26. package/dist/ai-part-group-DBtgTgAn.js +277 -0
  27. package/dist/ai-part-group-DBtgTgAn.js.map +1 -0
  28. package/dist/ai-prompt-input-Dy1LfxPk.js +1541 -0
  29. package/dist/ai-prompt-input-Dy1LfxPk.js.map +1 -0
  30. package/dist/{ai-question-Dp1g9k2o.js → ai-question-CHHoDJMg.js} +1 -1
  31. package/dist/{ai-question-Dp1g9k2o.js.map → ai-question-CHHoDJMg.js.map} +1 -1
  32. package/dist/{ai-reasoning-UAmNx_LD.js → ai-reasoning-CnL6ZSr5.js} +84 -5
  33. package/dist/ai-reasoning-CnL6ZSr5.js.map +1 -0
  34. package/dist/{ai-response-BWoVsNQG.js → ai-response-BEUg3xvd.js} +13 -16
  35. package/dist/ai-response-BEUg3xvd.js.map +1 -0
  36. package/dist/{ai-shimmer-BpOmfonu.js → ai-shimmer-By5_L05p.js} +1 -1
  37. package/dist/{ai-shimmer-BpOmfonu.js.map → ai-shimmer-By5_L05p.js.map} +1 -1
  38. package/dist/{ai-status-badge-WhbKVeqn.js → ai-status-badge-BGYGWYF6.js} +1 -1
  39. package/dist/{ai-status-badge-WhbKVeqn.js.map → ai-status-badge-BGYGWYF6.js.map} +1 -1
  40. package/dist/{ai-streaming-text-ClL7FwvD.js → ai-streaming-text-CMfoThV0.js} +1 -1
  41. package/dist/{ai-streaming-text-ClL7FwvD.js.map → ai-streaming-text-CMfoThV0.js.map} +1 -1
  42. package/dist/{ai-subagent-BruGN1UE.js → ai-subagent-DcPRqkAA.js} +1 -1
  43. package/dist/{ai-subagent-BruGN1UE.js.map → ai-subagent-DcPRqkAA.js.map} +1 -1
  44. package/dist/{ai-suggestion-CNsCZj5P.js → ai-suggestion-MgeCg5Ar.js} +1 -1
  45. package/dist/{ai-suggestion-CNsCZj5P.js.map → ai-suggestion-MgeCg5Ar.js.map} +1 -1
  46. package/dist/{ai-task-list-B9CpMDYN.js → ai-task-list-Da9zIm00.js} +9 -12
  47. package/dist/ai-task-list-Da9zIm00.js.map +1 -0
  48. package/dist/{ai-timeline-Bb5ntsr3.js → ai-timeline-Cwu045IR.js} +1 -1
  49. package/dist/ai-timeline-Cwu045IR.js.map +1 -0
  50. package/dist/{ai-tool-BGH8nQ_D.js → ai-tool-Cn1O4xjP.js} +168 -11
  51. package/dist/ai-tool-Cn1O4xjP.js.map +1 -0
  52. package/dist/{ai-usage-bar-BI-p-JBk.js → ai-usage-bar-DjS12DMp.js} +1 -1
  53. package/dist/{ai-usage-bar-BI-p-JBk.js.map → ai-usage-bar-DjS12DMp.js.map} +1 -1
  54. package/dist/catalog.js +3 -3
  55. package/dist/catalog.js.map +1 -1
  56. package/dist/{chart-Bes4MN3C.js → chart-BK3sVPnD.js} +442 -248
  57. package/dist/chart-BK3sVPnD.js.map +1 -0
  58. package/dist/{checkbox-CPX7lBaU.js → checkbox-DYhUmZNw.js} +4 -4
  59. package/dist/checkbox-DYhUmZNw.js.map +1 -0
  60. package/dist/{clipboard-text-92YeCybc.js → clipboard-text-ssybngLw.js} +2 -2
  61. package/dist/{clipboard-text-92YeCybc.js.map → clipboard-text-ssybngLw.js.map} +1 -1
  62. package/dist/{code-DE1Yy1Cu.js → code-Cx-QSoOT.js} +2 -2
  63. package/dist/{code-DE1Yy1Cu.js.map → code-Cx-QSoOT.js.map} +1 -1
  64. package/dist/{combobox-B0bLdsX8.js → combobox-C0iW6a0r.js} +2 -2
  65. package/dist/{combobox-B0bLdsX8.js.map → combobox-C0iW6a0r.js.map} +1 -1
  66. package/dist/command-line/cli.js +22 -27
  67. package/dist/{command-palette-CBTY8EiF.js → command-palette-DGzioeki.js} +2 -2
  68. package/dist/command-palette-DGzioeki.js.map +1 -0
  69. package/dist/components/ai-actions.js +1 -1
  70. package/dist/components/ai-agent-card.js +1 -1
  71. package/dist/components/ai-approval.js +1 -1
  72. package/dist/components/ai-code-block.js +1 -1
  73. package/dist/components/ai-conversation.js +1 -1
  74. package/dist/components/ai-info-banner.js +1 -1
  75. package/dist/components/ai-message.js +1 -1
  76. package/dist/components/ai-mission-header.js +1 -1
  77. package/dist/components/ai-part-group.js +3 -0
  78. package/dist/components/ai-prompt-input.js +2 -2
  79. package/dist/components/ai-question.js +1 -1
  80. package/dist/components/ai-reasoning.js +1 -1
  81. package/dist/components/ai-response.js +1 -1
  82. package/dist/components/ai-shimmer.js +1 -1
  83. package/dist/components/ai-status-badge.js +1 -1
  84. package/dist/components/ai-streaming-text.js +1 -1
  85. package/dist/components/ai-subagent.js +1 -1
  86. package/dist/components/ai-suggestion.js +1 -1
  87. package/dist/components/ai-task-list.js +1 -1
  88. package/dist/components/ai-timeline.js +1 -1
  89. package/dist/components/ai-tool.js +1 -1
  90. package/dist/components/ai-usage-bar.js +1 -1
  91. package/dist/components/chart.js +3 -2
  92. package/dist/components/checkbox.js +1 -1
  93. package/dist/components/clipboard-text.js +1 -1
  94. package/dist/components/code.js +1 -1
  95. package/dist/components/combobox.js +1 -1
  96. package/dist/components/command-palette.js +1 -1
  97. package/dist/components/data-grid.js +1 -1
  98. package/dist/components/date-picker.js +1 -1
  99. package/dist/components/dropdown.js +1 -1
  100. package/dist/components/filters.js +1 -1
  101. package/dist/components/input.js +2 -2
  102. package/dist/components/link.js +2 -2
  103. package/dist/components/link.js.map +1 -1
  104. package/dist/components/pagination.js +1 -1
  105. package/dist/components/radio.js +1 -1
  106. package/dist/components/select.js +1 -1
  107. package/dist/components/sensitive-input.js +1 -1
  108. package/dist/components/sidebar.js +1 -1
  109. package/dist/components/sparkline.js +3 -0
  110. package/dist/components/stat-card.js +3 -0
  111. package/dist/components/table.js +1 -1
  112. package/dist/components/text-roll.js +3 -0
  113. package/dist/components/theme-toggle.js +1 -1
  114. package/dist/components/use-agent-harness.js +1 -1
  115. package/dist/{data-grid-UJ9ja5cu.js → data-grid-CG76N_hK.js} +6 -6
  116. package/dist/data-grid-CG76N_hK.js.map +1 -0
  117. package/dist/{date-picker-ebekkC3R.js → date-picker-Dqg9L4xu.js} +2 -2
  118. package/dist/{date-picker-ebekkC3R.js.map → date-picker-Dqg9L4xu.js.map} +1 -1
  119. package/dist/{dist-BNlyONdD.js → dist-1-gcEL2L.js} +224 -135
  120. package/dist/dist-1-gcEL2L.js.map +1 -0
  121. package/dist/{dropdown-J5T4pHaR.js → dropdown-qnEYRFXZ.js} +2 -2
  122. package/dist/{dropdown-J5T4pHaR.js.map → dropdown-qnEYRFXZ.js.map} +1 -1
  123. package/dist/echart-DURZEyai.js +314 -0
  124. package/dist/echart-DURZEyai.js.map +1 -0
  125. package/dist/{filters-BdBogf7D.js → filters-Bw_U6ZTx.js} +5 -5
  126. package/dist/filters-Bw_U6ZTx.js.map +1 -0
  127. package/dist/flow-BRsYUCJa.js.map +1 -1
  128. package/dist/genui.js +2 -2
  129. package/dist/genui.js.map +1 -1
  130. package/dist/index.js +45 -42
  131. package/dist/index.js.map +1 -1
  132. package/dist/{input-BxQAnXki.js → input-DXYUjGgD.js} +2 -2
  133. package/dist/{input-BxQAnXki.js.map → input-DXYUjGgD.js.map} +1 -1
  134. package/dist/{input-Cn25I4o5.js → input-DddtBN-g.js} +2 -2
  135. package/dist/{input-Cn25I4o5.js.map → input-DddtBN-g.js.map} +1 -1
  136. package/dist/layer-card-BME0eljh.js.map +1 -1
  137. package/dist/{pagination-C_YqCy8l.js → pagination-BVqdlONY.js} +2 -2
  138. package/dist/{pagination-C_YqCy8l.js.map → pagination-BVqdlONY.js.map} +1 -1
  139. package/dist/primitives/otp-field.js +2 -0
  140. package/dist/primitives.js +1 -0
  141. package/dist/{radio-B7zg1wUI.js → radio-BNSwOt3B.js} +3 -3
  142. package/dist/radio-BNSwOt3B.js.map +1 -0
  143. package/dist/{select-9p721G00.js → select-1w2aebGQ.js} +2 -2
  144. package/dist/select-1w2aebGQ.js.map +1 -0
  145. package/dist/{sensitive-input-D5je2NLl.js → sensitive-input-82Cez3vj.js} +2 -2
  146. package/dist/{sensitive-input-D5je2NLl.js.map → sensitive-input-82Cez3vj.js.map} +1 -1
  147. package/dist/{sidebar-DOwBrq57.js → sidebar-CAsCmSpM.js} +3 -3
  148. package/dist/sidebar-CAsCmSpM.js.map +1 -0
  149. package/dist/sparkline-DdbeM4Ai.js +108 -0
  150. package/dist/sparkline-DdbeM4Ai.js.map +1 -0
  151. package/dist/src/blocks/agent-harness/agent-harness.d.ts +30 -9
  152. package/dist/src/blocks/agent-harness/agent-harness.d.ts.map +1 -1
  153. package/dist/src/blocks/agent-harness/agent-harness.stories.tsx +114 -0
  154. package/dist/src/blocks/agent-harness/agent-harness.tsx +144 -63
  155. package/dist/src/blocks/commander/commander.stories.tsx +31 -0
  156. package/dist/src/blocks/dashboard-grid/dashboard-grid.d.ts +48 -0
  157. package/dist/src/blocks/dashboard-grid/dashboard-grid.d.ts.map +1 -0
  158. package/dist/src/blocks/dashboard-grid/dashboard-grid.stories.tsx +19 -0
  159. package/dist/src/blocks/dashboard-grid/dashboard-grid.tsx +110 -0
  160. package/dist/src/blocks/dashboard-grid/index.d.ts +2 -0
  161. package/dist/src/blocks/dashboard-grid/index.d.ts.map +1 -0
  162. package/dist/src/blocks/delete-resource/delete-resource.stories.tsx +31 -0
  163. package/dist/src/blocks/map-block/map-block.stories.tsx +41 -0
  164. package/dist/src/blocks/metrics-overview/index.d.ts +2 -0
  165. package/dist/src/blocks/metrics-overview/index.d.ts.map +1 -0
  166. package/dist/src/blocks/metrics-overview/metrics-overview.d.ts +67 -0
  167. package/dist/src/blocks/metrics-overview/metrics-overview.d.ts.map +1 -0
  168. package/dist/src/blocks/metrics-overview/metrics-overview.stories.tsx +26 -0
  169. package/dist/src/blocks/metrics-overview/metrics-overview.tsx +139 -0
  170. package/dist/src/blocks/page-header/page-header.stories.tsx +56 -0
  171. package/dist/src/blocks/resource-list/resource-list.stories.tsx +31 -0
  172. package/dist/src/catalog/catalog.d.ts +1 -1
  173. package/dist/src/catalog/index.d.ts +1 -1
  174. package/dist/src/catalog/types.d.ts +1 -1
  175. package/dist/src/command-line/build-cli.d.ts +1 -1
  176. package/dist/src/command-line/cli.d.ts +1 -1
  177. package/dist/src/command-line/commands/add.d.ts +1 -1
  178. package/dist/src/command-line/commands/add.d.ts.map +1 -1
  179. package/dist/src/command-line/commands/ai.d.ts.map +1 -1
  180. package/dist/src/command-line/commands/blocks.d.ts +1 -1
  181. package/dist/src/command-line/commands/blocks.d.ts.map +1 -1
  182. package/dist/src/command-line/commands/doc.d.ts +1 -1
  183. package/dist/src/command-line/commands/doc.d.ts.map +1 -1
  184. package/dist/src/command-line/commands/ls.d.ts +1 -1
  185. package/dist/src/command-line/commands/ls.d.ts.map +1 -1
  186. package/dist/src/command-line/commands/migrate.d.ts +3 -3
  187. package/dist/src/command-line/commands/migrate.d.ts.map +1 -1
  188. package/dist/src/command-line/utils/config.d.ts +1 -1
  189. package/dist/src/command-line/utils/transformer.d.ts +1 -1
  190. package/dist/src/components/ai-part-group/ai-part-group.d.ts +134 -0
  191. package/dist/src/components/ai-part-group/ai-part-group.d.ts.map +1 -0
  192. package/dist/src/components/ai-part-group/index.d.ts +2 -0
  193. package/dist/src/components/ai-part-group/index.d.ts.map +1 -0
  194. package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts +196 -7
  195. package/dist/src/components/ai-prompt-input/ai-prompt-input.d.ts.map +1 -1
  196. package/dist/src/components/ai-prompt-input/controller.d.ts +41 -0
  197. package/dist/src/components/ai-prompt-input/controller.d.ts.map +1 -0
  198. package/dist/src/components/ai-prompt-input/index.d.ts +3 -1
  199. package/dist/src/components/ai-prompt-input/index.d.ts.map +1 -1
  200. package/dist/src/components/ai-prompt-input/types.d.ts +86 -0
  201. package/dist/src/components/ai-prompt-input/types.d.ts.map +1 -0
  202. package/dist/src/components/ai-reasoning/ai-reasoning.d.ts +17 -1
  203. package/dist/src/components/ai-reasoning/ai-reasoning.d.ts.map +1 -1
  204. package/dist/src/components/ai-response/ai-response.d.ts +1 -2
  205. package/dist/src/components/ai-response/ai-response.d.ts.map +1 -1
  206. package/dist/src/components/ai-task-list/ai-task-list.d.ts.map +1 -1
  207. package/dist/src/components/ai-tool/ai-tool.d.ts +17 -1
  208. package/dist/src/components/ai-tool/ai-tool.d.ts.map +1 -1
  209. package/dist/src/components/chart/area-chart.d.ts +69 -0
  210. package/dist/src/components/chart/area-chart.d.ts.map +1 -0
  211. package/dist/src/components/chart/bar-chart.d.ts +60 -0
  212. package/dist/src/components/chart/bar-chart.d.ts.map +1 -0
  213. package/dist/src/components/chart/color.d.ts +56 -0
  214. package/dist/src/components/chart/color.d.ts.map +1 -1
  215. package/dist/src/components/chart/echart.d.ts.map +1 -1
  216. package/dist/src/components/chart/index.d.ts +5 -0
  217. package/dist/src/components/chart/index.d.ts.map +1 -1
  218. package/dist/src/components/chart/pie-chart.d.ts +64 -0
  219. package/dist/src/components/chart/pie-chart.d.ts.map +1 -0
  220. package/dist/src/components/chart/scatter-chart.d.ts +57 -0
  221. package/dist/src/components/chart/scatter-chart.d.ts.map +1 -0
  222. package/dist/src/components/chart/stacked-bar-chart.d.ts +59 -0
  223. package/dist/src/components/chart/stacked-bar-chart.d.ts.map +1 -0
  224. package/dist/src/components/chart/timeseries-chart.d.ts.map +1 -1
  225. package/dist/src/components/code/code.d.ts +1 -1
  226. package/dist/src/components/command-palette/command-palette.d.ts +1 -1
  227. package/dist/src/components/data-grid/data-grid.d.ts.map +1 -1
  228. package/dist/src/components/data-grid/index.d.ts +1 -1
  229. package/dist/src/components/data-grid/index.d.ts.map +1 -1
  230. package/dist/src/components/data-grid/types.d.ts.map +1 -1
  231. package/dist/src/components/date-picker/date-picker.d.ts +2 -2
  232. package/dist/src/components/filters/filters.d.ts.map +1 -1
  233. package/dist/src/components/filters/helpers.d.ts.map +1 -1
  234. package/dist/src/components/filters/types.d.ts.map +1 -1
  235. package/dist/src/components/layer-card/layer-card.d.ts +1 -1
  236. package/dist/src/components/link/link.d.ts +2 -2
  237. package/dist/src/components/radio/radio.d.ts +1 -1
  238. package/dist/src/components/select/select.d.ts +1 -1
  239. package/dist/src/components/sidebar/sidebar.d.ts +2 -2
  240. package/dist/src/components/sparkline/index.d.ts +2 -0
  241. package/dist/src/components/sparkline/index.d.ts.map +1 -0
  242. package/dist/src/components/sparkline/sparkline.d.ts +52 -0
  243. package/dist/src/components/sparkline/sparkline.d.ts.map +1 -0
  244. package/dist/src/components/stat-card/index.d.ts +2 -0
  245. package/dist/src/components/{ai-loader → stat-card}/index.d.ts.map +1 -1
  246. package/dist/src/components/stat-card/stat-card.d.ts +80 -0
  247. package/dist/src/components/stat-card/stat-card.d.ts.map +1 -0
  248. package/dist/src/components/text-roll/index.d.ts +2 -0
  249. package/dist/src/components/text-roll/index.d.ts.map +1 -0
  250. package/dist/src/components/text-roll/text-roll.d.ts +49 -0
  251. package/dist/src/components/text-roll/text-roll.d.ts.map +1 -0
  252. package/dist/src/components/toast/toast.d.ts.map +1 -1
  253. package/dist/src/components/use-agent-harness/use-agent-harness.d.ts +2 -2
  254. package/dist/src/genui/genui.d.ts.map +1 -1
  255. package/dist/src/index.d.ts +5 -2
  256. package/dist/src/index.d.ts.map +1 -1
  257. package/dist/src/primitives/index.d.ts +1 -0
  258. package/dist/src/primitives/index.d.ts.map +1 -1
  259. package/dist/src/primitives/otp-field.d.ts +13 -0
  260. package/dist/src/primitives/otp-field.d.ts.map +1 -0
  261. package/dist/src/registry/index.d.ts +1 -1
  262. package/dist/src/registry/types.d.ts +1 -1
  263. package/dist/stat-card-CEZscNh8.js +103 -0
  264. package/dist/stat-card-CEZscNh8.js.map +1 -0
  265. package/dist/styles/sf-binding.css +20 -62
  266. package/dist/styles/sf-standalone.css +2 -2
  267. package/dist/styles/shadcn.css +120 -0
  268. package/dist/styles/theme-blue-tint.css +98 -0
  269. package/dist/styles/theme-fedramp.css +3 -12
  270. package/dist/styles/theme-minimal.css +26 -104
  271. package/dist/styles/theme-sf.css +96 -114
  272. package/dist/{table-CIMx0Oq0.js → table-Rv4JMy0B.js} +2 -2
  273. package/dist/{table-CIMx0Oq0.js.map → table-Rv4JMy0B.js.map} +1 -1
  274. package/dist/text-roll-BZ3I1umc.js +79 -0
  275. package/dist/text-roll-BZ3I1umc.js.map +1 -0
  276. package/dist/{theme-toggle-Dpgnoj_Q.js → theme-toggle-Bhu681D7.js} +1 -1
  277. package/dist/{theme-toggle-Dpgnoj_Q.js.map → theme-toggle-Bhu681D7.js.map} +1 -1
  278. package/dist/{use-agent-harness-DZzcn96L.js → use-agent-harness-BMyF8pTq.js} +5 -5
  279. package/dist/use-agent-harness-BMyF8pTq.js.map +1 -0
  280. package/package.json +48 -19
  281. package/scripts/component-registry/discovery.ts +2 -2
  282. package/scripts/component-registry/index.ts +1 -1
  283. package/scripts/component-registry/props-filter.ts +1 -1
  284. package/scripts/component-registry/utils.ts +5 -5
  285. package/scripts/component-registry/variant-parser.ts +124 -19
  286. package/scripts/convert-demos-to-stories.ts +253 -0
  287. package/scripts/css-build.ts +4 -3
  288. package/scripts/generate-primitives.ts +11 -3
  289. package/scripts/theme-generator/config.ts +339 -71
  290. package/scripts/theme-generator/generate-css.ts +17 -3
  291. package/scripts/theme-generator/index.ts +3 -3
  292. package/scripts/theme-generator/migrate.ts +1 -1
  293. package/dist/ai-loader-Cr3eQkNS.js +0 -134
  294. package/dist/ai-loader-Cr3eQkNS.js.map +0 -1
  295. package/dist/ai-prompt-input-Bo1YuJly.js +0 -769
  296. package/dist/ai-prompt-input-Bo1YuJly.js.map +0 -1
  297. package/dist/ai-reasoning-UAmNx_LD.js.map +0 -1
  298. package/dist/ai-response-BWoVsNQG.js.map +0 -1
  299. package/dist/ai-task-list-B9CpMDYN.js.map +0 -1
  300. package/dist/ai-timeline-Bb5ntsr3.js.map +0 -1
  301. package/dist/ai-tool-BGH8nQ_D.js.map +0 -1
  302. package/dist/chart-Bes4MN3C.js.map +0 -1
  303. package/dist/checkbox-CPX7lBaU.js.map +0 -1
  304. package/dist/command-palette-CBTY8EiF.js.map +0 -1
  305. package/dist/components/ai-loader.js +0 -3
  306. package/dist/data-grid-UJ9ja5cu.js.map +0 -1
  307. package/dist/dist-BNlyONdD.js.map +0 -1
  308. package/dist/filters-BdBogf7D.js.map +0 -1
  309. package/dist/radio-B7zg1wUI.js.map +0 -1
  310. package/dist/select-9p721G00.js.map +0 -1
  311. package/dist/sidebar-DOwBrq57.js.map +0 -1
  312. package/dist/src/components/ai-loader/ai-loader.d.ts +0 -44
  313. package/dist/src/components/ai-loader/ai-loader.d.ts.map +0 -1
  314. package/dist/src/components/ai-loader/index.d.ts +0 -2
  315. package/dist/styles/theme-navigator.css +0 -137
  316. package/dist/use-agent-harness-DZzcn96L.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/blocks.ts"],"names":[],"mappings":";AACA;;;GAGG;AAsCH;;GAEG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAmD7B"}
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/blocks.ts"],"names":[],"mappings":";AACA;;;GAGG;AAqCH;;GAEG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAmD7B"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Get documentation for a specific SF component
3
+ * Get documentation for a specific SignalFlare component
4
4
  * Usage: sf doc <ComponentName>
5
5
  */
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/doc.ts"],"names":[],"mappings":";AACA;;;GAGG;AAoMH;;GAEG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAsB3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CA+BhD"}
1
+ {"version":3,"file":"doc.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/doc.ts"],"names":[],"mappings":";AACA;;;GAGG;AAmMH;;GAEG;AACH,wBAAgB,IAAI,IAAI,IAAI,CAsB3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CA+BhD"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * List all SF components
3
+ * List all SignalFlare components
4
4
  * Usage: sf ls
5
5
  */
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/ls.ts"],"names":[],"mappings":";AACA;;;GAGG;AAoCH;;GAEG;AACH,wBAAgB,EAAE,IAAI,IAAI,CAwCzB"}
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/ls.ts"],"names":[],"mappings":";AACA;;;GAGG;AAmCH;;GAEG;AACH,wBAAgB,EAAE,IAAI,IAAI,CAwCzB"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * SF CLI migrate command
2
+ * SignalFlare CLI migrate command
3
3
  *
4
- * For CONSUMERS: Exports the token rename map when SF releases breaking changes.
4
+ * For CONSUMERS: Exports the token rename map when SignalFlare releases breaking changes.
5
5
  * The actual rename map is embedded at build time from the theme-generator config.
6
6
  *
7
- * For KUMO MAINTAINERS: Use `bun run migrate:tokens` for the full migration workflow.
7
+ * For SIGNALFLARE MAINTAINERS: Use `bun run migrate:tokens` for the full migration workflow.
8
8
  */
9
9
  export declare function migrate(args: string[]): void;
10
10
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6GH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA2C5C"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../src/command-line/commands/migrate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6GH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CA6C5C"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * SF CLI configuration utilities
2
+ * SignalFlare CLI configuration utilities
3
3
  * Handles reading and writing sf.json config files
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Import path transformer for SF blocks
2
+ * Import path transformer for SignalFlare blocks
3
3
  * Transforms relative imports to package imports when installing blocks via CLI
4
4
  */
5
5
  /**
@@ -0,0 +1,134 @@
1
+ import { ComponentProps, ReactNode } from 'react';
2
+ type FrozenStep = {
3
+ kind: "tool" | "reasoning";
4
+ name: string;
5
+ ok: boolean;
6
+ duration?: number;
7
+ };
8
+ type FrozenSnapshot = {
9
+ title: string;
10
+ steps: FrozenStep[];
11
+ errorCount: number;
12
+ totalDuration: number;
13
+ };
14
+ /** Test-only escape hatch for clearing the snapshot cache. */
15
+ export declare function _clearAiPartGroupCache(): void;
16
+ /**
17
+ * Reads the frozen snapshot for a group, or `undefined` if it hasn't completed
18
+ * yet. Useful for consumers driving custom layouts.
19
+ */
20
+ export declare function getAiPartGroupSnapshot(groupKey: string): FrozenSnapshot | undefined;
21
+ export type AiPartGroupProps = Omit<ComponentProps<"div">, "title"> & {
22
+ /**
23
+ * Stable identifier — usually the parent message id. Required so the group
24
+ * can persist its frozen snapshot across re-mounts (scroll-back into a
25
+ * virtualized list re-renders without restarting animations).
26
+ */
27
+ groupKey: string;
28
+ /**
29
+ * Set to `true` once the parent stream has finished. Triggers the group to
30
+ * snapshot its current children and from then on render only the static
31
+ * collapsed summary — ephemeral children never re-mount.
32
+ */
33
+ complete?: boolean;
34
+ /**
35
+ * Max number of live ephemeral rows visible at once during streaming.
36
+ * Older rows fall off the top. Pinned rows (errors / user-expanded) render
37
+ * above the live window and do not count toward this cap.
38
+ * @default 3
39
+ */
40
+ max?: number;
41
+ /**
42
+ * Title shown in the collapsed summary line. Falls back to the first
43
+ * reasoning text snippet, then to a step count.
44
+ */
45
+ title?: string;
46
+ /** Child ephemeral rows (`AiToolCall variant="ephemeral"`, `AiReasoning variant="ephemeral"`). */
47
+ children?: ReactNode;
48
+ };
49
+ /**
50
+ * Groups streaming ephemeral activity (tool calls + reasoning) into a single
51
+ * rolling window during streaming, then collapses to a frozen summary line
52
+ * once the parent message completes.
53
+ *
54
+ * Behavior:
55
+ * - **Streaming:** shows the most recent `max` (default 3) ephemeral children.
56
+ * Pinned rows (errors / user-expanded) sit above the live window.
57
+ * - **Completed:** writes a snapshot keyed by `groupKey`, unmounts ephemeral
58
+ * children entirely, and renders a static `▸ {title} · N steps` line.
59
+ * - **Re-mount after completion:** always renders the cached snapshot — no
60
+ * animations, no `useEffect` re-runs, no tool re-execution risk.
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * <AiPartGroup
65
+ * groupKey={message.id}
66
+ * complete={message.status === "complete"}
67
+ * title={message.reasoningSummary}
68
+ * max={3}
69
+ * >
70
+ * {message.parts.map((p) =>
71
+ * p.type === "reasoning"
72
+ * ? <AiReasoning key={p.id} variant="ephemeral" part={p} />
73
+ * : <AiToolCall key={p.toolCallId} variant="ephemeral" part={p} />
74
+ * )}
75
+ * </AiPartGroup>
76
+ * ```
77
+ */
78
+ export declare function AiPartGroup({ groupKey, complete, max, title, children, className, ...props }: AiPartGroupProps): import("react/jsx-runtime").JSX.Element;
79
+ export declare namespace AiPartGroup {
80
+ var displayName: string;
81
+ }
82
+ /**
83
+ * A message part that is either narrative text or an "activity" (reasoning or
84
+ * tool call). Consumers pass parts shaped like this — the helper does not read
85
+ * any field other than `type`.
86
+ */
87
+ export type GroupablePart = {
88
+ type: "text";
89
+ [key: string]: unknown;
90
+ } | {
91
+ type: "reasoning";
92
+ [key: string]: unknown;
93
+ } | {
94
+ type: "tool-call" | "tool-result" | string;
95
+ [key: string]: unknown;
96
+ };
97
+ /** Emitted by {@link groupParts}. */
98
+ export type PartChunk<TPart = GroupablePart> = {
99
+ kind: "text";
100
+ parts: TPart[];
101
+ } | {
102
+ kind: "activity";
103
+ parts: TPart[];
104
+ };
105
+ /**
106
+ * Split a message's parts into alternating `text` and `activity` chunks so each
107
+ * contiguous run of reasoning/tool parts can be rendered inside its own
108
+ * {@link AiPartGroup}, with narrative text rendered between them.
109
+ *
110
+ * @example
111
+ * ```tsx
112
+ * {groupParts(message.parts).map((chunk, i) =>
113
+ * chunk.kind === "text" ? (
114
+ * <AiMessageContent key={i}>{joinText(chunk.parts)}</AiMessageContent>
115
+ * ) : (
116
+ * <AiPartGroup
117
+ * key={i}
118
+ * groupKey={`${message.id}:activity:${i}`}
119
+ * complete={!message.isStreaming}
120
+ * >
121
+ * {chunk.parts.map(renderActivityPart)}
122
+ * </AiPartGroup>
123
+ * )
124
+ * )}
125
+ * ```
126
+ */
127
+ export declare function groupParts<TPart extends {
128
+ type: string;
129
+ }>(parts: readonly TPart[], options?: {
130
+ /** Which `type` values count as "activity". Defaults to reasoning + tool parts. */
131
+ isActivity?: (part: TPart) => boolean;
132
+ }): PartChunk<TPart>[];
133
+ export {};
134
+ //# sourceMappingURL=ai-part-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-part-group.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-part-group/ai-part-group.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAgB,SAAS,EAAE,MAAM,OAAO,CAAC;AASrE,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAMF,8DAA8D;AAC9D,wBAAgB,sBAAsB,SAErC;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,SAAS,CAE5B;AAID,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAAG;IACpE;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,QAAgB,EAChB,GAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,gBAAgB,2CA8ClB;yBAtDe,WAAW;;;AAsS3B;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAE3E,qCAAqC;AACrC,MAAM,MAAM,SAAS,CAAC,KAAK,GAAG,aAAa,IACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,EAAE,CAAA;CAAE,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,KAAK,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACvD,KAAK,EAAE,SAAS,KAAK,EAAE,EACvB,OAAO,GAAE;IACP,mFAAmF;IACnF,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;CAClC,GACL,SAAS,CAAC,KAAK,CAAC,EAAE,CA0BpB"}
@@ -0,0 +1,2 @@
1
+ export { AiPartGroup, getAiPartGroupSnapshot, groupParts, type PartChunk, type GroupablePart, type AiPartGroupProps, } from './ai-part-group';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-part-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,UAAU,EACV,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Menu as DropdownMenuPrimitive } from '@base-ui/react/menu';
2
2
  import { ComponentProps, FormEvent, HTMLAttributes, PropsWithChildren, ReactNode, RefObject } from 'react';
3
3
  import { Button } from '../button';
4
+ import { ModeOption } from './types';
4
5
  export declare const SF_AI_PROMPT_INPUT_VARIANTS: {
5
6
  readonly status: {
6
7
  readonly idle: {
@@ -201,15 +202,203 @@ export type PromptInputActionAddAttachmentsProps = PromptInputActionMenuItemProp
201
202
  label?: string;
202
203
  };
203
204
  export declare const PromptInputActionAddAttachments: ({ label, ...props }: PromptInputActionAddAttachmentsProps) => import("react/jsx-runtime").JSX.Element;
204
- export type PromptInputModeSelectorProps = {
205
- modes: {
206
- modeId: string;
207
- modeName: string;
208
- }[];
205
+ /**
206
+ * Pill-style mode selector.
207
+ *
208
+ * Two wiring modes:
209
+ * 1. **Controller-driven (preferred)** — omit `value`/`onChange`; the selector
210
+ * reads/writes `requestContext.mode` via `usePromptInputController()`.
211
+ * 2. **Explicit props** — pass `value` + `onChange` for controlled usage
212
+ * outside a controller (e.g. standalone demos or legacy harnesses).
213
+ *
214
+ * Generic over `TValue` so consumers with a known id union get narrow types.
215
+ *
216
+ * @example Controller-driven
217
+ * ```tsx
218
+ * <PromptInput onSubmit={(ctx) => send(ctx)}>
219
+ * <PromptInputTextarea />
220
+ * <PromptInputToolbar>
221
+ * <PromptInputModeSelector<'build' | 'plan' | 'research'>
222
+ * options={[
223
+ * { value: 'build', label: 'Build' },
224
+ * { value: 'plan', label: 'Plan' },
225
+ * { value: 'research', label: 'Research' },
226
+ * ]}
227
+ * />
228
+ * <PromptInputSubmit />
229
+ * </PromptInputToolbar>
230
+ * </PromptInput>
231
+ * ```
232
+ *
233
+ * @example Explicit
234
+ * ```tsx
235
+ * <PromptInputModeSelector options={opts} value={mode} onChange={setMode} />
236
+ * ```
237
+ */
238
+ export type PromptInputModeSelectorProps<TValue extends string = string> = {
239
+ /** Available options. Pass an empty array to hide the selector. */
240
+ options: ModeOption<TValue>[];
241
+ /** Controlled value. Omit to bind to `requestContext.mode` via controller. */
242
+ value?: TValue;
243
+ /** Controlled handler. Omit to write `requestContext.mode` via controller. */
244
+ onChange?: (value: TValue) => void;
245
+ /** Optional aria-label override. */
246
+ "aria-label"?: string;
247
+ className?: string;
248
+ };
249
+ export declare const PromptInputModeSelector: <TValue extends string = string>({ options, value: valueProp, onChange: onChangeProp, "aria-label": ariaLabel, className, }: PromptInputModeSelectorProps<TValue>) => import("react/jsx-runtime").JSX.Element | null;
250
+ export type CompactSelectOption = {
251
+ /** Stable value identifier. */
252
+ value: string;
253
+ /** Display label. Falls back to `value` when omitted. */
254
+ label?: string;
255
+ /** Disable selection. */
256
+ disabled?: boolean;
257
+ };
258
+ export type PromptInputCompactSelectProps = {
259
+ /** Available options. Pass an empty array to render nothing. */
260
+ options: CompactSelectOption[];
261
+ /** Controlled value. */
209
262
  value?: string;
210
- onChange?: (modeId: string) => void;
263
+ /** Fires when the user picks a new option. */
264
+ onChange?: (value: string) => void;
265
+ /** Trigger text when `value` is empty or doesn't match any option. */
266
+ placeholder?: string;
267
+ /** aria-label for the trigger. */
268
+ "aria-label"?: string;
269
+ /** Max width of the trigger label (with truncation). Default `160px`. */
270
+ maxWidth?: number | string;
271
+ className?: string;
211
272
  };
212
- export declare const PromptInputModeSelector: ({ modes, value, onChange, }: PromptInputModeSelectorProps) => import("react/jsx-runtime").JSX.Element | null;
273
+ /**
274
+ * Compact Select primitive sized for the PromptInput toolbar.
275
+ *
276
+ * - 24px-tall trigger with `text-[11px]` label and truncating value
277
+ * - Matching compact popup with the same text scale
278
+ *
279
+ * Build toolbar-specific selectors (mode, model, voice, tone, ...) by
280
+ * wrapping this and wiring `value`/`onChange` to your state source.
281
+ */
282
+ export declare const PromptInputCompactSelect: ({ options, value, onChange, placeholder, "aria-label": ariaLabel, maxWidth, className, }: PromptInputCompactSelectProps) => import("react/jsx-runtime").JSX.Element | null;
283
+ export type ModelOption = {
284
+ /** Stable model identifier (e.g. `"anthropic/claude-sonnet-4"`). */
285
+ value: string;
286
+ /** Display label. Falls back to the last path segment of `value`. */
287
+ label?: string;
288
+ /** Optional group/provider label. */
289
+ group?: string;
290
+ /** Disable selection. */
291
+ disabled?: boolean;
292
+ };
293
+ export type PromptInputModelSelectProps = {
294
+ /** Available model options. Pass an empty array to hide the selector. */
295
+ options: ModelOption[];
296
+ /** Controlled value. Omit to bind to `requestContext.model` via controller. */
297
+ value?: string;
298
+ /** Controlled handler. Omit to write `requestContext.model` via controller. */
299
+ onChange?: (value: string) => void;
300
+ /** Optional aria-label override. */
301
+ "aria-label"?: string;
302
+ className?: string;
303
+ };
304
+ /**
305
+ * Compact model selector for the PromptInput toolbar.
306
+ *
307
+ * - Controlled: pass `value` + `onChange`.
308
+ * - Controller-bound: omit both and wrap in `PromptInputRequestControllerProvider`
309
+ * — the selector reads/writes `requestContext.model` automatically.
310
+ */
311
+ export declare const PromptInputModelSelect: ({ options, value: valueProp, onChange: onChangeProp, "aria-label": ariaLabel, className, }: PromptInputModelSelectProps) => import("react/jsx-runtime").JSX.Element;
312
+ export type PromptInputModeSelectProps = {
313
+ /** Available modes. */
314
+ options: ModeOption[];
315
+ /** Controlled value. Omit to bind to `requestContext.mode` via controller. */
316
+ value?: string;
317
+ /** Controlled handler. Omit to write `requestContext.mode` via controller. */
318
+ onChange?: (value: string) => void;
319
+ /** Optional aria-label override. */
320
+ "aria-label"?: string;
321
+ className?: string;
322
+ };
323
+ /**
324
+ * Compact mode selector for the PromptInput toolbar — matches
325
+ * `PromptInputModelSelect` visually. For a segmented button-group look
326
+ * (multi-mode headers, empty states), use `PromptInputModeSelector` instead.
327
+ *
328
+ * - Controlled: pass `value` + `onChange`.
329
+ * - Controller-bound: omit both and wrap in `PromptInputRequestControllerProvider`
330
+ * — the selector reads/writes `requestContext.mode` automatically.
331
+ */
332
+ export declare const PromptInputModeSelect: ({ options, value: valueProp, onChange: onChangeProp, "aria-label": ariaLabel, className, }: PromptInputModeSelectProps) => import("react/jsx-runtime").JSX.Element;
333
+ export type PromptInputCompactCycleProps = {
334
+ /** Available options. Cycles through them in order, wrapping at end. */
335
+ options: CompactSelectOption[];
336
+ /** Current value. If unset (or no match), the first option is highlighted. */
337
+ value?: string;
338
+ /** Fires when the user clicks (advances to next non-disabled option). */
339
+ onChange?: (value: string) => void;
340
+ /** aria-label for the button. */
341
+ "aria-label"?: string;
342
+ /** Show the small cycle icon next to the label. @default true */
343
+ showIcon?: boolean;
344
+ /** Max width of the label (truncates). @default 160px */
345
+ maxWidth?: number | string;
346
+ className?: string;
347
+ };
348
+ /**
349
+ * Single compact button that cycles through `options` on click.
350
+ *
351
+ * - Click / Enter / Space → next option (wraps at end)
352
+ * - Shift+Click / Shift+Enter → previous option
353
+ * - Skips `disabled` options
354
+ *
355
+ * Useful for binary or 2–3 option toggles where a dropdown feels heavy.
356
+ */
357
+ export declare const PromptInputCompactCycle: ({ options, value, onChange, "aria-label": ariaLabel, showIcon, maxWidth, className, }: PromptInputCompactCycleProps) => import("react/jsx-runtime").JSX.Element | null;
358
+ export type PromptInputModeCycleProps = {
359
+ /** Available modes to cycle through. */
360
+ options: ModeOption[];
361
+ /** Controlled value. Omit to bind to `requestContext.mode` via controller. */
362
+ value?: string;
363
+ /** Controlled handler. Omit to write `requestContext.mode` via controller. */
364
+ onChange?: (value: string) => void;
365
+ /** Optional aria-label override. */
366
+ "aria-label"?: string;
367
+ /** Show the small cycle icon next to the label. @default true */
368
+ showIcon?: boolean;
369
+ className?: string;
370
+ };
371
+ /**
372
+ * Click-to-cycle mode picker. Single compact button that advances through
373
+ * `options` on each click. Best for 2–3 modes.
374
+ *
375
+ * - Controlled: pass `value` + `onChange`.
376
+ * - Controller-bound: omit both and wrap in `PromptInputRequestControllerProvider`
377
+ * — reads/writes `requestContext.mode` automatically.
378
+ */
379
+ export declare const PromptInputModeCycle: ({ options, value: valueProp, onChange: onChangeProp, "aria-label": ariaLabel, showIcon, className, }: PromptInputModeCycleProps) => import("react/jsx-runtime").JSX.Element;
380
+ export type PromptInputModelCycleProps = {
381
+ /** Available models to cycle through. */
382
+ options: ModelOption[];
383
+ /** Controlled value. Omit to bind to `requestContext.model` via controller. */
384
+ value?: string;
385
+ /** Controlled handler. Omit to write `requestContext.model` via controller. */
386
+ onChange?: (value: string) => void;
387
+ /** Optional aria-label override. */
388
+ "aria-label"?: string;
389
+ /** Show the small cycle icon next to the label. @default true */
390
+ showIcon?: boolean;
391
+ className?: string;
392
+ };
393
+ /**
394
+ * Click-to-cycle model picker. Single compact button that advances through
395
+ * `options` on each click. Best for 2–3 models.
396
+ *
397
+ * - Controlled: pass `value` + `onChange`.
398
+ * - Controller-bound: omit both and wrap in `PromptInputRequestControllerProvider`
399
+ * — reads/writes `requestContext.model` automatically.
400
+ */
401
+ export declare const PromptInputModelCycle: ({ options, value: valueProp, onChange: onChangeProp, "aria-label": ariaLabel, showIcon, className, }: PromptInputModelCycleProps) => import("react/jsx-runtime").JSX.Element;
213
402
  export type PromptInputAttachmentProps = HTMLAttributes<HTMLDivElement> & {
214
403
  data: AttachmentFile;
215
404
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ai-prompt-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/ai-prompt-input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-prompt-input.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/ai-prompt-input.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { Store } from '@tanstack/store';
2
+ import { AttachmentFile, PromptInputDisplayContext, PromptInputRequestContext, PromptInputSubmitPayload } from './types';
3
+ export type PromptInputRequestController<TExt extends Record<string, unknown> = Record<string, unknown>> = {
4
+ /** Outbound stores (user-edited). */
5
+ request: Store<PromptInputRequestContext<TExt>>;
6
+ /** Inbound stores (harness-pushed). */
7
+ display: Store<PromptInputDisplayContext>;
8
+ /** Imperative helpers. */
9
+ setRequestField: <K extends keyof PromptInputRequestContext<TExt>>(key: K, value: PromptInputRequestContext<TExt>[K]) => void;
10
+ setDisplayField: <K extends keyof PromptInputDisplayContext>(key: K, value: PromptInputDisplayContext[K]) => void;
11
+ /** Attachment helpers (common enough to warrant first-class methods). */
12
+ addAttachments: (files: AttachmentFile[]) => void;
13
+ removeAttachment: (id: string) => void;
14
+ clearAttachments: () => void;
15
+ /** Reset request state (clears text + files; keeps mode/model). */
16
+ resetRequest: () => void;
17
+ /** Snapshot the current request context (for onSubmit). */
18
+ snapshot: () => PromptInputSubmitPayload<TExt>;
19
+ };
20
+ export type CreatePromptInputRequestControllerOptions<TExt extends Record<string, unknown> = Record<string, unknown>> = {
21
+ initialRequest?: Partial<PromptInputRequestContext<TExt>>;
22
+ initialDisplay?: Partial<PromptInputDisplayContext>;
23
+ };
24
+ export declare function createPromptInputRequestController<TExt extends Record<string, unknown> = Record<string, unknown>>(options?: CreatePromptInputRequestControllerOptions<TExt>): PromptInputRequestController<TExt>;
25
+ export declare const PromptInputRequestControllerProvider: import('react').Provider<PromptInputRequestController<any> | null>;
26
+ export declare function usePromptInputRequestController<TExt extends Record<string, unknown> = Record<string, unknown>>(): PromptInputRequestController<TExt>;
27
+ /** Optional variant — returns null if no controller is in context. */
28
+ export declare function useOptionalPromptInputRequestController<TExt extends Record<string, unknown> = Record<string, unknown>>(): PromptInputRequestController<TExt> | null;
29
+ /**
30
+ * Subscribe to one field of the request context. Component re-renders only
31
+ * when that field changes.
32
+ */
33
+ export declare function useRequestField<K extends keyof PromptInputRequestContext<TExt>, TExt extends Record<string, unknown> = Record<string, unknown>>(key: K): PromptInputRequestContext<TExt>[K];
34
+ /** Returns a stable setter for one field of the request context. */
35
+ export declare function useSetRequestField<K extends keyof PromptInputRequestContext<TExt>, TExt extends Record<string, unknown> = Record<string, unknown>>(key: K): (value: PromptInputRequestContext<TExt>[K]) => void;
36
+ /**
37
+ * Subscribe to one field of the display context. Component re-renders only
38
+ * when that field changes.
39
+ */
40
+ export declare function useDisplayField<K extends keyof PromptInputDisplayContext>(key: K): PromptInputDisplayContext[K];
41
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/controller.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- export { PromptInput, PromptInputProvider, PromptInputBody, PromptInputBackLayer, PromptInputTextarea, PromptInputToolbar, PromptInputTools, PromptInputButton, PromptInputSubmit, PromptInputActionMenu, PromptInputActionMenuTrigger, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputActionAddAttachments, PromptInputModeSelector, PromptInputAttachment, PromptInputAttachments, PromptInputSpeechButton, PromptInputAttachButton, usePromptInputController, useProviderAttachments, usePromptInputAttachments, SF_AI_PROMPT_INPUT_VARIANTS, SF_AI_PROMPT_INPUT_DEFAULT_VARIANTS, type PromptInputProps, type PromptInputProviderProps, type PromptInputBodyProps, type PromptInputTextareaProps, type PromptInputToolbarProps, type PromptInputToolsProps, type PromptInputButtonProps, type PromptInputSubmitProps, type PromptInputActionMenuProps, type PromptInputActionMenuTriggerProps, type PromptInputActionMenuContentProps, type PromptInputActionMenuItemProps, type PromptInputActionAddAttachmentsProps, type PromptInputModeSelectorProps, type PromptInputAttachmentProps, type PromptInputAttachmentsProps, type PromptInputSpeechButtonProps, type PromptInputAttachButtonProps, type PromptInputMessage, type PromptInputController, type AttachmentFile, type AttachmentsContext, type TextInputContext, type SFAiPromptInputStatus, type PromptInputBackLayerProps, } from './ai-prompt-input';
1
+ export { PromptInput, PromptInputProvider, PromptInputBody, PromptInputBackLayer, PromptInputTextarea, PromptInputToolbar, PromptInputTools, PromptInputButton, PromptInputSubmit, PromptInputActionMenu, PromptInputActionMenuTrigger, PromptInputActionMenuContent, PromptInputActionMenuItem, PromptInputActionAddAttachments, PromptInputModeSelector, PromptInputModeSelect, PromptInputModelSelect, PromptInputCompactSelect, PromptInputModeCycle, PromptInputModelCycle, PromptInputCompactCycle, PromptInputAttachment, PromptInputAttachments, PromptInputSpeechButton, PromptInputAttachButton, usePromptInputController, useProviderAttachments, usePromptInputAttachments, SF_AI_PROMPT_INPUT_VARIANTS, SF_AI_PROMPT_INPUT_DEFAULT_VARIANTS, type PromptInputProps, type PromptInputProviderProps, type PromptInputBodyProps, type PromptInputTextareaProps, type PromptInputToolbarProps, type PromptInputToolsProps, type PromptInputButtonProps, type PromptInputSubmitProps, type PromptInputActionMenuProps, type PromptInputActionMenuTriggerProps, type PromptInputActionMenuContentProps, type PromptInputActionMenuItemProps, type PromptInputActionAddAttachmentsProps, type PromptInputModeSelectorProps, type PromptInputModeSelectProps, type PromptInputModelSelectProps, type PromptInputCompactSelectProps, type PromptInputModeCycleProps, type PromptInputModelCycleProps, type PromptInputCompactCycleProps, type CompactSelectOption, type ModelOption, type PromptInputAttachmentProps, type PromptInputAttachmentsProps, type PromptInputSpeechButtonProps, type PromptInputAttachButtonProps, type PromptInputMessage, type PromptInputController, type AttachmentFile, type AttachmentsContext, type TextInputContext, type SFAiPromptInputStatus, type PromptInputBackLayerProps, } from './ai-prompt-input';
2
+ export { createPromptInputRequestController, PromptInputRequestControllerProvider, usePromptInputRequestController, useOptionalPromptInputRequestController, useRequestField, useSetRequestField, useDisplayField, type PromptInputRequestController, type CreatePromptInputRequestControllerOptions, } from './controller';
3
+ export type { PromptInputRequestContext, PromptInputDisplayContext, ModeOption, } from './types';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,mCAAmC,EACnC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EACzC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,+BAA+B,EAC/B,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,mCAAmC,EACnC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,8BAA8B,EACnC,KAAK,oCAAoC,EACzC,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,+BAA+B,EAC/B,uCAAuC,EACvC,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,KAAK,4BAA4B,EACjC,KAAK,yCAAyC,GAC/C,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,UAAU,GACX,MAAM,SAAS,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { ReactNode } from 'react';
2
+ export type AttachmentFile = {
3
+ id: string;
4
+ url: string;
5
+ mediaType: string;
6
+ filename: string;
7
+ };
8
+ export type SendStatus = "idle" | "submitted" | "streaming" | "error";
9
+ /**
10
+ * A single option in a mode/model selector. `TValue` is usually a string
11
+ * literal union (e.g. `'build' | 'plan' | 'research'`) when the consumer
12
+ * knows their set of ids.
13
+ */
14
+ export type SelectOption<TValue extends string = string> = {
15
+ value: TValue;
16
+ label: string;
17
+ description?: string;
18
+ icon?: ReactNode;
19
+ disabled?: boolean;
20
+ };
21
+ export type ModeOption<TValue extends string = string> = SelectOption<TValue>;
22
+ export type ModelOption<TValue extends string = string> = SelectOption<TValue>;
23
+ export type TaskStatus = "pending" | "in-progress" | "completed" | "failed";
24
+ export type TaskItem = {
25
+ id: string;
26
+ content: string;
27
+ status: TaskStatus;
28
+ };
29
+ export type QuestionChoice<TValue extends string = string> = {
30
+ value: TValue;
31
+ label: string;
32
+ description?: string;
33
+ };
34
+ export type HitlQuestion<TChoiceValue extends string = string> = {
35
+ id: string;
36
+ prompt: string;
37
+ choices?: QuestionChoice<TChoiceValue>[];
38
+ /** If true, caller expects free-text input rather than choice selection. */
39
+ allowFreeform?: boolean;
40
+ };
41
+ export type HitlPlan = {
42
+ id: string;
43
+ title?: string;
44
+ summary?: string;
45
+ /** Optional rich body (rendered by consumer, e.g. markdown). */
46
+ body?: ReactNode;
47
+ };
48
+ export type UsageInfo = {
49
+ inputTokens?: number;
50
+ outputTokens?: number;
51
+ totalTokens?: number;
52
+ /** Optional cost in USD. */
53
+ costUsd?: number;
54
+ };
55
+ /**
56
+ * The outbound payload — fields the user is actively editing and that get
57
+ * sent on submit. `TExt` lets consumers extend with their own fields
58
+ * (e.g. temperature, tool selection) without patching this type.
59
+ *
60
+ * @example
61
+ * type MyCtx = PromptInputRequestContext<{ temperature: number }>;
62
+ */
63
+ export type PromptInputRequestContext<TExt extends Record<string, unknown> = Record<string, unknown>> = {
64
+ text: string;
65
+ files: AttachmentFile[];
66
+ mode?: string;
67
+ model?: string;
68
+ } & TExt;
69
+ /**
70
+ * Inbound display state — fields the harness writes into the prompt input
71
+ * for sub-components to read (status badges, back-layer tasks, pending HITL).
72
+ */
73
+ export type PromptInputDisplayContext = {
74
+ sendStatus: SendStatus;
75
+ tasks?: TaskItem[];
76
+ taskListTitle?: string;
77
+ pendingQuestion?: HitlQuestion;
78
+ pendingPlan?: HitlPlan;
79
+ usage?: UsageInfo;
80
+ };
81
+ /**
82
+ * What `onSubmit` receives — the full request context snapshot. Consumers
83
+ * pick what they need.
84
+ */
85
+ export type PromptInputSubmitPayload<TExt extends Record<string, unknown> = Record<string, unknown>> = PromptInputRequestContext<TExt>;
86
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/ai-prompt-input/types.ts"],"names":[],"mappings":"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"}