@kitn.ai/ui 0.26.0 → 0.28.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 (488) hide show
  1. package/README.md +25 -6
  2. package/bin/mcp.js +16 -3
  3. package/bin/route.js +23 -0
  4. package/bin/route.test.js +58 -0
  5. package/dist/{elements/chunks/Icon--Y8vsFal.js → Icon-DObhsRtm.js} +1 -1
  6. package/dist/action-icons-CcgNN2oT.js +1 -0
  7. package/dist/arrow-down-CjRU3JgV.js +1 -0
  8. package/dist/arrow-left-Bnpb1UEW.js +1 -0
  9. package/dist/artifact-Bwt7OgcR.js +1 -0
  10. package/dist/assets/dev-5XzXYR21.js +91 -0
  11. package/dist/attachments-Qr4kg-2b.js +1 -0
  12. package/dist/{elements/chunks/audio-visualizer-D7lB6mvR.js → audio-visualizer-DToYdfSc.js} +1 -1
  13. package/dist/badge-CdEu_jn2.js +1 -0
  14. package/dist/bash-InADTalH.js +1 -6
  15. package/dist/bell-DQAAOpDz.js +1 -0
  16. package/dist/{elements/chunks/button-flUbeufF.js → button-DkuOnGLy.js} +1 -1
  17. package/dist/card-renderer-Jx70m6_l.js +1 -0
  18. package/dist/card-routing-0YidER_3.js +1 -0
  19. package/dist/check-njkVdZu2.js +1 -0
  20. package/dist/checkbox-D7iRB3nL.js +1 -0
  21. package/dist/checkbox-group-B2_rpoPM.js +1 -0
  22. package/dist/chevron-down-B72s6PXR.js +1 -0
  23. package/dist/chevron-right-BatuHzUm.js +1 -0
  24. package/dist/choice-card-m0BYqqOK.js +1 -0
  25. package/dist/circle-check-B62pODB3.js +1 -0
  26. package/dist/circle-x-BPG0iPst.js +1 -0
  27. package/dist/circle-zx0ByzY9.js +1 -0
  28. package/dist/{elements/chunks/cn-CU7UAWzk.js → cn-DN5AWfiS.js} +1 -1
  29. package/dist/code-block-ClMLKb7C.js +1 -0
  30. package/dist/{elements/chunks/collapsible-BzbXpPzr.js → collapsible-B4DlWicL.js} +1 -1
  31. package/dist/components/attachment-types.d.ts +7 -0
  32. package/dist/components/audio-visualizer/fit-scale.d.ts +1 -1
  33. package/dist/components/card-renderer.d.ts +13 -0
  34. package/dist/components/card.d.ts +4 -0
  35. package/dist/components/chat-thread.d.ts +135 -2
  36. package/dist/components/conversation-item.d.ts +35 -7
  37. package/dist/components/conversation-list.d.ts +17 -5
  38. package/dist/components/conversation-panel.d.ts +29 -0
  39. package/dist/components/form-widgets.d.ts +67 -2
  40. package/dist/components/form.d.ts +48 -1
  41. package/dist/components/home-panel.d.ts +34 -0
  42. package/dist/components/message.d.ts +25 -3
  43. package/dist/components/reasoning.d.ts +6 -0
  44. package/dist/components/scroll-button.d.ts +11 -0
  45. package/dist/components/thread.d.ts +5 -0
  46. package/dist/components/tool-types.d.ts +9 -0
  47. package/dist/components/widget-tab-bar.d.ts +16 -0
  48. package/dist/composer-sQ0HcvyG.js +106 -0
  49. package/dist/confirm-card-rQWDQsnC.js +1 -0
  50. package/dist/construct-cli.es.js +1337 -0
  51. package/dist/{elements/chunks/context-VLIL3sJ-.js → context-0kg4ZX1J.js} +1 -1
  52. package/dist/controllable-CnGpMF6r.js +1 -0
  53. package/dist/conversation-item-BxwQLaFJ.js +1 -0
  54. package/dist/conversation-list-BCfGN1JU.js +1 -0
  55. package/dist/copy-n9u9rqpi.js +1 -0
  56. package/dist/core-AYMC6_lb.js +12 -5874
  57. package/dist/{create-tween-BFT6c-Y8.js → create-tween-C-q-JCM-.js} +1 -1
  58. package/dist/{create-tween-CJNlzoaO.js → create-tween-CRrJXxBd.js} +1 -1
  59. package/dist/{create-tween-CQED4T0g.js → create-tween-DZ3RRDHD.js} +1 -1
  60. package/dist/{elements/chunks/create-tween-c4Z8TDYz.js → create-tween-uPkArjIG.js} +2 -2
  61. package/dist/css-M7EaDHN_.js +1 -6
  62. package/dist/custom-elements.json +1433 -202
  63. package/dist/default-input-CaMrJkgH.js +1 -0
  64. package/dist/define-By-uL588.js +1 -0
  65. package/dist/define.d.ts +4 -0
  66. package/dist/define.js +510 -0
  67. package/dist/define.server.d.ts +5 -0
  68. package/dist/define.server.js +506 -0
  69. package/dist/{elements/chunks/disclosure-CcNbyLy0.js → disclosure-WUImBbDv.js} +1 -1
  70. package/dist/{elements/chunks/dropdown-BgWTthUx.js → dropdown-wZVeJOMd.js} +1 -1
  71. package/dist/elements/agent-card.js +1 -1
  72. package/dist/elements/artifact.js +1 -1
  73. package/dist/elements/attachments.js +1 -1
  74. package/dist/elements/audio-visualizer.js +1 -1
  75. package/dist/elements/autoloader.js +1 -1
  76. package/dist/elements/avatar.js +1 -1
  77. package/dist/elements/badge.js +1 -1
  78. package/dist/elements/button.js +1 -1
  79. package/dist/elements/card.js +1 -1
  80. package/dist/elements/cards.js +1 -1
  81. package/dist/elements/chain-of-thought.js +1 -1
  82. package/dist/elements/chat-scope-picker.js +1 -1
  83. package/dist/elements/chat-workspace.js +1 -1
  84. package/dist/elements/chat.js +1 -1
  85. package/dist/elements/checkbox-group.d.ts +1 -0
  86. package/dist/elements/checkbox-group.js +1 -0
  87. package/dist/elements/checkbox.d.ts +1 -0
  88. package/dist/elements/checkbox.js +1 -0
  89. package/dist/elements/checkpoint.js +1 -1
  90. package/dist/elements/choice.js +1 -1
  91. package/dist/elements/coachmark.js +1 -1
  92. package/dist/elements/code-block.js +1 -1
  93. package/dist/elements/command.js +1 -1
  94. package/dist/elements/compare.js +1 -1
  95. package/dist/elements/composer.js +1 -1
  96. package/dist/elements/confirm-card.js +1 -1
  97. package/dist/elements/context-meter.js +1 -1
  98. package/dist/elements/conversation-item.js +1 -1
  99. package/dist/elements/conversation-list.js +1 -1
  100. package/dist/elements/define-entry.d.ts +12 -0
  101. package/dist/elements/dialog.js +1 -1
  102. package/dist/elements/dock.js +102 -8
  103. package/dist/elements/dropdown.js +1 -1
  104. package/dist/elements/editable-label.js +1 -1
  105. package/dist/elements/element-data-types.d.ts +37 -0
  106. package/dist/elements/embed.js +1 -1
  107. package/dist/elements/empty.js +1 -1
  108. package/dist/elements/feedback-bar.js +1 -1
  109. package/dist/elements/file-tree.js +1 -1
  110. package/dist/elements/file-upload.js +1 -1
  111. package/dist/elements/form.js +1 -1
  112. package/dist/elements/hover-card.js +1 -1
  113. package/dist/elements/icon.js +1 -1
  114. package/dist/elements/image.js +1 -1
  115. package/dist/elements/input.js +1 -1
  116. package/dist/elements/kbd.js +1 -1
  117. package/dist/elements/link-preview.js +1 -1
  118. package/dist/elements/loader.js +1 -1
  119. package/dist/elements/markdown.js +1 -1
  120. package/dist/elements/menu.js +1 -1
  121. package/dist/elements/message-skills.js +1 -1
  122. package/dist/elements/message.js +1 -1
  123. package/dist/elements/model-switcher.js +1 -1
  124. package/dist/elements/nav.js +1 -1
  125. package/dist/elements/notice.js +1 -1
  126. package/dist/elements/pane-grid.d.ts +1 -0
  127. package/dist/elements/pane-grid.js +1 -0
  128. package/dist/elements/pane-group.js +1 -1
  129. package/dist/elements/pane.js +1 -1
  130. package/dist/elements/popover.js +1 -1
  131. package/dist/elements/progress-bar.js +1 -1
  132. package/dist/elements/prompt-dock.js +1 -1
  133. package/dist/elements/prompt-input.js +1 -1
  134. package/dist/elements/prompt-suggestions.js +1 -1
  135. package/dist/elements/radio-group.d.ts +1 -0
  136. package/dist/elements/radio-group.js +1 -0
  137. package/dist/elements/reasoning.js +1 -1
  138. package/dist/elements/remote.js +1 -1
  139. package/dist/elements/resizable.js +1 -1
  140. package/dist/elements/response-stream.js +2 -2
  141. package/dist/elements/screen.js +1 -1
  142. package/dist/elements/scroll-area.js +1 -1
  143. package/dist/elements/scroll-button.js +1 -1
  144. package/dist/elements/search.js +1 -1
  145. package/dist/elements/segmented.js +1 -1
  146. package/dist/elements/select.d.ts +1 -0
  147. package/dist/elements/select.js +1 -0
  148. package/dist/elements/separator.js +1 -1
  149. package/dist/elements/setting-item.js +1 -1
  150. package/dist/elements/settings-group.js +1 -1
  151. package/dist/elements/skeleton.js +1 -1
  152. package/dist/elements/slider.d.ts +1 -0
  153. package/dist/elements/slider.js +1 -0
  154. package/dist/elements/slots.d.ts +1 -1
  155. package/dist/elements/source.js +1 -1
  156. package/dist/elements/status.js +1 -1
  157. package/dist/elements/switch.js +1 -1
  158. package/dist/elements/tabs.js +1 -1
  159. package/dist/elements/tasks.js +1 -1
  160. package/dist/elements/text-shimmer.js +1 -1
  161. package/dist/elements/thinking-bar.js +1 -1
  162. package/dist/elements/thread.js +1 -1
  163. package/dist/elements/toast.js +1 -1
  164. package/dist/elements/tool.js +1 -1
  165. package/dist/elements/tooltip.js +1 -1
  166. package/dist/elements/voice-input.js +1 -1
  167. package/dist/elements/voice-output.js +1 -1
  168. package/dist/elements.d.ts +380 -26
  169. package/dist/{elements/chunks/ellipsis-7gU33mL2.js → ellipsis-CbOpJnU3.js} +1 -1
  170. package/dist/embed-CrfjkbUG.js +1 -0
  171. package/dist/engine-javascript-vq0WuIJl.js +14 -2516
  172. package/dist/{elements/chunks/external-link-CSOEsNlx.js → external-link-ByXAwBBQ.js} +1 -1
  173. package/dist/file-text-DMib2qwt.js +1 -0
  174. package/dist/{elements/chunks/file-tree-zvB2i7P9.js → file-tree-CJqM2aP7.js} +1 -1
  175. package/dist/folder-_BAb929C.js +1 -0
  176. package/dist/form-DSZgZQZk.js +1 -0
  177. package/dist/github-dark-dimmed-DUshB20C.js +1 -4
  178. package/dist/github-light-JYsPkUQd.js +1 -4
  179. package/dist/hover-card-BQbul9eq.js +1 -0
  180. package/dist/html-CPZ3oZQ7.js +1 -10
  181. package/dist/icon-CdcfRhYI.js +1 -0
  182. package/dist/{elements/chunks/index-BCRhi84a.js → index-xu_pdcPi.js} +1 -1
  183. package/dist/index.d.ts +4 -2
  184. package/dist/index.js +7474 -5857
  185. package/dist/index.server.js +5965 -4762
  186. package/dist/info-DsFjGuI_.js +1 -0
  187. package/dist/input-DKbmkMos.js +1 -0
  188. package/dist/javascript-C25yR2R2.js +1 -6
  189. package/dist/json-DxJze_jm.js +1 -6
  190. package/dist/kai.es.js +1 -1
  191. package/dist/kbd-PvdGhX4s.js +1 -0
  192. package/dist/{elements/chunks/link-preview-OQ9IEq0f.js → link-preview-DbM1866N.js} +1 -1
  193. package/dist/link-zF8PzWfF.js +1 -0
  194. package/dist/loader-BM4CEz4G.js +1 -0
  195. package/dist/{elements/chunks/markdown-DgBFaGAz.js → markdown-LMvmAyBk.js} +7 -7
  196. package/dist/mcp.es.js +1361 -81
  197. package/dist/message-BSsgvHvf.js +1 -0
  198. package/dist/message-BYZECyek.js +1 -0
  199. package/dist/message-circle-DruwObfX.js +1 -0
  200. package/dist/message-square-BG6q6mlm.js +1 -0
  201. package/dist/{elements/chunks/minimize-2-DPIUKTrT.js → minimize-2-BQRoBV1V.js} +1 -1
  202. package/dist/{elements/chunks/model-switcher-DsT8tFB0.js → model-switcher-CMpCOYcB.js} +1 -1
  203. package/dist/{elements/chunks/overlay-DuiwdXjm.js → overlay-Cb-MkyDa.js} +1 -1
  204. package/dist/panel-right-i8warFxT.js +1 -0
  205. package/dist/paperclip-ByY3UVO6.js +1 -0
  206. package/dist/play-BvKKq3fX.js +1 -0
  207. package/dist/primitives/card-data-types.d.ts +49 -0
  208. package/dist/primitives/card-routing.d.ts +1 -33
  209. package/dist/primitives/card-validate.d.ts +2 -2
  210. package/dist/primitives/chat-config.d.ts +29 -2
  211. package/dist/primitives/conversation-store.d.ts +54 -0
  212. package/dist/primitives/field-mask.d.ts +96 -0
  213. package/dist/primitives/field-semantics.d.ts +36 -0
  214. package/dist/primitives/input-mask.d.ts +46 -0
  215. package/dist/primitives/url-scheme-policy.d.ts +34 -0
  216. package/dist/primitives/use-resize-observer.d.ts +2 -2
  217. package/dist/progress-bar-jVAHvMUf.js +1 -0
  218. package/dist/prompt-suggestion-CD-qtNgC.js +1 -0
  219. package/dist/radio-BsoBMhkF.js +1 -0
  220. package/dist/react/index.d.ts +586 -19
  221. package/dist/react.js +223 -187
  222. package/dist/reasoning-4kBPtlTx.js +1 -0
  223. package/dist/register-impl-B1hLkrI8.js +424 -0
  224. package/dist/{elements/chunks/resizable-D181b4fM.js → resizable-uPmY9VY-.js} +1 -1
  225. package/dist/rotate-ccw-B2xn93py.js +1 -0
  226. package/dist/rotate-cw-CMVLoCyH.js +1 -0
  227. package/dist/schemas/form.schema.json +21 -1
  228. package/dist/schemas/tool-defs.d.ts +11 -1
  229. package/dist/schemas.js +81 -81
  230. package/dist/scroll-area-BqLUo8ZZ.js +1 -0
  231. package/dist/scroll-button-DslXiJyL.js +1 -0
  232. package/dist/select-2cLRtPGT.js +1 -0
  233. package/dist/{elements/chunks/separator-CeJHQqLW.js → separator-BWQtNJcM.js} +1 -1
  234. package/dist/{elements/chunks/settings-CqaHgJF9.js → settings-BBR63jLg.js} +1 -1
  235. package/dist/{elements/chunks/settings-group-CjqjLCOn.js → settings-group-B2ciy-Iw.js} +1 -1
  236. package/dist/{elements/chunks/skeleton-D8akBnKS.js → skeleton-CkHI-HgC.js} +1 -1
  237. package/dist/slider-DDR9U-i0.js +1 -0
  238. package/dist/{solid-BtdqNZI7.js → solid-BzCFdL25.js} +9771 -7594
  239. package/dist/{solid-CnavwBye.js → solid-DruVOXnf.js} +7893 -6183
  240. package/dist/solid.d.ts +16 -2
  241. package/dist/solid.js +256 -243
  242. package/dist/solid.server.js +256 -243
  243. package/dist/source-GEnFF528.js +1 -0
  244. package/dist/star-CilHq8GP.js +1 -0
  245. package/dist/state/index.d.ts +1 -1
  246. package/dist/state/mock.d.ts +32 -2
  247. package/dist/state.js +133 -108
  248. package/dist/store-Ciyk6eZG.js +1 -0
  249. package/dist/svelte--5p79yCD.js +1 -15
  250. package/dist/switch-KkeQIbuH.js +1 -0
  251. package/dist/tasks-card-BrN4bggJ.js +1 -0
  252. package/dist/text-shimmer-Dcj1MHuq.js +1 -0
  253. package/dist/textarea-Dpvbngbg.js +1 -0
  254. package/dist/theme.tokens.css +110 -13
  255. package/dist/{elements/chunks/thumbs-up-DX2Ijk3H.js → thumbs-up-CsT9Wzb9.js} +1 -1
  256. package/dist/toast-store-tgK6MuMv.js +1 -0
  257. package/dist/{elements/chunks/tool-DKQ2D1DP.js → tool-DzUjIBT8.js} +1 -1
  258. package/dist/{elements/chunks/tooltip-B0G99y8w.js → tooltip-Bkkg_4t0.js} +1 -1
  259. package/dist/trash-2-jBKxjGGQ.js +1 -0
  260. package/dist/{elements/chunks/triangle-alert-F9cyUEyy.js → triangle-alert-DlQ68ppf.js} +1 -1
  261. package/dist/tsx-B8rCNbgL.js +1 -6
  262. package/dist/types.d.ts +48 -3
  263. package/dist/typescript-RycA9KXf.js +1 -6
  264. package/dist/ui/checkbox-group.d.ts +83 -0
  265. package/dist/ui/checkbox.d.ts +40 -0
  266. package/dist/ui/dock.d.ts +51 -0
  267. package/dist/ui/icon.d.ts +3 -0
  268. package/dist/ui/input.d.ts +48 -2
  269. package/dist/ui/radio.d.ts +85 -0
  270. package/dist/ui/select.d.ts +71 -0
  271. package/dist/ui/slider.d.ts +65 -0
  272. package/dist/ui/switch.d.ts +9 -2
  273. package/dist/upload-TcAHXv9W.js +1 -0
  274. package/dist/url-scheme-policy-DR5DgvkM.js +1 -0
  275. package/dist/use-card-resolution-DaZqAdWf.js +1 -0
  276. package/dist/{elements/chunks/variant-aurora-qt6Zct8M.js → variant-aurora-BhLuYxJR.js} +1 -1
  277. package/dist/{variant-aurora-B8II3-I1.js → variant-aurora-CNmfHhcx.js} +2 -2
  278. package/dist/{variant-aurora-CMNWOSJR.js → variant-aurora-D6GsdTPA.js} +2 -2
  279. package/dist/{variant-aurora-CcuDMWwQ.js → variant-aurora-DbW_OWL2.js} +1 -1
  280. package/dist/{elements/chunks/variant-custom-tJp22_BQ.js → variant-custom-BRvaNHSi.js} +1 -1
  281. package/dist/{variant-custom-L16JLLZy.js → variant-custom-BvYHR62b.js} +1 -1
  282. package/dist/{variant-custom-BdvYC7af.js → variant-custom-DMTrEO5w.js} +2 -2
  283. package/dist/{variant-custom-C714mqKl.js → variant-custom-DV2x254s.js} +2 -2
  284. package/dist/{variant-wave-ecwykeyL.js → variant-wave-BNMGrDfj.js} +2 -2
  285. package/dist/{variant-wave-2S4La2Ka.js → variant-wave-BpDd8t3Z.js} +1 -1
  286. package/dist/{variant-wave-D7ruiA1W.js → variant-wave-CyBueXj9.js} +2 -2
  287. package/dist/{elements/chunks/variant-wave-CaQ5ti39.js → variant-wave-sp-qwsdI.js} +1 -1
  288. package/dist/vue-BmIZj4XD.js +1 -33
  289. package/dist/x-Z5UntkIJ.js +1 -0
  290. package/frameworks/react/index.tsx +210 -22
  291. package/llms-full.txt +1184 -22
  292. package/llms.txt +6 -3
  293. package/package.json +17 -4
  294. package/src/agent-tooling/README.md +192 -0
  295. package/src/agent-tooling/catalog/invariants.ts +3 -3
  296. package/src/agent-tooling/catalog/surfaces.ts +72 -0
  297. package/src/agent-tooling/construct/cli-entry.ts +8 -0
  298. package/src/agent-tooling/construct/cli.ts +147 -0
  299. package/src/agent-tooling/construct/codegen.ts +1635 -0
  300. package/src/agent-tooling/construct/construct.v1.schema.json +319 -0
  301. package/src/agent-tooling/construct/dev.ts +148 -0
  302. package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +7 -0
  303. package/src/agent-tooling/construct/fixtures/ops-console.construct.json +44 -0
  304. package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +32 -0
  305. package/src/agent-tooling/construct/schema.ts +452 -0
  306. package/src/agent-tooling/mcp/server.ts +2 -1
  307. package/src/agent-tooling/mcp/tools/construct.ts +130 -0
  308. package/src/agent-tooling/mcp/tools/debug.ts +126 -4
  309. package/src/agent-tooling/mcp/tools/reference.ts +104 -3
  310. package/src/agent-tooling/recipes/composed-thread.ts +714 -0
  311. package/src/agent-tooling/recipes/index.ts +22 -0
  312. package/src/agent-tooling/recipes/types.ts +32 -0
  313. package/src/agent-tooling/registry.ts +5 -0
  314. package/src/components/attachment-types.ts +7 -0
  315. package/src/components/audio-visualizer/fit-scale.ts +1 -1
  316. package/src/components/card-renderer.tsx +39 -8
  317. package/src/components/card.tsx +10 -2
  318. package/src/components/chat-scope-picker.tsx +2 -2
  319. package/src/components/chat-thread.tsx +602 -43
  320. package/src/components/choice-card.tsx +102 -37
  321. package/src/components/coachmark.tsx +1 -1
  322. package/src/components/code-block.tsx +2 -2
  323. package/src/components/composer.tsx +89 -15
  324. package/src/components/confirm-card.tsx +20 -4
  325. package/src/components/conversation-item.tsx +56 -9
  326. package/src/components/conversation-list.tsx +25 -10
  327. package/src/components/conversation-panel.tsx +118 -0
  328. package/src/components/empty.tsx +14 -3
  329. package/src/components/file-tree.tsx +5 -1
  330. package/src/components/form-widgets.tsx +257 -195
  331. package/src/components/form.tsx +297 -9
  332. package/src/components/home-panel.tsx +159 -0
  333. package/src/components/loader.tsx +12 -5
  334. package/src/components/message-skills.tsx +1 -1
  335. package/src/components/message.tsx +71 -11
  336. package/src/components/prompt-input.tsx +7 -1
  337. package/src/components/prompt-suggestion.tsx +4 -1
  338. package/src/components/reasoning.tsx +30 -3
  339. package/src/components/response-compare.tsx +2 -2
  340. package/src/components/scroll-button.tsx +56 -4
  341. package/src/components/source.tsx +6 -1
  342. package/src/components/tasks-card.tsx +58 -16
  343. package/src/components/thread.tsx +10 -1
  344. package/src/components/toast.tsx +1 -1
  345. package/src/components/tool-types.ts +9 -0
  346. package/src/components/widget-tab-bar.tsx +73 -0
  347. package/src/elements/attachments.tsx +3 -1
  348. package/src/elements/chat-workspace.tsx +1 -1
  349. package/src/elements/chat.tsx +115 -5
  350. package/src/elements/checkbox-group.tsx +164 -0
  351. package/src/elements/checkbox.tsx +134 -0
  352. package/src/elements/compiled.css +1 -1
  353. package/src/elements/composer.tsx +12 -1
  354. package/src/elements/conversation-item.tsx +62 -22
  355. package/src/elements/conversation-list.tsx +2 -2
  356. package/src/elements/define-entry.ts +12 -0
  357. package/src/elements/dock.tsx +11 -0
  358. package/src/elements/element-data-types.ts +40 -0
  359. package/src/elements/element-manifest.json +24 -0
  360. package/src/elements/element-meta.json +767 -34
  361. package/src/elements/element-nonscalar.json +17 -0
  362. package/src/elements/element-types.d.ts +380 -26
  363. package/src/elements/feedback-bar.tsx +5 -0
  364. package/src/elements/icon-names.json +29 -0
  365. package/src/elements/input.tsx +312 -23
  366. package/src/elements/message.tsx +2 -0
  367. package/src/elements/pane-grid.tsx +111 -0
  368. package/src/elements/prompt-input.tsx +8 -2
  369. package/src/elements/radio-group.tsx +129 -0
  370. package/src/elements/register-impl.ts +6 -0
  371. package/src/elements/scroll-button.tsx +54 -6
  372. package/src/elements/select.tsx +165 -0
  373. package/src/elements/slider.tsx +171 -0
  374. package/src/elements/slots.ts +1 -1
  375. package/src/elements/styles.css +89 -3
  376. package/src/elements/thread.tsx +2 -0
  377. package/src/elements/toast.tsx +14 -1
  378. package/src/index.ts +5 -2
  379. package/src/primitives/card-data-types.ts +49 -0
  380. package/src/primitives/card-host.tsx +4 -2
  381. package/src/primitives/card-routing.ts +7 -56
  382. package/src/primitives/card-schemas/form.schema.json +21 -1
  383. package/src/primitives/card-validate.ts +10 -2
  384. package/src/primitives/chat-config.tsx +33 -6
  385. package/src/primitives/conversation-store.ts +248 -0
  386. package/src/primitives/field-mask.ts +256 -0
  387. package/src/primitives/field-semantics.ts +115 -0
  388. package/src/primitives/input-mask.ts +853 -0
  389. package/src/primitives/toast-store.ts +66 -4
  390. package/src/primitives/url-scheme-policy.ts +70 -0
  391. package/src/primitives/use-resize-observer.ts +2 -2
  392. package/src/schemas/tool-defs.ts +12 -2
  393. package/src/solid.ts +20 -2
  394. package/src/state/index.ts +1 -1
  395. package/src/state/mock.ts +92 -6
  396. package/src/types.ts +45 -3
  397. package/src/ui/agent-card.tsx +2 -2
  398. package/src/ui/avatar.tsx +1 -1
  399. package/src/ui/checkbox-group.tsx +153 -0
  400. package/src/ui/checkbox.tsx +63 -0
  401. package/src/ui/dock.tsx +192 -7
  402. package/src/ui/icon.tsx +53 -0
  403. package/src/ui/input.tsx +249 -9
  404. package/src/ui/kbd.tsx +1 -1
  405. package/src/ui/nav.tsx +1 -1
  406. package/src/ui/pane-group.tsx +2 -2
  407. package/src/ui/radio.tsx +150 -0
  408. package/src/ui/select.tsx +168 -0
  409. package/src/ui/slider.tsx +178 -0
  410. package/src/ui/switch.tsx +49 -18
  411. package/src/utils/cn.ts +11 -5
  412. package/theme.css +112 -13
  413. package/dist/elements/chunks/action-icons-D9u3OzYW.js +0 -1
  414. package/dist/elements/chunks/arrow-left-CVh1TeN7.js +0 -1
  415. package/dist/elements/chunks/artifact-BkYcfIlZ.js +0 -1
  416. package/dist/elements/chunks/attachments-DwfNlubq.js +0 -1
  417. package/dist/elements/chunks/badge-Q0-Cmwzz.js +0 -1
  418. package/dist/elements/chunks/bash-InADTalH.js +0 -1
  419. package/dist/elements/chunks/card-renderer-3Dyl-FpN.js +0 -1
  420. package/dist/elements/chunks/card-routing-BK09BdmL.js +0 -1
  421. package/dist/elements/chunks/check-B5kBPKeo.js +0 -1
  422. package/dist/elements/chunks/chevron-down-DZ1GS39h.js +0 -1
  423. package/dist/elements/chunks/chevron-right-CvP7OUd2.js +0 -1
  424. package/dist/elements/chunks/choice-card-D4QUIOWZ.js +0 -1
  425. package/dist/elements/chunks/circle-CDf9g6MQ.js +0 -1
  426. package/dist/elements/chunks/circle-check-CA47Nqbz.js +0 -1
  427. package/dist/elements/chunks/circle-x-CJ_HVbC8.js +0 -1
  428. package/dist/elements/chunks/code-block-BdLiTitd.js +0 -1
  429. package/dist/elements/chunks/composer-Byve-n8K.js +0 -69
  430. package/dist/elements/chunks/confirm-card-B0flE3MN.js +0 -1
  431. package/dist/elements/chunks/controllable-DTwTIlwp.js +0 -1
  432. package/dist/elements/chunks/conversation-item-BDztezOG.js +0 -1
  433. package/dist/elements/chunks/copy-Nf-kqxXH.js +0 -1
  434. package/dist/elements/chunks/core-AYMC6_lb.js +0 -12
  435. package/dist/elements/chunks/css-M7EaDHN_.js +0 -1
  436. package/dist/elements/chunks/default-input-C2iLFq0b.js +0 -1
  437. package/dist/elements/chunks/define-wjHR1MkU.js +0 -1
  438. package/dist/elements/chunks/download-C4V7tBdb.js +0 -1
  439. package/dist/elements/chunks/embed-D3KewsIJ.js +0 -1
  440. package/dist/elements/chunks/engine-javascript-vq0WuIJl.js +0 -141
  441. package/dist/elements/chunks/file-text-D1G8khle.js +0 -1
  442. package/dist/elements/chunks/folder-WW2LGLid.js +0 -1
  443. package/dist/elements/chunks/form-CQirdC4W.js +0 -1
  444. package/dist/elements/chunks/github-dark-dimmed-DUshB20C.js +0 -1
  445. package/dist/elements/chunks/github-light-JYsPkUQd.js +0 -1
  446. package/dist/elements/chunks/hover-card-CJJkfHTK.js +0 -1
  447. package/dist/elements/chunks/html-CPZ3oZQ7.js +0 -1
  448. package/dist/elements/chunks/icon-Cfgmf4fa.js +0 -1
  449. package/dist/elements/chunks/info-DX3YMOt6.js +0 -1
  450. package/dist/elements/chunks/input-BtW9U6Sq.js +0 -1
  451. package/dist/elements/chunks/javascript-C25yR2R2.js +0 -1
  452. package/dist/elements/chunks/json-DxJze_jm.js +0 -1
  453. package/dist/elements/chunks/kbd-LGXwuT_V.js +0 -1
  454. package/dist/elements/chunks/link-2My69BqT.js +0 -1
  455. package/dist/elements/chunks/loader-iOxc_Tu-.js +0 -1
  456. package/dist/elements/chunks/message-VMZohrXx.js +0 -1
  457. package/dist/elements/chunks/message-circle-CpXMM-_n.js +0 -1
  458. package/dist/elements/chunks/message-square-DxcWtETQ.js +0 -1
  459. package/dist/elements/chunks/message-tZmV2A3p.js +0 -1
  460. package/dist/elements/chunks/paperclip-CRZVp4z_.js +0 -1
  461. package/dist/elements/chunks/progress-bar-DNy66e_E.js +0 -1
  462. package/dist/elements/chunks/prompt-suggestion-Bn64Nl7L.js +0 -1
  463. package/dist/elements/chunks/reasoning-Emn9N4-T.js +0 -1
  464. package/dist/elements/chunks/rotate-cw-CPWe37D9.js +0 -1
  465. package/dist/elements/chunks/scroll-area-ClZkZxIk.js +0 -1
  466. package/dist/elements/chunks/scroll-button-DPE-t3x_.js +0 -1
  467. package/dist/elements/chunks/share-CyfnNEqp.js +0 -1
  468. package/dist/elements/chunks/source-UWCvmVak.js +0 -1
  469. package/dist/elements/chunks/star-DoHFAikQ.js +0 -1
  470. package/dist/elements/chunks/store-Cjq0qwYN.js +0 -1
  471. package/dist/elements/chunks/svelte--5p79yCD.js +0 -1
  472. package/dist/elements/chunks/tasks-card-CmZ5xh6v.js +0 -1
  473. package/dist/elements/chunks/text-shimmer-DYn09zrz.js +0 -1
  474. package/dist/elements/chunks/textarea-skiGHURM.js +0 -1
  475. package/dist/elements/chunks/toast-store-CFnQpThX.js +0 -1
  476. package/dist/elements/chunks/tsx-B8rCNbgL.js +0 -1
  477. package/dist/elements/chunks/typescript-RycA9KXf.js +0 -1
  478. package/dist/elements/chunks/use-card-resolution-DoA2f_EU.js +0 -1
  479. package/dist/elements/chunks/vue-BmIZj4XD.js +0 -1
  480. package/dist/elements/chunks/x-B6UnOiLw.js +0 -1
  481. package/dist/llms/llms-full.txt +0 -2949
  482. package/dist/llms/llms.txt +0 -156
  483. package/dist/register-impl-DpE7icIb.js +0 -293
  484. package/dist/ui/stat.d.ts +0 -16
  485. package/src/ui/stat.tsx +0 -41
  486. /package/dist/{elements/chunks/card-tags-D8lZ-C_U.js → card-tags-D8lZ-C_U.js} +0 -0
  487. /package/dist/{elements/chunks/link-preview-DNILK391.js → link-preview-DNILK391.js} +0 -0
  488. /package/dist/{elements/chunks/slots-DaNjX0rc.js → slots-DaNjX0rc.js} +0 -0
package/dist/react.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { forwardRef as E, useRef as x, useImperativeHandle as M, useLayoutEffect as T, createElement as V, useState as I, useCallback as k, useMemo as L } from "react";
2
+ import { forwardRef as M, useRef as x, useImperativeHandle as E, useLayoutEffect as T, createElement as L, useState as I, useCallback as g, useMemo as P } from "react";
3
3
  const O = /* @__PURE__ */ new Set();
4
4
  let w;
5
- function D(e, t) {
5
+ function V(e, t) {
6
6
  if (!(!t || O.has(e)) && !(typeof window > "u" || typeof customElements > "u") && (O.add(e), !customElements.get(e))) {
7
7
  if (w) {
8
8
  w.catch(() => t());
@@ -16,34 +16,34 @@ function ae() {
16
16
  return w ?? (w = import("@kitn.ai/ui/elements")), w;
17
17
  }
18
18
  function a(e, t, n, i) {
19
- const r = Object.entries(n), c = E((o, s) => {
19
+ const r = Object.entries(n), c = M((o, s) => {
20
20
  const l = x(null);
21
- M(s, () => l.current, []);
22
- const m = o, f = x({});
23
- for (const d of Object.keys(n)) f.current[d] = m[d];
21
+ E(s, () => l.current, []);
22
+ const m = o, b = x({});
23
+ for (const d of Object.keys(n)) b.current[d] = m[d];
24
24
  return T(() => {
25
25
  const d = l.current;
26
26
  if (!d) return;
27
27
  const h = () => {
28
- for (const g of t)
29
- g in m && m[g] !== void 0 && (d[g] = m[g]);
28
+ for (const k of t)
29
+ k in m && m[k] !== void 0 && (d[k] = m[k]);
30
30
  };
31
31
  h(), typeof customElements < "u" && !customElements.get(e) && customElements.whenDefined(e).then(h);
32
32
  }), T(() => {
33
- D(e, i);
33
+ V(e, i);
34
34
  }, []), T(() => {
35
35
  const d = l.current;
36
36
  if (!d) return;
37
37
  const h = [];
38
- for (const [g, b] of r) {
38
+ for (const [k, f] of r) {
39
39
  const C = (y) => {
40
- const S = f.current[g];
40
+ const S = b.current[k];
41
41
  typeof S == "function" && S(y);
42
42
  };
43
- d.addEventListener(b, C), h.push([b, C]);
43
+ d.addEventListener(f, C), h.push([f, C]);
44
44
  }
45
- return () => h.forEach(([g, b]) => d.removeEventListener(g, b));
46
- }, []), V(
45
+ return () => h.forEach(([k, f]) => d.removeEventListener(k, f));
46
+ }, []), L(
47
47
  e,
48
48
  {
49
49
  ref: l,
@@ -71,11 +71,11 @@ function v(e) {
71
71
  };
72
72
  return JSON.stringify(n(e)) ?? "";
73
73
  }
74
- function F(e, t) {
74
+ function D(e, t) {
75
75
  const n = e[e.length - 1];
76
76
  return (n == null ? void 0 : n.type) === "text" ? [...e.slice(0, -1), { ...n, text: n.text + t }] : [...e, { type: "text", text: t }];
77
77
  }
78
- function P(e, t, n = {}) {
78
+ function F(e, t, n = {}) {
79
79
  const i = n.index ?? 0, r = n.streamId, c = e.findIndex(
80
80
  (l) => l.type === "reasoning" && (l.index ?? 0) === i && l.streamId === r
81
81
  );
@@ -116,7 +116,7 @@ function j(e, t) {
116
116
  const i = e[n];
117
117
  return v(i.envelope) === v(t) ? e : [...e.slice(0, n), { ...i, envelope: t }, ...e.slice(n + 1)];
118
118
  }
119
- function U(e, t, n) {
119
+ function G(e, t, n) {
120
120
  const i = e.findIndex((o) => o.type === "tool" && o.tool.toolCallId === t);
121
121
  if (i < 0) {
122
122
  const o = {
@@ -128,12 +128,12 @@ function U(e, t, n) {
128
128
  return o.kind = o.kind ?? z(o.type), [...e, { type: "tool", tool: o }];
129
129
  }
130
130
  const r = e[i].tool, c = { ...r, ...n, toolCallId: t };
131
- return c.kind = W(r, n, c.type), c.raw === void 0 && r.raw !== void 0 && (c.raw = r.raw), G(r, c) ? e : [...e.slice(0, i), { type: "tool", tool: c }, ...e.slice(i + 1)];
131
+ return c.kind = U(r, n, c.type), c.raw === void 0 && r.raw !== void 0 && (c.raw = r.raw), K(r, c) ? e : [...e.slice(0, i), { type: "tool", tool: c }, ...e.slice(i + 1)];
132
132
  }
133
- function W(e, t, n) {
133
+ function U(e, t, n) {
134
134
  return t.kind !== void 0 ? t.kind : e.kind === void 0 || e.kind === z(e.type) ? z(n) : e.kind;
135
135
  }
136
- const K = [
136
+ const W = [
137
137
  "type",
138
138
  "state",
139
139
  "kind",
@@ -154,8 +154,8 @@ const K = [
154
154
  input: (e, t) => e.input === t.input || v(e.input) === v(t.input),
155
155
  output: (e, t) => e.output === t.output || v(e.output) === v(t.output)
156
156
  };
157
- function G(e, t) {
158
- return K.every((n) => q[n](e, t));
157
+ function K(e, t) {
158
+ return W.every((n) => q[n](e, t));
159
159
  }
160
160
  function _(e, t) {
161
161
  return [...e, t];
@@ -183,7 +183,7 @@ function $(e, t = {}) {
183
183
  e((o) => [...o, { id: n, role: "assistant", parts: [], ...t }]);
184
184
  const r = (o) => {
185
185
  i || e((s) => {
186
- const l = s.findIndex((f) => f.id === n);
186
+ const l = s.findIndex((b) => b.id === n);
187
187
  if (l < 0) return s;
188
188
  const m = o(s[l].parts);
189
189
  return m === s[l].parts ? s : [...s.slice(0, l), { ...s[l], parts: m }, ...s.slice(l + 1)];
@@ -191,13 +191,13 @@ function $(e, t = {}) {
191
191
  }, c = {
192
192
  id: n,
193
193
  appendText(o) {
194
- return r((s) => F(s, o)), c;
194
+ return r((s) => D(s, o)), c;
195
195
  },
196
196
  appendReasoning(o, s) {
197
- return r((l) => P(l, o, s)), c;
197
+ return r((l) => F(l, o, s)), c;
198
198
  },
199
199
  upsertTool(o, s) {
200
- return r((l) => U(l, o, s)), c;
200
+ return r((l) => G(l, o, s)), c;
201
201
  },
202
202
  // Upsert, not append: keyed on envelope.id so a revised card replaces itself.
203
203
  addCard(o) {
@@ -216,11 +216,11 @@ function $(e, t = {}) {
216
216
  const s = (o == null ? void 0 : o.trim()) || void 0;
217
217
  r((l) => {
218
218
  let m = !1;
219
- const f = l.map((d) => {
219
+ const b = l.map((d) => {
220
220
  var h;
221
221
  return d.type !== "tool" || d.tool.state === "output-available" ? d : d.tool.state === "output-error" && ((h = d.tool.errorText) != null && h.trim()) ? (m = !0, d) : (m = !0, { ...d, tool: { ...d.tool, state: "output-error", errorText: s } });
222
222
  });
223
- return m || !s ? f : [...f, { type: "text", text: s }];
223
+ return m || !s ? b : [...b, { type: "text", text: s }];
224
224
  }), i = !0;
225
225
  }
226
226
  };
@@ -259,16 +259,16 @@ function ee(e, t) {
259
259
  function ne(e = {}) {
260
260
  const [t, n] = I(() => [...e.initialMessages ?? []]), [i, r] = I(() => [...e.initialSuggestions ?? []]), [c, o] = I(!1), s = x(e.onSubmit);
261
261
  s.current = e.onSubmit;
262
- const l = k((u) => n(u), []), m = k((u) => l((p) => _(p, u)), [l]), f = k(
263
- (u, p) => l((R) => Y(R, u, p)),
262
+ const l = g((u) => n(u), []), m = g((u) => l((p) => _(p, u)), [l]), b = g(
263
+ (u, p) => l((A) => Y(A, u, p)),
264
264
  [l]
265
- ), d = k((u) => l((p) => J(p, u)), [l]), h = k((u) => r((p) => Q(p, u)), []), g = k((u) => r((p) => X(p, u)), []), b = k(() => r([]), []), C = k((u) => (o(!0), ee($(l, u), () => o(!1))), [l]), y = k(
265
+ ), d = g((u) => l((p) => J(p, u)), [l]), h = g((u) => r((p) => Q(p, u)), []), k = g((u) => r((p) => X(p, u)), []), f = g(() => r([]), []), C = g((u) => (o(!0), ee($(l, u), () => o(!1))), [l]), y = g(
266
266
  (u) => {
267
267
  var p;
268
268
  (p = s.current) == null || p.call(s, u.detail);
269
269
  },
270
270
  []
271
- ), S = L(
271
+ ), S = P(
272
272
  () => ({ messages: t, loading: c, suggestions: i, onSubmit: y }),
273
273
  [t, c, i, y]
274
274
  );
@@ -279,16 +279,16 @@ function ne(e = {}) {
279
279
  setSuggestions: r,
280
280
  loading: c,
281
281
  append: m,
282
- update: f,
282
+ update: b,
283
283
  remove: d,
284
284
  addSuggestion: h,
285
- removeSuggestion: g,
286
- clearSuggestions: b,
285
+ removeSuggestion: k,
286
+ clearSuggestions: f,
287
287
  streamAssistant: C,
288
288
  bind: S
289
289
  };
290
290
  }
291
- function A() {
291
+ function R() {
292
292
  if (typeof window > "u") return;
293
293
  const e = window;
294
294
  return e.SpeechRecognition ?? e.webkitSpeechRecognition;
@@ -296,8 +296,8 @@ function A() {
296
296
  function ie(e) {
297
297
  const t = x(e);
298
298
  t.current = e;
299
- const n = A() !== void 0, i = k(() => {
300
- const r = A();
299
+ const n = R() !== void 0, i = g(() => {
300
+ const r = R();
301
301
  if (!r) return;
302
302
  const c = new r();
303
303
  c.lang = "en-US", c.interimResults = !1, c.onresult = (o) => t.current(o.results[0][0].transcript), c.start();
@@ -354,92 +354,102 @@ const oe = /* @__PURE__ */ a(
354
354
  ["theme", "steps", "type", "value", "defaultValue"],
355
355
  { onValueChange: "kai-value-change" },
356
356
  () => import("@kitn.ai/ui/elements/chain-of-thought")
357
- ), ge = /* @__PURE__ */ a(
357
+ ), ke = /* @__PURE__ */ a(
358
358
  "kai-chat",
359
- ["theme", "value", "placeholder", "loading", "suggestions", "suggestionMode", "persistSuggestions", "proseSize", "codeTheme", "codeHighlight", "chatTitle", "models", "currentModel", "context", "scrollButton", "headerStart", "headerEnd", "headerFull", "sidebar", "empty", "composer", "composerActions", "footer", "webSearch", "voice", "triggers", "kindIcons", "actionsReveal", "accept", "messages", "cardTypes", "cardSchemas"],
360
- { onAttachmentsChange: "kai-attachments-change", onAttachmentsRejected: "kai-attachments-rejected", onMessageAction: "kai-message-action", onModelChange: "kai-model-change", onSubmit: "kai-submit", onSuggestionClick: "kai-suggestion-click", onValueChange: "kai-value-change", onVoice: "kai-voice", onWebSearch: "kai-web-search" },
359
+ ["theme", "value", "placeholder", "loading", "suggestions", "suggestionMode", "persistSuggestions", "proseSize", "codeTheme", "codeHighlight", "reasoning", "reasoningOpen", "chatTitle", "models", "currentModel", "context", "scrollButton", "headerStart", "headerEnd", "headerFull", "sidebar", "empty", "composer", "composerActions", "footer", "attach", "webSearch", "voice", "triggers", "kindIcons", "actionsReveal", "accept", "messages", "cardTypes", "cardSchemas", "conversations", "store", "home"],
360
+ { onAttachmentsChange: "kai-attachments-change", onAttachmentsRejected: "kai-attachments-rejected", onConversationLoad: "kai-conversation-load", onHomeLink: "kai-home-link", onMessageAction: "kai-message-action", onModelChange: "kai-model-change", onSubmit: "kai-submit", onSuggestionClick: "kai-suggestion-click", onValueChange: "kai-value-change", onVoice: "kai-voice", onWebSearch: "kai-web-search" },
361
361
  () => import("@kitn.ai/ui/elements/chat")
362
- ), ke = /* @__PURE__ */ a(
362
+ ), ge = /* @__PURE__ */ a(
363
+ "kai-checkbox",
364
+ ["theme", "checked", "defaultChecked", "indeterminate", "disabled", "required", "label", "name", "value"],
365
+ { onChange: "kai-change" },
366
+ () => import("@kitn.ai/ui/elements/checkbox")
367
+ ), be = /* @__PURE__ */ a(
368
+ "kai-checkbox-group",
369
+ ["theme", "options", "value", "name", "disabled", "label"],
370
+ { onChange: "kai-change" },
371
+ () => import("@kitn.ai/ui/elements/checkbox-group")
372
+ ), fe = /* @__PURE__ */ a(
363
373
  "kai-checkpoint",
364
374
  ["theme", "label", "tooltip", "variant", "size"],
365
375
  { onSelect: "kai-select" },
366
376
  () => import("@kitn.ai/ui/elements/checkpoint")
367
- ), fe = /* @__PURE__ */ a(
377
+ ), ve = /* @__PURE__ */ a(
368
378
  "kai-choice",
369
379
  ["theme", "data", "cardId", "heading", "resolution", "value", "defaultValue", "disabled"],
370
380
  { onValueChange: "kai-value-change" },
371
381
  () => import("@kitn.ai/ui/elements/choice")
372
- ), be = /* @__PURE__ */ a(
382
+ ), Ce = /* @__PURE__ */ a(
373
383
  "kai-coachmark",
374
384
  ["theme", "open", "defaultOpen", "headline", "badge", "placement", "tone", "arrow"],
375
385
  { onDismiss: "kai-dismiss", onOpenChange: "kai-open-change" },
376
386
  () => import("@kitn.ai/ui/elements/coachmark")
377
- ), ve = /* @__PURE__ */ a(
387
+ ), ye = /* @__PURE__ */ a(
378
388
  "kai-code-block",
379
389
  ["theme", "code", "language", "codeTheme", "codeHighlight", "copy", "proseSize"],
380
390
  {},
381
391
  () => import("@kitn.ai/ui/elements/code-block")
382
- ), Ce = /* @__PURE__ */ a(
392
+ ), Se = /* @__PURE__ */ a(
383
393
  "kai-command",
384
394
  ["theme", "items", "placeholder", "emptyLabel"],
385
395
  { onActiveChange: "kai-active-change", onQueryChange: "kai-query-change", onSelect: "kai-select" },
386
396
  () => import("@kitn.ai/ui/elements/command")
387
- ), ye = /* @__PURE__ */ a(
397
+ ), xe = /* @__PURE__ */ a(
388
398
  "kai-compare",
389
399
  ["theme", "data", "compareId", "selection", "layout", "proseSize", "codeTheme", "codeHighlight"],
390
400
  { onCompareSelect: "kai-compare-select", onError: "kai-error", onReady: "kai-ready" },
391
401
  () => import("@kitn.ai/ui/elements/compare")
392
- ), Se = /* @__PURE__ */ a(
402
+ ), we = /* @__PURE__ */ a(
393
403
  "kai-composer",
394
404
  ["theme", "value", "placeholder", "disabled", "loading", "maxHeight", "submitOnEnter", "triggers", "highlights", "kindIcons"],
395
405
  { onBlur: "kai-blur", onEntityAdd: "kai-entity-add", onEntityRemove: "kai-entity-remove", onFocus: "kai-focus", onSubmit: "kai-submit", onTrigger: "kai-trigger", onTriggerClose: "kai-trigger-close", onValueChange: "kai-value-change" },
396
406
  () => import("@kitn.ai/ui/elements/composer")
397
- ), xe = /* @__PURE__ */ a(
407
+ ), Te = /* @__PURE__ */ a(
398
408
  "kai-confirm",
399
409
  ["theme", "data", "cardId", "heading", "autofocus", "resolution"],
400
410
  {},
401
411
  () => import("@kitn.ai/ui/elements/confirm-card")
402
- ), we = /* @__PURE__ */ a(
412
+ ), Ie = /* @__PURE__ */ a(
403
413
  "kai-context",
404
414
  ["theme", "context", "warnThreshold", "dangerThreshold"],
405
415
  { onThresholdChange: "kai-threshold-change" },
406
416
  () => import("@kitn.ai/ui/elements/context-meter")
407
- ), Te = /* @__PURE__ */ a(
417
+ ), ze = /* @__PURE__ */ a(
408
418
  "kai-conversation-item",
409
419
  ["theme", "conversationId", "active", "compact"],
410
- {},
420
+ { onSelect: "kai-select" },
411
421
  () => import("@kitn.ai/ui/elements/conversation-item")
412
- ), Ie = /* @__PURE__ */ a(
422
+ ), Oe = /* @__PURE__ */ a(
413
423
  "kai-conversations",
414
424
  ["theme", "groups", "conversations", "activeId", "collapsed", "defaultCollapsed", "compact"],
415
425
  { onCollapseToggle: "kai-collapse-toggle", onConversationSelect: "kai-conversation-select", onNewChat: "kai-new-chat", onSearch: "kai-search", onToggleSidebar: "kai-toggle-sidebar" },
416
426
  () => import("@kitn.ai/ui/elements/conversation-list")
417
- ), ze = /* @__PURE__ */ a(
427
+ ), Re = /* @__PURE__ */ a(
418
428
  "kai-dialog",
419
429
  ["theme", "open", "defaultOpen", "label"],
420
430
  { onOpenChange: "kai-open-change" },
421
431
  () => import("@kitn.ai/ui/elements/dialog")
422
- ), Oe = /* @__PURE__ */ a(
432
+ ), Ae = /* @__PURE__ */ a(
423
433
  "kai-dock",
424
- ["theme", "open", "defaultOpen", "position", "label", "openLabel", "closeLabel", "unread", "disabled", "focusOnOpen"],
434
+ ["theme", "open", "defaultOpen", "position", "label", "openLabel", "closeLabel", "unread", "disabled", "hideClose", "focusOnOpen"],
425
435
  { onOpenChange: "kai-open-change" },
426
436
  () => import("@kitn.ai/ui/elements/dock")
427
- ), Ae = /* @__PURE__ */ a(
437
+ ), Me = /* @__PURE__ */ a(
428
438
  "kai-dropdown",
429
439
  ["theme", "triggerIcon", "triggerLabel", "triggerIconTrailing", "label", "full", "open", "defaultOpen", "disabled"],
430
440
  { onOpenChange: "kai-open-change" },
431
441
  () => import("@kitn.ai/ui/elements/dropdown")
432
- ), Re = /* @__PURE__ */ a(
442
+ ), Ee = /* @__PURE__ */ a(
433
443
  "kai-editable-label",
434
444
  ["theme", "value", "editing", "placeholder", "disabled"],
435
445
  { onCancel: "kai-cancel", onRename: "kai-rename" },
436
446
  () => import("@kitn.ai/ui/elements/editable-label")
437
- ), Ee = /* @__PURE__ */ a(
447
+ ), Le = /* @__PURE__ */ a(
438
448
  "kai-embed",
439
449
  ["theme", "cardId", "data"],
440
450
  {},
441
451
  () => import("@kitn.ai/ui/elements/embed")
442
- ), Me = /* @__PURE__ */ a(
452
+ ), Pe = /* @__PURE__ */ a(
443
453
  "kai-empty",
444
454
  ["theme", "emptyTitle", "description"],
445
455
  {},
@@ -449,52 +459,52 @@ const oe = /* @__PURE__ */ a(
449
459
  ["theme", "barTitle", "collectDetail", "categories", "detailTitle", "detailPlaceholder", "submitLabel", "thanksMessage"],
450
460
  { onClose: "kai-close", onFeedback: "kai-feedback", onFeedbackDetail: "kai-feedback-detail" },
451
461
  () => import("@kitn.ai/ui/elements/feedback-bar")
452
- ), Le = /* @__PURE__ */ a(
462
+ ), De = /* @__PURE__ */ a(
453
463
  "kai-file-tree",
454
464
  ["theme", "files", "activeFile", "defaultExpanded", "summary"],
455
465
  { onSelect: "kai-select" },
456
466
  () => import("@kitn.ai/ui/elements/file-tree")
457
- ), De = /* @__PURE__ */ a(
467
+ ), Fe = /* @__PURE__ */ a(
458
468
  "kai-file-upload",
459
469
  ["theme", "multiple", "accept", "disabled", "label"],
460
470
  { onFilesAdded: "kai-files-added" },
461
471
  () => import("@kitn.ai/ui/elements/file-upload")
462
- ), Fe = /* @__PURE__ */ a(
472
+ ), Ne = /* @__PURE__ */ a(
463
473
  "kai-form",
464
474
  ["theme", "data", "cardId", "heading", "resolution", "values", "defaultValues", "disabled"],
465
475
  { onValuesChange: "kai-values-change" },
466
476
  () => import("@kitn.ai/ui/elements/form")
467
- ), Pe = /* @__PURE__ */ a(
477
+ ), Be = /* @__PURE__ */ a(
468
478
  "kai-hover-card",
469
479
  ["theme", "openDelay", "closeDelay", "placement", "open", "defaultOpen", "disabled"],
470
480
  { onOpenChange: "kai-open-change" },
471
481
  () => import("@kitn.ai/ui/elements/hover-card")
472
- ), Ne = /* @__PURE__ */ a(
482
+ ), He = /* @__PURE__ */ a(
473
483
  "kai-icon",
474
484
  ["theme", "name", "size"],
475
485
  {},
476
486
  () => import("@kitn.ai/ui/elements/icon")
477
- ), Be = /* @__PURE__ */ a(
487
+ ), je = /* @__PURE__ */ a(
478
488
  "kai-image",
479
489
  ["theme", "base64", "bytes", "alt", "mediaType"],
480
490
  {},
481
491
  () => import("@kitn.ai/ui/elements/image")
482
- ), He = /* @__PURE__ */ a(
492
+ ), Ge = /* @__PURE__ */ a(
483
493
  "kai-input",
484
- ["theme", "type", "value", "placeholder", "label", "hint", "error", "size", "disabled", "readonly", "required", "invalid", "name", "autocomplete", "inputmode"],
485
- { onChange: "kai-change", onInput: "kai-input" },
494
+ ["theme", "type", "value", "placeholder", "label", "hint", "error", "size", "disabled", "readonly", "required", "invalid", "name", "autocomplete", "inputmode", "format", "guide", "semantic", "caseMode", "copyPolicy"],
495
+ { onChange: "kai-change", onInput: "kai-input", onInputRejected: "kai-input-rejected" },
486
496
  () => import("@kitn.ai/ui/elements/input")
487
- ), je = /* @__PURE__ */ a(
497
+ ), Ue = /* @__PURE__ */ a(
488
498
  "kai-kbd",
489
499
  ["theme", "keys", "platform", "size"],
490
500
  {},
491
501
  () => import("@kitn.ai/ui/elements/kbd")
492
- ), Ue = /* @__PURE__ */ a(
502
+ ), We = /* @__PURE__ */ a(
493
503
  "kai-link-preview",
494
504
  ["theme", "cardId", "data"],
495
505
  {},
496
506
  () => import("@kitn.ai/ui/elements/link-preview")
497
- ), We = /* @__PURE__ */ a(
507
+ ), qe = /* @__PURE__ */ a(
498
508
  "kai-loader",
499
509
  ["theme", "variant", "size", "text"],
500
510
  {},
@@ -504,217 +514,237 @@ const oe = /* @__PURE__ */ a(
504
514
  ["theme", "content", "proseSize", "codeTheme", "codeHighlight"],
505
515
  {},
506
516
  () => import("@kitn.ai/ui/elements/markdown")
507
- ), qe = /* @__PURE__ */ a(
517
+ ), _e = /* @__PURE__ */ a(
508
518
  "kai-menu",
509
519
  ["theme", "items", "placement", "triggerIcon", "triggerLabel", "triggerIconTrailing", "label", "full", "open", "defaultOpen", "disabled"],
510
520
  { onOpenChange: "kai-open-change", onSelect: "kai-select" },
511
521
  () => import("@kitn.ai/ui/elements/menu")
512
- ), Ge = /* @__PURE__ */ a(
522
+ ), Ye = /* @__PURE__ */ a(
513
523
  "kai-message",
514
524
  ["theme", "message", "role", "markdown", "proseSize", "codeTheme", "codeHighlight", "actionsReveal", "avatarSrc", "avatarFallback", "avatar", "cardTypes", "cardSchemas"],
515
525
  { onMessageAction: "kai-message-action" },
516
526
  () => import("@kitn.ai/ui/elements/message")
517
- ), _e = /* @__PURE__ */ a(
527
+ ), Je = /* @__PURE__ */ a(
518
528
  "kai-model-switcher",
519
529
  ["theme", "models", "currentModel", "open", "defaultOpen", "disabled"],
520
530
  { onModelChange: "kai-model-change", onOpenChange: "kai-open-change" },
521
531
  () => import("@kitn.ai/ui/elements/model-switcher")
522
- ), Ye = /* @__PURE__ */ a(
532
+ ), Qe = /* @__PURE__ */ a(
523
533
  "kai-nav",
524
534
  ["theme", "items", "value", "defaultValue", "defaultCollapsed"],
525
535
  { onNavItemAction: "kai-nav-item-action", onNavItemClose: "kai-nav-item-close", onNavSelect: "kai-nav-select" },
526
536
  () => import("@kitn.ai/ui/elements/nav")
527
- ), Je = /* @__PURE__ */ a(
537
+ ), Xe = /* @__PURE__ */ a(
528
538
  "kai-notice",
529
539
  ["theme", "severity", "icon", "dismissible"],
530
540
  { onDismiss: "kai-dismiss" },
531
541
  () => import("@kitn.ai/ui/elements/notice")
532
- ), Qe = /* @__PURE__ */ a(
542
+ ), Ze = /* @__PURE__ */ a(
533
543
  "kai-pane",
534
544
  ["theme", "headline", "subtitle", "maximized", "focused", "showSplit", "showDock", "status"],
535
545
  { onClose: "kai-close", onDock: "kai-dock", onMaximize: "kai-maximize", onSplit: "kai-split" },
536
546
  () => import("@kitn.ai/ui/elements/pane")
537
- ), Xe = /* @__PURE__ */ a(
547
+ ), $e = /* @__PURE__ */ a(
548
+ "kai-pane-grid",
549
+ ["theme", "minPaneWidth", "minPaneHeight", "maxColumns", "gap", "maximizedIndex"],
550
+ {},
551
+ () => import("@kitn.ai/ui/elements/pane-grid")
552
+ ), et = /* @__PURE__ */ a(
538
553
  "kai-pane-group",
539
554
  ["theme", "tabs", "active", "focused"],
540
555
  { onTabChange: "kai-tab-change", onTabClose: "kai-tab-close", onTabMenu: "kai-tab-menu" },
541
556
  () => import("@kitn.ai/ui/elements/pane-group")
542
- ), Ze = /* @__PURE__ */ a(
557
+ ), tt = /* @__PURE__ */ a(
543
558
  "kai-popover",
544
559
  ["theme", "placement", "gutter", "open", "defaultOpen", "disabled"],
545
560
  { onOpenChange: "kai-open-change" },
546
561
  () => import("@kitn.ai/ui/elements/popover")
547
- ), $e = /* @__PURE__ */ a(
562
+ ), at = /* @__PURE__ */ a(
548
563
  "kai-progress-bar",
549
564
  ["theme", "value", "max", "label", "tone"],
550
565
  {},
551
566
  () => import("@kitn.ai/ui/elements/progress-bar")
552
- ), et = /* @__PURE__ */ a(
567
+ ), nt = /* @__PURE__ */ a(
553
568
  "kai-prompt-dock",
554
569
  ["theme", "frame", "appearance"],
555
570
  {},
556
571
  () => import("@kitn.ai/ui/elements/prompt-dock")
557
- ), tt = /* @__PURE__ */ a(
572
+ ), it = /* @__PURE__ */ a(
558
573
  "kai-prompt-input",
559
574
  ["theme", "value", "placeholder", "disabled", "loading", "suggestions", "suggestionMode", "webSearch", "voice", "stoppable", "submit", "attach", "attachments", "triggers", "kindIcons"],
560
575
  { onAttachmentsChange: "kai-attachments-change", onStop: "kai-stop", onSubmit: "kai-submit", onSuggestionClick: "kai-suggestion-click", onToolbarAction: "kai-toolbar-action", onValueChange: "kai-value-change", onVoice: "kai-voice", onWebSearch: "kai-web-search" },
561
576
  () => import("@kitn.ai/ui/elements/prompt-input")
562
- ), at = /* @__PURE__ */ a(
577
+ ), ot = /* @__PURE__ */ a(
578
+ "kai-radio-group",
579
+ ["theme", "options", "value", "name", "disabled", "label"],
580
+ { onChange: "kai-change" },
581
+ () => import("@kitn.ai/ui/elements/radio-group")
582
+ ), rt = /* @__PURE__ */ a(
563
583
  "kai-reasoning",
564
584
  ["theme", "text", "label", "open", "defaultOpen", "streaming", "markdown", "disabled"],
565
585
  { onOpenChange: "kai-open-change" },
566
586
  () => import("@kitn.ai/ui/elements/reasoning")
567
- ), nt = /* @__PURE__ */ a(
587
+ ), st = /* @__PURE__ */ a(
568
588
  "kai-remote",
569
589
  ["theme", "src", "providerOrigin", "envelope", "policy"],
570
590
  {},
571
591
  () => import("@kitn.ai/ui/elements/remote")
572
- ), it = /* @__PURE__ */ a(
592
+ ), ct = /* @__PURE__ */ a(
573
593
  "kai-resizable",
574
594
  ["theme", "orientation", "maximizedIndex", "handle"],
575
595
  { onChange: "kai-change", onMaximizeChange: "kai-maximize-change", onMaximizeState: "kai-maximize-state" },
576
596
  () => import("@kitn.ai/ui/elements/resizable")
577
- ), ot = /* @__PURE__ */ a(
597
+ ), lt = /* @__PURE__ */ a(
578
598
  "kai-resizable-item",
579
599
  ["theme", "size", "min", "max", "locked", "hidden", "collapsed"],
580
600
  { onChange: "kai-change", onMaximizeChange: "kai-maximize-change", onMaximizeState: "kai-maximize-state" },
581
601
  () => import("@kitn.ai/ui/elements/resizable")
582
- ), rt = /* @__PURE__ */ a(
602
+ ), dt = /* @__PURE__ */ a(
583
603
  "kai-response-stream",
584
604
  ["theme", "text", "mode", "speed", "as"],
585
605
  { onComplete: "kai-complete" },
586
606
  () => import("@kitn.ai/ui/elements/response-stream")
587
- ), st = /* @__PURE__ */ a(
607
+ ), mt = /* @__PURE__ */ a(
588
608
  "kai-scope-picker",
589
609
  ["theme", "availableAuthors", "availableTags", "currentLabel", "open", "defaultOpen", "disabled"],
590
610
  { onOpenChange: "kai-open-change", onScopeChange: "kai-scope-change" },
591
611
  () => import("@kitn.ai/ui/elements/chat-scope-picker")
592
- ), ct = /* @__PURE__ */ a(
612
+ ), ut = /* @__PURE__ */ a(
593
613
  "kai-screen",
594
614
  ["theme", "open", "defaultOpen", "headline", "back", "noInert"],
595
615
  { onBack: "kai-back", onOpenChange: "kai-open-change" },
596
616
  () => import("@kitn.ai/ui/elements/screen")
597
- ), lt = /* @__PURE__ */ a(
617
+ ), pt = /* @__PURE__ */ a(
598
618
  "kai-scroll-area",
599
619
  ["theme", "orientation"],
600
620
  {},
601
621
  () => import("@kitn.ai/ui/elements/scroll-area")
602
- ), dt = /* @__PURE__ */ a(
622
+ ), ht = /* @__PURE__ */ a(
603
623
  "kai-scroll-button",
604
- ["theme", "for", "variant", "size"],
624
+ ["theme", "for", "variant", "size", "label", "showLabel"],
605
625
  { onScroll: "kai-scroll" },
606
626
  () => import("@kitn.ai/ui/elements/scroll-button")
607
- ), mt = /* @__PURE__ */ a(
627
+ ), kt = /* @__PURE__ */ a(
608
628
  "kai-search",
609
629
  ["theme", "value", "placeholder", "icon", "debounce", "loading", "shortcut"],
610
630
  { onChange: "kai-change", onSearch: "kai-search", onSubmit: "kai-submit" },
611
631
  () => import("@kitn.ai/ui/elements/search")
612
- ), ut = /* @__PURE__ */ a(
632
+ ), gt = /* @__PURE__ */ a(
613
633
  "kai-segmented",
614
634
  ["theme", "options", "value", "size"],
615
635
  { onChange: "kai-change" },
616
636
  () => import("@kitn.ai/ui/elements/segmented")
617
- ), pt = /* @__PURE__ */ a(
637
+ ), bt = /* @__PURE__ */ a(
638
+ "kai-select",
639
+ ["theme", "options", "value", "placeholder", "multiple", "invalid", "disabled", "required", "label", "name"],
640
+ { onChange: "kai-change" },
641
+ () => import("@kitn.ai/ui/elements/select")
642
+ ), ft = /* @__PURE__ */ a(
618
643
  "kai-separator",
619
644
  ["theme", "orientation"],
620
645
  {},
621
646
  () => import("@kitn.ai/ui/elements/separator")
622
- ), ht = /* @__PURE__ */ a(
647
+ ), vt = /* @__PURE__ */ a(
623
648
  "kai-setting-item",
624
649
  ["theme", "label", "description"],
625
650
  {},
626
651
  () => import("@kitn.ai/ui/elements/setting-item")
627
- ), gt = /* @__PURE__ */ a(
652
+ ), Ct = /* @__PURE__ */ a(
628
653
  "kai-settings-group",
629
654
  ["theme", "heading", "description"],
630
655
  {},
631
656
  () => import("@kitn.ai/ui/elements/settings-group")
632
- ), kt = /* @__PURE__ */ a(
657
+ ), yt = /* @__PURE__ */ a(
633
658
  "kai-skeleton",
634
659
  ["theme", "variant", "width", "height", "lines"],
635
660
  {},
636
661
  () => import("@kitn.ai/ui/elements/skeleton")
637
- ), ft = /* @__PURE__ */ a(
662
+ ), St = /* @__PURE__ */ a(
638
663
  "kai-skills",
639
664
  ["theme", "skills"],
640
665
  {},
641
666
  () => import("@kitn.ai/ui/elements/message-skills")
642
- ), bt = /* @__PURE__ */ a(
667
+ ), xt = /* @__PURE__ */ a(
668
+ "kai-slider",
669
+ ["theme", "min", "max", "step", "value", "disabled", "label", "name", "valueLabel"],
670
+ { onChange: "kai-change", onInput: "kai-input" },
671
+ () => import("@kitn.ai/ui/elements/slider")
672
+ ), wt = /* @__PURE__ */ a(
643
673
  "kai-source",
644
674
  ["theme", "href", "label", "headline", "description", "showFavicon"],
645
675
  {},
646
676
  () => import("@kitn.ai/ui/elements/source")
647
- ), vt = /* @__PURE__ */ a(
677
+ ), Tt = /* @__PURE__ */ a(
648
678
  "kai-sources",
649
679
  ["theme", "sources", "showFavicon", "numbered"],
650
680
  {},
651
681
  () => import("@kitn.ai/ui/elements/source")
652
- ), Ct = /* @__PURE__ */ a(
682
+ ), It = /* @__PURE__ */ a(
653
683
  "kai-status",
654
684
  ["theme", "status", "pulse", "label", "size"],
655
685
  {},
656
686
  () => import("@kitn.ai/ui/elements/status")
657
- ), yt = /* @__PURE__ */ a(
687
+ ), zt = /* @__PURE__ */ a(
658
688
  "kai-suggestions",
659
689
  ["theme", "suggestions", "variant", "size", "layout", "block", "highlight"],
660
690
  { onSelect: "kai-select" },
661
691
  () => import("@kitn.ai/ui/elements/prompt-suggestions")
662
- ), St = /* @__PURE__ */ a(
692
+ ), Ot = /* @__PURE__ */ a(
663
693
  "kai-switch",
664
694
  ["theme", "checked", "defaultChecked", "disabled", "label", "name", "value"],
665
695
  { onChange: "kai-change" },
666
696
  () => import("@kitn.ai/ui/elements/switch")
667
- ), xt = /* @__PURE__ */ a(
697
+ ), Rt = /* @__PURE__ */ a(
668
698
  "kai-tabs",
669
699
  ["theme", "items", "value", "defaultValue", "variant", "block", "disabled"],
670
700
  { onTabChange: "kai-tab-change" },
671
701
  () => import("@kitn.ai/ui/elements/tabs")
672
- ), wt = /* @__PURE__ */ a(
702
+ ), At = /* @__PURE__ */ a(
673
703
  "kai-tasks",
674
704
  ["theme", "data", "cardId", "heading", "resolution", "value", "defaultValue", "disabled", "readonly"],
675
705
  { onValueChange: "kai-value-change" },
676
706
  () => import("@kitn.ai/ui/elements/tasks")
677
- ), Tt = /* @__PURE__ */ a(
707
+ ), Mt = /* @__PURE__ */ a(
678
708
  "kai-text-shimmer",
679
709
  ["theme", "text", "as", "duration", "spread"],
680
710
  {},
681
711
  () => import("@kitn.ai/ui/elements/text-shimmer")
682
- ), It = /* @__PURE__ */ a(
712
+ ), Et = /* @__PURE__ */ a(
683
713
  "kai-thinking-bar",
684
714
  ["theme", "text", "stoppable", "stopLabel"],
685
715
  { onStop: "kai-stop" },
686
716
  () => import("@kitn.ai/ui/elements/thinking-bar")
687
- ), zt = /* @__PURE__ */ a(
717
+ ), Lt = /* @__PURE__ */ a(
688
718
  "kai-thread",
689
719
  ["theme", "messages", "loading", "proseSize", "codeTheme", "codeHighlight", "actionsReveal", "scrollButton", "class", "cardTypes", "cardSchemas"],
690
720
  { onMessageAction: "kai-message-action" },
691
721
  () => import("@kitn.ai/ui/elements/thread")
692
- ), Ot = /* @__PURE__ */ a(
722
+ ), Pt = /* @__PURE__ */ a(
693
723
  "kai-toast-region",
694
724
  ["theme", "toasts", "position", "max", "stack", "appearance", "inverse", "target"],
695
725
  { onAction: "kai-action", onDismiss: "kai-dismiss" },
696
726
  () => import("@kitn.ai/ui/elements/toast")
697
- ), At = /* @__PURE__ */ a(
727
+ ), Vt = /* @__PURE__ */ a(
698
728
  "kai-tool",
699
729
  ["theme", "tool", "open", "defaultOpen", "disabled"],
700
730
  { onOpenChange: "kai-open-change" },
701
731
  () => import("@kitn.ai/ui/elements/tool")
702
- ), Rt = /* @__PURE__ */ a(
732
+ ), Dt = /* @__PURE__ */ a(
703
733
  "kai-tooltip",
704
734
  ["theme", "content", "openDelay", "closeDelay", "placement", "open", "defaultOpen", "disabled"],
705
735
  { onOpenChange: "kai-open-change" },
706
736
  () => import("@kitn.ai/ui/elements/tooltip")
707
- ), Et = /* @__PURE__ */ a(
737
+ ), Ft = /* @__PURE__ */ a(
708
738
  "kai-voice-input",
709
739
  ["theme", "transcribe", "disabled", "recognitionLang", "interim"],
710
740
  { onAudioCaptured: "kai-audio-captured", onRecordingChange: "kai-recording-change", onTranscriptInterim: "kai-transcript-interim", onTranscription: "kai-transcription", onVoiceError: "kai-voice-error" },
711
741
  () => import("@kitn.ai/ui/elements/voice-input")
712
- ), Mt = /* @__PURE__ */ a(
742
+ ), Nt = /* @__PURE__ */ a(
713
743
  "kai-voice-output",
714
744
  ["theme", "text", "autoplay", "synthesize", "disabled"],
715
745
  { onSpeakingChange: "kai-speaking-change", onSynthesized: "kai-synthesized", onVoiceError: "kai-voice-error" },
716
746
  () => import("@kitn.ai/ui/elements/voice-output")
717
- ), Vt = /* @__PURE__ */ a(
747
+ ), Bt = /* @__PURE__ */ a(
718
748
  "kai-workspace",
719
749
  ["theme", "startCollapsed", "defaultStartCollapsed", "endCollapsed", "defaultEndCollapsed", "collapseBelow", "drawerBelow", "compact"],
720
750
  { onAsideResize: "kai-aside-resize", onAsideToggle: "kai-aside-toggle" },
@@ -731,79 +761,85 @@ export {
731
761
  ue as Card,
732
762
  pe as Cards,
733
763
  he as ChainOfThought,
734
- ge as Chat,
735
- ke as Checkpoint,
736
- fe as Choice,
737
- be as Coachmark,
738
- ve as CodeBlock,
739
- Ce as Command,
740
- ye as Compare,
741
- Se as Composer,
742
- xe as Confirm,
743
- we as Context,
744
- Te as ConversationItem,
745
- Ie as Conversations,
746
- ze as Dialog,
747
- Oe as Dock,
748
- Ae as Dropdown,
749
- Re as EditableLabel,
750
- Ee as Embed,
751
- Me as Empty,
764
+ ke as Chat,
765
+ ge as Checkbox,
766
+ be as CheckboxGroup,
767
+ fe as Checkpoint,
768
+ ve as Choice,
769
+ Ce as Coachmark,
770
+ ye as CodeBlock,
771
+ Se as Command,
772
+ xe as Compare,
773
+ we as Composer,
774
+ Te as Confirm,
775
+ Ie as Context,
776
+ ze as ConversationItem,
777
+ Oe as Conversations,
778
+ Re as Dialog,
779
+ Ae as Dock,
780
+ Me as Dropdown,
781
+ Ee as EditableLabel,
782
+ Le as Embed,
783
+ Pe as Empty,
752
784
  Ve as FeedbackBar,
753
- Le as FileTree,
754
- De as FileUpload,
755
- Fe as Form,
756
- Pe as HoverCard,
757
- Ne as Icon,
758
- Be as Image,
759
- He as Input,
760
- je as Kbd,
761
- Ue as LinkPreview,
762
- We as Loader,
785
+ De as FileTree,
786
+ Fe as FileUpload,
787
+ Ne as Form,
788
+ Be as HoverCard,
789
+ He as Icon,
790
+ je as Image,
791
+ Ge as Input,
792
+ Ue as Kbd,
793
+ We as LinkPreview,
794
+ qe as Loader,
763
795
  Ke as Markdown,
764
- qe as Menu,
765
- Ge as Message,
766
- _e as ModelSwitcher,
767
- Ye as Nav,
768
- Je as Notice,
769
- Qe as Pane,
770
- Xe as PaneGroup,
771
- Ze as Popover,
772
- $e as ProgressBar,
773
- et as PromptDock,
774
- tt as PromptInput,
775
- at as Reasoning,
776
- nt as Remote,
777
- it as Resizable,
778
- ot as ResizableItem,
779
- rt as ResponseStream,
780
- st as ScopePicker,
781
- ct as Screen,
782
- lt as ScrollArea,
783
- dt as ScrollButton,
784
- mt as Search,
785
- ut as Segmented,
786
- pt as Separator,
787
- ht as SettingItem,
788
- gt as SettingsGroup,
789
- kt as Skeleton,
790
- ft as Skills,
791
- bt as Source,
792
- vt as Sources,
793
- Ct as Status,
794
- yt as Suggestions,
795
- St as Switch,
796
- xt as Tabs,
797
- wt as Tasks,
798
- Tt as TextShimmer,
799
- It as ThinkingBar,
800
- zt as Thread,
801
- Ot as ToastRegion,
802
- At as Tool,
803
- Rt as Tooltip,
804
- Et as VoiceInput,
805
- Mt as VoiceOutput,
806
- Vt as Workspace,
796
+ _e as Menu,
797
+ Ye as Message,
798
+ Je as ModelSwitcher,
799
+ Qe as Nav,
800
+ Xe as Notice,
801
+ Ze as Pane,
802
+ $e as PaneGrid,
803
+ et as PaneGroup,
804
+ tt as Popover,
805
+ at as ProgressBar,
806
+ nt as PromptDock,
807
+ it as PromptInput,
808
+ ot as RadioGroup,
809
+ rt as Reasoning,
810
+ st as Remote,
811
+ ct as Resizable,
812
+ lt as ResizableItem,
813
+ dt as ResponseStream,
814
+ mt as ScopePicker,
815
+ ut as Screen,
816
+ pt as ScrollArea,
817
+ ht as ScrollButton,
818
+ kt as Search,
819
+ gt as Segmented,
820
+ bt as Select,
821
+ ft as Separator,
822
+ vt as SettingItem,
823
+ Ct as SettingsGroup,
824
+ yt as Skeleton,
825
+ St as Skills,
826
+ xt as Slider,
827
+ wt as Source,
828
+ Tt as Sources,
829
+ It as Status,
830
+ zt as Suggestions,
831
+ Ot as Switch,
832
+ Rt as Tabs,
833
+ At as Tasks,
834
+ Mt as TextShimmer,
835
+ Et as ThinkingBar,
836
+ Lt as Thread,
837
+ Pt as ToastRegion,
838
+ Vt as Tool,
839
+ Dt as Tooltip,
840
+ Ft as VoiceInput,
841
+ Nt as VoiceOutput,
842
+ Bt as Workspace,
807
843
  ae as registerAll,
808
844
  ne as useKaiChat,
809
845
  ie as useVoiceInput