@kitn.ai/ui 0.25.2 → 0.26.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 (409) hide show
  1. package/README.md +2 -2
  2. package/dist/components/attachment-types.d.ts +46 -1
  3. package/dist/components/attachments.d.ts +31 -0
  4. package/dist/components/audio-visualizer/fit-scale.d.ts +50 -0
  5. package/dist/components/audio-visualizer/index.d.ts +15 -1
  6. package/dist/components/audio-visualizer/variant-bar.d.ts +24 -1
  7. package/dist/components/chat-thread.d.ts +3 -41
  8. package/dist/components/code-block.d.ts +22 -0
  9. package/dist/components/conversation-item.d.ts +54 -1
  10. package/dist/components/conversation-list.d.ts +65 -0
  11. package/dist/components/form.d.ts +42 -0
  12. package/dist/components/message.d.ts +7 -0
  13. package/dist/components/toast.d.ts +2 -1
  14. package/dist/components/voice-input.d.ts +8 -0
  15. package/dist/components/voice-output.d.ts +12 -1
  16. package/dist/components/workspace-shell.d.ts +87 -0
  17. package/dist/{create-tween-B5Y4Im8G.js → create-tween-BFT6c-Y8.js} +1 -1
  18. package/dist/{create-tween-4z1XYLkR.js → create-tween-CJNlzoaO.js} +1 -1
  19. package/dist/{create-tween-CUzOlaMS.js → create-tween-CQED4T0g.js} +1 -1
  20. package/dist/custom-elements.json +2931 -2572
  21. package/dist/diagnostics/hook.d.ts +81 -0
  22. package/dist/diagnostics/index.d.ts +7 -0
  23. package/dist/diagnostics/report-request.d.ts +61 -0
  24. package/dist/diagnostics.d.ts +5 -0
  25. package/dist/diagnostics.js +209 -0
  26. package/dist/elements/agent-card.js +1 -1
  27. package/dist/elements/artifact.js +1 -1
  28. package/dist/elements/attachments.js +1 -1
  29. package/dist/elements/audio-visualizer.js +1 -1
  30. package/dist/elements/autoloader.js +1 -1
  31. package/dist/elements/avatar.js +1 -1
  32. package/dist/elements/badge.js +1 -1
  33. package/dist/elements/button.js +1 -1
  34. package/dist/elements/card.js +1 -1
  35. package/dist/elements/cards.js +1 -1
  36. package/dist/elements/chain-of-thought.js +1 -1
  37. package/dist/elements/chat-scope-picker.js +1 -1
  38. package/dist/elements/chat-workspace.js +1 -1
  39. package/dist/elements/chat.js +1 -1
  40. package/dist/elements/checkpoint.js +1 -1
  41. package/dist/elements/choice.js +1 -1
  42. package/dist/elements/chunks/{Icon-b5A8hlHs.js → Icon--Y8vsFal.js} +1 -1
  43. package/dist/elements/chunks/action-icons-D9u3OzYW.js +1 -0
  44. package/dist/elements/chunks/arrow-left-CVh1TeN7.js +1 -0
  45. package/dist/elements/chunks/{artifact-BSuPYFHY.js → artifact-BkYcfIlZ.js} +1 -1
  46. package/dist/elements/chunks/attachments-DwfNlubq.js +1 -0
  47. package/dist/elements/chunks/audio-visualizer-D7lB6mvR.js +1 -0
  48. package/dist/elements/chunks/{badge-TIMiJFKc.js → badge-Q0-Cmwzz.js} +1 -1
  49. package/dist/elements/chunks/{button-B9okqG73.js → button-flUbeufF.js} +1 -1
  50. package/dist/elements/chunks/{card-renderer-CSoTL_e1.js → card-renderer-3Dyl-FpN.js} +1 -1
  51. package/dist/elements/chunks/check-B5kBPKeo.js +1 -0
  52. package/dist/elements/chunks/chevron-down-DZ1GS39h.js +1 -0
  53. package/dist/elements/chunks/chevron-right-CvP7OUd2.js +1 -0
  54. package/dist/elements/chunks/{choice-card-CGMc3kek.js → choice-card-D4QUIOWZ.js} +1 -1
  55. package/dist/elements/chunks/circle-CDf9g6MQ.js +1 -0
  56. package/dist/elements/chunks/circle-check-CA47Nqbz.js +1 -0
  57. package/dist/elements/chunks/{circle-x-mhH7pOK2.js → circle-x-CJ_HVbC8.js} +1 -1
  58. package/dist/elements/chunks/code-block-BdLiTitd.js +1 -0
  59. package/dist/elements/chunks/collapsible-BzbXpPzr.js +1 -0
  60. package/dist/elements/chunks/{composer-CZZmtYOT.js → composer-Byve-n8K.js} +2 -2
  61. package/dist/elements/chunks/{confirm-card-BWjf2-xo.js → confirm-card-B0flE3MN.js} +1 -1
  62. package/dist/elements/chunks/context-VLIL3sJ-.js +1 -0
  63. package/dist/elements/chunks/controllable-DTwTIlwp.js +1 -0
  64. package/dist/elements/chunks/conversation-item-BDztezOG.js +1 -0
  65. package/dist/elements/chunks/copy-Nf-kqxXH.js +1 -0
  66. package/dist/elements/chunks/{create-tween-CUrM6D_o.js → create-tween-c4Z8TDYz.js} +2 -2
  67. package/dist/elements/chunks/default-input-C2iLFq0b.js +1 -0
  68. package/dist/elements/chunks/define-wjHR1MkU.js +1 -0
  69. package/dist/elements/chunks/disclosure-CcNbyLy0.js +1 -0
  70. package/dist/elements/chunks/{download-DnCyWFJE.js → download-C4V7tBdb.js} +1 -1
  71. package/dist/elements/chunks/dropdown-BgWTthUx.js +1 -0
  72. package/dist/elements/chunks/{ellipsis-CVxqfsDZ.js → ellipsis-7gU33mL2.js} +1 -1
  73. package/dist/elements/chunks/embed-D3KewsIJ.js +1 -0
  74. package/dist/elements/chunks/{external-link-DG2sRdQL.js → external-link-CSOEsNlx.js} +1 -1
  75. package/dist/elements/chunks/{file-text-D0J9F6M7.js → file-text-D1G8khle.js} +1 -1
  76. package/dist/elements/chunks/{file-tree-yGWNK0Js.js → file-tree-zvB2i7P9.js} +1 -1
  77. package/dist/elements/chunks/{folder-NV1pi_ud.js → folder-WW2LGLid.js} +1 -1
  78. package/dist/elements/chunks/form-CQirdC4W.js +1 -0
  79. package/dist/elements/chunks/hover-card-CJJkfHTK.js +1 -0
  80. package/dist/elements/chunks/icon-Cfgmf4fa.js +1 -0
  81. package/dist/elements/chunks/{info-C8r5Q6cc.js → info-DX3YMOt6.js} +1 -1
  82. package/dist/elements/chunks/input-BtW9U6Sq.js +1 -0
  83. package/dist/elements/chunks/{kbd-OGJDUT-O.js → kbd-LGXwuT_V.js} +1 -1
  84. package/dist/elements/chunks/{link-BdsfLB7b.js → link-2My69BqT.js} +1 -1
  85. package/dist/elements/chunks/{link-preview-Cf5KOP-i.js → link-preview-OQ9IEq0f.js} +1 -1
  86. package/dist/elements/chunks/{loader-B5QzK_8_.js → loader-iOxc_Tu-.js} +1 -1
  87. package/dist/elements/chunks/{markdown-DbozyYqa.js → markdown-DgBFaGAz.js} +1 -1
  88. package/dist/elements/chunks/{message-DtXKPqiR.js → message-VMZohrXx.js} +1 -1
  89. package/dist/elements/chunks/message-circle-CpXMM-_n.js +1 -0
  90. package/dist/elements/chunks/message-square-DxcWtETQ.js +1 -0
  91. package/dist/elements/chunks/message-tZmV2A3p.js +1 -0
  92. package/dist/elements/chunks/{minimize-2-SegJ_oku.js → minimize-2-DPIUKTrT.js} +1 -1
  93. package/dist/elements/chunks/{model-switcher-D7JrFFHp.js → model-switcher-DsT8tFB0.js} +1 -1
  94. package/dist/elements/chunks/{overlay-CV7z2YuX.js → overlay-DuiwdXjm.js} +1 -1
  95. package/dist/elements/chunks/{paperclip-Bg0ITU3b.js → paperclip-CRZVp4z_.js} +1 -1
  96. package/dist/elements/chunks/{progress-bar-D1_rzt6N.js → progress-bar-DNy66e_E.js} +1 -1
  97. package/dist/elements/chunks/{prompt-suggestion-D5Sm8xF1.js → prompt-suggestion-Bn64Nl7L.js} +1 -1
  98. package/dist/elements/chunks/reasoning-Emn9N4-T.js +1 -0
  99. package/dist/elements/chunks/{resizable-Dpzjlvp4.js → resizable-D181b4fM.js} +1 -1
  100. package/dist/elements/chunks/{rotate-cw-DzVDJOA1.js → rotate-cw-CPWe37D9.js} +1 -1
  101. package/dist/elements/chunks/{scroll-area-93A1bbeG.js → scroll-area-ClZkZxIk.js} +1 -1
  102. package/dist/elements/chunks/scroll-button-DPE-t3x_.js +1 -0
  103. package/dist/elements/chunks/{separator-DH2r_ZSZ.js → separator-CeJHQqLW.js} +1 -1
  104. package/dist/elements/chunks/{settings-BFMOd6yB.js → settings-CqaHgJF9.js} +1 -1
  105. package/dist/elements/chunks/{settings-group-B3VZKIcz.js → settings-group-CjqjLCOn.js} +1 -1
  106. package/dist/elements/chunks/share-CyfnNEqp.js +1 -0
  107. package/dist/elements/chunks/{skeleton-N8BuWYmf.js → skeleton-D8akBnKS.js} +1 -1
  108. package/dist/elements/chunks/slots-DaNjX0rc.js +1 -0
  109. package/dist/elements/chunks/{source-w9V0NnBn.js → source-UWCvmVak.js} +1 -1
  110. package/dist/elements/chunks/{star-DHvACxtm.js → star-DoHFAikQ.js} +1 -1
  111. package/dist/elements/chunks/store-Cjq0qwYN.js +1 -0
  112. package/dist/elements/chunks/{tasks-card-lPxoodlA.js → tasks-card-CmZ5xh6v.js} +1 -1
  113. package/dist/elements/chunks/{text-shimmer-BY_rI3s5.js → text-shimmer-DYn09zrz.js} +1 -1
  114. package/dist/elements/chunks/textarea-skiGHURM.js +1 -0
  115. package/dist/elements/chunks/{thumbs-up-DQe0hvkZ.js → thumbs-up-DX2Ijk3H.js} +1 -1
  116. package/dist/elements/chunks/{toast-store-VUZZBhzH.js → toast-store-CFnQpThX.js} +1 -1
  117. package/dist/elements/chunks/{tool-C1YtxwPu.js → tool-DKQ2D1DP.js} +1 -1
  118. package/dist/elements/chunks/{tooltip-BqwnFWhn.js → tooltip-B0G99y8w.js} +1 -1
  119. package/dist/elements/chunks/{triangle-alert-B6or7F5u.js → triangle-alert-F9cyUEyy.js} +1 -1
  120. package/dist/elements/chunks/{use-card-resolution-DJg32jGH.js → use-card-resolution-DoA2f_EU.js} +1 -1
  121. package/dist/elements/chunks/{variant-aurora-QXTZPyST.js → variant-aurora-qt6Zct8M.js} +2 -2
  122. package/dist/elements/chunks/variant-custom-tJp22_BQ.js +1 -0
  123. package/dist/{variant-wave-BwzrHD1s.js → elements/chunks/variant-wave-CaQ5ti39.js} +2 -2
  124. package/dist/elements/chunks/x-B6UnOiLw.js +1 -0
  125. package/dist/elements/coachmark.js +1 -1
  126. package/dist/elements/code-block.js +1 -1
  127. package/dist/elements/command.js +1 -1
  128. package/dist/elements/compare.js +1 -1
  129. package/dist/elements/composer.js +1 -1
  130. package/dist/elements/confirm-card.js +1 -1
  131. package/dist/elements/context-meter.js +1 -1
  132. package/dist/elements/conversation-item.d.ts +1 -0
  133. package/dist/elements/conversation-item.js +1 -0
  134. package/dist/elements/conversation-list.js +1 -1
  135. package/dist/elements/default-input.d.ts +3 -3
  136. package/dist/elements/define.d.ts +27 -0
  137. package/dist/elements/diagnostic-events.d.ts +74 -0
  138. package/dist/elements/dialog.js +1 -1
  139. package/dist/elements/dock.d.ts +1 -0
  140. package/dist/elements/dock.js +149 -0
  141. package/dist/elements/dropdown.d.ts +1 -0
  142. package/dist/elements/dropdown.js +1 -0
  143. package/dist/elements/editable-label.js +1 -1
  144. package/dist/elements/element-diagnostics.d.ts +81 -0
  145. package/dist/elements/embed.js +1 -1
  146. package/dist/elements/empty.js +1 -1
  147. package/dist/elements/feedback-bar.js +1 -1
  148. package/dist/elements/file-tree.js +1 -1
  149. package/dist/elements/file-upload.js +1 -1
  150. package/dist/elements/form.js +1 -1
  151. package/dist/elements/hover-card.js +1 -1
  152. package/dist/elements/icon.js +1 -1
  153. package/dist/elements/image.js +1 -1
  154. package/dist/elements/input.js +1 -1
  155. package/dist/elements/kbd.js +1 -1
  156. package/dist/elements/link-preview.js +1 -1
  157. package/dist/elements/loader.js +1 -1
  158. package/dist/elements/markdown.js +1 -1
  159. package/dist/elements/menu.js +1 -1
  160. package/dist/elements/message-skills.js +1 -1
  161. package/dist/elements/message.js +1 -1
  162. package/dist/elements/model-switcher.js +1 -1
  163. package/dist/elements/nav.js +1 -1
  164. package/dist/elements/notice.js +1 -1
  165. package/dist/elements/pane-group.js +1 -1
  166. package/dist/elements/pane.js +1 -1
  167. package/dist/elements/popover.js +1 -1
  168. package/dist/elements/progress-bar.js +1 -1
  169. package/dist/elements/prompt-dock.js +1 -1
  170. package/dist/elements/prompt-input.js +1 -1
  171. package/dist/elements/prompt-suggestions.js +1 -1
  172. package/dist/elements/reasoning.js +1 -1
  173. package/dist/elements/register.d.ts +2 -0
  174. package/dist/elements/remote.js +1 -1
  175. package/dist/elements/resizable.js +1 -1
  176. package/dist/elements/response-stream.js +3 -3
  177. package/dist/elements/screen.js +1 -1
  178. package/dist/elements/scroll-area.js +1 -1
  179. package/dist/elements/scroll-button.js +1 -1
  180. package/dist/elements/search.js +1 -1
  181. package/dist/elements/segmented.js +1 -1
  182. package/dist/elements/separator.js +1 -1
  183. package/dist/elements/setting-item.js +1 -1
  184. package/dist/elements/settings-group.js +1 -1
  185. package/dist/elements/skeleton.js +1 -1
  186. package/dist/elements/slots.d.ts +35 -3
  187. package/dist/elements/source.js +1 -1
  188. package/dist/elements/status.js +1 -1
  189. package/dist/elements/switch.js +1 -1
  190. package/dist/elements/tabs.js +1 -1
  191. package/dist/elements/tasks.js +1 -1
  192. package/dist/elements/text-shimmer.js +1 -1
  193. package/dist/elements/thinking-bar.js +1 -1
  194. package/dist/elements/thread.js +1 -1
  195. package/dist/elements/toast.js +1 -1
  196. package/dist/elements/tool.js +1 -1
  197. package/dist/elements/tooltip.js +1 -1
  198. package/dist/elements/voice-input.js +1 -1
  199. package/dist/elements/voice-output.js +1 -1
  200. package/dist/elements.d.ts +232 -148
  201. package/dist/index.d.ts +2 -0
  202. package/dist/index.js +5456 -4931
  203. package/dist/index.server.js +4142 -3669
  204. package/dist/kai-provider.es.js +40 -40
  205. package/dist/kai.es.js +1 -1
  206. package/dist/llms/llms-full.txt +184 -69
  207. package/dist/llms/llms.txt +3 -3
  208. package/dist/mcp.es.js +2669 -546
  209. package/dist/primitives/use-resize-observer.d.ts +23 -0
  210. package/dist/primitives/use-speech-recognition.d.ts +8 -0
  211. package/dist/primitives/use-text-stream.d.ts +5 -0
  212. package/dist/react/index.d.ts +115 -266
  213. package/dist/react.js +247 -221
  214. package/dist/register-impl-DpE7icIb.js +293 -0
  215. package/dist/schemas/index.d.ts +1 -1
  216. package/dist/schemas/tool-defs.d.ts +35 -0
  217. package/dist/schemas.js +403 -310
  218. package/dist/{solid-BMuDmFo_.js → solid-BtdqNZI7.js} +8435 -7394
  219. package/dist/{solid-CGYNdLRR.js → solid-CnavwBye.js} +5987 -5035
  220. package/dist/solid.d.ts +5 -0
  221. package/dist/solid.js +210 -203
  222. package/dist/solid.server.js +210 -203
  223. package/dist/state/index.d.ts +4 -0
  224. package/dist/state/persistence.d.ts +51 -0
  225. package/dist/state/stream.d.ts +50 -0
  226. package/dist/state/threads.d.ts +71 -0
  227. package/dist/state.js +269 -169
  228. package/dist/types.d.ts +4 -2
  229. package/dist/ui/dock.d.ts +109 -0
  230. package/dist/ui/hover-card.d.ts +44 -0
  231. package/dist/{variant-aurora-DwSOfraQ.js → variant-aurora-B8II3-I1.js} +27 -27
  232. package/dist/{variant-aurora-wKvAQ5wp.js → variant-aurora-CMNWOSJR.js} +28 -28
  233. package/dist/{variant-aurora-XEkPT0_z.js → variant-aurora-CcuDMWwQ.js} +2 -2
  234. package/dist/{variant-custom-eFIg2XWQ.js → variant-custom-BdvYC7af.js} +40 -40
  235. package/dist/{variant-custom-BhS9wIpU.js → variant-custom-C714mqKl.js} +65 -65
  236. package/dist/variant-custom-L16JLLZy.js +1 -0
  237. package/dist/{elements/chunks/variant-wave-DDCwhLas.js → variant-wave-2S4La2Ka.js} +2 -2
  238. package/dist/{variant-wave-CbVsmgwT.js → variant-wave-D7ruiA1W.js} +25 -25
  239. package/dist/{variant-wave-CUWGx9Bn.js → variant-wave-ecwykeyL.js} +21 -21
  240. package/dist/wire/chunk.d.ts +47 -0
  241. package/dist/wire/diagnostics.d.ts +575 -0
  242. package/dist/wire/encode-probe.d.ts +70 -0
  243. package/dist/wire/encode.d.ts +24 -0
  244. package/dist/wire/index.d.ts +2 -0
  245. package/dist/wire/sse.d.ts +10 -2
  246. package/dist/wire.js +917 -480
  247. package/frameworks/react/index.tsx +132 -93
  248. package/llms-full.txt +184 -69
  249. package/llms.txt +3 -3
  250. package/package.json +26 -6
  251. package/src/agent-tooling/archetypes.ts +41 -9
  252. package/src/agent-tooling/catalog/README.md +676 -0
  253. package/src/agent-tooling/catalog/catalog-types.ts +231 -0
  254. package/src/agent-tooling/catalog/fabrications.ts +96 -0
  255. package/src/agent-tooling/catalog/invariants.ts +284 -0
  256. package/src/agent-tooling/catalog/labs-titles.ts +114 -0
  257. package/src/agent-tooling/catalog/scenarios.ts +87 -0
  258. package/src/agent-tooling/catalog/surfaces.ts +275 -0
  259. package/src/agent-tooling/integrations/anthropic.ts +7 -1
  260. package/src/agent-tooling/integrations/cloudflare.ts +43 -2
  261. package/src/agent-tooling/integrations/langgraph.ts +7 -1
  262. package/src/agent-tooling/integrations/mastra.ts +7 -1
  263. package/src/agent-tooling/integrations/mock.ts +92 -17
  264. package/src/agent-tooling/integrations/ollama.ts +7 -1
  265. package/src/agent-tooling/integrations/openai.ts +7 -1
  266. package/src/agent-tooling/integrations/openrouter.ts +7 -1
  267. package/src/agent-tooling/integrations/pi.ts +56 -1
  268. package/src/agent-tooling/integrations/vercel-ai-sdk.ts +7 -1
  269. package/src/agent-tooling/mcp/css-raw.d.ts +12 -0
  270. package/src/agent-tooling/mcp/manifest.ts +100 -1
  271. package/src/agent-tooling/mcp/server.ts +61 -5
  272. package/src/agent-tooling/mcp/tools/reference.ts +440 -4
  273. package/src/agent-tooling/mcp/tools/scaffold.ts +1834 -307
  274. package/src/agent-tooling/mcp/tools/theme.ts +146 -30
  275. package/src/agent-tooling/mcp/validate-args.ts +141 -0
  276. package/src/agent-tooling/registry.ts +19 -7
  277. package/src/agent-tooling/route-emit.ts +26 -2
  278. package/src/components/attachment-types.ts +47 -1
  279. package/src/components/attachments.tsx +169 -22
  280. package/src/components/audio-visualizer/fit-scale.ts +112 -0
  281. package/src/components/audio-visualizer/index.tsx +80 -3
  282. package/src/components/audio-visualizer/variant-aurora.tsx +10 -4
  283. package/src/components/audio-visualizer/variant-bar.tsx +38 -6
  284. package/src/components/audio-visualizer/variant-custom.tsx +8 -2
  285. package/src/components/audio-visualizer/variant-grid.tsx +16 -11
  286. package/src/components/audio-visualizer/variant-radial.tsx +15 -10
  287. package/src/components/audio-visualizer/variant-wave.tsx +7 -2
  288. package/src/components/chat-container.tsx +4 -1
  289. package/src/components/chat-thread.tsx +36 -7
  290. package/src/components/code-block.tsx +79 -3
  291. package/src/components/composer.tsx +8 -1
  292. package/src/components/conversation-item.tsx +114 -4
  293. package/src/components/conversation-list.tsx +212 -12
  294. package/src/components/embed.tsx +4 -0
  295. package/src/components/form.tsx +41 -14
  296. package/src/components/message.tsx +75 -5
  297. package/src/components/response-stream.tsx +13 -7
  298. package/src/components/screen.tsx +5 -0
  299. package/src/components/scroll-button.tsx +7 -0
  300. package/src/components/toast.tsx +11 -5
  301. package/src/components/voice-input.tsx +35 -3
  302. package/src/components/voice-output.tsx +46 -6
  303. package/src/components/workspace-shell.tsx +285 -0
  304. package/src/diagnostics/hook.ts +352 -0
  305. package/src/diagnostics/index.ts +82 -0
  306. package/src/diagnostics/report-request.ts +296 -0
  307. package/src/elements/attachments.tsx +6 -7
  308. package/src/elements/audio-visualizer.tsx +48 -4
  309. package/src/elements/chat-workspace.tsx +159 -287
  310. package/src/elements/chat.tsx +12 -9
  311. package/src/elements/code-block.tsx +19 -1
  312. package/src/elements/command.tsx +4 -1
  313. package/src/elements/compiled.css +1 -1
  314. package/src/elements/conversation-item.tsx +80 -0
  315. package/src/elements/conversation-list.tsx +60 -11
  316. package/src/elements/default-input.tsx +5 -5
  317. package/src/elements/define.tsx +168 -8
  318. package/src/elements/diagnostic-events.ts +114 -0
  319. package/src/elements/dialog.tsx +47 -0
  320. package/src/elements/disclosure.ts +34 -12
  321. package/src/elements/dock.tsx +204 -0
  322. package/src/elements/dropdown.tsx +123 -0
  323. package/src/elements/element-diagnostics.ts +392 -0
  324. package/src/elements/element-manifest.json +12 -0
  325. package/src/elements/element-meta.json +672 -439
  326. package/src/elements/element-nonscalar.json +170 -0
  327. package/src/elements/element-types.d.ts +232 -148
  328. package/src/elements/menu.tsx +13 -0
  329. package/src/elements/prompt-dock.tsx +2 -1
  330. package/src/elements/prompt-input.tsx +8 -8
  331. package/src/elements/register-impl.ts +46 -0
  332. package/src/elements/register.ts +28 -0
  333. package/src/elements/resizable.tsx +52 -25
  334. package/src/elements/scroll-button.tsx +5 -0
  335. package/src/elements/slots.ts +107 -12
  336. package/src/elements/styles.css +30 -6
  337. package/src/elements/thinking-bar.tsx +16 -7
  338. package/src/elements/toast.tsx +3 -0
  339. package/src/elements/tool.tsx +26 -5
  340. package/src/elements/voice-input.tsx +11 -2
  341. package/src/elements/voice-output.tsx +16 -3
  342. package/src/index.ts +2 -0
  343. package/src/primitives/use-resize-observer.ts +33 -0
  344. package/src/primitives/use-speech-recognition.ts +12 -1
  345. package/src/primitives/use-stick-to-bottom.ts +34 -2
  346. package/src/primitives/use-text-stream.ts +33 -2
  347. package/src/remote/provider-runtime.ts +6 -3
  348. package/src/schemas/index.ts +1 -0
  349. package/src/schemas/tool-defs.ts +297 -6
  350. package/src/solid.ts +5 -0
  351. package/src/state/index.ts +12 -0
  352. package/src/state/persistence.ts +180 -0
  353. package/src/state/stream.ts +71 -4
  354. package/src/state/threads.ts +142 -0
  355. package/src/types.ts +4 -2
  356. package/src/ui/dialog.tsx +6 -0
  357. package/src/ui/dock.tsx +445 -0
  358. package/src/ui/dropdown.tsx +67 -23
  359. package/src/ui/hover-card.tsx +156 -6
  360. package/src/ui/input.tsx +29 -10
  361. package/src/ui/resizable.tsx +11 -0
  362. package/src/wire/chunk.ts +47 -0
  363. package/src/wire/consume.ts +185 -26
  364. package/src/wire/diagnostics.ts +727 -0
  365. package/src/wire/encode-probe.ts +214 -0
  366. package/src/wire/encode.ts +267 -14
  367. package/src/wire/formats/anthropic.ts +8 -1
  368. package/src/wire/formats/openai.ts +5 -0
  369. package/src/wire/index.ts +22 -0
  370. package/src/wire/read.ts +250 -6
  371. package/src/wire/sse.ts +16 -3
  372. package/dist/elements/chunks/action-icons-DW9muWrY.js +0 -1
  373. package/dist/elements/chunks/arrow-left-iJVnQmxA.js +0 -1
  374. package/dist/elements/chunks/attachments-CL6TaqIb.js +0 -1
  375. package/dist/elements/chunks/audio-visualizer-BuUqQmaO.js +0 -1
  376. package/dist/elements/chunks/chat-thread-DxoKaStk.js +0 -1
  377. package/dist/elements/chunks/check-MdLzbxrm.js +0 -1
  378. package/dist/elements/chunks/chevron-down-MK7IzDqe.js +0 -1
  379. package/dist/elements/chunks/chevron-right-C5jXhmtV.js +0 -1
  380. package/dist/elements/chunks/circle-BG7VkPep.js +0 -1
  381. package/dist/elements/chunks/circle-check-GqvO2UBs.js +0 -1
  382. package/dist/elements/chunks/code-block-ClhQO9RW.js +0 -1
  383. package/dist/elements/chunks/collapsible-DBcBkFPh.js +0 -1
  384. package/dist/elements/chunks/context-hKjNqiyQ.js +0 -1
  385. package/dist/elements/chunks/conversation-list-CsGJjSKG.js +0 -1
  386. package/dist/elements/chunks/default-input-B1Mem5wu.js +0 -1
  387. package/dist/elements/chunks/define-B_tXMYRm.js +0 -1
  388. package/dist/elements/chunks/disclosure-DAoYOKew.js +0 -1
  389. package/dist/elements/chunks/dropdown-CmNna5lT.js +0 -1
  390. package/dist/elements/chunks/embed-CjAD2jSi.js +0 -1
  391. package/dist/elements/chunks/form-Cp8Y00Wn.js +0 -1
  392. package/dist/elements/chunks/hover-card-6KtXpLwT.js +0 -1
  393. package/dist/elements/chunks/icon-97R8SR2p.js +0 -1
  394. package/dist/elements/chunks/input-DrseEjhp.js +0 -1
  395. package/dist/elements/chunks/message-CE4k-qaj.js +0 -1
  396. package/dist/elements/chunks/message-square-C9ovmtOo.js +0 -1
  397. package/dist/elements/chunks/reasoning-BrxQfpfI.js +0 -1
  398. package/dist/elements/chunks/scroll-button-CrTo7wm4.js +0 -1
  399. package/dist/elements/chunks/share-DgNbkJKY.js +0 -1
  400. package/dist/elements/chunks/slots-CIw9RlAe.js +0 -1
  401. package/dist/elements/chunks/store-HIPGhNz9.js +0 -1
  402. package/dist/elements/chunks/textarea-DPfuhswM.js +0 -1
  403. package/dist/elements/chunks/variant-custom-D5ZlmziF.js +0 -1
  404. package/dist/elements/chunks/video-Bb86fVYI.js +0 -1
  405. package/dist/elements/chunks/x-BOhjBeOd.js +0 -1
  406. package/dist/primitives/card-validate-generator.testlib.d.ts +0 -20
  407. package/dist/register-impl-DGmGzrEM.js +0 -145
  408. package/dist/variant-custom-MkTNTycd.js +0 -1
  409. package/src/primitives/card-validate-generator.testlib.ts +0 -38
@@ -1 +1 @@
1
- import{f as y,g as R,o as S,h as C,c as a,i as d,u as f,S as u,v as _,a as $,b as H,t as c}from"./chunks/define-B_tXMYRm.js";import{c as O,C as V,a as A}from"./chunks/conversation-list-CsGJjSKG.js";import{r as E,W as L}from"./chunks/slots-CIw9RlAe.js";import{C as N}from"./chunks/chat-thread-DxoKaStk.js";import{R as j,a as M,b as q}from"./chunks/resizable-Dpzjlvp4.js";import{c as D,a as F}from"./chunks/message-DtXKPqiR.js";var G=c('<div class="shrink-0 border-b border-border"><slot name=main-header>'),J=c("<slot name=main>"),K=c('<div class="flex h-full flex-col overflow-hidden"><div class="min-h-0 flex-1">'),P=c("<div><slot name=sidebar-header>"),Q=c('<div class="min-h-0 flex-1">'),U=c("<div class=shrink-0><slot name=sidebar-footer>"),X=c('<div part=sidebar class="flex h-full flex-col overflow-hidden bg-surface">'),Y=c('<div class="h-full w-full overflow-hidden bg-background">'),Z=c('<div class="flex h-full"><div class="flex w-11 shrink-0 flex-col items-center border-r border-border bg-surface pt-2.5"></div><div class="min-w-0 flex-1">');y("kai-workspace",{groups:[],conversations:[],activeId:void 0,messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,search:!1,voice:!1,triggers:void 0,kindIcons:void 0,sidebarWidth:26,sidebarMinWidth:240,sidebarMaxWidth:420,sidebarCollapsed:void 0,defaultSidebarCollapsed:void 0,collapseBelow:void 0,compact:void 0,noConversations:void 0,cardTypes:void 0,cardSchemas:void 0},(r,{dispatch:t,flag:g,expose:T,element:w})=>{const z=F("kai-workspace"),[v,W]=R({});S(()=>{const e=()=>W(E(w,L));e();const s=new MutationObserver(e);s.observe(w,{childList:!0}),C(()=>s.disconnect())});const[m,B]=O(()=>r.sidebarCollapsed,g("defaultSidebarCollapsed")),h=e=>{B(e),t("kai-sidebar-toggle",{collapsed:e})},p=()=>h(!m());let b,k=!1;S(()=>{if(typeof ResizeObserver>"u")return;const e=new ResizeObserver(s=>{var n;const o=r.collapseBelow;if(o==null||r.sidebarCollapsed!==void 0)return;const i=(((n=s[0])==null?void 0:n.contentRect.width)??b.clientWidth)<o;i&&!m()?(k=!0,h(!0)):!i&&m()&&k&&(k=!1,h(!1))});e.observe(b),C(()=>e.disconnect())});let l;T({toggleSidebar:()=>p(),collapseSidebar:()=>h(!0),expandSidebar:()=>h(!1),focus:e=>l?.focus(e),clear:()=>l?.clear(),send:()=>l?.send(),scrollToBottom:e=>l?.scrollToBottom(e)});const I=a(N,{get messages(){return z(r.messages)},get value(){return r.value},get placeholder(){return r.placeholder},get loading(){return g("loading")},get suggestions(){return r.suggestions},get suggestionMode(){return r.suggestionMode},get proseSize(){return r.proseSize},get codeTheme(){return r.codeTheme},get codeHighlight(){return g("codeHighlight")},get chatTitle(){return r.chatTitle},get models(){return r.models},get currentModel(){return r.currentModel},get context(){return r.context},get scrollButton(){return r.scrollButton!==!1},get search(){return g("search")},get voice(){return g("voice")},get triggers(){return r.triggers},get kindIcons(){return r.kindIcons},get cardTypes(){return D(r.cardTypes,r.theme)},get cardSchemas(){return r.cardSchemas},onValueChange:e=>t("kai-value-change",{value:e}),onSubmit:e=>t("kai-submit",e),onSuggestionClick:e=>t("kai-suggestion-click",{value:e}),onModelChange:e=>t("kai-model-change",{modelId:e}),onMessageAction:e=>t("kai-message-action",e),onSearch:()=>t("kai-search",{}),onVoice:()=>t("kai-voice",{}),controllerRef:e=>l=e}),x=(()=>{var e=K(),s=e.firstChild;return d(e,a(u,{get when(){return v()["main-header"]},get children(){var n=G(),o=n.firstChild;return o._$owner=f(),n}}),s),d(s,a(u,{get when(){return v().main},fallback:I,get children(){var n=J();return n._$owner=f(),n}})),e})();return(()=>{var e=Y(),s=b;return typeof s=="function"?_(s,e):b=e,d(e,a(u,{get when(){return!m()},get fallback(){return(()=>{var n=Z(),o=n.firstChild,i=o.nextSibling;return d(o,a(A,{onExpand:p,class:"bg-transparent shadow-none backdrop-blur-none"})),d(i,x),n})()},get children(){return a(j,{orientation:"horizontal",get children(){return[a(M,{get defaultSize(){return r.sidebarWidth},get"data-min-size"(){return String(r.sidebarMinWidth)},get"data-max-size"(){return String(r.sidebarMaxWidth)},get children(){var n=X();return d(n,a(u,{get when(){return v()["sidebar-header"]},get children(){var o=P(),i=o.firstChild;return i._$owner=f(),$(()=>H(o,g("noConversations")?"min-h-0 flex-1":"shrink-0")),o}}),null),d(n,a(u,{get when(){return!g("noConversations")},get children(){var o=Q();return d(o,a(V,{class:"bg-transparent",get groups(){return r.groups??[]},get conversations(){return r.conversations??[]},get activeId(){return r.activeId},get compact(){return g("compact")},onSelect:i=>t("kai-conversation-select",{id:i}),onNewChat:()=>t("kai-new-chat",{}),onToggleSidebar:p})),o}}),null),d(n,a(u,{get when(){return v()["sidebar-footer"]},get children(){var o=U(),i=o.firstChild;return i._$owner=f(),o}}),null),n}}),a(q,{}),a(M,{children:x})]}})}})),e})()});
1
+ import{g as O,l as U,o as T,h as L,u as X,i as g,c as s,S as f,j as l,a as V,b as j,d as H,t as i,y as Y,n as Z,e as ee,f as te,z as re,m as ne,v as m}from"./chunks/define-wjHR1MkU.js";import{r as ae,W as de}from"./chunks/slots-DaNjX0rc.js";import{c as N}from"./chunks/controllable-DTwTIlwp.js";import{R as q,a as D,b as se}from"./chunks/resizable-D181b4fM.js";import{c as G}from"./chunks/cn-CU7UAWzk.js";var oe=i("<div data-drawer>"),le=i('<div part=header class="shrink-0 border-b border-border">'),ie=i('<div part=footer class="shrink-0 border-t border-border">'),ue=i('<div><div class="relative min-h-0 flex-1">');function ce(n){var k;let c;const[R,v]=O(void 0),[x,h]=N(()=>n.startCollapsed,n.defaultStartCollapsed??!1),[y,p]=N(()=>n.endCollapsed,n.defaultEndCollapsed??!1),w=e=>e==="start"?x():y(),u=e=>(e==="start"?n.startCollapsed:n.endCollapsed)!==void 0,t=(e,r)=>{var d;e==="start"?h(r):p(r),r&&I(e),(d=n.onAsideToggle)==null||d.call(n,{side:e,collapsed:r})},o=U(()=>{const e=n.drawerBelow,r=R();return e!=null&&r!=null&&r<e}),b={},z=e=>{if(!o())return;const r=document.activeElement;r instanceof HTMLElement&&(b[e]=r)},I=e=>{const r=b[e];delete b[e],o()&&r&&r.isConnected&&r.focus()},M=e=>{z(e),t(e,!1)},J={toggleAside:e=>w(e)?M(e):t(e,!0),collapseAside:e=>t(e,!0),expandAside:e=>M(e)};(k=n.controllerRef)==null||k.call(n,J);const $={start:!1,end:!1},K=e=>{const r=n.collapseBelow;if(r==null)return;const d=e<r;for(const a of["start","end"])W(a)&&(u(a)||(d&&!w(a)?($[a]=!0,t(a,!0)):!d&&w(a)&&$[a]&&($[a]=!1,t(a,!1))))};T(()=>{if(typeof ResizeObserver>"u")return;const e=new ResizeObserver(r=>{var d;const a=((d=r[0])==null?void 0:d.contentRect.width)??c.clientWidth;v(a),K(a)});e.observe(c),L(()=>e.disconnect())});const S=e=>e==="start"?{size:n.startWidth??280,min:n.startMinWidth??200,max:n.startMaxWidth??480}:{size:n.endWidth??320,min:n.endMinWidth??200,max:n.endMaxWidth??480},Q=e=>r=>{r.key==="Escape"&&t(e,!0)},B={},E=e=>{var r;const d=B[e];d&&((r=n.onAsideResize)==null||r.call(n,{side:e,width:d.getBoundingClientRect().width}))},W=e=>e==="start"?n.start:n.end,_=e=>{const r=S(e);return s(D,{get defaultSize(){return`${r.size}px`},get minSize(){return`${r.min}px`},get maxSize(){return`${r.max}px`},part:e==="start"?"aside start":"aside end",ref:d=>B[e]=d,class:"bg-surface",get children(){return W(e)}})},P=e=>(()=>{var r=oe();return Y(r,"keydown",Q(e),!0),H(r,"part",e==="start"?"aside start":"aside end"),g(r,()=>W(e)),V(d=>{var a=G("absolute inset-y-0 z-20 max-w-[85%] overflow-auto border-border bg-surface shadow-lg",e==="start"?"start-0 border-e":"end-0 border-s"),C=`${S(e).size}px`;return a!==d.e&&j(r,d.e=a),C!==d.t&&Z(r,"width",d.t=C),d},{e:void 0,t:void 0}),r})(),A=e=>!!W(e)&&!w(e);return(()=>{var e=ue(),r=e.firstChild,d=c;return typeof d=="function"?X(d,e):c=e,g(e,s(f,{get when(){return n.header},get children(){var a=le();return g(a,()=>n.header),a}}),r),g(r,s(se,{orientation:"horizontal",get children(){return[s(f,{get when(){return l(()=>!!A("start"))()&&!o()},get children(){return[l(()=>_("start")),s(q,{onPanelResize:()=>E("start")})]}}),s(D,{part:"main",get children(){return n.children}}),s(f,{get when(){return l(()=>!!A("end"))()&&!o()},get children(){return[s(q,{onPanelResize:()=>E("end")}),l(()=>_("end"))]}})]}}),null),g(r,s(f,{get when(){return l(()=>!!A("start"))()&&o()},get children(){return P("start")}}),null),g(r,s(f,{get when(){return l(()=>!!A("end"))()&&o()},get children(){return P("end")}}),null),g(e,s(f,{get when(){return n.footer},get children(){var a=ie();return g(a,()=>n.footer),a}}),null),V(a=>{var C=G("flex h-full w-full flex-col overflow-hidden bg-background",n.class),F=n.compact?"":void 0;return C!==a.e&&j(e,a.e=C),F!==a.t&&H(e,"data-compact",a.t=F),a},{e:void 0,t:void 0}),e})()}ee(["keydown"]);var pe=i("<slot name=main>"),ge=i("<slot>"),ve=i("<slot name=header>"),he=i("<slot name=start>"),we=i("<slot name=end>"),fe=i("<slot name=footer>");te("kai-workspace",{startCollapsed:void 0,defaultStartCollapsed:void 0,endCollapsed:void 0,defaultEndCollapsed:void 0,collapseBelow:void 0,drawerBelow:void 0,compact:void 0},(n,{dispatch:k,flag:c,expose:R,element:v,reflectFlag:x})=>{const[h,y]=O({});T(()=>{const t=()=>y(ae(v,de));t();const o=new MutationObserver(t);o.observe(v,{childList:!0}),L(()=>o.disconnect())}),x("compact"),x("defaultStartCollapsed"),x("defaultEndCollapsed");const p=(t,o)=>{const b=v.style.getPropertyValue(t).trim()||getComputedStyle(v).getPropertyValue(t).trim(),z=parseFloat(b);return Number.isFinite(z)?z:o},w=re(()=>({startWidth:p("--kai-workspace-start-width",280),startMinWidth:p("--kai-workspace-start-min-width",200),startMaxWidth:p("--kai-workspace-start-max-width",480),endWidth:p("--kai-workspace-end-width",320),endMinWidth:p("--kai-workspace-end-min-width",200),endMaxWidth:p("--kai-workspace-end-max-width",480)}));let u;return R({toggleAside:t=>u?.toggleAside(t),collapseAside:t=>u?.collapseAside(t),expandAside:t=>u?.expandAside(t)}),s(ce,ne({get header(){return l(()=>!!h().header)()?(()=>{var t=ve();return t._$owner=m(),t})():void 0},get start(){return l(()=>!!h().start)()?(()=>{var t=he();return t._$owner=m(),t})():void 0},get end(){return l(()=>!!h().end)()?(()=>{var t=we();return t._$owner=m(),t})():void 0},get footer(){return l(()=>!!h().footer)()?(()=>{var t=fe();return t._$owner=m(),t})():void 0},get startCollapsed(){return n.startCollapsed},get defaultStartCollapsed(){return c("defaultStartCollapsed")},get endCollapsed(){return n.endCollapsed},get defaultEndCollapsed(){return c("defaultEndCollapsed")},get collapseBelow(){return n.collapseBelow},get drawerBelow(){return n.drawerBelow},get compact(){return c("compact")}},w,{onAsideToggle:t=>k("kai-aside-toggle",t),onAsideResize:t=>k("kai-aside-resize",t),controllerRef:t=>u=t,get children(){return[(()=>{var t=pe();return t._$owner=m(),t})(),(()=>{var t=ge();return t._$owner=m(),t})()]}}))});
@@ -1 +1 @@
1
- import{f as u,g as h,o as m,h as v,k as p,c as k}from"./chunks/define-B_tXMYRm.js";import{r as S,C as b}from"./chunks/slots-CIw9RlAe.js";import{C as f}from"./chunks/chat-thread-DxoKaStk.js";import{c as T,a as M}from"./chunks/message-DtXKPqiR.js";u("kai-chat",{messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",persistSuggestions:!1,proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,search:!1,voice:!1,triggers:void 0,kindIcons:void 0,actionsReveal:"always",cardTypes:void 0,cardSchemas:void 0,accept:void 0},(t,{dispatch:r,flag:s,element:i,expose:c})=>{const g=M("kai-chat"),[d,l]=h({}),n=e=>d()[e]===!0;m(()=>{const e=()=>l(S(i,b));e();const a=new MutationObserver(e);a.observe(i,{childList:!0}),v(()=>a.disconnect())}),p(()=>{i.toggleAttribute("loading",s("loading"))});let o;return c({focus:e=>o?.focus(e),blur:()=>{var e,a;return(a=(e=i.shadowRoot)==null?void 0:e.activeElement)==null?void 0:a.blur()},clear:()=>o?.clear(),send:()=>o?.send(),scrollToBottom:e=>o?.scrollToBottom(e)}),k(f,{get messages(){return g(t.messages)},get value(){return t.value},get placeholder(){return t.placeholder},get loading(){return s("loading")},get suggestions(){return t.suggestions},get suggestionMode(){return t.suggestionMode},get persistSuggestions(){return s("persistSuggestions")},get proseSize(){return t.proseSize},get codeTheme(){return t.codeTheme},get codeHighlight(){return s("codeHighlight")},get chatTitle(){return t.chatTitle},get models(){return t.models},get currentModel(){return t.currentModel},get context(){return t.context},get scrollButton(){return t.scrollButton!==!1},get search(){return s("search")},get voice(){return s("voice")},get triggers(){return t.triggers},get kindIcons(){return t.kindIcons},get actionsReveal(){return t.actionsReveal},get cardTypes(){return T(t.cardTypes,t.theme)},get cardSchemas(){return t.cardSchemas},onValueChange:e=>r("kai-value-change",{value:e}),onSubmit:e=>r("kai-submit",e),get accept(){return t.accept},onAttachmentsChange:e=>r("kai-attachments-change",{attachments:e}),onAttachmentsRejected:e=>r("kai-attachments-rejected",{rejected:e}),onSuggestionClick:e=>r("kai-suggestion-click",{value:e}),onModelChange:e=>r("kai-model-change",{modelId:e}),onMessageAction:e=>r("kai-message-action",e),onSearch:()=>r("kai-search",{}),onVoice:()=>r("kai-voice",{}),controllerRef:e=>o=e,get headerStart(){return n("header-start")},get headerEnd(){return n("header-end")},get headerFull(){return n("header")},get sidebar(){return n("sidebar")},get empty(){return n("empty")},get composer(){return n("composer")},get composerActions(){return n("composer-actions")},get footer(){return n("footer")}})});
1
+ import{A as L,l as O,g as A,k as U,o as j,c as r,u as G,i as c,S as d,v as b,j as B,F as J,a as I,b as V,C as K,t as m,f as N,h as P}from"./chunks/define-wjHR1MkU.js";import{r as Q,C as X}from"./chunks/slots-DaNjX0rc.js";import{s as Y,n as Z}from"./chunks/composer-Byve-n8K.js";import{C as ee,a as te,b as re,S as ne}from"./chunks/scroll-button-DPE-t3x_.js";import{M as ae,a as F,b as oe}from"./chunks/message-tZmV2A3p.js";import{c as se,a as le,b as ie}from"./chunks/message-VMZohrXx.js";import{M as ce}from"./chunks/model-switcher-DsT8tFB0.js";import{C as ue,a as de,b as ge,c as he,d as me,e as ve,f as pe,g as fe}from"./chunks/context-VLIL3sJ-.js";import{D as xe}from"./chunks/default-input-C2iLFq0b.js";var be=m('<aside part=sidebar class="flex w-64 shrink-0 flex-col overflow-hidden border-r border-border"><slot name=sidebar>'),we=m("<header part=header class=shrink-0><slot name=header>"),ke=m("<slot name=empty>"),Se=m('<div class="absolute bottom-4 left-1/2 flex w-full max-w-3xl -translate-x-1/2 justify-center px-5">'),Ce=m('<div class="shrink-0 px-4"><div class="mx-auto flex max-w-3xl items-center gap-2 pb-2"><slot name=composer-actions>'),Te=m("<slot name=composer>"),ye=m('<div part=footer class="shrink-0 px-4 pb-3"><div class="mx-auto max-w-3xl text-center text-xs text-muted-foreground"><slot name=footer>'),Me=m('<div><div class="flex h-full min-w-0 flex-1 flex-col"><div class="relative flex-1 overflow-hidden"></div><div class="shrink-0 px-4 pb-4"><div class="mx-auto max-w-3xl">'),$e=m('<div class="text-sm font-semibold text-foreground">'),Ae=m("<div class=space-y-1.5>"),Re=m('<header part=header-bar class="flex h-14 shrink-0 items-center justify-between border-b border-border px-5"><div class="flex items-center gap-2"><slot name=header-start></slot></div><div class="flex items-center gap-2"><slot name=header-end>'),_e=m("<div>");const H="items-stretch";function je(e){const v=L(),f=()=>e.actionsReveal==="hover"?"hover":"always",M=O(()=>e.messages.map(a=>a.id));let p;const T=se({emit:a=>{var o;return(o=e.onMessageAction)==null?void 0:o.call(e,a)},target:()=>p}),[$,w]=A(e.value??""),[y,g]=A([]),h=()=>typeof e.value=="string"?e.value:$();U(()=>{const a=e.value;a!=null&&typeof a!="string"&&w(a)});const n=a=>{var o;w(a),(o=e.onValueChange)==null||o.call(e,a)},x=()=>{g([]),e.value===void 0&&w("")},R=()=>{var a;(a=e.onSubmit)==null||a.call(e,{value:Y(Z(h())),attachments:y()}),x()},z=a=>{var o,u;(e.suggestionMode??"submit")==="fill"?(n(a),(o=e.onSuggestionClick)==null||o.call(e,a)):((u=e.onSubmit)==null||u.call(e,{value:a,attachments:y()}),x())},E=()=>!!(e.chatTitle||e.models||e.context||e.headerStart||e.headerEnd),W=()=>e.persistSuggestions||e.messages.length===0?e.suggestions:void 0,q=()=>e.scrollButton!==!1;return j(()=>{var a;(a=e.controllerRef)==null||a.call(e,{focus:o=>{var u;return(u=p?.querySelector('[contenteditable]:not([contenteditable="false"]), textarea'))==null?void 0:u.focus(o)},clear:()=>{var o;w(""),g([]),(o=e.onValueChange)==null||o.call(e,"")},send:()=>R(),scrollToBottom:o=>{const u=p?.querySelector(".overflow-y-auto");u?.scrollTo({top:u.scrollHeight,behavior:o??"smooth"})}})}),r(K,{get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return e.codeHighlight!==!1},get portalMount(){return v.portalMount()},get children(){var a=Me(),o=a.firstChild,u=o.firstChild,_=u.nextSibling,D=_.firstChild;return G(t=>p=t,a),c(a,r(d,{get when(){return e.sidebar},get children(){var t=be(),l=t.firstChild;return l._$owner=b(),t}}),o),c(o,r(d,{get when(){return e.headerFull},get fallback(){return r(d,{get when(){return E()},get children(){var t=Re(),l=t.firstChild,s=l.firstChild,k=l.nextSibling,S=k.firstChild;return s._$owner=b(),c(l,r(d,{get when(){return e.chatTitle},get children(){var i=$e();return c(i,()=>e.chatTitle),i}}),null),c(k,r(d,{get when(){return e.models},get children(){return r(ce,{get models(){return e.models},get currentModelId(){var i;return e.currentModel??((i=e.models[0])==null?void 0:i.id)??""},onModelChange:i=>{var C;return(C=e.onModelChange)==null?void 0:C.call(e,i)}})}}),S),c(k,r(d,{get when(){return e.context},get children(){return r(ue,{get usedTokens(){return e.context.usedTokens},get maxTokens(){return e.context.maxTokens},get inputTokens(){return e.context.inputTokens},get outputTokens(){return e.context.outputTokens},get estimatedCost(){return e.context.estimatedCost},get children(){return[r(de,{}),r(ge,{get children(){return[r(he,{}),r(me,{get children(){var i=Ae();return c(i,r(ve,{}),null),c(i,r(pe,{}),null),i}}),r(fe,{})]}})]}})}}),S),S._$owner=b(),t}})},get children(){var t=we(),l=t.firstChild;return l._$owner=b(),t}}),u),c(u,r(ee,{class:"h-full px-4 py-3",get children(){return[r(te,{class:"mx-auto w-full max-w-3xl space-y-4",get children(){return[r(d,{get when(){return B(()=>!!e.empty)()&&e.messages.length===0},get children(){var t=ke();return t._$owner=b(),t}}),r(J,{get each(){return M()},children:(t,l)=>r(d,{get when(){return e.messages[l()]},children:s=>{const k=r(ae,{get parts(){return s().parts},get isStreaming(){return B(()=>e.loading===!0&&s().role==="assistant")()&&l()===e.messages.length-1},get cardTypes(){return e.cardTypes},get cardSchemas(){return e.cardSchemas},get isUser(){return s().role==="user"},get markdown(){return s().role==="assistant"},get actions(){return s().actions},get actionsReveal(){return f()},get activeFeedback(){return T.resolveFeedback(s())},get copied(){return T.isCopied(s().id)},onAction:i=>T.handleAction(s(),i)}),S=()=>f()==="hover"?"group ":"";return r(d,{get when(){return s().avatar},get fallback(){return r(F,{get role(){return s().role},get class(){return`${S()}${s().role==="user"?"flex-col items-end":`flex-col ${H}`}`},children:k})},children:i=>r(F,{get role(){return s().role},get class(){return S()},get children(){return[r(oe,{get src(){return i().src??""},get alt(){return i().alt??""},get fallback(){return i().fallback}}),(()=>{var C=_e();return c(C,k),I(()=>V(C,`flex min-w-0 flex-1 flex-col ${s().role==="user"?"items-end":H}`)),C})()]}})})}})}),r(re,{})]}}),r(d,{get when(){return q()},get children(){var t=Se();return c(t,r(ne,{class:"shadow-sm"})),t}})]}})),c(o,r(d,{get when(){return e.composerActions},get children(){var t=Ce(),l=t.firstChild,s=l.firstChild;return s._$owner=b(),t}}),_),c(D,r(d,{get when(){return e.composer},get fallback(){return r(xe,{get value(){return h()},get placeholder(){return e.placeholder},get loading(){return e.loading===!0},get suggestions(){return W()},get attachments(){return y()},get accept(){return e.accept},get onAttachmentsRejected(){return e.onAttachmentsRejected},get webSearch(){return e.webSearch===!0},get voice(){return e.voice===!0},get triggers(){return e.triggers},get kindIcons(){return e.kindIcons},onValueChange:n,onSubmit:R,onSuggestionClick:z,onAttachmentsChange:t=>{var l;g(t),(l=e.onAttachmentsChange)==null||l.call(e,t)},onWebSearch:()=>{var t;return(t=e.onWebSearch)==null?void 0:t.call(e)},onVoice:()=>{var t;return(t=e.onVoice)==null?void 0:t.call(e)}})},get children(){var t=Te();return t._$owner=b(),t}})),c(o,r(d,{get when(){return e.footer},get children(){var t=ye(),l=t.firstChild,s=l.firstChild;return s._$owner=b(),t}}),null),I(()=>V(a,`flex h-full bg-background ${e.class??""}`)),a}})}N("kai-chat",{messages:[],value:void 0,placeholder:"Send a message...",loading:!1,suggestions:void 0,suggestionMode:"submit",persistSuggestions:!1,proseSize:"sm",codeTheme:"github-dark-dimmed",codeHighlight:!0,chatTitle:void 0,models:void 0,currentModel:void 0,context:void 0,scrollButton:!0,webSearch:!1,voice:!1,triggers:void 0,kindIcons:void 0,actionsReveal:"always",cardTypes:void 0,cardSchemas:void 0,accept:void 0},(e,{dispatch:v,flag:f,reflectFlag:M,element:p,expose:T})=>{const $=ie("kai-chat"),[w,y]=A({}),g=n=>w()[n]===!0;j(()=>{const n=()=>y(Q(p,X));n();const x=new MutationObserver(n);x.observe(p,{childList:!0}),P(()=>x.disconnect())}),M("loading");let h;return T({focus:n=>h?.focus(n),blur:()=>{var n,x;return(x=(n=p.shadowRoot)==null?void 0:n.activeElement)==null?void 0:x.blur()},clear:()=>h?.clear(),send:()=>h?.send(),scrollToBottom:n=>h?.scrollToBottom(n)}),r(je,{get messages(){return $(e.messages)},get value(){return e.value},get placeholder(){return e.placeholder},get loading(){return f("loading")},get suggestions(){return e.suggestions},get suggestionMode(){return e.suggestionMode},get persistSuggestions(){return f("persistSuggestions")},get proseSize(){return e.proseSize},get codeTheme(){return e.codeTheme},get codeHighlight(){return f("codeHighlight")},get chatTitle(){return e.chatTitle},get models(){return e.models},get currentModel(){return e.currentModel},get context(){return e.context},get scrollButton(){return e.scrollButton!==!1},get webSearch(){return f("webSearch")},get voice(){return f("voice")},get triggers(){return e.triggers},get kindIcons(){return e.kindIcons},get actionsReveal(){return e.actionsReveal},get cardTypes(){return le(e.cardTypes,e.theme)},get cardSchemas(){return e.cardSchemas},onValueChange:n=>v("kai-value-change",{value:n}),onSubmit:n=>v("kai-submit",n),get accept(){return e.accept},onAttachmentsChange:n=>v("kai-attachments-change",{attachments:n}),onAttachmentsRejected:n=>v("kai-attachments-rejected",{rejected:n}),onSuggestionClick:n=>v("kai-suggestion-click",{value:n}),onModelChange:n=>v("kai-model-change",{modelId:n}),onMessageAction:n=>v("kai-message-action",n),onWebSearch:()=>v("kai-web-search",{}),onVoice:()=>v("kai-voice",{}),controllerRef:n=>h=n,get headerStart(){return g("header-start")},get headerEnd(){return g("header-end")},get headerFull(){return g("header")},get sidebar(){return g("sidebar")},get empty(){return g("empty")},get composer(){return g("composer")},get composerActions(){return g("composer-actions")},get footer(){return g("footer")}})});
@@ -1 +1 @@
1
- import{c as e,S as i,a as c,d as u,s as g,q as h,m as d,i as l,t as s,f as p,j as v}from"./chunks/define-B_tXMYRm.js";import{c as o}from"./chunks/cn-CU7UAWzk.js";import{B as m}from"./chunks/button-B9okqG73.js";import{T as f}from"./chunks/tooltip-BqwnFWhn.js";import{S as k}from"./chunks/separator-DH2r_ZSZ.js";var b=s("<div>"),w=s('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><path d="M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2z">');function z(t){const[r,a]=g(t,["class","children"]);return(()=>{var n=b();return h(n,d({get class(){return o("flex items-center gap-0.5 overflow-hidden text-muted-foreground",r.class)}},a),!1,!0),l(n,()=>r.children,null),l(n,e(k,{}),null),n})()}function C(t){return e(i,{get when(){return!t.children},get fallback(){return t.children},get children(){var r=w();return c(()=>u(r,"class",o("size-4 shrink-0",t.class))),r}})}function x(t){const r=()=>t.variant??"ghost",a=()=>t.size??"sm",n=()=>e(m,{get variant(){return r()},get size(){return a()},type:"button",get"aria-label"(){return t["aria-label"]},get onClick(){return t.onClick},get class(){return t.class},get children(){return t.children}});return e(i,{get when(){return t.tooltip},get fallback(){return n()},get children(){return e(f,{get content(){return t.tooltip},get children(){return n()}})}})}var B=s("<span class=ml-1.5>");p("kai-checkpoint",{label:void 0,tooltip:void 0,variant:"ghost",size:"sm"},(t,{dispatch:r})=>e(z,{get children(){return e(x,{get tooltip(){return t.tooltip},get"aria-label"(){return v(()=>!!t.label)()?void 0:t.tooltip??"Checkpoint"},get variant(){return t.variant},get size(){return t.size},onClick:()=>r("kai-select"),get children(){return[e(C,{}),e(i,{get when(){return t.label},get children(){var a=B();return l(a,()=>t.label),a}})]}})}}));
1
+ import{c as e,S as i,a as c,d as u,s as g,q as h,m as d,i as l,t as s,f as p,j as v}from"./chunks/define-wjHR1MkU.js";import{c as o}from"./chunks/cn-CU7UAWzk.js";import{B as m}from"./chunks/button-flUbeufF.js";import{T as f}from"./chunks/tooltip-B0G99y8w.js";import{S as k}from"./chunks/separator-CeJHQqLW.js";var b=s("<div>"),w=s('<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><path d="M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2z">');function z(t){const[r,a]=g(t,["class","children"]);return(()=>{var n=b();return h(n,d({get class(){return o("flex items-center gap-0.5 overflow-hidden text-muted-foreground",r.class)}},a),!1,!0),l(n,()=>r.children,null),l(n,e(k,{}),null),n})()}function C(t){return e(i,{get when(){return!t.children},get fallback(){return t.children},get children(){var r=w();return c(()=>u(r,"class",o("size-4 shrink-0",t.class))),r}})}function x(t){const r=()=>t.variant??"ghost",a=()=>t.size??"sm",n=()=>e(m,{get variant(){return r()},get size(){return a()},type:"button",get"aria-label"(){return t["aria-label"]},get onClick(){return t.onClick},get class(){return t.class},get children(){return t.children}});return e(i,{get when(){return t.tooltip},get fallback(){return n()},get children(){return e(f,{get content(){return t.tooltip},get children(){return n()}})}})}var B=s("<span class=ml-1.5>");p("kai-checkpoint",{label:void 0,tooltip:void 0,variant:"ghost",size:"sm"},(t,{dispatch:r})=>e(z,{get children(){return e(x,{get tooltip(){return t.tooltip},get"aria-label"(){return v(()=>!!t.label)()?void 0:t.tooltip??"Checkpoint"},get variant(){return t.variant},get size(){return t.size},onClick:()=>r("kai-select"),get children(){return[e(C,{}),e(i,{get when(){return t.label},get children(){var a=B();return l(a,()=>t.label),a}})]}})}}));
@@ -1 +1 @@
1
- import{f as r,c as u}from"./chunks/define-B_tXMYRm.js";import{C as n}from"./chunks/choice-card-CGMc3kek.js";r("kai-choice",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,value:void 0,defaultValue:void 0,disabled:void 0},(l,{element:d,dispatch:t,flag:i,expose:o})=>{let e;return o({focus:a=>e?.focus(a),select:a=>e?.select(a),send:()=>e?.send(),dismiss:()=>e?.dismiss(),reopen:()=>e?.reopen()}),u(n,{get data(){return l.data},get cardId(){return l.cardId??(d.id||"kai-choice")},get heading(){return l.heading},get resolution(){return l.resolution},get value(){return l.value},get defaultValue(){return l.defaultValue},get disabled(){return i("disabled")},onValueChange:a=>t("kai-value-change",{value:a}),controllerRef:a=>e=a,hostElement:d})});
1
+ import{f as r,c as u}from"./chunks/define-wjHR1MkU.js";import{C as n}from"./chunks/choice-card-D4QUIOWZ.js";r("kai-choice",{data:void 0,cardId:void 0,heading:void 0,resolution:void 0,value:void 0,defaultValue:void 0,disabled:void 0},(l,{element:d,dispatch:t,flag:i,expose:o})=>{let e;return o({focus:a=>e?.focus(a),select:a=>e?.select(a),send:()=>e?.send(),dismiss:()=>e?.dismiss(),reopen:()=>e?.reopen()}),u(n,{get data(){return l.data},get cardId(){return l.cardId??(d.id||"kai-choice")},get heading(){return l.heading},get resolution(){return l.resolution},get value(){return l.value},get defaultValue(){return l.defaultValue},get disabled(){return i("disabled")},onValueChange:a=>t("kai-value-change",{value:a}),controllerRef:a=>e=a,hostElement:d})});
@@ -1 +1 @@
1
- import{s as d,q as h,m as i,j as u,i as c,c as n,D as k,F as g,t as w}from"./define-B_tXMYRm.js";var m={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},t=m,v=w("<svg>"),p=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),b=(...r)=>r.filter((e,s,o)=>!!e&&o.indexOf(e)===s).join(" "),f=r=>{const[e,s]=d(r,["color","size","strokeWidth","children","class","name","iconNode","absoluteStrokeWidth"]);return(()=>{var o=v();return h(o,i(t,{get width(){return e.size??t.width},get height(){return e.size??t.height},get stroke(){return e.color??t.stroke},get"stroke-width"(){return u(()=>!!e.absoluteStrokeWidth)()?Number(e.strokeWidth??t["stroke-width"])*24/Number(e.size):Number(e.strokeWidth??t["stroke-width"])},get class(){return b("lucide","lucide-icon",e.name!=null?`lucide-${p(e?.name)}`:void 0,e.class!=null?e.class:"")}},s),!0,!0),c(o,n(g,{get each(){return e.iconNode},children:([a,l])=>n(k,i({component:a},l))})),o})()},z=f;export{z as I};
1
+ import{s as d,q as h,m as i,j as u,i as c,c as n,D as k,F as g,t as w}from"./define-wjHR1MkU.js";var m={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"},t=m,v=w("<svg>"),p=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),b=(...r)=>r.filter((e,s,o)=>!!e&&o.indexOf(e)===s).join(" "),f=r=>{const[e,s]=d(r,["color","size","strokeWidth","children","class","name","iconNode","absoluteStrokeWidth"]);return(()=>{var o=v();return h(o,i(t,{get width(){return e.size??t.width},get height(){return e.size??t.height},get stroke(){return e.color??t.stroke},get"stroke-width"(){return u(()=>!!e.absoluteStrokeWidth)()?Number(e.strokeWidth??t["stroke-width"])*24/Number(e.size):Number(e.strokeWidth??t["stroke-width"])},get class(){return b("lucide","lucide-icon",e.name!=null?`lucide-${p(e?.name)}`:void 0,e.class!=null?e.class:"")}},s),!0,!0),c(o,n(g,{get each(){return e.iconNode},children:([a,l])=>n(k,i({component:a},l))})),o})()},z=f;export{z as I};
@@ -0,0 +1 @@
1
+ import{I as a}from"./Icon--Y8vsFal.js";import{c as o,m as r}from"./define-wjHR1MkU.js";import{f as t,b as i,s as m,p}from"./share-CyfnNEqp.js";import{c as s}from"./check-B5kBPKeo.js";import{c as k}from"./copy-Nf-kqxXH.js";import{d}from"./download-C4V7tBdb.js";import{e as y}from"./ellipsis-7gU33mL2.js";import{l as n}from"./link-2My69BqT.js";import{s as c}from"./star-DoHFAikQ.js";import{a as l,t as h}from"./thumbs-up-DX2Ijk3H.js";import{x as f}from"./x-B6UnOiLw.js";var v=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],M=e=>o(a,r(e,{name:"RefreshCw",iconNode:v})),u=M,x=[["polyline",{points:"9 17 4 12 9 7",key:"hvgpf2"}],["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}]],g=e=>o(a,r(e,{name:"Reply",iconNode:x})),N=g,w=[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]],L=e=>o(a,r(e,{name:"Trash2",iconNode:w})),R=L,b=[["polygon",{points:"11 5 6 9 2 9 2 15 6 15 11 19 11 5",key:"16drj5"}],["path",{d:"M15.54 8.46a5 5 0 0 1 0 7.07",key:"ltjumu"}],["path",{d:"M19.07 4.93a10 10 0 0 1 0 14.14",key:"1kegas"}]],j=e=>o(a,r(e,{name:"Volume2",iconNode:b})),C=j;const H={copy:k,like:h,dislike:l,regenerate:u,edit:p,share:m,bookmark:i,download:d,link:n,trash:R,check:s,x:f,star:c,flag:t,reply:N,more:y,"volume-2":C};function V(e){if(e)return H[e]}const I={copy:"Copy",like:"Like",dislike:"Dislike",regenerate:"Regenerate",edit:"Edit"};export{I as B,V as a};
@@ -0,0 +1 @@
1
+ import{I as o}from"./Icon--Y8vsFal.js";import{c as m,m as r}from"./define-wjHR1MkU.js";var e=[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]],t=a=>m(o,r(a,{name:"ArrowLeft",iconNode:e})),p=t;export{p as a};
@@ -1 +1 @@
1
- import{c as a,m as P,s as fe,g as k,l as y,k as F,x as J,o as Q,q as ge,i as c,S as g,t as v,d as p,a as z,b as X,v as Y,j as be,h as ve,e as me}from"./define-B_tXMYRm.js";import{c as H}from"./cn-CU7UAWzk.js";import{B as C}from"./button-B9okqG73.js";import{C as pe,a as we}from"./code-block-ClhQO9RW.js";import{F as xe}from"./file-tree-yGWNK0Js.js";import{L as ke}from"./loader-B5QzK_8_.js";import{i as ye,a as ee}from"./card-routing-BK09BdmL.js";import{a as ze}from"./arrow-left-iJVnQmxA.js";import{I as re}from"./Icon-b5A8hlHs.js";import{r as Ce,h as Te,c as Fe}from"./rotate-cw-DzVDJOA1.js";import{d as Pe}from"./download-DnCyWFJE.js";import{e as ne}from"./external-link-DG2sRdQL.js";import{f as Oe}from"./file-text-D0J9F6M7.js";import{m as Re,a as Se}from"./minimize-2-SegJ_oku.js";var je=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Ie=r=>a(re,P(r,{name:"ArrowRight",iconNode:je})),Ne=Ie,He=[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Me=r=>a(re,P(r,{name:"Eye",iconNode:He})),Ee=Me;const $e="6.0.227",te=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${$e}/build`,Be=()=>import(/*@vite-ignore*/`${te}/pdf.min.mjs`),Le=`${te}/pdf.worker.min.mjs`;let Ue=Be,De=Le,M=null;function Ae(){if(!M){const r=Ue;M=(async()=>{const t=await r(),e=t.default??t;return e.GlobalWorkerOptions.workerSrc=De,e})()}return M}async function Ve(r,t,e){const i=await(await Ae()).getDocument({url:r}).promise;t.replaceChildren();const l=typeof window<"u"&&window.devicePixelRatio?window.devicePixelRatio:1;for(let s=1;s<=i.numPages;s++){const d=await i.getPage(s),u=d.getViewport({scale:1}),h=u.width>0?e/u.width:1,f=d.getViewport({scale:h*l}),b=document.createElement("canvas");b.width=Math.max(1,Math.floor(f.width)),b.height=Math.max(1,Math.floor(f.height)),b.setAttribute("role","img"),b.setAttribute("aria-label",`Page ${s}`),b.style.width="100%",b.style.height="auto",b.style.display="block";const w=b.getContext("2d");t.appendChild(b),await d.render({canvasContext:w,viewport:f}).promise}return{pages:i.numPages}}var We=v('<div><div class="relative min-h-0 flex-1">'),qe=v('<form class="min-w-0 flex-1"><label class=sr-only for=kai-artifact-path>Address</label><input id=kai-artifact-path name=kai-artifact-path type=text autocomplete=off placeholder="Enter a path or URL\u2026">'),Ke=v("<div class=flex-1 aria-hidden=true>"),_e=v('<div role=tablist aria-label=View class="flex shrink-0 items-center gap-0.5 rounded-md bg-muted p-0.5">'),Ge=v('<div data-artifact-toolbar class="flex shrink-0 items-center gap-1.5 border-b border-border bg-surface px-2 py-1.5">'),Ze=v("<button type=button role=tab>"),Je=v('<iframe class="absolute inset-0 h-full w-full border-0 bg-white">'),Qe=v('<div class="absolute inset-0 flex"><div class="w-56 shrink-0 overflow-auto border-r border-border bg-surface-sunken py-1.5 scrollbar-thin"></div><div class="min-w-0 flex-1 overflow-auto scrollbar-thin">'),Xe=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">Select a file to view its source.'),Ye=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">No source \u2014 this file (<!>) has no code view.'),er=v('<div class="flex flex-wrap items-center justify-center gap-2"><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"target=_blank rel="noopener noreferrer">Open in new tab</a><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"download>Download'),rr=v(`<div role=region aria-label="PDF preview unavailable"class="absolute inset-0 flex flex-col items-center justify-center gap-3 bg-card p-6 text-center"><div class="text-sm font-medium text-foreground"></div><div class="text-xs text-muted-foreground">Can't preview this PDF inline.`),nr=v(`<div class="text-xs text-muted-foreground">Blocked: that address uses a scheme this viewer won't open.`),tr=v('<div class="pointer-events-none absolute inset-0 flex items-center justify-center">'),ar=v('<div class="absolute inset-0"><div role=region aria-label="PDF preview"tabindex=0 class="absolute inset-0 flex flex-col items-center gap-3 overflow-auto bg-surface-sunken p-3 scrollbar-thin focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset">');const ir="allow-scripts allow-forms";function E(r,t){console.warn(`[kai-artifact] blocked unsafe url in ${r}: ${t}`)}function or(r,t){if(r.url)return r.url;if(!t)return r.path;try{return new URL(r.path,t).href}catch{return r.path}}function lr(r,t){if(!r)return!1;const e=t.find(l=>l.url===r||l.path===r);if(e?.type==="pdf")return!0;const i=r.split(/[?#]/)[0];return/\.pdf$/i.test(i)}function sr(r){const t=P({files:[],defaultTab:"preview",sandbox:ir,showNav:!0,showReload:!0,showHome:!0,showPathField:!0,showTabs:!0,expandable:!1,openInTab:!1,standalone:!1,readonlyPath:!1,maximized:!1},r),[e,i]=fe(t,["src","files","tab","defaultTab","activeFile","sandbox","iframeTitle","onNavigate","onTabChange","onFileSelect","maximized","onMaximizeChange","showNav","showReload","showHome","showPathField","showTabs","expandable","openInTab","standalone","readonlyPath","displayUrl","controllerRef","class"]),[l,s]=k(e.src?[e.src]:[]),[d,u]=k(e.src?0:-1),h=()=>l()[d()]??"",f=()=>d()>0,b=()=>d()<l().length-1,w=y(()=>{const n=h();return n&&ye(n)?(E("preview",n),""):n}),[O,$]=k(e.tab??e.defaultTab),[B,L]=k(e.activeFile),[ie,oe]=k(0),[R,S]=k(e.maximized??!1);F(()=>S(e.maximized??!1));const le=()=>{var n;const o=!R();S(o),(n=e.onMaximizeChange)==null||n.call(e,o)},U=y(()=>{const n=h();return!!n&&n!=="about:blank"&&ee(n)}),D=()=>{const n=h();if(!U()){n&&n!=="about:blank"&&E("openExternal",n);return}window.open(n,"_blank","noopener,noreferrer")},A=y(()=>e.expandable&&!e.standalone),se=y(()=>e.showNav||e.showReload||e.showHome||e.showPathField||e.showTabs||A()||e.openInTab);let x;F(()=>{e.tab!==void 0&&$(e.tab)}),F(()=>L(e.activeFile)),F(J(()=>e.src,n=>{n&&n!==h()&&T(n)},{defer:!0}));const V=n=>n===void 0?void 0:e.files.find(o=>o.path===n),W=y(()=>V(B())),de=y(()=>{const n=W();return!!n&&n.type!=="image"&&n.type!=="pdf"&&typeof n.code=="string"});function T(n){if(n===h()){I();return}s(o=>[...o.slice(0,d()+1),n]),u(o=>o+1),j()}function j(){var n;x&&(x.src=w()||"about:blank"),(n=e.onNavigate)==null||n.call(e,h())}function ue(n){var o;n!==O()&&($(n),(o=e.onTabChange)==null||o.call(e,n))}function q(n,o){var m;L(n),(m=e.onFileSelect)==null||m.call(e,n),T(or(o,e.src))}const K=()=>{f()&&(u(n=>n-1),j())},_=()=>{b()&&(u(n=>n+1),j())};function I(){var n;x&&(x.src="about:blank",x.src=w()||"about:blank"),oe(o=>o+1),(n=e.onNavigate)==null||n.call(e,h())}const G=()=>{e.src&&T(e.src)},Z=n=>{var o;R()!==n&&(S(n),(o=e.onMaximizeChange)==null||o.call(e,n))};Q(()=>{var n;(n=e.controllerRef)==null||n.call(e,{back:()=>K(),forward:()=>_(),reload:()=>I(),home:()=>G(),navigate:o=>T(o),selectFile:o=>{const m=V(o);m&&q(o,m)},openExternal:()=>D(),maximize:()=>Z(!0),restore:()=>Z(!1)})});const ce=()=>{var n,o;try{const m=(n=x?.contentWindow)==null?void 0:n.location.href;m&&m!=="about:blank"&&m!==h()&&(s(N=>[...N.slice(0,d()+1),m]),u(N=>N+1),(o=e.onNavigate)==null||o.call(e,m))}catch{}},he=n=>{n.preventDefault();const o=n.currentTarget.elements.namedItem("kai-artifact-path");if(e.readonlyPath||e.displayUrl!=null){o&&(o.value=e.displayUrl??h());return}o&&o.value&&T(o.value)};return(()=>{var n=We(),o=n.firstChild;return ge(n,P({get class(){return H("flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground",e.standalone&&"rounded-xl border border-border",e.class)}},i),!1,!0),c(n,a(g,{get when(){return se()},get children(){return a(dr,{url:()=>e.displayUrl??h(),tab:O,canBack:f,canForward:b,canHome:()=>!!e.src,onBack:K,onForward:_,onReload:I,onHome:G,onSubmitPath:he,onTab:ue,showNav:()=>e.showNav,showReload:()=>e.showReload,showHome:()=>e.showHome,showPathField:()=>e.showPathField,showTabs:()=>e.showTabs,showExpand:A,showOpenInTab:()=>e.openInTab,maximized:R,onToggleMaximize:le,canOpenInTab:U,onOpenInTab:D,readonlyPath:()=>e.readonlyPath||e.displayUrl!=null})}}),o),c(o,a(g,{get when(){return O()==="preview"},get fallback(){return a(cr,{get files(){return e.files},activeFile:B,activeFileObj:W,hasSource:de,onSelect:q})},get children(){return a(g,{get when(){return lr(h(),e.files)},get fallback(){return a(ur,{ref:m=>x=m,src:w,get sandbox(){return e.sandbox},get title(){return e.iframeTitle??"Artifact preview"},onLoad:ce})},get children(){return a(fr,{get url(){return h()},get reloadKey(){return ie()}})}})}})),n})()}function dr(r){return(()=>{var t=Ge();return c(t,a(g,{get when(){return r.showNav()},get children(){return[a(C,{variant:"ghost",size:"icon-sm","aria-label":"Back",get disabled(){return!r.canBack()},onClick:()=>r.onBack(),get children(){return a(ze,{size:16,"aria-hidden":"true"})}}),a(C,{variant:"ghost",size:"icon-sm","aria-label":"Forward",get disabled(){return!r.canForward()},onClick:()=>r.onForward(),get children(){return a(Ne,{size:16,"aria-hidden":"true"})}})]}}),null),c(t,a(g,{get when(){return r.showReload()},get children(){return a(C,{variant:"ghost",size:"icon-sm","aria-label":"Reload",onClick:()=>r.onReload(),get children(){return a(Ce,{size:15,"aria-hidden":"true"})}})}}),null),c(t,a(g,{get when(){return r.showHome()},get children(){return a(C,{variant:"ghost",size:"icon-sm","aria-label":"Home",get disabled(){return!r.canHome()},onClick:()=>r.onHome(),get children(){return a(Te,{size:15,"aria-hidden":"true"})}})}}),null),c(t,a(g,{get when(){return r.showPathField()},get children(){var e=qe(),i=e.firstChild,l=i.nextSibling;return e.addEventListener("submit",s=>r.onSubmitPath(s)),p(l,"spellcheck",!1),z(s=>{var d=r.readonlyPath()||void 0,u=r.readonlyPath()?"true":void 0,h=H("h-7 w-full rounded-md border border-border px-2.5 text-xs text-foreground font-mono outline-none",r.readonlyPath()?"bg-muted/40 cursor-default":"bg-background focus-visible:ring-2 focus-visible:ring-ring");return d!==s.e&&(l.readOnly=s.e=d),u!==s.t&&p(l,"aria-readonly",s.t=u),h!==s.a&&X(l,s.a=h),s},{e:void 0,t:void 0,a:void 0}),z(()=>l.value=r.url()),e}}),null),c(t,a(g,{get when(){return!r.showPathField()},get children(){return Ke()}}),null),c(t,a(g,{get when(){return r.showExpand()},get children(){return a(C,{variant:"ghost",size:"icon-sm",get"aria-label"(){return r.maximized()?"Collapse":"Expand"},get"aria-expanded"(){return r.maximized()},onClick:()=>r.onToggleMaximize(),get children(){return a(g,{get when(){return r.maximized()},get fallback(){return a(Se,{size:15,"aria-hidden":"true"})},get children(){return a(Re,{size:15,"aria-hidden":"true"})}})}})}}),null),c(t,a(g,{get when(){return r.showOpenInTab()},get children(){return a(C,{variant:"ghost",size:"icon-sm","aria-label":"Open in new tab",get disabled(){return!r.canOpenInTab()},onClick:()=>r.onOpenInTab(),get children(){return a(ne,{size:15,"aria-hidden":"true"})}})}}),null),c(t,a(g,{get when(){return r.showTabs()},get children(){var e=_e();return c(e,a(ae,{label:"Preview",get icon(){return a(Ee,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="preview"},onClick:()=>r.onTab("preview")}),null),c(e,a(ae,{label:"Code",get icon(){return a(Fe,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="code"},onClick:()=>r.onTab("code")}),null),e}}),null),t})()}function ae(r){return(()=>{var t=Ze();return t.$$click=()=>r.onClick(),c(t,()=>r.icon,null),c(t,()=>r.label,null),z(e=>{var i=r.selected,l=H("inline-flex h-6 items-center gap-1.5 rounded px-2 text-xs font-medium transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring",r.selected?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground");return i!==e.e&&p(t,"aria-selected",e.e=i),l!==e.t&&X(t,e.t=l),e},{e:void 0,t:void 0}),t})()}function ur(r){return(()=>{var t=Je();t.addEventListener("load",()=>r.onLoad());var e=r.ref;return typeof e=="function"?Y(e,t):r.ref=t,z(i=>{var l=r.src()||"about:blank",s=r.sandbox,d=r.title;return l!==i.e&&p(t,"src",i.e=l),s!==i.t&&p(t,"sandbox",i.t=s),d!==i.a&&p(t,"title",i.a=d),i},{e:void 0,t:void 0,a:void 0}),t})()}function cr(r){return(()=>{var t=Qe(),e=t.firstChild,i=e.nextSibling;return c(e,a(xe,{get files(){return r.files},get activeFile(){return r.activeFile()},onSelect:(l,s)=>r.onSelect(l,s)})),c(i,a(g,{get when(){return r.activeFileObj()},get fallback(){return Xe()},get children(){return a(g,{get when(){return r.hasSource()},get fallback(){return(()=>{var l=Ye(),s=l.firstChild,d=s.nextSibling;return d.nextSibling,c(l,()=>r.activeFileObj().type??"binary",d),l})()},get children(){return a(pe,{class:"h-full rounded-none border-0",get children(){return a(we,{get code(){return r.activeFileObj().code??""},get language(){return r.activeFileObj().language}})}})}})}})),t})()}function hr(r){const t=()=>{const i=r.url.split(/[?#]/)[0];return i.slice(i.lastIndexOf("/")+1)||"document.pdf"},e=y(()=>{if(r.url){if(ee(r.url))return r.url;E("pdf fallback",r.url)}});return(()=>{var i=rr(),l=i.firstChild;return l.nextSibling,c(i,a(Oe,{size:40,class:"text-muted-foreground","aria-hidden":"true"}),l),c(l,t),c(i,a(g,{get when(){return e()},get fallback(){return nr()},get children(){var s=er(),d=s.firstChild;d.firstChild;var u=d.nextSibling,h=u.firstChild;return c(d,a(ne,{size:13,"aria-hidden":"true"}),null),c(u,a(Pe,{size:13,"aria-hidden":"true"}),h),z(f=>{var b=e(),w=e();return b!==f.e&&p(d,"href",f.e=b),w!==f.t&&p(u,"href",f.t=w),f},{e:void 0,t:void 0}),s}}),null),i})()}function fr(r){const[t,e]=k("loading");let i,l=0,s;const d=async()=>{if(!i){e("error");return}const u=++l;e("loading");try{const h=i.clientWidth||600;await Ve(r.url,i,h),u===l&&e("success")}catch{u===l&&e("error")}};return F(J(()=>[r.url,r.reloadKey],()=>{d()})),Q(()=>{if(!i||typeof ResizeObserver>"u")return;const u=new ResizeObserver(()=>{t()==="success"&&(clearTimeout(s),s=setTimeout(()=>{d()},200))});u.observe(i),ve(()=>{u.disconnect(),clearTimeout(s),l++})}),(()=>{var u=ar(),h=u.firstChild;return Y(f=>i=f,h),c(u,a(g,{get when(){return be(()=>!0)()&&t()==="loading"},get children(){var f=tr();return c(f,a(ke,{variant:"circular",size:"md"})),f}}),null),c(u,a(g,{get when(){return t()==="error"},get children(){return a(hr,{get url(){return r.url}})}}),null),z(()=>p(h,"aria-busy",t()==="loading")),u})()}me(["click"]);export{sr as A};
1
+ import{c as a,m as P,s as fe,g as k,l as y,k as F,x as J,o as Q,q as ge,i as c,S as g,t as v,d as p,a as z,b as X,u as Y,j as be,h as ve,e as me}from"./define-wjHR1MkU.js";import{c as H}from"./cn-CU7UAWzk.js";import{B as C}from"./button-flUbeufF.js";import{C as pe,a as we}from"./code-block-BdLiTitd.js";import{F as xe}from"./file-tree-zvB2i7P9.js";import{L as ke}from"./loader-iOxc_Tu-.js";import{i as ye,a as ee}from"./card-routing-BK09BdmL.js";import{a as ze}from"./arrow-left-CVh1TeN7.js";import{I as re}from"./Icon--Y8vsFal.js";import{r as Ce,h as Te,c as Fe}from"./rotate-cw-CPWe37D9.js";import{d as Pe}from"./download-C4V7tBdb.js";import{e as ne}from"./external-link-CSOEsNlx.js";import{f as Oe}from"./file-text-D1G8khle.js";import{m as Re,a as Se}from"./minimize-2-DPIUKTrT.js";var je=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Ie=r=>a(re,P(r,{name:"ArrowRight",iconNode:je})),Ne=Ie,He=[["path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z",key:"rwhkz3"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Me=r=>a(re,P(r,{name:"Eye",iconNode:He})),Ee=Me;const $e="6.0.227",te=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${$e}/build`,Be=()=>import(/*@vite-ignore*/`${te}/pdf.min.mjs`),Le=`${te}/pdf.worker.min.mjs`;let Ue=Be,De=Le,M=null;function Ae(){if(!M){const r=Ue;M=(async()=>{const t=await r(),e=t.default??t;return e.GlobalWorkerOptions.workerSrc=De,e})()}return M}async function Ve(r,t,e){const i=await(await Ae()).getDocument({url:r}).promise;t.replaceChildren();const l=typeof window<"u"&&window.devicePixelRatio?window.devicePixelRatio:1;for(let s=1;s<=i.numPages;s++){const d=await i.getPage(s),u=d.getViewport({scale:1}),h=u.width>0?e/u.width:1,f=d.getViewport({scale:h*l}),b=document.createElement("canvas");b.width=Math.max(1,Math.floor(f.width)),b.height=Math.max(1,Math.floor(f.height)),b.setAttribute("role","img"),b.setAttribute("aria-label",`Page ${s}`),b.style.width="100%",b.style.height="auto",b.style.display="block";const w=b.getContext("2d");t.appendChild(b),await d.render({canvasContext:w,viewport:f}).promise}return{pages:i.numPages}}var We=v('<div><div class="relative min-h-0 flex-1">'),qe=v('<form class="min-w-0 flex-1"><label class=sr-only for=kai-artifact-path>Address</label><input id=kai-artifact-path name=kai-artifact-path type=text autocomplete=off placeholder="Enter a path or URL\u2026">'),Ke=v("<div class=flex-1 aria-hidden=true>"),_e=v('<div role=tablist aria-label=View class="flex shrink-0 items-center gap-0.5 rounded-md bg-muted p-0.5">'),Ge=v('<div data-artifact-toolbar class="flex shrink-0 items-center gap-1.5 border-b border-border bg-surface px-2 py-1.5">'),Ze=v("<button type=button role=tab>"),Je=v('<iframe class="absolute inset-0 h-full w-full border-0 bg-white">'),Qe=v('<div class="absolute inset-0 flex"><div class="w-56 shrink-0 overflow-auto border-r border-border bg-surface-sunken py-1.5 scrollbar-thin"></div><div class="min-w-0 flex-1 overflow-auto scrollbar-thin">'),Xe=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">Select a file to view its source.'),Ye=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">No source \u2014 this file (<!>) has no code view.'),er=v('<div class="flex flex-wrap items-center justify-center gap-2"><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"target=_blank rel="noopener noreferrer">Open in new tab</a><a class="inline-flex h-8 items-center gap-1.5 rounded-md border border-border bg-background px-3 text-xs font-medium text-foreground transition-colors hover:bg-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"download>Download'),rr=v(`<div role=region aria-label="PDF preview unavailable"class="absolute inset-0 flex flex-col items-center justify-center gap-3 bg-card p-6 text-center"><div class="text-sm font-medium text-foreground"></div><div class="text-xs text-muted-foreground">Can't preview this PDF inline.`),nr=v(`<div class="text-xs text-muted-foreground">Blocked: that address uses a scheme this viewer won't open.`),tr=v('<div class="pointer-events-none absolute inset-0 flex items-center justify-center">'),ar=v('<div class="absolute inset-0"><div role=region aria-label="PDF preview"tabindex=0 class="absolute inset-0 flex flex-col items-center gap-3 overflow-auto bg-surface-sunken p-3 scrollbar-thin focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset">');const ir="allow-scripts allow-forms";function E(r,t){console.warn(`[kai-artifact] blocked unsafe url in ${r}: ${t}`)}function or(r,t){if(r.url)return r.url;if(!t)return r.path;try{return new URL(r.path,t).href}catch{return r.path}}function lr(r,t){if(!r)return!1;const e=t.find(l=>l.url===r||l.path===r);if(e?.type==="pdf")return!0;const i=r.split(/[?#]/)[0];return/\.pdf$/i.test(i)}function sr(r){const t=P({files:[],defaultTab:"preview",sandbox:ir,showNav:!0,showReload:!0,showHome:!0,showPathField:!0,showTabs:!0,expandable:!1,openInTab:!1,standalone:!1,readonlyPath:!1,maximized:!1},r),[e,i]=fe(t,["src","files","tab","defaultTab","activeFile","sandbox","iframeTitle","onNavigate","onTabChange","onFileSelect","maximized","onMaximizeChange","showNav","showReload","showHome","showPathField","showTabs","expandable","openInTab","standalone","readonlyPath","displayUrl","controllerRef","class"]),[l,s]=k(e.src?[e.src]:[]),[d,u]=k(e.src?0:-1),h=()=>l()[d()]??"",f=()=>d()>0,b=()=>d()<l().length-1,w=y(()=>{const n=h();return n&&ye(n)?(E("preview",n),""):n}),[O,$]=k(e.tab??e.defaultTab),[B,L]=k(e.activeFile),[ie,oe]=k(0),[R,S]=k(e.maximized??!1);F(()=>S(e.maximized??!1));const le=()=>{var n;const o=!R();S(o),(n=e.onMaximizeChange)==null||n.call(e,o)},U=y(()=>{const n=h();return!!n&&n!=="about:blank"&&ee(n)}),D=()=>{const n=h();if(!U()){n&&n!=="about:blank"&&E("openExternal",n);return}window.open(n,"_blank","noopener,noreferrer")},A=y(()=>e.expandable&&!e.standalone),se=y(()=>e.showNav||e.showReload||e.showHome||e.showPathField||e.showTabs||A()||e.openInTab);let x;F(()=>{e.tab!==void 0&&$(e.tab)}),F(()=>L(e.activeFile)),F(J(()=>e.src,n=>{n&&n!==h()&&T(n)},{defer:!0}));const V=n=>n===void 0?void 0:e.files.find(o=>o.path===n),W=y(()=>V(B())),de=y(()=>{const n=W();return!!n&&n.type!=="image"&&n.type!=="pdf"&&typeof n.code=="string"});function T(n){if(n===h()){I();return}s(o=>[...o.slice(0,d()+1),n]),u(o=>o+1),j()}function j(){var n;x&&(x.src=w()||"about:blank"),(n=e.onNavigate)==null||n.call(e,h())}function ue(n){var o;n!==O()&&($(n),(o=e.onTabChange)==null||o.call(e,n))}function q(n,o){var m;L(n),(m=e.onFileSelect)==null||m.call(e,n),T(or(o,e.src))}const K=()=>{f()&&(u(n=>n-1),j())},_=()=>{b()&&(u(n=>n+1),j())};function I(){var n;x&&(x.src="about:blank",x.src=w()||"about:blank"),oe(o=>o+1),(n=e.onNavigate)==null||n.call(e,h())}const G=()=>{e.src&&T(e.src)},Z=n=>{var o;R()!==n&&(S(n),(o=e.onMaximizeChange)==null||o.call(e,n))};Q(()=>{var n;(n=e.controllerRef)==null||n.call(e,{back:()=>K(),forward:()=>_(),reload:()=>I(),home:()=>G(),navigate:o=>T(o),selectFile:o=>{const m=V(o);m&&q(o,m)},openExternal:()=>D(),maximize:()=>Z(!0),restore:()=>Z(!1)})});const ce=()=>{var n,o;try{const m=(n=x?.contentWindow)==null?void 0:n.location.href;m&&m!=="about:blank"&&m!==h()&&(s(N=>[...N.slice(0,d()+1),m]),u(N=>N+1),(o=e.onNavigate)==null||o.call(e,m))}catch{}},he=n=>{n.preventDefault();const o=n.currentTarget.elements.namedItem("kai-artifact-path");if(e.readonlyPath||e.displayUrl!=null){o&&(o.value=e.displayUrl??h());return}o&&o.value&&T(o.value)};return(()=>{var n=We(),o=n.firstChild;return ge(n,P({get class(){return H("flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground",e.standalone&&"rounded-xl border border-border",e.class)}},i),!1,!0),c(n,a(g,{get when(){return se()},get children(){return a(dr,{url:()=>e.displayUrl??h(),tab:O,canBack:f,canForward:b,canHome:()=>!!e.src,onBack:K,onForward:_,onReload:I,onHome:G,onSubmitPath:he,onTab:ue,showNav:()=>e.showNav,showReload:()=>e.showReload,showHome:()=>e.showHome,showPathField:()=>e.showPathField,showTabs:()=>e.showTabs,showExpand:A,showOpenInTab:()=>e.openInTab,maximized:R,onToggleMaximize:le,canOpenInTab:U,onOpenInTab:D,readonlyPath:()=>e.readonlyPath||e.displayUrl!=null})}}),o),c(o,a(g,{get when(){return O()==="preview"},get fallback(){return a(cr,{get files(){return e.files},activeFile:B,activeFileObj:W,hasSource:de,onSelect:q})},get children(){return a(g,{get when(){return lr(h(),e.files)},get fallback(){return a(ur,{ref:m=>x=m,src:w,get sandbox(){return e.sandbox},get title(){return e.iframeTitle??"Artifact preview"},onLoad:ce})},get children(){return a(fr,{get url(){return h()},get reloadKey(){return ie()}})}})}})),n})()}function dr(r){return(()=>{var t=Ge();return c(t,a(g,{get when(){return r.showNav()},get children(){return[a(C,{variant:"ghost",size:"icon-sm","aria-label":"Back",get disabled(){return!r.canBack()},onClick:()=>r.onBack(),get children(){return a(ze,{size:16,"aria-hidden":"true"})}}),a(C,{variant:"ghost",size:"icon-sm","aria-label":"Forward",get disabled(){return!r.canForward()},onClick:()=>r.onForward(),get children(){return a(Ne,{size:16,"aria-hidden":"true"})}})]}}),null),c(t,a(g,{get when(){return r.showReload()},get children(){return a(C,{variant:"ghost",size:"icon-sm","aria-label":"Reload",onClick:()=>r.onReload(),get children(){return a(Ce,{size:15,"aria-hidden":"true"})}})}}),null),c(t,a(g,{get when(){return r.showHome()},get children(){return a(C,{variant:"ghost",size:"icon-sm","aria-label":"Home",get disabled(){return!r.canHome()},onClick:()=>r.onHome(),get children(){return a(Te,{size:15,"aria-hidden":"true"})}})}}),null),c(t,a(g,{get when(){return r.showPathField()},get children(){var e=qe(),i=e.firstChild,l=i.nextSibling;return e.addEventListener("submit",s=>r.onSubmitPath(s)),p(l,"spellcheck",!1),z(s=>{var d=r.readonlyPath()||void 0,u=r.readonlyPath()?"true":void 0,h=H("h-7 w-full rounded-md border border-border px-2.5 text-xs text-foreground font-mono outline-none",r.readonlyPath()?"bg-muted/40 cursor-default":"bg-background focus-visible:ring-2 focus-visible:ring-ring");return d!==s.e&&(l.readOnly=s.e=d),u!==s.t&&p(l,"aria-readonly",s.t=u),h!==s.a&&X(l,s.a=h),s},{e:void 0,t:void 0,a:void 0}),z(()=>l.value=r.url()),e}}),null),c(t,a(g,{get when(){return!r.showPathField()},get children(){return Ke()}}),null),c(t,a(g,{get when(){return r.showExpand()},get children(){return a(C,{variant:"ghost",size:"icon-sm",get"aria-label"(){return r.maximized()?"Collapse":"Expand"},get"aria-expanded"(){return r.maximized()},onClick:()=>r.onToggleMaximize(),get children(){return a(g,{get when(){return r.maximized()},get fallback(){return a(Se,{size:15,"aria-hidden":"true"})},get children(){return a(Re,{size:15,"aria-hidden":"true"})}})}})}}),null),c(t,a(g,{get when(){return r.showOpenInTab()},get children(){return a(C,{variant:"ghost",size:"icon-sm","aria-label":"Open in new tab",get disabled(){return!r.canOpenInTab()},onClick:()=>r.onOpenInTab(),get children(){return a(ne,{size:15,"aria-hidden":"true"})}})}}),null),c(t,a(g,{get when(){return r.showTabs()},get children(){var e=_e();return c(e,a(ae,{label:"Preview",get icon(){return a(Ee,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="preview"},onClick:()=>r.onTab("preview")}),null),c(e,a(ae,{label:"Code",get icon(){return a(Fe,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="code"},onClick:()=>r.onTab("code")}),null),e}}),null),t})()}function ae(r){return(()=>{var t=Ze();return t.$$click=()=>r.onClick(),c(t,()=>r.icon,null),c(t,()=>r.label,null),z(e=>{var i=r.selected,l=H("inline-flex h-6 items-center gap-1.5 rounded px-2 text-xs font-medium transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-ring",r.selected?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground");return i!==e.e&&p(t,"aria-selected",e.e=i),l!==e.t&&X(t,e.t=l),e},{e:void 0,t:void 0}),t})()}function ur(r){return(()=>{var t=Je();t.addEventListener("load",()=>r.onLoad());var e=r.ref;return typeof e=="function"?Y(e,t):r.ref=t,z(i=>{var l=r.src()||"about:blank",s=r.sandbox,d=r.title;return l!==i.e&&p(t,"src",i.e=l),s!==i.t&&p(t,"sandbox",i.t=s),d!==i.a&&p(t,"title",i.a=d),i},{e:void 0,t:void 0,a:void 0}),t})()}function cr(r){return(()=>{var t=Qe(),e=t.firstChild,i=e.nextSibling;return c(e,a(xe,{get files(){return r.files},get activeFile(){return r.activeFile()},onSelect:(l,s)=>r.onSelect(l,s)})),c(i,a(g,{get when(){return r.activeFileObj()},get fallback(){return Xe()},get children(){return a(g,{get when(){return r.hasSource()},get fallback(){return(()=>{var l=Ye(),s=l.firstChild,d=s.nextSibling;return d.nextSibling,c(l,()=>r.activeFileObj().type??"binary",d),l})()},get children(){return a(pe,{class:"h-full rounded-none border-0",get children(){return a(we,{get code(){return r.activeFileObj().code??""},get language(){return r.activeFileObj().language}})}})}})}})),t})()}function hr(r){const t=()=>{const i=r.url.split(/[?#]/)[0];return i.slice(i.lastIndexOf("/")+1)||"document.pdf"},e=y(()=>{if(r.url){if(ee(r.url))return r.url;E("pdf fallback",r.url)}});return(()=>{var i=rr(),l=i.firstChild;return l.nextSibling,c(i,a(Oe,{size:40,class:"text-muted-foreground","aria-hidden":"true"}),l),c(l,t),c(i,a(g,{get when(){return e()},get fallback(){return nr()},get children(){var s=er(),d=s.firstChild;d.firstChild;var u=d.nextSibling,h=u.firstChild;return c(d,a(ne,{size:13,"aria-hidden":"true"}),null),c(u,a(Pe,{size:13,"aria-hidden":"true"}),h),z(f=>{var b=e(),w=e();return b!==f.e&&p(d,"href",f.e=b),w!==f.t&&p(u,"href",f.t=w),f},{e:void 0,t:void 0}),s}}),null),i})()}function fr(r){const[t,e]=k("loading");let i,l=0,s;const d=async()=>{if(!i){e("error");return}const u=++l;e("loading");try{const h=i.clientWidth||600;await Ve(r.url,i,h),u===l&&e("success")}catch{u===l&&e("error")}};return F(J(()=>[r.url,r.reloadKey],()=>{d()})),Q(()=>{if(!i||typeof ResizeObserver>"u")return;const u=new ResizeObserver(()=>{t()==="success"&&(clearTimeout(s),s=setTimeout(()=>{d()},200))});u.observe(i),ve(()=>{u.disconnect(),clearTimeout(s),l++})}),(()=>{var u=ar(),h=u.firstChild;return Y(f=>i=f,h),c(u,a(g,{get when(){return be(()=>!0)()&&t()==="loading"},get children(){var f=tr();return c(f,a(ke,{variant:"circular",size:"md"})),f}}),null),c(u,a(g,{get when(){return t()==="error"},get children(){return a(hr,{get url(){return r.url}})}}),null),z(()=>p(h,"aria-busy",t()==="loading")),u})()}me(["click"]);export{sr as A};
@@ -0,0 +1 @@
1
+ import{c as d,m,s as b,q as h,i as l,S as f,j as x,t as p,B as j,G as I,a as R,d as w}from"./define-wjHR1MkU.js";import{c as g}from"./cn-CU7UAWzk.js";import{B as S}from"./button-flUbeufF.js";import{H as U,a as V,b as G}from"./hover-card-CJJkfHTK.js";import{x as O}from"./x-B6UnOiLw.js";import{I as q}from"./Icon--Y8vsFal.js";import{f as W}from"./file-text-D1G8khle.js";import{p as X,g as Y,i as Z}from"./paperclip-CRZVp4z_.js";var J=[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]],K=e=>d(q,m(e,{name:"FileCode",iconNode:J})),Q=K,_=[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]],ee=e=>d(q,m(e,{name:"FileX",iconNode:_})),te=ee;const D=[{pattern:"image/jpeg",kind:"image"},{pattern:"image/png",kind:"image"},{pattern:"image/gif",kind:"image"},{pattern:"image/webp",kind:"image"},{pattern:"application/pdf",kind:"document"},{pattern:"text/*",kind:"text"},{pattern:"application/json",kind:"text"},{pattern:"application/xml",kind:"text"},{pattern:"application/x-yaml",kind:"text"},{pattern:"application/yaml",kind:"text"}],A="text/plain",ae=["","application/octet-stream"],C=e=>e.trim().toLowerCase(),H=e=>ae.includes(e===void 0?"":C(e)),re=e=>{if(!e.startsWith("."))return e;throw new Error(`\`accept\` entry "${e}" is a file extension, and this kit takes media types only. HTML's own accept attribute does take extensions, which is exactly why this throws rather than quietly matching nothing. Use a media type instead -- "text/*" covers source files, "image/*" images, "application/pdf" PDFs, and \`encodableMediaTypes()\` is the full set. You lose nothing by dropping the extension: a file the browser cannot name is decided by decoding its bytes, which is stronger than matching its name.`)},ne=e=>(typeof e=="string"?e.split(","):e).map(C).filter(a=>a!=="").map(re),N=e=>{const a=e.indexOf("/");return a===-1?[e,""]:[e.slice(0,a),e.slice(a+1)]},k=(e,a)=>{const[r,t]=N(e),[i,n]=N(a);return r!=="*"&&r!==i?!1:t==="*"||t===n},ie=(e,a)=>{if(k(e,a))return a;if(k(a,e))return e};function P(e={}){const a=e.accept===void 0?void 0:ne(e.accept),r=[];for(const t of D){if(a===void 0){r.push({...t});continue}for(const i of a){const n=ie(t.pattern,i);n!==void 0&&!r.some(s=>s.pattern===n)&&r.push({pattern:n,kind:t.kind})}}return{types:r.map(t=>t.pattern),accept:r.map(t=>t.pattern).join(","),decide(t){const i=t===void 0?"":C(t);if(H(i))return r.some(s=>k(s.pattern,A))?{status:"undetermined"}:{status:"unsupported"};const n=r.find(s=>k(s.pattern,i));return n?{status:"allowed",kind:n.kind}:D.some(s=>k(s.pattern,i))?{status:"filtered"}:{status:"unsupported"}}}}const $=P();var T=p("<div>"),se=p("<div part=attachment>"),E=p("<span class=sr-only>"),oe=p('<img class="size-full object-cover"height=96 width=96>'),de=p('<img class="size-full rounded object-cover"height=20 width=20>'),ce=p('<span class="text-warning text-caption block truncate">unsupported attachment format'),ue=p('<div part=attachment-name><span class="block truncate">'),le=p("<div part=attachment-name>"),pe=p('<span class="text-muted-foreground text-caption block truncate">');const ge={document:W,image:Z,source:Y,text:Q,unknown:X,unsendable:te},z=e=>{if(e.type==="source-document")return"source";const a=$.decide(e.mediaType);switch(a.status){case"allowed":return a.kind;case"unsupported":return"unsendable";case"undetermined":case"filtered":return"unknown"}},me=e=>{var a;return z(e)!=="unsendable"?void 0:`${((a=e.mediaType)==null?void 0:a.trim())||"This file type"} is not one of the attachment formats a model request can carry.`},F=e=>{if(e.type==="source-document")return e.title||e.filename||"Source";const a=z(e);return e.filename||(a==="image"?"Image":"Attachment")},B=j(),L=j(),he=()=>I(B)??{variant:"grid"},M=()=>{const e=I(L);if(!e)throw new Error("Attachment components must be used within <Attachment>");return e};function fe(e){const[a,r]=b(e,["variant","class","children"]),t=()=>a.variant??"grid";return d(B.Provider,{value:{get variant(){return t()}},get children(){var i=T();return h(i,m({get class(){return g("flex items-start",t()==="list"?"flex-col gap-2":"flex-wrap gap-2",t()==="grid"&&"w-fit",a.class)}},r),!1,!0),l(i,()=>a.children),i}})}function ve(e){const[a,r]=b(e,["data","onRemove","class","children"]),t=he(),i=()=>z(a.data),n=()=>me(a.data);return d(L.Provider,{value:{get data(){return a.data},get mediaCategory(){return i()},get onRemove(){return a.onRemove},get variant(){return t.variant}},get children(){var s=se();return h(s,m({get class(){return g("group relative",t.variant==="grid"&&"size-24 overflow-hidden rounded-lg",t.variant==="inline"&&["flex h-8 cursor-pointer select-none items-center gap-1.5","rounded-md bg-surface-strong px-1.5 text-foreground","font-medium text-sm transition-all","hover:bg-muted"],t.variant==="list"&&["flex w-full items-center gap-3 rounded-lg bg-surface p-3 text-foreground","hover:bg-muted/50"],a.class)},get"data-unsendable"(){return n()===void 0?void 0:""},get title(){return n()}},r),!1,!0),l(s,d(f,{get when(){return n()},children:o=>(()=>{var u=E();return l(u,o),u})()}),null),l(s,()=>a.children,null),s}})}function ye(e){const[a,r]=b(e,["fallbackIcon","class"]),t=M(),i=()=>t.variant==="inline"?"size-3":"size-4",n=o=>d(o,{get class(){return g(i(),t.mediaCategory==="unsendable"?"text-warning":"text-muted-foreground")}}),s=()=>{if(t.mediaCategory==="image"&&t.data.type==="file"&&t.data.url)return t.variant==="grid"?(()=>{var u=oe();return R(c=>{var v=t.data.filename||"Image",y=t.data.url;return v!==c.e&&w(u,"alt",c.e=v),y!==c.t&&w(u,"src",c.t=y),c},{e:void 0,t:void 0}),u})():(()=>{var u=de();return R(c=>{var v=t.data.filename||"Image",y=t.data.url;return v!==c.e&&w(u,"alt",c.e=v),y!==c.t&&w(u,"src",c.t=y),c},{e:void 0,t:void 0}),u})();const o=ge[t.mediaCategory];return a.fallbackIcon??n(o)};return(()=>{var o=T();return h(o,m({get class(){return g("flex shrink-0 items-center justify-center overflow-hidden",t.variant==="grid"&&"size-full bg-muted",t.variant==="inline"&&"size-5 rounded bg-background",t.variant==="list"&&"size-12 rounded bg-muted",a.class)}},r),!1,!0),l(o,s),o})()}function be(e){const[a,r]=b(e,["showMediaType","class"]),t=M(),i=()=>F(t.data);return d(f,{get when(){return t.variant!=="grid"},get fallback(){return d(f,{get when(){return t.mediaCategory!=="image"},get children(){var n=le();return h(n,m({get class(){return g("absolute inset-x-0 bottom-0 truncate px-1.5 py-1 text-caption","bg-background/85 backdrop-blur-sm",t.mediaCategory==="unsendable"?"text-warning":"text-foreground",a.class)}},r),!1,!0),l(n,i),n}})},get children(){var n=ue(),s=n.firstChild;return h(n,m({get class(){return g("min-w-0 flex-1",a.class)}},r),!1,!0),l(s,i),l(n,d(f,{get when(){return x(()=>t.mediaCategory==="unsendable")()&&t.variant==="list"},get fallback(){return d(f,{get when(){return x(()=>!!(a.showMediaType&&t.variant==="list"))()&&t.data.mediaType},get children(){var o=pe();return l(o,()=>t.data.mediaType),o}})},get children(){var o=ce(),u=o.firstChild;return l(o,(()=>{var c=x(()=>!!t.data.mediaType);return()=>c()?`${t.data.mediaType} \xB7 `:""})(),u),o}}),null),n}})}function ke(e){const a=M(),r=t=>{var i;t.stopPropagation(),(i=a.onRemove)==null||i.call(a)};return d(f,{get when(){return a.onRemove},get children(){return d(S,{get"aria-label"(){return e.label??"Remove"},get class(){return g(a.variant==="grid"&&["absolute top-2 right-2 size-6 rounded-full p-0","bg-background/80 backdrop-blur-sm","opacity-0 transition-opacity group-hover:opacity-100","hover:bg-background","[&>svg]:size-3"],a.variant==="inline"&&["size-5 rounded p-0","opacity-0 transition-opacity group-hover:opacity-100","[&>svg]:size-2.5"],a.variant==="list"&&["size-8 shrink-0 rounded p-0","[&>svg]:size-4"],e.class)},onClick:r,type:"button",variant:"ghost",get children(){return[x(()=>e.children??d(O,{})),(()=>{var t=E();return l(t,()=>e.label??"Remove"),t})()]}})}})}function xe(e){return d(U,{get openDelay(){return e.openDelay??0},get closeDelay(){return e.closeDelay??0},get children(){return e.children}})}function we(e){return d(V,{get class(){return e.class},get children(){return e.children}})}function ze(e){return d(G,{get class(){return g("w-auto p-2",e.class)},get children(){return e.children}})}function Ce(e){const[a,r]=b(e,["class","children"]);return(()=>{var t=T();return h(t,m({get class(){return g("flex items-center justify-center p-4 text-muted-foreground text-sm",a.class)}},r),!1,!0),l(t,()=>a.children??"No attachments"),t})()}export{fe as A,$ as D,A as U,ve as a,xe as b,we as c,ye as d,be as e,ze as f,F as g,z as h,ke as i,Ce as j,H as n,P as r};
@@ -0,0 +1 @@
1
+ import{g as C,k as L,h as N,l as gt,i as P,c as M,a as q,d as w,b as S,n as z,I as B,p as O,t as T,u as X,q as ft,m as I,M as H,S as mt,j as vt,r as pt,f as bt}from"./define-wjHR1MkU.js";import{c as D}from"./cn-CU7UAWzk.js";const yt=-100,xt=-10;function kt(t){if(t===-1/0)return 0;const e=Math.max(yt,Math.min(xt,t));return Math.sqrt(1-e*-1/100)}function Mt(t,e,n,r){const i=t.slice(Math.max(0,n),Math.max(0,r)),a=i.length,c=[];for(let s=0;s<e;s++){const l=Math.floor(s*a/e),h=Math.floor((s+1)*a/e);if(h<=l){c.push(0);continue}let b=0;for(let d=l;d<h;d++)b+=kt(i[d]);c.push(b/(h-l))}return c}function At(t){if(t.length===0)return 0;let e=0;for(let n=0;n<t.length;n++){const r=t[n];e+=r*r}return Math.sqrt(e/t.length)/255}function U(t,e){if(t.length===e)return t;if(t.length>e)return t.slice(0,e);const n=t[t.length-1]??0;return[...t,...new Array(e-t.length).fill(n)]}function wt(t,e){const n=(e-1)/2,r=new Array(e);for(let i=0;i<e;i++){const a=Math.floor(Math.abs(i-n));r[i]=t[Math.min(a,t.length-1)]??0}return r}function zt(t,e){const n=new Array(e);for(let r=0;r<e;r++){const i=Math.min(r,e-r);n[r]=t[Math.min(i,t.length-1)]??0}return n}const Ct={bands:5,loPass:100,hiPass:200,updateInterval:32},Z={fftSize:2048,smoothingTimeConstant:.8},R={fftSize:512,smoothingTimeConstant:.55,minDecibels:-100,maxDecibels:-80};function _(t){return typeof t=="function"?t():t}let Y;function $t(){if(!(typeof AudioContext>"u"))return Y??(Y=new AudioContext),Y}const tt=new WeakMap,et=new WeakMap;function qt(t){return"tagName"in t}function Ft(t){if(t.state!=="suspended")return()=>{};if(typeof document>"u")return()=>{};const e=()=>{t.resume().catch(()=>{})},n=["pointerdown","keydown","touchstart"];return n.forEach(r=>document.addEventListener(r,e,{once:!0,passive:!0})),()=>n.forEach(r=>document.removeEventListener(r,e))}function Dt(t,e={}){const n={...Ct,...e},[r,i]=C(new Array(_(n.bands)).fill(0)),[a,c]=C(0);return L(()=>{const s=t(),l=_(n.bands);if(i(new Array(l).fill(0)),c(0),!s)return;const h=$t();if(!h||typeof requestAnimationFrame>"u"||typeof cancelAnimationFrame>"u")return;const b=cancelAnimationFrame.bind(globalThis),d=Ft(h);let o;if(qt(s)){const v=s;let x=tt.get(v);x||(x=h.createMediaElementSource(v),x.connect(h.destination),tt.set(v,x)),o=x}else{let v=et.get(s);v||(v=h.createMediaStreamSource(s),et.set(s,v)),o=v}const u=h.createAnalyser();u.fftSize=Z.fftSize,u.smoothingTimeConstant=Z.smoothingTimeConstant;const m=h.createAnalyser();m.fftSize=R.fftSize,m.smoothingTimeConstant=R.smoothingTimeConstant,m.minDecibels=R.minDecibels,m.maxDecibels=R.maxDecibels,o.connect(u),o.connect(m);const k=new Float32Array(u.frequencyBinCount),p=new Uint8Array(m.frequencyBinCount);let g=0,f=0;const y=v=>{v-f>=n.updateInterval&&(u.getFloatFrequencyData(k),m.getByteFrequencyData(p),i(Mt(k,l,n.loPass,n.hiPass)),c(At(p)),f=v),g=requestAnimationFrame(y)};g=requestAnimationFrame(y),N(()=>{b(g),d(),u.disconnect(),m.disconnect(),o.disconnect(u),o.disconnect(m)})}),{bands:r,volume:a}}const Et=["idle","connecting","listening","thinking","speaking","disconnected"],Nt={failed:"disconnected",initializing:"connecting","pre-connect-buffering":"connecting"};function St(t){return t?Et.includes(t)?t:Nt[t]??"idle":"idle"}function Tt(t,e){switch(t){case"connecting":{const n=[];for(let r=0;r<e;r++)n.push([r,e-1-r]);return n.length?n:[[]]}case"listening":case"thinking":return[[Math.floor(e/2)],[-1]];case"speaking":return[Array.from({length:e},(n,r)=>r)];case"disconnected":return[[]];default:return[[]]}}function It(t,e){switch(t){case"connecting":return 2e3/Math.max(1,e);case"listening":return 500;case"thinking":return 150;default:return 1e3}}function Wt(t,e,n){const r=[],i=Math.floor(e/2),a=Math.floor(t/2),c={x:Math.max(0,i-n),y:Math.max(0,a-n)},s={x:Math.min(e-1,i+n),y:Math.min(t-1,a+n)};for(let l=c.x;l<=s.x;l++)r.push({x:l,y:c.y});for(let l=c.y+1;l<=s.y;l++)r.push({x:s.x,y:l});for(let l=s.x-1;l>=c.x;l--)r.push({x:l,y:s.y});for(let l=s.y-1;l>c.y;l--)r.push({x:c.x,y:l});return r}function Lt(t,e,n,r){const i={x:Math.floor(n/2),y:Math.floor(e/2)};switch(t){case"connecting":{const a=Math.floor(Math.max(e,n)/2),c=r!==void 0?Math.min(r,a):a,s=Wt(e,n,c);return s.length?s:[i]}case"listening":{const a={x:-1,y:-1};return[i,a,a,a,a,a,a,a,a]}case"thinking":{const a=Math.floor(e/2),c=[];for(let s=0;s<n;s++)c.push({x:s,y:a});for(let s=n-1;s>=0;s--)c.push({x:s,y:a});return c.length?c:[i]}case"disconnected":return[i];default:return[i]}}function nt(t,e){const n=(r,i)=>{for(;i!==0;){const a=i;i=r%i,r=a}return r};for(let r=e;r>=1;r--)if(n(t,r)===r)return r;return 1}function Pt(t){const e=t>8?t/nt(t,4):nt(t,2),n=Math.max(1,Math.floor(e)),r=Math.floor(t/n);return Array.from({length:n},(i,a)=>Array.from({length:r},(c,s)=>s*n+a))}function Vt(t,e){switch(t){case"connecting":{const n=Math.floor(e/2),r=[];for(let i=0;i<e;i++)r.push([i,(i+n)%e]);return r.length?r:[[]]}case"listening":case"thinking":{const n=Pt(e);return n.length?n:[[]]}case"speaking":return[Array.from({length:e},(n,r)=>r)];case"disconnected":return[[]];default:return[[]]}}function Ot(t){switch(t){case"connecting":case"listening":return 500;case"thinking":return 1/0;default:return 1e3}}function Rt(t){switch(t){case"listening":return{intensity:[.5,.8],speed:2.5};case"thinking":return{intensity:[.25,.5],speed:4};case"connecting":return{intensity:[.25,.5],speed:6};case"speaking":return{intensity:.3,speed:2.5};case"disconnected":return{intensity:.3,speed:.5};default:return{intensity:.3,speed:1}}}const V=5,G=.025,J=10;function jt(t){switch(t){case"listening":return{speed:V,amplitude:G,frequency:J,opacity:[1,.3],pulseDuration:.75};case"thinking":case"connecting":return{speed:V*4,amplitude:G/4,frequency:J*4,opacity:[1,.3],pulseDuration:.4};case"speaking":case"idle":return{speed:V*2,amplitude:G,frequency:J,opacity:1,pulseDuration:0};case"disconnected":return{speed:V,amplitude:0,frequency:0,opacity:1,pulseDuration:0};default:return{speed:V,amplitude:0,frequency:0,opacity:1,pulseDuration:0}}}function K(t){const[e,n]=C(0),r=gt(()=>t());return L(()=>{const i=r();if(n(0),!Number.isFinite(i)||i<=0||typeof requestAnimationFrame>"u"||typeof cancelAnimationFrame>"u")return;const a=cancelAnimationFrame.bind(globalThis);let c=0,s=performance.now();const l=h=>{h-s>=i&&(n(b=>b+1),s=h),c=requestAnimationFrame(l)};c=requestAnimationFrame(l),N(()=>a(c))}),e}const Q={icon:24,sm:56,md:112,lg:224,xl:448},Bt={icon:2,sm:4,md:8,lg:16,xl:32},rt={icon:4,sm:8,md:16,lg:32,xl:64},it={icon:2,sm:4,md:8,lg:12,xl:16},Ht={icon:2,sm:4,md:8,lg:12,xl:16},Ut={icon:6,sm:16,md:32,lg:64,xl:128};function at(t){return t==="icon"||t==="sm"?3:5}function ot(t){return t==="icon"||t==="sm"?12:24}function st(t){return t==="icon"?3:5}var lt=T("<div>");function j(t,e){return e===!0&&t==="listening"?"speaking":t}function ut(t){const e=()=>t.barCount??at(t.size),n=()=>j(t.state,t.listeningAmplitude),r=K(()=>t.frozen?1/0:It(n(),e())),i=()=>Tt(n(),e()),a=()=>i()[r()%i().length]??[],c=()=>n()==="speaking"?U(t.bands,e()):new Array(e()).fill(0);return(()=>{var s=lt();return P(s,M(B,{get each(){return c()},children:(l,h)=>{var b;const d={index:h,highlighted:()=>a().includes(h),value:()=>l()};return((b=t.children)==null?void 0:b.call(t,d))??(()=>{var o=lt();return q(u=>{var m=d.highlighted()?"bar highlighted":"bar",k=d.index,p=d.highlighted(),g=D("rounded-full bg-current/10","data-[kai-highlighted=true]:bg-current"),f=`${rt[t.size]}px`,y=`${rt[t.size]}px`,v=`${l()*100}%`,x=t.frozen?"none":"height 100ms ease-linear, background-color 250ms ease-linear";return m!==u.e&&w(o,"part",u.e=m),k!==u.t&&w(o,"data-kai-index",u.t=k),p!==u.a&&w(o,"data-kai-highlighted",u.a=p),g!==u.o&&S(o,u.o=g),f!==u.i&&z(o,"width",u.i=f),y!==u.n&&z(o,"min-height",u.n=y),v!==u.s&&z(o,"height",u.s=v),x!==u.h&&z(o,"transition",u.h=x),u},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),o})()}})),q(l=>{var h=t.state,b=D("relative flex items-center justify-center",t.class),d={height:`${Q[t.size]}px`,gap:`${Bt[t.size]}px`,...t.color?{color:t.color}:{}};return h!==l.e&&w(s,"data-kai-state",l.e=h),b!==l.t&&S(s,l.t=b),l.a=O(s,d,l.a),l},{e:void 0,t:void 0,a:void 0}),s})()}function Yt(t,e){return t===void 0||e===void 0||!Number.isFinite(t)||!Number.isFinite(e)||t<=0||e<=0?1:Math.min(1,t/e)}function Gt(){const[t,e]=C(),[n,r]=C(),[i,a]=C();let c,s,l;const h=()=>{if(l)return l;if(!(typeof ResizeObserver>"u"))return l=new ResizeObserver(d=>{for(const o of d)o.target===c&&e(o.contentRect.width),o.target===s&&(r(o.contentRect.width),a(o.contentRect.height))}),l};N(()=>l?.disconnect());const b=()=>Yt(t(),n());return{observeOuter:d=>{var o;c=d,(o=h())==null||o.observe(d)},observeInner:d=>{var o;s=d,(o=h())==null||o.observe(d)},scale:b,scaledHeight:()=>{const d=b(),o=i();return d<1&&o!==void 0&&o>0?o*d:void 0}}}var ct=T("<div>");const Jt=.65,Kt=.02;function Qt(t){const e=()=>t.count??st(t.size),n=()=>e(),r=()=>t.interval??100,i=()=>Array.from({length:e()*n()},(o,u)=>u),a=()=>j(t.state,t.listeningAmplitude),c=K(()=>t.frozen||a()==="speaking"?1/0:r()),s=()=>Lt(a(),e(),n(),t.spread),l=()=>s()[c()%s().length]??{x:-1,y:-1},h=()=>a()==="speaking"?U(t.bands,n()):new Array(n()).fill(0);function b(o){if(a()==="speaking"){const u=Math.floor(o/n()),m=Math.floor(e()/2),k=Math.abs(m-u)/(m+1)*Jt,p=Math.max(k,Kt);return(h()[o%n()]??0)>=p}return a()==="idle"||a()==="disconnected"?!1:l().x===o%n()&&l().y===Math.floor(o/n())}function d(o){return a()==="speaking"?"150ms":`${r()/(b(o)?1e3:100)}s`}return(()=>{var o=ct();return P(o,M(B,{get each(){return i()},children:(u,m)=>{var k;const p={index:m,highlighted:()=>b(m),value:()=>h()[m%n()]??0};return((k=t.children)==null?void 0:k.call(t,p))??(()=>{var g=ct();return q(f=>{var y=p.highlighted()?"cell highlighted":"cell",v=p.index,x=p.highlighted(),A=D("place-self-center rounded-full bg-current/10 transition-all ease-out","data-[kai-highlighted=true]:bg-current"),$=`${it[t.size]}px`,F=`${it[t.size]}px`,W=d(m);return y!==f.e&&w(g,"part",f.e=y),v!==f.t&&w(g,"data-kai-index",f.t=v),x!==f.a&&w(g,"data-kai-highlighted",f.a=x),A!==f.o&&S(g,f.o=A),$!==f.i&&z(g,"width",f.i=$),F!==f.n&&z(g,"height",f.n=F),W!==f.s&&z(g,"transition-duration",f.s=W),f},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),g})()}})),q(u=>{var m=t.state,k=D("grid",t.class),p={"grid-template-columns":`repeat(${n()}, 1fr)`,gap:`${Ht[t.size]}px`,...t.color?{color:t.color}:{}};return m!==u.e&&w(o,"data-kai-state",u.e=m),k!==u.t&&S(o,u.t=k),u.a=O(o,p,u.a),u},{e:void 0,t:void 0,a:void 0}),o})()}var Xt=T("<div style=aspect-ratio:1>"),Zt=T('<div data-kai-spoke class="absolute top-1/2 left-1/2 h-1 w-1 -translate-x-1/2 -translate-y-1/2"style=transform-origin:center>'),_t=T("<div>");function te(t){const e=()=>Math.max(1,t.barCount??ot(t.size)),n=()=>t.radius??Ut[t.size];e()%4!==0&&console.warn(`<kai-audio-visualizer variant="radial">: barCount ${e()} is not divisible by 4. The ring will look asymmetric.`);const r=()=>n()*Math.PI/e(),i=()=>j(t.state,t.listeningAmplitude),a=K(()=>t.frozen?1/0:Ot(i())),c=()=>Vt(i(),e()),s=()=>i()==="thinking"?Array.from({length:e()},(b,d)=>d):c()[a()%c().length]??[],l=()=>i()==="speaking"?U(t.bands,e()):new Array(e()).fill(0),h=()=>i()==="thinking"&&!t.frozen;return(()=>{var b=Xt();return P(b,M(B,{get each(){return l()},children:(d,o)=>{const u={index:o,highlighted:()=>s().includes(o),value:()=>d()};return(()=>{var m=Zt();return P(m,()=>{var k;return((k=t.children)==null?void 0:k.call(t,u))??(()=>{var p=_t();return q(g=>{var f=u.highlighted()?"bar highlighted":"bar",y=u.index,v=u.highlighted(),x=D("origin-bottom rounded-full bg-current/10","data-[kai-highlighted=true]:bg-current"),A=`${r()}px`,$=`${r()}px`,F=`${r()*10*d()}px`,W=t.frozen?"none":"height 100ms ease-linear, background-color 150ms ease-linear";return f!==g.e&&w(p,"part",g.e=f),y!==g.t&&w(p,"data-kai-index",g.t=y),v!==g.a&&w(p,"data-kai-highlighted",g.a=v),x!==g.o&&S(p,g.o=x),A!==g.i&&z(p,"width",g.i=A),$!==g.n&&z(p,"min-height",g.n=$),F!==g.s&&z(p,"height",g.s=F),W!==g.h&&z(p,"transition",g.h=W),g},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0}),p})()}),q(k=>z(m,"transform",`rotate(${o/e()*Math.PI*2}rad) translateY(${n()}px)`)),m})()}})),q(d=>{var o=t.state,u=D("relative flex items-center justify-center",h()&&"animate-spin",t.class),m={height:`${Q[t.size]}px`,...h()?{"animation-duration":"5s"}:{},...t.color?{color:t.color}:{}};return o!==d.e&&w(b,"data-kai-state",d.e=o),u!==d.t&&S(b,d.t=u),d.a=O(b,m,d.a),d},{e:void 0,t:void 0,a:void 0}),b})()}var ee=T('<div><div style="flex:0 0 auto;align-self:flex-start">');const ne=["bar","grid","radial","wave","aurora","custom"],re={aura:"aurora"};function ie(t){return t?ne.includes(t)?t:re[t]??"bar":"bar"}function ae(){const[t,e]=C(!1);return L(()=>{var n;if(typeof matchMedia!="function")return;const r=matchMedia("(prefers-reduced-motion: reduce)");e(r.matches);const i=a=>e(a.matches);(n=r.addEventListener)==null||n.call(r,"change",i),N(()=>{var a;return(a=r.removeEventListener)==null?void 0:a.call(r,"change",i)})}),t}function oe(t){const[e,n]=C(!1);return L(()=>{var r;if(typeof matchMedia!="function")return;const i=matchMedia("(prefers-color-scheme: dark)");n(i.matches);const a=c=>n(c.matches);(r=i.addEventListener)==null||r.call(i,"change",a),N(()=>{var c;return(c=i.removeEventListener)==null?void 0:c.call(i,"change",a)})}),()=>{const r=t()??"auto";return r==="dark"||r==="auto"&&e()}}const dt={wave:()=>import("./variant-wave-CaQ5ti39.js"),aurora:()=>import("./variant-aurora-qt6Zct8M.js"),custom:()=>import("./variant-custom-tJp22_BQ.js")};function se(t){const e=()=>ie(t.variant),n=()=>t.size??"md",r=()=>St(t.state),i=ae(),a=oe(()=>t.theme),c=()=>e()in dt,s=()=>e()==="grid"?t.count??st(n()):e()==="radial"?t.barCount??ot(n()):t.barCount??at(n()),l=Dt(()=>t.bands?void 0:t.stream??t.audioElement,{bands:()=>Math.ceil(s()/2)}),h=()=>t.bands?t.bands:e()==="radial"?zt(l.bands(),s()):wt(l.bands(),s()),b=()=>{if(!t.bands)return l.volume();if(t.bands.length===0)return 0;let y=0;for(const v of t.bands)y+=v*v;return Math.sqrt(y/t.bands.length)},[d,o]=C(),[u,m]=C(!1);L(()=>{const y=e(),v=dt[y];if(o(void 0),m(!1),!v)return;let x=!1;v().then(A=>{x||o(()=>A.default)}).catch(A=>{x||console.warn(`<kai-audio-visualizer variant="${y}">: failed to load the shader chunk, falling back to bars.`,A)}),N(()=>{x=!0})});const k=()=>({state:r(),size:n(),frozen:i(),color:t.color,listeningAmplitude:t.listeningAmplitude}),p=()=>({...k(),children:t.children}),g=()=>t.label?{role:"img","aria-label":t.label}:{"aria-hidden":"true"},f=Gt();return(()=>{var y=ee(),v=y.firstChild,x=f.observeOuter;typeof x=="function"?X(x,y):f.observeOuter=y,ft(y,I({get class(){return D("inline-flex",t.class)}},g,{get style(){return{"max-width":"100%",...f.scaledHeight()!==void 0?{height:`${f.scaledHeight()}px`,overflow:"hidden","vertical-align":"top"}:{}}}}),!1,!0);var A=f.observeInner;return typeof A=="function"?X(A,v):f.observeInner=v,P(v,M(pt,{get fallback(){return M(ut,I(p,{get bands(){return h()},get barCount(){return t.barCount}}))},get children(){return[M(H,{get when(){return e()==="grid"},get children(){return M(Qt,I(p,{get bands(){return h()},get count(){return t.count},get spread(){return t.spread},get interval(){return t.interval}}))}}),M(H,{get when(){return e()==="radial"},get children(){return M(te,I(p,{get bands(){return h()},get barCount(){return t.barCount},get radius(){return t.radius}}))}}),M(H,{get when(){return c()},get children(){return M(mt,{get when(){return vt(()=>!u())()&&d()},get fallback(){return M(ut,I(p,{get bands(){return h()},get barCount(){return t.barCount}}))},children:$=>{const F=$();return M(F,I(k,{get bands(){return h()},get volume(){return b()},get complexity(){return t.complexity},get shader(){return t.shader},get dark(){return a()},get animateWhenNotVisible(){return t.animateWhenNotVisible},onUnavailable:()=>m(!0)}))}})}})]}})),q($=>O(v,{...f.scale()<1?{transform:`scale(${f.scale()})`,"transform-origin":"top left"}:{}},$)),y})()}function E(t){if(t==null||t==="")return;const e=Number(t);return Number.isFinite(e)?e:void 0}function ht(t,e){var n,r;const i=((n=e?.dark)==null?void 0:n.call(e))??!1,a=e!=null&&e.flag?e.flag("animateWhenNotVisible"):t.animateWhenNotVisible===!0,c=e!=null&&e.flag?e.flag("listeningAmplitude"):t.listeningAmplitude===!0;return(r=e?.reflectFlag)==null||r.call(e,"listeningAmplitude"),M(se,{get variant(){return t.variant},get state(){return t.state},get size(){return t.size},get barCount(){return E(t.barCount)},get count(){return E(t.count)},get radius(){return E(t.radius)},get spread(){return E(t.spread)},get interval(){return E(t.interval)},get color(){return t.color},get complexity(){return E(t.complexity)},get label(){return t.label},get stream(){return t.stream},get audioElement(){return t.audioElement},get bands(){return t.bands},listeningAmplitude:c,get shader(){return t.shader},animateWhenNotVisible:a,theme:i?"dark":"light"})}bt("kai-audio-visualizer",{variant:"bar",state:"idle",size:"md",barCount:void 0,count:void 0,radius:void 0,spread:void 0,interval:void 0,color:void 0,complexity:void 0,label:void 0,stream:void 0,audioElement:void 0,bands:void 0,listeningAmplitude:void 0,shader:void 0,animateWhenNotVisible:void 0},ht);export{ht as A,Q as C,j as a,E as n,Rt as s,jt as w};
@@ -1 +1 @@
1
- import{s as n,q as i,m as s,i as o,t as u}from"./define-B_tXMYRm.js";import{c as m}from"./index-BCRhi84a.js";import{c}from"./cn-CU7UAWzk.js";var d=u("<span>");const f=m("inline-flex items-center justify-center rounded-full text-xs font-medium min-h-5 min-w-5",{variants:{variant:{default:"bg-muted text-muted-foreground px-2 py-0.5",count:"bg-muted text-muted-foreground h-5 px-1.5",citation:"bg-primary text-primary-foreground px-1.5 py-0.5 cursor-pointer"}},defaultVariants:{variant:"default"}});function p(a){const[t,e]=n(a,["variant","class","children"]);return(()=>{var r=d();return i(r,s({get class(){return c(f({variant:t.variant}),t.class)}},e),!1,!0),o(r,()=>t.children),r})()}export{p as B};
1
+ import{s as n,q as i,m as s,i as o,t as u}from"./define-wjHR1MkU.js";import{c as m}from"./index-BCRhi84a.js";import{c}from"./cn-CU7UAWzk.js";var d=u("<span>");const f=m("inline-flex items-center justify-center rounded-full text-xs font-medium min-h-5 min-w-5",{variants:{variant:{default:"bg-muted text-muted-foreground px-2 py-0.5",count:"bg-muted text-muted-foreground h-5 px-1.5",citation:"bg-primary text-primary-foreground px-1.5 py-0.5 cursor-pointer"}},defaultVariants:{variant:"default"}});function p(a){const[t,e]=n(a,["variant","class","children"]);return(()=>{var r=d();return i(r,s({get class(){return c(f({variant:t.variant}),t.class)}},e),!1,!0),o(r,()=>t.children),r})()}export{p as B};
@@ -1 +1 @@
1
- import{s,q as n,m as o,i as a,t as u}from"./define-B_tXMYRm.js";import{c as d}from"./index-BCRhi84a.js";import{c as l}from"./cn-CU7UAWzk.js";var c=u("<button>");const f=d("inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",ghost:"hover:bg-muted text-foreground",subtle:"text-muted-foreground hover:bg-accent hover:text-foreground",outline:"bg-muted/50 text-foreground hover:bg-muted",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90"},size:{sm:"h-8 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm",lg:"h-10 px-6 text-sm",icon:"h-9 w-9","icon-sm":"h-7 w-7"},align:{start:"justify-start",center:"justify-center",end:"justify-end"}},defaultVariants:{variant:"default",size:"md",align:"center"}});function g(r){const[e,i]=s(r,["variant","size","align","full","class","children"]);return(()=>{var t=c();return n(t,o({get class(){return l(f({variant:e.variant,size:e.size,align:e.align}),e.full&&"w-full",e.class)}},i),!1,!0),a(t,()=>e.children),t})()}export{g as B};
1
+ import{s,q as n,m as o,i as a,t as u}from"./define-wjHR1MkU.js";import{c as d}from"./index-BCRhi84a.js";import{c as l}from"./cn-CU7UAWzk.js";var c=u("<button>");const f=d("inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",ghost:"hover:bg-muted text-foreground",subtle:"text-muted-foreground hover:bg-accent hover:text-foreground",outline:"bg-muted/50 text-foreground hover:bg-muted",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90"},size:{sm:"h-8 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm",lg:"h-10 px-6 text-sm",icon:"h-9 w-9","icon-sm":"h-7 w-7"},align:{start:"justify-start",center:"justify-center",end:"justify-end"}},defaultVariants:{variant:"default",size:"md",align:"center"}});function g(r){const[e,i]=s(r,["variant","size","align","full","class","children"]);return(()=>{var t=c();return n(t,o({get class(){return l(f({variant:e.variant,size:e.size,align:e.align}),e.full&&"w-full",e.class)}},i),!1,!0),a(t,()=>e.children),t})()}export{g as B};
@@ -1 +1 @@
1
- import{B as c,i as p,c as a,d as l,S as u,j as C,a as A,n as O,t as g,w as $,l as y,k as F,D as S}from"./define-B_tXMYRm.js";import{C as U,u as k}from"./use-card-resolution-DJg32jGH.js";import{F as z,v as E}from"./form-Cp8Y00Wn.js";import{C as T}from"./confirm-card-BWjf2-xo.js";import{T as M}from"./tasks-card-lPxoodlA.js";import{C as P}from"./choice-card-CGMc3kek.js";import{L as B}from"./link-preview-Cf5KOP-i.js";import{E as N}from"./embed-CjAD2jSi.js";import{A as D}from"./artifact-BSuPYFHY.js";import{t as j}from"./triangle-alert-B6or7F5u.js";var R=g('<h3 class="shrink-0 truncate border-b border-border px-3 py-2 text-sm font-medium text-foreground">'),Z=g('<div part=card data-card-type=artifact role=group class="flex w-full flex-col overflow-hidden rounded-xl border border-border bg-card"><div class="min-h-0 flex-1">');const _="420px";function G(e){return typeof e=="number"?`${e}px`:typeof e=="string"&&e.trim()!==""?e:_}function H(e){const r=$(),n=c(()=>e.data.tab),s=c(()=>e.data.activeFile),d=i=>{var o;return(o=e.host)==null?void 0:o.emit({kind:"state",cardId:e.cardId,patch:i})};return(()=>{var i=Z(),o=i.firstChild;return p(i,a(u,{get when(){return e.heading},get children(){var t=R();return l(t,"id",r),p(t,()=>e.heading),t}}),o),p(o,a(D,{get src(){return e.data.src},get files(){return e.data.files},defaultTab:n,activeFile:s,get displayUrl(){return e.data.displayUrl},get iframeTitle(){return C(()=>!!e.heading)()?`${e.heading} preview`:"Artifact preview"},onNavigate:t=>d({src:t}),onTabChange:t=>d({tab:t}),onFileSelect:t=>d({activeFile:t})})),A(t=>{var f=e.cardId,v=e.heading?r:void 0,b=e.heading?void 0:"Artifact",x=G(e.data.height);return f!==t.e&&l(i,"data-card-id",t.e=f),v!==t.t&&l(i,"aria-labelledby",t.t=v),b!==t.a&&l(i,"aria-label",t.a=b),x!==t.o&&O(i,"height",t.o=x),t},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}const m={form:e=>a(z,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),confirm:e=>a(T,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),tasks:e=>a(M,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),choice:e=>a(P,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),link:e=>a(B,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},onEmit:r=>{var n;return(n=e.host)==null?void 0:n.emit(r)}}),embed:e=>a(N,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},onEmit:r=>{var n;return(n=e.host)==null?void 0:n.emit(r)}}),artifact:e=>a(H,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get host(){return e.host}})};function J(e){return e?{...m,...e}:{...m}}const I={artifact:{type:"object",properties:{src:{type:"string"},files:{type:"array",maxItems:500,items:{type:"object",required:["path"],properties:{path:{type:"string",maxLength:1024},url:{type:"string"},code:{type:"string"},language:{type:"string",maxLength:40},type:{type:"string",enum:["html","pdf","image","other"]},additions:{type:"integer",minimum:0},deletions:{type:"integer",minimum:0},status:{type:"string",enum:["added","modified","deleted","renamed","untracked"]}}}},tab:{type:"string",enum:["preview","code"]},activeFile:{type:"string",maxLength:1024},displayUrl:{type:"string",maxLength:2048}}},choice:{type:"object",required:["options"],properties:{prompt:{type:"string"},submitLabel:{type:"string"},options:{type:"array",minItems:1,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},description:{type:"string"},media:{type:"object",properties:{image:{type:"string"},imageAlt:{type:"string"},icon:{type:"string"}}},meta:{type:"string"},recommended:{type:"boolean"},disabled:{type:"boolean"}}}},dismissible:{type:"boolean"}}},confirm:{type:"object",required:["actions"],properties:{heading:{type:"string"},body:{type:"string"},tone:{type:"string",enum:["default","warning","danger"]},actions:{type:"array",minItems:1,maxItems:4,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},style:{type:"string",enum:["primary","default","destructive"]},default:{type:"boolean"}}}},dismissible:{type:"boolean"}}},embed:{type:"object",required:["provider"],properties:{provider:{type:"string",enum:["youtube","vimeo","generic"]},id:{type:"string",maxLength:64,pattern:"^[A-Za-z0-9_-]+$"},url:{type:"string"},title:{type:"string",maxLength:300},poster:{type:"string"},start:{type:"integer",minimum:0},aspectRatio:{type:"string",enum:["16:9","4:3","1:1","9:16"]}}},form:{type:"object",required:["type","properties"],properties:{type:{const:"object"},title:{type:"string"},description:{type:"string"},required:{type:"array",items:{type:"string"}},properties:{type:"object"},"x-kai-order":{type:"array",items:{type:"string"}},"x-kai-inlineMax":{type:"integer",minimum:1},"x-kai-submitLabel":{type:"string"},"x-kai-dismissible":{type:"boolean"},"x-kai-actions":{type:"array",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},variant:{enum:["default","ghost","outline"]}}}}}},link:{type:"object",required:["url"],properties:{url:{type:"string"},title:{type:"string",maxLength:300},description:{type:"string",maxLength:1e3},image:{type:"string"},imageAlt:{type:"string",maxLength:300},favicon:{type:"string"},domain:{type:"string",maxLength:253},siteName:{type:"string",maxLength:200}}},tasks:{type:"object",required:["tasks"],properties:{mode:{type:"string",enum:["select","progress"]},heading:{type:"string"},tasks:{type:"array",minItems:1,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},description:{type:"string"},checked:{type:"boolean"},disabled:{type:"boolean"}}}},selectAll:{type:"boolean"},confirmLabel:{type:"string"},allowEmpty:{type:"boolean"},min:{type:"integer",minimum:0},max:{type:"integer",minimum:1},dismissible:{type:"boolean"}}}},K=Object.freeze({type:"hard",required:"hard",const:"hard",minItems:"hard",enum:"soft",maxItems:"soft",minLength:"soft",maxLength:"soft",pattern:"soft",minimum:"soft",maximum:"soft",exclusiveMinimum:"soft",exclusiveMaximum:"soft",uniqueItems:"soft"}),Q="soft";function V(e){return Object.prototype.hasOwnProperty.call(I,e)}function W(e,r){if(r&&Object.prototype.hasOwnProperty.call(r,e)){const n=r[e];if(n&&typeof n=="object")return n}return V(e)?I[e]:null}function X(e){const r=e.slice(0,3).map(s=>s.message),n=e.length-r.length;return r.join("; ")+(n>0?`; and ${n} more`:"")}function L(e,r,n){const s=W(e,n);if(s===null)return null;const d=E(s,r);if(d.valid)return{ok:!0,tier:"ok",issues:[],hard:[],summary:""};const i=d.issues.map(t=>({...t,tier:K[t.keyword]??Q})),o=i.filter(t=>t.tier==="hard");return{ok:!1,tier:o.length>0?"hard":"soft",issues:i,hard:o,summary:X(o.length>0?o:i)}}function w(e){return`invalid card data (${e.tier}): ${e.summary}`}var Y=g('<div data-card-fallback role=alert class="flex items-center gap-2 p-4 text-sm text-muted-foreground"><span>Unsupported card type: <code class=font-mono>'),ee=g('<div data-card-fallback data-card-invalid role=alert class="flex items-start gap-2 p-4 text-sm text-muted-foreground"><span class=min-w-0>Invalid <code class=font-mono></code> card: <code data-card-invalid-reason class="font-mono break-words">');function h(e){return a(U,{get children(){return a(u,{get when(){return e.reason},get fallback(){return(()=>{var r=Y(),n=r.firstChild,s=n.firstChild,d=s.nextSibling;return p(r,a(j,{class:"size-4 shrink-0 text-destructive dark:text-red-400","aria-hidden":"true"}),n),p(d,()=>e.type),r})()},children:r=>(()=>{var n=ee(),s=n.firstChild,d=s.firstChild,i=d.nextSibling,o=i.nextSibling,t=o.nextSibling;return p(n,a(j,{class:"size-4 shrink-0 translate-y-0.5 text-destructive dark:text-red-400","aria-hidden":"true"}),s),p(i,()=>e.type),p(t,r),n})()})}})}function q(e,r){if(!e||!Object.prototype.hasOwnProperty.call(e,r))return!1;const n=e[r];return typeof n=="object"&&n!==null}function te(e){const r=k(),n=y(()=>J(e.types)),s=y(()=>n()[e.envelope.type]),d=y(()=>e.validateCards===!1||!q(e.schemas,e.envelope.type)&&s()!==m[e.envelope.type]?null:L(e.envelope.type,e.envelope.data,e.schemas));let i=null;return F(()=>{const o=d();if(!s())return;if(!o||o.ok){i=null;return}const t=w(o);t!==i&&(i=t,r?.emit({kind:"error",cardId:e.envelope.id,message:t}))}),a(u,{get when(){return s()},get fallback(){return a(re,{get envelope(){return e.envelope}})},children:o=>a(u,{get when(){var t;return((t=d())==null?void 0:t.tier)==="hard"},get fallback(){return a(S,{get component(){return o()},get envelope(){return e.envelope},host:r})},get children(){return a(h,{get type(){return e.envelope.type},get cardId(){return e.envelope.id},get reason(){return d().summary}})}})})}function re(e){const r=k();return c(()=>r?.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})),a(h,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})}export{m as B,h as C,te as a,w as c,q as h,L as v};
1
+ import{z as c,i as p,c as a,d as l,S as u,j as C,a as A,n as O,t as g,w as $,l as y,k as F,D as S}from"./define-wjHR1MkU.js";import{C as z,u as k}from"./use-card-resolution-DoA2f_EU.js";import{F as U,v as E}from"./form-CQirdC4W.js";import{C as T}from"./confirm-card-B0flE3MN.js";import{T as M}from"./tasks-card-CmZ5xh6v.js";import{C as P}from"./choice-card-D4QUIOWZ.js";import{L as N}from"./link-preview-OQ9IEq0f.js";import{E as B}from"./embed-D3KewsIJ.js";import{A as D}from"./artifact-BkYcfIlZ.js";import{t as j}from"./triangle-alert-F9cyUEyy.js";var R=g('<h3 class="shrink-0 truncate border-b border-border px-3 py-2 text-sm font-medium text-foreground">'),Z=g('<div part=card data-card-type=artifact role=group class="flex w-full flex-col overflow-hidden rounded-xl border border-border bg-card"><div class="min-h-0 flex-1">');const _="420px";function G(e){return typeof e=="number"?`${e}px`:typeof e=="string"&&e.trim()!==""?e:_}function H(e){const r=$(),n=c(()=>e.data.tab),s=c(()=>e.data.activeFile),d=i=>{var o;return(o=e.host)==null?void 0:o.emit({kind:"state",cardId:e.cardId,patch:i})};return(()=>{var i=Z(),o=i.firstChild;return p(i,a(u,{get when(){return e.heading},get children(){var t=R();return l(t,"id",r),p(t,()=>e.heading),t}}),o),p(o,a(D,{get src(){return e.data.src},get files(){return e.data.files},defaultTab:n,activeFile:s,get displayUrl(){return e.data.displayUrl},get iframeTitle(){return C(()=>!!e.heading)()?`${e.heading} preview`:"Artifact preview"},onNavigate:t=>d({src:t}),onTabChange:t=>d({tab:t}),onFileSelect:t=>d({activeFile:t})})),A(t=>{var f=e.cardId,v=e.heading?r:void 0,b=e.heading?void 0:"Artifact",x=G(e.data.height);return f!==t.e&&l(i,"data-card-id",t.e=f),v!==t.t&&l(i,"aria-labelledby",t.t=v),b!==t.a&&l(i,"aria-label",t.a=b),x!==t.o&&O(i,"height",t.o=x),t},{e:void 0,t:void 0,a:void 0,o:void 0}),i})()}const m={form:e=>a(U,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),confirm:e=>a(T,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),tasks:e=>a(M,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),choice:e=>a(P,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get resolution(){return e.envelope.resolution},get host(){return e.host}}),link:e=>a(N,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},onEmit:r=>{var n;return(n=e.host)==null?void 0:n.emit(r)}}),embed:e=>a(B,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},onEmit:r=>{var n;return(n=e.host)==null?void 0:n.emit(r)}}),artifact:e=>a(H,{get data(){return e.envelope.data},get cardId(){return e.envelope.id},get heading(){return e.envelope.title},get host(){return e.host}})};function J(e){return e?{...m,...e}:{...m}}const I={artifact:{type:"object",properties:{src:{type:"string"},files:{type:"array",maxItems:500,items:{type:"object",required:["path"],properties:{path:{type:"string",maxLength:1024},url:{type:"string"},code:{type:"string"},language:{type:"string",maxLength:40},type:{type:"string",enum:["html","pdf","image","other"]},additions:{type:"integer",minimum:0},deletions:{type:"integer",minimum:0},status:{type:"string",enum:["added","modified","deleted","renamed","untracked"]}}}},tab:{type:"string",enum:["preview","code"]},activeFile:{type:"string",maxLength:1024},displayUrl:{type:"string",maxLength:2048}}},choice:{type:"object",required:["options"],properties:{prompt:{type:"string"},submitLabel:{type:"string"},options:{type:"array",minItems:1,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},description:{type:"string"},media:{type:"object",properties:{image:{type:"string"},imageAlt:{type:"string"},icon:{type:"string"}}},meta:{type:"string"},recommended:{type:"boolean"},disabled:{type:"boolean"}}}},dismissible:{type:"boolean"}}},confirm:{type:"object",required:["actions"],properties:{heading:{type:"string"},body:{type:"string"},tone:{type:"string",enum:["default","warning","danger"]},actions:{type:"array",minItems:1,maxItems:4,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},style:{type:"string",enum:["primary","default","destructive"]},default:{type:"boolean"}}}},dismissible:{type:"boolean"}}},embed:{type:"object",required:["provider"],properties:{provider:{type:"string",enum:["youtube","vimeo","generic"]},id:{type:"string",maxLength:64,pattern:"^[A-Za-z0-9_-]+$"},url:{type:"string"},title:{type:"string",maxLength:300},poster:{type:"string"},start:{type:"integer",minimum:0},aspectRatio:{type:"string",enum:["16:9","4:3","1:1","9:16"]}}},form:{type:"object",required:["type","properties"],properties:{type:{const:"object"},title:{type:"string"},description:{type:"string"},required:{type:"array",items:{type:"string"}},properties:{type:"object"},"x-kai-order":{type:"array",items:{type:"string"}},"x-kai-inlineMax":{type:"integer",minimum:1},"x-kai-submitLabel":{type:"string"},"x-kai-dismissible":{type:"boolean"},"x-kai-actions":{type:"array",items:{type:"object",required:["id","label"],properties:{id:{type:"string"},label:{type:"string"},variant:{enum:["default","ghost","outline"]}}}}}},link:{type:"object",required:["url"],properties:{url:{type:"string"},title:{type:"string",maxLength:300},description:{type:"string",maxLength:1e3},image:{type:"string"},imageAlt:{type:"string",maxLength:300},favicon:{type:"string"},domain:{type:"string",maxLength:253},siteName:{type:"string",maxLength:200}}},tasks:{type:"object",required:["tasks"],properties:{mode:{type:"string",enum:["select","progress"]},heading:{type:"string"},tasks:{type:"array",minItems:1,items:{type:"object",required:["id","label"],properties:{id:{type:"string",minLength:1},label:{type:"string",minLength:1},description:{type:"string"},checked:{type:"boolean"},disabled:{type:"boolean"}}}},selectAll:{type:"boolean"},confirmLabel:{type:"string"},allowEmpty:{type:"boolean"},min:{type:"integer",minimum:0},max:{type:"integer",minimum:1},dismissible:{type:"boolean"}}}},K=Object.freeze({type:"hard",required:"hard",const:"hard",minItems:"hard",enum:"soft",maxItems:"soft",minLength:"soft",maxLength:"soft",pattern:"soft",minimum:"soft",maximum:"soft",exclusiveMinimum:"soft",exclusiveMaximum:"soft",uniqueItems:"soft"}),Q="soft";function V(e){return Object.prototype.hasOwnProperty.call(I,e)}function W(e,r){if(r&&Object.prototype.hasOwnProperty.call(r,e)){const n=r[e];if(n&&typeof n=="object")return n}return V(e)?I[e]:null}function X(e){const r=e.slice(0,3).map(s=>s.message),n=e.length-r.length;return r.join("; ")+(n>0?`; and ${n} more`:"")}function L(e,r,n){const s=W(e,n);if(s===null)return null;const d=E(s,r);if(d.valid)return{ok:!0,tier:"ok",issues:[],hard:[],summary:""};const i=d.issues.map(t=>({...t,tier:K[t.keyword]??Q})),o=i.filter(t=>t.tier==="hard");return{ok:!1,tier:o.length>0?"hard":"soft",issues:i,hard:o,summary:X(o.length>0?o:i)}}function w(e){return`invalid card data (${e.tier}): ${e.summary}`}var Y=g('<div data-card-fallback role=alert class="flex items-center gap-2 p-4 text-sm text-muted-foreground"><span>Unsupported card type: <code class=font-mono>'),ee=g('<div data-card-fallback data-card-invalid role=alert class="flex items-start gap-2 p-4 text-sm text-muted-foreground"><span class=min-w-0>Invalid <code class=font-mono></code> card: <code data-card-invalid-reason class="font-mono break-words">');function h(e){return a(z,{get children(){return a(u,{get when(){return e.reason},get fallback(){return(()=>{var r=Y(),n=r.firstChild,s=n.firstChild,d=s.nextSibling;return p(r,a(j,{class:"size-4 shrink-0 text-destructive dark:text-red-400","aria-hidden":"true"}),n),p(d,()=>e.type),r})()},children:r=>(()=>{var n=ee(),s=n.firstChild,d=s.firstChild,i=d.nextSibling,o=i.nextSibling,t=o.nextSibling;return p(n,a(j,{class:"size-4 shrink-0 translate-y-0.5 text-destructive dark:text-red-400","aria-hidden":"true"}),s),p(i,()=>e.type),p(t,r),n})()})}})}function q(e,r){if(!e||!Object.prototype.hasOwnProperty.call(e,r))return!1;const n=e[r];return typeof n=="object"&&n!==null}function te(e){const r=k(),n=y(()=>J(e.types)),s=y(()=>n()[e.envelope.type]),d=y(()=>e.validateCards===!1||!q(e.schemas,e.envelope.type)&&s()!==m[e.envelope.type]?null:L(e.envelope.type,e.envelope.data,e.schemas));let i=null;return F(()=>{const o=d();if(!s())return;if(!o||o.ok){i=null;return}const t=w(o);t!==i&&(i=t,r?.emit({kind:"error",cardId:e.envelope.id,message:t}))}),a(u,{get when(){return s()},get fallback(){return a(re,{get envelope(){return e.envelope}})},children:o=>a(u,{get when(){var t;return((t=d())==null?void 0:t.tier)==="hard"},get fallback(){return a(S,{get component(){return o()},get envelope(){return e.envelope},host:r})},get children(){return a(h,{get type(){return e.envelope.type},get cardId(){return e.envelope.id},get reason(){return d().summary}})}})})}function re(e){const r=k();return c(()=>r?.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})),a(h,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})}export{m as B,h as C,te as a,w as c,q as h,L as v};
@@ -0,0 +1 @@
1
+ import{I as m}from"./Icon--Y8vsFal.js";import{c as o,m as r}from"./define-wjHR1MkU.js";var c=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],e=a=>o(m,r(a,{name:"Check",iconNode:c})),f=e;export{f as c};
@@ -0,0 +1 @@
1
+ import{I as r}from"./Icon--Y8vsFal.js";import{c as a,m}from"./define-wjHR1MkU.js";var e=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],n=o=>a(r,m(o,{name:"ChevronDown",iconNode:e})),p=n;export{p as c};
@@ -0,0 +1 @@
1
+ import{I as o}from"./Icon--Y8vsFal.js";import{c as a,m as r}from"./define-wjHR1MkU.js";var t=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],e=m=>a(o,r(m,{name:"ChevronRight",iconNode:t})),h=e;export{h as c};
@@ -1 +1 @@
1
- import{m as ve,s as me,l as x,g as U,k as G,x as te,o as fe,c,E as he,S as b,i as p,d as v,F as be,a as w,b as M,v as re,t as f,w as ye,H as xe,j as V,e as ke}from"./define-B_tXMYRm.js";import{c as F}from"./cn-CU7UAWzk.js";import{B as ne}from"./button-B9okqG73.js";import{c as we}from"./hover-card-6KtXpLwT.js";import{u as Ie,a as $e,C as J,D as Ae}from"./use-card-resolution-DJg32jGH.js";import{e as De}from"./card-routing-BK09BdmL.js";import{x as Re}from"./x-BOhjBeOd.js";import{c as Ce}from"./check-MdLzbxrm.js";var Se=f('<p class="text-sm text-foreground">'),je=f("<div role=radiogroup>"),Ee=f('<div class="flex flex-col gap-2"><label class=sr-only></label><input type=text class="w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60">'),Te=f('<div class="flex w-full flex-wrap items-center justify-between gap-2">'),Le=f("<div>"),Me=f('<span class="inline-flex items-center rounded-full bg-[var(--color-primary)] px-1.5 py-0.5 text-[0.625rem] font-medium uppercase leading-none tracking-wide text-[var(--color-primary-foreground,white)]">Recommended'),Ve=f("<img>"),Fe=f('<span aria-hidden=true class="flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-muted text-sm font-medium text-muted-foreground">'),Oe=f('<img class="max-h-80 max-w-80 rounded-md object-contain">'),_e=f('<span class="h-2 w-2 rounded-full bg-[var(--color-primary)]">'),ze=f('<span class="text-xs font-normal text-muted-foreground">'),qe=f('<span class="ml-auto shrink-0 text-xs font-normal text-muted-foreground">'),He=f('<div role=radio><span aria-hidden=true></span><span class="flex min-w-0 flex-col gap-0.5"><span class="flex items-center gap-2"><span class=truncate>'),Pe=f("<span>"),Be=f('<span class="ml-auto text-xs font-normal text-muted-foreground">'),Ue=f('<div class="flex items-center gap-3 rounded-lg border border-input bg-accent px-3 py-2.5 text-sm font-medium text-accent-foreground">'),Ge=f("<span>Other: ");const Je="choice",A="__other__",K="Other\u2026";function Ke(n){if(!Array.isArray(n)||n.length===0)return{options:[],error:"This card couldn't be displayed."};const a=new Set,t=[];for(const l of n){if(!l||typeof l!="object")continue;const o=l;if(typeof o.id!="string"||o.id.length===0||typeof o.label!="string"||o.label.length===0)continue;if(a.has(o.id)){console.warn(`[kai-choice] duplicate option id "${o.id}" ignored`);continue}a.add(o.id);const u=o.media&&typeof o.media=="object"?{image:typeof o.media.image=="string"?o.media.image:void 0,imageAlt:typeof o.media.imageAlt=="string"?o.media.imageAlt:void 0,icon:typeof o.media.icon=="string"?o.media.icon:void 0}:void 0;t.push({id:o.id,label:o.label,description:typeof o.description=="string"?o.description:void 0,media:u,meta:typeof o.meta=="string"?o.meta:void 0,recommended:o.recommended===!0,disabled:o.disabled===!0,payload:o.payload})}return t.length===0?{options:[],error:"This card couldn't be displayed."}:{options:t}}function Ne(n){return n?n===!0?{label:K,placeholder:void 0}:typeof n=="object"?{label:typeof n.label=="string"&&n.label.length>0?n.label:K,placeholder:typeof n.placeholder=="string"?n.placeholder:void 0}:null:null}function oe(n,a,t){const l=n.length;if(l===0)return a;for(let o=1;o<=l;o+=1){const u=((a+t*o)%l+l)%l;if(!n[u].disabled)return u}return a}function ie(n){return n.findIndex(a=>!a.disabled)}function Qe(n){const a=ve({cardId:"kai-choice"},n),[t]=me(a,["data","cardId","heading","host","hostElement","class","resolution","value","defaultValue","disabled","onValueChange","controllerRef"]),l=Ie(),o=ye(),u=e=>{const r=t.host??l;r?r.emit(e):t.hostElement&&De(t.hostElement,e)},d=x(()=>{var e;return Ke((e=t.data)==null?void 0:e.options)}),h=x(()=>d().error===void 0),I=x(()=>d().error??""),k=x(()=>d().options),E=x(()=>{var e;return Ne((e=t.data)==null?void 0:e.allowOther)}),D=x(()=>{const e=E();return e?[...k(),{id:A,label:e.label}]:k()}),m=$e({prop:()=>t.resolution,data:()=>t.data}),O=x(()=>{const e=m.resolution();return e&&e.kind==="action"?e.action:void 0}),[q,R]=U(0),[ae,N]=U(n.defaultValue),L=x(()=>t.value??ae()),de=e=>{var r;L()!==e&&(N(e),(r=t.onValueChange)==null||r.call(t,e))},[H,Q]=U(""),$=()=>t.disabled===!0;let _,T;const W=x(()=>L()===A);G(te(()=>t.data,()=>{N(t.defaultValue),Q(""),R(Math.max(0,ie(D())))}));const le=x(()=>{var e;const r=m.resolution();return!r||r.kind!=="action"?void 0:r.action===A?{other:!0,text:((e=r.payload)==null?void 0:e.text)??""}:{other:!1,opt:k().find(s=>s.id===r.action),id:r.action}});G(te(h,e=>{u(e?{kind:"ready",cardId:t.cardId}:{kind:"error",cardId:t.cardId,message:I()})})),G(()=>{const e=t.hostElement;if(!e)return;const r=O();r!==void 0?e.setAttribute("data-kai-resolved",r):e.removeAttribute("data-kai-resolved")});const se=e=>e.id===A,P=e=>{m.isResolved()||$()||e.disabled||(de(e.id),se(e)&&queueMicrotask(()=>T?.focus()))},ce=x(()=>{if(m.isResolved()||$())return!1;const e=L();return e===void 0?!1:e===A?H().trim().length>0:!0}),ue=()=>{var e;return((e=t.data)==null?void 0:e.submitLabel)??"Submit"},B=()=>{if(m.isResolved()||$())return;const e=L();if(e===void 0)return;if(e===A){const s=H().trim();if(s.length===0)return;u({kind:"action",cardId:t.cardId,action:A,payload:{text:s}}),m.setLocal({kind:"action",action:A,payload:{text:s}});return}const r=k().find(s=>s.id===e);r&&(u({kind:"action",cardId:t.cardId,action:r.id,...r.payload!==void 0?{payload:r.payload}:{}}),m.setLocal({kind:"action",action:r.id,...r.payload!==void 0?{payload:r.payload}:{}}))},X=()=>{m.isResolved()||(u({kind:"dismiss",cardId:t.cardId}),m.setLocal({kind:"dismissed"}))},Y=()=>u({kind:"reopen",cardId:t.cardId}),z=(e,r)=>{var s;const i=_?.querySelectorAll('[role="radio"]');(s=i?.[e])==null||s.focus(r)};fe(()=>{var e;(e=t.controllerRef)==null||e.call(t,{focus:r=>{W()&&T?T.focus(r):z(q(),r)},select:r=>{const s=D(),i=s.findIndex(y=>y.id===r);i!==-1&&(R(i),P(s[i]))},send:()=>B(),dismiss:()=>X(),reopen:()=>Y()})});const pe=e=>{if(m.isResolved()||$())return;const r=D(),s=q();if(e.key==="ArrowDown"||e.key==="ArrowRight"){e.preventDefault();const i=oe(r,s,1);R(i),z(i)}else if(e.key==="ArrowUp"||e.key==="ArrowLeft"){e.preventDefault();const i=oe(r,s,-1);R(i),z(i)}else if(e.key==="Home"){e.preventDefault();const i=Math.max(0,ie(r));R(i),z(i)}else if(e.key===" "||e.key==="Enter"){e.preventDefault();const i=r[s];i&&P(i)}},ge=()=>{var e;return t.heading??((e=t.data)==null?void 0:e.prompt)??"Choose an option"},Z=`kai-choice-prompt-${o}`,ee=`kai-choice-other-${o}`;return c(b,{get when(){return h()},get fallback(){return c(J,{get heading(){return t.heading},get errorMessage(){return I()}})},get children(){return c(he,{fallback:()=>(u({kind:"error",cardId:t.cardId,message:"The card failed to render."}),c(J,{get heading(){return t.heading},errorMessage:"The card failed to render."})),get children(){return c(b,{get when(){return!m.isDeferred()},get fallback(){return c(Ae,{type:Je,get title(){return t.heading},onReopen:Y})},get children(){return c(J,{get heading(){return t.heading},get children(){var e=Le();return p(e,c(b,{get when(){var r;return(r=t.data)==null?void 0:r.prompt},get children(){var r=Se();return v(r,"id",Z),p(r,()=>{var s;return(s=t.data)==null?void 0:s.prompt}),r}}),null),p(e,c(b,{get when(){return!m.isResolved()},get fallback(){return c(et,{get choice(){return le()},get optimistic(){return m.isOptimistic()}})},get children(){return[(()=>{var r=je();r.$$keydown=pe;var s=_;return typeof s=="function"?re(s,r):_=r,p(r,c(be,{get each(){return D()},children:(i,y)=>{const g=()=>L()===i.id,C=()=>!i.disabled&&!$()&&y()===q()&&!m.isResolved(),S=`kai-choice-desc-${o}-${i.id}`,j=()=>!!i.description;return c(Ze,{opt:i,get checked(){return g()},get tabStop(){return C()},descId:S,get hasDesc(){return j()},onPick:()=>{R(y()),P(i)},onFocus:()=>R(y())})}})),w(i=>{var y,g=ge(),C=(y=t.data)!=null&&y.prompt?Z:void 0,S=$()?"true":void 0,j=F("divide-y divide-border overflow-hidden rounded-lg border border-input",$()&&"cursor-not-allowed opacity-60");return g!==i.e&&v(r,"aria-label",i.e=g),C!==i.t&&v(r,"aria-describedby",i.t=C),S!==i.a&&v(r,"aria-disabled",i.a=S),j!==i.o&&M(r,i.o=j),i},{e:void 0,t:void 0,a:void 0,o:void 0}),r})(),c(b,{get when(){return W()},get children(){var r=Ee(),s=r.firstChild,i=s.nextSibling;v(s,"for",ee),p(s,()=>{var g;return((g=E())==null?void 0:g.label)??K}),i.$$keydown=g=>{g.key==="Enter"&&(g.preventDefault(),B())},i.$$input=g=>Q(g.currentTarget.value);var y=T;return typeof y=="function"?re(y,i):T=i,v(i,"id",ee),w(g=>{var C,S=$(),j=(C=E())==null?void 0:C.placeholder;return S!==g.e&&(i.disabled=g.e=S),j!==g.t&&v(i,"placeholder",g.t=j),g},{e:void 0,t:void 0}),w(()=>i.value=H()),r}}),(()=>{var r=Te();return p(r,c(b,{get when(){var s;return((s=t.data)==null?void 0:s.dismissible)===!0},get children(){return c(ne,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Dismiss",onClick:X,get children(){return c(Re,{size:16,"aria-hidden":"true"})}})}}),null),p(r,c(ne,{type:"button",class:"ml-auto",get disabled(){return!ce()},onClick:B,get children(){return ue()}}),null),r})()]}}),null),w(()=>M(e,F("flex flex-col gap-3",t.class))),e}})}})}})}})}function We(){return Me()}function Xe(n){return(()=>{var a=Ve();return w(t=>{var l=n.media.image,o=n.media.imageAlt??"",u=F("shrink-0 rounded-md object-cover",n.class);return l!==t.e&&v(a,"src",t.e=l),o!==t.t&&v(a,"alt",t.t=o),u!==t.a&&M(a,t.a=u),t},{e:void 0,t:void 0,a:void 0}),a})()}function Ye(n){return(()=>{var a=Fe();return p(a,()=>n.name.slice(0,2)),a})()}function Ze(n){return(()=>{var a=He(),t=a.firstChild,l=t.nextSibling,o=l.firstChild,u=o.firstChild;return xe(a,"focus",n.onFocus),a.$$click=()=>!n.opt.disabled&&n.onPick(),p(a,c(b,{get when(){var d;return(d=n.opt.media)==null?void 0:d.image},get children(){return c(we,{openDelay:150,class:"p-1 w-auto",placement:"right-start",get trigger(){return c(Xe,{get media(){return n.opt.media},class:"h-9 w-9"})},get children(){var d=Oe();return w(h=>{var I=n.opt.media.image,k=n.opt.media.imageAlt??"";return I!==h.e&&v(d,"src",h.e=I),k!==h.t&&v(d,"alt",h.t=k),h},{e:void 0,t:void 0}),d}})}}),t),p(a,c(b,{get when(){var d;return V(()=>{var h;return!((h=n.opt.media)!=null&&h.image)})()&&((d=n.opt.media)==null?void 0:d.icon)},get children(){return c(Ye,{get name(){return n.opt.media.icon}})}}),t),p(t,c(b,{get when(){return n.checked},get children(){return _e()}})),p(u,()=>n.opt.label),p(o,c(b,{get when(){return n.opt.recommended},get children(){return c(We,{})}}),null),p(l,c(b,{get when(){return n.opt.description},get children(){var d=ze();return p(d,()=>n.opt.description),w(()=>v(d,"id",n.descId)),d}}),null),p(a,c(b,{get when(){return n.opt.meta},get children(){var d=qe();return p(d,()=>n.opt.meta),d}}),null),w(d=>{var h=n.checked,I=n.opt.disabled?"true":void 0,k=n.hasDesc?n.descId:void 0,E=n.opt.id,D=n.opt.disabled?-1:n.tabStop?0:-1,m=F("flex items-center gap-3 px-3 py-2.5 text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",n.opt.disabled?"cursor-not-allowed opacity-60 text-foreground":"cursor-pointer hover:bg-muted/50",n.checked?"bg-accent font-medium text-accent-foreground":"text-foreground"),O=F("flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full border-[1.5px] transition-colors",n.checked?"border-[var(--color-primary)]":"border-input bg-background");return h!==d.e&&v(a,"aria-checked",d.e=h),I!==d.t&&v(a,"aria-disabled",d.t=I),k!==d.a&&v(a,"aria-describedby",d.a=k),E!==d.o&&v(a,"data-option-id",d.o=E),D!==d.i&&v(a,"tabindex",d.i=D),m!==d.n&&M(a,d.n=m),O!==d.s&&M(t,d.s=O),d},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),a})()}function et(n){const a=n.choice;return(()=>{var t=Ue();return p(t,c(Ce,{size:16,"aria-hidden":"true"}),null),p(t,c(b,{get when(){return!a.other},get fallback(){return(()=>{var l=Ge();return l.firstChild,p(l,(()=>{var o=V(()=>!!a.other);return()=>o()?a.text:""})(),null),l})()},get children(){return[(()=>{var l=Pe();return p(l,(()=>{var o=V(()=>!a.other);return()=>{var u;return o()?((u=a.opt)==null?void 0:u.label)??a.id:""}})()),l})(),c(b,{get when(){var l;return V(()=>!a.other)()&&((l=a.opt)==null?void 0:l.meta)},get children(){var l=Be();return p(l,(()=>{var o=V(()=>!a.other);return()=>{var u;return o()?(u=a.opt)==null?void 0:u.meta:""}})()),l}})]}}),null),w(()=>v(t,"role",n.optimistic?"status":void 0)),t})()}ke(["keydown","input","click"]);export{Qe as C};
1
+ import{m as me,s as ve,l as x,g as U,k as G,x as te,o as fe,c,E as he,S as b,i as p,d as m,F as be,a as w,b as M,u as re,t as f,w as ye,y as xe,j as V,e as ke}from"./define-wjHR1MkU.js";import{c as F}from"./cn-CU7UAWzk.js";import{B as ne}from"./button-flUbeufF.js";import{c as we}from"./hover-card-CJJkfHTK.js";import{u as Ie,a as $e,C as J,D as Ae}from"./use-card-resolution-DoA2f_EU.js";import{e as De}from"./card-routing-BK09BdmL.js";import{x as Re}from"./x-B6UnOiLw.js";import{c as Ce}from"./check-B5kBPKeo.js";var Se=f('<p class="text-sm text-foreground">'),je=f("<div role=radiogroup>"),Ee=f('<div class="flex flex-col gap-2"><label class=sr-only></label><input type=text class="w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-60">'),Te=f('<div class="flex w-full flex-wrap items-center justify-between gap-2">'),Le=f("<div>"),Me=f('<span class="inline-flex items-center rounded-full bg-[var(--color-primary)] px-1.5 py-0.5 text-[0.625rem] font-medium uppercase leading-none tracking-wide text-[var(--color-primary-foreground,white)]">Recommended'),Ve=f("<img>"),Fe=f('<span aria-hidden=true class="flex h-9 w-9 shrink-0 items-center justify-center rounded-md bg-muted text-sm font-medium text-muted-foreground">'),Oe=f('<img class="max-h-80 max-w-80 rounded-md object-contain">'),_e=f('<span class="h-2 w-2 rounded-full bg-[var(--color-primary)]">'),ze=f('<span class="text-xs font-normal text-muted-foreground">'),qe=f('<span class="ml-auto shrink-0 text-xs font-normal text-muted-foreground">'),Pe=f('<div role=radio><span aria-hidden=true></span><span class="flex min-w-0 flex-col gap-0.5"><span class="flex items-center gap-2"><span class=truncate>'),Be=f("<span>"),He=f('<span class="ml-auto text-xs font-normal text-muted-foreground">'),Ue=f('<div class="flex items-center gap-3 rounded-lg border border-input bg-accent px-3 py-2.5 text-sm font-medium text-accent-foreground">'),Ge=f("<span>Other: ");const Je="choice",A="__other__",K="Other\u2026";function Ke(n){if(!Array.isArray(n)||n.length===0)return{options:[],error:"This card couldn't be displayed."};const a=new Set,t=[];for(const l of n){if(!l||typeof l!="object")continue;const o=l;if(typeof o.id!="string"||o.id.length===0||typeof o.label!="string"||o.label.length===0)continue;if(a.has(o.id)){console.warn(`[kai-choice] duplicate option id "${o.id}" ignored`);continue}a.add(o.id);const u=o.media&&typeof o.media=="object"?{image:typeof o.media.image=="string"?o.media.image:void 0,imageAlt:typeof o.media.imageAlt=="string"?o.media.imageAlt:void 0,icon:typeof o.media.icon=="string"?o.media.icon:void 0}:void 0;t.push({id:o.id,label:o.label,description:typeof o.description=="string"?o.description:void 0,media:u,meta:typeof o.meta=="string"?o.meta:void 0,recommended:o.recommended===!0,disabled:o.disabled===!0,payload:o.payload})}return t.length===0?{options:[],error:"This card couldn't be displayed."}:{options:t}}function Ne(n){return n?n===!0?{label:K,placeholder:void 0}:typeof n=="object"?{label:typeof n.label=="string"&&n.label.length>0?n.label:K,placeholder:typeof n.placeholder=="string"?n.placeholder:void 0}:null:null}function oe(n,a,t){const l=n.length;if(l===0)return a;for(let o=1;o<=l;o+=1){const u=((a+t*o)%l+l)%l;if(!n[u].disabled)return u}return a}function ie(n){return n.findIndex(a=>!a.disabled)}function Qe(n){const a=me({cardId:"kai-choice"},n),[t]=ve(a,["data","cardId","heading","host","hostElement","class","resolution","value","defaultValue","disabled","onValueChange","controllerRef"]),l=Ie(),o=ye(),u=e=>{const r=t.host??l;r?r.emit(e):t.hostElement&&De(t.hostElement,e)},d=x(()=>{var e;return Ke((e=t.data)==null?void 0:e.options)}),h=x(()=>d().error===void 0),I=x(()=>d().error??""),k=x(()=>d().options),E=x(()=>{var e;return Ne((e=t.data)==null?void 0:e.allowOther)}),D=x(()=>{const e=E();return e?[...k(),{id:A,label:e.label}]:k()}),v=$e({prop:()=>t.resolution,data:()=>t.data}),O=x(()=>{const e=v.resolution();return e&&e.kind==="action"?e.action:void 0}),[q,R]=U(0),[ae,N]=U(n.defaultValue),L=x(()=>t.value??ae()),de=e=>{var r;L()!==e&&(N(e),(r=t.onValueChange)==null||r.call(t,e))},[P,Q]=U(""),$=()=>t.disabled===!0;let _,T;const W=x(()=>L()===A);G(te(()=>t.data,()=>{N(t.defaultValue),Q(""),R(Math.max(0,ie(D())))}));const le=x(()=>{var e;const r=v.resolution();return!r||r.kind!=="action"?void 0:r.action===A?{other:!0,text:((e=r.payload)==null?void 0:e.text)??""}:{other:!1,opt:k().find(s=>s.id===r.action),id:r.action}});G(te(h,e=>{u(e?{kind:"ready",cardId:t.cardId}:{kind:"error",cardId:t.cardId,message:I()})})),G(()=>{const e=t.hostElement;if(!e)return;const r=O();r!==void 0?e.setAttribute("data-kai-resolved",r):e.removeAttribute("data-kai-resolved")});const se=e=>e.id===A,B=e=>{v.isResolved()||$()||e.disabled||(de(e.id),se(e)&&queueMicrotask(()=>T?.focus()))},ce=x(()=>{if(v.isResolved()||$())return!1;const e=L();return e===void 0?!1:e===A?P().trim().length>0:!0}),ue=()=>{var e;return((e=t.data)==null?void 0:e.submitLabel)??"Submit"},H=()=>{if(v.isResolved()||$())return;const e=L();if(e===void 0)return;if(e===A){const s=P().trim();if(s.length===0)return;u({kind:"action",cardId:t.cardId,action:A,payload:{text:s}}),v.setLocal({kind:"action",action:A,payload:{text:s}});return}const r=k().find(s=>s.id===e);r&&(u({kind:"action",cardId:t.cardId,action:r.id,...r.payload!==void 0?{payload:r.payload}:{}}),v.setLocal({kind:"action",action:r.id,...r.payload!==void 0?{payload:r.payload}:{}}))},X=()=>{v.isResolved()||(u({kind:"dismiss",cardId:t.cardId}),v.setLocal({kind:"dismissed"}))},Y=()=>u({kind:"reopen",cardId:t.cardId}),z=(e,r)=>{var s;const i=_?.querySelectorAll('[role="radio"]');(s=i?.[e])==null||s.focus(r)};fe(()=>{var e;(e=t.controllerRef)==null||e.call(t,{focus:r=>{W()&&T?T.focus(r):z(q(),r)},select:r=>{const s=D(),i=s.findIndex(y=>y.id===r);i!==-1&&(R(i),B(s[i]))},send:()=>H(),dismiss:()=>X(),reopen:()=>Y()})});const pe=e=>{if(v.isResolved()||$())return;const r=D(),s=q();if(e.key==="ArrowDown"||e.key==="ArrowRight"){e.preventDefault();const i=oe(r,s,1);R(i),z(i)}else if(e.key==="ArrowUp"||e.key==="ArrowLeft"){e.preventDefault();const i=oe(r,s,-1);R(i),z(i)}else if(e.key==="Home"){e.preventDefault();const i=Math.max(0,ie(r));R(i),z(i)}else if(e.key===" "||e.key==="Enter"){e.preventDefault();const i=r[s];i&&B(i)}},ge=()=>{var e;return t.heading??((e=t.data)==null?void 0:e.prompt)??"Choose an option"},Z=`kai-choice-prompt-${o}`,ee=`kai-choice-other-${o}`;return c(b,{get when(){return h()},get fallback(){return c(J,{get heading(){return t.heading},get errorMessage(){return I()}})},get children(){return c(he,{fallback:()=>(u({kind:"error",cardId:t.cardId,message:"The card failed to render."}),c(J,{get heading(){return t.heading},errorMessage:"The card failed to render."})),get children(){return c(b,{get when(){return!v.isDeferred()},get fallback(){return c(Ae,{type:Je,get title(){return t.heading},onReopen:Y})},get children(){return c(J,{get heading(){return t.heading},get children(){var e=Le();return p(e,c(b,{get when(){var r;return(r=t.data)==null?void 0:r.prompt},get children(){var r=Se();return m(r,"id",Z),p(r,()=>{var s;return(s=t.data)==null?void 0:s.prompt}),r}}),null),p(e,c(b,{get when(){return!v.isResolved()},get fallback(){return c(et,{get choice(){return le()},get optimistic(){return v.isOptimistic()}})},get children(){return[(()=>{var r=je();r.$$keydown=pe;var s=_;return typeof s=="function"?re(s,r):_=r,p(r,c(be,{get each(){return D()},children:(i,y)=>{const g=()=>L()===i.id,C=()=>!i.disabled&&!$()&&y()===q()&&!v.isResolved(),S=`kai-choice-desc-${o}-${i.id}`,j=()=>!!i.description;return c(Ze,{opt:i,get checked(){return g()},get tabStop(){return C()},descId:S,get hasDesc(){return j()},onPick:()=>{R(y()),B(i)},onFocus:()=>R(y())})}})),w(i=>{var y,g=ge(),C=(y=t.data)!=null&&y.prompt?Z:void 0,S=$()?"true":void 0,j=F("divide-y divide-border overflow-hidden rounded-lg border border-input",$()&&"cursor-not-allowed opacity-60");return g!==i.e&&m(r,"aria-label",i.e=g),C!==i.t&&m(r,"aria-describedby",i.t=C),S!==i.a&&m(r,"aria-disabled",i.a=S),j!==i.o&&M(r,i.o=j),i},{e:void 0,t:void 0,a:void 0,o:void 0}),r})(),c(b,{get when(){return W()},get children(){var r=Ee(),s=r.firstChild,i=s.nextSibling;m(s,"for",ee),p(s,()=>{var g;return((g=E())==null?void 0:g.label)??K}),i.$$keydown=g=>{g.key==="Enter"&&(g.preventDefault(),H())},i.$$input=g=>Q(g.currentTarget.value);var y=T;return typeof y=="function"?re(y,i):T=i,m(i,"id",ee),w(g=>{var C,S=$(),j=(C=E())==null?void 0:C.placeholder;return S!==g.e&&(i.disabled=g.e=S),j!==g.t&&m(i,"placeholder",g.t=j),g},{e:void 0,t:void 0}),w(()=>i.value=P()),r}}),(()=>{var r=Te();return p(r,c(b,{get when(){var s;return((s=t.data)==null?void 0:s.dismissible)===!0},get children(){return c(ne,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Dismiss",onClick:X,get children(){return c(Re,{size:16,"aria-hidden":"true"})}})}}),null),p(r,c(ne,{type:"button",class:"ml-auto",get disabled(){return!ce()},onClick:H,get children(){return ue()}}),null),r})()]}}),null),w(()=>M(e,F("flex flex-col gap-3",t.class))),e}})}})}})}})}function We(){return Me()}function Xe(n){return(()=>{var a=Ve();return w(t=>{var l=n.media.image,o=n.media.imageAlt??"",u=F("shrink-0 rounded-md object-cover",n.class);return l!==t.e&&m(a,"src",t.e=l),o!==t.t&&m(a,"alt",t.t=o),u!==t.a&&M(a,t.a=u),t},{e:void 0,t:void 0,a:void 0}),a})()}function Ye(n){return(()=>{var a=Fe();return p(a,()=>n.name.slice(0,2)),a})()}function Ze(n){return(()=>{var a=Pe(),t=a.firstChild,l=t.nextSibling,o=l.firstChild,u=o.firstChild;return xe(a,"focus",n.onFocus),a.$$click=()=>!n.opt.disabled&&n.onPick(),p(a,c(b,{get when(){var d;return(d=n.opt.media)==null?void 0:d.image},get children(){return c(we,{openDelay:150,class:"p-1 w-auto",placement:"right-start",get trigger(){return c(Xe,{get media(){return n.opt.media},class:"h-9 w-9"})},get children(){var d=Oe();return w(h=>{var I=n.opt.media.image,k=n.opt.media.imageAlt??"";return I!==h.e&&m(d,"src",h.e=I),k!==h.t&&m(d,"alt",h.t=k),h},{e:void 0,t:void 0}),d}})}}),t),p(a,c(b,{get when(){var d;return V(()=>{var h;return!((h=n.opt.media)!=null&&h.image)})()&&((d=n.opt.media)==null?void 0:d.icon)},get children(){return c(Ye,{get name(){return n.opt.media.icon}})}}),t),p(t,c(b,{get when(){return n.checked},get children(){return _e()}})),p(u,()=>n.opt.label),p(o,c(b,{get when(){return n.opt.recommended},get children(){return c(We,{})}}),null),p(l,c(b,{get when(){return n.opt.description},get children(){var d=ze();return p(d,()=>n.opt.description),w(()=>m(d,"id",n.descId)),d}}),null),p(a,c(b,{get when(){return n.opt.meta},get children(){var d=qe();return p(d,()=>n.opt.meta),d}}),null),w(d=>{var h=n.checked,I=n.opt.disabled?"true":void 0,k=n.hasDesc?n.descId:void 0,E=n.opt.id,D=n.opt.disabled?-1:n.tabStop?0:-1,v=F("flex items-center gap-3 px-3 py-2.5 text-sm outline-none transition-colors focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",n.opt.disabled?"cursor-not-allowed opacity-60 text-foreground":"cursor-pointer hover:bg-muted/50",n.checked?"bg-accent font-medium text-accent-foreground":"text-foreground"),O=F("flex h-[1.125rem] w-[1.125rem] shrink-0 items-center justify-center rounded-full border-[1.5px] transition-colors",n.checked?"border-[var(--color-primary)]":"border-input bg-background");return h!==d.e&&m(a,"aria-checked",d.e=h),I!==d.t&&m(a,"aria-disabled",d.t=I),k!==d.a&&m(a,"aria-describedby",d.a=k),E!==d.o&&m(a,"data-option-id",d.o=E),D!==d.i&&m(a,"tabindex",d.i=D),v!==d.n&&M(a,d.n=v),O!==d.s&&M(t,d.s=O),d},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),a})()}function et(n){const a=n.choice;return(()=>{var t=Ue();return p(t,c(Ce,{size:16,"aria-hidden":"true"}),null),p(t,c(b,{get when(){return!a.other},get fallback(){return(()=>{var l=Ge();return l.firstChild,p(l,(()=>{var o=V(()=>!!a.other);return()=>o()?a.text:""})(),null),l})()},get children(){return[(()=>{var l=Be();return p(l,(()=>{var o=V(()=>!a.other);return()=>{var u;return o()?((u=a.opt)==null?void 0:u.label)??a.id:""}})()),l})(),c(b,{get when(){var l;return V(()=>!a.other)()&&((l=a.opt)==null?void 0:l.meta)},get children(){var l=He();return p(l,(()=>{var o=V(()=>!a.other);return()=>{var u;return o()?(u=a.opt)==null?void 0:u.meta:""}})()),l}})]}}),null),w(()=>m(t,"role",n.optimistic?"status":void 0)),t})()}ke(["keydown","input","click"]);export{Qe as C};
@@ -0,0 +1 @@
1
+ import{I as c}from"./Icon--Y8vsFal.js";import{c as m,m as o}from"./define-wjHR1MkU.js";var a=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],e=r=>m(c,o(r,{name:"Circle",iconNode:a})),i=e;export{i as c};
@@ -0,0 +1 @@
1
+ import{I as c}from"./Icon--Y8vsFal.js";import{c as r,m as a}from"./define-wjHR1MkU.js";var e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],o=m=>r(c,a(m,{name:"CircleCheck",iconNode:e})),i=o;export{i as c};
@@ -1 +1 @@
1
- import{I as a}from"./Icon-b5A8hlHs.js";import{c as m,m as c}from"./define-B_tXMYRm.js";var e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],o=r=>m(a,c(r,{name:"CircleX",iconNode:e})),i=o;export{i as c};
1
+ import{I as a}from"./Icon--Y8vsFal.js";import{c as m,m as c}from"./define-wjHR1MkU.js";var e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],o=r=>m(a,c(r,{name:"CircleX",iconNode:e})),i=o;export{i as c};
@@ -0,0 +1 @@
1
+ import{s as f,q as d,m as p,i as u,c as o,S as x,A as $,J,t as g,g as L,h as P,a as q,d as A,b as E,e as M}from"./define-wjHR1MkU.js";import{c as m}from"./cn-CU7UAWzk.js";import{c as R}from"./check-B5kBPKeo.js";import{c as B}from"./copy-Nf-kqxXH.js";const D={bash:()=>import("./bash-InADTalH.js"),javascript:()=>import("./javascript-C25yR2R2.js"),typescript:()=>import("./typescript-RycA9KXf.js"),tsx:()=>import("./tsx-B8rCNbgL.js"),html:()=>import("./html-CPZ3oZQ7.js"),css:()=>import("./css-M7EaDHN_.js"),json:()=>import("./json-DxJze_jm.js"),vue:()=>import("./vue-BmIZj4XD.js"),svelte:()=>import("./svelte--5p79yCD.js")},F={"github-dark-dimmed":()=>import("./github-dark-dimmed-DUshB20C.js"),"github-light":()=>import("./github-light-JYsPkUQd.js")},G={js:"javascript",ts:"typescript",jsx:"tsx",sh:"bash",shell:"bash"},w="github-dark-dimmed";let I={...D},K={...F},N={...G},b=null;const y=new Set,T=new Set;function O(){return b||(b=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([import("./core-AYMC6_lb.js"),import("./engine-javascript-vq0WuIJl.js")]);return e({themes:[],langs:[],engine:t()})})()),b}function j(e){return N[e]??e}async function Q(e,t){const n=j(t);if(y.has(n))return!0;const r=I[n];return r?(await e.loadLanguage(r()),y.add(n),!0):!1}async function k(e,t){if(T.has(t))return!0;const n=K[t];return n?(await e.loadTheme(n()),T.add(t),!0):!1}function U(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function h(e){return`<pre><code>${U(e)}</code></pre>`}async function V(e,t,n){if(!e)return h(e);try{const r=await O();if(!await Q(r,t))return h(e);const a=await k(r,n)?n:await k(r,w)?w:null;return a?r.codeToHtml(e,{lang:j(t),theme:a}):h(e)}catch{return h(e)}}var W=g("<button type=button part=copy>"),C=g("<div>"),X=g("<div tabindex=0>"),Y=g("<div tabindex=0><pre><code>");const Z=2e3;function _(e){const[t,n]=L(!1);let r;return P(()=>clearTimeout(r)),(()=>{var a=W();return a.$$click=()=>{var i;Promise.resolve((i=navigator.clipboard)==null?void 0:i.writeText(e.text)).catch(()=>{}),n(!0),clearTimeout(r),r=setTimeout(()=>n(!1),Z)},u(a,o(x,{get when(){return t()},get fallback(){return o(B,{size:14,"aria-hidden":"true"})},get children(){return o(R,{size:14,"aria-hidden":"true",class:"text-emerald-500"})}})),q(i=>{var l=t()?"Copied":"Copy code",c=m("inline-flex items-center justify-center rounded-md p-1.5","text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring");return l!==i.e&&A(a,"aria-label",i.e=l),c!==i.t&&E(a,i.t=c),i},{e:void 0,t:void 0}),a})()}function ee(e){const[t,n]=f(e,["children","class","copy","copyText"]);return(()=>{var r=C();return d(r,p({get class(){return m("not-prose flex w-full flex-col overflow-clip border","border-border bg-card text-card-foreground","rounded-[var(--kai-code-radius,0.75rem)]",t.class)}},n),!1,!0),u(r,o(x,{get when(){return t.copy},get children(){return o(re,{class:"justify-end border-b border-border px-2 py-1",get children(){return o(_,{get text(){return t.copyText??""}})}})}}),null),u(r,()=>t.children,null),r})()}function te(e){const[t,n]=f(e,["code","language","theme","class"]),r=$(),a=()=>t.language??"tsx",i=()=>t.theme??r.codeTheme(),l=()=>r.codeHighlight(),[c]=J(()=>l()?{code:t.code,lang:a(),theme:i()}:null,s=>V(s.code,s.lang,s.theme)),S=()=>{switch(r.proseSize()){case"xs":return"text-[11px]";case"sm":return"text-[13px]";case"base":return"text-sm";case"lg":return"text-base"}},v=()=>m("w-full overflow-x-auto kai-focus-inset [&>pre]:px-4 [&>pre]:py-4",S(),t.class);return o(x,{get when(){return c()},get fallback(){return(()=>{var s=Y(),H=s.firstChild,z=H.firstChild;return d(s,p({get class(){return v()}},n),!1,!0),u(z,()=>t.code),s})()},get children(){var s=X();return d(s,p({get class(){return v()},get innerHTML(){return c()}},n),!1,!1),s}})}function re(e){const[t,n]=f(e,["children","class"]);return(()=>{var r=C();return d(r,p({get class(){return m("flex items-center justify-between",t.class)}},n),!1,!0),u(r,()=>t.children),r})()}M(["click"]);export{ee as C,te as a};
@@ -0,0 +1 @@
1
+ import{s as c,g as k,w as I,c as y,q as p,m as u,i as v,j as h,a as R,H as q,b as B,t as g,B as E,G}from"./define-wjHR1MkU.js";import{c as C}from"./cn-CU7UAWzk.js";var H=g("<div>"),P=g("<button>"),j=g("<div><div>");const w=E(),m=()=>{const o=G(w);if(!o)throw new Error("Collapsible parts must be used within <Collapsible>");return o};function N(o){var n;const[e,l]=c(o,["open","defaultOpen","onOpenChange","disabled","controllerRef","children","class"]),[r,a]=k(e.defaultOpen??!1),s=()=>e.open!==void 0,t=()=>s()?!!e.open:r(),i=()=>!!e.disabled,f=d=>{var b;t()!==d&&(s()||a(d),(b=e.onOpenChange)==null||b.call(e,d))},x=()=>{i()||f(!t())};(n=e.controllerRef)==null||n.call(e,{open:t,setOpen:f});const O=I();return y(w.Provider,{value:{open:t,toggle:x,contentId:O,disabled:i},get children(){var d=H();return p(d,u({get class(){return e.class}},l,{get"data-expanded"(){return t()?"":void 0},get"data-closed"(){return t()?void 0:""},get"data-state"(){return t()?"open":"closed"}}),!1,!0),v(d,()=>e.children),d}})}function U(o){const n=m(),[e,l]=c(o,["children","class","as","onClick"]),r=()=>({type:"button","aria-expanded":n.open(),"aria-controls":n.contentId,disabled:n.disabled()||void 0,"data-expanded":n.open()?"":void 0,"data-closed":n.open()?void 0:"","data-state":n.open()?"open":"closed",onClick:a=>{n.disabled()||(typeof e.onClick=="function"&&e.onClick(a),n.toggle())},class:e.class,...l});return h(()=>h(()=>!!e.as)()?e.as(r()):(()=>{var a=P();return p(a,u(r),!1,!0),v(a,()=>e.children),a})())}function _(o){const n=m(),[e,l]=c(o,["children","class"]);return(()=>{var r=j(),a=r.firstChild;return p(r,u(l,{get id(){return n.contentId},get"data-expanded"(){return n.open()?"":void 0},get"data-closed"(){return n.open()?void 0:""},get class(){return C("grid transition-[grid-template-rows] duration-200 ease-out",n.open()?"grid-rows-[1fr]":"grid-rows-[0fr]")}}),!1,!0),v(a,()=>e.children),R(s=>{var t=!n.open(),i=C("overflow-hidden",e.class);return t!==s.e&&q(r,"inert",s.e=t),i!==s.t&&B(a,s.t=i),s},{e:void 0,t:void 0}),r})()}export{N as C,U as a,_ as b};