@kitn.ai/ui 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/README.md +11 -7
  2. package/dist/{Icon-DObhsRtm.js → Icon-BzBET3E-.js} +1 -1
  3. package/dist/{action-icons-CcgNN2oT.js → action-icons-DaW2pU6m.js} +1 -1
  4. package/dist/agent-tooling/construct/public.d.ts +15 -0
  5. package/dist/agent-tooling/construct/schema.d.ts +111 -0
  6. package/dist/arrow-down-D783iMJj.js +1 -0
  7. package/dist/arrow-left-0VLM5kyg.js +1 -0
  8. package/dist/artifact-DGjzHYUT.js +1 -0
  9. package/dist/{attachments-Qr4kg-2b.js → attachments-YvXHlg88.js} +1 -1
  10. package/dist/{audio-visualizer-DToYdfSc.js → audio-visualizer-9lz5IHsL.js} +1 -1
  11. package/dist/{badge-CdEu_jn2.js → badge-Dh_vp8A5.js} +1 -1
  12. package/dist/{bell-DQAAOpDz.js → bell-CT7_WUwS.js} +1 -1
  13. package/dist/{button-DkuOnGLy.js → button-C_3te6fm.js} +1 -1
  14. package/dist/{card-renderer-Jx70m6_l.js → card-renderer-DZVaGH2e.js} +1 -1
  15. package/dist/check-CiEOVnEN.js +1 -0
  16. package/dist/{checkbox-D7iRB3nL.js → checkbox-Bu2T2e0U.js} +1 -1
  17. package/dist/{checkbox-group-B2_rpoPM.js → checkbox-group-BiryEXPQ.js} +1 -1
  18. package/dist/chevron-down-CSobuZRG.js +1 -0
  19. package/dist/chevron-right-DR9ZAP-2.js +1 -0
  20. package/dist/{choice-card-m0BYqqOK.js → choice-card-CM6IjkmL.js} +1 -1
  21. package/dist/circle-BC66EYF7.js +1 -0
  22. package/dist/circle-check-BqmahW0O.js +1 -0
  23. package/dist/{circle-x-BPG0iPst.js → circle-x-Bk-dA5Wf.js} +1 -1
  24. package/dist/{code-block-ClMLKb7C.js → code-block-B26t-Q7q.js} +1 -1
  25. package/dist/{collapsible-B4DlWicL.js → collapsible-Bhc636Cf.js} +1 -1
  26. package/dist/components/builder-composer-triggers.d.ts +62 -0
  27. package/dist/components/builder-layout.d.ts +54 -0
  28. package/dist/components/builder-message-actions.d.ts +72 -0
  29. package/dist/components/builder-panel.d.ts +189 -0
  30. package/dist/components/builder-preview.d.ts +11 -0
  31. package/dist/components/builder-shell-controls.d.ts +69 -0
  32. package/dist/components/builder-skeleton.d.ts +58 -0
  33. package/dist/components/builder-start.d.ts +75 -0
  34. package/dist/components/builder-workspace-variants.d.ts +23 -0
  35. package/dist/components/captions.d.ts +66 -0
  36. package/dist/{composer-sQ0HcvyG.js → composer-DMI85B6j.js} +1 -1
  37. package/dist/{confirm-card-rQWDQsnC.js → confirm-card-B0YIAwXp.js} +1 -1
  38. package/dist/construct-cli.es.js +3 -3
  39. package/dist/construct.d.ts +5 -0
  40. package/dist/construct.js +327 -0
  41. package/dist/{context-0kg4ZX1J.js → context-DWgfhqWp.js} +1 -1
  42. package/dist/controllable-BagRpyHv.js +1 -0
  43. package/dist/{conversation-item-BxwQLaFJ.js → conversation-item-BsOsVGmT.js} +1 -1
  44. package/dist/{conversation-list-BCfGN1JU.js → conversation-list-aX3Vtc7L.js} +1 -1
  45. package/dist/{copy-n9u9rqpi.js → copy-BmEwsNhJ.js} +1 -1
  46. package/dist/core-C8fzo39E.js +1 -12
  47. package/dist/{create-tween-uPkArjIG.js → create-tween-CNOAU3Fx.js} +1 -1
  48. package/dist/{create-tween-C-q-JCM-.js → create-tween-WfqiENls.js} +1 -1
  49. package/dist/{create-tween-CRrJXxBd.js → create-tween-wlFtW9Kh.js} +1 -1
  50. package/dist/{create-tween-DZ3RRDHD.js → create-tween-zt79ba32.js} +1 -1
  51. package/dist/{default-input-CaMrJkgH.js → default-input-DMV5Eaze.js} +1 -1
  52. package/dist/define-CI0y3eE4.js +1 -0
  53. package/dist/define.js +40 -40
  54. package/dist/define.server.js +45 -45
  55. package/dist/{disclosure-WUImBbDv.js → disclosure-NnACBxsC.js} +1 -1
  56. package/dist/{dropdown-wZVeJOMd.js → dropdown-DT7G0RGR.js} +1 -1
  57. package/dist/elements/agent-card.js +1 -1
  58. package/dist/elements/artifact.js +1 -1
  59. package/dist/elements/attachments.js +1 -1
  60. package/dist/elements/audio-visualizer.js +1 -1
  61. package/dist/elements/avatar.js +1 -1
  62. package/dist/elements/badge.js +1 -1
  63. package/dist/elements/button.js +1 -1
  64. package/dist/elements/card.js +1 -1
  65. package/dist/elements/cards.js +1 -1
  66. package/dist/elements/chain-of-thought.js +1 -1
  67. package/dist/elements/chat-scope-picker.js +1 -1
  68. package/dist/elements/chat-workspace.js +1 -1
  69. package/dist/elements/chat.js +1 -1
  70. package/dist/elements/checkbox-group.js +1 -1
  71. package/dist/elements/checkbox.js +1 -1
  72. package/dist/elements/checkpoint.js +1 -1
  73. package/dist/elements/choice.js +1 -1
  74. package/dist/elements/coachmark.js +1 -1
  75. package/dist/elements/code-block.js +1 -1
  76. package/dist/elements/command.js +1 -1
  77. package/dist/elements/compare.js +1 -1
  78. package/dist/elements/composer.js +1 -1
  79. package/dist/elements/confirm-card.js +1 -1
  80. package/dist/elements/context-meter.js +1 -1
  81. package/dist/elements/conversation-item.js +1 -1
  82. package/dist/elements/conversation-list.js +1 -1
  83. package/dist/elements/dialog.js +1 -1
  84. package/dist/elements/dock.js +1 -1
  85. package/dist/elements/dropdown.js +1 -1
  86. package/dist/elements/editable-label.js +1 -1
  87. package/dist/elements/embed.js +1 -1
  88. package/dist/elements/empty.js +1 -1
  89. package/dist/elements/feedback-bar.js +1 -1
  90. package/dist/elements/file-tree.js +1 -1
  91. package/dist/elements/file-upload.js +1 -1
  92. package/dist/elements/form.js +1 -1
  93. package/dist/elements/hover-card.js +1 -1
  94. package/dist/elements/icon.js +1 -1
  95. package/dist/elements/image.js +1 -1
  96. package/dist/elements/input.js +1 -1
  97. package/dist/elements/kbd.js +1 -1
  98. package/dist/elements/link-preview.js +1 -1
  99. package/dist/elements/loader.js +1 -1
  100. package/dist/elements/markdown.js +1 -1
  101. package/dist/elements/menu.js +1 -1
  102. package/dist/elements/message-skills.js +1 -1
  103. package/dist/elements/message.js +1 -1
  104. package/dist/elements/model-switcher.js +1 -1
  105. package/dist/elements/nav.js +1 -1
  106. package/dist/elements/notice.js +1 -1
  107. package/dist/elements/pane-grid.js +1 -1
  108. package/dist/elements/pane-group.js +1 -1
  109. package/dist/elements/pane.js +1 -1
  110. package/dist/elements/popover.js +1 -1
  111. package/dist/elements/progress-bar.js +1 -1
  112. package/dist/elements/prompt-dock.js +1 -1
  113. package/dist/elements/prompt-input.js +1 -1
  114. package/dist/elements/prompt-suggestions.js +1 -1
  115. package/dist/elements/radio-group.js +1 -1
  116. package/dist/elements/reasoning.js +1 -1
  117. package/dist/elements/remote.js +1 -1
  118. package/dist/elements/resizable.js +1 -1
  119. package/dist/elements/response-stream.js +1 -1
  120. package/dist/elements/screen.js +1 -1
  121. package/dist/elements/scroll-area.js +1 -1
  122. package/dist/elements/scroll-button.js +1 -1
  123. package/dist/elements/search.js +1 -1
  124. package/dist/elements/segmented.js +1 -1
  125. package/dist/elements/select.js +1 -1
  126. package/dist/elements/separator.js +1 -1
  127. package/dist/elements/setting-item.js +1 -1
  128. package/dist/elements/settings-group.js +1 -1
  129. package/dist/elements/skeleton.js +1 -1
  130. package/dist/elements/slider.js +1 -1
  131. package/dist/elements/source.js +1 -1
  132. package/dist/elements/status.js +1 -1
  133. package/dist/elements/switch.js +1 -1
  134. package/dist/elements/tabs.js +1 -1
  135. package/dist/elements/tasks.js +1 -1
  136. package/dist/elements/text-shimmer.js +1 -1
  137. package/dist/elements/thinking-bar.js +1 -1
  138. package/dist/elements/thread.js +1 -1
  139. package/dist/elements/toast.js +1 -1
  140. package/dist/elements/tool.js +1 -1
  141. package/dist/elements/tooltip.js +1 -1
  142. package/dist/elements/voice-input.js +1 -1
  143. package/dist/elements/voice-output.js +1 -1
  144. package/dist/{ellipsis-CbOpJnU3.js → ellipsis-6pJ7SxYT.js} +1 -1
  145. package/dist/{embed-CrfjkbUG.js → embed-BMje-nxj.js} +1 -1
  146. package/dist/engine-javascript-C1x7zo1_.js +1 -141
  147. package/dist/{external-link-ByXAwBBQ.js → external-link-Beh9DKeR.js} +1 -1
  148. package/dist/{file-text-DMib2qwt.js → file-text-D1GPfZ8Q.js} +1 -1
  149. package/dist/{file-tree-CJqM2aP7.js → file-tree-Dwj2lqg-.js} +1 -1
  150. package/dist/{folder-_BAb929C.js → folder-b6D8x1DY.js} +1 -1
  151. package/dist/{form-DSZgZQZk.js → form-DWgdxDXu.js} +1 -1
  152. package/dist/{hover-card-BQbul9eq.js → hover-card-CWRkqm40.js} +1 -1
  153. package/dist/{icon-CdcfRhYI.js → icon-CL0jdhsf.js} +1 -1
  154. package/dist/index.js +1741 -1725
  155. package/dist/index.server.js +1582 -1566
  156. package/dist/{info-DsFjGuI_.js → info-0cOUherQ.js} +1 -1
  157. package/dist/{input-DKbmkMos.js → input-BH6Ru91Q.js} +1 -1
  158. package/dist/kai.es.js +1 -1
  159. package/dist/{kbd-PvdGhX4s.js → kbd-DRAnVtNX.js} +1 -1
  160. package/dist/{link-zF8PzWfF.js → link-Dlr0vssB.js} +1 -1
  161. package/dist/{link-preview-DbM1866N.js → link-preview-DODgRyV9.js} +1 -1
  162. package/dist/loader-KvJB6NrT.js +1 -0
  163. package/dist/{markdown-LMvmAyBk.js → markdown-DX9tuJVj.js} +1 -1
  164. package/dist/mcp.es.js +9 -5
  165. package/dist/{message-BYZECyek.js → message-BqQ7Ot5q.js} +1 -1
  166. package/dist/{message-BSsgvHvf.js → message-DkaGfBd8.js} +1 -1
  167. package/dist/message-circle-BPpp5QKv.js +1 -0
  168. package/dist/message-square-BLbsd9BJ.js +1 -0
  169. package/dist/{minimize-2-BQRoBV1V.js → minimize-2-CyOHJwcN.js} +1 -1
  170. package/dist/{model-switcher-CMpCOYcB.js → model-switcher-0hrKDiK2.js} +1 -1
  171. package/dist/{overlay-Cb-MkyDa.js → overlay-DBMFXie6.js} +1 -1
  172. package/dist/{panel-right-i8warFxT.js → panel-right-t8SWJL6e.js} +1 -1
  173. package/dist/{paperclip-ByY3UVO6.js → paperclip-CdzuOjbU.js} +1 -1
  174. package/dist/play-BXy1u7rW.js +1 -0
  175. package/dist/primitives/use-auto-resize.d.ts +11 -0
  176. package/dist/{progress-bar-jVAHvMUf.js → progress-bar-CiBtxMWT.js} +1 -1
  177. package/dist/{prompt-suggestion-CD-qtNgC.js → prompt-suggestion-I_DHP21i.js} +1 -1
  178. package/dist/{radio-BsoBMhkF.js → radio-C_p3n39l.js} +1 -1
  179. package/dist/{reasoning-4kBPtlTx.js → reasoning-BDwy_tIe.js} +1 -1
  180. package/dist/register-impl-DvEnhIxx.js +424 -0
  181. package/dist/{resizable-uPmY9VY-.js → resizable-SYC-fStM.js} +1 -1
  182. package/dist/{rotate-ccw-B2xn93py.js → rotate-ccw-B1nwmwuY.js} +1 -1
  183. package/dist/{rotate-cw-CMVLoCyH.js → rotate-cw-CLAnBcm1.js} +1 -1
  184. package/dist/{scroll-area-BqLUo8ZZ.js → scroll-area-zRyXoLhI.js} +1 -1
  185. package/dist/{scroll-button-DslXiJyL.js → scroll-button-jzrbYCG9.js} +1 -1
  186. package/dist/{select-2cLRtPGT.js → select-DM-0nEe0.js} +1 -1
  187. package/dist/{separator-BWQtNJcM.js → separator-BToOOoOt.js} +1 -1
  188. package/dist/{settings-BBR63jLg.js → settings-PaGo_S4U.js} +1 -1
  189. package/dist/{settings-group-B2ciy-Iw.js → settings-group-BFXGIfXq.js} +1 -1
  190. package/dist/{skeleton-CkHI-HgC.js → skeleton-DYpmFnnm.js} +1 -1
  191. package/dist/{slider-DDR9U-i0.js → slider-ebutAmkQ.js} +1 -1
  192. package/dist/{solid-DruVOXnf.js → solid-15v_3WVL.js} +3563 -3412
  193. package/dist/{solid-BzCFdL25.js → solid-5P-otgdi.js} +4502 -4296
  194. package/dist/solid.d.ts +6 -0
  195. package/dist/solid.js +259 -254
  196. package/dist/solid.server.js +259 -254
  197. package/dist/{source-GEnFF528.js → source-c1gpRl9h.js} +1 -1
  198. package/dist/{star-CilHq8GP.js → star-pcV_3LqF.js} +1 -1
  199. package/dist/{store-Ciyk6eZG.js → store-CSgbFFCg.js} +1 -1
  200. package/dist/{switch-KkeQIbuH.js → switch-Bh2OdLV2.js} +1 -1
  201. package/dist/{tasks-card-BrN4bggJ.js → tasks-card-CbqQAn2S.js} +1 -1
  202. package/dist/text-shimmer-BSzgEnDH.js +1 -0
  203. package/dist/textarea-DrYNt_0z.js +1 -0
  204. package/dist/theme.tokens.css +22 -21
  205. package/dist/{thumbs-up-CsT9Wzb9.js → thumbs-up-BL3-NenK.js} +1 -1
  206. package/dist/{toast-store-tgK6MuMv.js → toast-store-DkOlYczt.js} +1 -1
  207. package/dist/{tool-DzUjIBT8.js → tool-CeIWUVUe.js} +1 -1
  208. package/dist/{tooltip-Bkkg_4t0.js → tooltip-GA-nmg06.js} +1 -1
  209. package/dist/{trash-2-jBKxjGGQ.js → trash-2-CT66QWlm.js} +1 -1
  210. package/dist/{triangle-alert-DlQ68ppf.js → triangle-alert-CeHLWxhD.js} +1 -1
  211. package/dist/ui/color-field.d.ts +48 -0
  212. package/dist/ui/textarea.d.ts +4 -0
  213. package/dist/ui/toggle-chip.d.ts +40 -0
  214. package/dist/{upload-TcAHXv9W.js → upload-9Csb0F0J.js} +1 -1
  215. package/dist/{use-card-resolution-DaZqAdWf.js → use-card-resolution-Zg0a08Z-.js} +1 -1
  216. package/dist/{variant-aurora-DbW_OWL2.js → variant-aurora-4VBQHIKV.js} +1 -1
  217. package/dist/{variant-aurora-CNmfHhcx.js → variant-aurora-DBeCAQNk.js} +2 -2
  218. package/dist/{variant-aurora-D6GsdTPA.js → variant-aurora-FzHVXHby.js} +2 -2
  219. package/dist/{variant-aurora-BhLuYxJR.js → variant-aurora-LE3fqxgw.js} +1 -1
  220. package/dist/{variant-custom-BvYHR62b.js → variant-custom-AFRGcOBS.js} +1 -1
  221. package/dist/{variant-custom-DV2x254s.js → variant-custom-BQkNuPpE.js} +2 -2
  222. package/dist/{variant-custom-BRvaNHSi.js → variant-custom-DI5R0rln.js} +1 -1
  223. package/dist/{variant-custom-DMTrEO5w.js → variant-custom-WWnrrRHS.js} +2 -2
  224. package/dist/{variant-wave-CyBueXj9.js → variant-wave-DUCbH5oI.js} +2 -2
  225. package/dist/{variant-wave-BNMGrDfj.js → variant-wave-DuQV7DhQ.js} +2 -2
  226. package/dist/{variant-wave-BpDd8t3Z.js → variant-wave-nSI2sfII.js} +1 -1
  227. package/dist/{variant-wave-sp-qwsdI.js → variant-wave-wTP5v_jU.js} +1 -1
  228. package/dist/x-eiO9V6J6.js +1 -0
  229. package/{src/elements/styles.css → kit-base.css} +27 -44
  230. package/package.json +32 -17
  231. package/solid.css +33 -0
  232. package/theme.css +39 -23
  233. package/bin/route.test.js +0 -58
  234. package/dist/arrow-down-CjRU3JgV.js +0 -1
  235. package/dist/arrow-left-Bnpb1UEW.js +0 -1
  236. package/dist/artifact-Bwt7OgcR.js +0 -1
  237. package/dist/check-njkVdZu2.js +0 -1
  238. package/dist/chevron-down-B72s6PXR.js +0 -1
  239. package/dist/chevron-right-BatuHzUm.js +0 -1
  240. package/dist/circle-check-B62pODB3.js +0 -1
  241. package/dist/circle-zx0ByzY9.js +0 -1
  242. package/dist/controllable-CnGpMF6r.js +0 -1
  243. package/dist/define-By-uL588.js +0 -1
  244. package/dist/loader-BM4CEz4G.js +0 -1
  245. package/dist/message-circle-DruwObfX.js +0 -1
  246. package/dist/message-square-BG6q6mlm.js +0 -1
  247. package/dist/play-BvKKq3fX.js +0 -1
  248. package/dist/register-impl-B1hLkrI8.js +0 -424
  249. package/dist/text-shimmer-Dcj1MHuq.js +0 -1
  250. package/dist/textarea-Dpvbngbg.js +0 -1
  251. package/dist/x-Z5UntkIJ.js +0 -1
  252. package/src/agent-tooling/README.md +0 -192
  253. package/src/agent-tooling/archetypes.ts +0 -205
  254. package/src/agent-tooling/catalog/README.md +0 -676
  255. package/src/agent-tooling/catalog/catalog-types.ts +0 -231
  256. package/src/agent-tooling/catalog/fabrications.ts +0 -96
  257. package/src/agent-tooling/catalog/invariants.ts +0 -284
  258. package/src/agent-tooling/catalog/labs-titles.ts +0 -114
  259. package/src/agent-tooling/catalog/scenarios.ts +0 -87
  260. package/src/agent-tooling/catalog/surfaces.ts +0 -347
  261. package/src/agent-tooling/construct/cli-entry.ts +0 -8
  262. package/src/agent-tooling/construct/cli.ts +0 -147
  263. package/src/agent-tooling/construct/codegen.ts +0 -1635
  264. package/src/agent-tooling/construct/construct.v1.schema.json +0 -319
  265. package/src/agent-tooling/construct/dev.ts +0 -148
  266. package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +0 -7
  267. package/src/agent-tooling/construct/fixtures/ops-console.construct.json +0 -44
  268. package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +0 -32
  269. package/src/agent-tooling/construct/schema.ts +0 -452
  270. package/src/agent-tooling/integrations/anthropic.ts +0 -442
  271. package/src/agent-tooling/integrations/cloudflare.ts +0 -218
  272. package/src/agent-tooling/integrations/langgraph.ts +0 -133
  273. package/src/agent-tooling/integrations/mastra.ts +0 -182
  274. package/src/agent-tooling/integrations/mock.ts +0 -148
  275. package/src/agent-tooling/integrations/ollama.ts +0 -97
  276. package/src/agent-tooling/integrations/openai.ts +0 -95
  277. package/src/agent-tooling/integrations/openrouter.ts +0 -82
  278. package/src/agent-tooling/integrations/pi.ts +0 -176
  279. package/src/agent-tooling/integrations/pydantic-ai.ts +0 -108
  280. package/src/agent-tooling/integrations/vercel-ai-sdk.ts +0 -398
  281. package/src/agent-tooling/mcp/css-raw.d.ts +0 -12
  282. package/src/agent-tooling/mcp/manifest.ts +0 -422
  283. package/src/agent-tooling/mcp/server.ts +0 -116
  284. package/src/agent-tooling/mcp/stdio.ts +0 -18
  285. package/src/agent-tooling/mcp/tools/construct.ts +0 -130
  286. package/src/agent-tooling/mcp/tools/debug.ts +0 -621
  287. package/src/agent-tooling/mcp/tools/reference.ts +0 -980
  288. package/src/agent-tooling/mcp/tools/scaffold.ts +0 -6708
  289. package/src/agent-tooling/mcp/tools/theme.ts +0 -456
  290. package/src/agent-tooling/mcp/tools/types.ts +0 -14
  291. package/src/agent-tooling/mcp/validate-args.ts +0 -141
  292. package/src/agent-tooling/recipes/composed-thread.ts +0 -714
  293. package/src/agent-tooling/recipes/index.ts +0 -22
  294. package/src/agent-tooling/recipes/types.ts +0 -32
  295. package/src/agent-tooling/registry.ts +0 -132
  296. package/src/agent-tooling/route-emit.ts +0 -305
  297. package/src/agent-tooling/types.ts +0 -390
  298. package/src/components/artifact-card.tsx +0 -120
  299. package/src/components/artifact.tsx +0 -914
  300. package/src/components/attachment-types.ts +0 -66
  301. package/src/components/attachments.tsx +0 -536
  302. package/src/components/audio-visualizer/audio-visualizer.voice-fixture.ts +0 -257
  303. package/src/components/audio-visualizer/aurora.glsl.ts +0 -330
  304. package/src/components/audio-visualizer/fit-scale.ts +0 -112
  305. package/src/components/audio-visualizer/index.tsx +0 -528
  306. package/src/components/audio-visualizer/labs/lab-choreography.ts +0 -187
  307. package/src/components/audio-visualizer/labs/lab-shaders.ts +0 -363
  308. package/src/components/audio-visualizer/labs/lab-visualizer.tsx +0 -102
  309. package/src/components/audio-visualizer/shader-canvas.tsx +0 -876
  310. package/src/components/audio-visualizer/sizes.ts +0 -54
  311. package/src/components/audio-visualizer/variant-aurora.tsx +0 -305
  312. package/src/components/audio-visualizer/variant-bar.tsx +0 -175
  313. package/src/components/audio-visualizer/variant-custom.tsx +0 -344
  314. package/src/components/audio-visualizer/variant-grid.tsx +0 -175
  315. package/src/components/audio-visualizer/variant-radial.tsx +0 -163
  316. package/src/components/audio-visualizer/variant-wave.tsx +0 -130
  317. package/src/components/audio-visualizer/wave.glsl.ts +0 -130
  318. package/src/components/card-fallback.tsx +0 -60
  319. package/src/components/card-renderer.tsx +0 -220
  320. package/src/components/card.tsx +0 -212
  321. package/src/components/chain-of-thought.tsx +0 -348
  322. package/src/components/chat-container.tsx +0 -89
  323. package/src/components/chat-scope-picker.tsx +0 -57
  324. package/src/components/chat-thread.tsx +0 -1014
  325. package/src/components/checkpoint.tsx +0 -88
  326. package/src/components/choice-card.tsx +0 -743
  327. package/src/components/coachmark.tsx +0 -249
  328. package/src/components/code-block.tsx +0 -181
  329. package/src/components/composer-dom.ts +0 -159
  330. package/src/components/composer-highlight.ts +0 -242
  331. package/src/components/composer-history.ts +0 -82
  332. package/src/components/composer.tsx +0 -1075
  333. package/src/components/confirm-card.tsx +0 -402
  334. package/src/components/context.tsx +0 -377
  335. package/src/components/conversation-item.tsx +0 -241
  336. package/src/components/conversation-list.tsx +0 -429
  337. package/src/components/conversation-panel.tsx +0 -118
  338. package/src/components/dismissed-stub.tsx +0 -80
  339. package/src/components/embed.tsx +0 -200
  340. package/src/components/empty.tsx +0 -177
  341. package/src/components/feedback-bar.tsx +0 -166
  342. package/src/components/file-tree.tsx +0 -530
  343. package/src/components/file-upload.tsx +0 -167
  344. package/src/components/form-widgets.tsx +0 -525
  345. package/src/components/form.tsx +0 -1296
  346. package/src/components/home-panel.tsx +0 -159
  347. package/src/components/image.tsx +0 -65
  348. package/src/components/link-preview.tsx +0 -195
  349. package/src/components/loader.tsx +0 -367
  350. package/src/components/markdown.tsx +0 -162
  351. package/src/components/message-skills.tsx +0 -40
  352. package/src/components/message.tsx +0 -765
  353. package/src/components/model-switcher.tsx +0 -132
  354. package/src/components/prompt-input.tsx +0 -188
  355. package/src/components/prompt-suggestion.tsx +0 -150
  356. package/src/components/reasoning.tsx +0 -293
  357. package/src/components/response-compare-types.ts +0 -152
  358. package/src/components/response-compare.tsx +0 -455
  359. package/src/components/response-stream.tsx +0 -109
  360. package/src/components/screen.tsx +0 -181
  361. package/src/components/scroll-button.tsx +0 -93
  362. package/src/components/source.tsx +0 -192
  363. package/src/components/tasks-card.tsx +0 -801
  364. package/src/components/text-shimmer.tsx +0 -37
  365. package/src/components/thinking-bar.tsx +0 -50
  366. package/src/components/thread.tsx +0 -228
  367. package/src/components/toast.tsx +0 -503
  368. package/src/components/tool-classify.ts +0 -26
  369. package/src/components/tool-types.ts +0 -49
  370. package/src/components/tool.tsx +0 -190
  371. package/src/components/use-card-resolution.ts +0 -44
  372. package/src/components/voice-input.tsx +0 -222
  373. package/src/components/voice-output.tsx +0 -242
  374. package/src/components/widget-tab-bar.tsx +0 -73
  375. package/src/components/workspace-shell.tsx +0 -285
  376. package/src/diagnostics/hook.ts +0 -352
  377. package/src/diagnostics/index.ts +0 -82
  378. package/src/diagnostics/report-request.ts +0 -296
  379. package/src/elements/agent-card.tsx +0 -67
  380. package/src/elements/artifact.tsx +0 -194
  381. package/src/elements/attachments.tsx +0 -140
  382. package/src/elements/audio-visualizer.tsx +0 -227
  383. package/src/elements/autoloader.ts +0 -89
  384. package/src/elements/avatar.tsx +0 -33
  385. package/src/elements/badge.tsx +0 -32
  386. package/src/elements/button.tsx +0 -149
  387. package/src/elements/card.tsx +0 -133
  388. package/src/elements/cards.tsx +0 -266
  389. package/src/elements/chain-of-thought.tsx +0 -141
  390. package/src/elements/chat-scope-picker.tsx +0 -65
  391. package/src/elements/chat-types.ts +0 -102
  392. package/src/elements/chat-workspace.tsx +0 -188
  393. package/src/elements/chat.tsx +0 -304
  394. package/src/elements/checkbox-group.tsx +0 -164
  395. package/src/elements/checkbox.tsx +0 -134
  396. package/src/elements/checkpoint.tsx +0 -47
  397. package/src/elements/choice.tsx +0 -100
  398. package/src/elements/coachmark.tsx +0 -90
  399. package/src/elements/code-block.tsx +0 -60
  400. package/src/elements/command.tsx +0 -197
  401. package/src/elements/compare.tsx +0 -111
  402. package/src/elements/compiled.css +0 -2
  403. package/src/elements/composer.tsx +0 -162
  404. package/src/elements/confirm-card.tsx +0 -76
  405. package/src/elements/context-meter.tsx +0 -107
  406. package/src/elements/conversation-item.tsx +0 -120
  407. package/src/elements/conversation-list.tsx +0 -203
  408. package/src/elements/css.ts +0 -5
  409. package/src/elements/default-input.tsx +0 -392
  410. package/src/elements/define-entry.ts +0 -12
  411. package/src/elements/define.tsx +0 -563
  412. package/src/elements/diagnostic-events.ts +0 -114
  413. package/src/elements/dialog.tsx +0 -145
  414. package/src/elements/disclosure.ts +0 -95
  415. package/src/elements/dock.tsx +0 -215
  416. package/src/elements/dropdown.tsx +0 -123
  417. package/src/elements/editable-label.tsx +0 -140
  418. package/src/elements/element-data-types.ts +0 -152
  419. package/src/elements/element-diagnostics.ts +0 -392
  420. package/src/elements/element-manifest.json +0 -354
  421. package/src/elements/element-nonscalar.json +0 -187
  422. package/src/elements/element-types.d.ts +0 -4353
  423. package/src/elements/embed.tsx +0 -35
  424. package/src/elements/empty.tsx +0 -29
  425. package/src/elements/feedback-bar.tsx +0 -66
  426. package/src/elements/file-tree.tsx +0 -62
  427. package/src/elements/file-upload.tsx +0 -44
  428. package/src/elements/form.tsx +0 -94
  429. package/src/elements/hover-card.tsx +0 -80
  430. package/src/elements/icon.tsx +0 -41
  431. package/src/elements/image.tsx +0 -32
  432. package/src/elements/input.tsx +0 -492
  433. package/src/elements/kbd.tsx +0 -45
  434. package/src/elements/link-preview.tsx +0 -34
  435. package/src/elements/loader.tsx +0 -25
  436. package/src/elements/markdown.tsx +0 -38
  437. package/src/elements/menu.tsx +0 -241
  438. package/src/elements/message-skills.tsx +0 -83
  439. package/src/elements/message.tsx +0 -361
  440. package/src/elements/model-switcher.tsx +0 -121
  441. package/src/elements/nav.tsx +0 -87
  442. package/src/elements/notice.tsx +0 -53
  443. package/src/elements/pane-grid.tsx +0 -111
  444. package/src/elements/pane-group.tsx +0 -119
  445. package/src/elements/pane.tsx +0 -129
  446. package/src/elements/popover.tsx +0 -81
  447. package/src/elements/progress-bar.tsx +0 -39
  448. package/src/elements/prompt-dock.tsx +0 -82
  449. package/src/elements/prompt-input.tsx +0 -240
  450. package/src/elements/prompt-suggestions.tsx +0 -113
  451. package/src/elements/radio-group.tsx +0 -129
  452. package/src/elements/reasoning.tsx +0 -71
  453. package/src/elements/register-impl.ts +0 -148
  454. package/src/elements/register.ts +0 -76
  455. package/src/elements/remote.tsx +0 -225
  456. package/src/elements/resizable.globals.d.ts +0 -36
  457. package/src/elements/resizable.tsx +0 -704
  458. package/src/elements/response-stream.tsx +0 -40
  459. package/src/elements/screen.tsx +0 -90
  460. package/src/elements/scroll-area.tsx +0 -33
  461. package/src/elements/scroll-button.tsx +0 -179
  462. package/src/elements/search.tsx +0 -185
  463. package/src/elements/segmented.tsx +0 -129
  464. package/src/elements/select.tsx +0 -165
  465. package/src/elements/separator.tsx +0 -36
  466. package/src/elements/setting-item.tsx +0 -50
  467. package/src/elements/settings-group.tsx +0 -37
  468. package/src/elements/skeleton.tsx +0 -45
  469. package/src/elements/slider.tsx +0 -171
  470. package/src/elements/slot-text.ts +0 -73
  471. package/src/elements/slots.ts +0 -787
  472. package/src/elements/source.tsx +0 -126
  473. package/src/elements/status.tsx +0 -42
  474. package/src/elements/switch.tsx +0 -118
  475. package/src/elements/tabs.tsx +0 -95
  476. package/src/elements/tasks.tsx +0 -103
  477. package/src/elements/text-shimmer.tsx +0 -28
  478. package/src/elements/thinking-bar.tsx +0 -43
  479. package/src/elements/thread.tsx +0 -139
  480. package/src/elements/toast.tsx +0 -106
  481. package/src/elements/tool.tsx +0 -78
  482. package/src/elements/tooltip.tsx +0 -85
  483. package/src/elements/validate-messages.ts +0 -76
  484. package/src/elements/voice-input.tsx +0 -100
  485. package/src/elements/voice-output.tsx +0 -82
  486. package/src/index.ts +0 -430
  487. package/src/primitives/audio-bands.ts +0 -174
  488. package/src/primitives/card-component-types.ts +0 -63
  489. package/src/primitives/card-contract.ts +0 -80
  490. package/src/primitives/card-data-types.ts +0 -361
  491. package/src/primitives/card-host.tsx +0 -37
  492. package/src/primitives/card-recovery.ts +0 -160
  493. package/src/primitives/card-registry.tsx +0 -78
  494. package/src/primitives/card-resolution.ts +0 -36
  495. package/src/primitives/card-routing.ts +0 -85
  496. package/src/primitives/card-schemas/artifact.schema.json +0 -92
  497. package/src/primitives/card-schemas/card-envelope.schema.json +0 -14
  498. package/src/primitives/card-schemas/card-event.schema.json +0 -12
  499. package/src/primitives/card-schemas/choice.schema.json +0 -75
  500. package/src/primitives/card-schemas/confirm.schema.json +0 -65
  501. package/src/primitives/card-schemas/embed.schema.json +0 -63
  502. package/src/primitives/card-schemas/form.result.schema.json +0 -7
  503. package/src/primitives/card-schemas/form.schema.json +0 -53
  504. package/src/primitives/card-schemas/link.schema.json +0 -54
  505. package/src/primitives/card-schemas/tasks.result.schema.json +0 -16
  506. package/src/primitives/card-schemas/tasks.schema.json +0 -83
  507. package/src/primitives/card-tags.ts +0 -61
  508. package/src/primitives/card-validate-cards.ts +0 -255
  509. package/src/primitives/card-validate-schemas.ts +0 -58
  510. package/src/primitives/card-validate.ts +0 -131
  511. package/src/primitives/chat-config.tsx +0 -103
  512. package/src/primitives/composer-model.ts +0 -49
  513. package/src/primitives/composer-triggers.ts +0 -35
  514. package/src/primitives/controllable.ts +0 -21
  515. package/src/primitives/conversation-store.ts +0 -248
  516. package/src/primitives/create-kai-chat.ts +0 -66
  517. package/src/primitives/create-tween.ts +0 -266
  518. package/src/primitives/embed-providers.ts +0 -254
  519. package/src/primitives/field-mask.ts +0 -256
  520. package/src/primitives/field-semantics.ts +0 -115
  521. package/src/primitives/highlighter.ts +0 -157
  522. package/src/primitives/input-mask.ts +0 -853
  523. package/src/primitives/link-preview.ts +0 -87
  524. package/src/primitives/message-feedback.ts +0 -124
  525. package/src/primitives/pdf-preview.ts +0 -121
  526. package/src/primitives/toast-store.ts +0 -338
  527. package/src/primitives/url-scheme-policy.ts +0 -70
  528. package/src/primitives/use-audio-analysis.ts +0 -340
  529. package/src/primitives/use-auto-resize.ts +0 -31
  530. package/src/primitives/use-resize-observer.ts +0 -45
  531. package/src/primitives/use-sequencer.ts +0 -72
  532. package/src/primitives/use-speech-recognition.ts +0 -146
  533. package/src/primitives/use-stick-to-bottom.ts +0 -75
  534. package/src/primitives/use-text-stream.ts +0 -143
  535. package/src/primitives/use-voice-recorder.ts +0 -62
  536. package/src/primitives/visualizer-sequences.ts +0 -350
  537. package/src/remote/host-embed.ts +0 -345
  538. package/src/remote/index.ts +0 -2
  539. package/src/remote/origin.ts +0 -30
  540. package/src/remote/provider-runtime.ts +0 -262
  541. package/src/remote/provider.ts +0 -2
  542. package/src/remote/validate.ts +0 -22
  543. package/src/remote/version.ts +0 -12
  544. package/src/remote/wire.ts +0 -48
  545. package/src/schemas/from-tool-call.ts +0 -151
  546. package/src/schemas/index.ts +0 -341
  547. package/src/schemas/provider-subsets.ts +0 -538
  548. package/src/schemas/registry.ts +0 -355
  549. package/src/schemas/tool-defs.ts +0 -793
  550. package/src/solid.ts +0 -173
  551. package/src/state/index.ts +0 -44
  552. package/src/state/messages.ts +0 -53
  553. package/src/state/mock.ts +0 -297
  554. package/src/state/parts.ts +0 -295
  555. package/src/state/persistence.ts +0 -180
  556. package/src/state/stream.ts +0 -246
  557. package/src/state/suggestions.ts +0 -9
  558. package/src/state/threads.ts +0 -142
  559. package/src/test-utils/fake-clock.ts +0 -88
  560. package/src/types.ts +0 -95
  561. package/src/ui/action-icons.ts +0 -53
  562. package/src/ui/agent-card.tsx +0 -218
  563. package/src/ui/avatar.tsx +0 -23
  564. package/src/ui/badge.tsx +0 -21
  565. package/src/ui/button.tsx +0 -49
  566. package/src/ui/card.tsx +0 -245
  567. package/src/ui/checkbox-group.tsx +0 -153
  568. package/src/ui/checkbox.tsx +0 -63
  569. package/src/ui/collapsible.tsx +0 -163
  570. package/src/ui/command.tsx +0 -103
  571. package/src/ui/dialog.tsx +0 -223
  572. package/src/ui/dock.tsx +0 -630
  573. package/src/ui/dropdown.tsx +0 -636
  574. package/src/ui/editable-label.tsx +0 -112
  575. package/src/ui/hover-card.tsx +0 -345
  576. package/src/ui/icon.tsx +0 -167
  577. package/src/ui/input.tsx +0 -391
  578. package/src/ui/kbd.tsx +0 -118
  579. package/src/ui/nav.tsx +0 -282
  580. package/src/ui/notice.tsx +0 -84
  581. package/src/ui/overlay.tsx +0 -277
  582. package/src/ui/pane-grid.tsx +0 -117
  583. package/src/ui/pane-group.tsx +0 -291
  584. package/src/ui/pane.tsx +0 -193
  585. package/src/ui/popover.tsx +0 -106
  586. package/src/ui/progress-bar.tsx +0 -83
  587. package/src/ui/prompt-dock.tsx +0 -145
  588. package/src/ui/radio.tsx +0 -150
  589. package/src/ui/resizable.tsx +0 -693
  590. package/src/ui/scroll-area.tsx +0 -26
  591. package/src/ui/segmented.tsx +0 -109
  592. package/src/ui/select.tsx +0 -168
  593. package/src/ui/separator.tsx +0 -10
  594. package/src/ui/settings-group.tsx +0 -67
  595. package/src/ui/skeleton.tsx +0 -73
  596. package/src/ui/slider.tsx +0 -178
  597. package/src/ui/status.tsx +0 -48
  598. package/src/ui/switch.tsx +0 -119
  599. package/src/ui/tabs.tsx +0 -168
  600. package/src/ui/textarea.tsx +0 -21
  601. package/src/ui/tooltip.tsx +0 -118
  602. package/src/utils/cn.ts +0 -30
  603. package/src/wire/chunk.ts +0 -248
  604. package/src/wire/consume.ts +0 -599
  605. package/src/wire/diagnostics.ts +0 -727
  606. package/src/wire/encode-probe.ts +0 -214
  607. package/src/wire/encode.ts +0 -947
  608. package/src/wire/files.ts +0 -342
  609. package/src/wire/formats/anthropic.ts +0 -274
  610. package/src/wire/formats/openai.ts +0 -228
  611. package/src/wire/index.ts +0 -95
  612. package/src/wire/media-types.ts +0 -344
  613. package/src/wire/read.ts +0 -396
  614. package/src/wire/sink-helpers.ts +0 -50
  615. package/src/wire/sse.ts +0 -153
@@ -1,341 +0,0 @@
1
- // @kitn.ai/ui/schemas: the card JSON Schemas, reachable.
2
- //
3
- // The 11 schema documents under src/primitives/card-schemas/ have been copied into
4
- // dist/schemas/ on every build and shipped in every tarball since the card contract
5
- // landed. Nothing could reach them: package.json "exports" is a CLOSED map with no
6
- // `./schemas` key, so both `@kitn.ai/ui/schemas` and
7
- // `@kitn.ai/ui/schemas/confirm.schema.json` resolved to TS2307 /
8
- // ERR_PACKAGE_PATH_NOT_EXPORTED. This repo's own reference harness gave up and
9
- // hand-derived the confirm schema in
10
- // examples/internal/openrouter-spike/src/card-schema.ts, saying so in a comment.
11
- //
12
- // WHY THIS JS ENTRY IS THE PRIMARY SURFACE
13
- // ----------------------------------------
14
- // The raw JSON subpaths ship too (`@kitn.ai/ui/schemas/confirm.schema.json`), and
15
- // they are the right answer for a Python or Go backend, or for `fetch`. They are
16
- // the SECONDARY surface for JS/TS consumers because importing JSON breaks three
17
- // different ways across the framework targets the scaffolder supports: Node ESM and
18
- // TS `nodenext` need `with { type: 'json' }`, types need `resolveJsonModule` in any
19
- // mode, and Workers need a `wrangler` rule. A JS entry has none of those problems
20
- // anywhere, and it picks up `verify:ssr` coverage for free, since that guard derives
21
- // its entry list from the exports map.
22
- //
23
- // SERVER-SAFE, DELIBERATELY
24
- // -------------------------
25
- // No DOM, no Solid, no `fetch`. Everything reached from here is data or plain
26
- // functions, and as of src/primitives/card-component-types.ts that is true of the
27
- // TYPES too: nothing reachable from this entry resolves to a `.tsx` any more, so a
28
- // Node/no-DOM project can read the whole graph from source. (`CardComponentMap` used
29
- // to come from primitives/card-registry.tsx and was the last exception.) This entry
30
- // is meant to be imported by a backend route that hands tool definitions to a model,
31
- // so anything that touches a browser global would defeat its purpose. `verify:ssr`
32
- // asserts the RUNTIME half, by importing the BUILT entry under the `node` condition
33
- // in its own child process; the compile-time half is `tsc --noEmit -p
34
- // tsconfig.mcp.json` on a tree with no dist/, and only that one sees a `.tsx` creep
35
- // back in.
36
- //
37
- // WHAT `verify:ssr` DOES NOT CATCH, MEASURED
38
- // ------------------------------------------
39
- // It checks the BUILT bundle, so it only sees what survives tree-shaking — and
40
- // rollup is good enough here that it does not see the mistake you would actually
41
- // make. Measured, not assumed: pointing the `BUILTIN_CARD_TAGS` re-export below at
42
- // src/primitives/card-registry.TSX instead of card-tags.ts produces a byte-identical
43
- // dist/schemas.js with zero `solid-js` references, and imports clean under `node`.
44
- // Rollup compiles the whole Solid component tree (build time 0.2s -> 3.9s) and then
45
- // discards all of it, because only the tag map is reachable.
46
- //
47
- // So the `.ts` split is NOT holding a runtime guard up, and must not be described as
48
- // if it were. What it buys is that this entry's server-safety stops depending on
49
- // tree-shaking staying perfect: one module-scope side effect anywhere under
50
- // components/ and the discarded tree stops being discardable. Removing the dependency
51
- // beats relying on it being elided.
52
- //
53
- // WHAT IT COSTS, AND WHERE
54
- // ------------------------
55
- // dist/schemas.js, measured on this tree, not recalled:
56
- //
57
- // 42,658 B min / 11,762 B gzip before ./registry landed
58
- // 53,658 B min / 14,669 B gzip after ./registry (+11,000 B / +2,907 B gzip)
59
- // 53,864 B min / 14,739 B gzip now, with BUILTIN_CARD_TAGS (+206 B / +70 B gzip)
60
- //
61
- // The middle row is this comment's previous "53,656 / 14,667", re-measured rather than
62
- // carried forward; the 2-byte drift is what a claim costs when it is copied instead of
63
- // taken again. The last row is the tag map below, measured by building this entry with
64
- // and without that one export line.
65
- //
66
- // The `18,160 B / 5,800 B` this comment used to claim was measured at 0.20.1, before
67
- // tool-defs and provider-subsets were added to the barrel, and had been stale ever
68
- // since. Corrected here rather than left, because a size claim nobody re-measures is
69
- // the same class of thing as a guard nobody watches fail.
70
- //
71
- // The delta is ./registry plus what it pulls: primitives/card-validate.ts (the
72
- // validator) and primitives/card-validate-schemas.ts (the LEAN projection). That last
73
- // one means the seven card schemas appear TWICE in this bundle, authored and lean.
74
- // Deliberate, and the alternative is worse: validating built-ins against the authored
75
- // documents here while the browser validates them against the projection would be two
76
- // behaviours wearing one name. One function, one answer, 4 KB.
77
- //
78
- // All of it is a SERVER cost and does not touch a client bundle. Nothing in the
79
- // component tree imports this entry, so no consumer pays it unless a route or a
80
- // build script imports it on purpose. If you are here comparing it against the
81
- // ~1 KB gzip figure in the emit-contract plan, those are different things: that one
82
- // is the LEAN projection destined for the browser (descriptions and `$id` stripped,
83
- // validation keywords only), which is a separate artifact and not this file.
84
- //
85
- // NOT RESTATED
86
- // ------------
87
- // Every value below is the JSON file itself, imported and inlined by the bundler.
88
- // There is no hand-copied shape here and there must never be one: `verify:schemas`
89
- // asserts each exported entry is byte-identical to its file on disk, and that the
90
- // two maps between them account for every file in the directory and for nothing
91
- // else. The whole point of this entry is to stop the same shape existing in five
92
- // places.
93
-
94
- import type { JsonSchema } from '../primitives/card-validate';
95
-
96
- import artifactSchema from '../primitives/card-schemas/artifact.schema.json';
97
- import cardEnvelopeSchema from '../primitives/card-schemas/card-envelope.schema.json';
98
- import cardEventSchema from '../primitives/card-schemas/card-event.schema.json';
99
- import choiceSchema from '../primitives/card-schemas/choice.schema.json';
100
- import confirmSchema from '../primitives/card-schemas/confirm.schema.json';
101
- import embedSchema from '../primitives/card-schemas/embed.schema.json';
102
- import formResultSchema from '../primitives/card-schemas/form.result.schema.json';
103
- import formSchema from '../primitives/card-schemas/form.schema.json';
104
- import linkSchema from '../primitives/card-schemas/link.schema.json';
105
- import tasksResultSchema from '../primitives/card-schemas/tasks.result.schema.json';
106
- import tasksSchema from '../primitives/card-schemas/tasks.schema.json';
107
-
108
- /**
109
- * A card schema document, as authored.
110
- *
111
- * Wider than {@link JsonSchema} on purpose. `JsonSchema` describes the LEAN subset
112
- * `validateAgainstSchema` implements; the files also carry `$schema`, `$id`,
113
- * `title`, `description`, `default`, `additionalProperties`, `x-kai-*`, and (in
114
- * `embed` and `artifact`) `allOf`/`if`/`then`/`oneOf`. Reading a document as
115
- * `JsonSchema` alone would quietly imply the validator understands all of it.
116
- */
117
- export type CardSchema = JsonSchema & Readonly<Record<string, unknown>>;
118
-
119
- /**
120
- * DO NOT "TIGHTEN" THIS TO `doc as JsonSchema`, OR DELETE THE CAST.
121
- *
122
- * It reads like laziness and is not. `JsonSchema` (src/primitives/card-validate.ts)
123
- * pins `type` to a literal union — `'string' | 'number' | ... | 'null'` — while
124
- * TypeScript infers plain `string` for the `"type"` member of an imported JSON
125
- * literal, so a schema document is NOT assignable to `JsonSchema` and no narrowing
126
- * short of a per-file `as const` would make it so. On top of that the documents
127
- * legitimately carry `$schema`, `$id`, `title`, `description`, `default`,
128
- * `additionalProperties`, `x-kai-*` and (in `embed` and `artifact`)
129
- * `allOf`/`if`/`then`/`oneOf`, which `JsonSchema` does not describe at all.
130
- *
131
- * So this widens once, at the module boundary, deliberately. It is not a claim
132
- * about the contents, and the claim it does NOT make is checked elsewhere:
133
- * `verify:schemas` imports the BUILT entry from a temp package outside the repo and
134
- * asserts every exported value is byte-identical to its file on disk. A tighter
135
- * type here would buy nothing that check does not already prove, and would cost the
136
- * ability to represent the schemas we actually ship.
137
- */
138
- const asSchema = (doc: unknown): CardSchema => doc as CardSchema;
139
-
140
- /**
141
- * The card-DATA schemas: one per built-in `CardEnvelope.type`, describing the
142
- * `data` payload for that type. These are the tool candidates. The key IS the
143
- * envelope type.
144
- */
145
- export type CardSchemaName = 'artifact' | 'choice' | 'confirm' | 'embed' | 'form' | 'link' | 'tasks';
146
-
147
- /**
148
- * The contract shapes: the envelope itself, the event a card emits back up, and the
149
- * two result payloads. Not card data and NOT tool candidates — a model is never
150
- * asked to emit one of these, so keeping them out of `cardSchemas` is what stops
151
- * `cardTools()` offering the model an envelope-shaped tool.
152
- */
153
- export type ContractSchemaName = 'card-envelope' | 'card-event' | 'form.result' | 'tasks.result';
154
-
155
- /** The 7 card-data schemas, keyed by `CardEnvelope.type`. */
156
- export const cardSchemas: Readonly<Record<CardSchemaName, CardSchema>> = Object.freeze({
157
- artifact: asSchema(artifactSchema),
158
- choice: asSchema(choiceSchema),
159
- confirm: asSchema(confirmSchema),
160
- embed: asSchema(embedSchema),
161
- form: asSchema(formSchema),
162
- link: asSchema(linkSchema),
163
- tasks: asSchema(tasksSchema),
164
- });
165
-
166
- /** The 4 contract shapes, keyed by file stem. */
167
- export const contractSchemas: Readonly<Record<ContractSchemaName, CardSchema>> = Object.freeze({
168
- 'card-envelope': asSchema(cardEnvelopeSchema),
169
- 'card-event': asSchema(cardEventSchema),
170
- 'form.result': asSchema(formResultSchema),
171
- 'tasks.result': asSchema(tasksResultSchema),
172
- });
173
-
174
- /** The built-in card types, in the order `cardSchemas` declares them. */
175
- export const cardSchemaNames: readonly CardSchemaName[] = Object.freeze(
176
- Object.keys(cardSchemas) as CardSchemaName[],
177
- );
178
-
179
- /** Narrow an arbitrary string to a built-in card type. */
180
- export function isCardSchemaName(name: string): name is CardSchemaName {
181
- return Object.prototype.hasOwnProperty.call(cardSchemas, name);
182
- }
183
-
184
- // Re-exported so a consumer reading a schema out of these maps can annotate what
185
- // they hand to the kit's validator without a second import.
186
- export type { JsonSchema, ValidationResult } from '../primitives/card-validate';
187
- export type { CardEnvelope } from '../primitives/card-contract';
188
-
189
- // The card PAYLOAD types — `CardEnvelope.data`, one per built-in card type — so a
190
- // TypeScript backend can NAME the shape it is building instead of assembling an
191
- // `unknown` and hoping.
192
- //
193
- // This is the point of the whole entry, restated at the type level. We publish
194
- // `./schemas/*.json` precisely so a Python or Go route can generate models for
195
- // these payloads, and until this block existed TypeScript — the language the kit
196
- // is authored in — was the one that could not: the types lived inside their
197
- // components' `.tsx`, so naming one from a Node/no-DOM project was TS6142 and
198
- // re-exporting one from here would have dragged the Solid tree into this entry's
199
- // graph. They are authored in ../primitives/card-data-types.ts now, which has no
200
- // DOM and no Solid below it, so this costs the entry nothing — see that file's
201
- // header, and note that the check which can tell the difference is
202
- // `tsc --noEmit -p tsconfig.mcp.json` on a tree with no dist/ present.
203
- //
204
- // Types only: they erase, so this adds nothing to dist/schemas.js.
205
- export type {
206
- ArtifactCardData,
207
- ArtifactCardEnvelope,
208
- ArtifactCardFile,
209
- ArtifactCardTab,
210
- ChoiceAllowOther,
211
- ChoiceCardData,
212
- ChoiceCardEnvelope,
213
- ChoiceOption,
214
- ChoiceOptionMedia,
215
- ConfirmAction,
216
- ConfirmActionStyle,
217
- ConfirmCardData,
218
- ConfirmCardEnvelope,
219
- ConfirmTone,
220
- FormCardEnvelope,
221
- FormDefinition,
222
- FormField,
223
- TasksCardData,
224
- TasksCardEnvelope,
225
- TasksCardResult,
226
- TasksTask,
227
- } from '../primitives/card-data-types';
228
-
229
- // The remaining two payload types, `link` and `embed`.
230
- //
231
- // They are NOT in card-data-types.ts, and that is deliberate rather than an
232
- // oversight to be tidied later: that file exists to rescue types that were
233
- // trapped inside a `.tsx`, and these two never were. `LinkPreviewData` and
234
- // `EmbedCardData` have always been authored beside the pure logic that consumes
235
- // them — `resolveLinkMetadata`, `resolveEmbed`/`watchUrl` — in modules that carry
236
- // no DOM and no Solid, so they were already importable from a Node/no-DOM
237
- // project. Moving them would buy nothing and would split each type from the
238
- // functions written against it.
239
- //
240
- // Which is precisely how they got missed. The extraction that created
241
- // card-data-types.ts swept the `.tsx` files, exported what it found HERE, and
242
- // the two types that needed no rescuing were never on its list — five of seven
243
- // payload types landed on this entry and nobody noticed the other two, because
244
- // both are exported from src/index.ts and every check asked only whether a
245
- // consumer could reach them from SOME public barrel. A backend cannot import
246
- // from src/index.ts; that is the Solid-bearing one. See the REACHABILITY note in
247
- // card-type-parity.test.ts, which now enumerates the payload types from
248
- // `cardSchemas` and requires each to be reachable from THIS entry specifically.
249
- //
250
- // `EmbedProvider` comes along because `EmbedCardData.provider` names it, and a
251
- // member type a consumer cannot import leaves them writing `provider: 'youtube'
252
- // as EmbedCardData['provider']`. `ResolvedEmbed` and `LinkMetadataFetcher` stay
253
- // off this entry on purpose — they describe how a card RENDERS and how an app
254
- // resolves metadata in the browser, neither of which a route builds.
255
- export type { EmbedCardData, EmbedCardEnvelope, EmbedProvider } from '../primitives/embed-providers';
256
- export type { LinkPreviewData, LinkPreviewEnvelope } from '../primitives/link-preview';
257
-
258
- // The loop, both directions.
259
- //
260
- // `cardTools` projects a card schema INTO a provider tool definition;
261
- // `cardFromToolCall` turns the model's call back into a renderable envelope. They
262
- // are the two halves of one contract and the tool-name convention that joins them
263
- // lives in ./from-tool-call, spelled once. Exporting `from-tool-call` here is not
264
- // bookkeeping: `verify:schemas` and `verify:ssr` both read the BUILT entry, so a
265
- // module missing from this barrel is a module no guard covers.
266
- export { cardFromToolCall, isCardTool, cardTypeFromToolName, toolNameForCardType, KAI_TOOL_PREFIX } from './from-tool-call';
267
-
268
- // `tool-defs` imports `cardSchemas` back out of this module so that
269
- // `cardTools({ provider })` can default to the built-ins. That cycle is deliberate
270
- // and safe (the read happens inside a function, never at module init); the comment
271
- // on `builtInSchemas()` over there explains why, and why it must not be hoisted.
272
- export {
273
- CARD_TOOL_DESCRIPTIONS,
274
- UnsupportedCardToolSchemaError,
275
- cardTools,
276
- toAnthropicTools,
277
- toJsonSchemaTools,
278
- toOpenAITools,
279
- } from './tool-defs';
280
- export type {
281
- AnthropicToolDef,
282
- CardRequireRule,
283
- CardToolInput,
284
- CardToolOptions,
285
- CardToolSource,
286
- JsonSchemaToolDef,
287
- OpenAIToolDef,
288
- ToolDef,
289
- ToolDefFor,
290
- ToolParameters,
291
- ToolProvider,
292
- UnsupportedCardTool,
293
- } from './tool-defs';
294
-
295
- // The registry: "these are the card types THIS app renders", written once and threaded
296
- // to both ends (`chat.cardTypes = cards.tags` on the client, `cardTools(cards, …)` on
297
- // the route). It is what turns the `cardTypes` seam from something a developer CAN use
298
- // into the path they normally take, which is the only thing that stops it rotting again
299
- // the way it did when the conformance spike's `spike-artifact` workaround was deleted.
300
- //
301
- // `registry.ts` imports `cardSchemas` back out of this module, the same deliberate
302
- // cycle `tool-defs` has and for the same reason; the read happens inside
303
- // `createCardRegistry`, never at module init.
304
- export { createCardRegistry } from './registry';
305
- export type { CardRegistry, CardRegistrySpec, CustomCardSpec, IncompletePolicy } from './registry';
306
-
307
- // Re-exported so a route can check a custom card's data server-side, in the tool loop,
308
- // with the same tiering the browser dispatchers use, rather than a second validator.
309
- // `registry.validate()` is the ergonomic form; this is the same function underneath.
310
- export { cardValidationMessage, validateCardData } from '../primitives/card-validate-cards';
311
- export type { CardValidationIssue, CardValidationReport, CardValidationTier } from '../primitives/card-validate-cards';
312
-
313
- // `CardEnvelope.type` -> the `kai-*` element that renders it — exported because a
314
- // server-side reader needed it and was inventing its own answer instead.
315
- //
316
- // src/agent-tooling/mcp/manifest.ts used to RE-DERIVE this map from the element
317
- // manifest by convention (`kai-<type>`, else the single `kai-<type>-*`). The
318
- // derivation was correct — it even got `link` -> `kai-link-preview` right, via the
319
- // prefix branch — but it was a second copy of a fact the repo already held, kept
320
- // honest only by a test. It re-derived because the authoritative map shared a module
321
- // with `BUILTIN_CARD_COMPONENTS`, which is nothing but Solid, and the MCP is a
322
- // Node/no-DOM project (tsconfig.mcp.json: `lib: ["ESNext"]`, no `jsx` — giving it one
323
- // measures 0 errors -> 1364). src/primitives/card-tags.ts is that data on its own, so
324
- // the map is now readable from source by anything, with or without a DOM.
325
- //
326
- // See "WHAT `verify:ssr` DOES NOT CATCH" above before describing the split as a
327
- // bundle-safety fix: it is a dependency-graph fix, and the bundle is identical either
328
- // way today.
329
- //
330
- // `mergeCardTags` is deliberately NOT re-exported here: merging a consumer's overrides
331
- // is a rendering concern, it already ships from the main entry, and this one is for
332
- // routes.
333
- export { BUILTIN_CARD_TAGS } from '../primitives/card-tags';
334
- export type { CardTagMap } from '../primitives/card-tags';
335
-
336
- // The two provider subsets, exported rather than kept private, because a developer
337
- // registering a CUSTOM card schema in Phase 2 needs the same check we run on ours,
338
- // and because `verify:tool-schemas` reads them out of the BUILT entry rather than
339
- // re-deriving them (a guard with its own copy of the table proves nothing).
340
- export { ANTHROPIC_STRICT, OPENAI_STRICT, checkProviderSubset, providerSubsets } from './provider-subsets';
341
- export type { KeywordRule, KeywordStatus, ProviderSubset, StrictProviderId, SubsetViolation } from './provider-subsets';