@kitn.ai/ui 0.21.0 → 0.22.1

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 (243) hide show
  1. package/dist/components/chat-thread.d.ts +9 -0
  2. package/dist/{create-tween-D3Y5qiij.js → create-tween-COnPwAQN.js} +1 -1
  3. package/dist/{create-tween-DGKY1FDY.js → create-tween-DmTUaXWE.js} +1 -1
  4. package/dist/{create-tween-paho5Rh-.js → create-tween-qs-jjvNA.js} +1 -1
  5. package/dist/custom-elements.json +43 -7
  6. package/dist/elements/agent-card.js +1 -1
  7. package/dist/elements/artifact.js +1 -1
  8. package/dist/elements/attachments.js +1 -1
  9. package/dist/elements/audio-visualizer.js +1 -1
  10. package/dist/elements/avatar.js +1 -1
  11. package/dist/elements/badge.js +1 -1
  12. package/dist/elements/button.js +1 -1
  13. package/dist/elements/card.js +1 -1
  14. package/dist/elements/cards.js +1 -1
  15. package/dist/elements/chain-of-thought.js +1 -1
  16. package/dist/elements/chat-scope-picker.js +1 -1
  17. package/dist/elements/chat-workspace.js +1 -1
  18. package/dist/elements/chat.js +1 -1
  19. package/dist/elements/checkpoint.js +1 -1
  20. package/dist/elements/choice.js +1 -1
  21. package/dist/elements/chunks/{Icon-C-2LvGDG.js → Icon-CHG5z5L7.js} +1 -1
  22. package/dist/elements/chunks/{action-icons-CaYoImEk.js → action-icons-BAtCEEgg.js} +1 -1
  23. package/dist/elements/chunks/arrow-left-CFPTeL1Y.js +1 -0
  24. package/dist/elements/chunks/{artifact-BBIscOxJ.js → artifact-fBZOE4SO.js} +1 -1
  25. package/dist/elements/chunks/{attachments-BB56zoji.js → attachments-DpYMe5VQ.js} +1 -1
  26. package/dist/elements/chunks/{audio-visualizer-BxOx4THz.js → audio-visualizer-DFwzAcuL.js} +1 -1
  27. package/dist/elements/chunks/{badge-SxLSZ19R.js → badge-D6zodm6E.js} +1 -1
  28. package/dist/elements/chunks/{button-CmkUkz6c.js → button-C42vrGvO.js} +1 -1
  29. package/dist/elements/chunks/{card-renderer-Db4ffkWv.js → card-renderer-DMZsSuvU.js} +1 -1
  30. package/dist/elements/chunks/{chat-thread-B3Ks-cKr.js → chat-thread-CNNEhol-.js} +1 -1
  31. package/dist/elements/chunks/check-7Q3K-iXE.js +1 -0
  32. package/dist/elements/chunks/chevron-down-CpNYLn7E.js +1 -0
  33. package/dist/elements/chunks/chevron-right-DrH85Fha.js +1 -0
  34. package/dist/elements/chunks/{choice-card-Q9cYYDyM.js → choice-card-YoWjpsFV.js} +1 -1
  35. package/dist/elements/chunks/circle-C9KRjKYv.js +1 -0
  36. package/dist/elements/chunks/circle-check-Dmi7Y4zw.js +1 -0
  37. package/dist/elements/chunks/{circle-x-D0MEfxOM.js → circle-x-QIxXda6k.js} +1 -1
  38. package/dist/elements/chunks/{code-block-C8VzAraE.js → code-block-CqeugReY.js} +1 -1
  39. package/dist/elements/chunks/{collapsible-Cvj61obE.js → collapsible-sTv-_5lF.js} +1 -1
  40. package/dist/elements/chunks/{composer-D86ztyL0.js → composer-ldQyeVEB.js} +1 -1
  41. package/dist/elements/chunks/{confirm-card-BdyDAGLw.js → confirm-card-C0RNOwfn.js} +1 -1
  42. package/dist/elements/chunks/context-5qgypNHC.js +1 -0
  43. package/dist/elements/chunks/conversation-list-DLzOacXz.js +1 -0
  44. package/dist/elements/chunks/{create-tween-C_A_B638.js → create-tween-V4TXZ93X.js} +1 -1
  45. package/dist/elements/chunks/default-input-DeeRSDHc.js +1 -0
  46. package/dist/elements/chunks/{define-BzPnNsXg.js → define-lE-QvQFn.js} +1 -1
  47. package/dist/elements/chunks/{disclosure-DVKsoc1F.js → disclosure-DZSa9jog.js} +1 -1
  48. package/dist/elements/chunks/{download-BjA54IMJ.js → download-B2ZmnGqW.js} +1 -1
  49. package/dist/elements/chunks/{dropdown-BjVVHWXH.js → dropdown-R3B7cSRE.js} +1 -1
  50. package/dist/elements/chunks/{ellipsis-BNedmqfi.js → ellipsis-BmxceY4l.js} +1 -1
  51. package/dist/elements/chunks/{embed-DQsl4XEq.js → embed-BVrtTZPo.js} +1 -1
  52. package/dist/elements/chunks/{external-link-Di-dw2CU.js → external-link-BbdR7YO7.js} +1 -1
  53. package/dist/elements/chunks/{file-text-B3sAODCV.js → file-text-D7dijo1A.js} +1 -1
  54. package/dist/elements/chunks/{file-tree-Dgto-bMn.js → file-tree-0upJ5jeb.js} +1 -1
  55. package/dist/elements/chunks/{folder-D6rMadFV.js → folder-D8z58t7B.js} +1 -1
  56. package/dist/elements/chunks/{form-CILxvhQ7.js → form-p5BKJNw5.js} +1 -1
  57. package/dist/elements/chunks/{hover-card-BtiF4XiU.js → hover-card-CN9s2md5.js} +1 -1
  58. package/dist/elements/chunks/{icon-DKkmze3y.js → icon-CNiKP37E.js} +1 -1
  59. package/dist/elements/chunks/{info-CWRjZkuy.js → info-BSnuJiHI.js} +1 -1
  60. package/dist/elements/chunks/{input--QJBK6BA.js → input-BauDmzxX.js} +1 -1
  61. package/dist/elements/chunks/{kbd-C3zuKh8R.js → kbd-BlHJaP9b.js} +1 -1
  62. package/dist/elements/chunks/{link-BL5JA7Q0.js → link-DEi5iUWC.js} +1 -1
  63. package/dist/elements/chunks/{link-preview-CU37bbXh.js → link-preview-BaHyM6W4.js} +1 -1
  64. package/dist/elements/chunks/{loader-XmpyxyRH.js → loader-CmJG_Fkq.js} +1 -1
  65. package/dist/elements/chunks/{markdown-3Gv5UZ_o.js → markdown-D2jaMpCN.js} +1 -1
  66. package/dist/elements/chunks/{message-X5NZbq-W.js → message-C5UfXZ2Z.js} +1 -1
  67. package/dist/elements/chunks/{message-CnBA2OUt.js → message-CXWLmmLn.js} +1 -1
  68. package/dist/elements/chunks/message-square-hXylwsy0.js +1 -0
  69. package/dist/elements/chunks/{minimize-2-DwyrUTcM.js → minimize-2-C9ytZFMU.js} +1 -1
  70. package/dist/elements/chunks/model-switcher-CivGfD7-.js +1 -0
  71. package/dist/elements/chunks/{overlay-Cepd-KcS.js → overlay-DJL_sbOm.js} +1 -1
  72. package/dist/elements/chunks/{paperclip-CdwKjrlu.js → paperclip-CFaB8naM.js} +1 -1
  73. package/dist/elements/chunks/{progress-bar-DMVXBD3b.js → progress-bar-Br5SksfR.js} +1 -1
  74. package/dist/elements/chunks/{prompt-suggestion-Di_WZE_5.js → prompt-suggestion-CMIvtAhU.js} +1 -1
  75. package/dist/elements/chunks/{reasoning-D0jMch5u.js → reasoning-DpZcNzLq.js} +1 -1
  76. package/dist/elements/chunks/{resizable-1znbL1Gv.js → resizable-Q8i3T9a_.js} +1 -1
  77. package/dist/elements/chunks/{rotate-cw-DVhhgx8n.js → rotate-cw-B5IHCBFV.js} +1 -1
  78. package/dist/elements/chunks/{scroll-area-Bs4bFS1P.js → scroll-area-eLeydBje.js} +1 -1
  79. package/dist/elements/chunks/{scroll-button-Bet5NLc4.js → scroll-button-DWbz0yA1.js} +1 -1
  80. package/dist/elements/chunks/{separator-C5Gh8qGC.js → separator-Xic78AD_.js} +1 -1
  81. package/dist/elements/chunks/{settings-5vmEFg0K.js → settings-B8H51pAx.js} +1 -1
  82. package/dist/elements/chunks/{settings-group-BWLB38kz.js → settings-group-CsG9eYLe.js} +1 -1
  83. package/dist/elements/chunks/{share-BZ3G_DaB.js → share-CNTx0z__.js} +1 -1
  84. package/dist/elements/chunks/{skeleton-DafPJQTp.js → skeleton-CLlHTcMI.js} +1 -1
  85. package/dist/elements/chunks/{source-D_qj_6uJ.js → source-BoVcU5ok.js} +1 -1
  86. package/dist/elements/chunks/{star-Cuv7j2IE.js → star-CxQVTVhI.js} +1 -1
  87. package/dist/elements/chunks/{store-C1StPHfW.js → store-CLtS5CUG.js} +1 -1
  88. package/dist/elements/chunks/{tasks-card-EyoBZfpA.js → tasks-card-CzlkLmUt.js} +1 -1
  89. package/dist/elements/chunks/{text-shimmer-D9gRSh34.js → text-shimmer-D5NhpIQ1.js} +1 -1
  90. package/dist/elements/chunks/{textarea-DuhtHfcm.js → textarea-x5Uxsmtm.js} +1 -1
  91. package/dist/elements/chunks/{thumbs-up-B9hwv43w.js → thumbs-up-UobcJnx9.js} +1 -1
  92. package/dist/elements/chunks/{toast-store-Bm3DUEDe.js → toast-store-BOfs9eXq.js} +1 -1
  93. package/dist/elements/chunks/{tool-CDtW7L0z.js → tool-Be6Dh_dt.js} +1 -1
  94. package/dist/elements/chunks/{tooltip-eB226mGK.js → tooltip-RxMxyCLF.js} +1 -1
  95. package/dist/elements/chunks/{triangle-alert-C1SNzTqK.js → triangle-alert-C4yxH2XN.js} +1 -1
  96. package/dist/elements/chunks/{use-card-resolution-YZh2MvI5.js → use-card-resolution-jva9ehH6.js} +1 -1
  97. package/dist/elements/chunks/{variant-aurora-Cj1F7D0l.js → variant-aurora-Dx4VRcjS.js} +1 -1
  98. package/dist/elements/chunks/{variant-custom-T9gpt7QE.js → variant-custom-Y1ZTWgEa.js} +1 -1
  99. package/dist/elements/chunks/{variant-wave-CxU9z-TE.js → variant-wave-B9gml9Cg.js} +1 -1
  100. package/dist/elements/chunks/{video-CK4R7Rus.js → video-CrPHsytT.js} +1 -1
  101. package/dist/elements/chunks/x-_-OPHept.js +1 -0
  102. package/dist/elements/coachmark.js +1 -1
  103. package/dist/elements/code-block.js +1 -1
  104. package/dist/elements/command.js +1 -1
  105. package/dist/elements/compare.js +1 -1
  106. package/dist/elements/composer.js +1 -1
  107. package/dist/elements/confirm-card.js +1 -1
  108. package/dist/elements/context-meter.js +1 -1
  109. package/dist/elements/conversation-list.js +1 -1
  110. package/dist/elements/default-input.d.ts +27 -0
  111. package/dist/elements/dialog.js +1 -1
  112. package/dist/elements/editable-label.js +1 -1
  113. package/dist/elements/embed.js +1 -1
  114. package/dist/elements/empty.js +1 -1
  115. package/dist/elements/feedback-bar.js +1 -1
  116. package/dist/elements/file-tree.js +1 -1
  117. package/dist/elements/file-upload.js +1 -1
  118. package/dist/elements/form.js +1 -1
  119. package/dist/elements/hover-card.js +1 -1
  120. package/dist/elements/icon.js +1 -1
  121. package/dist/elements/image.js +1 -1
  122. package/dist/elements/input.js +1 -1
  123. package/dist/elements/kbd.js +1 -1
  124. package/dist/elements/link-preview.js +1 -1
  125. package/dist/elements/loader.js +1 -1
  126. package/dist/elements/markdown.js +1 -1
  127. package/dist/elements/menu.js +1 -1
  128. package/dist/elements/message-skills.js +1 -1
  129. package/dist/elements/message.js +1 -1
  130. package/dist/elements/model-switcher.js +1 -1
  131. package/dist/elements/nav.js +1 -1
  132. package/dist/elements/notice.js +1 -1
  133. package/dist/elements/pane-group.js +1 -1
  134. package/dist/elements/pane.js +1 -1
  135. package/dist/elements/popover.js +1 -1
  136. package/dist/elements/progress-bar.js +1 -1
  137. package/dist/elements/prompt-dock.js +1 -1
  138. package/dist/elements/prompt-input.js +1 -1
  139. package/dist/elements/prompt-suggestions.js +1 -1
  140. package/dist/elements/reasoning.js +1 -1
  141. package/dist/elements/remote.js +1 -1
  142. package/dist/elements/resizable.js +1 -1
  143. package/dist/elements/response-stream.js +2 -2
  144. package/dist/elements/screen.js +1 -1
  145. package/dist/elements/scroll-area.js +1 -1
  146. package/dist/elements/scroll-button.js +1 -1
  147. package/dist/elements/search.js +1 -1
  148. package/dist/elements/segmented.js +1 -1
  149. package/dist/elements/separator.js +1 -1
  150. package/dist/elements/setting-item.js +1 -1
  151. package/dist/elements/settings-group.js +1 -1
  152. package/dist/elements/skeleton.js +1 -1
  153. package/dist/elements/slot-text.d.ts +51 -0
  154. package/dist/elements/slots.d.ts +5 -0
  155. package/dist/elements/source.js +1 -1
  156. package/dist/elements/status.js +1 -1
  157. package/dist/elements/switch.js +1 -1
  158. package/dist/elements/tabs.js +1 -1
  159. package/dist/elements/tasks.js +1 -1
  160. package/dist/elements/text-shimmer.js +1 -1
  161. package/dist/elements/thinking-bar.js +1 -1
  162. package/dist/elements/thread.js +1 -1
  163. package/dist/elements/toast.js +1 -1
  164. package/dist/elements/tool.js +1 -1
  165. package/dist/elements/tooltip.js +1 -1
  166. package/dist/elements/voice-input.js +1 -1
  167. package/dist/elements/voice-output.js +1 -1
  168. package/dist/elements.d.ts +12 -6
  169. package/dist/index.js +1535 -1487
  170. package/dist/index.server.js +2330 -2296
  171. package/dist/kai.es.js +1 -1
  172. package/dist/llms/llms-full.txt +12 -3
  173. package/dist/mcp.es.js +890 -78
  174. package/dist/react/index.d.ts +13 -3
  175. package/dist/react.js +14 -14
  176. package/dist/register-impl-AxIlqjo7.js +145 -0
  177. package/dist/{solid-BCJUQqwS.js → solid-BGYSJyHG.js} +4901 -4691
  178. package/dist/{solid-BdENBcEq.js → solid-Dt2nEwfl.js} +4406 -4320
  179. package/dist/solid.js +1 -1
  180. package/dist/solid.server.js +1 -1
  181. package/dist/{variant-aurora-DOb_o4pC.js → variant-aurora-B44X69AG.js} +1 -1
  182. package/dist/{variant-aurora-BKHHiOgL.js → variant-aurora-BRhV8Flk.js} +2 -2
  183. package/dist/{variant-aurora-1wMcXRUS.js → variant-aurora-Ds5ou9BH.js} +2 -2
  184. package/dist/{variant-custom-DWSSgmd2.js → variant-custom-B20FhtYj.js} +2 -2
  185. package/dist/{variant-custom-CJGB0Kbw.js → variant-custom-BvA1Schl.js} +1 -1
  186. package/dist/{variant-custom-Co0CkXJF.js → variant-custom-D6Rtvneb.js} +2 -2
  187. package/dist/{variant-wave-CEODq-9q.js → variant-wave-BUQtkryq.js} +1 -1
  188. package/dist/{variant-wave-C3-45cL6.js → variant-wave-BVYnqy9L.js} +2 -2
  189. package/dist/{variant-wave-jdXBnCUZ.js → variant-wave-DXC6_LcH.js} +2 -2
  190. package/dist/wire/encode.d.ts +79 -6
  191. package/dist/wire/files.d.ts +116 -0
  192. package/dist/wire/index.d.ts +3 -1
  193. package/dist/wire/media-types.d.ts +106 -0
  194. package/dist/wire.js +596 -368
  195. package/frameworks/react/index.tsx +9 -5
  196. package/llms-full.txt +12 -3
  197. package/package.json +4 -1
  198. package/src/agent-tooling/archetypes.ts +43 -12
  199. package/src/agent-tooling/integrations/anthropic.ts +29 -5
  200. package/src/agent-tooling/integrations/cloudflare.ts +5 -0
  201. package/src/agent-tooling/integrations/langgraph.ts +13 -0
  202. package/src/agent-tooling/integrations/mastra.ts +46 -5
  203. package/src/agent-tooling/integrations/mock.ts +4 -0
  204. package/src/agent-tooling/integrations/ollama.ts +7 -0
  205. package/src/agent-tooling/integrations/openai.ts +2 -0
  206. package/src/agent-tooling/integrations/openrouter.ts +2 -0
  207. package/src/agent-tooling/integrations/pi.ts +26 -1
  208. package/src/agent-tooling/integrations/pydantic-ai.ts +37 -3
  209. package/src/agent-tooling/integrations/vercel-ai-sdk.ts +42 -6
  210. package/src/agent-tooling/mcp/tools/scaffold.ts +913 -32
  211. package/src/agent-tooling/registry.ts +57 -0
  212. package/src/agent-tooling/types.ts +132 -0
  213. package/src/components/chat-thread.tsx +10 -1
  214. package/src/components/context.tsx +18 -12
  215. package/src/components/conversation-item.tsx +6 -0
  216. package/src/components/model-switcher.tsx +38 -8
  217. package/src/components/toast.tsx +6 -1
  218. package/src/elements/button.tsx +26 -3
  219. package/src/elements/chat.tsx +28 -2
  220. package/src/elements/default-input.tsx +128 -5
  221. package/src/elements/element-meta.json +30 -4
  222. package/src/elements/element-types.d.ts +12 -6
  223. package/src/elements/menu.tsx +30 -3
  224. package/src/elements/slot-text.ts +73 -0
  225. package/src/elements/slots.ts +10 -0
  226. package/src/index.ts +9 -5
  227. package/src/wire/encode.ts +234 -14
  228. package/src/wire/files.ts +342 -0
  229. package/src/wire/index.ts +21 -0
  230. package/src/wire/media-types.ts +344 -0
  231. package/dist/elements/chunks/arrow-left-Bb46H7w9.js +0 -1
  232. package/dist/elements/chunks/check-C8desc_h.js +0 -1
  233. package/dist/elements/chunks/chevron-down-DKtc2HNB.js +0 -1
  234. package/dist/elements/chunks/chevron-right-Dw4GPhwL.js +0 -1
  235. package/dist/elements/chunks/circle-BeokBsvB.js +0 -1
  236. package/dist/elements/chunks/circle-check-wJSqt859.js +0 -1
  237. package/dist/elements/chunks/context-WHDl-xSx.js +0 -1
  238. package/dist/elements/chunks/conversation-list-CdR14_Y4.js +0 -1
  239. package/dist/elements/chunks/default-input-CSZqUM81.js +0 -1
  240. package/dist/elements/chunks/message-square-CnpAm_P0.js +0 -1
  241. package/dist/elements/chunks/model-switcher-CclaJEHt.js +0 -1
  242. package/dist/elements/chunks/x-D1qx0aLd.js +0 -1
  243. package/dist/register-impl-bzrZ44ft.js +0 -145
@@ -1,6 +1,8 @@
1
1
  import { ComposerDoc } from '../primitives/composer-model.js';
2
2
  import { AttachmentData } from './attachments.js';
3
3
  import { MessageActionDetail } from '../primitives/message-feedback.js';
4
+ import { RejectedAttachment } from '../elements/default-input.js';
5
+ import { MediaTypeFilter } from '../wire/media-types.js';
4
6
  import { TriggerDef } from './composer.js';
5
7
  import { ChatMessage } from '../elements/chat-types.js';
6
8
  import { ProseSize } from '../primitives/chat-config.js';
@@ -89,6 +91,13 @@ export interface ChatThreadProps {
89
91
  composerActions?: boolean;
90
92
  /** INJECT: footer row below the composer (disclaimers, token meter, …). */
91
93
  footer?: boolean;
94
+ /** Which attachment media types the user may stage, in HTML `accept` syntax
95
+ * (`'image/*,application/pdf'`). Omitted means no filter. Narrowed by what the
96
+ * encoders can actually send — the same string, and the same resolver, as
97
+ * `toOpenAIMessages(msgs, { accept })`. */
98
+ accept?: MediaTypeFilter;
99
+ /** Files the composer refused because `accept` excluded them. */
100
+ onAttachmentsRejected?: (rejected: RejectedAttachment[]) => void;
92
101
  /** Show a Search (Globe) button in the input toolbar; fires a `search` event. */
93
102
  search?: boolean;
94
103
  /** Show a Voice (Mic) button in the input toolbar; fires a `voice` event. */
@@ -1,6 +1,6 @@
1
1
  import { ssr as Le, ssrAttribute as we, escape as ye } from "solid-js/web";
2
2
  import { createMemo as U, onCleanup as G, createEffect as ue, untrack as ve, createSignal as le } from "solid-js";
3
- import { c as Re } from "./solid-BdENBcEq.js";
3
+ import { c as Re } from "./solid-Dt2nEwfl.js";
4
4
  var _e = ['<canvas part="canvas"', "></canvas>"];
5
5
  const Ce = "#1FD5F9";
6
6
  function Ie(e) {
@@ -1,6 +1,6 @@
1
1
  import { effect as Le, className as ye, template as we, use as Re } from "solid-js/web";
2
2
  import { createMemo as U, onCleanup as z, createEffect as ue, untrack as ve, createSignal as le } from "solid-js";
3
- import { c as _e } from "./solid-BCJUQqwS.js";
3
+ import { c as _e } from "./solid-BGYSJyHG.js";
4
4
  var Ce = /* @__PURE__ */ we("<canvas part=canvas>");
5
5
  const Ie = "#1FD5F9";
6
6
  function Te(e) {
@@ -1,4 +1,4 @@
1
- import{t as ye,u as Le,c as Re,e as Ie}from"./register-impl-bzrZ44ft.js";import{c as N,o as j,d as ce,u as fe,b as _e,f as ue}from"./kai.es.js";var Pe=ye("<canvas part=canvas>");const me="#1FD5F9";function ve(e){const n=e.trim().match(/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/);if(!n)return ve(me);const[,o,i,l]=n;return[parseInt(o,16)/255,parseInt(i,16)/255,parseInt(l,16)/255]}const Ce={"1f":"float","1i":"int","1fv":"float","2f":"vec2","3f":"vec3","3fv":"vec3","4f":"vec4","4fv":"vec4",Matrix2fv:"mat2",Matrix3fv:"mat3",Matrix4fv:"mat4"},Te={"1fv":1,"3fv":3,"4fv":4,Matrix2fv:4,Matrix3fv:9,Matrix4fv:16};function ke(e){const n=Te[e.type];if(!n||!Array.isArray(e.value))return;const o=e.value.length/n;return o>1&&Number.isInteger(o)?o:void 0}function he(e){return e.arraySize??ke(e)}const Oe=["uniform float iTime;","uniform vec2 iResolution;","uniform vec4 iMouse;","uniform int iFrame;","uniform vec4 iDate;"].join(`
1
+ import{t as ye,u as Le,c as Re,e as Ie}from"./register-impl-AxIlqjo7.js";import{c as N,o as j,d as ce,u as fe,b as _e,f as ue}from"./kai.es.js";var Pe=ye("<canvas part=canvas>");const me="#1FD5F9";function ve(e){const n=e.trim().match(/^#([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/);if(!n)return ve(me);const[,o,i,l]=n;return[parseInt(o,16)/255,parseInt(i,16)/255,parseInt(l,16)/255]}const Ce={"1f":"float","1i":"int","1fv":"float","2f":"vec2","3f":"vec3","3fv":"vec3","4f":"vec4","4fv":"vec4",Matrix2fv:"mat2",Matrix3fv:"mat3",Matrix4fv:"mat4"},Te={"1fv":1,"3fv":3,"4fv":4,Matrix2fv:4,Matrix3fv:9,Matrix4fv:16};function ke(e){const n=Te[e.type];if(!n||!Array.isArray(e.value))return;const o=e.value.length/n;return o>1&&Number.isInteger(o)?o:void 0}function he(e){return e.arraySize??ke(e)}const Oe=["uniform float iTime;","uniform vec2 iResolution;","uniform vec4 iMouse;","uniform int iFrame;","uniform vec4 iDate;"].join(`
2
2
  `),De=`
3
3
  attribute vec3 aVertexPosition;
4
4
  void main() { gl_Position = vec4(aVertexPosition, 1.0); }
@@ -1243,7 +1243,7 @@
1243
1243
  "type": {
1244
1244
  "text": "undefined | string"
1245
1245
  },
1246
- "description": "Accessible name. REQUIRED for icon-only buttons (no visible text); ignored when you slot visible text, which already names the button.",
1246
+ "description": "Accessible name. REQUIRED for icon-only buttons (no visible text); ignored when you slot visible text, which already names the button. An `aria-label` on top of visible text REPLACES that name rather than adding to it, so a button reading \"Save\" that answers to \"Submit\" is unusable by speech input (WCAG 2.5.3, Label in Name). The visible text wins. An `icon` / `icon-sm` size hides the slot, which makes the button icon-only whatever you slotted, so `label` is what names it there.",
1247
1247
  "privacy": "public"
1248
1248
  },
1249
1249
  {
@@ -1368,7 +1368,7 @@
1368
1368
  "type": {
1369
1369
  "text": "undefined | string"
1370
1370
  },
1371
- "description": "Accessible name. REQUIRED for icon-only buttons (no visible text); ignored when you slot visible text, which already names the button."
1371
+ "description": "Accessible name. REQUIRED for icon-only buttons (no visible text); ignored when you slot visible text, which already names the button. An `aria-label` on top of visible text REPLACES that name rather than adding to it, so a button reading \"Save\" that answers to \"Submit\" is unusable by speech input (WCAG 2.5.3, Label in Name). The visible text wins. An `icon` / `icon-sm` size hides the slot, which makes the button icon-only whatever you slotted, so `label` is what names it there."
1372
1372
  },
1373
1373
  {
1374
1374
  "name": "disabled",
@@ -2230,6 +2230,15 @@
2230
2230
  "description": "Whether each message's action bar is always visible (`'always'`, default) or only revealed on hover of that message row (`'hover'`).",
2231
2231
  "privacy": "public"
2232
2232
  },
2233
+ {
2234
+ "kind": "field",
2235
+ "name": "accept",
2236
+ "type": {
2237
+ "text": "undefined | string"
2238
+ },
2239
+ "description": "Which attachment media types the user may stage, in HTML `accept` syntax: `<kai-chat accept=\"image/*,application/pdf\">`. A plain string, so unlike `messages` it DOES work as an attribute. Omitted means no filter. MEDIA TYPES ONLY -- exact (`image/png`) or subtype wildcard (`text/*`). HTML allows a file extension here and this does not: `accept=\".py\"` THROWS with the entry named, rather than silently resolving to a picker that accepts nothing. It can only NARROW what the kit can already encode: `accept=\"image/*\"` resolves to the four image formats both APIs take, not to every image type the OS offers. Pass the SAME string to `toOpenAIMessages(msgs, { accept })` and the picker and the wire cannot disagree -- both resolve it through `resolveMediaPolicy` against one declaration. That declaration is readable as `encodableMediaTypes()` from `@kitn.ai/ui/wire`, if you would rather build your own picker than use this prop.",
2240
+ "privacy": "public"
2241
+ },
2233
2242
  {
2234
2243
  "kind": "field",
2235
2244
  "name": "messages",
@@ -2499,6 +2508,14 @@
2499
2508
  "text": "undefined | \"always\" | \"hover\""
2500
2509
  },
2501
2510
  "description": "Whether each message's action bar is always visible (`'always'`, default) or only revealed on hover of that message row (`'hover'`)."
2511
+ },
2512
+ {
2513
+ "name": "accept",
2514
+ "fieldName": "accept",
2515
+ "type": {
2516
+ "text": "undefined | string"
2517
+ },
2518
+ "description": "Which attachment media types the user may stage, in HTML `accept` syntax: `<kai-chat accept=\"image/*,application/pdf\">`. A plain string, so unlike `messages` it DOES work as an attribute. Omitted means no filter. MEDIA TYPES ONLY -- exact (`image/png`) or subtype wildcard (`text/*`). HTML allows a file extension here and this does not: `accept=\".py\"` THROWS with the entry named, rather than silently resolving to a picker that accepts nothing. It can only NARROW what the kit can already encode: `accept=\"image/*\"` resolves to the four image formats both APIs take, not to every image type the OS offers. Pass the SAME string to `toOpenAIMessages(msgs, { accept })` and the picker and the wire cannot disagree -- both resolve it through `resolveMediaPolicy` against one declaration. That declaration is readable as `encodableMediaTypes()` from `@kitn.ai/ui/wire`, if you would rather build your own picker than use this prop."
2502
2519
  }
2503
2520
  ],
2504
2521
  "events": [
@@ -2509,6 +2526,13 @@
2509
2526
  },
2510
2527
  "description": "The staged attachments changed (file added or removed). Carries the full current list so a consumer can react in real time."
2511
2528
  },
2529
+ {
2530
+ "name": "kai-attachments-rejected",
2531
+ "type": {
2532
+ "text": "CustomEvent<{ rejected: { filename: string; mediaType: string; reason: \"filtered\" | \"unsupported\" }[] }>"
2533
+ },
2534
+ "description": "One or more picked files were refused because `accept` excluded them. The element renders NO message of its own: it reports the facts (name, media type, whether the kit could have sent it) and what the user should see is the application's call. Only ever fires when `accept` is set."
2535
+ },
2512
2536
  {
2513
2537
  "name": "kai-message-action",
2514
2538
  "type": {
@@ -4111,7 +4135,19 @@
4111
4135
  "description": "Fires when the computed severity level changes (ok → warn → danger or back). `detail.level` is `'ok'`, `'warn'`, or `'danger'`."
4112
4136
  }
4113
4137
  ],
4114
- "cssProperties": []
4138
+ "cssProperties": [],
4139
+ "cssParts": [
4140
+ {
4141
+ "name": "track",
4142
+ "description": "The usage meter track inside the hover-card breakdown. Carries `role=\"progressbar\"` and is in the DOM only while the card is open. Restyle its height, radius, or background from outside.",
4143
+ "recipe": "kai-context::part(track) { height: 0.5rem }"
4144
+ },
4145
+ {
4146
+ "name": "fill",
4147
+ "description": "The used-tokens portion of that meter. Its width follows `usedTokens / maxTokens`; its default color is the severity hue picked by `warnThreshold` / `dangerThreshold`, so recoloring it from outside replaces that signal.",
4148
+ "recipe": "kai-context::part(fill) { background: var(--color-tool-blue) }"
4149
+ }
4150
+ ]
4115
4151
  },
4116
4152
  {
4117
4153
  "kind": "class",
@@ -6478,7 +6514,7 @@
6478
6514
  "type": {
6479
6515
  "text": "undefined | string"
6480
6516
  },
6481
- "description": "Built-in trigger: a text label (e.g. `\"High\"`).",
6517
+ "description": "Built-in trigger: a text label (e.g. `\"High\"`). This is the trigger's VISIBLE text, so it is also its accessible name, and `label` does not override it: an accessible name that does not contain the visible text is unreachable by speech input, which is what WCAG 2.5.3 (Label in Name) exists for. A slotted `slot=\"trigger\"` replaces this built-in trigger entirely and is named differently; see `label`.",
6482
6518
  "privacy": "public"
6483
6519
  },
6484
6520
  {
@@ -6496,7 +6532,7 @@
6496
6532
  "type": {
6497
6533
  "text": "undefined | string"
6498
6534
  },
6499
- "description": "Accessible name for an icon-only trigger (no visible label).",
6535
+ "description": "Accessible name for a trigger with no visible label. Ignored when `triggerLabel` is set, which is already the visible name. It DOES name a slotted `slot=\"trigger\"`, and that is a difference in what the two slots MEAN, not a limitation. `<kai-button>`'s slot IS the button's label, so text slotted there is the name and `label` steps aside. This slot is VISUAL content, a `+` or an `<svg>`, with the name supplied separately: decoration beside a name, never a second name competing with one. So `label` names the trigger here by design. Slotting a real WORD rather than a glyph makes that word a visible label, and an accessible name has to contain the visible text. Then either drop `label` or make it contain the word you slotted.",
6500
6536
  "privacy": "public"
6501
6537
  },
6502
6538
  {
@@ -6591,7 +6627,7 @@
6591
6627
  "type": {
6592
6628
  "text": "undefined | string"
6593
6629
  },
6594
- "description": "Built-in trigger: a text label (e.g. `\"High\"`)."
6630
+ "description": "Built-in trigger: a text label (e.g. `\"High\"`). This is the trigger's VISIBLE text, so it is also its accessible name, and `label` does not override it: an accessible name that does not contain the visible text is unreachable by speech input, which is what WCAG 2.5.3 (Label in Name) exists for. A slotted `slot=\"trigger\"` replaces this built-in trigger entirely and is named differently; see `label`."
6595
6631
  },
6596
6632
  {
6597
6633
  "name": "trigger-icon-trailing",
@@ -6607,7 +6643,7 @@
6607
6643
  "type": {
6608
6644
  "text": "undefined | string"
6609
6645
  },
6610
- "description": "Accessible name for an icon-only trigger (no visible label)."
6646
+ "description": "Accessible name for a trigger with no visible label. Ignored when `triggerLabel` is set, which is already the visible name. It DOES name a slotted `slot=\"trigger\"`, and that is a difference in what the two slots MEAN, not a limitation. `<kai-button>`'s slot IS the button's label, so text slotted there is the name and `label` steps aside. This slot is VISUAL content, a `+` or an `<svg>`, with the name supplied separately: decoration beside a name, never a second name competing with one. So `label` names the trigger here by design. Slotting a real WORD rather than a glyph makes that word a visible label, and an accessible name has to contain the visible text. Then either drop `label` or make it contain the word you slotted."
6611
6647
  },
6612
6648
  {
6613
6649
  "name": "open",
@@ -1 +1 @@
1
- import{c as r,m as S,s as q,i,a as f,b as d,S as v,d as m,t as b,e as B,f as I}from"./chunks/define-BzPnNsXg.js";import{c as u}from"./chunks/cn-CU7UAWzk.js";import{I as N}from"./chunks/Icon-C-2LvGDG.js";import{e as j}from"./chunks/ellipsis-BNedmqfi.js";var D=[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]],E=l=>r(N,S(l,{name:"Bell",iconNode:D})),H=E,L=b("<span aria-hidden=true>"),P=b("<span>"),W=b('<span class="inline-flex items-center gap-1 rounded-full bg-tool-amber/15 px-2 py-0.5 text-[11px] font-medium text-tool-amber">Needs you'),O=b("<button type=button part=menu aria-label=More>"),R=b('<div><span class="inline-flex shrink-0 items-center gap-1.5"role=status><span class="relative inline-flex"><span aria-hidden=true part=status></span></span></span><button type=button><span class="block truncate text-sm font-medium leading-tight text-foreground"></span></button><span class="flex shrink-0 items-center gap-2">');const M={working:"bg-tool-blue",idle:"bg-muted-foreground",done:"bg-tool-green",error:"bg-tool-red",blocked:"bg-tool-amber"},T={working:"text-tool-blue",idle:"text-muted-foreground",done:"text-tool-green",error:"text-tool-red",blocked:"text-tool-amber"},X={working:"Working",idle:"Idle",done:"Done",error:"Error",blocked:"Blocked"};function _(l){const[t]=q(l,["name","status","needsAttention","active","onActivate","onClick","onMenu","class","leading","subtitle","lastLine"]),o=()=>t.status.tone,z=()=>{var n,a;(n=t.onActivate)==null||n.call(t),(a=t.onClick)==null||a.call(t)};return(()=>{var n=R(),a=n.firstChild,p=a.firstChild,h=p.firstChild,c=a.nextSibling,$=c.firstChild,x=c.nextSibling;return i(p,r(v,{get when(){return t.status.pulse},get children(){var e=L();return f(()=>d(e,u("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",M[o()]))),e}}),h),i(a,r(v,{get when(){return t.status.label},get children(){var e=P();return i(e,()=>t.status.label),f(()=>d(e,u("text-[11px] font-medium leading-none",T[o()]))),e}}),null),c.$$click=z,i($,()=>t.name),i(x,r(v,{get when(){return t.needsAttention},get children(){var e=W(),s=e.firstChild;return i(e,r(H,{class:"size-3","aria-hidden":"true"}),s),e}}),null),i(x,r(v,{get when(){return t.onMenu},get children(){var e=O();return e.$$click=s=>{var g;s.stopPropagation(),(g=t.onMenu)==null||g.call(t,s)},i(e,r(j,{class:"size-4","aria-hidden":"true"})),f(()=>d(e,u("relative z-10 inline-flex size-7 shrink-0 items-center justify-center rounded-md","text-muted-foreground outline-none transition-colors","hover:bg-surface-sunken hover:text-foreground","focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"))),e}}),null),f(e=>{var s=t.active?"":void 0,g=t.needsAttention?"":void 0,k=u("group relative flex w-full cursor-pointer items-center gap-3 rounded-lg border px-3 py-2.5 text-left","transition-[background-color,border-color,box-shadow]",t.active?"border-primary bg-accent":"border-border bg-surface hover:bg-accent",t.needsAttention&&"border-tool-amber/50 ring-2 ring-inset ring-tool-amber/60",t.class),w=t.status.label??X[o()],y=u("relative inline-block size-2 rounded-full",M[o()]),A=t.active?"true":void 0,C=u("min-w-0 flex-1 text-left outline-none","before:absolute before:inset-0 before:rounded-lg before:content-['']","focus-visible:before:ring-2 focus-visible:before:ring-inset focus-visible:before:ring-ring");return s!==e.e&&m(n,"data-active",e.e=s),g!==e.t&&m(n,"data-needs-attention",e.t=g),k!==e.a&&d(n,e.a=k),w!==e.o&&m(a,"aria-label",e.o=w),y!==e.i&&d(h,e.i=y),A!==e.n&&m(c,"aria-current",e.n=A),C!==e.s&&d(c,e.s=C),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()}B(["click"]),I("kai-agent-card",{name:void 0,active:void 0,needsAttention:void 0,status:void 0},(l,{dispatch:t,flag:o})=>r(_,{get name(){return l.name??""},get active(){return o("active")},get needsAttention(){return o("needsAttention")},get status(){return l.status??{tone:"idle"}},onActivate:()=>t("kai-activate"),onMenu:()=>t("kai-menu")}));
1
+ import{c as r,m as S,s as q,i,a as f,b as d,S as v,d as m,t as b,e as B,f as I}from"./chunks/define-lE-QvQFn.js";import{c as u}from"./chunks/cn-CU7UAWzk.js";import{I as N}from"./chunks/Icon-CHG5z5L7.js";import{e as j}from"./chunks/ellipsis-BmxceY4l.js";var D=[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]],E=l=>r(N,S(l,{name:"Bell",iconNode:D})),H=E,L=b("<span aria-hidden=true>"),P=b("<span>"),W=b('<span class="inline-flex items-center gap-1 rounded-full bg-tool-amber/15 px-2 py-0.5 text-[11px] font-medium text-tool-amber">Needs you'),O=b("<button type=button part=menu aria-label=More>"),R=b('<div><span class="inline-flex shrink-0 items-center gap-1.5"role=status><span class="relative inline-flex"><span aria-hidden=true part=status></span></span></span><button type=button><span class="block truncate text-sm font-medium leading-tight text-foreground"></span></button><span class="flex shrink-0 items-center gap-2">');const M={working:"bg-tool-blue",idle:"bg-muted-foreground",done:"bg-tool-green",error:"bg-tool-red",blocked:"bg-tool-amber"},T={working:"text-tool-blue",idle:"text-muted-foreground",done:"text-tool-green",error:"text-tool-red",blocked:"text-tool-amber"},X={working:"Working",idle:"Idle",done:"Done",error:"Error",blocked:"Blocked"};function _(l){const[t]=q(l,["name","status","needsAttention","active","onActivate","onClick","onMenu","class","leading","subtitle","lastLine"]),o=()=>t.status.tone,z=()=>{var n,a;(n=t.onActivate)==null||n.call(t),(a=t.onClick)==null||a.call(t)};return(()=>{var n=R(),a=n.firstChild,p=a.firstChild,h=p.firstChild,c=a.nextSibling,$=c.firstChild,x=c.nextSibling;return i(p,r(v,{get when(){return t.status.pulse},get children(){var e=L();return f(()=>d(e,u("absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 motion-reduce:hidden",M[o()]))),e}}),h),i(a,r(v,{get when(){return t.status.label},get children(){var e=P();return i(e,()=>t.status.label),f(()=>d(e,u("text-[11px] font-medium leading-none",T[o()]))),e}}),null),c.$$click=z,i($,()=>t.name),i(x,r(v,{get when(){return t.needsAttention},get children(){var e=W(),s=e.firstChild;return i(e,r(H,{class:"size-3","aria-hidden":"true"}),s),e}}),null),i(x,r(v,{get when(){return t.onMenu},get children(){var e=O();return e.$$click=s=>{var g;s.stopPropagation(),(g=t.onMenu)==null||g.call(t,s)},i(e,r(j,{class:"size-4","aria-hidden":"true"})),f(()=>d(e,u("relative z-10 inline-flex size-7 shrink-0 items-center justify-center rounded-md","text-muted-foreground outline-none transition-colors","hover:bg-surface-sunken hover:text-foreground","focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"))),e}}),null),f(e=>{var s=t.active?"":void 0,g=t.needsAttention?"":void 0,k=u("group relative flex w-full cursor-pointer items-center gap-3 rounded-lg border px-3 py-2.5 text-left","transition-[background-color,border-color,box-shadow]",t.active?"border-primary bg-accent":"border-border bg-surface hover:bg-accent",t.needsAttention&&"border-tool-amber/50 ring-2 ring-inset ring-tool-amber/60",t.class),w=t.status.label??X[o()],y=u("relative inline-block size-2 rounded-full",M[o()]),A=t.active?"true":void 0,C=u("min-w-0 flex-1 text-left outline-none","before:absolute before:inset-0 before:rounded-lg before:content-['']","focus-visible:before:ring-2 focus-visible:before:ring-inset focus-visible:before:ring-ring");return s!==e.e&&m(n,"data-active",e.e=s),g!==e.t&&m(n,"data-needs-attention",e.t=g),k!==e.a&&d(n,e.a=k),w!==e.o&&m(a,"aria-label",e.o=w),y!==e.i&&d(h,e.i=y),A!==e.n&&m(c,"aria-current",e.n=A),C!==e.s&&d(c,e.s=C),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()}B(["click"]),I("kai-agent-card",{name:void 0,active:void 0,needsAttention:void 0,status:void 0},(l,{dispatch:t,flag:o})=>r(_,{get name(){return l.name??""},get active(){return o("active")},get needsAttention(){return o("needsAttention")},get status(){return l.status??{tone:"idle"}},onActivate:()=>t("kai-activate"),onMenu:()=>t("kai-menu")}));
@@ -1 +1 @@
1
- import{f as g,g as v,o as h,h as b,i as c,c as x,t as d}from"./chunks/define-BzPnNsXg.js";import{A as p}from"./chunks/artifact-BBIscOxJ.js";var f=d("<style>:host{display:block;height:100%;min-height:0}"),T=d('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);height:100%;min-height:0">');g("kai-artifact",{src:void 0,files:[],tab:void 0,defaultTab:void 0,activeFile:void 0,sandbox:"allow-scripts allow-forms",iframeTitle:void 0,maximized:!1,expandable:!1,openInTab:!1,noNav:!1,noReload:!1,noHome:!1,noPathField:!1,noTabs:!1,standalone:!1,readonlyPath:!1,displayUrl:void 0},(n,{element:l,dispatch:r,flag:t,expose:s})=>{const[m,o]=v(t("maximized"));let e;s({back:()=>e?.back(),forward:()=>e?.forward(),reload:()=>e?.reload(),home:()=>e?.home(),navigate:a=>e?.navigate(a),selectFile:a=>e?.selectFile(a),openExternal:()=>e?.openExternal(),maximize:()=>e?.maximize(),restore:()=>e?.restore()});const u=a=>{o(a),l.dispatchEvent(new CustomEvent("kai-maximize-intent",{detail:{requested:a},bubbles:!0,composed:!0})),r("kai-maximize-change",{maximized:a})};return h(()=>{const a=i=>o(i.detail.maximized);l.addEventListener("kai-maximize-state",a),b(()=>l.removeEventListener("kai-maximize-state",a))}),[f(),(()=>{var a=T();return c(a,x(p,{get src(){return n.src},get files(){return n.files??[]},get tab(){return n.tab},get defaultTab(){return n.defaultTab},get activeFile(){return n.activeFile},get sandbox(){return n.sandbox},get iframeTitle(){return n.iframeTitle},get maximized(){return m()},get expandable(){return t("expandable")},get openInTab(){return t("openInTab")},get showNav(){return!t("noNav")},get showReload(){return!t("noReload")},get showHome(){return!t("noHome")},get showPathField(){return!t("noPathField")},get showTabs(){return!t("noTabs")},get standalone(){return t("standalone")},get readonlyPath(){return t("readonlyPath")},get displayUrl(){return n.displayUrl},onMaximizeChange:u,onNavigate:i=>r("kai-navigate",{url:i}),onTabChange:i=>r("kai-tab-change",{tab:i}),onFileSelect:i=>r("kai-file-select",{path:i}),controllerRef:i=>e=i})),a})()]});
1
+ import{f as g,g as v,o as h,h as b,i as c,c as x,t as d}from"./chunks/define-lE-QvQFn.js";import{A as p}from"./chunks/artifact-fBZOE4SO.js";var f=d("<style>:host{display:block;height:100%;min-height:0}"),T=d('<div style="display:grid;grid-template-rows:minmax(0, 1fr);grid-template-columns:minmax(0, 1fr);height:100%;min-height:0">');g("kai-artifact",{src:void 0,files:[],tab:void 0,defaultTab:void 0,activeFile:void 0,sandbox:"allow-scripts allow-forms",iframeTitle:void 0,maximized:!1,expandable:!1,openInTab:!1,noNav:!1,noReload:!1,noHome:!1,noPathField:!1,noTabs:!1,standalone:!1,readonlyPath:!1,displayUrl:void 0},(n,{element:l,dispatch:r,flag:t,expose:s})=>{const[m,o]=v(t("maximized"));let e;s({back:()=>e?.back(),forward:()=>e?.forward(),reload:()=>e?.reload(),home:()=>e?.home(),navigate:a=>e?.navigate(a),selectFile:a=>e?.selectFile(a),openExternal:()=>e?.openExternal(),maximize:()=>e?.maximize(),restore:()=>e?.restore()});const u=a=>{o(a),l.dispatchEvent(new CustomEvent("kai-maximize-intent",{detail:{requested:a},bubbles:!0,composed:!0})),r("kai-maximize-change",{maximized:a})};return h(()=>{const a=i=>o(i.detail.maximized);l.addEventListener("kai-maximize-state",a),b(()=>l.removeEventListener("kai-maximize-state",a))}),[f(),(()=>{var a=T();return c(a,x(p,{get src(){return n.src},get files(){return n.files??[]},get tab(){return n.tab},get defaultTab(){return n.defaultTab},get activeFile(){return n.activeFile},get sandbox(){return n.sandbox},get iframeTitle(){return n.iframeTitle},get maximized(){return m()},get expandable(){return t("expandable")},get openInTab(){return t("openInTab")},get showNav(){return!t("noNav")},get showReload(){return!t("noReload")},get showHome(){return!t("noHome")},get showPathField(){return!t("noPathField")},get showTabs(){return!t("noTabs")},get standalone(){return t("standalone")},get readonlyPath(){return t("readonlyPath")},get displayUrl(){return n.displayUrl},onMaximizeChange:u,onNavigate:i=>r("kai-navigate",{url:i}),onTabChange:i=>r("kai-tab-change",{tab:i}),onFileSelect:i=>r("kai-file-select",{path:i}),controllerRef:i=>e=i})),a})()]});
@@ -1 +1 @@
1
- import{f as b,c as e,F as T,S as a,j as c,a as k,d as o,i as m,t as d}from"./chunks/define-BzPnNsXg.js";import{A as M,a as j,b as C,c as A,d as v,e as p,f as F,g as f,h as R,i as S,j as $}from"./chunks/attachments-BB56zoji.js";var z=d('<img part=preview class="block max-h-64 max-w-xs rounded object-contain">'),E=d('<div class="text-body font-medium">'),H=d('<div class="text-muted-foreground text-caption">');b("kai-attachments",{items:[],variant:"grid",hoverCard:!1,removable:!1,showMediaType:!1,emptyText:void 0},(n,{dispatch:w,flag:l})=>{const i=()=>n.variant??"grid",y=()=>l("hoverCard"),x=()=>l("removable"),g=()=>l("showMediaType");return e(a,{get when(){var r;return(r=n.items)==null?void 0:r.length},get fallback(){return e(a,{get when(){return n.emptyText},get children(){return e($,{get children(){return n.emptyText}})}})},get children(){return e(M,{get variant(){return i()},get children(){return e(T,{get each(){return n.items??[]},children:r=>e(j,{data:r,get onRemove(){return x()?()=>w("kai-remove",{id:r.id}):void 0},get children(){return[e(a,{get when(){return y()},get fallback(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return g()}})}})]},get children(){return e(C,{get children(){return[e(A,{get class(){return c(()=>i()==="grid")()?"block size-full":`flex items-center gap-1.5${i()==="list"?" w-full":""}`},get children(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return g()}})}})]}}),e(F,{get children(){return e(a,{get when(){return c(()=>R(r)==="image"&&r.type==="file")()&&r.url},get fallback(){return[(()=>{var t=E();return m(t,()=>f(r)),t})(),e(a,{get when(){return r.mediaType},get children(){var t=H();return m(t,()=>r.mediaType),t}})]},get children(){var t=z();return k(s=>{var u=r.url,h=f(r);return u!==s.e&&o(t,"src",s.e=u),h!==s.t&&o(t,"alt",s.t=h),s},{e:void 0,t:void 0}),t}})}})]}})}}),e(S,{})]}})})}})}})});
1
+ import{f as b,c as e,F as T,S as a,j as c,a as k,d as o,i as m,t as d}from"./chunks/define-lE-QvQFn.js";import{A as M,a as j,b as C,c as A,d as v,e as p,f as F,g as f,h as R,i as S,j as $}from"./chunks/attachments-DpYMe5VQ.js";var z=d('<img part=preview class="block max-h-64 max-w-xs rounded object-contain">'),E=d('<div class="text-body font-medium">'),H=d('<div class="text-muted-foreground text-caption">');b("kai-attachments",{items:[],variant:"grid",hoverCard:!1,removable:!1,showMediaType:!1,emptyText:void 0},(n,{dispatch:w,flag:l})=>{const i=()=>n.variant??"grid",y=()=>l("hoverCard"),x=()=>l("removable"),g=()=>l("showMediaType");return e(a,{get when(){var r;return(r=n.items)==null?void 0:r.length},get fallback(){return e(a,{get when(){return n.emptyText},get children(){return e($,{get children(){return n.emptyText}})}})},get children(){return e(M,{get variant(){return i()},get children(){return e(T,{get each(){return n.items??[]},children:r=>e(j,{data:r,get onRemove(){return x()?()=>w("kai-remove",{id:r.id}):void 0},get children(){return[e(a,{get when(){return y()},get fallback(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return g()}})}})]},get children(){return e(C,{get children(){return[e(A,{get class(){return c(()=>i()==="grid")()?"block size-full":`flex items-center gap-1.5${i()==="list"?" w-full":""}`},get children(){return[e(v,{}),e(a,{get when(){return i()!=="grid"},get children(){return e(p,{get showMediaType(){return g()}})}})]}}),e(F,{get children(){return e(a,{get when(){return c(()=>R(r)==="image"&&r.type==="file")()&&r.url},get fallback(){return[(()=>{var t=E();return m(t,()=>f(r)),t})(),e(a,{get when(){return r.mediaType},get children(){var t=H();return m(t,()=>r.mediaType),t}})]},get children(){var t=z();return k(s=>{var u=r.url,h=f(r);return u!==s.e&&o(t,"src",s.e=u),h!==s.t&&o(t,"alt",s.t=h),s},{e:void 0,t:void 0}),t}})}})]}})}}),e(S,{})]}})})}})}})});
@@ -1 +1 @@
1
- import{A as a,n as r}from"./chunks/audio-visualizer-BxOx4THz.js";import"./chunks/define-BzPnNsXg.js";export{a as AudioVisualizerFacade,r as num};
1
+ import{A as a,n as r}from"./chunks/audio-visualizer-DFwzAcuL.js";import"./chunks/define-lE-QvQFn.js";export{a as AudioVisualizerFacade,r as num};
@@ -1 +1 @@
1
- import{s as m,q as g,m as v,i,c as d,a as b,d as o,S as k,t as l,f as x}from"./chunks/define-BzPnNsXg.js";import{c as h}from"./chunks/cn-CU7UAWzk.js";var w=l('<img class="h-full w-full rounded-md object-cover">'),z=l("<div>"),p=l("<span>");const j={sm:"h-6 w-6 text-[10px]",md:"h-8 w-8 text-xs",lg:"h-10 w-10 text-sm"};function q(e){const[r,u]=m(e,["src","alt","fallback","size","class"]),f=()=>r.size??"md";return(()=>{var s=z();return g(s,v({get class(){return h("inline-flex items-center justify-center rounded-md bg-accent font-semibold text-accent-foreground flex-shrink-0",j[f()],r.class)}},u),!1,!0),i(s,d(k,{get when(){return r.src},get fallback(){return(()=>{var t=p();return i(t,()=>r.fallback),t})()},get children(){var t=w();return b(a=>{var c=r.src,n=r.alt??r.fallback;return c!==a.e&&o(t,"src",a.e=c),n!==a.t&&o(t,"alt",a.t=n),a},{e:void 0,t:void 0}),t}})),s})()}x("kai-avatar",{src:void 0,alt:void 0,fallback:"",size:"md"},e=>d(q,{get src(){return e.src},get alt(){return e.alt},get fallback(){return e.fallback??""},get size(){return e.size??"md"}}));
1
+ import{s as m,q as g,m as v,i,c as d,a as b,d as o,S as k,t as l,f as x}from"./chunks/define-lE-QvQFn.js";import{c as h}from"./chunks/cn-CU7UAWzk.js";var w=l('<img class="h-full w-full rounded-md object-cover">'),z=l("<div>"),p=l("<span>");const j={sm:"h-6 w-6 text-[10px]",md:"h-8 w-8 text-xs",lg:"h-10 w-10 text-sm"};function q(e){const[r,u]=m(e,["src","alt","fallback","size","class"]),f=()=>r.size??"md";return(()=>{var s=z();return g(s,v({get class(){return h("inline-flex items-center justify-center rounded-md bg-accent font-semibold text-accent-foreground flex-shrink-0",j[f()],r.class)}},u),!1,!0),i(s,d(k,{get when(){return r.src},get fallback(){return(()=>{var t=p();return i(t,()=>r.fallback),t})()},get children(){var t=w();return b(a=>{var c=r.src,n=r.alt??r.fallback;return c!==a.e&&o(t,"src",a.e=c),n!==a.t&&o(t,"alt",a.t=n),a},{e:void 0,t:void 0}),t}})),s})()}x("kai-avatar",{src:void 0,alt:void 0,fallback:"",size:"md"},e=>d(q,{get src(){return e.src},get alt(){return e.alt},get fallback(){return e.fallback??""},get size(){return e.size??"md"}}));
@@ -1 +1 @@
1
- import{f as e,c as i,u as n,t as r}from"./chunks/define-BzPnNsXg.js";import{B as l}from"./chunks/badge-SxLSZ19R.js";var o=r("<style>:host{display:inline-flex}"),s=r("<slot>");e("kai-badge",{variant:"default"},t=>[o(),i(l,{get variant(){return t.variant??"default"},part:"badge",get children(){var a=s();return a._$owner=n(),a}})]);
1
+ import{f as e,c as i,u as n,t as r}from"./chunks/define-lE-QvQFn.js";import{B as l}from"./chunks/badge-D6zodm6E.js";var o=r("<style>:host{display:inline-flex}"),s=r("<slot>");e("kai-badge",{variant:"default"},t=>[o(),i(l,{get variant(){return t.variant??"default"},part:"badge",get children(){var a=s();return a._$owner=n(),a}})]);
@@ -1 +1 @@
1
- import{f,c as r,u as c,i as v,S as s,j as b,t as a}from"./chunks/define-BzPnNsXg.js";import{B as m}from"./chunks/button-CmkUkz6c.js";import{r as d}from"./chunks/icon-DKkmze3y.js";var k=a("<style>:host{display:inline-flex}:host([full]){display:block}"),p=a("<slot name=icon>"),y=a("<slot>");f("kai-button",{variant:"default",size:"md",icon:void 0,iconTrailing:void 0,label:void 0,disabled:!1,full:!1,align:"center",type:"button"},(n,{dispatch:g,flag:o,element:t,expose:h})=>{const l=()=>n.size==="icon"||n.size==="icon-sm";return h({focus:e=>{var i,u;return(u=(i=t.shadowRoot)==null?void 0:i.querySelector("button"))==null?void 0:u.focus(e)},blur:()=>{var e,i;return(i=(e=t.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:i.blur()},click:()=>{var e,i;return(i=(e=t.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:i.click()}}),[k(),r(m,{part:"button",get variant(){return n.variant??"default"},get size(){return n.size??"md"},get align(){return n.align??"center"},get full(){return o("full")||!l()},get type(){return n.type??"button"},get disabled(){return o("disabled")},get"aria-label"(){return n.label},onClick:()=>g("kai-click"),get children(){return[(()=>{var e=p();return e._$owner=c(),v(e,r(s,{get when(){return n.icon},get children(){return d(n.icon,{class:"size-4 shrink-0",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})),e})(),r(s,{get when(){return!l()},get children(){var e=y();return e._$owner=c(),e}}),r(s,{get when(){return b(()=>!!n.iconTrailing)()&&!l()},get children(){return d(n.iconTrailing,{class:"size-4 shrink-0 opacity-60",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})]}})]});
1
+ import{g as m,f as b,c as o,u as g,i as p,S as c,v as k,j as y,t as d}from"./chunks/define-lE-QvQFn.js";import{B as z}from"./chunks/button-C42vrGvO.js";import{r as h}from"./chunks/icon-CNiKP37E.js";function w(n={}){const[u,a]=m(!1),i=r=>{const s=r.assignedNodes({flatten:n.flatten??!1});a(s.some(l=>(l.textContent??"").trim()!==""))};return{hasText:u,ref:r=>{i(r),r.addEventListener("slotchange",()=>i(r))}}}var x=d("<style>:host{display:inline-flex}:host([full]){display:block}"),C=d("<slot name=icon>"),T=d("<slot>");b("kai-button",{variant:"default",size:"md",icon:void 0,iconTrailing:void 0,label:void 0,disabled:!1,full:!1,align:"center",type:"button"},(n,{dispatch:u,flag:a,element:i,expose:r})=>{const s=()=>n.size==="icon"||n.size==="icon-sm",l=w({flatten:!0}),v=()=>!s()&&l.hasText()?void 0:n.label;return r({focus:e=>{var t,f;return(f=(t=i.shadowRoot)==null?void 0:t.querySelector("button"))==null?void 0:f.focus(e)},blur:()=>{var e,t;return(t=(e=i.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:t.blur()},click:()=>{var e,t;return(t=(e=i.shadowRoot)==null?void 0:e.querySelector("button"))==null?void 0:t.click()}}),[x(),o(z,{part:"button",get variant(){return n.variant??"default"},get size(){return n.size??"md"},get align(){return n.align??"center"},get full(){return a("full")||!s()},get type(){return n.type??"button"},get disabled(){return a("disabled")},get"aria-label"(){return v()},onClick:()=>u("kai-click"),get children(){return[(()=>{var e=C();return e._$owner=g(),p(e,o(c,{get when(){return n.icon},get children(){return h(n.icon,{class:"size-4 shrink-0",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})),e})(),o(c,{get when(){return!s()},get children(){var e=T(),t=l.ref;return typeof t=="function"?k(t,e):l.ref=e,e._$owner=g(),e}}),o(c,{get when(){return y(()=>!!n.iconTrailing)()&&!s()},get children(){return h(n.iconTrailing,{class:"size-4 shrink-0 opacity-60",imgClass:"size-4 shrink-0",spanClass:"inline-flex size-4 shrink-0 items-center justify-center",ariaHidden:!0})}})]}})]});
@@ -1 +1 @@
1
- import{m as C,s as M,g as y,v as q,i as n,c as a,S as c,D as K,j as x,t as o,e as P,f as X,o as F,h as G,u as E,d as H}from"./chunks/define-BzPnNsXg.js";import{c as I}from"./chunks/cn-CU7UAWzk.js";import{x as J}from"./chunks/x-D1qx0aLd.js";var N=o('<div class="min-w-0 flex-1">'),Q=o('<div class="-mt-1 shrink-0">'),R=o('<div part=header class="flex items-start justify-between gap-3">'),U=o('<div part=body class="min-w-0 text-sm">'),V=o("<div class=kc-actions>"),W=o("<div part=footer>"),Y=o('<div class="flex min-w-0 flex-1 flex-col"style=padding:var(--kai-card-spacing);gap:var(--kai-card-spacing)>'),Z=o('<button type=button part=dismiss aria-label=Dismiss class="absolute right-2 top-2 z-10 shrink-0 rounded p-1 opacity-60 transition-opacity hover:opacity-100">'),ee=o("<style>"),re=o("<div part=media class=kc-media>"),te=o("<div class=kc-layout>");const ne={outlined:"border border-border bg-card text-card-foreground kai-elevation-sm",filled:"border border-transparent bg-surface-strong text-card-foreground",plain:"border border-transparent bg-transparent",accent:"border border-transparent bg-primary text-primary-foreground"};function ae(u){const p=C({appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1},u),[e,v]=M(p,["appearance","orientation","collapse","dense","media","header","headerActions","footer","footerActions","hasBody","dismissible","onDismiss","href","target","rel","clickable","onCardClick","class","children"]),[b,k]=y(!0),w=r=>{var t;r.stopPropagation(),k(!1),(t=e.onDismiss)==null||t.call(e)},g=()=>!!e.href,s=()=>!g()&&!!e.clickable,l=()=>g()||s(),h=/^[\d.]+(px|rem|em|ch|vw|vh|%)$/,m=()=>h.test(e.collapse)?e.collapse:"28rem",d=`kc-i-${q()}`,_=()=>{const r=m(),t=e.orientation==="horizontal",i=e.orientation==="responsive",f=`.${d}`,j=`${f} .kc-layout{display:flex;flex-direction:${t?"row":"column"}}${f} .kc-media{overflow:hidden;${t?"flex-shrink:0;align-self:stretch":"width:100%"}}${f} [part="footer"]{display:flex;flex-direction:column;gap:0.75rem}${f} .kc-actions{display:flex;flex-direction:column-reverse;align-items:stretch;gap:0.5rem}`,L=`${f} [part="footer"]{flex-direction:row;align-items:center}${f} .kc-actions{flex-direction:row;align-items:center;margin-left:auto}`+(i?`${f} .kc-layout{flex-direction:row}${f} .kc-media{width:auto;flex-shrink:0;align-self:stretch}`:"");return`${j}@container (min-width:${r}){${L}}`},$=r=>{var t;return(t=e.onCardClick)==null?void 0:t.call(e,r)},B=r=>{s()&&(r.key==="Enter"||r.key===" "||r.key==="Spacebar")&&(r.preventDefault(),$(r))},z=()=>e.rel??(e.target==="_blank"?"noopener noreferrer":void 0),A=()=>!!e.header||!!e.headerActions,D=()=>!!e.footer||!!e.footerActions,O=()=>A()||e.hasBody||D(),S=(()=>{var r=Y();return n(r,a(c,{get when(){return A()},get children(){var t=R();return n(t,a(c,{get when(){return e.header},get children(){var i=N();return n(i,()=>e.header),i}}),null),n(t,a(c,{get when(){return e.headerActions},get children(){var i=Q();return n(i,()=>e.headerActions),i}}),null),t}}),null),n(r,a(c,{get when(){return e.hasBody},get children(){var t=U();return n(t,()=>e.children),t}}),null),n(r,a(c,{get when(){return D()},get children(){var t=W();return n(t,a(c,{get when(){return e.footer},get children(){var i=N();return n(i,()=>e.footer),i}}),null),n(t,a(c,{get when(){return e.footerActions},get children(){var i=V();return n(i,()=>e.footerActions),i}}),null),t}}),null),r})();return a(c,{get when(){return b()},get children(){return a(K,C({get component(){return g()?"a":"div"},part:"card",get href(){return x(()=>!!g())()?e.href:void 0},get target(){return x(()=>!!g())()?e.target:void 0},get rel(){return x(()=>!!g())()?z():void 0},get role(){return s()?"button":void 0},get tabindex(){return s()?0:void 0},get onClick(){return l()?$:void 0},get onKeyDown(){return s()?B:void 0},get style(){return{"--kai-card-spacing":e.dense?"0.875rem":"1.25rem"}},get class(){return I("relative block overflow-hidden rounded-xl no-underline @container",d,ne[e.appearance],l()&&"cursor-pointer transition-colors hover:border-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",e.class)}},v,{get children(){return[a(c,{get when(){return e.dismissible},get children(){var r=Z();return r.$$click=w,n(r,a(J,{class:"size-3.5","aria-hidden":"true"})),r}}),(()=>{var r=ee();return n(r,_),r})(),(()=>{var r=te();return n(r,a(c,{get when(){return e.media},get children(){var t=re();return n(t,()=>e.media),t}}),null),n(r,a(c,{get when(){return O()},children:S}),null),r})()]}}))}})}P(["click"]);var T=o("<slot>");const ie=["media","header","header-actions","footer","footer-actions"];X("kai-card",{appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1,dismissible:!1,href:void 0,target:void 0,rel:void 0,clickable:!1},(u,{element:p,dispatch:e,flag:v})=>{const[b,k]=y({media:!1,header:!1,"header-actions":!1,footer:!1,"footer-actions":!1}),[w,g]=y(!1);F(()=>{const l=()=>{const m={};for(const d of ie)m[d]=!!p.querySelector(`:scope > [slot="${d}"]`);k(m),g(Array.from(p.childNodes).some(d=>d.nodeType===Node.ELEMENT_NODE&&!d.hasAttribute("slot")||d.nodeType===Node.TEXT_NODE&&(d.textContent??"").trim()!==""))};l();const h=new MutationObserver(l);h.observe(p,{childList:!0,characterData:!0,subtree:!0}),G(()=>h.disconnect())});const s=l=>b()[l]?(()=>{var h=T();return H(h,"name",l),h._$owner=E(),h})():void 0;return a(ae,{get appearance(){return u.appearance},get orientation(){return u.orientation},get collapse(){return u.collapse},get dense(){return v("dense")},get dismissible(){return v("dismissible")},get href(){return u.href},get target(){return u.target},get rel(){return u.rel},get clickable(){return v("clickable")},onDismiss:()=>e("kai-dismiss"),onCardClick:()=>e("kai-card-click"),get media(){return s("media")},get header(){return s("header")},get headerActions(){return s("header-actions")},get footer(){return s("footer")},get footerActions(){return s("footer-actions")},get hasBody(){return w()},get children(){var l=T();return l._$owner=E(),l}})});
1
+ import{m as C,s as M,g as y,w as q,i as n,c as a,S as c,D as K,j as x,t as o,e as P,f as X,o as F,h as G,u as E,d as H}from"./chunks/define-lE-QvQFn.js";import{c as I}from"./chunks/cn-CU7UAWzk.js";import{x as J}from"./chunks/x-_-OPHept.js";var N=o('<div class="min-w-0 flex-1">'),Q=o('<div class="-mt-1 shrink-0">'),R=o('<div part=header class="flex items-start justify-between gap-3">'),U=o('<div part=body class="min-w-0 text-sm">'),V=o("<div class=kc-actions>"),W=o("<div part=footer>"),Y=o('<div class="flex min-w-0 flex-1 flex-col"style=padding:var(--kai-card-spacing);gap:var(--kai-card-spacing)>'),Z=o('<button type=button part=dismiss aria-label=Dismiss class="absolute right-2 top-2 z-10 shrink-0 rounded p-1 opacity-60 transition-opacity hover:opacity-100">'),ee=o("<style>"),re=o("<div part=media class=kc-media>"),te=o("<div class=kc-layout>");const ne={outlined:"border border-border bg-card text-card-foreground kai-elevation-sm",filled:"border border-transparent bg-surface-strong text-card-foreground",plain:"border border-transparent bg-transparent",accent:"border border-transparent bg-primary text-primary-foreground"};function ae(u){const p=C({appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1},u),[e,v]=M(p,["appearance","orientation","collapse","dense","media","header","headerActions","footer","footerActions","hasBody","dismissible","onDismiss","href","target","rel","clickable","onCardClick","class","children"]),[b,k]=y(!0),w=r=>{var t;r.stopPropagation(),k(!1),(t=e.onDismiss)==null||t.call(e)},g=()=>!!e.href,s=()=>!g()&&!!e.clickable,l=()=>g()||s(),h=/^[\d.]+(px|rem|em|ch|vw|vh|%)$/,m=()=>h.test(e.collapse)?e.collapse:"28rem",d=`kc-i-${q()}`,_=()=>{const r=m(),t=e.orientation==="horizontal",i=e.orientation==="responsive",f=`.${d}`,j=`${f} .kc-layout{display:flex;flex-direction:${t?"row":"column"}}${f} .kc-media{overflow:hidden;${t?"flex-shrink:0;align-self:stretch":"width:100%"}}${f} [part="footer"]{display:flex;flex-direction:column;gap:0.75rem}${f} .kc-actions{display:flex;flex-direction:column-reverse;align-items:stretch;gap:0.5rem}`,L=`${f} [part="footer"]{flex-direction:row;align-items:center}${f} .kc-actions{flex-direction:row;align-items:center;margin-left:auto}`+(i?`${f} .kc-layout{flex-direction:row}${f} .kc-media{width:auto;flex-shrink:0;align-self:stretch}`:"");return`${j}@container (min-width:${r}){${L}}`},$=r=>{var t;return(t=e.onCardClick)==null?void 0:t.call(e,r)},B=r=>{s()&&(r.key==="Enter"||r.key===" "||r.key==="Spacebar")&&(r.preventDefault(),$(r))},z=()=>e.rel??(e.target==="_blank"?"noopener noreferrer":void 0),A=()=>!!e.header||!!e.headerActions,D=()=>!!e.footer||!!e.footerActions,O=()=>A()||e.hasBody||D(),S=(()=>{var r=Y();return n(r,a(c,{get when(){return A()},get children(){var t=R();return n(t,a(c,{get when(){return e.header},get children(){var i=N();return n(i,()=>e.header),i}}),null),n(t,a(c,{get when(){return e.headerActions},get children(){var i=Q();return n(i,()=>e.headerActions),i}}),null),t}}),null),n(r,a(c,{get when(){return e.hasBody},get children(){var t=U();return n(t,()=>e.children),t}}),null),n(r,a(c,{get when(){return D()},get children(){var t=W();return n(t,a(c,{get when(){return e.footer},get children(){var i=N();return n(i,()=>e.footer),i}}),null),n(t,a(c,{get when(){return e.footerActions},get children(){var i=V();return n(i,()=>e.footerActions),i}}),null),t}}),null),r})();return a(c,{get when(){return b()},get children(){return a(K,C({get component(){return g()?"a":"div"},part:"card",get href(){return x(()=>!!g())()?e.href:void 0},get target(){return x(()=>!!g())()?e.target:void 0},get rel(){return x(()=>!!g())()?z():void 0},get role(){return s()?"button":void 0},get tabindex(){return s()?0:void 0},get onClick(){return l()?$:void 0},get onKeyDown(){return s()?B:void 0},get style(){return{"--kai-card-spacing":e.dense?"0.875rem":"1.25rem"}},get class(){return I("relative block overflow-hidden rounded-xl no-underline @container",d,ne[e.appearance],l()&&"cursor-pointer transition-colors hover:border-ring focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",e.class)}},v,{get children(){return[a(c,{get when(){return e.dismissible},get children(){var r=Z();return r.$$click=w,n(r,a(J,{class:"size-3.5","aria-hidden":"true"})),r}}),(()=>{var r=ee();return n(r,_),r})(),(()=>{var r=te();return n(r,a(c,{get when(){return e.media},get children(){var t=re();return n(t,()=>e.media),t}}),null),n(r,a(c,{get when(){return O()},children:S}),null),r})()]}}))}})}P(["click"]);var T=o("<slot>");const ie=["media","header","header-actions","footer","footer-actions"];X("kai-card",{appearance:"outlined",orientation:"vertical",collapse:"28rem",dense:!1,dismissible:!1,href:void 0,target:void 0,rel:void 0,clickable:!1},(u,{element:p,dispatch:e,flag:v})=>{const[b,k]=y({media:!1,header:!1,"header-actions":!1,footer:!1,"footer-actions":!1}),[w,g]=y(!1);F(()=>{const l=()=>{const m={};for(const d of ie)m[d]=!!p.querySelector(`:scope > [slot="${d}"]`);k(m),g(Array.from(p.childNodes).some(d=>d.nodeType===Node.ELEMENT_NODE&&!d.hasAttribute("slot")||d.nodeType===Node.TEXT_NODE&&(d.textContent??"").trim()!==""))};l();const h=new MutationObserver(l);h.observe(p,{childList:!0,characterData:!0,subtree:!0}),G(()=>h.disconnect())});const s=l=>b()[l]?(()=>{var h=T();return H(h,"name",l),h._$owner=E(),h})():void 0;return a(ae,{get appearance(){return u.appearance},get orientation(){return u.orientation},get collapse(){return u.collapse},get dense(){return v("dense")},get dismissible(){return v("dismissible")},get href(){return u.href},get target(){return u.target},get rel(){return u.rel},get clickable(){return v("clickable")},onDismiss:()=>e("kai-dismiss"),onCardClick:()=>e("kai-card-click"),get media(){return s("media")},get header(){return s("header")},get headerActions(){return s("header-actions")},get footer(){return s("footer")},get footerActions(){return s("footer-actions")},get hasBody(){return w()},get children(){var l=T();return l._$owner=E(),l}})});
@@ -1 +1 @@
1
- import{f as k,g as I,k as m,w as b,o as v,h as C,i as w,c as d,F as S,t as x,l as A,S as g,D as E}from"./chunks/define-BzPnNsXg.js";import{C as h,r as L,e as $}from"./chunks/card-routing-C986KuUA.js";import{h as B,v as F,c as R,C as y}from"./chunks/card-renderer-Db4ffkWv.js";import"./form.js";import"./confirm-card.js";import"./tasks.js";import"./choice.js";import"./link-preview.js";import"./embed.js";import{m as U,B as q}from"./chunks/card-tags-D8lZ-C_U.js";var D=x('<div class="flex flex-col gap-3">');function M(e){switch(e.kind){case"action":return{kind:"action",action:e.action,payload:e.payload};case"submit":return{kind:"submit",data:e.data};case"dismiss":return{kind:"dismissed"};default:return}}function N(e){let r;const l=A(()=>!e.validate||!B(e.schemas,e.envelope.type)&&e.tag!==q[e.envelope.type]?null:F(e.envelope.type,e.envelope.data,e.schemas)),u=()=>{var a;return((a=l())==null?void 0:a.tier)==="hard"};m(()=>{r&&(r.data=e.envelope.data,r.cardId=e.envelope.id,e.envelope.title!=null&&(r.heading=e.envelope.title),r.resolution=e.envelope.resolution,r.setAttribute("theme",e.theme),r.setAttribute("data-card-id",e.envelope.id))}),v(()=>{e.tag||e.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})});let c=null;return m(()=>{const a=l();if(!e.tag)return;if(!a||a.ok){c=null;return}const s=R(a);s!==c&&(c=s,e.emit({kind:"error",cardId:e.envelope.id,message:s}))}),d(g,{get when(){return e.tag},get fallback(){return d(y,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})},children:a=>d(g,{get when(){return u()},get fallback(){return d(E,{get component(){return a()},ref(s){var p=r;typeof p=="function"?p(s):r=s}})},get children(){return d(y,{get type(){return e.envelope.type},get cardId(){return e.envelope.id},get reason(){return l().summary}})}})})}k("kai-cards",{cards:void 0,types:void 0,schemas:void 0,policy:void 0,validateCards:!0},(e,{element:r,dispatch:l,expose:u})=>{const[c,a]=I(e.cards??[]);m(b(()=>e.cards,t=>a(t??[]),{defer:!0})),v(()=>{const t=n=>{const o=n.detail;L(e.policy??{},o);const i=M(o);i&&l("kai-card-resolved",{cardId:o.cardId,resolution:i})};r.addEventListener(h,t),C(()=>r.removeEventListener(h,t))});const s=(t,n)=>a(o=>o.some(i=>i.id===t)?o.map(i=>i.id===t?{...i,resolution:n}:i):o);u({resolve:(t,n)=>s(t,n),dismiss:t=>s(t,{kind:"dismissed"}),getCard:t=>{var n;return((n=r.shadowRoot)==null?void 0:n.querySelector(`[data-card-id="${CSS.escape(t)}"]`))??null}});const p=()=>e.theme??"auto",f=()=>U(e.types);return(()=>{var t=D();return w(t,d(S,{get each(){return c()},children:n=>d(N,{envelope:n,get tag(){return f()[n.type]},get theme(){return p()},get validate(){return e.validateCards!==!1},get schemas(){return e.schemas},emit:o=>$(r,o)})})),t})()});
1
+ import{f as k,g as I,k as m,x as b,o as v,h as C,i as w,c as d,F as x,t as S,l as A,S as g,D as E}from"./chunks/define-lE-QvQFn.js";import{C as h,r as L,e as $}from"./chunks/card-routing-C986KuUA.js";import{h as B,v as F,c as R,C as y}from"./chunks/card-renderer-DMZsSuvU.js";import"./form.js";import"./confirm-card.js";import"./tasks.js";import"./choice.js";import"./link-preview.js";import"./embed.js";import{m as U,B as q}from"./chunks/card-tags-D8lZ-C_U.js";var D=S('<div class="flex flex-col gap-3">');function M(e){switch(e.kind){case"action":return{kind:"action",action:e.action,payload:e.payload};case"submit":return{kind:"submit",data:e.data};case"dismiss":return{kind:"dismissed"};default:return}}function N(e){let r;const l=A(()=>!e.validate||!B(e.schemas,e.envelope.type)&&e.tag!==q[e.envelope.type]?null:F(e.envelope.type,e.envelope.data,e.schemas)),u=()=>{var a;return((a=l())==null?void 0:a.tier)==="hard"};m(()=>{r&&(r.data=e.envelope.data,r.cardId=e.envelope.id,e.envelope.title!=null&&(r.heading=e.envelope.title),r.resolution=e.envelope.resolution,r.setAttribute("theme",e.theme),r.setAttribute("data-card-id",e.envelope.id))}),v(()=>{e.tag||e.emit({kind:"error",cardId:e.envelope.id,message:`Unsupported card type: ${e.envelope.type}`})});let c=null;return m(()=>{const a=l();if(!e.tag)return;if(!a||a.ok){c=null;return}const s=R(a);s!==c&&(c=s,e.emit({kind:"error",cardId:e.envelope.id,message:s}))}),d(g,{get when(){return e.tag},get fallback(){return d(y,{get type(){return e.envelope.type},get cardId(){return e.envelope.id}})},children:a=>d(g,{get when(){return u()},get fallback(){return d(E,{get component(){return a()},ref(s){var p=r;typeof p=="function"?p(s):r=s}})},get children(){return d(y,{get type(){return e.envelope.type},get cardId(){return e.envelope.id},get reason(){return l().summary}})}})})}k("kai-cards",{cards:void 0,types:void 0,schemas:void 0,policy:void 0,validateCards:!0},(e,{element:r,dispatch:l,expose:u})=>{const[c,a]=I(e.cards??[]);m(b(()=>e.cards,t=>a(t??[]),{defer:!0})),v(()=>{const t=n=>{const o=n.detail;L(e.policy??{},o);const i=M(o);i&&l("kai-card-resolved",{cardId:o.cardId,resolution:i})};r.addEventListener(h,t),C(()=>r.removeEventListener(h,t))});const s=(t,n)=>a(o=>o.some(i=>i.id===t)?o.map(i=>i.id===t?{...i,resolution:n}:i):o);u({resolve:(t,n)=>s(t,n),dismiss:t=>s(t,{kind:"dismissed"}),getCard:t=>{var n;return((n=r.shadowRoot)==null?void 0:n.querySelector(`[data-card-id="${CSS.escape(t)}"]`))??null}});const p=()=>e.theme??"auto",f=()=>U(e.types);return(()=>{var t=D();return w(t,d(x,{get each(){return c()},children:n=>d(N,{envelope:n,get tag(){return f()[n.type]},get theme(){return p()},get validate(){return e.validateCards!==!1},get schemas(){return e.schemas},emit:o=>$(r,o)})})),t})()});
@@ -1 +1 @@
1
- import{g as C,c as a,F as I,S as y,j as L,i as g,a as z,b as V,s as q,q as R,m as E,t as v,f as F,o as H,h as K}from"./chunks/define-BzPnNsXg.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";import{C as M,a as _,b as B}from"./chunks/collapsible-Cvj61obE.js";import{c as j}from"./chunks/chevron-down-DKtc2HNB.js";import{c as D}from"./chunks/circle-BeokBsvB.js";var A=v("<div>"),G=v('<span class="relative inline-flex size-4 items-center justify-center"><span>'),J=v('<div class="flex items-center gap-2"><span>'),N=v('<span class="relative inline-flex size-4 items-center justify-center">'),P=v('<div class="grid grid-cols-[min-content_minmax(0,1fr)] gap-x-4"><div class="bg-primary/20 ml-1.75 h-full w-px group-data-[last=true]:hidden"></div><div class="ml-1.75 h-full w-px bg-transparent group-data-[last=false]:hidden"></div><div class="mt-2 space-y-2">'),Q=v('<div class="flex justify-start group-data-[last=true]:hidden"><div class="bg-primary/20 ml-1.75 h-4 w-px">');function T(e){const[n,c]=q(e,["children","class"]);return(()=>{var o=A();return R(o,E({get class(){return f("text-muted-foreground text-sm",n.class)}},c),!1,!0),g(o,()=>n.children),o})()}function U(e){const n=()=>e.swapIconOnHover??!0;return a(_,{get class(){return f("group text-muted-foreground hover:text-foreground flex cursor-pointer items-center justify-start gap-1 text-left text-meta transition-colors",e.class)},get children(){return[(()=>{var c=J(),o=c.firstChild;return g(c,a(y,{get when(){return e.leftIcon},get fallback(){return(()=>{var l=N();return g(l,a(D,{class:"size-2 fill-current"})),l})()},get children(){var l=G(),d=l.firstChild;return g(d,()=>e.leftIcon),g(l,a(y,{get when(){return n()},get children(){return a(j,{class:"absolute size-4 opacity-0 transition-opacity group-hover:opacity-100 group-data-[state=open]:rotate-180"})}}),null),z(()=>V(d,f("transition-opacity",n()&&"group-hover:opacity-0"))),l}}),o),g(o,()=>e.children),c})(),a(y,{get when(){return!e.leftIcon},get children(){return a(j,{class:"size-4 transition-transform group-data-[state=open]:rotate-180"})}})]}})}function W(e){return a(B,{get class(){return f("text-popover-foreground data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden",e.class)},get children(){var n=P(),c=n.firstChild,o=c.nextSibling,l=o.nextSibling;return g(l,()=>e.children),n}})}function X(e){return(()=>{var n=A();return g(n,()=>e.children),z(()=>V(n,f("space-y-0",e.class))),n})()}function Y(e){return a(M,{get class(){return f("group",e.class)},get"data-last"(){return e.isLast??!1},get open(){return e.open},get onOpenChange(){return e.onOpenChange},get children(){return[L(()=>e.children),Q()]}})}function O(e){return e==null?new Set:new Set(Array.isArray(e)?e:[e])}function $(e){var n;const[c,o]=C(O(e.defaultValue)),l=()=>e.type??"multiple",d=(t,r)=>t.id??String(r),m=()=>e.value!==void 0,u=()=>m()?O(e.value):c(),s=t=>u().has(t),h=t=>{if(l()==="single"){const r=t.values().next();return r.done?"":r.value}return[...t]},p=t=>{var r;const i=u();i.size===t.size&&[...i].every(b=>t.has(b))||(m()||o(t),(r=e.onValueChange)==null||r.call(e,h(t)))},x=(t,r)=>{if(l()==="single"){p(r?new Set([t]):new Set);return}const i=new Set(u());r?i.add(t):i.delete(t),p(i)},w=t=>{const r=e.steps[t];return r?d(r,t):void 0},S=()=>e.steps.map((t,r)=>d(t,r));return(n=e.controllerRef)==null||n.call(e,{value:()=>h(u()),expand:t=>{if(t===void 0){if(l()==="single"){const i=S();p(i.length?new Set([i[i.length-1]]):new Set)}else p(new Set(S()));return}const r=w(t);r!==void 0&&x(r,!0)},collapse:t=>{if(t===void 0){p(new Set);return}const r=w(t);r!==void 0&&x(r,!1)},toggle:t=>{if(t===void 0)return;const r=w(t);r!==void 0&&x(r,!s(r))}}),a(X,{get class(){return e.class},get children(){return a(I,{get each(){return e.steps},children:(t,r)=>{const i=()=>d(t,r());return a(Y,{get isLast(){return r()===e.steps.length-1},get open(){return s(i())},onOpenChange:b=>x(i(),b),get children(){return[a(U,{get children(){return t.label}}),a(y,{get when(){return t.content},get children(){return a(W,{get children(){return a(T,{get children(){return t.content}})}})}})]}})}})}})}function k(e){var n;return{label:e.getAttribute("label")??"",content:((n=e.textContent)==null?void 0:n.trim())||void 0,id:e.getAttribute("step-id")??void 0}}F("kai-chain-of-thought",{steps:[],type:void 0,value:void 0,defaultValue:void 0},(e,{element:n,dispatch:c,expose:o})=>{const[l,d]=C([]);H(()=>{const s=()=>{const p=[...n.querySelectorAll("kai-step")];d(p.map(k))};s();const h=new MutationObserver(s);h.observe(n,{childList:!0,attributes:!0,subtree:!0}),K(()=>h.disconnect())});const m=()=>[...e.steps??[],...l()];let u;return o({expand:s=>u?.expand(s),collapse:s=>u?.collapse(s),toggle:s=>u?.toggle(s)}),a($,{get steps(){return m()},get type(){return e.type},get value(){return e.value},get defaultValue(){return e.defaultValue},onValueChange:s=>{c("kai-value-change",{value:s})},controllerRef:s=>u=s})});export{k as parseKaiStepElement};
1
+ import{g as C,c as a,F as I,S as y,j as L,i as g,a as z,b as V,s as q,q as R,m as E,t as v,f as F,o as H,h as K}from"./chunks/define-lE-QvQFn.js";import{c as f}from"./chunks/cn-CU7UAWzk.js";import{C as M,a as _,b as B}from"./chunks/collapsible-sTv-_5lF.js";import{c as j}from"./chunks/chevron-down-CpNYLn7E.js";import{c as D}from"./chunks/circle-C9KRjKYv.js";var A=v("<div>"),G=v('<span class="relative inline-flex size-4 items-center justify-center"><span>'),J=v('<div class="flex items-center gap-2"><span>'),N=v('<span class="relative inline-flex size-4 items-center justify-center">'),P=v('<div class="grid grid-cols-[min-content_minmax(0,1fr)] gap-x-4"><div class="bg-primary/20 ml-1.75 h-full w-px group-data-[last=true]:hidden"></div><div class="ml-1.75 h-full w-px bg-transparent group-data-[last=false]:hidden"></div><div class="mt-2 space-y-2">'),Q=v('<div class="flex justify-start group-data-[last=true]:hidden"><div class="bg-primary/20 ml-1.75 h-4 w-px">');function T(e){const[n,c]=q(e,["children","class"]);return(()=>{var o=A();return R(o,E({get class(){return f("text-muted-foreground text-sm",n.class)}},c),!1,!0),g(o,()=>n.children),o})()}function U(e){const n=()=>e.swapIconOnHover??!0;return a(_,{get class(){return f("group text-muted-foreground hover:text-foreground flex cursor-pointer items-center justify-start gap-1 text-left text-meta transition-colors",e.class)},get children(){return[(()=>{var c=J(),o=c.firstChild;return g(c,a(y,{get when(){return e.leftIcon},get fallback(){return(()=>{var l=N();return g(l,a(D,{class:"size-2 fill-current"})),l})()},get children(){var l=G(),d=l.firstChild;return g(d,()=>e.leftIcon),g(l,a(y,{get when(){return n()},get children(){return a(j,{class:"absolute size-4 opacity-0 transition-opacity group-hover:opacity-100 group-data-[state=open]:rotate-180"})}}),null),z(()=>V(d,f("transition-opacity",n()&&"group-hover:opacity-0"))),l}}),o),g(o,()=>e.children),c})(),a(y,{get when(){return!e.leftIcon},get children(){return a(j,{class:"size-4 transition-transform group-data-[state=open]:rotate-180"})}})]}})}function W(e){return a(B,{get class(){return f("text-popover-foreground data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down overflow-hidden",e.class)},get children(){var n=P(),c=n.firstChild,o=c.nextSibling,l=o.nextSibling;return g(l,()=>e.children),n}})}function X(e){return(()=>{var n=A();return g(n,()=>e.children),z(()=>V(n,f("space-y-0",e.class))),n})()}function Y(e){return a(M,{get class(){return f("group",e.class)},get"data-last"(){return e.isLast??!1},get open(){return e.open},get onOpenChange(){return e.onOpenChange},get children(){return[L(()=>e.children),Q()]}})}function O(e){return e==null?new Set:new Set(Array.isArray(e)?e:[e])}function $(e){var n;const[c,o]=C(O(e.defaultValue)),l=()=>e.type??"multiple",d=(t,r)=>t.id??String(r),m=()=>e.value!==void 0,u=()=>m()?O(e.value):c(),s=t=>u().has(t),h=t=>{if(l()==="single"){const r=t.values().next();return r.done?"":r.value}return[...t]},p=t=>{var r;const i=u();i.size===t.size&&[...i].every(b=>t.has(b))||(m()||o(t),(r=e.onValueChange)==null||r.call(e,h(t)))},x=(t,r)=>{if(l()==="single"){p(r?new Set([t]):new Set);return}const i=new Set(u());r?i.add(t):i.delete(t),p(i)},w=t=>{const r=e.steps[t];return r?d(r,t):void 0},S=()=>e.steps.map((t,r)=>d(t,r));return(n=e.controllerRef)==null||n.call(e,{value:()=>h(u()),expand:t=>{if(t===void 0){if(l()==="single"){const i=S();p(i.length?new Set([i[i.length-1]]):new Set)}else p(new Set(S()));return}const r=w(t);r!==void 0&&x(r,!0)},collapse:t=>{if(t===void 0){p(new Set);return}const r=w(t);r!==void 0&&x(r,!1)},toggle:t=>{if(t===void 0)return;const r=w(t);r!==void 0&&x(r,!s(r))}}),a(X,{get class(){return e.class},get children(){return a(I,{get each(){return e.steps},children:(t,r)=>{const i=()=>d(t,r());return a(Y,{get isLast(){return r()===e.steps.length-1},get open(){return s(i())},onOpenChange:b=>x(i(),b),get children(){return[a(U,{get children(){return t.label}}),a(y,{get when(){return t.content},get children(){return a(W,{get children(){return a(T,{get children(){return t.content}})}})}})]}})}})}})}function k(e){var n;return{label:e.getAttribute("label")??"",content:((n=e.textContent)==null?void 0:n.trim())||void 0,id:e.getAttribute("step-id")??void 0}}F("kai-chain-of-thought",{steps:[],type:void 0,value:void 0,defaultValue:void 0},(e,{element:n,dispatch:c,expose:o})=>{const[l,d]=C([]);H(()=>{const s=()=>{const p=[...n.querySelectorAll("kai-step")];d(p.map(k))};s();const h=new MutationObserver(s);h.observe(n,{childList:!0,attributes:!0,subtree:!0}),K(()=>h.disconnect())});const m=()=>[...e.steps??[],...l()];let u;return o({expand:s=>u?.expand(s),collapse:s=>u?.collapse(s),toggle:s=>u?.toggle(s)}),a($,{get steps(){return m()},get type(){return e.type},get value(){return e.value},get defaultValue(){return e.defaultValue},onValueChange:s=>{c("kai-value-change",{value:s})},controllerRef:s=>u=s})});export{k as parseKaiStepElement};
@@ -1 +1 @@
1
- import{s as d,c as r,m as g,j as h,S as c,F as u,t as n,f as p}from"./chunks/define-BzPnNsXg.js";import{c as v}from"./chunks/cn-CU7UAWzk.js";import{D as b,a as f,b as o,c as m}from"./chunks/dropdown-BjVVHWXH.js";import{B as x}from"./chunks/button-CmkUkz6c.js";import{w}from"./chunks/disclosure-DVKsoc1F.js";var A=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Authors'),C=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Tags'),k=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3">'),S=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polyline points="6 9 12 15 18 9">');function T(a){const[e]=d(a,["currentLabel","onScopeChange","availableAuthors","availableTags","class","defaultOpen","disabled","controllerRef"]);return r(m,{get defaultOpen(){return e.defaultOpen},get disabled(){return e.disabled},get controllerRef(){return e.controllerRef},get children(){return[r(b,{as:t=>r(x,g({variant:"ghost",size:"sm",get class(){return v("gap-1 text-xs",e.class)}},t,{get children(){return[k(),h(()=>e.currentLabel),S()]}}))}),r(f,{class:"min-w-[180px]",get children(){return[r(o,{onSelect:()=>e.onScopeChange(void 0),children:"All Content"}),r(c,{get when(){var t;return(t=e.availableAuthors)==null?void 0:t.length},get children(){return[A(),r(u,{get each(){return e.availableAuthors},children:t=>r(o,{onSelect:()=>e.onScopeChange({authors:[t]}),children:t})})]}}),r(c,{get when(){var t;return(t=e.availableTags)==null?void 0:t.length},get children(){return[C(),r(u,{get each(){return e.availableTags},children:t=>r(o,{onSelect:()=>e.onScopeChange({tags:[t]}),children:t})})]}})]}})]}})}p("kai-scope-picker",{availableAuthors:[],availableTags:[],currentLabel:"All Content",open:void 0,defaultOpen:void 0,disabled:void 0},(a,e)=>{const{dispatch:t,flag:s}=e;let i;return w(e,()=>i,()=>a.open),r(T,{get currentLabel(){return a.currentLabel??"All Content"},get availableAuthors(){return a.availableAuthors??[]},get availableTags(){return a.availableTags??[]},onScopeChange:l=>t("kai-scope-change",{filters:l}),get defaultOpen(){return s("defaultOpen")},get disabled(){return s("disabled")},controllerRef:l=>i=l})});
1
+ import{s as d,c as r,m as g,j as h,S as c,F as u,t as n,f as p}from"./chunks/define-lE-QvQFn.js";import{c as v}from"./chunks/cn-CU7UAWzk.js";import{D as b,a as f,b as o,c as m}from"./chunks/dropdown-R3B7cSRE.js";import{B as x}from"./chunks/button-C42vrGvO.js";import{w}from"./chunks/disclosure-DZSa9jog.js";var A=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Authors'),C=n('<div class="px-2 py-1 text-[10px] uppercase tracking-wider text-muted-foreground">Tags'),k=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3">'),S=n('<svg width=12 height=12 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><polyline points="6 9 12 15 18 9">');function T(a){const[e]=d(a,["currentLabel","onScopeChange","availableAuthors","availableTags","class","defaultOpen","disabled","controllerRef"]);return r(m,{get defaultOpen(){return e.defaultOpen},get disabled(){return e.disabled},get controllerRef(){return e.controllerRef},get children(){return[r(b,{as:t=>r(x,g({variant:"ghost",size:"sm",get class(){return v("gap-1 text-xs",e.class)}},t,{get children(){return[k(),h(()=>e.currentLabel),S()]}}))}),r(f,{class:"min-w-[180px]",get children(){return[r(o,{onSelect:()=>e.onScopeChange(void 0),children:"All Content"}),r(c,{get when(){var t;return(t=e.availableAuthors)==null?void 0:t.length},get children(){return[A(),r(u,{get each(){return e.availableAuthors},children:t=>r(o,{onSelect:()=>e.onScopeChange({authors:[t]}),children:t})})]}}),r(c,{get when(){var t;return(t=e.availableTags)==null?void 0:t.length},get children(){return[C(),r(u,{get each(){return e.availableTags},children:t=>r(o,{onSelect:()=>e.onScopeChange({tags:[t]}),children:t})})]}})]}})]}})}p("kai-scope-picker",{availableAuthors:[],availableTags:[],currentLabel:"All Content",open:void 0,defaultOpen:void 0,disabled:void 0},(a,e)=>{const{dispatch:t,flag:s}=e;let i;return w(e,()=>i,()=>a.open),r(T,{get currentLabel(){return a.currentLabel??"All Content"},get availableAuthors(){return a.availableAuthors??[]},get availableTags(){return a.availableTags??[]},onScopeChange:l=>t("kai-scope-change",{filters:l}),get defaultOpen(){return s("defaultOpen")},get disabled(){return s("disabled")},controllerRef:l=>i=l})});
@@ -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,x as _,a as $,b as H,t as c}from"./chunks/define-BzPnNsXg.js";import{c as O,C as V,a as A}from"./chunks/conversation-list-CdR14_Y4.js";import{r as E,W as L}from"./chunks/slots-CIw9RlAe.js";import{C as N}from"./chunks/chat-thread-B3Ks-cKr.js";import{R as j,a as M,b as q}from"./chunks/resizable-1znbL1Gv.js";import{c as D,a as F}from"./chunks/message-CnBA2OUt.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{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-lE-QvQFn.js";import{c as O,C as V,a as A}from"./chunks/conversation-list-DLzOacXz.js";import{r as E,W as L}from"./chunks/slots-CIw9RlAe.js";import{C as N}from"./chunks/chat-thread-CNNEhol-.js";import{R as j,a as M,b as q}from"./chunks/resizable-Q8i3T9a_.js";import{c as D,a as F}from"./chunks/message-CXWLmmLn.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 +1 @@
1
- import{f as d,g as h,o as m,h as v,k as p,c as k}from"./chunks/define-BzPnNsXg.js";import{r as S,C as b}from"./chunks/slots-CIw9RlAe.js";import{C as f}from"./chunks/chat-thread-B3Ks-cKr.js";import{c as T,a as M}from"./chunks/message-CnBA2OUt.js";d("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},(t,{dispatch:o,flag:s,element:i,expose:c})=>{const g=M("kai-chat"),[l,u]=h({}),n=e=>l()[e]===!0;m(()=>{const e=()=>u(S(i,b));e();const a=new MutationObserver(e);a.observe(i,{childList:!0}),v(()=>a.disconnect())}),p(()=>{i.toggleAttribute("loading",s("loading"))});let r;return c({focus:e=>r?.focus(e),blur:()=>{var e,a;return(a=(e=i.shadowRoot)==null?void 0:e.activeElement)==null?void 0:a.blur()},clear:()=>r?.clear(),send:()=>r?.send(),scrollToBottom:e=>r?.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=>o("kai-value-change",{value:e}),onSubmit:e=>o("kai-submit",e),onAttachmentsChange:e=>o("kai-attachments-change",{attachments:e}),onSuggestionClick:e=>o("kai-suggestion-click",{value:e}),onModelChange:e=>o("kai-model-change",{modelId:e}),onMessageAction:e=>o("kai-message-action",e),onSearch:()=>o("kai-search",{}),onVoice:()=>o("kai-voice",{}),controllerRef:e=>r=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{f as u,g as h,o as m,h as v,k as p,c as k}from"./chunks/define-lE-QvQFn.js";import{r as S,C as b}from"./chunks/slots-CIw9RlAe.js";import{C as f}from"./chunks/chat-thread-CNNEhol-.js";import{c as T,a as M}from"./chunks/message-CXWLmmLn.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 +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-BzPnNsXg.js";import{c as o}from"./chunks/cn-CU7UAWzk.js";import{B as m}from"./chunks/button-CmkUkz6c.js";import{T as f}from"./chunks/tooltip-eB226mGK.js";import{S as k}from"./chunks/separator-C5Gh8qGC.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-lE-QvQFn.js";import{c as o}from"./chunks/cn-CU7UAWzk.js";import{B as m}from"./chunks/button-C42vrGvO.js";import{T as f}from"./chunks/tooltip-RxMxyCLF.js";import{S as k}from"./chunks/separator-Xic78AD_.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-BzPnNsXg.js";import{C as n}from"./chunks/choice-card-Q9cYYDyM.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-lE-QvQFn.js";import{C as n}from"./chunks/choice-card-YoWjpsFV.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-BzPnNsXg.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-lE-QvQFn.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 +1 @@
1
- import{I as a}from"./Icon-C-2LvGDG.js";import{c as o,m as r}from"./define-BzPnNsXg.js";import{f as t,b as i,s,p,c as m}from"./share-BZ3G_DaB.js";import{c as k}from"./check-C8desc_h.js";import{d}from"./download-BjA54IMJ.js";import{e as y}from"./ellipsis-BNedmqfi.js";import{l as n}from"./link-BL5JA7Q0.js";import{s as c}from"./star-Cuv7j2IE.js";import{a as l,t as h}from"./thumbs-up-B9hwv43w.js";import{x as f}from"./x-D1qx0aLd.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:m,like:h,dislike:l,regenerate:u,edit:p,share:s,bookmark:i,download:d,link:n,trash:R,check:k,x:f,star:c,flag:t,reply:N,more:y,"volume-2":C};function V(e){if(e)return H[e]}const D={copy:"Copy",like:"Like",dislike:"Dislike",regenerate:"Regenerate",edit:"Edit"};export{D as B,V as a};
1
+ import{I as a}from"./Icon-CHG5z5L7.js";import{c as o,m as r}from"./define-lE-QvQFn.js";import{f as t,b as i,s,p,c as m}from"./share-CNTx0z__.js";import{c as k}from"./check-7Q3K-iXE.js";import{d}from"./download-B2ZmnGqW.js";import{e as y}from"./ellipsis-BmxceY4l.js";import{l as n}from"./link-DEi5iUWC.js";import{s as c}from"./star-CxQVTVhI.js";import{a as l,t as h}from"./thumbs-up-UobcJnx9.js";import{x as f}from"./x-_-OPHept.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:m,like:h,dislike:l,regenerate:u,edit:p,share:s,bookmark:i,download:d,link:n,trash:R,check:k,x:f,star:c,flag:t,reply:N,more:y,"volume-2":C};function V(e){if(e)return H[e]}const D={copy:"Copy",like:"Like",dislike:"Dislike",regenerate:"Regenerate",edit:"Edit"};export{D as B,V as a};
@@ -0,0 +1 @@
1
+ import{I as o}from"./Icon-CHG5z5L7.js";import{c as m,m as r}from"./define-lE-QvQFn.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 ce,g as k,k as C,l as F,w as G,o as Z,q as ue,i as h,S as g,t as v,d as p,a as y,b as J,x as Q,j as he,h as fe,e as ge}from"./define-BzPnNsXg.js";import{c as N}from"./cn-CU7UAWzk.js";import{B as z}from"./button-CmkUkz6c.js";import{C as be,a as me}from"./code-block-C8VzAraE.js";import{F as ve}from"./file-tree-Dgto-bMn.js";import{L as pe}from"./loader-XmpyxyRH.js";import{a as we}from"./arrow-left-Bb46H7w9.js";import{I as X}from"./Icon-C-2LvGDG.js";import{r as xe,h as ke,c as ye}from"./rotate-cw-DVhhgx8n.js";import{d as ze}from"./download-BjA54IMJ.js";import{e as Y}from"./external-link-Di-dw2CU.js";import{f as Te}from"./file-text-B3sAODCV.js";import{m as Ce,a as Fe}from"./minimize-2-DwyrUTcM.js";var Pe=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Se=r=>a(X,P(r,{name:"ArrowRight",iconNode:Pe})),Oe=Se,Re=[["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"}]],je=r=>a(X,P(r,{name:"Eye",iconNode:Re})),Ie=je;const Ne="6.0.227",ee=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${Ne}/build`,He=()=>import(/*@vite-ignore*/`${ee}/pdf.min.mjs`),Me=`${ee}/pdf.worker.min.mjs`;let Ee=He,Le=Me,H=null;function Ue(){if(!H){const r=Ee;H=(async()=>{const t=await r(),e=t.default??t;return e.GlobalWorkerOptions.workerSrc=Le,e})()}return H}async function $e(r,t,e){const o=await(await Ue()).getDocument({url:r}).promise;t.replaceChildren();const l=typeof window<"u"&&window.devicePixelRatio?window.devicePixelRatio:1;for(let s=1;s<=o.numPages;s++){const d=await o.getPage(s),c=d.getViewport({scale:1}),u=c.width>0?e/c.width:1,f=d.getViewport({scale:u*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:o.numPages}}var Be=v('<div><div class="relative min-h-0 flex-1">'),De=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">'),Ae=v("<div class=flex-1 aria-hidden=true>"),Ve=v('<div role=tablist aria-label=View class="flex shrink-0 items-center gap-0.5 rounded-md bg-muted p-0.5">'),We=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">'),qe=v("<button type=button role=tab>"),Ke=v('<iframe class="absolute inset-0 h-full w-full border-0 bg-white">'),_e=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">'),Ge=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">Select a file to view its source.'),Ze=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.'),Je=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.</div><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`),Qe=v('<div class="pointer-events-none absolute inset-0 flex items-center justify-center">'),Xe=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 Ye="allow-scripts allow-forms";function er(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 rr(r,t){if(!r)return!1;const e=t.find(l=>l.url===r||l.path===r);if(e?.type==="pdf")return!0;const o=r.split(/[?#]/)[0];return/\.pdf$/i.test(o)}function nr(r){const t=P({files:[],defaultTab:"preview",sandbox:Ye,showNav:!0,showReload:!0,showHome:!0,showPathField:!0,showTabs:!0,expandable:!1,openInTab:!1,standalone:!1,readonlyPath:!1,maximized:!1},r),[e,o]=ce(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,c]=k(e.src?0:-1),u=()=>l()[d()]??"",f=()=>d()>0,b=()=>d()<l().length-1,[w,M]=k(e.tab??e.defaultTab),[E,L]=k(e.activeFile),[ne,te]=k(0),[S,O]=k(e.maximized??!1);C(()=>O(e.maximized??!1));const ae=()=>{var n;const i=!S();O(i),(n=e.onMaximizeChange)==null||n.call(e,i)},U=F(()=>{const n=u();return!!n&&n!=="about:blank"}),$=()=>{U()&&window.open(u(),"_blank","noopener,noreferrer")},B=F(()=>e.expandable&&!e.standalone),ie=F(()=>e.showNav||e.showReload||e.showHome||e.showPathField||e.showTabs||B()||e.openInTab);let x;C(()=>{e.tab!==void 0&&M(e.tab)}),C(()=>L(e.activeFile)),C(G(()=>e.src,n=>{n&&n!==u()&&T(n)},{defer:!0}));const D=n=>n===void 0?void 0:e.files.find(i=>i.path===n),A=F(()=>D(E())),oe=F(()=>{const n=A();return!!n&&n.type!=="image"&&n.type!=="pdf"&&typeof n.code=="string"});function T(n){if(n===u()){j();return}s(i=>[...i.slice(0,d()+1),n]),c(i=>i+1),R()}function R(){var n;const i=u();x&&(x.src=i||"about:blank"),(n=e.onNavigate)==null||n.call(e,i)}function le(n){var i;n!==w()&&(M(n),(i=e.onTabChange)==null||i.call(e,n))}function V(n,i){var m;L(n),(m=e.onFileSelect)==null||m.call(e,n),T(er(i,e.src))}const W=()=>{f()&&(c(n=>n-1),R())},q=()=>{b()&&(c(n=>n+1),R())};function j(){var n;const i=u();x&&(x.src="about:blank",x.src=i||"about:blank"),te(m=>m+1),(n=e.onNavigate)==null||n.call(e,i)}const K=()=>{e.src&&T(e.src)},_=n=>{var i;S()!==n&&(O(n),(i=e.onMaximizeChange)==null||i.call(e,n))};Z(()=>{var n;(n=e.controllerRef)==null||n.call(e,{back:()=>W(),forward:()=>q(),reload:()=>j(),home:()=>K(),navigate:i=>T(i),selectFile:i=>{const m=D(i);m&&V(i,m)},openExternal:()=>$(),maximize:()=>_(!0),restore:()=>_(!1)})});const se=()=>{var n,i;try{const m=(n=x?.contentWindow)==null?void 0:n.location.href;m&&m!=="about:blank"&&m!==u()&&(s(I=>[...I.slice(0,d()+1),m]),c(I=>I+1),(i=e.onNavigate)==null||i.call(e,m))}catch{}},de=n=>{n.preventDefault();const i=n.currentTarget.elements.namedItem("kai-artifact-path");if(e.readonlyPath||e.displayUrl!=null){i&&(i.value=e.displayUrl??u());return}i&&i.value&&T(i.value)};return(()=>{var n=Be(),i=n.firstChild;return ue(n,P({get class(){return N("flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground",e.standalone&&"rounded-xl border border-border",e.class)}},o),!1,!0),h(n,a(g,{get when(){return ie()},get children(){return a(tr,{url:()=>e.displayUrl??u(),tab:w,canBack:f,canForward:b,canHome:()=>!!e.src,onBack:W,onForward:q,onReload:j,onHome:K,onSubmitPath:de,onTab:le,showNav:()=>e.showNav,showReload:()=>e.showReload,showHome:()=>e.showHome,showPathField:()=>e.showPathField,showTabs:()=>e.showTabs,showExpand:B,showOpenInTab:()=>e.openInTab,maximized:S,onToggleMaximize:ae,canOpenInTab:U,onOpenInTab:$,readonlyPath:()=>e.readonlyPath||e.displayUrl!=null})}}),i),h(i,a(g,{get when(){return w()==="preview"},get fallback(){return a(ir,{get files(){return e.files},activeFile:E,activeFileObj:A,hasSource:oe,onSelect:V})},get children(){return a(g,{get when(){return rr(u(),e.files)},get fallback(){return a(ar,{ref:m=>x=m,src:u,get sandbox(){return e.sandbox},get title(){return e.iframeTitle??"Artifact preview"},onLoad:se})},get children(){return a(lr,{get url(){return u()},get reloadKey(){return ne()}})}})}})),n})()}function tr(r){return(()=>{var t=We();return h(t,a(g,{get when(){return r.showNav()},get children(){return[a(z,{variant:"ghost",size:"icon-sm","aria-label":"Back",get disabled(){return!r.canBack()},onClick:()=>r.onBack(),get children(){return a(we,{size:16,"aria-hidden":"true"})}}),a(z,{variant:"ghost",size:"icon-sm","aria-label":"Forward",get disabled(){return!r.canForward()},onClick:()=>r.onForward(),get children(){return a(Oe,{size:16,"aria-hidden":"true"})}})]}}),null),h(t,a(g,{get when(){return r.showReload()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Reload",onClick:()=>r.onReload(),get children(){return a(xe,{size:15,"aria-hidden":"true"})}})}}),null),h(t,a(g,{get when(){return r.showHome()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Home",get disabled(){return!r.canHome()},onClick:()=>r.onHome(),get children(){return a(ke,{size:15,"aria-hidden":"true"})}})}}),null),h(t,a(g,{get when(){return r.showPathField()},get children(){var e=De(),o=e.firstChild,l=o.nextSibling;return e.addEventListener("submit",s=>r.onSubmitPath(s)),p(l,"spellcheck",!1),y(s=>{var d=r.readonlyPath()||void 0,c=r.readonlyPath()?"true":void 0,u=N("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),c!==s.t&&p(l,"aria-readonly",s.t=c),u!==s.a&&J(l,s.a=u),s},{e:void 0,t:void 0,a:void 0}),y(()=>l.value=r.url()),e}}),null),h(t,a(g,{get when(){return!r.showPathField()},get children(){return Ae()}}),null),h(t,a(g,{get when(){return r.showExpand()},get children(){return a(z,{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(Fe,{size:15,"aria-hidden":"true"})},get children(){return a(Ce,{size:15,"aria-hidden":"true"})}})}})}}),null),h(t,a(g,{get when(){return r.showOpenInTab()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Open in new tab",get disabled(){return!r.canOpenInTab()},onClick:()=>r.onOpenInTab(),get children(){return a(Y,{size:15,"aria-hidden":"true"})}})}}),null),h(t,a(g,{get when(){return r.showTabs()},get children(){var e=Ve();return h(e,a(re,{label:"Preview",get icon(){return a(Ie,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="preview"},onClick:()=>r.onTab("preview")}),null),h(e,a(re,{label:"Code",get icon(){return a(ye,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="code"},onClick:()=>r.onTab("code")}),null),e}}),null),t})()}function re(r){return(()=>{var t=qe();return t.$$click=()=>r.onClick(),h(t,()=>r.icon,null),h(t,()=>r.label,null),y(e=>{var o=r.selected,l=N("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 o!==e.e&&p(t,"aria-selected",e.e=o),l!==e.t&&J(t,e.t=l),e},{e:void 0,t:void 0}),t})()}function ar(r){return(()=>{var t=Ke();t.addEventListener("load",()=>r.onLoad());var e=r.ref;return typeof e=="function"?Q(e,t):r.ref=t,y(o=>{var l=r.src()||"about:blank",s=r.sandbox,d=r.title;return l!==o.e&&p(t,"src",o.e=l),s!==o.t&&p(t,"sandbox",o.t=s),d!==o.a&&p(t,"title",o.a=d),o},{e:void 0,t:void 0,a:void 0}),t})()}function ir(r){return(()=>{var t=_e(),e=t.firstChild,o=e.nextSibling;return h(e,a(ve,{get files(){return r.files},get activeFile(){return r.activeFile()},onSelect:(l,s)=>r.onSelect(l,s)})),h(o,a(g,{get when(){return r.activeFileObj()},get fallback(){return Ge()},get children(){return a(g,{get when(){return r.hasSource()},get fallback(){return(()=>{var l=Ze(),s=l.firstChild,d=s.nextSibling;return d.nextSibling,h(l,()=>r.activeFileObj().type??"binary",d),l})()},get children(){return a(be,{class:"h-full rounded-none border-0",get children(){return a(me,{get code(){return r.activeFileObj().code??""},get language(){return r.activeFileObj().language}})}})}})}})),t})()}function or(r){const t=()=>{const e=r.url.split(/[?#]/)[0];return e.slice(e.lastIndexOf("/")+1)||"document.pdf"};return(()=>{var e=Je(),o=e.firstChild,l=o.nextSibling,s=l.nextSibling,d=s.firstChild;d.firstChild;var c=d.nextSibling,u=c.firstChild;return h(e,a(Te,{size:40,class:"text-muted-foreground","aria-hidden":"true"}),o),h(o,t),h(d,a(Y,{size:13,"aria-hidden":"true"}),null),h(c,a(ze,{size:13,"aria-hidden":"true"}),u),y(f=>{var b=r.url,w=r.url;return b!==f.e&&p(d,"href",f.e=b),w!==f.t&&p(c,"href",f.t=w),f},{e:void 0,t:void 0}),e})()}function lr(r){const[t,e]=k("loading");let o,l=0,s;const d=async()=>{if(!o){e("error");return}const c=++l;e("loading");try{const u=o.clientWidth||600;await $e(r.url,o,u),c===l&&e("success")}catch{c===l&&e("error")}};return C(G(()=>[r.url,r.reloadKey],()=>{d()})),Z(()=>{if(!o||typeof ResizeObserver>"u")return;const c=new ResizeObserver(()=>{t()==="success"&&(clearTimeout(s),s=setTimeout(()=>{d()},200))});c.observe(o),fe(()=>{c.disconnect(),clearTimeout(s),l++})}),(()=>{var c=Xe(),u=c.firstChild;return Q(f=>o=f,u),h(c,a(g,{get when(){return he(()=>!0)()&&t()==="loading"},get children(){var f=Qe();return h(f,a(pe,{variant:"circular",size:"md"})),f}}),null),h(c,a(g,{get when(){return t()==="error"},get children(){return a(or,{get url(){return r.url}})}}),null),y(()=>p(u,"aria-busy",t()==="loading")),c})()}ge(["click"]);export{nr as A};
1
+ import{c as a,m as P,s as ce,g as k,k as C,l as F,x as G,o as Z,q as ue,i as h,S as g,t as v,d as p,a as y,b as J,v as Q,j as he,h as fe,e as ge}from"./define-lE-QvQFn.js";import{c as N}from"./cn-CU7UAWzk.js";import{B as z}from"./button-C42vrGvO.js";import{C as be,a as me}from"./code-block-CqeugReY.js";import{F as ve}from"./file-tree-0upJ5jeb.js";import{L as pe}from"./loader-CmJG_Fkq.js";import{a as we}from"./arrow-left-CFPTeL1Y.js";import{I as X}from"./Icon-CHG5z5L7.js";import{r as xe,h as ke,c as ye}from"./rotate-cw-B5IHCBFV.js";import{d as ze}from"./download-B2ZmnGqW.js";import{e as Y}from"./external-link-BbdR7YO7.js";import{f as Te}from"./file-text-D7dijo1A.js";import{m as Ce,a as Fe}from"./minimize-2-C9ytZFMU.js";var Pe=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],Se=r=>a(X,P(r,{name:"ArrowRight",iconNode:Pe})),Oe=Se,Re=[["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"}]],je=r=>a(X,P(r,{name:"Eye",iconNode:Re})),Ie=je;const Ne="6.0.227",ee=`https://cdn.jsdelivr.net/npm/pdfjs-dist@${Ne}/build`,He=()=>import(/*@vite-ignore*/`${ee}/pdf.min.mjs`),Me=`${ee}/pdf.worker.min.mjs`;let Ee=He,Le=Me,H=null;function Ue(){if(!H){const r=Ee;H=(async()=>{const t=await r(),e=t.default??t;return e.GlobalWorkerOptions.workerSrc=Le,e})()}return H}async function $e(r,t,e){const o=await(await Ue()).getDocument({url:r}).promise;t.replaceChildren();const l=typeof window<"u"&&window.devicePixelRatio?window.devicePixelRatio:1;for(let s=1;s<=o.numPages;s++){const d=await o.getPage(s),c=d.getViewport({scale:1}),u=c.width>0?e/c.width:1,f=d.getViewport({scale:u*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:o.numPages}}var Be=v('<div><div class="relative min-h-0 flex-1">'),De=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">'),Ae=v("<div class=flex-1 aria-hidden=true>"),Ve=v('<div role=tablist aria-label=View class="flex shrink-0 items-center gap-0.5 rounded-md bg-muted p-0.5">'),We=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">'),qe=v("<button type=button role=tab>"),Ke=v('<iframe class="absolute inset-0 h-full w-full border-0 bg-white">'),_e=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">'),Ge=v('<div class="flex h-full items-center justify-center p-6 text-sm text-muted-foreground">Select a file to view its source.'),Ze=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.'),Je=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.</div><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`),Qe=v('<div class="pointer-events-none absolute inset-0 flex items-center justify-center">'),Xe=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 Ye="allow-scripts allow-forms";function er(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 rr(r,t){if(!r)return!1;const e=t.find(l=>l.url===r||l.path===r);if(e?.type==="pdf")return!0;const o=r.split(/[?#]/)[0];return/\.pdf$/i.test(o)}function nr(r){const t=P({files:[],defaultTab:"preview",sandbox:Ye,showNav:!0,showReload:!0,showHome:!0,showPathField:!0,showTabs:!0,expandable:!1,openInTab:!1,standalone:!1,readonlyPath:!1,maximized:!1},r),[e,o]=ce(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,c]=k(e.src?0:-1),u=()=>l()[d()]??"",f=()=>d()>0,b=()=>d()<l().length-1,[w,M]=k(e.tab??e.defaultTab),[E,L]=k(e.activeFile),[ne,te]=k(0),[S,O]=k(e.maximized??!1);C(()=>O(e.maximized??!1));const ae=()=>{var n;const i=!S();O(i),(n=e.onMaximizeChange)==null||n.call(e,i)},U=F(()=>{const n=u();return!!n&&n!=="about:blank"}),$=()=>{U()&&window.open(u(),"_blank","noopener,noreferrer")},B=F(()=>e.expandable&&!e.standalone),ie=F(()=>e.showNav||e.showReload||e.showHome||e.showPathField||e.showTabs||B()||e.openInTab);let x;C(()=>{e.tab!==void 0&&M(e.tab)}),C(()=>L(e.activeFile)),C(G(()=>e.src,n=>{n&&n!==u()&&T(n)},{defer:!0}));const D=n=>n===void 0?void 0:e.files.find(i=>i.path===n),A=F(()=>D(E())),oe=F(()=>{const n=A();return!!n&&n.type!=="image"&&n.type!=="pdf"&&typeof n.code=="string"});function T(n){if(n===u()){j();return}s(i=>[...i.slice(0,d()+1),n]),c(i=>i+1),R()}function R(){var n;const i=u();x&&(x.src=i||"about:blank"),(n=e.onNavigate)==null||n.call(e,i)}function le(n){var i;n!==w()&&(M(n),(i=e.onTabChange)==null||i.call(e,n))}function V(n,i){var m;L(n),(m=e.onFileSelect)==null||m.call(e,n),T(er(i,e.src))}const W=()=>{f()&&(c(n=>n-1),R())},q=()=>{b()&&(c(n=>n+1),R())};function j(){var n;const i=u();x&&(x.src="about:blank",x.src=i||"about:blank"),te(m=>m+1),(n=e.onNavigate)==null||n.call(e,i)}const K=()=>{e.src&&T(e.src)},_=n=>{var i;S()!==n&&(O(n),(i=e.onMaximizeChange)==null||i.call(e,n))};Z(()=>{var n;(n=e.controllerRef)==null||n.call(e,{back:()=>W(),forward:()=>q(),reload:()=>j(),home:()=>K(),navigate:i=>T(i),selectFile:i=>{const m=D(i);m&&V(i,m)},openExternal:()=>$(),maximize:()=>_(!0),restore:()=>_(!1)})});const se=()=>{var n,i;try{const m=(n=x?.contentWindow)==null?void 0:n.location.href;m&&m!=="about:blank"&&m!==u()&&(s(I=>[...I.slice(0,d()+1),m]),c(I=>I+1),(i=e.onNavigate)==null||i.call(e,m))}catch{}},de=n=>{n.preventDefault();const i=n.currentTarget.elements.namedItem("kai-artifact-path");if(e.readonlyPath||e.displayUrl!=null){i&&(i.value=e.displayUrl??u());return}i&&i.value&&T(i.value)};return(()=>{var n=Be(),i=n.firstChild;return ue(n,P({get class(){return N("flex h-full w-full flex-col overflow-hidden bg-card text-card-foreground",e.standalone&&"rounded-xl border border-border",e.class)}},o),!1,!0),h(n,a(g,{get when(){return ie()},get children(){return a(tr,{url:()=>e.displayUrl??u(),tab:w,canBack:f,canForward:b,canHome:()=>!!e.src,onBack:W,onForward:q,onReload:j,onHome:K,onSubmitPath:de,onTab:le,showNav:()=>e.showNav,showReload:()=>e.showReload,showHome:()=>e.showHome,showPathField:()=>e.showPathField,showTabs:()=>e.showTabs,showExpand:B,showOpenInTab:()=>e.openInTab,maximized:S,onToggleMaximize:ae,canOpenInTab:U,onOpenInTab:$,readonlyPath:()=>e.readonlyPath||e.displayUrl!=null})}}),i),h(i,a(g,{get when(){return w()==="preview"},get fallback(){return a(ir,{get files(){return e.files},activeFile:E,activeFileObj:A,hasSource:oe,onSelect:V})},get children(){return a(g,{get when(){return rr(u(),e.files)},get fallback(){return a(ar,{ref:m=>x=m,src:u,get sandbox(){return e.sandbox},get title(){return e.iframeTitle??"Artifact preview"},onLoad:se})},get children(){return a(lr,{get url(){return u()},get reloadKey(){return ne()}})}})}})),n})()}function tr(r){return(()=>{var t=We();return h(t,a(g,{get when(){return r.showNav()},get children(){return[a(z,{variant:"ghost",size:"icon-sm","aria-label":"Back",get disabled(){return!r.canBack()},onClick:()=>r.onBack(),get children(){return a(we,{size:16,"aria-hidden":"true"})}}),a(z,{variant:"ghost",size:"icon-sm","aria-label":"Forward",get disabled(){return!r.canForward()},onClick:()=>r.onForward(),get children(){return a(Oe,{size:16,"aria-hidden":"true"})}})]}}),null),h(t,a(g,{get when(){return r.showReload()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Reload",onClick:()=>r.onReload(),get children(){return a(xe,{size:15,"aria-hidden":"true"})}})}}),null),h(t,a(g,{get when(){return r.showHome()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Home",get disabled(){return!r.canHome()},onClick:()=>r.onHome(),get children(){return a(ke,{size:15,"aria-hidden":"true"})}})}}),null),h(t,a(g,{get when(){return r.showPathField()},get children(){var e=De(),o=e.firstChild,l=o.nextSibling;return e.addEventListener("submit",s=>r.onSubmitPath(s)),p(l,"spellcheck",!1),y(s=>{var d=r.readonlyPath()||void 0,c=r.readonlyPath()?"true":void 0,u=N("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),c!==s.t&&p(l,"aria-readonly",s.t=c),u!==s.a&&J(l,s.a=u),s},{e:void 0,t:void 0,a:void 0}),y(()=>l.value=r.url()),e}}),null),h(t,a(g,{get when(){return!r.showPathField()},get children(){return Ae()}}),null),h(t,a(g,{get when(){return r.showExpand()},get children(){return a(z,{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(Fe,{size:15,"aria-hidden":"true"})},get children(){return a(Ce,{size:15,"aria-hidden":"true"})}})}})}}),null),h(t,a(g,{get when(){return r.showOpenInTab()},get children(){return a(z,{variant:"ghost",size:"icon-sm","aria-label":"Open in new tab",get disabled(){return!r.canOpenInTab()},onClick:()=>r.onOpenInTab(),get children(){return a(Y,{size:15,"aria-hidden":"true"})}})}}),null),h(t,a(g,{get when(){return r.showTabs()},get children(){var e=Ve();return h(e,a(re,{label:"Preview",get icon(){return a(Ie,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="preview"},onClick:()=>r.onTab("preview")}),null),h(e,a(re,{label:"Code",get icon(){return a(ye,{size:14,"aria-hidden":"true"})},get selected(){return r.tab()==="code"},onClick:()=>r.onTab("code")}),null),e}}),null),t})()}function re(r){return(()=>{var t=qe();return t.$$click=()=>r.onClick(),h(t,()=>r.icon,null),h(t,()=>r.label,null),y(e=>{var o=r.selected,l=N("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 o!==e.e&&p(t,"aria-selected",e.e=o),l!==e.t&&J(t,e.t=l),e},{e:void 0,t:void 0}),t})()}function ar(r){return(()=>{var t=Ke();t.addEventListener("load",()=>r.onLoad());var e=r.ref;return typeof e=="function"?Q(e,t):r.ref=t,y(o=>{var l=r.src()||"about:blank",s=r.sandbox,d=r.title;return l!==o.e&&p(t,"src",o.e=l),s!==o.t&&p(t,"sandbox",o.t=s),d!==o.a&&p(t,"title",o.a=d),o},{e:void 0,t:void 0,a:void 0}),t})()}function ir(r){return(()=>{var t=_e(),e=t.firstChild,o=e.nextSibling;return h(e,a(ve,{get files(){return r.files},get activeFile(){return r.activeFile()},onSelect:(l,s)=>r.onSelect(l,s)})),h(o,a(g,{get when(){return r.activeFileObj()},get fallback(){return Ge()},get children(){return a(g,{get when(){return r.hasSource()},get fallback(){return(()=>{var l=Ze(),s=l.firstChild,d=s.nextSibling;return d.nextSibling,h(l,()=>r.activeFileObj().type??"binary",d),l})()},get children(){return a(be,{class:"h-full rounded-none border-0",get children(){return a(me,{get code(){return r.activeFileObj().code??""},get language(){return r.activeFileObj().language}})}})}})}})),t})()}function or(r){const t=()=>{const e=r.url.split(/[?#]/)[0];return e.slice(e.lastIndexOf("/")+1)||"document.pdf"};return(()=>{var e=Je(),o=e.firstChild,l=o.nextSibling,s=l.nextSibling,d=s.firstChild;d.firstChild;var c=d.nextSibling,u=c.firstChild;return h(e,a(Te,{size:40,class:"text-muted-foreground","aria-hidden":"true"}),o),h(o,t),h(d,a(Y,{size:13,"aria-hidden":"true"}),null),h(c,a(ze,{size:13,"aria-hidden":"true"}),u),y(f=>{var b=r.url,w=r.url;return b!==f.e&&p(d,"href",f.e=b),w!==f.t&&p(c,"href",f.t=w),f},{e:void 0,t:void 0}),e})()}function lr(r){const[t,e]=k("loading");let o,l=0,s;const d=async()=>{if(!o){e("error");return}const c=++l;e("loading");try{const u=o.clientWidth||600;await $e(r.url,o,u),c===l&&e("success")}catch{c===l&&e("error")}};return C(G(()=>[r.url,r.reloadKey],()=>{d()})),Z(()=>{if(!o||typeof ResizeObserver>"u")return;const c=new ResizeObserver(()=>{t()==="success"&&(clearTimeout(s),s=setTimeout(()=>{d()},200))});c.observe(o),fe(()=>{c.disconnect(),clearTimeout(s),l++})}),(()=>{var c=Xe(),u=c.firstChild;return Q(f=>o=f,u),h(c,a(g,{get when(){return he(()=>!0)()&&t()==="loading"},get children(){var f=Qe();return h(f,a(pe,{variant:"circular",size:"md"})),f}}),null),h(c,a(g,{get when(){return t()==="error"},get children(){return a(or,{get url(){return r.url}})}}),null),y(()=>p(u,"aria-busy",t()==="loading")),c})()}ge(["click"]);export{nr as A};