@usetheo/ui 0.13.0 → 0.13.2

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 (1235) hide show
  1. package/CHANGELOG.md +541 -69
  2. package/DESIGN.md +18 -18
  3. package/NOTICE +2 -2
  4. package/README.md +54 -52
  5. package/dist/chunk-23YEYNDS.js +89 -0
  6. package/dist/chunk-23YEYNDS.js.map +1 -0
  7. package/dist/chunk-25KBUQEQ.js +95 -0
  8. package/dist/chunk-25KBUQEQ.js.map +1 -0
  9. package/dist/chunk-2NTEJRPA.js +212 -0
  10. package/dist/chunk-2NTEJRPA.js.map +1 -0
  11. package/dist/chunk-2NZYMQKT.js +56 -0
  12. package/dist/chunk-2NZYMQKT.js.map +1 -0
  13. package/dist/chunk-2OVFVPSZ.js +26 -0
  14. package/dist/chunk-2OVFVPSZ.js.map +1 -0
  15. package/dist/chunk-2UP7SECE.js +78 -0
  16. package/dist/chunk-2UP7SECE.js.map +1 -0
  17. package/dist/chunk-33ETHPT7.js +112 -0
  18. package/dist/chunk-33ETHPT7.js.map +1 -0
  19. package/dist/chunk-33IIDFSM.js +43 -0
  20. package/dist/chunk-33IIDFSM.js.map +1 -0
  21. package/dist/chunk-345HYADQ.js +88 -0
  22. package/dist/chunk-345HYADQ.js.map +1 -0
  23. package/dist/chunk-357XIC2N.js +98 -0
  24. package/dist/chunk-357XIC2N.js.map +1 -0
  25. package/dist/chunk-3YOPTHZH.js +31 -0
  26. package/dist/chunk-3YOPTHZH.js.map +1 -0
  27. package/dist/chunk-44ZNZZUS.js +111 -0
  28. package/dist/chunk-44ZNZZUS.js.map +1 -0
  29. package/dist/chunk-45FWKR23.js +62 -0
  30. package/dist/chunk-45FWKR23.js.map +1 -0
  31. package/dist/chunk-47IPOYLQ.js +116 -0
  32. package/dist/chunk-47IPOYLQ.js.map +1 -0
  33. package/dist/chunk-4EH6F54D.js +69 -0
  34. package/dist/chunk-4EH6F54D.js.map +1 -0
  35. package/dist/chunk-4EKF4EIE.js +140 -0
  36. package/dist/chunk-4EKF4EIE.js.map +1 -0
  37. package/dist/chunk-4XYFJIRC.js +65 -0
  38. package/dist/chunk-4XYFJIRC.js.map +1 -0
  39. package/dist/chunk-52J7SDYH.js +48 -0
  40. package/dist/chunk-52J7SDYH.js.map +1 -0
  41. package/dist/chunk-5YX76GH6.js +70 -0
  42. package/dist/chunk-5YX76GH6.js.map +1 -0
  43. package/dist/chunk-624AATQZ.js +77 -0
  44. package/dist/chunk-624AATQZ.js.map +1 -0
  45. package/dist/chunk-65YSFZAN.js +192 -0
  46. package/dist/chunk-65YSFZAN.js.map +1 -0
  47. package/dist/chunk-6IODJQWC.js +47 -0
  48. package/dist/chunk-6IODJQWC.js.map +1 -0
  49. package/dist/chunk-6ORS6XOE.js +57 -0
  50. package/dist/chunk-6ORS6XOE.js.map +1 -0
  51. package/dist/chunk-6V2LQEPT.js +165 -0
  52. package/dist/chunk-6V2LQEPT.js.map +1 -0
  53. package/dist/chunk-75IDWFYX.js +134 -0
  54. package/dist/chunk-75IDWFYX.js.map +1 -0
  55. package/dist/chunk-7BQXMG2A.js +93 -0
  56. package/dist/chunk-7BQXMG2A.js.map +1 -0
  57. package/dist/chunk-7RFWVNQA.js +47 -0
  58. package/dist/chunk-7RFWVNQA.js.map +1 -0
  59. package/dist/chunk-ABBXLAJW.js +74 -0
  60. package/dist/chunk-ABBXLAJW.js.map +1 -0
  61. package/dist/chunk-ACZNFEOZ.js +180 -0
  62. package/dist/chunk-ACZNFEOZ.js.map +1 -0
  63. package/dist/chunk-AJ2LNQUQ.js +108 -0
  64. package/dist/chunk-AJ2LNQUQ.js.map +1 -0
  65. package/dist/chunk-AX6P3SDS.js +89 -0
  66. package/dist/chunk-AX6P3SDS.js.map +1 -0
  67. package/dist/chunk-AXUAQM45.js +154 -0
  68. package/dist/chunk-AXUAQM45.js.map +1 -0
  69. package/dist/chunk-B2FL7KBJ.js +65 -0
  70. package/dist/chunk-B2FL7KBJ.js.map +1 -0
  71. package/dist/chunk-B42EOFRD.js +106 -0
  72. package/dist/chunk-B42EOFRD.js.map +1 -0
  73. package/dist/chunk-BE232OKN.js +42 -0
  74. package/dist/chunk-BE232OKN.js.map +1 -0
  75. package/dist/chunk-BSF4Y4UT.js +77 -0
  76. package/dist/chunk-BSF4Y4UT.js.map +1 -0
  77. package/dist/chunk-BYUWQ6OP.js +45 -0
  78. package/dist/chunk-BYUWQ6OP.js.map +1 -0
  79. package/dist/chunk-C5ULP2P5.js +140 -0
  80. package/dist/chunk-C5ULP2P5.js.map +1 -0
  81. package/dist/chunk-CCG7PXLX.js +24 -0
  82. package/dist/chunk-CCG7PXLX.js.map +1 -0
  83. package/dist/chunk-CFVSXYVT.js +59 -0
  84. package/dist/chunk-CFVSXYVT.js.map +1 -0
  85. package/dist/chunk-CGWIOIEO.js +27 -0
  86. package/dist/chunk-CGWIOIEO.js.map +1 -0
  87. package/dist/chunk-CVFSNA4K.js +716 -0
  88. package/dist/chunk-CVFSNA4K.js.map +1 -0
  89. package/dist/chunk-CX54TUTT.js +144 -0
  90. package/dist/chunk-CX54TUTT.js.map +1 -0
  91. package/dist/chunk-DJK6H3FD.js +200 -0
  92. package/dist/chunk-DJK6H3FD.js.map +1 -0
  93. package/dist/chunk-E26M7ATD.js +61 -0
  94. package/dist/chunk-E26M7ATD.js.map +1 -0
  95. package/dist/chunk-E63IRXZZ.js +78 -0
  96. package/dist/chunk-E63IRXZZ.js.map +1 -0
  97. package/dist/chunk-EOTSD2GL.js +83 -0
  98. package/dist/chunk-EOTSD2GL.js.map +1 -0
  99. package/dist/chunk-ESJUISWY.js +45 -0
  100. package/dist/chunk-ESJUISWY.js.map +1 -0
  101. package/dist/chunk-ET7A3TQZ.js +158 -0
  102. package/dist/chunk-ET7A3TQZ.js.map +1 -0
  103. package/dist/chunk-ETTL6XGU.js +139 -0
  104. package/dist/chunk-ETTL6XGU.js.map +1 -0
  105. package/dist/chunk-EWDN56AS.js +24 -0
  106. package/dist/chunk-EWDN56AS.js.map +1 -0
  107. package/dist/chunk-FELH4AAQ.js +90 -0
  108. package/dist/chunk-FELH4AAQ.js.map +1 -0
  109. package/dist/chunk-FJZKA2LV.js +165 -0
  110. package/dist/chunk-FJZKA2LV.js.map +1 -0
  111. package/dist/chunk-FM72LBCJ.js +102 -0
  112. package/dist/chunk-FM72LBCJ.js.map +1 -0
  113. package/dist/chunk-FNQASFTK.js +53 -0
  114. package/dist/chunk-FNQASFTK.js.map +1 -0
  115. package/dist/chunk-FOE3XXBJ.js +965 -0
  116. package/dist/chunk-FOE3XXBJ.js.map +1 -0
  117. package/dist/chunk-GC52HWIL.js +41 -0
  118. package/dist/chunk-GC52HWIL.js.map +1 -0
  119. package/dist/chunk-GCKFA7X7.js +83 -0
  120. package/dist/chunk-GCKFA7X7.js.map +1 -0
  121. package/dist/chunk-GDMCDW66.js +19 -0
  122. package/dist/chunk-GDMCDW66.js.map +1 -0
  123. package/dist/chunk-GLRUM43F.js +121 -0
  124. package/dist/chunk-GLRUM43F.js.map +1 -0
  125. package/dist/chunk-H3L7WZDZ.js +74 -0
  126. package/dist/chunk-H3L7WZDZ.js.map +1 -0
  127. package/dist/chunk-H55WXDME.js +45 -0
  128. package/dist/chunk-H55WXDME.js.map +1 -0
  129. package/dist/chunk-HB45JHMM.js +43 -0
  130. package/dist/chunk-HB45JHMM.js.map +1 -0
  131. package/dist/chunk-HETHTYEZ.js +80 -0
  132. package/dist/chunk-HETHTYEZ.js.map +1 -0
  133. package/dist/chunk-HHSKNB32.js +55 -0
  134. package/dist/chunk-HHSKNB32.js.map +1 -0
  135. package/dist/chunk-HILOUYES.js +151 -0
  136. package/dist/chunk-HILOUYES.js.map +1 -0
  137. package/dist/chunk-HKVOCYTN.js +113 -0
  138. package/dist/chunk-HKVOCYTN.js.map +1 -0
  139. package/dist/chunk-HNRFBJ25.js +129 -0
  140. package/dist/chunk-HNRFBJ25.js.map +1 -0
  141. package/dist/chunk-HTJVHFNW.js +178 -0
  142. package/dist/chunk-HTJVHFNW.js.map +1 -0
  143. package/dist/chunk-HZ7Z22VW.js +130 -0
  144. package/dist/chunk-HZ7Z22VW.js.map +1 -0
  145. package/dist/chunk-II5Q5RIO.js +236 -0
  146. package/dist/chunk-II5Q5RIO.js.map +1 -0
  147. package/dist/chunk-ITEIRMSH.js +121 -0
  148. package/dist/chunk-ITEIRMSH.js.map +1 -0
  149. package/dist/chunk-JIZKW3WC.js +74 -0
  150. package/dist/chunk-JIZKW3WC.js.map +1 -0
  151. package/dist/chunk-JP3SHERK.js +154 -0
  152. package/dist/chunk-JP3SHERK.js.map +1 -0
  153. package/dist/chunk-JR4H3FJ2.js +74 -0
  154. package/dist/chunk-JR4H3FJ2.js.map +1 -0
  155. package/dist/chunk-JRW53TVG.js +53 -0
  156. package/dist/chunk-JRW53TVG.js.map +1 -0
  157. package/dist/chunk-JS5T2CRO.js +86 -0
  158. package/dist/chunk-JS5T2CRO.js.map +1 -0
  159. package/dist/chunk-JXOCE27Z.js +82 -0
  160. package/dist/chunk-JXOCE27Z.js.map +1 -0
  161. package/dist/chunk-JYW5YNF7.js +188 -0
  162. package/dist/chunk-JYW5YNF7.js.map +1 -0
  163. package/dist/chunk-KHBXI6AV.js +149 -0
  164. package/dist/chunk-KHBXI6AV.js.map +1 -0
  165. package/dist/chunk-KXZH7BTX.js +92 -0
  166. package/dist/chunk-KXZH7BTX.js.map +1 -0
  167. package/dist/chunk-LB4PMLCX.js +57 -0
  168. package/dist/chunk-LB4PMLCX.js.map +1 -0
  169. package/dist/chunk-LMGE2QEO.js +117 -0
  170. package/dist/chunk-LMGE2QEO.js.map +1 -0
  171. package/dist/chunk-M74ZYBOK.js +93 -0
  172. package/dist/chunk-M74ZYBOK.js.map +1 -0
  173. package/dist/chunk-ML7WLNIK.js +11 -0
  174. package/dist/chunk-ML7WLNIK.js.map +1 -0
  175. package/dist/chunk-MLEPCMTF.js +147 -0
  176. package/dist/chunk-MLEPCMTF.js.map +1 -0
  177. package/dist/chunk-NSZEZTDO.js +98 -0
  178. package/dist/chunk-NSZEZTDO.js.map +1 -0
  179. package/dist/chunk-OMR6ZGME.js +63 -0
  180. package/dist/chunk-OMR6ZGME.js.map +1 -0
  181. package/dist/chunk-ORVYP73T.js +223 -0
  182. package/dist/chunk-ORVYP73T.js.map +1 -0
  183. package/dist/chunk-OZFUUO2Q.js +50 -0
  184. package/dist/chunk-OZFUUO2Q.js.map +1 -0
  185. package/dist/chunk-PJWYIOY4.js +3 -0
  186. package/dist/chunk-PJWYIOY4.js.map +1 -0
  187. package/dist/chunk-PXT47DRZ.js +59 -0
  188. package/dist/chunk-PXT47DRZ.js.map +1 -0
  189. package/dist/chunk-QBSJM4XI.js +83 -0
  190. package/dist/chunk-QBSJM4XI.js.map +1 -0
  191. package/dist/chunk-QBUTRD2M.js +58 -0
  192. package/dist/chunk-QBUTRD2M.js.map +1 -0
  193. package/dist/chunk-QCSMJTA6.js +68 -0
  194. package/dist/chunk-QCSMJTA6.js.map +1 -0
  195. package/dist/chunk-QNYOIVQ4.js +36 -0
  196. package/dist/chunk-QNYOIVQ4.js.map +1 -0
  197. package/dist/chunk-QPURZJJM.js +88 -0
  198. package/dist/chunk-QPURZJJM.js.map +1 -0
  199. package/dist/chunk-QTG266XU.js +69 -0
  200. package/dist/chunk-QTG266XU.js.map +1 -0
  201. package/dist/chunk-QV4BQRNH.js +29 -0
  202. package/dist/chunk-QV4BQRNH.js.map +1 -0
  203. package/dist/chunk-RJ6RAMKH.js +89 -0
  204. package/dist/chunk-RJ6RAMKH.js.map +1 -0
  205. package/dist/chunk-RJBCTMVW.js +59 -0
  206. package/dist/chunk-RJBCTMVW.js.map +1 -0
  207. package/dist/chunk-RMJYXHBX.js +113 -0
  208. package/dist/chunk-RMJYXHBX.js.map +1 -0
  209. package/dist/chunk-RQT5DWGG.js +34 -0
  210. package/dist/chunk-RQT5DWGG.js.map +1 -0
  211. package/dist/chunk-SPGNNN4R.js +115 -0
  212. package/dist/chunk-SPGNNN4R.js.map +1 -0
  213. package/dist/chunk-SQ66DCXY.js +35 -0
  214. package/dist/chunk-SQ66DCXY.js.map +1 -0
  215. package/dist/chunk-SXKGWHAM.js +179 -0
  216. package/dist/chunk-SXKGWHAM.js.map +1 -0
  217. package/dist/chunk-T2OKGV6M.js +13 -0
  218. package/dist/chunk-T2OKGV6M.js.map +1 -0
  219. package/dist/chunk-T4Z7HBZR.js +110 -0
  220. package/dist/chunk-T4Z7HBZR.js.map +1 -0
  221. package/dist/chunk-TW5I37AE.js +142 -0
  222. package/dist/chunk-TW5I37AE.js.map +1 -0
  223. package/dist/chunk-TY6NTWN5.js +29 -0
  224. package/dist/chunk-TY6NTWN5.js.map +1 -0
  225. package/dist/chunk-UJAWV6LM.js +136 -0
  226. package/dist/chunk-UJAWV6LM.js.map +1 -0
  227. package/dist/chunk-V2WCZBVE.js +122 -0
  228. package/dist/chunk-V2WCZBVE.js.map +1 -0
  229. package/dist/chunk-V4LRBYOD.js +55 -0
  230. package/dist/chunk-V4LRBYOD.js.map +1 -0
  231. package/dist/chunk-V6H2RUVP.js +77 -0
  232. package/dist/chunk-V6H2RUVP.js.map +1 -0
  233. package/dist/chunk-VFRFUU7A.js +35 -0
  234. package/dist/chunk-VFRFUU7A.js.map +1 -0
  235. package/dist/chunk-VHK2OUCW.js +38 -0
  236. package/dist/chunk-VHK2OUCW.js.map +1 -0
  237. package/dist/chunk-VLNFUEOR.js +86 -0
  238. package/dist/chunk-VLNFUEOR.js.map +1 -0
  239. package/dist/chunk-VU7XKD4G.js +66 -0
  240. package/dist/chunk-VU7XKD4G.js.map +1 -0
  241. package/dist/chunk-VZX4HLBM.js +84 -0
  242. package/dist/chunk-VZX4HLBM.js.map +1 -0
  243. package/dist/chunk-W24RR5OD.js +102 -0
  244. package/dist/chunk-W24RR5OD.js.map +1 -0
  245. package/dist/chunk-W47V2F3Q.js +115 -0
  246. package/dist/chunk-W47V2F3Q.js.map +1 -0
  247. package/dist/chunk-W743ORLA.js +91 -0
  248. package/dist/chunk-W743ORLA.js.map +1 -0
  249. package/dist/chunk-W7I3ZX66.js +76 -0
  250. package/dist/chunk-W7I3ZX66.js.map +1 -0
  251. package/dist/chunk-WD42UBGR.js +64 -0
  252. package/dist/chunk-WD42UBGR.js.map +1 -0
  253. package/dist/chunk-WQVEJJV7.js +108 -0
  254. package/dist/chunk-WQVEJJV7.js.map +1 -0
  255. package/dist/chunk-WX4Q4DTX.js +121 -0
  256. package/dist/chunk-WX4Q4DTX.js.map +1 -0
  257. package/dist/chunk-XC7SYZYR.js +86 -0
  258. package/dist/chunk-XC7SYZYR.js.map +1 -0
  259. package/dist/chunk-XSENM65D.js +128 -0
  260. package/dist/chunk-XSENM65D.js.map +1 -0
  261. package/dist/chunk-Y7JTBQUQ.js +152 -0
  262. package/dist/chunk-Y7JTBQUQ.js.map +1 -0
  263. package/dist/chunk-YD2QEVHO.js +68 -0
  264. package/dist/chunk-YD2QEVHO.js.map +1 -0
  265. package/dist/chunk-YDKRUSB5.js +35 -0
  266. package/dist/chunk-YDKRUSB5.js.map +1 -0
  267. package/dist/chunk-YNDHYMPI.js +46 -0
  268. package/dist/chunk-YNDHYMPI.js.map +1 -0
  269. package/dist/chunk-YO3WEMOH.js +130 -0
  270. package/dist/chunk-YO3WEMOH.js.map +1 -0
  271. package/dist/chunk-YVXMWUWD.js +118 -0
  272. package/dist/chunk-YVXMWUWD.js.map +1 -0
  273. package/dist/chunk-Z6HZMGO2.js +106 -0
  274. package/dist/chunk-Z6HZMGO2.js.map +1 -0
  275. package/dist/chunk-ZAP4RIUL.js +81 -0
  276. package/dist/chunk-ZAP4RIUL.js.map +1 -0
  277. package/dist/chunk-ZEDDWVBB.js +112 -0
  278. package/dist/chunk-ZEDDWVBB.js.map +1 -0
  279. package/dist/chunk-ZEFOXF2I.js +87 -0
  280. package/dist/chunk-ZEFOXF2I.js.map +1 -0
  281. package/dist/chunk-ZPURFK4C.js +203 -0
  282. package/dist/chunk-ZPURFK4C.js.map +1 -0
  283. package/dist/chunk-ZZZIOTLC.js +89 -0
  284. package/dist/chunk-ZZZIOTLC.js.map +1 -0
  285. package/dist/components/composites/account-menu/account-menu.d.ts +43 -0
  286. package/dist/components/composites/account-menu/index.d.ts +1 -0
  287. package/dist/components/composites/agent-composer/agent-composer.d.ts +41 -0
  288. package/dist/components/composites/agent-composer/index.d.ts +1 -0
  289. package/dist/components/composites/agent-editor/agent-editor.d.ts +31 -0
  290. package/dist/components/composites/agent-editor/index.d.ts +1 -0
  291. package/dist/components/composites/agent-stream/agent-stream.d.ts +72 -0
  292. package/dist/components/composites/agent-stream/index.d.ts +2 -0
  293. package/dist/components/composites/agent-stream/to-agent-stream-items.d.ts +32 -0
  294. package/dist/components/composites/agent-timeline/agent-timeline.d.ts +22 -0
  295. package/dist/components/composites/agent-timeline/index.d.ts +1 -0
  296. package/dist/components/composites/agent-tool-renderer/agent-tool-renderer.d.ts +60 -0
  297. package/dist/components/composites/agent-tool-renderer/index.d.ts +1 -0
  298. package/dist/components/composites/agent-tool-renderer/tool-call-part.d.ts +5 -0
  299. package/dist/components/composites/approval-card/approval-card.d.ts +35 -0
  300. package/dist/components/composites/approval-card/index.d.ts +1 -0
  301. package/dist/components/composites/chat-composer/chat-composer.d.ts +68 -0
  302. package/dist/components/composites/chat-composer/index.d.ts +1 -0
  303. package/dist/components/composites/chat-message/chat-message-actions.d.ts +22 -0
  304. package/dist/components/composites/chat-message/chat-message-branch.d.ts +17 -0
  305. package/dist/components/composites/chat-message/chat-message-response.d.ts +15 -0
  306. package/dist/components/composites/chat-message/chat-message-toolbar.d.ts +7 -0
  307. package/dist/components/composites/chat-message/chat-message.d.ts +94 -0
  308. package/dist/components/composites/chat-message/index.d.ts +23 -0
  309. package/dist/components/composites/chat-message/parts/data-part.d.ts +9 -0
  310. package/dist/components/composites/chat-message/parts/file-part.d.ts +5 -0
  311. package/dist/components/composites/chat-message/parts/reasoning-part.d.ts +7 -0
  312. package/dist/components/composites/chat-message/parts/source-part.d.ts +9 -0
  313. package/dist/components/composites/chat-message/parts/text-part.d.ts +11 -0
  314. package/dist/components/composites/choice-prompt/choice-prompt.d.ts +65 -0
  315. package/dist/components/composites/choice-prompt/index.d.ts +2 -0
  316. package/dist/components/composites/code-block/code-block.d.ts +29 -0
  317. package/dist/components/composites/code-block/index.d.ts +1 -0
  318. package/dist/components/composites/command-palette/command-palette.d.ts +41 -0
  319. package/dist/components/composites/command-palette/index.d.ts +1 -0
  320. package/dist/components/composites/confirm-dialog/confirm-dialog.d.ts +41 -0
  321. package/dist/components/composites/confirm-dialog/index.d.ts +1 -0
  322. package/dist/components/composites/confirm-prompt/confirm-prompt.d.ts +31 -0
  323. package/dist/components/composites/confirm-prompt/index.d.ts +1 -0
  324. package/dist/components/composites/cron-jobs-list/cron-jobs-list.d.ts +15 -0
  325. package/dist/components/composites/cron-jobs-list/index.d.ts +1 -0
  326. package/dist/components/composites/data-table/data-table.d.ts +63 -0
  327. package/dist/components/composites/data-table/index.d.ts +1 -0
  328. package/dist/components/composites/deployment-row/deployment-row.d.ts +28 -0
  329. package/dist/components/composites/deployment-row/index.d.ts +1 -0
  330. package/dist/components/composites/domain-config/domain-config.d.ts +34 -0
  331. package/dist/components/composites/domain-config/index.d.ts +1 -0
  332. package/dist/components/composites/env-var-editor/env-var-editor.d.ts +35 -0
  333. package/dist/components/composites/env-var-editor/index.d.ts +1 -0
  334. package/dist/components/composites/mcp-server-list/index.d.ts +1 -0
  335. package/dist/components/composites/mcp-server-list/mcp-server-list.d.ts +15 -0
  336. package/dist/components/composites/metric-card/index.d.ts +2 -0
  337. package/dist/components/composites/metric-card/metric-card.d.ts +46 -0
  338. package/dist/components/composites/multi-select-prompt/index.d.ts +1 -0
  339. package/dist/components/composites/multi-select-prompt/multi-select-prompt.d.ts +61 -0
  340. package/dist/components/composites/page-shell/index.d.ts +1 -0
  341. package/dist/components/composites/page-shell/page-shell.d.ts +68 -0
  342. package/dist/components/composites/permission-modal/index.d.ts +1 -0
  343. package/dist/components/composites/permission-modal/permission-modal.d.ts +48 -0
  344. package/dist/components/composites/preview-env-card/index.d.ts +1 -0
  345. package/dist/components/composites/preview-env-card/preview-env-card.d.ts +36 -0
  346. package/dist/components/composites/preview-panel/index.d.ts +1 -0
  347. package/dist/components/composites/preview-panel/preview-panel.d.ts +24 -0
  348. package/dist/components/composites/project-card/index.d.ts +1 -0
  349. package/dist/components/composites/project-card/project-card.d.ts +32 -0
  350. package/dist/components/composites/rollback-ui/index.d.ts +1 -0
  351. package/dist/components/composites/rollback-ui/rollback-ui.d.ts +32 -0
  352. package/dist/components/composites/rule-editor/index.d.ts +1 -0
  353. package/dist/components/composites/rule-editor/rule-editor.d.ts +18 -0
  354. package/dist/components/composites/skill-editor/index.d.ts +1 -0
  355. package/dist/components/composites/skill-editor/skill-editor.d.ts +19 -0
  356. package/dist/components/composites/skills-list/index.d.ts +1 -0
  357. package/dist/components/composites/skills-list/skills-list.d.ts +15 -0
  358. package/dist/components/composites/slide-deck/context.d.ts +23 -0
  359. package/dist/components/composites/slide-deck/controls.d.ts +8 -0
  360. package/dist/components/composites/slide-deck/fragments.d.ts +20 -0
  361. package/dist/components/composites/slide-deck/index.d.ts +21 -0
  362. package/dist/components/composites/slide-deck/notes.d.ts +14 -0
  363. package/dist/components/composites/slide-deck/presenter-view.d.ts +15 -0
  364. package/dist/components/composites/slide-deck/print-styles.d.ts +21 -0
  365. package/dist/components/composites/slide-deck/progress-bar.d.ts +8 -0
  366. package/dist/components/composites/slide-deck/schema.d.ts +31 -0
  367. package/dist/components/composites/slide-deck/slide-deck.d.ts +78 -0
  368. package/dist/components/composites/slide-deck/slide-number.d.ts +11 -0
  369. package/dist/components/composites/slide-deck/split-deck.d.ts +2 -0
  370. package/dist/components/composites/slide-deck/thumbnails.d.ts +19 -0
  371. package/dist/components/composites/slide-deck/use-deck-hash-routing.d.ts +23 -0
  372. package/dist/components/composites/slide-deck/use-deck-keyboard.d.ts +25 -0
  373. package/dist/components/composites/slide-deck/use-deck-state.d.ts +57 -0
  374. package/dist/components/composites/slide-deck/use-deck-swipe.d.ts +20 -0
  375. package/dist/components/composites/slide-deck/use-fullscreen.d.ts +18 -0
  376. package/dist/components/composites/stability-bundle-viewer/index.d.ts +1 -0
  377. package/dist/components/composites/stability-bundle-viewer/stability-bundle-viewer.d.ts +28 -0
  378. package/dist/components/composites/status-indicator/index.d.ts +2 -0
  379. package/dist/components/composites/status-indicator/status-indicator.d.ts +31 -0
  380. package/dist/components/composites/task-header/index.d.ts +1 -0
  381. package/dist/components/composites/task-header/task-header.d.ts +20 -0
  382. package/dist/components/composites/text-prompt/index.d.ts +1 -0
  383. package/dist/components/composites/text-prompt/text-prompt.d.ts +48 -0
  384. package/dist/components/composites/usage-meter/index.d.ts +1 -0
  385. package/dist/components/composites/usage-meter/usage-meter.d.ts +56 -0
  386. package/dist/components/primitives/action-bar/action-bar.d.ts +34 -0
  387. package/dist/components/primitives/action-bar/index.d.ts +1 -0
  388. package/dist/components/primitives/agent-error-card/agent-error-card.d.ts +47 -0
  389. package/dist/components/primitives/agent-error-card/index.d.ts +1 -0
  390. package/dist/components/primitives/agent-event/agent-event.d.ts +25 -0
  391. package/dist/components/primitives/agent-event/index.d.ts +1 -0
  392. package/dist/components/primitives/agent-handoff/agent-handoff.d.ts +24 -0
  393. package/dist/components/primitives/agent-handoff/index.d.ts +1 -0
  394. package/dist/components/primitives/agent-profile/agent-profile.d.ts +28 -0
  395. package/dist/components/primitives/agent-profile/index.d.ts +1 -0
  396. package/dist/components/primitives/agent-starting-state/agent-starting-state.d.ts +15 -0
  397. package/dist/components/primitives/agent-starting-state/index.d.ts +1 -0
  398. package/dist/components/primitives/agent-streaming/agent-streaming.d.ts +16 -0
  399. package/dist/components/primitives/agent-streaming/index.d.ts +1 -0
  400. package/dist/components/primitives/alert/alert.d.ts +31 -0
  401. package/dist/components/primitives/alert/index.d.ts +1 -0
  402. package/dist/components/primitives/artifact-preview/artifact-preview.d.ts +25 -0
  403. package/dist/components/primitives/artifact-preview/index.d.ts +1 -0
  404. package/dist/components/primitives/attachment-chip/attachment-chip.d.ts +14 -0
  405. package/dist/components/primitives/attachment-chip/index.d.ts +1 -0
  406. package/dist/components/primitives/audit-log-entry/audit-log-entry.d.ts +29 -0
  407. package/dist/components/primitives/audit-log-entry/index.d.ts +1 -0
  408. package/dist/components/primitives/auto-compact-notice/auto-compact-notice.d.ts +24 -0
  409. package/dist/components/primitives/auto-compact-notice/index.d.ts +1 -0
  410. package/dist/components/primitives/avatar/avatar.d.ts +26 -0
  411. package/dist/components/primitives/avatar/index.d.ts +1 -0
  412. package/dist/components/primitives/badge/badge.d.ts +33 -0
  413. package/dist/components/primitives/badge/index.d.ts +1 -0
  414. package/dist/components/primitives/branch-indicator/branch-indicator.d.ts +13 -0
  415. package/dist/components/primitives/branch-indicator/index.d.ts +1 -0
  416. package/dist/components/primitives/browser-controls/browser-controls.d.ts +19 -0
  417. package/dist/components/primitives/browser-controls/index.d.ts +1 -0
  418. package/dist/components/primitives/build-log-stream/build-log-stream.d.ts +51 -0
  419. package/dist/components/primitives/build-log-stream/index.d.ts +1 -0
  420. package/dist/components/primitives/button/button.d.ts +26 -0
  421. package/dist/components/primitives/button/index.d.ts +1 -0
  422. package/dist/components/primitives/capability-indicator/capability-indicator.d.ts +57 -0
  423. package/dist/components/primitives/capability-indicator/index.d.ts +1 -0
  424. package/dist/components/primitives/card/card.d.ts +40 -0
  425. package/dist/components/primitives/card/index.d.ts +1 -0
  426. package/dist/components/primitives/channel-card/channel-card.d.ts +28 -0
  427. package/dist/components/primitives/channel-card/index.d.ts +1 -0
  428. package/dist/components/primitives/chat-thread/chat-thread.d.ts +12 -0
  429. package/dist/components/primitives/chat-thread/index.d.ts +1 -0
  430. package/dist/components/primitives/checkbox/checkbox.d.ts +20 -0
  431. package/dist/components/primitives/checkbox/index.d.ts +1 -0
  432. package/dist/components/primitives/context-card/context-card.d.ts +18 -0
  433. package/dist/components/primitives/context-card/index.d.ts +1 -0
  434. package/dist/components/primitives/context-window-bar/context-window-bar.d.ts +27 -0
  435. package/dist/components/primitives/context-window-bar/index.d.ts +1 -0
  436. package/dist/components/primitives/copy-button/copy-button.d.ts +17 -0
  437. package/dist/components/primitives/copy-button/index.d.ts +1 -0
  438. package/dist/components/primitives/cost-meter/cost-meter.d.ts +23 -0
  439. package/dist/components/primitives/cost-meter/index.d.ts +1 -0
  440. package/dist/components/primitives/created-files-card/created-files-card.d.ts +30 -0
  441. package/dist/components/primitives/created-files-card/index.d.ts +1 -0
  442. package/dist/components/primitives/cron-job-card/cron-job-card.d.ts +30 -0
  443. package/dist/components/primitives/cron-job-card/index.d.ts +1 -0
  444. package/dist/components/primitives/danger-zone/danger-zone.d.ts +40 -0
  445. package/dist/components/primitives/danger-zone/index.d.ts +1 -0
  446. package/dist/components/primitives/dialog/dialog.d.ts +26 -0
  447. package/dist/components/primitives/dialog/index.d.ts +1 -0
  448. package/dist/components/primitives/diff-viewer/diff-viewer.d.ts +45 -0
  449. package/dist/components/primitives/diff-viewer/index.d.ts +1 -0
  450. package/dist/components/primitives/dropdown-menu/dropdown-menu.d.ts +68 -0
  451. package/dist/components/primitives/dropdown-menu/index.d.ts +1 -0
  452. package/dist/components/primitives/empty-state/empty-state.d.ts +22 -0
  453. package/dist/components/primitives/empty-state/index.d.ts +1 -0
  454. package/dist/components/primitives/export-chat-dialog/export-chat-dialog.d.ts +18 -0
  455. package/dist/components/primitives/export-chat-dialog/index.d.ts +1 -0
  456. package/dist/components/primitives/folder-context-card/folder-context-card.d.ts +40 -0
  457. package/dist/components/primitives/folder-context-card/index.d.ts +1 -0
  458. package/dist/components/primitives/folder-selector/folder-selector.d.ts +18 -0
  459. package/dist/components/primitives/folder-selector/index.d.ts +1 -0
  460. package/dist/components/primitives/form-field/form-field.d.ts +44 -0
  461. package/dist/components/primitives/form-field/index.d.ts +1 -0
  462. package/dist/components/primitives/gateway-status-indicator/gateway-status-indicator.d.ts +19 -0
  463. package/dist/components/primitives/gateway-status-indicator/index.d.ts +1 -0
  464. package/dist/components/primitives/hook-config/hook-config.d.ts +27 -0
  465. package/dist/components/primitives/hook-config/index.d.ts +1 -0
  466. package/dist/components/primitives/hook-event-log/hook-event-log.d.ts +27 -0
  467. package/dist/components/primitives/hook-event-log/index.d.ts +1 -0
  468. package/dist/components/primitives/input/index.d.ts +1 -0
  469. package/dist/components/primitives/input/input.d.ts +24 -0
  470. package/dist/components/primitives/intent-selector/index.d.ts +1 -0
  471. package/dist/components/primitives/intent-selector/intent-selector.d.ts +22 -0
  472. package/dist/components/primitives/label/index.d.ts +1 -0
  473. package/dist/components/primitives/label/label.d.ts +15 -0
  474. package/dist/components/primitives/lane-board/index.d.ts +1 -0
  475. package/dist/components/primitives/lane-board/lane-board.d.ts +26 -0
  476. package/dist/components/primitives/login-split/index.d.ts +1 -0
  477. package/dist/components/primitives/login-split/login-split.d.ts +24 -0
  478. package/dist/components/primitives/mcp-server-card/index.d.ts +1 -0
  479. package/dist/components/primitives/mcp-server-card/mcp-server-card.d.ts +32 -0
  480. package/dist/components/primitives/memory-editor/index.d.ts +1 -0
  481. package/dist/components/primitives/memory-editor/memory-editor.d.ts +29 -0
  482. package/dist/components/primitives/mention-menu/index.d.ts +1 -0
  483. package/dist/components/primitives/mention-menu/mention-menu.d.ts +44 -0
  484. package/dist/components/primitives/metrics-panel/index.d.ts +1 -0
  485. package/dist/components/primitives/metrics-panel/metrics-panel.d.ts +62 -0
  486. package/dist/components/primitives/model-card/index.d.ts +1 -0
  487. package/dist/components/primitives/model-card/model-card.d.ts +72 -0
  488. package/dist/components/primitives/model-selector/index.d.ts +1 -0
  489. package/dist/components/primitives/model-selector/model-selector.d.ts +21 -0
  490. package/dist/components/primitives/pagination/index.d.ts +1 -0
  491. package/dist/components/primitives/pagination/pagination.d.ts +44 -0
  492. package/dist/components/primitives/permission-matrix/index.d.ts +1 -0
  493. package/dist/components/primitives/permission-matrix/permission-matrix.d.ts +43 -0
  494. package/dist/components/primitives/pin-input/index.d.ts +1 -0
  495. package/dist/components/primitives/pin-input/pin-input.d.ts +41 -0
  496. package/dist/components/primitives/plan-badge/index.d.ts +1 -0
  497. package/dist/components/primitives/plan-badge/plan-badge.d.ts +35 -0
  498. package/dist/components/primitives/progress/index.d.ts +1 -0
  499. package/dist/components/primitives/progress/progress.d.ts +44 -0
  500. package/dist/components/primitives/progress-checklist/index.d.ts +1 -0
  501. package/dist/components/primitives/progress-checklist/progress-checklist.d.ts +18 -0
  502. package/dist/components/primitives/project-switcher/index.d.ts +1 -0
  503. package/dist/components/primitives/project-switcher/project-switcher.d.ts +32 -0
  504. package/dist/components/primitives/quick-action-chips/index.d.ts +1 -0
  505. package/dist/components/primitives/quick-action-chips/quick-action-chips.d.ts +22 -0
  506. package/dist/components/primitives/radio-group/index.d.ts +1 -0
  507. package/dist/components/primitives/radio-group/radio-group.d.ts +5 -0
  508. package/dist/components/primitives/recent-folders-list/index.d.ts +1 -0
  509. package/dist/components/primitives/recent-folders-list/recent-folders-list.d.ts +21 -0
  510. package/dist/components/primitives/rule-card/index.d.ts +1 -0
  511. package/dist/components/primitives/rule-card/rule-card.d.ts +15 -0
  512. package/dist/components/primitives/run-stats/index.d.ts +1 -0
  513. package/dist/components/primitives/run-stats/run-stats.d.ts +16 -0
  514. package/dist/components/primitives/run-status-pill/index.d.ts +1 -0
  515. package/dist/components/primitives/run-status-pill/run-status-pill.d.ts +13 -0
  516. package/dist/components/primitives/running-tasks-panel/index.d.ts +1 -0
  517. package/dist/components/primitives/running-tasks-panel/running-tasks-panel.d.ts +20 -0
  518. package/dist/components/primitives/scroll-area/index.d.ts +2 -0
  519. package/dist/components/primitives/scroll-area/scroll-area.d.ts +40 -0
  520. package/dist/components/primitives/scroll-area/use-stick-to-bottom.d.ts +20 -0
  521. package/dist/components/primitives/select/index.d.ts +1 -0
  522. package/dist/components/primitives/select/select.d.ts +50 -0
  523. package/dist/components/primitives/session-list-item/index.d.ts +1 -0
  524. package/dist/components/primitives/session-list-item/session-list-item.d.ts +35 -0
  525. package/dist/components/primitives/session-timeline/index.d.ts +1 -0
  526. package/dist/components/primitives/session-timeline/session-timeline.d.ts +32 -0
  527. package/dist/components/primitives/sheet/index.d.ts +1 -0
  528. package/dist/components/primitives/sheet/sheet.d.ts +57 -0
  529. package/dist/components/primitives/sidebar/index.d.ts +1 -0
  530. package/dist/components/primitives/sidebar/sidebar.d.ts +18 -0
  531. package/dist/components/primitives/skeleton/index.d.ts +1 -0
  532. package/dist/components/primitives/skeleton/skeleton.d.ts +21 -0
  533. package/dist/components/primitives/skill-card/index.d.ts +1 -0
  534. package/dist/components/primitives/skill-card/skill-card.d.ts +28 -0
  535. package/dist/components/primitives/slide/alerts.d.ts +31 -0
  536. package/dist/components/primitives/slide/frontmatter.d.ts +23 -0
  537. package/dist/components/primitives/slide/index.d.ts +16 -0
  538. package/dist/components/primitives/slide/json-schema.d.ts +9 -0
  539. package/dist/components/primitives/slide/marpit-bg.d.ts +36 -0
  540. package/dist/components/primitives/slide/parse.d.ts +59 -0
  541. package/dist/components/primitives/slide/plugin.d.ts +79 -0
  542. package/dist/components/primitives/slide/plugins/emoji/index.d.ts +8 -0
  543. package/dist/components/primitives/slide/plugins/emoji/map.d.ts +15 -0
  544. package/dist/components/primitives/slide/plugins/math/index.d.ts +6 -0
  545. package/dist/components/primitives/slide/plugins/mermaid/index.d.ts +48 -0
  546. package/dist/components/primitives/slide/plugins/shiki/index.d.ts +11 -0
  547. package/dist/components/primitives/slide/sanitize.d.ts +33 -0
  548. package/dist/components/primitives/slide/schema.d.ts +109 -0
  549. package/dist/components/primitives/slide/slide.d.ts +53 -0
  550. package/dist/components/primitives/slide/themes/index.d.ts +9 -0
  551. package/dist/components/primitives/slide/use-slide-fit.d.ts +21 -0
  552. package/dist/components/primitives/slide/validate.d.ts +33 -0
  553. package/dist/components/primitives/social-auth-row/index.d.ts +1 -0
  554. package/dist/components/primitives/social-auth-row/social-auth-row.d.ts +24 -0
  555. package/dist/components/primitives/stat-tile/index.d.ts +1 -0
  556. package/dist/components/primitives/stat-tile/stat-tile.d.ts +28 -0
  557. package/dist/components/primitives/status-dot/index.d.ts +1 -0
  558. package/dist/components/primitives/status-dot/status-dot.d.ts +31 -0
  559. package/dist/components/primitives/steps-rail/index.d.ts +1 -0
  560. package/dist/components/primitives/steps-rail/steps-rail.d.ts +24 -0
  561. package/dist/components/primitives/sub-agent-dispatch/index.d.ts +1 -0
  562. package/dist/components/primitives/sub-agent-dispatch/sub-agent-dispatch.d.ts +30 -0
  563. package/dist/components/primitives/switch/index.d.ts +1 -0
  564. package/dist/components/primitives/switch/switch.d.ts +20 -0
  565. package/dist/components/primitives/system-prompt-editor/index.d.ts +1 -0
  566. package/dist/components/primitives/system-prompt-editor/system-prompt-editor.d.ts +25 -0
  567. package/dist/components/primitives/table/index.d.ts +1 -0
  568. package/dist/components/primitives/table/table.d.ts +61 -0
  569. package/dist/components/primitives/tabs/index.d.ts +1 -0
  570. package/dist/components/primitives/tabs/tabs.d.ts +7 -0
  571. package/dist/components/primitives/task-plan/index.d.ts +1 -0
  572. package/dist/components/primitives/task-plan/task-plan.d.ts +36 -0
  573. package/dist/components/primitives/terminal-panel/index.d.ts +1 -0
  574. package/dist/components/primitives/terminal-panel/terminal-panel.d.ts +32 -0
  575. package/dist/components/primitives/textarea/index.d.ts +1 -0
  576. package/dist/components/primitives/textarea/textarea.d.ts +20 -0
  577. package/dist/components/primitives/thinking-level-selector/index.d.ts +1 -0
  578. package/dist/components/primitives/thinking-level-selector/thinking-level-selector.d.ts +24 -0
  579. package/dist/components/primitives/timestamp/index.d.ts +1 -0
  580. package/dist/components/primitives/timestamp/timestamp.d.ts +34 -0
  581. package/dist/components/primitives/toast/index.d.ts +2 -0
  582. package/dist/components/primitives/toast/toast.d.ts +34 -0
  583. package/dist/components/primitives/toast/toaster.d.ts +38 -0
  584. package/dist/components/primitives/token-usage-chart/index.d.ts +2 -0
  585. package/dist/components/primitives/token-usage-chart/token-usage-chart.d.ts +44 -0
  586. package/dist/components/primitives/token-usage-chart/usage-metrics.d.ts +23 -0
  587. package/dist/components/primitives/tool-call/index.d.ts +1 -0
  588. package/dist/components/primitives/tool-call/tool-call.d.ts +30 -0
  589. package/dist/components/primitives/tool-call-card/index.d.ts +1 -0
  590. package/dist/components/primitives/tool-call-card/tool-call-card.d.ts +30 -0
  591. package/dist/components/primitives/tool-result/index.d.ts +1 -0
  592. package/dist/components/primitives/tool-result/tool-result.d.ts +19 -0
  593. package/dist/components/primitives/tools-list/index.d.ts +1 -0
  594. package/dist/components/primitives/tools-list/tools-list.d.ts +32 -0
  595. package/dist/components/primitives/tooltip/index.d.ts +1 -0
  596. package/dist/components/primitives/tooltip/tooltip.d.ts +33 -0
  597. package/dist/components/primitives/topnav/index.d.ts +1 -0
  598. package/dist/components/primitives/topnav/topnav.d.ts +29 -0
  599. package/dist/components/primitives/update-banner/index.d.ts +1 -0
  600. package/dist/components/primitives/update-banner/update-banner.d.ts +16 -0
  601. package/dist/components/primitives/whiteboard/index.d.ts +2 -0
  602. package/dist/components/primitives/whiteboard/render/freedraw.d.ts +2 -0
  603. package/dist/components/primitives/whiteboard/render/line.d.ts +4 -0
  604. package/dist/components/primitives/whiteboard/render/rough-paths.d.ts +16 -0
  605. package/dist/components/primitives/whiteboard/render/scene.d.ts +3 -0
  606. package/dist/components/primitives/whiteboard/render/shape.d.ts +5 -0
  607. package/dist/components/primitives/whiteboard/render/style.d.ts +24 -0
  608. package/dist/components/primitives/whiteboard/render/text.d.ts +2 -0
  609. package/dist/components/primitives/whiteboard/schema.d.ts +596 -0
  610. package/dist/components/primitives/whiteboard/seed.d.ts +22 -0
  611. package/dist/components/primitives/whiteboard/validate.d.ts +26 -0
  612. package/dist/components/primitives/whiteboard/viewport/use-pointer-pan.d.ts +11 -0
  613. package/dist/components/primitives/whiteboard/viewport/use-viewport.d.ts +33 -0
  614. package/dist/components/primitives/whiteboard/whiteboard.d.ts +21 -0
  615. package/dist/components.css +1 -1
  616. package/dist/composites/account-menu/index.js +4 -4
  617. package/dist/composites/agent-composer/index.js +6 -5
  618. package/dist/composites/agent-editor/index.js +8 -7
  619. package/dist/composites/agent-stream/index.js +21 -9
  620. package/dist/composites/agent-timeline/index.js +3 -3
  621. package/dist/composites/agent-tool-renderer/index.js +17 -0
  622. package/dist/composites/agent-tool-renderer/index.js.map +1 -0
  623. package/dist/composites/approval-card/index.js +3 -3
  624. package/dist/composites/chat-composer/index.js +3 -3
  625. package/dist/composites/chat-message/index.js +18 -4
  626. package/dist/composites/choice-prompt/index.js +11 -0
  627. package/dist/composites/choice-prompt/index.js.map +1 -0
  628. package/dist/composites/code-block/index.js +3 -3
  629. package/dist/composites/command-palette/index.js +4 -3
  630. package/dist/composites/confirm-dialog/index.js +6 -5
  631. package/dist/composites/confirm-prompt/index.js +7 -0
  632. package/dist/composites/confirm-prompt/index.js.map +1 -0
  633. package/dist/composites/cron-jobs-list/index.js +3 -3
  634. package/dist/composites/data-table/index.js +8 -7
  635. package/dist/composites/deployment-row/index.js +3 -3
  636. package/dist/composites/domain-config/index.js +6 -5
  637. package/dist/composites/env-var-editor/index.js +7 -5
  638. package/dist/composites/mcp-server-list/index.js +4 -3
  639. package/dist/composites/metric-card/index.js +5 -0
  640. package/dist/composites/metric-card/index.js.map +1 -0
  641. package/dist/composites/multi-select-prompt/index.js +11 -0
  642. package/dist/composites/multi-select-prompt/index.js.map +1 -0
  643. package/dist/composites/page-shell/index.js +6 -5
  644. package/dist/composites/permission-modal/index.js +5 -4
  645. package/dist/composites/preview-env-card/index.js +4 -4
  646. package/dist/composites/preview-panel/index.js +3 -3
  647. package/dist/composites/project-card/index.js +4 -4
  648. package/dist/composites/rollback-ui/index.js +5 -4
  649. package/dist/composites/rule-editor/index.js +9 -8
  650. package/dist/composites/skill-editor/index.js +9 -8
  651. package/dist/composites/skills-list/index.js +4 -3
  652. package/dist/composites/stability-bundle-viewer/index.js +3 -2
  653. package/dist/composites/status-indicator/index.js +4 -0
  654. package/dist/composites/status-indicator/index.js.map +1 -0
  655. package/dist/composites/task-header/index.js +3 -3
  656. package/dist/composites/text-prompt/index.js +10 -0
  657. package/dist/composites/text-prompt/index.js.map +1 -0
  658. package/dist/composites/usage-meter/index.js +3 -3
  659. package/dist/fonts-cdn.css +4 -4
  660. package/dist/fonts.css +2 -2
  661. package/dist/index.d.ts +144 -4622
  662. package/dist/index.js +999 -739
  663. package/dist/index.js.map +1 -1
  664. package/dist/lib/cn.d.ts +6 -0
  665. package/dist/lib/env.d.ts +55 -0
  666. package/dist/lib/live-region-context.d.ts +2 -0
  667. package/dist/lib/markdown/code-block.d.ts +14 -0
  668. package/dist/lib/markdown/inline-code.d.ts +10 -0
  669. package/dist/lib/markdown/math.d.ts +12 -0
  670. package/dist/lib/markdown/mermaid.d.ts +6 -0
  671. package/dist/lib/markdown/parser.d.ts +47 -0
  672. package/dist/lib/markdown/streaming-preprocess.d.ts +39 -0
  673. package/dist/lib/prompt.d.ts +40 -0
  674. package/dist/lib/safe-href.d.ts +27 -0
  675. package/dist/lib/sdk-tools-adapters/index.d.ts +1 -0
  676. package/dist/lib/sdk-tools-adapters/index.js +3 -0
  677. package/dist/lib/sdk-tools-adapters/index.js.map +1 -0
  678. package/dist/lib/sdk-tools-adapters/sdk-tools-adapters.d.ts +60 -0
  679. package/dist/lib/types.d.ts +10 -0
  680. package/dist/preset-v3-legacy.d.ts +7 -10
  681. package/dist/preset-v3-legacy.js +23 -3
  682. package/dist/preset-v3-legacy.js.map +1 -1
  683. package/dist/preset.css +2 -2
  684. package/dist/primitives/action-bar/index.js +2 -2
  685. package/dist/primitives/agent-error-card/index.js +2 -2
  686. package/dist/primitives/agent-event/index.js +3 -2
  687. package/dist/primitives/agent-handoff/index.js +2 -2
  688. package/dist/primitives/agent-profile/index.js +2 -2
  689. package/dist/primitives/agent-starting-state/index.js +2 -2
  690. package/dist/primitives/agent-streaming/index.js +2 -2
  691. package/dist/primitives/alert/index.js +2 -2
  692. package/dist/primitives/artifact-preview/index.js +2 -2
  693. package/dist/primitives/attachment-chip/index.js +2 -2
  694. package/dist/primitives/audit-log-entry/index.js +2 -2
  695. package/dist/primitives/auto-compact-notice/index.js +2 -2
  696. package/dist/primitives/avatar/index.js +2 -2
  697. package/dist/primitives/badge/index.js +2 -2
  698. package/dist/primitives/branch-indicator/index.js +2 -2
  699. package/dist/primitives/browser-controls/index.js +2 -2
  700. package/dist/primitives/build-log-stream/index.js +4 -2
  701. package/dist/primitives/button/index.js +2 -2
  702. package/dist/primitives/capability-indicator/index.js +2 -2
  703. package/dist/primitives/card/index.js +3 -2
  704. package/dist/primitives/channel-card/index.js +2 -2
  705. package/dist/primitives/chat-thread/index.js +2 -2
  706. package/dist/primitives/checkbox/index.js +2 -2
  707. package/dist/primitives/context-card/index.js +2 -2
  708. package/dist/primitives/context-window-bar/index.js +2 -2
  709. package/dist/primitives/copy-button/index.js +3 -2
  710. package/dist/primitives/cost-meter/index.js +2 -2
  711. package/dist/primitives/created-files-card/index.js +2 -2
  712. package/dist/primitives/cron-job-card/index.js +2 -2
  713. package/dist/primitives/danger-zone/index.js +2 -2
  714. package/dist/primitives/dialog/index.js +2 -2
  715. package/dist/primitives/diff-viewer/index.js +2 -2
  716. package/dist/primitives/dropdown-menu/index.js +2 -2
  717. package/dist/primitives/empty-state/index.js +2 -2
  718. package/dist/primitives/export-chat-dialog/index.js +3 -2
  719. package/dist/primitives/folder-context-card/index.js +2 -2
  720. package/dist/primitives/folder-selector/index.js +2 -2
  721. package/dist/primitives/form-field/index.js +3 -2
  722. package/dist/primitives/gateway-status-indicator/index.js +2 -2
  723. package/dist/primitives/hook-config/index.js +3 -2
  724. package/dist/primitives/hook-event-log/index.js +2 -2
  725. package/dist/primitives/input/index.js +2 -2
  726. package/dist/primitives/intent-selector/index.js +2 -2
  727. package/dist/primitives/label/index.js +2 -2
  728. package/dist/primitives/lane-board/index.js +2 -2
  729. package/dist/primitives/login-split/index.js +2 -2
  730. package/dist/primitives/mcp-server-card/index.js +2 -2
  731. package/dist/primitives/memory-editor/index.js +2 -2
  732. package/dist/primitives/mention-menu/index.js +3 -2
  733. package/dist/primitives/metrics-panel/index.js +2 -2
  734. package/dist/primitives/model-card/index.js +2 -2
  735. package/dist/primitives/model-selector/index.js +2 -2
  736. package/dist/primitives/pagination/index.js +2 -2
  737. package/dist/primitives/permission-matrix/index.js +3 -2
  738. package/dist/primitives/pin-input/index.js +3 -2
  739. package/dist/primitives/plan-badge/index.js +2 -2
  740. package/dist/primitives/progress/index.js +2 -2
  741. package/dist/primitives/progress-checklist/index.js +2 -2
  742. package/dist/primitives/project-switcher/index.js +2 -2
  743. package/dist/primitives/quick-action-chips/index.js +2 -2
  744. package/dist/primitives/radio-group/index.js +2 -2
  745. package/dist/primitives/recent-folders-list/index.js +2 -2
  746. package/dist/primitives/rule-card/index.js +2 -2
  747. package/dist/primitives/run-stats/index.js +2 -2
  748. package/dist/primitives/run-status-pill/index.js +2 -2
  749. package/dist/primitives/running-tasks-panel/index.js +2 -2
  750. package/dist/primitives/scroll-area/index.js +3 -2
  751. package/dist/primitives/select/index.js +2 -2
  752. package/dist/primitives/session-list-item/index.js +2 -2
  753. package/dist/primitives/session-timeline/index.js +2 -2
  754. package/dist/primitives/sheet/index.js +2 -2
  755. package/dist/primitives/sidebar/index.js +2 -2
  756. package/dist/primitives/skeleton/index.js +2 -2
  757. package/dist/primitives/skill-card/index.js +2 -2
  758. package/dist/primitives/social-auth-row/index.js +2 -2
  759. package/dist/primitives/stat-tile/index.js +2 -2
  760. package/dist/primitives/status-dot/index.js +4 -2
  761. package/dist/primitives/steps-rail/index.js +2 -2
  762. package/dist/primitives/sub-agent-dispatch/index.js +2 -2
  763. package/dist/primitives/switch/index.js +2 -2
  764. package/dist/primitives/system-prompt-editor/index.js +3 -2
  765. package/dist/primitives/table/index.js +3 -2
  766. package/dist/primitives/tabs/index.js +2 -2
  767. package/dist/primitives/task-plan/index.js +2 -2
  768. package/dist/primitives/terminal-panel/index.js +2 -2
  769. package/dist/primitives/textarea/index.js +2 -2
  770. package/dist/primitives/thinking-level-selector/index.js +3 -2
  771. package/dist/primitives/timestamp/index.js +4 -2
  772. package/dist/primitives/toast/index.js +3 -2
  773. package/dist/primitives/token-usage-chart/index.js +2 -2
  774. package/dist/primitives/tool-call/index.js +3 -2
  775. package/dist/primitives/tool-call-card/index.js +3 -2
  776. package/dist/primitives/tool-result/index.js +2 -2
  777. package/dist/primitives/tools-list/index.js +2 -2
  778. package/dist/primitives/tooltip/index.js +2 -2
  779. package/dist/primitives/topnav/index.js +2 -2
  780. package/dist/primitives/update-banner/index.js +2 -2
  781. package/dist/screens/theo-code-shell.d.ts +9 -0
  782. package/dist/screens/theo-code-shell.data.d.ts +147 -0
  783. package/dist/slide/index.js +2 -1
  784. package/dist/slide/plugins/mermaid/index.js +1 -1
  785. package/dist/slide/plugins/mermaid/index.js.map +1 -1
  786. package/dist/slide/plugins/shiki/index.js.map +1 -1
  787. package/dist/slide/themes/violet-forge.css +1 -1
  788. package/dist/slide-deck/index.js +13 -2
  789. package/dist/slide-deck/index.js.map +1 -1
  790. package/dist/styles/tailwind-preset.d.ts +29 -0
  791. package/dist/styles.css +3 -3
  792. package/dist/test/a11y.d.ts +13 -0
  793. package/dist/test/setup.d.ts +1 -0
  794. package/dist/themes/anthropic-style.d.ts +11 -0
  795. package/dist/themes/aurora-terminal.d.ts +9 -0
  796. package/dist/themes/classic-paper.d.ts +17 -0
  797. package/dist/themes/color-value-pattern.d.ts +22 -0
  798. package/dist/themes/color.d.ts +62 -0
  799. package/dist/themes/define.d.ts +65 -0
  800. package/dist/themes/density.d.ts +17 -0
  801. package/dist/themes/dracula.d.ts +14 -0
  802. package/dist/themes/github-dark.d.ts +11 -0
  803. package/dist/themes/index.d.ts +26 -0
  804. package/dist/themes/linear-glass.d.ts +11 -0
  805. package/dist/themes/one-dark.d.ts +11 -0
  806. package/dist/themes/openai-style.d.ts +10 -0
  807. package/dist/themes/schema.d.ts +112 -0
  808. package/dist/themes/theme-provider.d.ts +82 -0
  809. package/dist/themes/theme-script.d.ts +48 -0
  810. package/dist/themes/theme-switcher.d.ts +17 -0
  811. package/dist/themes/types.d.ts +88 -0
  812. package/dist/themes/vercel-mono.d.ts +11 -0
  813. package/dist/themes/violet-forge.d.ts +12 -0
  814. package/dist/theo-ui-provider.d.ts +50 -0
  815. package/dist/tokens-v4.css +77 -41
  816. package/dist/tokens.css +159 -74
  817. package/dist/types/agent.d.ts +19 -0
  818. package/dist/types/chat.d.ts +173 -0
  819. package/dist/types/mode.d.ts +16 -0
  820. package/dist/types/permission.d.ts +8 -0
  821. package/dist/types/rule.d.ts +28 -0
  822. package/dist/types/task.d.ts +9 -0
  823. package/dist/vite-plugin.d.ts +7 -11
  824. package/dist/vite-plugin.js +4 -4
  825. package/dist/vite-plugin.js.map +1 -1
  826. package/dist/whiteboard/index.js +3 -0
  827. package/dist/whiteboard/index.js.map +1 -1
  828. package/llms.txt +39 -39
  829. package/package.json +236 -188
  830. package/registry/index.json +58 -4
  831. package/registry/r/account-menu.json +1 -1
  832. package/registry/r/action-bar.json +1 -1
  833. package/registry/r/agent-composer.json +1 -1
  834. package/registry/r/agent-editor.json +1 -1
  835. package/registry/r/agent-error-card.json +1 -1
  836. package/registry/r/agent-event.json +1 -1
  837. package/registry/r/agent-handoff.json +1 -1
  838. package/registry/r/agent-profile.json +1 -1
  839. package/registry/r/agent-starting-state.json +1 -1
  840. package/registry/r/agent-stream.json +1 -1
  841. package/registry/r/agent-streaming.json +1 -1
  842. package/registry/r/agent-timeline.json +1 -1
  843. package/registry/r/agent-tool-renderer.json +40 -0
  844. package/registry/r/alert.json +1 -1
  845. package/registry/r/approval-card.json +1 -1
  846. package/registry/r/artifact-preview.json +1 -1
  847. package/registry/r/attachment-chip.json +1 -1
  848. package/registry/r/audit-log-entry.json +1 -1
  849. package/registry/r/auto-compact-notice.json +1 -1
  850. package/registry/r/avatar.json +1 -1
  851. package/registry/r/badge.json +1 -1
  852. package/registry/r/browser-controls.json +1 -1
  853. package/registry/r/build-log-stream.json +2 -1
  854. package/registry/r/button.json +1 -1
  855. package/registry/r/capability-indicator.json +1 -1
  856. package/registry/r/card.json +1 -1
  857. package/registry/r/chat-composer.json +1 -1
  858. package/registry/r/chat-message.json +11 -16
  859. package/registry/r/chat-thread.json +1 -1
  860. package/registry/r/chat-types.json +1 -1
  861. package/registry/r/checkbox.json +1 -1
  862. package/registry/r/choice-prompt.json +25 -0
  863. package/registry/r/cn.json +1 -1
  864. package/registry/r/code-block.json +1 -1
  865. package/registry/r/command-palette.json +1 -1
  866. package/registry/r/confirm-dialog.json +1 -1
  867. package/registry/r/confirm-prompt.json +21 -0
  868. package/registry/r/context-card.json +1 -1
  869. package/registry/r/context-window-bar.json +1 -1
  870. package/registry/r/copy-button.json +1 -1
  871. package/registry/r/cost-meter.json +1 -1
  872. package/registry/r/created-files-card.json +1 -1
  873. package/registry/r/cron-job-card.json +1 -1
  874. package/registry/r/cron-jobs-list.json +1 -1
  875. package/registry/r/danger-zone.json +1 -1
  876. package/registry/r/data-table.json +1 -1
  877. package/registry/r/deployment-row.json +1 -1
  878. package/registry/r/dialog.json +1 -1
  879. package/registry/r/diff-viewer.json +1 -1
  880. package/registry/r/domain-config.json +1 -1
  881. package/registry/r/dropdown-menu.json +2 -2
  882. package/registry/r/empty-state.json +1 -1
  883. package/registry/r/env-var-editor.json +2 -1
  884. package/registry/r/env.json +15 -0
  885. package/registry/r/folder-context-card.json +1 -1
  886. package/registry/r/folder-selector.json +1 -1
  887. package/registry/r/form-field.json +1 -1
  888. package/registry/r/hook-config.json +1 -1
  889. package/registry/r/hook-event-log.json +1 -1
  890. package/registry/r/input.json +1 -1
  891. package/registry/r/intent-selector.json +1 -1
  892. package/registry/r/label.json +1 -1
  893. package/registry/r/lane-board.json +1 -1
  894. package/registry/r/login-split.json +1 -1
  895. package/registry/r/mcp-server-card.json +1 -1
  896. package/registry/r/mcp-server-list.json +1 -1
  897. package/registry/r/memory-editor.json +1 -1
  898. package/registry/r/mention-menu.json +1 -1
  899. package/registry/r/metric-card.json +23 -0
  900. package/registry/r/metrics-panel.json +1 -1
  901. package/registry/r/model-card.json +1 -1
  902. package/registry/r/model-selector.json +1 -1
  903. package/registry/r/multi-select-prompt.json +25 -0
  904. package/registry/r/page-shell.json +1 -1
  905. package/registry/r/pagination.json +1 -1
  906. package/registry/r/permission-matrix.json +1 -1
  907. package/registry/r/permission-modal.json +1 -1
  908. package/registry/r/pin-input.json +1 -1
  909. package/registry/r/plan-badge.json +1 -1
  910. package/registry/r/preview-env-card.json +1 -1
  911. package/registry/r/preview-panel.json +1 -1
  912. package/registry/r/progress-checklist.json +1 -1
  913. package/registry/r/progress.json +1 -1
  914. package/registry/r/project-card.json +1 -1
  915. package/registry/r/project-switcher.json +1 -1
  916. package/registry/r/prompt.json +15 -0
  917. package/registry/r/quick-action-chips.json +1 -1
  918. package/registry/r/radio-group.json +1 -1
  919. package/registry/r/recent-folders-list.json +1 -1
  920. package/registry/r/rollback-ui.json +1 -1
  921. package/registry/r/rule-card.json +1 -1
  922. package/registry/r/rule-editor.json +1 -1
  923. package/registry/r/run-stats.json +1 -1
  924. package/registry/r/running-tasks-panel.json +1 -1
  925. package/registry/r/safe-href.json +1 -1
  926. package/registry/r/scroll-area.json +1 -1
  927. package/registry/r/select.json +1 -1
  928. package/registry/r/session-list-item.json +1 -1
  929. package/registry/r/session-timeline.json +1 -1
  930. package/registry/r/sheet.json +1 -1
  931. package/registry/r/sidebar.json +1 -1
  932. package/registry/r/skeleton.json +1 -1
  933. package/registry/r/skill-card.json +1 -1
  934. package/registry/r/skill-editor.json +1 -1
  935. package/registry/r/skills-list.json +1 -1
  936. package/registry/r/slide-deck.json +8 -8
  937. package/registry/r/slide-plugin-mermaid.json +1 -1
  938. package/registry/r/slide-plugin-shiki.json +1 -1
  939. package/registry/r/slide.json +6 -6
  940. package/registry/r/social-auth-row.json +1 -1
  941. package/registry/r/stat-tile.json +1 -1
  942. package/registry/r/status-dot.json +2 -1
  943. package/registry/r/status-indicator.json +20 -0
  944. package/registry/r/steps-rail.json +1 -1
  945. package/registry/r/sub-agent-dispatch.json +1 -1
  946. package/registry/r/switch.json +1 -1
  947. package/registry/r/system-prompt-editor.json +1 -1
  948. package/registry/r/table.json +1 -1
  949. package/registry/r/tabs.json +1 -1
  950. package/registry/r/tailwind-preset.json +1 -1
  951. package/registry/r/task-header.json +1 -1
  952. package/registry/r/task-plan.json +1 -1
  953. package/registry/r/terminal-panel.json +1 -1
  954. package/registry/r/text-prompt.json +24 -0
  955. package/registry/r/textarea.json +1 -1
  956. package/registry/r/theme-provider.json +7 -6
  957. package/registry/r/theo-ui-provider.json +1 -1
  958. package/registry/r/timestamp.json +2 -1
  959. package/registry/r/toast.json +2 -2
  960. package/registry/r/token-usage-chart.json +1 -1
  961. package/registry/r/tokens.json +2 -2
  962. package/registry/r/tool-call-card.json +1 -1
  963. package/registry/r/tool-call.json +1 -1
  964. package/registry/r/tool-result.json +1 -1
  965. package/registry/r/tools-list.json +1 -1
  966. package/registry/r/tooltip.json +1 -1
  967. package/registry/r/topnav.json +1 -1
  968. package/registry/r/usage-meter.json +1 -1
  969. package/registry/r/whiteboard.json +3 -3
  970. package/dist/chunk-2UJROWAG.js +0 -106
  971. package/dist/chunk-2UJROWAG.js.map +0 -1
  972. package/dist/chunk-2XPWOUEH.js +0 -68
  973. package/dist/chunk-2XPWOUEH.js.map +0 -1
  974. package/dist/chunk-3GHLNCM3.js +0 -42
  975. package/dist/chunk-3GHLNCM3.js.map +0 -1
  976. package/dist/chunk-3HOXC25T.js +0 -48
  977. package/dist/chunk-3HOXC25T.js.map +0 -1
  978. package/dist/chunk-3QGO5SB3.js +0 -46
  979. package/dist/chunk-3QGO5SB3.js.map +0 -1
  980. package/dist/chunk-47QJVWW2.js +0 -85
  981. package/dist/chunk-47QJVWW2.js.map +0 -1
  982. package/dist/chunk-4L63UW3I.js +0 -35
  983. package/dist/chunk-4L63UW3I.js.map +0 -1
  984. package/dist/chunk-4UUSJJFZ.js +0 -25
  985. package/dist/chunk-4UUSJJFZ.js.map +0 -1
  986. package/dist/chunk-4ZBZBRG5.js +0 -127
  987. package/dist/chunk-4ZBZBRG5.js.map +0 -1
  988. package/dist/chunk-57NXT3OX.js +0 -92
  989. package/dist/chunk-57NXT3OX.js.map +0 -1
  990. package/dist/chunk-5FF5EUZP.js +0 -44
  991. package/dist/chunk-5FF5EUZP.js.map +0 -1
  992. package/dist/chunk-5UGQXB2P.js +0 -714
  993. package/dist/chunk-5UGQXB2P.js.map +0 -1
  994. package/dist/chunk-62FT22CI.js +0 -85
  995. package/dist/chunk-62FT22CI.js.map +0 -1
  996. package/dist/chunk-673R3GSK.js +0 -19
  997. package/dist/chunk-673R3GSK.js.map +0 -1
  998. package/dist/chunk-6VINZJBV.js +0 -128
  999. package/dist/chunk-6VINZJBV.js.map +0 -1
  1000. package/dist/chunk-6ZQKEY54.js +0 -149
  1001. package/dist/chunk-6ZQKEY54.js.map +0 -1
  1002. package/dist/chunk-74NZ5U3E.js +0 -145
  1003. package/dist/chunk-74NZ5U3E.js.map +0 -1
  1004. package/dist/chunk-755NWSNW.js +0 -36
  1005. package/dist/chunk-755NWSNW.js.map +0 -1
  1006. package/dist/chunk-7GLBWWMW.js +0 -70
  1007. package/dist/chunk-7GLBWWMW.js.map +0 -1
  1008. package/dist/chunk-7RXYW5VM.js +0 -88
  1009. package/dist/chunk-7RXYW5VM.js.map +0 -1
  1010. package/dist/chunk-AC4MGCXI.js +0 -92
  1011. package/dist/chunk-AC4MGCXI.js.map +0 -1
  1012. package/dist/chunk-AEVSVDT6.js +0 -67
  1013. package/dist/chunk-AEVSVDT6.js.map +0 -1
  1014. package/dist/chunk-AODIMN2N.js +0 -68
  1015. package/dist/chunk-AODIMN2N.js.map +0 -1
  1016. package/dist/chunk-ATHOPBCA.js +0 -61
  1017. package/dist/chunk-ATHOPBCA.js.map +0 -1
  1018. package/dist/chunk-AVPHVQZS.js +0 -73
  1019. package/dist/chunk-AVPHVQZS.js.map +0 -1
  1020. package/dist/chunk-AXKBNRZW.js +0 -173
  1021. package/dist/chunk-AXKBNRZW.js.map +0 -1
  1022. package/dist/chunk-B75MEYNR.js +0 -106
  1023. package/dist/chunk-B75MEYNR.js.map +0 -1
  1024. package/dist/chunk-BGKA6DI6.js +0 -34
  1025. package/dist/chunk-BGKA6DI6.js.map +0 -1
  1026. package/dist/chunk-BNQAJGEN.js +0 -88
  1027. package/dist/chunk-BNQAJGEN.js.map +0 -1
  1028. package/dist/chunk-BP2SETUC.js +0 -101
  1029. package/dist/chunk-BP2SETUC.js.map +0 -1
  1030. package/dist/chunk-BPUQWMBD.js +0 -79
  1031. package/dist/chunk-BPUQWMBD.js.map +0 -1
  1032. package/dist/chunk-BVDASR3Y.js +0 -74
  1033. package/dist/chunk-BVDASR3Y.js.map +0 -1
  1034. package/dist/chunk-BX7A5GUV.js +0 -78
  1035. package/dist/chunk-BX7A5GUV.js.map +0 -1
  1036. package/dist/chunk-CDA6RYOX.js +0 -115
  1037. package/dist/chunk-CDA6RYOX.js.map +0 -1
  1038. package/dist/chunk-CG7O3A42.js +0 -80
  1039. package/dist/chunk-CG7O3A42.js.map +0 -1
  1040. package/dist/chunk-CIYGNPKT.js +0 -76
  1041. package/dist/chunk-CIYGNPKT.js.map +0 -1
  1042. package/dist/chunk-CKXY4FTV.js +0 -59
  1043. package/dist/chunk-CKXY4FTV.js.map +0 -1
  1044. package/dist/chunk-CVOKZITR.js +0 -82
  1045. package/dist/chunk-CVOKZITR.js.map +0 -1
  1046. package/dist/chunk-CWFMFKDI.js +0 -82
  1047. package/dist/chunk-CWFMFKDI.js.map +0 -1
  1048. package/dist/chunk-CWVKSV7S.js +0 -124
  1049. package/dist/chunk-CWVKSV7S.js.map +0 -1
  1050. package/dist/chunk-CYOLRWOX.js +0 -63
  1051. package/dist/chunk-CYOLRWOX.js.map +0 -1
  1052. package/dist/chunk-D23LRJT6.js +0 -116
  1053. package/dist/chunk-D23LRJT6.js.map +0 -1
  1054. package/dist/chunk-DFADMEJK.js +0 -127
  1055. package/dist/chunk-DFADMEJK.js.map +0 -1
  1056. package/dist/chunk-DKQAHZG2.js +0 -83
  1057. package/dist/chunk-DKQAHZG2.js.map +0 -1
  1058. package/dist/chunk-DW247T3Q.js +0 -199
  1059. package/dist/chunk-DW247T3Q.js.map +0 -1
  1060. package/dist/chunk-E5A7HN6H.js +0 -32
  1061. package/dist/chunk-E5A7HN6H.js.map +0 -1
  1062. package/dist/chunk-EI63GTN7.js +0 -57
  1063. package/dist/chunk-EI63GTN7.js.map +0 -1
  1064. package/dist/chunk-EP25QJ4N.js +0 -146
  1065. package/dist/chunk-EP25QJ4N.js.map +0 -1
  1066. package/dist/chunk-ET44426Q.js +0 -80
  1067. package/dist/chunk-ET44426Q.js.map +0 -1
  1068. package/dist/chunk-ETEIDY34.js +0 -67
  1069. package/dist/chunk-ETEIDY34.js.map +0 -1
  1070. package/dist/chunk-EU55O4P7.js +0 -76
  1071. package/dist/chunk-EU55O4P7.js.map +0 -1
  1072. package/dist/chunk-F436537E.js +0 -104
  1073. package/dist/chunk-F436537E.js.map +0 -1
  1074. package/dist/chunk-FLBTGNQI.js +0 -86
  1075. package/dist/chunk-FLBTGNQI.js.map +0 -1
  1076. package/dist/chunk-FUT45NFW.js +0 -46
  1077. package/dist/chunk-FUT45NFW.js.map +0 -1
  1078. package/dist/chunk-G3LWNTVZ.js +0 -51
  1079. package/dist/chunk-G3LWNTVZ.js.map +0 -1
  1080. package/dist/chunk-GBJB5WLT.js +0 -58
  1081. package/dist/chunk-GBJB5WLT.js.map +0 -1
  1082. package/dist/chunk-GIEPEFRX.js +0 -110
  1083. package/dist/chunk-GIEPEFRX.js.map +0 -1
  1084. package/dist/chunk-GSO7MISR.js +0 -58
  1085. package/dist/chunk-GSO7MISR.js.map +0 -1
  1086. package/dist/chunk-GUQFYUIC.js +0 -61
  1087. package/dist/chunk-GUQFYUIC.js.map +0 -1
  1088. package/dist/chunk-GXBFGWQN.js +0 -81
  1089. package/dist/chunk-GXBFGWQN.js.map +0 -1
  1090. package/dist/chunk-H3VJMFJQ.js +0 -35
  1091. package/dist/chunk-H3VJMFJQ.js.map +0 -1
  1092. package/dist/chunk-HG4WEERE.js +0 -26
  1093. package/dist/chunk-HG4WEERE.js.map +0 -1
  1094. package/dist/chunk-HGPBGLNP.js +0 -51
  1095. package/dist/chunk-HGPBGLNP.js.map +0 -1
  1096. package/dist/chunk-HQFTW7SF.js +0 -141
  1097. package/dist/chunk-HQFTW7SF.js.map +0 -1
  1098. package/dist/chunk-I32I36LW.js +0 -113
  1099. package/dist/chunk-I32I36LW.js.map +0 -1
  1100. package/dist/chunk-I7WYM63C.js +0 -170
  1101. package/dist/chunk-I7WYM63C.js.map +0 -1
  1102. package/dist/chunk-JPTPIZ5V.js +0 -120
  1103. package/dist/chunk-JPTPIZ5V.js.map +0 -1
  1104. package/dist/chunk-JQXLPVWP.js +0 -74
  1105. package/dist/chunk-JQXLPVWP.js.map +0 -1
  1106. package/dist/chunk-K5ARID4S.js +0 -26
  1107. package/dist/chunk-K5ARID4S.js.map +0 -1
  1108. package/dist/chunk-K6RTLPIJ.js +0 -41
  1109. package/dist/chunk-K6RTLPIJ.js.map +0 -1
  1110. package/dist/chunk-K7PYLTMP.js +0 -221
  1111. package/dist/chunk-K7PYLTMP.js.map +0 -1
  1112. package/dist/chunk-KQNKKV2C.js +0 -56
  1113. package/dist/chunk-KQNKKV2C.js.map +0 -1
  1114. package/dist/chunk-KRN4NE4U.js +0 -155
  1115. package/dist/chunk-KRN4NE4U.js.map +0 -1
  1116. package/dist/chunk-L2BI762I.js +0 -82
  1117. package/dist/chunk-L2BI762I.js.map +0 -1
  1118. package/dist/chunk-LEEH63B2.js +0 -56
  1119. package/dist/chunk-LEEH63B2.js.map +0 -1
  1120. package/dist/chunk-LHRWVM3G.js +0 -42
  1121. package/dist/chunk-LHRWVM3G.js.map +0 -1
  1122. package/dist/chunk-LIGWMGXM.js +0 -117
  1123. package/dist/chunk-LIGWMGXM.js.map +0 -1
  1124. package/dist/chunk-LKYSX3QF.js +0 -104
  1125. package/dist/chunk-LKYSX3QF.js.map +0 -1
  1126. package/dist/chunk-MCIFB6VS.js +0 -54
  1127. package/dist/chunk-MCIFB6VS.js.map +0 -1
  1128. package/dist/chunk-MI5CXMZU.js +0 -171
  1129. package/dist/chunk-MI5CXMZU.js.map +0 -1
  1130. package/dist/chunk-MYEHGDC2.js +0 -152
  1131. package/dist/chunk-MYEHGDC2.js.map +0 -1
  1132. package/dist/chunk-NQZYY4LR.js +0 -84
  1133. package/dist/chunk-NQZYY4LR.js.map +0 -1
  1134. package/dist/chunk-O23LKHUR.js +0 -66
  1135. package/dist/chunk-O23LKHUR.js.map +0 -1
  1136. package/dist/chunk-PASI2U2R.js +0 -23
  1137. package/dist/chunk-PASI2U2R.js.map +0 -1
  1138. package/dist/chunk-PPH5NTHV.js +0 -34
  1139. package/dist/chunk-PPH5NTHV.js.map +0 -1
  1140. package/dist/chunk-PR6OZF6D.js +0 -28
  1141. package/dist/chunk-PR6OZF6D.js.map +0 -1
  1142. package/dist/chunk-PTHRL242.js +0 -186
  1143. package/dist/chunk-PTHRL242.js.map +0 -1
  1144. package/dist/chunk-PWXOXPFT.js +0 -142
  1145. package/dist/chunk-PWXOXPFT.js.map +0 -1
  1146. package/dist/chunk-QB6BNHO3.js +0 -112
  1147. package/dist/chunk-QB6BNHO3.js.map +0 -1
  1148. package/dist/chunk-QJGGTIUN.js +0 -110
  1149. package/dist/chunk-QJGGTIUN.js.map +0 -1
  1150. package/dist/chunk-QSOIJ6J3.js +0 -91
  1151. package/dist/chunk-QSOIJ6J3.js.map +0 -1
  1152. package/dist/chunk-R63ZKLQM.js +0 -45
  1153. package/dist/chunk-R63ZKLQM.js.map +0 -1
  1154. package/dist/chunk-RC5XME4T.js +0 -33
  1155. package/dist/chunk-RC5XME4T.js.map +0 -1
  1156. package/dist/chunk-RTYYJPPE.js +0 -77
  1157. package/dist/chunk-RTYYJPPE.js.map +0 -1
  1158. package/dist/chunk-RVOBP7PO.js +0 -116
  1159. package/dist/chunk-RVOBP7PO.js.map +0 -1
  1160. package/dist/chunk-SF6R5VMQ.js +0 -97
  1161. package/dist/chunk-SF6R5VMQ.js.map +0 -1
  1162. package/dist/chunk-SP4CP5HY.js +0 -57
  1163. package/dist/chunk-SP4CP5HY.js.map +0 -1
  1164. package/dist/chunk-SWJ4EUOI.js +0 -30
  1165. package/dist/chunk-SWJ4EUOI.js.map +0 -1
  1166. package/dist/chunk-TK24HQJJ.js +0 -128
  1167. package/dist/chunk-TK24HQJJ.js.map +0 -1
  1168. package/dist/chunk-UAYOOTRR.js +0 -77
  1169. package/dist/chunk-UAYOOTRR.js.map +0 -1
  1170. package/dist/chunk-UDTAMHXW.js +0 -55
  1171. package/dist/chunk-UDTAMHXW.js.map +0 -1
  1172. package/dist/chunk-UK27KR35.js +0 -73
  1173. package/dist/chunk-UK27KR35.js.map +0 -1
  1174. package/dist/chunk-UOMQPIB4.js +0 -48
  1175. package/dist/chunk-UOMQPIB4.js.map +0 -1
  1176. package/dist/chunk-UOXU7NDY.js +0 -120
  1177. package/dist/chunk-UOXU7NDY.js.map +0 -1
  1178. package/dist/chunk-V7OOTVK3.js +0 -106
  1179. package/dist/chunk-V7OOTVK3.js.map +0 -1
  1180. package/dist/chunk-VI5M7KJ2.js +0 -1022
  1181. package/dist/chunk-VI5M7KJ2.js.map +0 -1
  1182. package/dist/chunk-VMMATOPE.js +0 -64
  1183. package/dist/chunk-VMMATOPE.js.map +0 -1
  1184. package/dist/chunk-W2PVSIW3.js +0 -89
  1185. package/dist/chunk-W2PVSIW3.js.map +0 -1
  1186. package/dist/chunk-W3DUDZDU.js +0 -88
  1187. package/dist/chunk-W3DUDZDU.js.map +0 -1
  1188. package/dist/chunk-WKEUU2FU.js +0 -114
  1189. package/dist/chunk-WKEUU2FU.js.map +0 -1
  1190. package/dist/chunk-WKLW7RC6.js +0 -28
  1191. package/dist/chunk-WKLW7RC6.js.map +0 -1
  1192. package/dist/chunk-WSJGZNUH.js +0 -111
  1193. package/dist/chunk-WSJGZNUH.js.map +0 -1
  1194. package/dist/chunk-WVPDQMC2.js +0 -144
  1195. package/dist/chunk-WVPDQMC2.js.map +0 -1
  1196. package/dist/chunk-WWNH5ENT.js +0 -43
  1197. package/dist/chunk-WWNH5ENT.js.map +0 -1
  1198. package/dist/chunk-X5L62PXY.js +0 -112
  1199. package/dist/chunk-X5L62PXY.js.map +0 -1
  1200. package/dist/chunk-XGCV5E6W.js +0 -133
  1201. package/dist/chunk-XGCV5E6W.js.map +0 -1
  1202. package/dist/chunk-XRKIEL5M.js +0 -72
  1203. package/dist/chunk-XRKIEL5M.js.map +0 -1
  1204. package/dist/chunk-XUJYEADU.js +0 -80
  1205. package/dist/chunk-XUJYEADU.js.map +0 -1
  1206. package/dist/chunk-XVYNSIQC.js +0 -116
  1207. package/dist/chunk-XVYNSIQC.js.map +0 -1
  1208. package/dist/chunk-XWTISHXO.js +0 -54
  1209. package/dist/chunk-XWTISHXO.js.map +0 -1
  1210. package/dist/chunk-XZKEGEPT.js +0 -156
  1211. package/dist/chunk-XZKEGEPT.js.map +0 -1
  1212. package/dist/chunk-YOGHS4UU.js +0 -202
  1213. package/dist/chunk-YOGHS4UU.js.map +0 -1
  1214. package/dist/chunk-YRSKXEOD.js +0 -135
  1215. package/dist/chunk-YRSKXEOD.js.map +0 -1
  1216. package/dist/chunk-ZALLCR7X.js +0 -108
  1217. package/dist/chunk-ZALLCR7X.js.map +0 -1
  1218. package/dist/chunk-ZDAOHMCW.js +0 -46
  1219. package/dist/chunk-ZDAOHMCW.js.map +0 -1
  1220. package/dist/chunk-ZESICCKK.js +0 -37
  1221. package/dist/chunk-ZESICCKK.js.map +0 -1
  1222. package/dist/chunk-ZIKFOD6N.js +0 -87
  1223. package/dist/chunk-ZIKFOD6N.js.map +0 -1
  1224. package/dist/chunk-ZJRWCQEN.js +0 -76
  1225. package/dist/chunk-ZJRWCQEN.js.map +0 -1
  1226. package/dist/chunk-ZSRJCIWF.js +0 -24
  1227. package/dist/chunk-ZSRJCIWF.js.map +0 -1
  1228. package/dist/plugin-Atb0VKtr.d.ts +0 -172
  1229. package/dist/slide/index.d.ts +0 -212
  1230. package/dist/slide/plugins/emoji/index.d.ts +0 -29
  1231. package/dist/slide/plugins/math/index.d.ts +0 -13
  1232. package/dist/slide/plugins/mermaid/index.d.ts +0 -55
  1233. package/dist/slide/plugins/shiki/index.d.ts +0 -18
  1234. package/dist/slide-deck/index.d.ts +0 -377
  1235. package/dist/whiteboard/index.d.ts +0 -258
@@ -1,4 +1,5 @@
1
- export { Table } from '../../chunk-YRSKXEOD.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { Table } from '../../chunk-KHBXI6AV.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { Tabs } from '../../chunk-GBJB5WLT.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { Tabs } from '../../chunk-E26M7ATD.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TaskNode, TaskPlan } from '../../chunk-XUJYEADU.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TaskNode, TaskPlan } from '../../chunk-FELH4AAQ.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export { TerminalPanel } from '../../chunk-LEEH63B2.js';
1
+ export { TerminalPanel } from '../../chunk-6ORS6XOE.js';
2
2
  import '../../chunk-UGKI466V.js';
3
- import '../../chunk-ZSRJCIWF.js';
3
+ import '../../chunk-EWDN56AS.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { Textarea } from '../../chunk-WWNH5ENT.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { Textarea } from '../../chunk-ESJUISWY.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { ThinkingLevelSelector } from '../../chunk-UOMQPIB4.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { ThinkingLevelSelector } from '../../chunk-OZFUUO2Q.js';
2
+ import '../../chunk-ML7WLNIK.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,6 @@
1
- export { Timestamp } from '../../chunk-4ZBZBRG5.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { Timestamp } from '../../chunk-ETTL6XGU.js';
3
+ import '../../chunk-ML7WLNIK.js';
4
+ import '../../chunk-EWDN56AS.js';
3
5
  //# sourceMappingURL=index.js.map
4
6
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { Toast, Toaster, useToast } from '../../chunk-I7WYM63C.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { Toast, Toaster, useToast } from '../../chunk-HTJVHFNW.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TokenUsageChart } from '../../chunk-AXKBNRZW.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TokenUsageChart, splitUsagePoints, toUsageMetrics } from '../../chunk-II5Q5RIO.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { ToolCall } from '../../chunk-SP4CP5HY.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { ToolCall } from '../../chunk-PXT47DRZ.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,5 @@
1
- export { ToolCallCard } from '../../chunk-CWFMFKDI.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ "use client";
2
+ export { ToolCallCard } from '../../chunk-VZX4HLBM.js';
3
+ import '../../chunk-EWDN56AS.js';
3
4
  //# sourceMappingURL=index.js.map
4
5
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { ToolResult } from '../../chunk-HG4WEERE.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { ToolResult } from '../../chunk-YDKRUSB5.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { ToolsList } from '../../chunk-JQXLPVWP.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { ToolsList } from '../../chunk-EOTSD2GL.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TooltipWithStatics as Tooltip } from '../../chunk-FUT45NFW.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TooltipWithStatics as Tooltip } from '../../chunk-7RFWVNQA.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { TopNav } from '../../chunk-74NZ5U3E.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { TopNav } from '../../chunk-FJZKA2LV.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- export { UpdateBanner } from '../../chunk-GXBFGWQN.js';
2
- import '../../chunk-ZSRJCIWF.js';
1
+ export { UpdateBanner } from '../../chunk-JXOCE27Z.js';
2
+ import '../../chunk-EWDN56AS.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ import { type Mode } from "../types/mode.js";
2
+ interface TheoCodeShellProps {
3
+ /** Override the outer wrapper className. Default fills the parent box. */
4
+ className?: string;
5
+ /** Initial mode. Default "code". */
6
+ initialMode?: Mode;
7
+ }
8
+ export declare function TheoCodeShell({ className, initialMode }: TheoCodeShellProps): import("react/jsx-runtime").JSX.Element | null;
9
+ export {};
@@ -0,0 +1,147 @@
1
+ /**
2
+ * theo-code-shell.data.ts — extracted mock data for the TheoCodeShell screen.
3
+ *
4
+ * The screen is a non-exported Ladle story (it lives in `src/screens/` but is
5
+ * never re-exported from `src/index.ts`). The split keeps the orchestrating
6
+ * component under a manageable size while leaving the ~900 lines of mock
7
+ * fixtures in one focused module.
8
+ */
9
+ import { type LucideIcon } from "lucide-react";
10
+ import type { AgentDraft } from "../components/composites/agent-editor/agent-editor.js";
11
+ import type { AgentStreamItem } from "../components/composites/agent-stream/agent-stream.js";
12
+ import type { Deployment } from "../components/composites/deployment-row/deployment-row.js";
13
+ import type { Domain } from "../components/composites/domain-config/domain-config.js";
14
+ import type { EnvVar } from "../components/composites/env-var-editor/env-var-editor.js";
15
+ import type { RollbackTarget } from "../components/composites/rollback-ui/rollback-ui.js";
16
+ import type { LogLine } from "../components/primitives/build-log-stream/build-log-stream.js";
17
+ import type { MentionItem } from "../components/primitives/mention-menu/mention-menu.js";
18
+ import type { SessionRunStatus } from "../components/primitives/session-list-item/session-list-item.js";
19
+ import type { Skill } from "../components/primitives/skill-card/skill-card.js";
20
+ import type { AgentEvent } from "../types/agent.js";
21
+ import type { UIMessage } from "../types/chat.js";
22
+ import type { Mode } from "../types/mode.js";
23
+ import type { Rule } from "../types/rule.js";
24
+ export declare const SESSIONS: Array<{
25
+ id: string;
26
+ title: string;
27
+ status: SessionRunStatus;
28
+ mode: Mode;
29
+ timestamp: string;
30
+ unread?: number;
31
+ }>;
32
+ export declare const MESSAGES: UIMessage[];
33
+ export declare const AGENT_EVENTS: AgentEvent[];
34
+ export declare const MODELS: ({
35
+ id: string;
36
+ label: string;
37
+ tag: "smart";
38
+ } | {
39
+ id: string;
40
+ label: string;
41
+ tag: "default";
42
+ } | {
43
+ id: string;
44
+ label: string;
45
+ tag: "fast";
46
+ })[];
47
+ export declare const INTENTS: {
48
+ id: string;
49
+ label: string;
50
+ description: string;
51
+ icon: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
52
+ }[];
53
+ export declare const SLASH_COMMANDS: MentionItem[];
54
+ export declare const FILE_MENTIONS: MentionItem[];
55
+ export declare const MEMORY_MENTIONS: MentionItem[];
56
+ /** Per-mode workspace items rendered in the Sidebar "Workspace" section. */
57
+ export type WorkspaceItemId = "memory" | "conversations" | "observability" | "subagents" | "hooks" | "deployments" | "builds" | "environments" | "domains" | "secrets" | "audit";
58
+ export interface WorkspaceItem {
59
+ id: WorkspaceItemId;
60
+ label: string;
61
+ icon: LucideIcon;
62
+ }
63
+ export declare const WORKSPACE_BY_MODE: Record<Mode, WorkspaceItem[]>;
64
+ export declare const DOMAINS_LIB: Domain[];
65
+ export declare const SECRETS_LIB: EnvVar[];
66
+ export declare const ENVIRONMENTS_LIB: {
67
+ name: string;
68
+ status: string;
69
+ projectCount: number;
70
+ region: string;
71
+ }[];
72
+ export declare const AUDIT_LIB: ({
73
+ id: string;
74
+ actor: {
75
+ kind: "user";
76
+ name: string;
77
+ };
78
+ action: string;
79
+ target: string;
80
+ timestamp: string;
81
+ severity: "warning";
82
+ } | {
83
+ id: string;
84
+ actor: {
85
+ kind: "agent";
86
+ name: string;
87
+ };
88
+ action: string;
89
+ target: string;
90
+ timestamp: string;
91
+ severity?: undefined;
92
+ } | {
93
+ id: string;
94
+ actor: {
95
+ kind: "system";
96
+ name: string;
97
+ };
98
+ action: string;
99
+ target: string;
100
+ timestamp: string;
101
+ severity?: undefined;
102
+ } | {
103
+ id: string;
104
+ actor: {
105
+ kind: "user";
106
+ name: string;
107
+ };
108
+ action: string;
109
+ target: string;
110
+ timestamp: string;
111
+ severity?: undefined;
112
+ })[];
113
+ export declare const INFRA_MESSAGES: UIMessage[];
114
+ export declare const RECENT_DEPLOYS: Deployment[];
115
+ export declare const INFRA_LOGS: LogLine[];
116
+ export declare const ROLLBACK_HISTORY: RollbackTarget[];
117
+ export declare const DEFAULT_SYSTEM_PROMPT = "You are Theo Code, an autonomous coding agent.\n\nOperate inside the active workspace. Use the available tools to read, plan, edit, and verify code changes. Always run typecheck and tests after substantive edits.\n\nWhen uncertain, ask before destructive actions.";
118
+ export declare const SKILLS_LIB: Skill[];
119
+ export declare const AGENTS_LIB: AgentDraft[];
120
+ export declare const RULES_LIB: Rule[];
121
+ export declare const CODE_STREAM: AgentStreamItem[];
122
+ /** Tool the agent used to produce this change. Matches Theo Code / Claude Code tool names. */
123
+ export type AgentTool = "Write" | "Edit" | "MultiEdit" | "NotebookEdit" | "Bash";
124
+ export interface FileChange {
125
+ id: string;
126
+ path: string;
127
+ /** Which agent tool produced this change. */
128
+ tool: AgentTool;
129
+ stats: {
130
+ added: number;
131
+ removed: number;
132
+ };
133
+ hunks: Array<{
134
+ id: string;
135
+ header?: string;
136
+ collapsed?: boolean;
137
+ lines: Array<{
138
+ kind: "added" | "removed" | "unchanged" | "meta";
139
+ oldNumber?: number;
140
+ newNumber?: number;
141
+ content: string;
142
+ }>;
143
+ }>;
144
+ }
145
+ export declare const FILE_CHANGES: FileChange[];
146
+ /** Visual treatment for each tool pill — colour signals intent at a glance. */
147
+ export declare const TOOL_PILL: Record<AgentTool, string>;
@@ -1,3 +1,4 @@
1
- export { MAX_RAW_FRONTMATTER, Slide, collectTagCounts, composePlugins, extractFrontmatter, getSlideSanitizeSchema, hastToReact, isSlideTheme, mdastToHast, parseBody, parseSlide, sanitizeHast, slideFrontmatter, slideFrontmatterJsonSchema, slideInput, slideTheme, slideThemes, useSlideFit, validateSlide } from '../chunk-5UGQXB2P.js';
1
+ "use client";
2
+ export { MAX_RAW_FRONTMATTER, Slide, collectTagCounts, composePlugins, extractFrontmatter, getSlideSanitizeSchema, hastToReact, isSlideTheme, mdastToHast, parseBody, parseSlide, sanitizeHast, slideFrontmatter, slideFrontmatterJsonSchema, slideInput, slideTheme, slideThemes, useSlideFit, validateSlide } from '../chunk-CVFSNA4K.js';
2
3
  //# sourceMappingURL=index.js.map
3
4
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,6 @@
1
1
  import { useState, useEffect } from 'react';
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
 
4
- // src/components/primitives/slide/plugins/mermaid/index.tsx
5
4
  var SVG_TAG_NAMES = [
6
5
  "div",
7
6
  // Custom element used to bridge into our React renderer (mapped via components).
@@ -133,6 +132,7 @@ var MermaidDiagram = ({ source, theme }) => {
133
132
  return /* @__PURE__ */ jsx(
134
133
  "div",
135
134
  {
135
+ "data-slot": "mermaid-diagram",
136
136
  "data-theo-slide-mermaid": true,
137
137
  "data-state": "error",
138
138
  role: "img",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/mermaid/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { Element, Root as HastRoot } from \"hast\";\n/**\n * Slide rich-content plugin — Mermaid diagrams.\n *\n * Peer-dep: `mermaid` (optional, ~370 KB raw — lazy + opt-in mandatory).\n * Render is client-only because Mermaid measures DOM nodes during layout;\n * SSR / static render emits a labelled placeholder + source-code fallback.\n *\n * Pipeline contribution (D11 of the rich-content plan):\n * - `hastTransform`: detect `<pre><code class=\"language-mermaid\">…</code></pre>`\n * and replace with `<div class=\"theo-slide-mermaid-host\" data-theo-mermaid-source=\"…\">`.\n * - `components.div`: when div has `data-theo-mermaid-source`, render the\n * `<MermaidDiagram>` React component that lazy-imports `mermaid` and\n * injects the SVG via `dangerouslySetInnerHTML` after `mermaid.render()`.\n *\n * EC-4: complete SVG tag + attribute allow-list (~30 tags) so the rendered SVG\n * survives sanitize. Critical: without these, sanitize strips the SVG entirely.\n *\n * EC-10: SSR placeholder is distinguishable from a render error. Error path\n * surfaces the Mermaid source code in a `<pre>` so consumers can debug + the\n * print path still shows the code (PDF cannot run dynamic Mermaid).\n */\nimport { type FC, useEffect, useState } from \"react\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\n// EC-4: comprehensive SVG tag list (mermaid 11.x output across diagram types).\nconst SVG_TAG_NAMES = [\n \"div\",\n // Custom element used to bridge into our React renderer (mapped via components).\n \"theo-mermaid\",\n // root + grouping\n \"svg\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"marker\",\n \"pattern\",\n \"mask\",\n \"clipPath\",\n // shapes\n \"path\",\n \"rect\",\n \"circle\",\n \"ellipse\",\n \"line\",\n \"polyline\",\n \"polygon\",\n // text\n \"text\",\n \"tspan\",\n \"textPath\",\n \"title\",\n \"desc\",\n // gradients + filters (used by some flowchart themes)\n \"linearGradient\",\n \"radialGradient\",\n \"stop\",\n \"filter\",\n \"feGaussianBlur\",\n \"feOffset\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feMerge\",\n \"feMergeNode\",\n \"feFlood\",\n // foreign content (HTML labels)\n \"foreignObject\",\n \"span\",\n \"br\",\n];\n\nconst SVG_ATTRIBUTES: Record<string, string[]> = {\n \"*\": [\n \"id\",\n \"className\",\n \"style\",\n \"transform\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"strokeDasharray\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"opacity\",\n \"fillOpacity\",\n \"strokeOpacity\",\n \"ariaLabel\",\n \"ariaHidden\",\n \"role\",\n ],\n svg: [\"xmlns\", \"viewBox\", \"width\", \"height\", \"preserveAspectRatio\", \"xmlnsXlink\", \"version\"],\n path: [\"d\", \"markerEnd\", \"markerStart\", \"markerMid\"],\n rect: [\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\"],\n circle: [\"cx\", \"cy\", \"r\"],\n ellipse: [\"cx\", \"cy\", \"rx\", \"ry\"],\n line: [\"x1\", \"y1\", \"x2\", \"y2\"],\n polyline: [\"points\"],\n polygon: [\"points\"],\n text: [\n \"x\",\n \"y\",\n \"dx\",\n \"dy\",\n \"textAnchor\",\n \"dominantBaseline\",\n \"fontSize\",\n \"fontFamily\",\n \"fontWeight\",\n ],\n tspan: [\"x\", \"y\", \"dx\", \"dy\"],\n textPath: [\"xlinkHref\", \"href\", \"startOffset\"],\n marker: [\"markerUnits\", \"markerWidth\", \"markerHeight\", \"refX\", \"refY\", \"orient\", \"viewBox\"],\n use: [\"xlinkHref\", \"href\", \"x\", \"y\", \"width\", \"height\"],\n linearGradient: [\"x1\", \"y1\", \"x2\", \"y2\", \"gradientUnits\"],\n radialGradient: [\"cx\", \"cy\", \"r\", \"fx\", \"fy\", \"gradientUnits\"],\n stop: [\"offset\", \"stopColor\", \"stopOpacity\"],\n foreignObject: [\"x\", \"y\", \"width\", \"height\"],\n div: [\"data-state\", \"data-theo-mermaid-source\", \"className\"],\n \"theo-mermaid\": [\"source\"],\n};\n\nexport interface MermaidPluginOptions {\n /** Mermaid theme name. Defaults to `\"default\"`. */\n theme?: \"default\" | \"forest\" | \"dark\" | \"neutral\" | \"base\";\n}\n\n/**\n * React component that renders Mermaid lazily on mount.\n *\n * SSR / pre-load: renders the source as `<pre>` + `role=\"img\"` for a11y.\n * Client: lazy-loads `mermaid`, calls `mermaid.render()`, then injects the\n * resulting SVG via `dangerouslySetInnerHTML` so React owns the DOM\n * subtree (avoids reconciliation crashes when state flips back to the\n * placeholder — `ref.innerHTML` would mutate under React's feet).\n *\n * The Mermaid output is a TRUSTED string from the `mermaid` lib itself (not\n * user-controlled markup) — the user-supplied source is the DSL, not raw HTML.\n * Using dangerouslySetInnerHTML here is a controlled escape hatch.\n *\n * Peer-dep guard: if `import(\"mermaid\")` fails, falls back to the same\n * pre-formatted source view + an `aria-label` hint (EC-10).\n */\nexport const MermaidDiagram: FC<{ source: string; theme?: string }> = ({ source, theme }) => {\n const [svg, setSvg] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n // Reset state when source/theme changes so the placeholder shows again\n // while the new diagram renders.\n setSvg(null);\n setError(null);\n (async () => {\n try {\n // biome-ignore lint/suspicious/noExplicitAny: mermaid default export untyped\n const mermaid: any = (await import(\"mermaid\")).default;\n if (cancelled) return;\n mermaid.initialize({ startOnLoad: false, theme: theme ?? \"default\" });\n const id = `theo-mmd-${Math.random().toString(36).slice(2, 10)}`;\n const result = await mermaid.render(id, source);\n if (!cancelled) {\n setSvg(result.svg);\n }\n } catch (e) {\n if (cancelled) return;\n const msg = e instanceof Error ? e.message : String(e);\n // Recognize the various module-resolution failure messages emitted by\n // Node, Vite, Rollup, Webpack, Vitest, and browser dynamic-import.\n const moduleNotFound =\n msg.includes(\"Cannot find module\") ||\n msg.includes(\"Could not resolve\") ||\n msg.includes(\"Failed to fetch\") ||\n msg.includes(\"Failed to resolve module\") ||\n msg.includes(\"ERR_MODULE_NOT_FOUND\");\n if (moduleNotFound) {\n setError(\"Mermaid not installed. Run: pnpm add mermaid\");\n } else {\n setError(`Mermaid render failed: ${msg}`);\n }\n }\n })();\n return () => {\n cancelled = true;\n };\n }, [source, theme]);\n\n if (error) {\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"error\"\n role=\"img\"\n aria-label={error}\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.8em\", opacity: 0.7, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n }\n if (svg) {\n // SVG is React-owned via dangerouslySetInnerHTML so the next state change\n // (e.g. new `source` prop → back to placeholder) can unmount cleanly.\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"ready\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n // biome-ignore lint/security/noDangerouslySetInnerHtml: mermaid.render() output is trusted (lib-generated SVG, not user markup)\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n }\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"loading\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.7em\", opacity: 0.4, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n};\n\nexport function mermaidPlugin(opts: MermaidPluginOptions = {}): SlidePlugin {\n return {\n name: \"mermaid\",\n sanitizeSchemaExtension: {\n tagNames: SVG_TAG_NAMES,\n attributes: SVG_ATTRIBUTES,\n },\n components: {\n // The hastTransform below replaces mermaid <pre> with a `<div>` carrying\n // `data-theo-mermaid-source`. We can't override `div` globally — instead,\n // we use a custom tagName `theo-mermaid` that the React renderer maps.\n \"theo-mermaid\": ((props: { source?: string }) => (\n <MermaidDiagram source={props.source ?? \"\"} theme={opts.theme} />\n )) as FC<unknown>,\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n // unist-util-visit is a peer-dep of the slide stack — should always be\n // present. Guard anyway per EC-2.\n // biome-ignore lint/suspicious/noExplicitAny: unist-util-visit untyped at runtime\n let visit: any;\n try {\n visit = (await import(\"unist-util-visit\")).visit;\n } catch (e) {\n throw new Error(`[slide/plugins/mermaid] peer-dep 'unist-util-visit' missing: ${e}`);\n }\n visit(\n tree,\n \"element\",\n (\n node: Element,\n _idx: number | undefined,\n parent: { tagName?: string; type?: string; children?: unknown[] } | undefined,\n ) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n if (!className.includes(\"language-mermaid\")) return;\n if (!parent || parent.tagName !== \"pre\") return;\n const codeNode = node.children?.[0];\n const source = codeNode && codeNode.type === \"text\" ? codeNode.value : \"\";\n // Replace the entire <pre> with our custom element. hast-util-to-jsx-runtime\n // maps element tagName to a React component if found in `components` map.\n Object.assign(parent, {\n type: \"element\",\n tagName: \"theo-mermaid\",\n // Note: `source` is passed as a non-standard property; the React\n // component picks it up. We avoid `data-*` attributes here so we\n // don't have to whitelist them in sanitize.\n properties: { source },\n children: [],\n });\n },\n );\n return tree;\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/mermaid/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["\"use client\";\n\nimport type { Element, Root as HastRoot } from \"hast\";\n/**\n * Slide rich-content plugin — Mermaid diagrams.\n *\n * Peer-dep: `mermaid` (optional, ~370 KB raw — lazy + opt-in mandatory).\n * Render is client-only because Mermaid measures DOM nodes during layout;\n * SSR / static render emits a labelled placeholder + source-code fallback.\n *\n * Pipeline contribution (D11 of the rich-content plan):\n * - `hastTransform`: detect `<pre><code class=\"language-mermaid\">…</code></pre>`\n * and replace with `<div class=\"theo-slide-mermaid-host\" data-theo-mermaid-source=\"…\">`.\n * - `components.div`: when div has `data-theo-mermaid-source`, render the\n * `<MermaidDiagram>` React component that lazy-imports `mermaid` and\n * injects the SVG via `dangerouslySetInnerHTML` after `mermaid.render()`.\n *\n * EC-4: complete SVG tag + attribute allow-list (~30 tags) so the rendered SVG\n * survives sanitize. Critical: without these, sanitize strips the SVG entirely.\n *\n * EC-10: SSR placeholder is distinguishable from a render error. Error path\n * surfaces the Mermaid source code in a `<pre>` so consumers can debug + the\n * print path still shows the code (PDF cannot run dynamic Mermaid).\n */\nimport { type FC, useEffect, useState } from \"react\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\n// EC-4: comprehensive SVG tag list (mermaid 11.x output across diagram types).\nconst SVG_TAG_NAMES = [\n \"div\",\n // Custom element used to bridge into our React renderer (mapped via components).\n \"theo-mermaid\",\n // root + grouping\n \"svg\",\n \"g\",\n \"defs\",\n \"use\",\n \"symbol\",\n \"marker\",\n \"pattern\",\n \"mask\",\n \"clipPath\",\n // shapes\n \"path\",\n \"rect\",\n \"circle\",\n \"ellipse\",\n \"line\",\n \"polyline\",\n \"polygon\",\n // text\n \"text\",\n \"tspan\",\n \"textPath\",\n \"title\",\n \"desc\",\n // gradients + filters (used by some flowchart themes)\n \"linearGradient\",\n \"radialGradient\",\n \"stop\",\n \"filter\",\n \"feGaussianBlur\",\n \"feOffset\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feMerge\",\n \"feMergeNode\",\n \"feFlood\",\n // foreign content (HTML labels)\n \"foreignObject\",\n \"span\",\n \"br\",\n];\n\nconst SVG_ATTRIBUTES: Record<string, string[]> = {\n \"*\": [\n \"id\",\n \"className\",\n \"style\",\n \"transform\",\n \"fill\",\n \"stroke\",\n \"strokeWidth\",\n \"strokeDasharray\",\n \"strokeLinecap\",\n \"strokeLinejoin\",\n \"opacity\",\n \"fillOpacity\",\n \"strokeOpacity\",\n \"ariaLabel\",\n \"ariaHidden\",\n \"role\",\n ],\n svg: [\"xmlns\", \"viewBox\", \"width\", \"height\", \"preserveAspectRatio\", \"xmlnsXlink\", \"version\"],\n path: [\"d\", \"markerEnd\", \"markerStart\", \"markerMid\"],\n rect: [\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\"],\n circle: [\"cx\", \"cy\", \"r\"],\n ellipse: [\"cx\", \"cy\", \"rx\", \"ry\"],\n line: [\"x1\", \"y1\", \"x2\", \"y2\"],\n polyline: [\"points\"],\n polygon: [\"points\"],\n text: [\n \"x\",\n \"y\",\n \"dx\",\n \"dy\",\n \"textAnchor\",\n \"dominantBaseline\",\n \"fontSize\",\n \"fontFamily\",\n \"fontWeight\",\n ],\n tspan: [\"x\", \"y\", \"dx\", \"dy\"],\n textPath: [\"xlinkHref\", \"href\", \"startOffset\"],\n marker: [\"markerUnits\", \"markerWidth\", \"markerHeight\", \"refX\", \"refY\", \"orient\", \"viewBox\"],\n use: [\"xlinkHref\", \"href\", \"x\", \"y\", \"width\", \"height\"],\n linearGradient: [\"x1\", \"y1\", \"x2\", \"y2\", \"gradientUnits\"],\n radialGradient: [\"cx\", \"cy\", \"r\", \"fx\", \"fy\", \"gradientUnits\"],\n stop: [\"offset\", \"stopColor\", \"stopOpacity\"],\n foreignObject: [\"x\", \"y\", \"width\", \"height\"],\n div: [\"data-state\", \"data-theo-mermaid-source\", \"className\"],\n \"theo-mermaid\": [\"source\"],\n};\n\nexport interface MermaidPluginOptions {\n /** Mermaid theme name. Defaults to `\"default\"`. */\n theme?: \"default\" | \"forest\" | \"dark\" | \"neutral\" | \"base\";\n}\n\n/**\n * React component that renders Mermaid lazily on mount.\n *\n * SSR / pre-load: renders the source as `<pre>` + `role=\"img\"` for a11y.\n * Client: lazy-loads `mermaid`, calls `mermaid.render()`, then injects the\n * resulting SVG via `dangerouslySetInnerHTML` so React owns the DOM\n * subtree (avoids reconciliation crashes when state flips back to the\n * placeholder — `ref.innerHTML` would mutate under React's feet).\n *\n * The Mermaid output is a TRUSTED string from the `mermaid` lib itself (not\n * user-controlled markup) — the user-supplied source is the DSL, not raw HTML.\n * Using dangerouslySetInnerHTML here is a controlled escape hatch.\n *\n * Peer-dep guard: if `import(\"mermaid\")` fails, falls back to the same\n * pre-formatted source view + an `aria-label` hint (EC-10).\n */\nexport const MermaidDiagram: FC<{ source: string; theme?: string }> = ({ source, theme }) => {\n const [svg, setSvg] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n\n useEffect(() => {\n let cancelled = false;\n // Reset state when source/theme changes so the placeholder shows again\n // while the new diagram renders.\n setSvg(null);\n setError(null);\n (async () => {\n try {\n // biome-ignore lint/suspicious/noExplicitAny: mermaid default export untyped\n const mermaid: any = (await import(\"mermaid\")).default;\n if (cancelled) return;\n mermaid.initialize({ startOnLoad: false, theme: theme ?? \"default\" });\n const id = `theo-mmd-${Math.random().toString(36).slice(2, 10)}`;\n const result = await mermaid.render(id, source);\n if (!cancelled) {\n setSvg(result.svg);\n }\n } catch (e) {\n if (cancelled) return;\n const msg = e instanceof Error ? e.message : String(e);\n // Recognize the various module-resolution failure messages emitted by\n // Node, Vite, Rollup, Webpack, Vitest, and browser dynamic-import.\n const moduleNotFound =\n msg.includes(\"Cannot find module\") ||\n msg.includes(\"Could not resolve\") ||\n msg.includes(\"Failed to fetch\") ||\n msg.includes(\"Failed to resolve module\") ||\n msg.includes(\"ERR_MODULE_NOT_FOUND\");\n if (moduleNotFound) {\n setError(\"Mermaid not installed. Run: pnpm add mermaid\");\n } else {\n setError(`Mermaid render failed: ${msg}`);\n }\n }\n })();\n return () => {\n cancelled = true;\n };\n }, [source, theme]);\n\n if (error) {\n return (\n <div\n data-slot=\"mermaid-diagram\"\n data-theo-slide-mermaid\n data-state=\"error\"\n role=\"img\"\n aria-label={error}\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.8em\", opacity: 0.7, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n }\n if (svg) {\n // SVG is React-owned via dangerouslySetInnerHTML so the next state change\n // (e.g. new `source` prop → back to placeholder) can unmount cleanly.\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"ready\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n // biome-ignore lint/security/noDangerouslySetInnerHtml: mermaid.render() output is trusted (lib-generated SVG, not user markup)\n dangerouslySetInnerHTML={{ __html: svg }}\n />\n );\n }\n return (\n <div\n data-theo-slide-mermaid\n data-state=\"loading\"\n role=\"img\"\n aria-label=\"Mermaid diagram\"\n className=\"theo-slide-mermaid-host\"\n >\n <pre style={{ fontSize: \"0.7em\", opacity: 0.4, whiteSpace: \"pre-wrap\" }}>{source}</pre>\n </div>\n );\n};\n\nexport function mermaidPlugin(opts: MermaidPluginOptions = {}): SlidePlugin {\n return {\n name: \"mermaid\",\n sanitizeSchemaExtension: {\n tagNames: SVG_TAG_NAMES,\n attributes: SVG_ATTRIBUTES,\n },\n components: {\n // The hastTransform below replaces mermaid <pre> with a `<div>` carrying\n // `data-theo-mermaid-source`. We can't override `div` globally — instead,\n // we use a custom tagName `theo-mermaid` that the React renderer maps.\n \"theo-mermaid\": ((props: { source?: string }) => (\n <MermaidDiagram source={props.source ?? \"\"} theme={opts.theme} />\n )) as FC<unknown>,\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n // unist-util-visit is a peer-dep of the slide stack — should always be\n // present. Guard anyway per EC-2.\n // biome-ignore lint/suspicious/noExplicitAny: unist-util-visit untyped at runtime\n let visit: any;\n try {\n visit = (await import(\"unist-util-visit\")).visit;\n } catch (e) {\n throw new Error(`[slide/plugins/mermaid] peer-dep 'unist-util-visit' missing: ${e}`);\n }\n visit(\n tree,\n \"element\",\n (\n node: Element,\n _idx: number | undefined,\n parent: { tagName?: string; type?: string; children?: unknown[] } | undefined,\n ) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n if (!className.includes(\"language-mermaid\")) return;\n if (!parent || parent.tagName !== \"pre\") return;\n const codeNode = node.children?.[0];\n const source = codeNode && codeNode.type === \"text\" ? codeNode.value : \"\";\n // Replace the entire <pre> with our custom element. hast-util-to-jsx-runtime\n // maps element tagName to a React component if found in `components` map.\n Object.assign(parent, {\n type: \"element\",\n tagName: \"theo-mermaid\",\n // Note: `source` is passed as a non-standard property; the React\n // component picks it up. We avoid `data-*` attributes here so we\n // don't have to whitelist them in sanitize.\n properties: { source },\n children: [],\n });\n },\n );\n return tree;\n },\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/shiki/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Slide rich-content plugin — Shiki syntax highlighting.\n *\n * Lazy + opt-in (ADR D9, D13 of the rich-content plan). Peer-dep `shiki` is\n * declared optional in `package.json`; the plugin guards every dynamic import\n * so a missing peer-dep is reported (D16) rather than crashing the slide.\n *\n * Pipeline contribution:\n * - `hastTransform`: walks `<pre><code class=\"language-XXX\">` nodes, replaces\n * them with the pre-rendered `<pre><code>` tree emitted by Shiki.\n * - `sanitizeSchemaExtension`: allows `<span>` with `style` and `class`\n * (Shiki emits inline styles for tokens).\n *\n * Performance:\n * - Highlighter is created lazily on first use and cached.\n * - Grammars listed in `langs` are pre-loaded once; unknown langs pass-through\n * as plain `<pre><code>` (defaultSchema allows that).\n *\n * @example\n * import { shikiPlugin } from \"@usetheo/ui/slide/plugins/shiki\";\n * import \"shiki\"; // installed as peer-dep\n * <Slide markdown={md} plugins={[shikiPlugin({ langs: [\"ts\",\"python\"] })]} />\n */\nimport type { Element, Root as HastRoot } from \"hast\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\nexport interface ShikiPluginOptions {\n /** Dual-theme map — light/dark Shiki theme names. Defaults to `github-light` / `github-dark`. */\n themes?: { light: string; dark: string };\n /** Languages to pre-load. Unknown languages pass-through. Defaults to a tech-stack baseline. */\n langs?: string[];\n}\n\nconst DEFAULT_LANGS = [\n \"ts\",\n \"tsx\",\n \"js\",\n \"jsx\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"json\",\n \"yaml\",\n \"bash\",\n \"shell\",\n \"html\",\n \"css\",\n \"sql\",\n \"markdown\",\n];\n\nexport function shikiPlugin(opts: ShikiPluginOptions = {}): SlidePlugin {\n const themes = opts.themes ?? { light: \"github-light\", dark: \"github-dark\" };\n const langs = opts.langs ?? DEFAULT_LANGS;\n // biome-ignore lint/suspicious/noExplicitAny: shiki has no exported type for `Highlighter` at the top level\n let highlighter: any = null;\n let peerDepMissing = false;\n\n // biome-ignore lint/suspicious/noExplicitAny: shiki Highlighter is untyped here\n async function getHighlighter(): Promise<any> {\n if (highlighter) return highlighter;\n if (peerDepMissing) return null;\n try {\n const shiki = await import(\"shiki\");\n highlighter = await shiki.createHighlighter({\n themes: [themes.light, themes.dark],\n langs,\n });\n return highlighter;\n } catch (e) {\n peerDepMissing = true;\n // Surface via D16 path (composePlugins catches → PLUGIN_ERROR).\n throw new Error(\n `[slide/plugins/shiki] peer-dep 'shiki' not installed or failed to load. Run: pnpm add shiki. Original: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n\n return {\n name: \"shiki\",\n sanitizeSchemaExtension: {\n tagNames: [\"span\", \"pre\", \"code\"],\n // Shiki emits inline `style` and `class` on tokens; \"*\" applies to every tag.\n attributes: {\n \"*\": [\"style\", \"className\"],\n pre: [\"style\", \"className\", \"tabIndex\"],\n code: [\"style\", \"className\"],\n span: [\"style\", \"className\"],\n },\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n const hl = await getHighlighter();\n if (!hl) return tree; // peer-dep missing AND we've already reported it once\n const { visit } = await import(\"unist-util-visit\");\n const { fromHtml } = await import(\"hast-util-from-html\");\n // Walk: find <code class=\"language-XXX\">, replace its parent <pre> subtree\n // with the highlighted output (which is also a <pre><code>...</code></pre>).\n // biome-ignore lint/suspicious/noExplicitAny: hast unist-util-visit untyped here\n visit(tree, \"element\", (node: Element, _idx: number | undefined, parent: any) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n const langClass = className.find((c) => c.startsWith(\"language-\"));\n if (!langClass) return;\n const lang = langClass.replace(\"language-\", \"\");\n if (!langs.includes(lang)) return;\n const first = node.children?.[0];\n const codeText = first && first.type === \"text\" ? first.value : \"\";\n let html: string;\n try {\n html = hl.codeToHtml(codeText, { lang, themes });\n } catch {\n // Shiki failed on this snippet (e.g. malformed input). Leave the plain\n // <pre><code> in place — the consumer still gets readable text.\n return;\n }\n const newTree = fromHtml(html, { fragment: true });\n const top = newTree.children[0];\n if (parent?.tagName === \"pre\" && parent.children?.length === 1 && top) {\n Object.assign(parent, top);\n }\n });\n return tree;\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/components/primitives/slide/plugins/shiki/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Slide rich-content plugin — Shiki syntax highlighting.\n *\n * Lazy + opt-in (ADR D9, D13 of the rich-content plan). Peer-dep `shiki` is\n * declared optional in `package.json`; the plugin guards every dynamic import\n * so a missing peer-dep is reported (D16) rather than crashing the slide.\n *\n * Pipeline contribution:\n * - `hastTransform`: walks `<pre><code class=\"language-XXX\">` nodes, replaces\n * them with the pre-rendered `<pre><code>` tree emitted by Shiki.\n * - `sanitizeSchemaExtension`: allows `<span>` with `style` and `class`\n * (Shiki emits inline styles for tokens).\n *\n * Performance:\n * - Highlighter is created lazily on first use and cached.\n * - Grammars listed in `langs` are pre-loaded once; unknown langs pass-through\n * as plain `<pre><code>` (defaultSchema allows that).\n *\n * @example\n * import { shikiPlugin } from \"@theokit/ui/slide/plugins/shiki\";\n * import \"shiki\"; // installed as peer-dep\n * <Slide markdown={md} plugins={[shikiPlugin({ langs: [\"ts\",\"python\"] })]} />\n */\nimport type { Element, Root as HastRoot } from \"hast\";\nimport type { SlidePlugin } from \"../../plugin.js\";\n\nexport interface ShikiPluginOptions {\n /** Dual-theme map — light/dark Shiki theme names. Defaults to `github-light` / `github-dark`. */\n themes?: { light: string; dark: string };\n /** Languages to pre-load. Unknown languages pass-through. Defaults to a tech-stack baseline. */\n langs?: string[];\n}\n\nconst DEFAULT_LANGS = [\n \"ts\",\n \"tsx\",\n \"js\",\n \"jsx\",\n \"python\",\n \"go\",\n \"rust\",\n \"java\",\n \"json\",\n \"yaml\",\n \"bash\",\n \"shell\",\n \"html\",\n \"css\",\n \"sql\",\n \"markdown\",\n];\n\nexport function shikiPlugin(opts: ShikiPluginOptions = {}): SlidePlugin {\n const themes = opts.themes ?? { light: \"github-light\", dark: \"github-dark\" };\n const langs = opts.langs ?? DEFAULT_LANGS;\n // biome-ignore lint/suspicious/noExplicitAny: shiki has no exported type for `Highlighter` at the top level\n let highlighter: any = null;\n let peerDepMissing = false;\n\n // biome-ignore lint/suspicious/noExplicitAny: shiki Highlighter is untyped here\n async function getHighlighter(): Promise<any> {\n if (highlighter) return highlighter;\n if (peerDepMissing) return null;\n try {\n const shiki = await import(\"shiki\");\n highlighter = await shiki.createHighlighter({\n themes: [themes.light, themes.dark],\n langs,\n });\n return highlighter;\n } catch (e) {\n peerDepMissing = true;\n // Surface via D16 path (composePlugins catches → PLUGIN_ERROR).\n throw new Error(\n `[slide/plugins/shiki] peer-dep 'shiki' not installed or failed to load. Run: pnpm add shiki. Original: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n\n return {\n name: \"shiki\",\n sanitizeSchemaExtension: {\n tagNames: [\"span\", \"pre\", \"code\"],\n // Shiki emits inline `style` and `class` on tokens; \"*\" applies to every tag.\n attributes: {\n \"*\": [\"style\", \"className\"],\n pre: [\"style\", \"className\", \"tabIndex\"],\n code: [\"style\", \"className\"],\n span: [\"style\", \"className\"],\n },\n },\n async hastTransform(tree: HastRoot): Promise<HastRoot> {\n const hl = await getHighlighter();\n if (!hl) return tree; // peer-dep missing AND we've already reported it once\n const { visit } = await import(\"unist-util-visit\");\n const { fromHtml } = await import(\"hast-util-from-html\");\n // Walk: find <code class=\"language-XXX\">, replace its parent <pre> subtree\n // with the highlighted output (which is also a <pre><code>...</code></pre>).\n // biome-ignore lint/suspicious/noExplicitAny: hast unist-util-visit untyped here\n visit(tree, \"element\", (node: Element, _idx: number | undefined, parent: any) => {\n if (node.tagName !== \"code\") return;\n const className = (node.properties?.className as string[] | undefined) ?? [];\n const langClass = className.find((c) => c.startsWith(\"language-\"));\n if (!langClass) return;\n const lang = langClass.replace(\"language-\", \"\");\n if (!langs.includes(lang)) return;\n const first = node.children?.[0];\n const codeText = first && first.type === \"text\" ? first.value : \"\";\n let html: string;\n try {\n html = hl.codeToHtml(codeText, { lang, themes });\n } catch {\n // Shiki failed on this snippet (e.g. malformed input). Leave the plain\n // <pre><code> in place — the consumer still gets readable text.\n return;\n }\n const newTree = fromHtml(html, { fragment: true });\n const top = newTree.children[0];\n if (parent?.tagName === \"pre\" && parent.children?.length === 1 && top) {\n Object.assign(parent, top);\n }\n });\n return tree;\n },\n };\n}\n"]}
@@ -26,7 +26,7 @@
26
26
 
27
27
  /* Violet accent — the brand hue. Used for relative mixing so it adapts
28
28
  to light/dark surfaces (mixed with `currentColor`). */
29
- --theo-slide-accent: #7c3aed;
29
+ --theo-slide-accent: #a855f7;
30
30
 
31
31
  /* Derived tints — relative to inherited `currentColor` so they auto-flip
32
32
  when the parent surface flips. */
@@ -1,4 +1,5 @@
1
- import { Slide, extractFrontmatter } from '../chunk-5UGQXB2P.js';
1
+ "use client";
2
+ import { Slide, extractFrontmatter } from '../chunk-CVFSNA4K.js';
2
3
  import { createContext, useContext, useRef, useState, useEffect, useCallback, useMemo, useReducer, useId } from 'react';
3
4
  import { jsxs, jsx } from 'react/jsx-runtime';
4
5
  import { z } from 'zod';
@@ -20,6 +21,7 @@ var Controls = ({ className }) => {
20
21
  return /* @__PURE__ */ jsxs(
21
22
  "div",
22
23
  {
24
+ "data-slot": "controls",
23
25
  className: ["theo-slide-deck-controls", className].filter(Boolean).join(" "),
24
26
  "data-theo-slide-deck-controls": true,
25
27
  style: {
@@ -262,6 +264,7 @@ var ProgressBar = ({ className }) => {
262
264
  return /* @__PURE__ */ jsx(
263
265
  "progress",
264
266
  {
267
+ "data-slot": "progress-bar",
265
268
  className: ["theo-slide-deck-progress", className].filter(Boolean).join(" "),
266
269
  "data-theo-slide-deck-progress": true,
267
270
  value,
@@ -395,6 +398,7 @@ var ThumbnailItem = ({
395
398
  return /* @__PURE__ */ jsx(
396
399
  "button",
397
400
  {
401
+ "data-slot": "thumbnail-item",
398
402
  ref: setRef,
399
403
  type: "button",
400
404
  onClick: () => onSelect(index),
@@ -467,6 +471,7 @@ var Thumbnails = ({ className, scale = 0.18 }) => {
467
471
  return /* @__PURE__ */ jsx(
468
472
  "ul",
469
473
  {
474
+ "data-slot": "thumbnails",
470
475
  className: ["theo-slide-deck-thumbnails", className].filter(Boolean).join(" "),
471
476
  "data-theo-slide-deck-thumbnails": true,
472
477
  "aria-label": "Slide thumbnails",
@@ -883,7 +888,7 @@ var SlideDeckBase = ({
883
888
  }),
884
889
  [state, dispatch, parsedSlides, transition, deckId, plugins, fullscreen.toggle, onPrint]
885
890
  );
886
- return /* @__PURE__ */ jsx(DeckContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
891
+ return /* @__PURE__ */ jsx(DeckContext.Provider, { "data-slot": "slide-deck-base", value: contextValue, children: /* @__PURE__ */ jsxs(
887
892
  "div",
888
893
  {
889
894
  ref: rootRef,
@@ -926,6 +931,7 @@ var SlidesView = ({ className }) => {
926
931
  return /* @__PURE__ */ jsx(
927
932
  "div",
928
933
  {
934
+ "data-slot": "slides-view",
929
935
  className: ["theo-slide-deck-slide-frame", className].filter(Boolean).join(" "),
930
936
  "data-theo-slide-deck-transition": transition,
931
937
  "data-theo-slide-deck-direction": state.transitionDirection,
@@ -973,6 +979,7 @@ var PresenterButton = ({ className }) => {
973
979
  return /* @__PURE__ */ jsx(
974
980
  "button",
975
981
  {
982
+ "data-slot": "presenter-button",
976
983
  type: "button",
977
984
  onClick: () => dispatch({ type: "TOGGLE_PRESENTER" }),
978
985
  "aria-pressed": state.presenterMode,
@@ -987,6 +994,7 @@ var FullscreenButton = ({ className }) => {
987
994
  return /* @__PURE__ */ jsx(
988
995
  "button",
989
996
  {
997
+ "data-slot": "fullscreen-button",
990
998
  type: "button",
991
999
  onClick: () => void toggleFullscreen(),
992
1000
  "aria-pressed": state.fullscreen,
@@ -1001,6 +1009,7 @@ var PrintButton = ({ className }) => {
1001
1009
  return /* @__PURE__ */ jsx(
1002
1010
  "button",
1003
1011
  {
1012
+ "data-slot": "print-button",
1004
1013
  type: "button",
1005
1014
  onClick: () => print(),
1006
1015
  "aria-label": "Print or save deck as PDF",
@@ -1016,6 +1025,7 @@ var PrintContainer = ({
1016
1025
  return /* @__PURE__ */ jsx(
1017
1026
  "div",
1018
1027
  {
1028
+ "data-slot": "print-container",
1019
1029
  className: "theo-slide-deck-print-container",
1020
1030
  "aria-hidden": "true",
1021
1031
  style: {
@@ -1047,6 +1057,7 @@ var DefaultDeckLayout = () => {
1047
1057
  return /* @__PURE__ */ jsxs(
1048
1058
  "div",
1049
1059
  {
1060
+ "data-slot": "default-deck-layout",
1050
1061
  className: "theo-slide-deck-default-layout",
1051
1062
  style: {
1052
1063
  display: "grid",