@iowarp/clio-coder 0.4.9 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1172) hide show
  1. package/.claude-plugin/marketplace.json +11 -3
  2. package/CHANGELOG.md +153 -0
  3. package/CODE_OF_CONDUCT.md +10 -0
  4. package/CONTRIBUTING.md +208 -382
  5. package/NOTICE +8 -2
  6. package/README.md +199 -418
  7. package/ROADMAP.md +82 -0
  8. package/SECURITY.md +14 -11
  9. package/dist/acp-KS7ARGV6.js +132 -0
  10. package/dist/agents-YOGJ2YEJ.js +163 -0
  11. package/dist/assets/codewiki.json +1 -1
  12. package/dist/auth-CEDCO6O6.js +557 -0
  13. package/dist/background-YWTBPSQU.js +39 -0
  14. package/dist/builtins-GDYO4RTR.js +23 -0
  15. package/dist/chunk-27YTM2CV.js +175 -0
  16. package/dist/chunk-2AF6YC7Q.js +75 -0
  17. package/dist/chunk-2DTIWSAW.js +381 -0
  18. package/dist/chunk-2EMLKSCX.js +262 -0
  19. package/dist/chunk-2OJ3YZQP.js +665 -0
  20. package/dist/chunk-2VLYHHFT.js +35 -0
  21. package/dist/chunk-2WVPJF3Z.js +204 -0
  22. package/dist/chunk-33OASOS6.js +176 -0
  23. package/dist/chunk-3BD2LXYJ.js +19 -0
  24. package/dist/chunk-3JHUFKG7.js +30 -0
  25. package/dist/chunk-3JLTRPN7.js +711 -0
  26. package/dist/chunk-3LT34CAM.js +2796 -0
  27. package/dist/chunk-3O5JWP4L.js +1670 -0
  28. package/dist/chunk-3UW3KU4A.js +21 -0
  29. package/dist/chunk-4A6YRGV4.js +569 -0
  30. package/dist/chunk-4D2BRCZ3.js +67 -0
  31. package/dist/chunk-4SYHGVDE.js +668 -0
  32. package/dist/chunk-4VDHLCF5.js +66 -0
  33. package/dist/chunk-4WOOTKFD.js +637 -0
  34. package/dist/chunk-4WV4PI66.js +80 -0
  35. package/dist/chunk-53OXPRI6.js +195 -0
  36. package/dist/chunk-55RMDDFM.js +1347 -0
  37. package/dist/chunk-56XP4FJU.js +2025 -0
  38. package/dist/chunk-5B3RTYAK.js +123 -0
  39. package/dist/chunk-5CD243WE.js +45 -0
  40. package/dist/chunk-5JQR5B4D.js +709 -0
  41. package/dist/chunk-5KQEUIWM.js +597 -0
  42. package/dist/chunk-5LP5FNNR.js +915 -0
  43. package/dist/chunk-62UK7AGW.js +9344 -0
  44. package/dist/chunk-6CTHLZFB.js +563 -0
  45. package/dist/chunk-6EJYVCTN.js +23 -0
  46. package/dist/chunk-6OWUM2NC.js +12289 -0
  47. package/dist/chunk-6RJMYYIE.js +1023 -0
  48. package/dist/chunk-6W75D37F.js +643 -0
  49. package/dist/chunk-733ZBT5P.js +1721 -0
  50. package/dist/chunk-77DCC6JZ.js +3710 -0
  51. package/dist/chunk-7QXCO3AF.js +156 -0
  52. package/dist/chunk-7RET77VB.js +481 -0
  53. package/dist/chunk-A4MVRV4C.js +65 -0
  54. package/dist/chunk-ALJWT6O6.js +93 -0
  55. package/dist/chunk-AVSR2HKI.js +232 -0
  56. package/dist/chunk-B7GY6QER.js +42 -0
  57. package/dist/chunk-BFOSV5EZ.js +178 -0
  58. package/dist/chunk-BGOIM7NB.js +103 -0
  59. package/dist/chunk-BJH6WFIB.js +372 -0
  60. package/dist/chunk-BOBCCDJ6.js +1533 -0
  61. package/dist/chunk-BRCOSE7O.js +117 -0
  62. package/dist/chunk-BYFHHCFV.js +601 -0
  63. package/dist/chunk-C2CPOIH2.js +83 -0
  64. package/dist/chunk-C7AQTPCE.js +694 -0
  65. package/dist/chunk-CBAQPTDU.js +165 -0
  66. package/dist/chunk-CDQ2UC6W.js +125 -0
  67. package/dist/chunk-CN6SW5DC.js +177 -0
  68. package/dist/chunk-CRHPCPZP.js +132 -0
  69. package/dist/chunk-CTFPFW3H.js +44 -0
  70. package/dist/chunk-D3KWFOUT.js +103 -0
  71. package/dist/chunk-D65E25JG.js +185 -0
  72. package/dist/chunk-DCGHJQ2U.js +236 -0
  73. package/dist/chunk-DE2LU267.js +106 -0
  74. package/dist/chunk-DF6PI6GN.js +97 -0
  75. package/dist/chunk-DGC6X6XR.js +53 -0
  76. package/dist/chunk-DOUISWEE.js +526 -0
  77. package/dist/chunk-DR3TAEUA.js +188 -0
  78. package/dist/chunk-DVTBERFY.js +33 -0
  79. package/dist/chunk-DXSETN72.js +1051 -0
  80. package/dist/chunk-DZLR4UEH.js +128 -0
  81. package/dist/chunk-E6IPKW2E.js +77 -0
  82. package/dist/chunk-EG4ARXPC.js +139 -0
  83. package/dist/chunk-EKV4UBCM.js +652 -0
  84. package/dist/chunk-EOJPDNUP.js +1325 -0
  85. package/dist/chunk-EX57VVWW.js +4157 -0
  86. package/dist/chunk-EYTLV3W3.js +5937 -0
  87. package/dist/chunk-EZD2BXGP.js +475 -0
  88. package/dist/chunk-EZDCA34W.js +314 -0
  89. package/dist/chunk-FD2I4KBR.js +33 -0
  90. package/dist/chunk-FD3IAHQM.js +27 -0
  91. package/dist/chunk-FFYTC2KQ.js +416 -0
  92. package/dist/chunk-FGSQHUCK.js +110 -0
  93. package/dist/chunk-GCQFN7YI.js +32 -0
  94. package/dist/chunk-GGPF6LLE.js +38 -0
  95. package/dist/chunk-GGWI3OVM.js +215 -0
  96. package/dist/chunk-GLIQT7SU.js +172 -0
  97. package/dist/chunk-GN7QBEEI.js +95 -0
  98. package/dist/chunk-GRHOXDKB.js +1104 -0
  99. package/dist/chunk-HMN2C6YL.js +54 -0
  100. package/dist/chunk-HOEDA42N.js +310 -0
  101. package/dist/chunk-HOYZUKG7.js +192 -0
  102. package/dist/chunk-HQVN7G4F.js +1021 -0
  103. package/dist/chunk-HSQQFDB3.js +519 -0
  104. package/dist/chunk-I4ELN5BX.js +47 -0
  105. package/dist/chunk-I4Y4WKZR.js +386 -0
  106. package/dist/chunk-IFPDAD7R.js +797 -0
  107. package/dist/chunk-IN7DGBVS.js +582 -0
  108. package/dist/chunk-ISHUS7HC.js +396 -0
  109. package/dist/chunk-JPXLJSGR.js +191 -0
  110. package/dist/chunk-JQCLXSFI.js +69 -0
  111. package/dist/chunk-KBUTSJSR.js +61 -0
  112. package/dist/chunk-KW5HXKLJ.js +56 -0
  113. package/dist/chunk-L4APUGCT.js +139 -0
  114. package/dist/chunk-L7G7K4I2.js +505 -0
  115. package/dist/chunk-LAR7DX5E.js +1840 -0
  116. package/dist/chunk-LAVUQX3B.js +462 -0
  117. package/dist/chunk-LJRBX7QR.js +116 -0
  118. package/dist/chunk-LNOXCGN2.js +1864 -0
  119. package/dist/chunk-LTWH2ACR.js +23002 -0
  120. package/dist/chunk-LYJJ6546.js +661 -0
  121. package/dist/chunk-M2IPMWCN.js +457 -0
  122. package/dist/chunk-MGLRTOCK.js +101 -0
  123. package/dist/chunk-MZF5IKZT.js +160 -0
  124. package/dist/chunk-N24R6KWS.js +386 -0
  125. package/dist/chunk-NASYVWDB.js +604 -0
  126. package/dist/chunk-NBXFPI7U.js +195 -0
  127. package/dist/chunk-NDPF2N2L.js +400 -0
  128. package/dist/chunk-NFSK2VNU.js +446 -0
  129. package/dist/chunk-NG3QQSXY.js +43 -0
  130. package/dist/chunk-NOCSM22Y.js +63 -0
  131. package/dist/chunk-NVPXXW2H.js +1143 -0
  132. package/dist/chunk-O63U2I6I.js +30 -0
  133. package/dist/chunk-OJXOA6YU.js +98 -0
  134. package/dist/chunk-OPD7GL6F.js +1196 -0
  135. package/dist/chunk-OQ2EOAHA.js +14399 -0
  136. package/dist/chunk-OV62D6KO.js +688 -0
  137. package/dist/chunk-OZ76TLGU.js +740 -0
  138. package/dist/chunk-P4GNZPXO.js +1156 -0
  139. package/dist/chunk-PS6JAWJZ.js +78 -0
  140. package/dist/chunk-PXRCXGLK.js +1865 -0
  141. package/dist/chunk-QDUUOZ3S.js +108 -0
  142. package/dist/chunk-QG6I2T5E.js +1416 -0
  143. package/dist/chunk-QHSBROEW.js +308 -0
  144. package/dist/chunk-QNUQ7K7D.js +46 -0
  145. package/dist/chunk-QZTTRSJE.js +333 -0
  146. package/dist/chunk-R2UUNSNQ.js +1605 -0
  147. package/dist/chunk-R7FGRZNF.js +1794 -0
  148. package/dist/chunk-RNDCROSG.js +199 -0
  149. package/dist/chunk-S36CXHO2.js +302 -0
  150. package/dist/chunk-SJGS3GDI.js +575 -0
  151. package/dist/chunk-SQZHXUB3.js +510 -0
  152. package/dist/chunk-SUTLW6ND.js +686 -0
  153. package/dist/chunk-SYF7FVBL.js +179 -0
  154. package/dist/chunk-T2MDZES3.js +1577 -0
  155. package/dist/chunk-T33IYTZM.js +1146 -0
  156. package/dist/chunk-TDGYTWM6.js +49 -0
  157. package/dist/chunk-TGL5FZVD.js +132 -0
  158. package/dist/chunk-TGWZXJ7L.js +1205 -0
  159. package/dist/chunk-TKDRT2DF.js +114 -0
  160. package/dist/chunk-TV2EBCSQ.js +152 -0
  161. package/dist/chunk-U26XXPJS.js +367 -0
  162. package/dist/chunk-U5QU5ZOD.js +419 -0
  163. package/dist/chunk-U6YTUVOX.js +1011 -0
  164. package/dist/chunk-UCINIRHW.js +188 -0
  165. package/dist/chunk-UJD5MPP6.js +52 -0
  166. package/dist/chunk-URCXX7WJ.js +146 -0
  167. package/dist/chunk-UX2L5CUD.js +898 -0
  168. package/dist/chunk-UZVYEF57.js +114 -0
  169. package/dist/chunk-V35KZDUZ.js +218 -0
  170. package/dist/chunk-VESL6DQY.js +1058 -0
  171. package/dist/chunk-VKHLUZNO.js +986 -0
  172. package/dist/chunk-VOYUCAQF.js +584 -0
  173. package/dist/chunk-VYRQHORQ.js +414 -0
  174. package/dist/chunk-W53XSRQE.js +245 -0
  175. package/dist/chunk-X4CEFOSG.js +226 -0
  176. package/dist/chunk-XDHUDE5K.js +380 -0
  177. package/dist/chunk-XISLDHEL.js +1290 -0
  178. package/dist/chunk-XM34YQ2Y.js +169 -0
  179. package/dist/chunk-XMDBTYCH.js +661 -0
  180. package/dist/chunk-XS2QPZJE.js +449 -0
  181. package/dist/chunk-YBUECLAF.js +618 -0
  182. package/dist/chunk-YQ6XEFVK.js +332 -0
  183. package/dist/chunk-YYLCPDCC.js +990 -0
  184. package/dist/chunk-Z4GLJ6J4.js +1035 -0
  185. package/dist/chunk-ZARZ4POR.js +210 -0
  186. package/dist/chunk-ZJPORZTC.js +119 -0
  187. package/dist/chunk-ZNUZ3EXD.js +243 -0
  188. package/dist/chunk-ZPST2KQO.js +49 -0
  189. package/dist/chunk-ZR5YA6ZF.js +512 -0
  190. package/dist/chunk-ZU4JPCPR.js +319 -0
  191. package/dist/chunk-ZUKUCZYZ.js +39 -0
  192. package/dist/cli/index.js +56 -45
  193. package/dist/clio-K2PBVCEM.js +27 -0
  194. package/dist/clio-context-tools-GR4OHFSO.js +145 -0
  195. package/dist/code-nav-4X3OI6DK.js +715 -0
  196. package/dist/codewiki/build-worker.js +4 -4
  197. package/dist/compile-cache-YRB6QRO7.js +18 -0
  198. package/dist/components-RQOJ6NUR.js +675 -0
  199. package/dist/config-Q5J7UBAB.js +291 -0
  200. package/dist/config-XE7XYZLU.js +38 -0
  201. package/dist/config-graph-P3555574.js +175 -0
  202. package/dist/configure-KIJ32ZO6.js +104 -0
  203. package/dist/context-LFBQOSXT.js +344 -0
  204. package/dist/context-NNLBES2Y.js +82 -0
  205. package/dist/context-WBH3KSVR.js +302 -0
  206. package/dist/context-clear-YOHMQ6SQ.js +208 -0
  207. package/dist/context-index-X2N5UAIF.js +120 -0
  208. package/dist/context-map-HOSMGUG2.js +555 -0
  209. package/dist/context-working-set-MRAEVDNV.js +1564 -0
  210. package/dist/data-tool-JJPBGMQJ.js +2986 -0
  211. package/dist/detail-RHJOTGN4.js +139 -0
  212. package/dist/dispatch-runner-NC7PYNIO.js +2477 -0
  213. package/dist/docs-K4GBWRUX.js +342 -0
  214. package/dist/doctor-S5KZ2GTN.js +1138 -0
  215. package/dist/doctor-deep-2EJQSHIZ.js +130 -0
  216. package/dist/domain-loader-MB34FDPD.js +13 -0
  217. package/dist/eval-3D6M36N7.js +5220 -0
  218. package/dist/eval-inventory-SM3HNM47.js +260 -0
  219. package/dist/evals-FO6JEUCN.js +104 -0
  220. package/dist/evidence-6IYN52ET.js +262 -0
  221. package/dist/evidence-JVECPI3F.js +250 -0
  222. package/dist/evidence-XNVPPLVK.js +410 -0
  223. package/dist/evolve-TLPUDJDM.js +634 -0
  224. package/dist/extensions-ROZJ5X3J.js +311 -0
  225. package/dist/fleet-6RJWIOEO.js +284 -0
  226. package/dist/fleet-WKVBF5SZ.js +942 -0
  227. package/dist/fleet-commands-L6WFT7KZ.js +76 -0
  228. package/dist/fleet-decisions-BTQMWU5A.js +55 -0
  229. package/dist/fleet-graph-553DZ67Q.js +141 -0
  230. package/dist/fleet-inspect-236FZPRB.js +329 -0
  231. package/dist/fleet-new-CKUXP3CO.js +48 -0
  232. package/dist/fleet-preflight-NZQHABWO.js +95 -0
  233. package/dist/fleet-validate-7NLAE26R.js +96 -0
  234. package/dist/fleet-verify-E3RO6A5W.js +226 -0
  235. package/dist/fleet-view-KMZQY7YJ.js +144 -0
  236. package/dist/gui/client/assets/abnfDiagram-VCTEODGH-DPBWQwNn.js +1 -0
  237. package/dist/gui/client/assets/architecture-7GRP2DOG-D1w8FrFW.js +1 -0
  238. package/dist/gui/client/assets/architectureDiagram-5GKGNRK7-CVPgKd1-.js +36 -0
  239. package/dist/gui/client/assets/blockDiagram-I7D4REHJ-BLmnqkK5.js +129 -0
  240. package/dist/gui/client/assets/c4Diagram-7LVT6UL2-4AU9cfM7.js +38 -0
  241. package/dist/gui/client/assets/channel-DwFZ0m8S.js +1 -0
  242. package/dist/gui/client/assets/chunk-4HAMMTFA-EOWkKCav.js +62 -0
  243. package/dist/gui/client/assets/chunk-75Z2AOVW-CygeoIMl.js +2 -0
  244. package/dist/gui/client/assets/chunk-DU6HZSFF-s27fViLb.js +125 -0
  245. package/dist/gui/client/assets/chunk-F27PBJKO-BrHvwLsZ.js +1 -0
  246. package/dist/gui/client/assets/chunk-GMAD6QVW-DzPh-7jt.js +72 -0
  247. package/dist/gui/client/assets/chunk-GVQU2GXP-pIaQkIzm.js +1 -0
  248. package/dist/gui/client/assets/chunk-IMKFNOWR-BGJVE_Br.js +231 -0
  249. package/dist/gui/client/assets/chunk-L3NEJ4N5-B3YLuhww.js +1 -0
  250. package/dist/gui/client/assets/chunk-OSK3NFVY-BRj61HHU.js +10 -0
  251. package/dist/gui/client/assets/chunk-P2QGCYS3-Sno90KxP.js +1 -0
  252. package/dist/gui/client/assets/chunk-POPQ4Y6H-Cw8NTbxr.js +1 -0
  253. package/dist/gui/client/assets/chunk-PWAF6VOD-BIhHgz37.js +1 -0
  254. package/dist/gui/client/assets/chunk-SHT3W25Y-Cqv7npBj.js +168 -0
  255. package/dist/gui/client/assets/chunk-SVP7TREG-Hxzl6Dee.js +88 -0
  256. package/dist/gui/client/assets/chunk-TICWLB2K-CIFVyVP2.js +206 -0
  257. package/dist/gui/client/assets/classDiagram-ZZMXUADV-BJbAiI_w.js +1 -0
  258. package/dist/gui/client/assets/classDiagram-v2-VYDZK3BY-BJbAiI_w.js +1 -0
  259. package/dist/gui/client/assets/cynefin-OW5HDTMX-DecLWZ-y.js +1 -0
  260. package/dist/gui/client/assets/cynefinDiagram-5FMLGOSQ-CK-T2N-D.js +62 -0
  261. package/dist/gui/client/assets/dagre-GXQ25YYZ-C0dfg-OS.js +4 -0
  262. package/dist/gui/client/assets/diagram-S7CK7UJ4-EaJukVh-.js +30 -0
  263. package/dist/gui/client/assets/diagram-UQ7AKVKN-xcOucEtP.js +41 -0
  264. package/dist/gui/client/assets/diagram-VSXAHHWV-3AUJACMf.js +3 -0
  265. package/dist/gui/client/assets/diagram-VX7I27RA-TPknLqam.js +24 -0
  266. package/dist/gui/client/assets/diagram-Z3DM3KII-wa1q3YMF.js +24 -0
  267. package/dist/gui/client/assets/ebnfDiagram-PWID7BFC-JBCF2-s7.js +1 -0
  268. package/dist/gui/client/assets/erDiagram-RLTQ6QDP-CmXjXPc4.js +99 -0
  269. package/dist/gui/client/assets/eventmodeling-NTZA5JFV-D_1aJWYl.js +1 -0
  270. package/dist/gui/client/assets/flowDiagram-HODETNUW-BQtZlael.js +1 -0
  271. package/dist/gui/client/assets/framework-Bq-znqwW.js +9 -0
  272. package/dist/gui/client/assets/ganttDiagram-EL5Y4UJY-IPaL_kaa.js +292 -0
  273. package/dist/gui/client/assets/gitGraph-4MIJSDKK-Oy0Q3hoc.js +1 -0
  274. package/dist/gui/client/assets/gitGraphDiagram-WWUBYQGX-jtAuBmbc.js +106 -0
  275. package/dist/gui/client/assets/index-CuFuBEdL.css +1 -0
  276. package/dist/gui/client/assets/index-hMbEIsX0.js +87 -0
  277. package/dist/gui/client/assets/info-A6RAGUB7-UtEs1tv7.js +1 -0
  278. package/dist/gui/client/assets/infoDiagram-27XIBGKW-hlwR1pBW.js +2 -0
  279. package/dist/gui/client/assets/ishikawaDiagram-5VMMS53U-C6vMtfsd.js +70 -0
  280. package/dist/gui/client/assets/journeyDiagram-3NMN7TZE-EAwAl_PS.js +139 -0
  281. package/dist/gui/client/assets/kanban-definition-UXKFOSKX-CQOhRKHW.js +89 -0
  282. package/dist/gui/client/assets/line-DbcwGZTW.js +1 -0
  283. package/dist/gui/client/assets/mermaid-parser.core-C2QfVcHd.js +7 -0
  284. package/dist/gui/client/assets/mermaid.core-N9qUTre1.js +44 -0
  285. package/dist/gui/client/assets/mindmap-definition-YA3MSWOX-BR_FL9gK.js +96 -0
  286. package/dist/gui/client/assets/packet-AYTQ26CC-CbBJ2oAa.js +1 -0
  287. package/dist/gui/client/assets/pegDiagram-XKGWAZYB-BruU0IHM.js +1 -0
  288. package/dist/gui/client/assets/pie-WAS4IAKB-BWdSng4H.js +1 -0
  289. package/dist/gui/client/assets/pieDiagram-E7YTZNPT-CR3ljgdU.js +39 -0
  290. package/dist/gui/client/assets/quadrantDiagram-AXDQQJYC-C-boKslr.js +7 -0
  291. package/dist/gui/client/assets/radar-RG4KPBEZ-CGlOnAKG.js +1 -0
  292. package/dist/gui/client/assets/railroad-74A4TZTK-CDvuAlyC.js +1 -0
  293. package/dist/gui/client/assets/railroad-abnf-HS5TGJTU-CQUA9crC.js +1 -0
  294. package/dist/gui/client/assets/railroad-ebnf-LZEXJU2U-CD857gxq.js +1 -0
  295. package/dist/gui/client/assets/railroad-peg-WCYAUIDC-DUV4k35E.js +1 -0
  296. package/dist/gui/client/assets/railroadDiagram-O6MQD6OU-DMR4LXmA.js +1 -0
  297. package/dist/gui/client/assets/requirementDiagram-BXWQKSXE-DVltaF6c.js +84 -0
  298. package/dist/gui/client/assets/sankeyDiagram-P5KCCOFB-CHdNz472.js +40 -0
  299. package/dist/gui/client/assets/sequenceDiagram-WJ2MYXX4-DaMafIty.js +162 -0
  300. package/dist/gui/client/assets/stateDiagram-D77RDMKH-CEbBHqn3.js +1 -0
  301. package/dist/gui/client/assets/stateDiagram-v2-MP3YSRHH-B3JgDdFg.js +1 -0
  302. package/dist/gui/client/assets/swimlanes-42K2YHIH-BlPHndnJ.js +1 -0
  303. package/dist/gui/client/assets/swimlanesDiagram-VR7AAH4N-BPabHwsZ.js +8 -0
  304. package/dist/gui/client/assets/timeline-definition-24CTP7MA-E4Y1lPBI.js +120 -0
  305. package/dist/gui/client/assets/treeView-Q6P3EWNA-DrY0uhTN.js +1 -0
  306. package/dist/gui/client/assets/treemap-WGGIJYW6-CVotnLHf.js +1 -0
  307. package/dist/gui/client/assets/vennDiagram-4TSXK5OY-DJNrLIOF.js +34 -0
  308. package/dist/gui/client/assets/wardley-WFR3VGLG-ClOpAp5S.js +1 -0
  309. package/dist/gui/client/assets/wardleyDiagram-VM6X3IG4-qhMoKOXc.js +78 -0
  310. package/dist/gui/client/assets/xychartDiagram-S5SC5T6Z-CTuXoo9R.js +7 -0
  311. package/dist/gui/client/index.html +6 -0
  312. package/dist/gui/ops-worker.js +167 -0
  313. package/dist/gui/reads-worker.js +473 -0
  314. package/dist/gui/server.js +9780 -0
  315. package/dist/gui-QJS7XQMV.js +16 -0
  316. package/dist/init-DV5B6HQG.js +354 -0
  317. package/dist/install-6C45YXFP.js +19 -0
  318. package/dist/install-O7NSRU2W.js +13 -0
  319. package/dist/interactive-OXGYZYAS.js +22381 -0
  320. package/dist/interop-J7UOBOSF.js +254 -0
  321. package/dist/inventory-OEGIL6PY.js +144 -0
  322. package/dist/library-B3UPGY4V.js +83 -0
  323. package/dist/library-MXQA5DLT.js +309 -0
  324. package/dist/library-ROZAMUIL.js +496 -0
  325. package/dist/library-import-2LTWOVBD.js +190 -0
  326. package/dist/library-inventory-LJ3XHLWO.js +60 -0
  327. package/dist/library-validation-DARHHUNW.js +46 -0
  328. package/dist/mcp-2GSPYQ54.js +28 -0
  329. package/dist/memory-J3STUUIK.js +537 -0
  330. package/dist/models-Y3GMFJ2V.js +314 -0
  331. package/dist/monitor-LHNH577J.js +811 -0
  332. package/dist/orchestrator-DTAPXULA.js +12117 -0
  333. package/dist/panes-A743ONZ5.js +103 -0
  334. package/dist/panes-CTNO57ZY.js +76 -0
  335. package/dist/paths-3SBYJQDP.js +68 -0
  336. package/dist/preload-OJBMAIXF.js +140 -0
  337. package/dist/providers-CMETPZNS.js +232 -0
  338. package/dist/registry-37T4U6X2.js +15 -0
  339. package/dist/reset-O7EUCYWO.js +346 -0
  340. package/dist/resources-FY6XYFN2.js +189 -0
  341. package/dist/run-H64MEVTA.js +1067 -0
  342. package/dist/run-script-PQ5NRU3X.js +42 -0
  343. package/dist/settings-SNIQNXCW.js +73 -0
  344. package/dist/settings-controls-X6GMCPVG.js +202 -0
  345. package/dist/share-CAFMMQLM.js +299 -0
  346. package/dist/skills-ERKQUC7L.js +114 -0
  347. package/dist/skills-eval-CQ23MYQK.js +1099 -0
  348. package/dist/skills-inventory-TVUYJDVN.js +142 -0
  349. package/dist/slash-commands-ROG3KIFJ.js +107 -0
  350. package/dist/startup-background-KDWCQMWT.js +247 -0
  351. package/dist/steer-KKYXJSH4.js +77 -0
  352. package/dist/support-M3RCUUEL.js +40 -0
  353. package/dist/system-ZDW44ZGX.js +142 -0
  354. package/dist/target-runtimes-PWA22WVW.js +73 -0
  355. package/dist/targets-AJWA6E7Z.js +1207 -0
  356. package/dist/tasks-6L2JJRC5.js +39 -0
  357. package/dist/terminal-lease-YFUSDPAD.js +432 -0
  358. package/dist/tools-5XJUABRD.js +30 -0
  359. package/dist/trace-LA5MVR4Y.js +527 -0
  360. package/dist/tree-sitter-TQW3Y52T.js +4673 -0
  361. package/dist/tui-primitives-IUCVWLH5.js +19 -0
  362. package/dist/uninstall-SAWGGXAB.js +448 -0
  363. package/dist/upgrade-HSNSVTZG.js +300 -0
  364. package/dist/usage-XSILDHKF.js +1083 -0
  365. package/dist/verifiers-ECA5GIHL.js +633 -0
  366. package/dist/verify-R6QQCCEB.js +31 -0
  367. package/dist/version-PLZYB5KW.js +22 -0
  368. package/dist/web-fetch-PVZNMBOB.js +803 -0
  369. package/dist/wiki-generate-RP22WP5K.js +647 -0
  370. package/dist/with-panes-W3PAZPRF.js +629 -0
  371. package/dist/worker/entry.js +324 -284
  372. package/dist/workspace-check-3764ZKC2.js +83 -0
  373. package/docs/README.md +26 -10
  374. package/docs/architecture/acp.md +179 -12
  375. package/docs/architecture/artifact-placement.md +1 -1
  376. package/docs/architecture/capacity-and-scheduling.md +7 -8
  377. package/docs/architecture/context-engine.md +350 -95
  378. package/docs/architecture/model-catalog.md +18 -11
  379. package/docs/architecture/observability.md +1 -1
  380. package/docs/architecture/pi-boundary.md +59 -6
  381. package/docs/architecture/prompt-envelope-and-tools.md +147 -39
  382. package/docs/architecture/provider-adapter-cookbook.md +2 -2
  383. package/docs/architecture/safety-model.md +18 -4
  384. package/docs/architecture/trace-store.md +2 -2
  385. package/docs/architecture/tui-design.md +41 -81
  386. package/docs/architecture/worker-dispatch-mechanics.md +9 -1
  387. package/docs/gui/README.md +69 -0
  388. package/docs/gui/boundary-doctrine.md +104 -0
  389. package/docs/gui/chat-rendering-spec.md +1440 -0
  390. package/docs/gui/cli-surface-routing.md +148 -0
  391. package/docs/gui/delivery-order.md +53 -0
  392. package/docs/gui/event-bus-coverage.md +103 -0
  393. package/docs/gui/inspector-presentation.md +71 -0
  394. package/docs/gui/parity/01-cli-surface.md +74 -0
  395. package/docs/gui/parity/02-slash-and-surfaces.md +110 -0
  396. package/docs/gui/parity/03-domains-and-plan.md +69 -0
  397. package/docs/gui/performance-baseline.md +76 -0
  398. package/docs/gui/settings-write-surface.md +267 -0
  399. package/docs/gui/workflow-coverage.md +64 -0
  400. package/docs/guide/built-in-agents.md +1 -1
  401. package/docs/guide/commands-and-modes.md +256 -99
  402. package/docs/guide/configuration-and-targets.md +485 -124
  403. package/docs/guide/configuration-reference.md +165 -82
  404. package/docs/guide/doctor.md +127 -0
  405. package/docs/guide/environment-variables.md +1 -1
  406. package/docs/guide/exit-codes-and-output.md +3 -1
  407. package/docs/guide/extensions-and-sharing.md +3 -14
  408. package/docs/guide/fleet-dispatch.md +231 -45
  409. package/docs/guide/glossary.md +1 -1
  410. package/docs/guide/installation-and-lifecycle.md +27 -16
  411. package/docs/guide/interop.md +2 -2
  412. package/docs/guide/proactive-memory.md +154 -68
  413. package/docs/guide/resource-library.md +4 -0
  414. package/docs/guide/skills-marketplace.md +8 -4
  415. package/docs/guide/slurm.md +88 -0
  416. package/docs/guide/tool-usage.md +134 -11
  417. package/docs/guide/troubleshooting.md +4 -2
  418. package/docs/process/battletest-2026-09-20-fixes.md +161 -0
  419. package/docs/process/configure-tree-proposal.md +637 -0
  420. package/docs/process/documentation-coverage.md +8 -0
  421. package/docs/process/documentation-guide.md +18 -1
  422. package/docs/process/eval-runner.md +58 -14
  423. package/docs/process/performance-methodology.md +11 -3
  424. package/docs/process/release-cut-checklist.md +29 -3
  425. package/docs/process/tool-audit-v0.4.9.md +3 -0
  426. package/examples/extensions/README.md +1 -3
  427. package/examples/extensions/lab-status/clio-coder-extension.json +1 -1
  428. package/examples/extensions/measurements/clio-coder-extension.json +1 -1
  429. package/library/registry.yaml +30 -5
  430. package/library/skills/git/fix-issue/SKILL.md +2 -1
  431. package/library/skills/git/fix-issue/plugin.json +1 -1
  432. package/library/skills/git/ship/SKILL.md +2 -1
  433. package/library/skills/git/ship/plugin.json +1 -1
  434. package/library/skills/meta/clio-coder-test/SKILL.md +5 -6
  435. package/library/skills/meta/clio-coder-test/evals.md +2 -2
  436. package/library/skills/meta/clio-coder-test/references/test-map.md +2 -2
  437. package/library/skills/registry.yaml +9 -5
  438. package/library/skills/research/slurm-jobs/SKILL.md +110 -0
  439. package/library/skills/research/slurm-jobs/evals.md +39 -0
  440. package/library/skills/research/slurm-jobs/plugin.json +23 -0
  441. package/library/skills/skill-marketplace.json +18 -2
  442. package/package.json +15 -10
  443. package/src/cli/args.ts +59 -0
  444. package/src/cli/argv.ts +7 -0
  445. package/src/cli/clio.ts +9 -1
  446. package/src/cli/configure-controls.ts +136 -0
  447. package/src/cli/configure-onboarding.ts +24 -7
  448. package/src/cli/configure-quick.ts +32 -7
  449. package/src/cli/configure-target.ts +11 -1
  450. package/src/cli/configure.ts +253 -256
  451. package/src/cli/docs-server.ts +290 -0
  452. package/src/cli/docs.ts +60 -15
  453. package/src/cli/doctor-deep.ts +126 -0
  454. package/src/cli/doctor-hpc.ts +122 -0
  455. package/src/cli/doctor-slurm.ts +130 -0
  456. package/src/cli/doctor-task-worktrees.ts +88 -0
  457. package/src/cli/doctor.ts +165 -16
  458. package/src/cli/fleet-verify.ts +3 -2
  459. package/src/cli/gui.ts +111 -0
  460. package/src/cli/index.ts +14 -4
  461. package/src/cli/library.ts +2 -7
  462. package/src/cli/modes/json-stream.ts +4 -2
  463. package/src/cli/modes/print.ts +252 -25
  464. package/src/cli/run.ts +199 -71
  465. package/src/cli/skills.ts +25 -7
  466. package/src/cli/targets.ts +87 -9
  467. package/src/cli/uninstall.ts +28 -8
  468. package/src/cli/usage.ts +2 -1
  469. package/src/cli/workspace-check.ts +71 -0
  470. package/src/core/bash-exec.ts +8 -2
  471. package/src/core/bus-events.ts +32 -3
  472. package/src/core/cache-telemetry.ts +3 -2
  473. package/src/core/compile-cache.ts +11 -1
  474. package/src/core/config.ts +59 -6
  475. package/src/core/defaults.ts +27 -5
  476. package/src/core/diagnostics.ts +25 -0
  477. package/src/core/event-bus.ts +2 -1
  478. package/src/core/gateway-routing.ts +10 -3
  479. package/src/core/git-commit-attribution.ts +2 -1
  480. package/src/core/naming-compat.ts +6 -4
  481. package/src/core/package-root.ts +0 -9
  482. package/src/core/path-canonical.ts +143 -24
  483. package/src/core/residency-target-key.ts +2 -6
  484. package/src/core/run-overrides.ts +1 -1
  485. package/src/core/settings-awareness.ts +108 -0
  486. package/src/core/settings-controls.ts +673 -0
  487. package/src/core/settings-navigation.ts +116 -0
  488. package/src/core/theme-token-hex.ts +19 -9
  489. package/src/core/turn-constraints.ts +52 -0
  490. package/src/domains/agents/builtins/scout.md +7 -17
  491. package/src/domains/agents/catalog.ts +5 -1
  492. package/src/domains/agents/extension.ts +2 -1
  493. package/src/domains/agents/registry.ts +4 -3
  494. package/src/domains/agents/result-contract.ts +132 -1
  495. package/src/domains/config/classify.ts +11 -7
  496. package/src/domains/config/extension.ts +5 -1
  497. package/src/domains/config/keybindings.ts +2 -2
  498. package/src/domains/context/codewiki/coordinator.ts +10 -0
  499. package/src/domains/context/worker/snapshot.ts +6 -3
  500. package/src/domains/dispatch/active-route-planner.ts +2 -0
  501. package/src/domains/dispatch/agent-candidates.ts +5 -1
  502. package/src/domains/dispatch/capability-match.ts +1 -1
  503. package/src/domains/dispatch/contract.ts +28 -0
  504. package/src/domains/dispatch/event-pump.ts +37 -3
  505. package/src/domains/dispatch/extension.ts +391 -48
  506. package/src/domains/dispatch/failure-classification.ts +37 -2
  507. package/src/domains/dispatch/receipt-integrity.ts +3 -0
  508. package/src/domains/dispatch/run-identity.ts +10 -3
  509. package/src/domains/dispatch/target-breaker.ts +163 -0
  510. package/src/domains/dispatch/types.ts +29 -2
  511. package/src/domains/dispatch/worker-model-loads.ts +66 -0
  512. package/src/domains/dispatch/worker-protocol.ts +20 -1
  513. package/src/domains/dispatch/worker-spawn.ts +28 -2
  514. package/src/domains/eval/artifacts/redact.ts +9 -0
  515. package/src/domains/eval/metrics/noop.ts +61 -0
  516. package/src/domains/eval/reports/junit.ts +5 -1
  517. package/src/domains/eval/reports/text.ts +7 -0
  518. package/src/domains/eval/runners/clio-run.ts +19 -8
  519. package/src/domains/eval/runners/external-command.ts +29 -4
  520. package/src/domains/eval/schema/adapter.ts +6 -2
  521. package/src/domains/eval/schema/suite.ts +2 -0
  522. package/src/domains/eval/schema/validate.ts +3 -0
  523. package/src/domains/eval/suites/run.ts +167 -26
  524. package/src/domains/evidence/detail.ts +3 -2
  525. package/src/domains/extensions/operator-runtime.ts +11 -4
  526. package/src/domains/gateway/mcp/client.ts +1 -1
  527. package/src/domains/lifecycle/doctor.ts +42 -26
  528. package/src/domains/lifecycle/migrations/2026-09-18-ollama-runtime-id.ts +38 -0
  529. package/src/domains/lifecycle/migrations/index.ts +2 -0
  530. package/src/domains/middleware/demo-guidance.ts +36 -0
  531. package/src/domains/middleware/dispatch-nudge.ts +1 -1
  532. package/src/domains/middleware/memory-intervention.ts +51 -4
  533. package/src/domains/middleware/runtime.ts +5 -4
  534. package/src/domains/middleware/skills-reminder.ts +29 -52
  535. package/src/domains/middleware/task-nudge.ts +1 -0
  536. package/src/domains/middleware/watchdog.ts +4 -0
  537. package/src/domains/observability/extension.ts +2 -1
  538. package/src/domains/observability/out-of-turn-usage.ts +3 -2
  539. package/src/domains/observability/projection.ts +3 -2
  540. package/src/domains/observability/worker-progress.ts +48 -0
  541. package/src/domains/prompts/compiler.ts +148 -52
  542. package/src/domains/prompts/contract.ts +3 -3
  543. package/src/domains/prompts/demo-guidance.ts +8 -0
  544. package/src/domains/prompts/extension.ts +12 -7
  545. package/src/domains/prompts/fragments/identity/clio.md +2 -1
  546. package/src/domains/prompts/fragments/identity/docs-routing.md +2 -0
  547. package/src/domains/prompts/fragments/identity/self-awareness.md +4 -0
  548. package/src/domains/prompts/fragments/operating/contract.md +16 -7
  549. package/src/domains/prompts/fragments/operating/delegation.md +29 -13
  550. package/src/domains/prompts/fragments/operating/skills.md +18 -10
  551. package/src/domains/prompts/fragments/operating/worker.md +2 -0
  552. package/src/domains/providers/cache-deployment.ts +45 -2
  553. package/src/domains/providers/contract.ts +52 -11
  554. package/src/domains/providers/extension.ts +230 -53
  555. package/src/domains/providers/model-discovery.ts +22 -8
  556. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +5 -7
  557. package/src/domains/providers/plugins.ts +3 -4
  558. package/src/domains/providers/probe/fingerprint.ts +2 -2
  559. package/src/domains/providers/probe/reasoning.ts +9 -16
  560. package/src/domains/providers/probe/tool-call.ts +236 -0
  561. package/src/domains/providers/registry.ts +51 -8
  562. package/src/domains/providers/runtime-resolution.ts +60 -12
  563. package/src/domains/providers/runtimes/boot-manifest.ts +1 -1
  564. package/src/domains/providers/runtimes/builtins.ts +2 -2
  565. package/src/domains/providers/runtimes/common/lmstudio-http.ts +57 -41
  566. package/src/domains/providers/runtimes/common/local-synth.ts +3 -1
  567. package/src/domains/providers/runtimes/common/ollama-model-ids.ts +11 -0
  568. package/src/domains/providers/runtimes/common/probe-helpers.ts +53 -0
  569. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +3 -1
  570. package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +7 -13
  571. package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +7 -17
  572. package/src/domains/providers/runtimes/local-native/llamacpp.ts +1 -0
  573. package/src/domains/providers/runtimes/local-native/ollama.ts +211 -0
  574. package/src/domains/providers/runtimes/protocol/litellm.ts +77 -65
  575. package/src/domains/providers/support.ts +1 -1
  576. package/src/domains/providers/types/local-model-quirks.ts +2 -3
  577. package/src/domains/providers/types/runtime-descriptor.ts +23 -3
  578. package/src/domains/providers/types/target-descriptor.ts +15 -3
  579. package/src/domains/resources/collision.ts +7 -2
  580. package/src/domains/resources/index.ts +1 -0
  581. package/src/domains/resources/library-actions.ts +4 -2
  582. package/src/domains/resources/library-inventory.ts +6 -2
  583. package/src/domains/resources/prompts/loader.ts +20 -7
  584. package/src/domains/resources/skills/availability.ts +56 -0
  585. package/src/domains/resources/skills/loader.ts +20 -9
  586. package/src/domains/safety/action-classifier.ts +282 -31
  587. package/src/domains/safety/audit.ts +2 -1
  588. package/src/domains/safety/autonomy.ts +54 -11
  589. package/src/domains/safety/decision-presentation.ts +17 -4
  590. package/src/domains/safety/finish-contract-registration.ts +25 -1
  591. package/src/domains/safety/finish-contract.ts +20 -5
  592. package/src/domains/safety/path-policy.ts +6 -2
  593. package/src/domains/safety/policy-engine.ts +168 -48
  594. package/src/domains/safety/protected-artifacts.ts +527 -16
  595. package/src/domains/safety/read-scope.ts +120 -0
  596. package/src/domains/safety/skill-authority.ts +52 -16
  597. package/src/domains/scheduling/cluster.ts +14 -3
  598. package/src/domains/scheduling/contract.ts +7 -0
  599. package/src/domains/scheduling/extension.ts +20 -9
  600. package/src/domains/scheduling/local-capacity.ts +160 -0
  601. package/src/domains/session/context-accounting.ts +44 -31
  602. package/src/domains/session/context-ledger.ts +10 -3
  603. package/src/domains/session/entries.ts +4 -0
  604. package/src/domains/session/history.ts +1 -1
  605. package/src/domains/session/prompt-cache.ts +1 -0
  606. package/src/domains/session/prompt-manifest.ts +3 -1
  607. package/src/domains/session/retry.ts +4 -6
  608. package/src/domains/session/task-board.ts +19 -4
  609. package/src/domains/session/tree/preview.ts +3 -2
  610. package/src/engine/acp/commands.ts +653 -0
  611. package/src/engine/acp/server.ts +639 -20
  612. package/src/engine/acp/tool-mediator.ts +30 -7
  613. package/src/engine/acp/types.ts +58 -0
  614. package/src/engine/agent.ts +55 -10
  615. package/src/engine/ai.ts +11 -2
  616. package/src/engine/api-registry.ts +5 -4
  617. package/src/engine/apis/degraded-inference.ts +243 -0
  618. package/src/engine/apis/llamacpp-residency.ts +50 -6
  619. package/src/engine/apis/lmstudio-residency.ts +3 -5
  620. package/src/engine/apis/lmstudio.ts +137 -31
  621. package/src/engine/apis/ollama-http.ts +118 -0
  622. package/src/engine/apis/ollama-native.ts +216 -97
  623. package/src/engine/apis/openai-completions.ts +191 -189
  624. package/src/engine/apis/output-budget.ts +3 -1
  625. package/src/engine/apis/residency-lock.ts +2 -1
  626. package/src/engine/apis/residency.ts +339 -89
  627. package/src/engine/apis/sampling-overrides.ts +23 -2
  628. package/src/engine/apis/types.ts +1 -2
  629. package/src/engine/claude/tool-safety.ts +30 -5
  630. package/src/engine/context.ts +13 -0
  631. package/src/engine/env-api-keys.ts +2 -1
  632. package/src/engine/gemma-channel-filter.ts +3 -2
  633. package/src/engine/instrumented-tui.ts +25 -0
  634. package/src/engine/loop-guard.ts +172 -6
  635. package/src/engine/pi-mono-names.ts +16 -0
  636. package/src/engine/prewarm.ts +44 -15
  637. package/src/engine/provider-payload.ts +52 -14
  638. package/src/engine/session.ts +4 -2
  639. package/src/engine/worker-events.ts +9 -1
  640. package/src/engine/worker-runtime.ts +269 -42
  641. package/src/engine/worker-tools.ts +8 -3
  642. package/src/entry/boot-options.ts +23 -0
  643. package/src/entry/orchestrator.ts +207 -36
  644. package/src/interactive/assistant-generation-timing.ts +52 -0
  645. package/src/interactive/chat-loop-messages.ts +4 -1
  646. package/src/interactive/chat-loop.ts +59 -9
  647. package/src/interactive/chat-panel.ts +10 -1
  648. package/src/interactive/clio-editor.ts +51 -79
  649. package/src/interactive/context-meter.ts +1 -0
  650. package/src/interactive/context-overlay.ts +21 -8
  651. package/src/interactive/cost-overlay.ts +1 -1
  652. package/src/interactive/dispatch-board.ts +39 -8
  653. package/src/interactive/editor-bash.ts +0 -34
  654. package/src/interactive/editor-rails.ts +43 -0
  655. package/src/interactive/editor-submit.ts +34 -2
  656. package/src/interactive/footer/dashboard.ts +67 -38
  657. package/src/interactive/footer/demo-hints.ts +40 -0
  658. package/src/interactive/footer/key-hints.ts +21 -0
  659. package/src/interactive/footer/notifications.ts +1 -1
  660. package/src/interactive/footer/pages.ts +486 -0
  661. package/src/interactive/footer/system-metrics.ts +147 -0
  662. package/src/interactive/footer/widgets.ts +158 -63
  663. package/src/interactive/footer-panel.ts +29 -7
  664. package/src/interactive/interactive-application.ts +109 -21
  665. package/src/interactive/interactive-event-projection.ts +6 -2
  666. package/src/interactive/interactive-presentation.ts +25 -29
  667. package/src/interactive/interactive-slash-runtime.ts +32 -18
  668. package/src/interactive/interactive-subscriptions.ts +25 -5
  669. package/src/interactive/interactive-tickers.ts +21 -5
  670. package/src/interactive/keybinding-manager.ts +9 -0
  671. package/src/interactive/overlay-frame.ts +29 -7
  672. package/src/interactive/overlay-lifecycle.ts +5 -3
  673. package/src/interactive/overlay-model-selectors.ts +4 -0
  674. package/src/interactive/overlay-permission-lifecycle.ts +6 -5
  675. package/src/interactive/overlays/ask-user.ts +103 -110
  676. package/src/interactive/overlays/help-reference.ts +1 -0
  677. package/src/interactive/overlays/message-picker.ts +3 -29
  678. package/src/interactive/overlays/session-selector.ts +3 -2
  679. package/src/interactive/overlays/settings-sections.ts +2 -30
  680. package/src/interactive/overlays/settings.ts +310 -607
  681. package/src/interactive/permission-hint.ts +3 -3
  682. package/src/interactive/permission-overlay.ts +45 -27
  683. package/src/interactive/renderers/doctor-report.ts +43 -0
  684. package/src/interactive/renderers/tool-execution.ts +87 -62
  685. package/src/interactive/renderers/worker-entry.ts +76 -3
  686. package/src/interactive/side-question.ts +3 -1
  687. package/src/interactive/slash-commands.ts +78 -23
  688. package/src/interactive/startup-background.ts +131 -0
  689. package/src/interactive/startup-diagnostics.ts +16 -0
  690. package/src/interactive/status/state-machine.ts +16 -3
  691. package/src/interactive/status/types.ts +2 -0
  692. package/src/interactive/status/verbs.ts +1 -1
  693. package/src/interactive/terminal-lease.ts +26 -22
  694. package/src/interactive/theme/components.ts +1 -1
  695. package/src/interactive/theme/rules.ts +1 -1
  696. package/src/interactive/theme/tokens.ts +16 -10
  697. package/src/interactive/transcript-detail.ts +4 -0
  698. package/src/interactive/turn-context.ts +56 -20
  699. package/src/interactive/turn-middleware.ts +57 -9
  700. package/src/interactive/turn-prewarm.ts +121 -18
  701. package/src/interactive/turn-recovery.ts +10 -8
  702. package/src/interactive/turn-runtime.ts +74 -29
  703. package/src/interactive/turn-state.ts +3 -0
  704. package/src/interactive/welcome-art.ts +36 -0
  705. package/src/interactive/welcome-dashboard.ts +209 -49
  706. package/src/interactive/worker-replay.ts +4 -0
  707. package/src/interactive/worker-stream.ts +17 -2
  708. package/src/tools/agent-tools.ts +22 -1
  709. package/src/tools/builtin-tool-catalog.ts +2 -2
  710. package/src/tools/codewiki/code-nav.ts +1 -1
  711. package/src/tools/codewiki/shared.ts +39 -1
  712. package/src/tools/compete-worktrees.ts +8 -91
  713. package/src/tools/context/docs-engine.ts +44 -12
  714. package/src/tools/context/index.ts +126 -22
  715. package/src/tools/context/library.ts +1 -1
  716. package/src/tools/context/surface.ts +12 -7
  717. package/src/tools/core-bootstrap.ts +3 -0
  718. package/src/tools/dispatch-runner.ts +18 -0
  719. package/src/tools/dispatch-schema.ts +187 -206
  720. package/src/tools/edit.ts +46 -42
  721. package/src/tools/file-mutation-queue.ts +25 -26
  722. package/src/tools/gateway/clio-context-surface.ts +1 -1
  723. package/src/tools/gateway/index.ts +7 -3
  724. package/src/tools/gateway/mcp-capabilities.ts +5 -3
  725. package/src/tools/grep.ts +14 -2
  726. package/src/tools/ls.ts +1 -4
  727. package/src/tools/monitor.ts +14 -1
  728. package/src/tools/observation.ts +1 -3
  729. package/src/tools/path-utils.ts +51 -18
  730. package/src/tools/process-lease.ts +99 -0
  731. package/src/tools/read.ts +1 -1
  732. package/src/tools/registry.ts +71 -9
  733. package/src/tools/task-worktree.ts +296 -17
  734. package/src/tools/tasks.ts +29 -7
  735. package/src/tools/worker-evidence.ts +60 -1
  736. package/src/tools/worktree-root.ts +252 -0
  737. package/src/tools/write.ts +34 -30
  738. package/src/worker/entry.ts +18 -1
  739. package/src/worker/protocol.ts +54 -1
  740. package/src/worker/spec-contract.ts +22 -2
  741. package/dist/acp-ZWZCPS2A.js +0 -130
  742. package/dist/agents-LYSOWZUE.js +0 -150
  743. package/dist/auth-WBQGKWQ5.js +0 -551
  744. package/dist/background-BUMOBAQN.js +0 -37
  745. package/dist/builtins-ODRJOEDI.js +0 -22
  746. package/dist/chunk-2DRRZ57Q.js +0 -571
  747. package/dist/chunk-2JBZYUPY.js +0 -105
  748. package/dist/chunk-2VBWFXYE.js +0 -198
  749. package/dist/chunk-2X2R3UTH.js +0 -1018
  750. package/dist/chunk-32KJPXAM.js +0 -75
  751. package/dist/chunk-37LW32LZ.js +0 -32
  752. package/dist/chunk-3A3CUMKA.js +0 -54
  753. package/dist/chunk-3AND2EFU.js +0 -215
  754. package/dist/chunk-3RDHGNU7.js +0 -647
  755. package/dist/chunk-3SUDBGEI.js +0 -1323
  756. package/dist/chunk-3TQN67I2.js +0 -396
  757. package/dist/chunk-3U4BL2EV.js +0 -103
  758. package/dist/chunk-3UQADNG2.js +0 -302
  759. package/dist/chunk-434LRQ6Z.js +0 -13441
  760. package/dist/chunk-4ATBOFRP.js +0 -7802
  761. package/dist/chunk-4DNL43EZ.js +0 -139
  762. package/dist/chunk-4HFJKRGZ.js +0 -5250
  763. package/dist/chunk-555E2WVV.js +0 -322
  764. package/dist/chunk-5GZICIYO.js +0 -462
  765. package/dist/chunk-5PHVPU4G.js +0 -160
  766. package/dist/chunk-5RTEFNBP.js +0 -197
  767. package/dist/chunk-64XJW7NT.js +0 -380
  768. package/dist/chunk-6TKOFFGE.js +0 -1058
  769. package/dist/chunk-6UJ7RDI7.js +0 -1143
  770. package/dist/chunk-7FBCRWVT.js +0 -1801
  771. package/dist/chunk-7JSOSVLP.js +0 -283
  772. package/dist/chunk-7N3OLLSL.js +0 -637
  773. package/dist/chunk-7QQRPB2E.js +0 -915
  774. package/dist/chunk-A6DULIMH.js +0 -986
  775. package/dist/chunk-AB3QXXBC.js +0 -123
  776. package/dist/chunk-ACCECAH4.js +0 -49
  777. package/dist/chunk-AM6CEP2K.js +0 -2120
  778. package/dist/chunk-AUHVBIDW.js +0 -19
  779. package/dist/chunk-AY4XE6GN.js +0 -665
  780. package/dist/chunk-BBA2TAWV.js +0 -667
  781. package/dist/chunk-BFPHMSK7.js +0 -169
  782. package/dist/chunk-BMNVVKEW.js +0 -604
  783. package/dist/chunk-CKK25WN3.js +0 -72
  784. package/dist/chunk-CTGZCEI6.js +0 -33
  785. package/dist/chunk-DIAJYJYG.js +0 -446
  786. package/dist/chunk-DVNAPPXU.js +0 -27
  787. package/dist/chunk-DXVMLM3Z.js +0 -92
  788. package/dist/chunk-E3LEPLQ2.js +0 -68
  789. package/dist/chunk-EHZRAB4U.js +0 -63
  790. package/dist/chunk-EM2DIQAJ.js +0 -179
  791. package/dist/chunk-EM2WNQS2.js +0 -93
  792. package/dist/chunk-ETF4ROKH.js +0 -595
  793. package/dist/chunk-F2YM3JY4.js +0 -22513
  794. package/dist/chunk-FEBQWHJT.js +0 -1023
  795. package/dist/chunk-FPS4R2RN.js +0 -1975
  796. package/dist/chunk-GD55RTIW.js +0 -33
  797. package/dist/chunk-GJDRMBDI.js +0 -573
  798. package/dist/chunk-GREYLTZ5.js +0 -658
  799. package/dist/chunk-H2WSCZZT.js +0 -238
  800. package/dist/chunk-H6IUCY6Q.js +0 -117
  801. package/dist/chunk-H72DCH3E.js +0 -563
  802. package/dist/chunk-H7TXJR23.js +0 -705
  803. package/dist/chunk-HBJQQTKM.js +0 -40
  804. package/dist/chunk-HCVKSGNZ.js +0 -990
  805. package/dist/chunk-HVCAY2FH.js +0 -67
  806. package/dist/chunk-I47EJPYL.js +0 -1377
  807. package/dist/chunk-IALGWTLO.js +0 -36
  808. package/dist/chunk-IALZJE37.js +0 -1710
  809. package/dist/chunk-IC7JXLOM.js +0 -1577
  810. package/dist/chunk-IOSVTTCD.js +0 -108
  811. package/dist/chunk-IPTPMLA6.js +0 -475
  812. package/dist/chunk-IZZI3SKQ.js +0 -128
  813. package/dist/chunk-JABWPKFY.js +0 -27
  814. package/dist/chunk-JIYWMQZ5.js +0 -175
  815. package/dist/chunk-JKU34ACI.js +0 -693
  816. package/dist/chunk-JOBN2YQQ.js +0 -176
  817. package/dist/chunk-JOL2QRLE.js +0 -152
  818. package/dist/chunk-JTR3VSV3.js +0 -44
  819. package/dist/chunk-JU6MAMRJ.js +0 -362
  820. package/dist/chunk-JURMQWVJ.js +0 -15
  821. package/dist/chunk-K2BLQC5E.js +0 -262
  822. package/dist/chunk-K3XN4LZ4.js +0 -402
  823. package/dist/chunk-KIVFXGBM.js +0 -688
  824. package/dist/chunk-KKRXONXG.js +0 -43
  825. package/dist/chunk-KOAHT3N2.js +0 -395
  826. package/dist/chunk-KP5BPXR3.js +0 -73
  827. package/dist/chunk-KQ6IDQIB.js +0 -39
  828. package/dist/chunk-KRJQG47M.js +0 -1289
  829. package/dist/chunk-KW6OJ7IY.js +0 -221
  830. package/dist/chunk-L3NBWLSN.js +0 -314
  831. package/dist/chunk-L4RUTLRL.js +0 -59
  832. package/dist/chunk-LGTVWPRN.js +0 -47
  833. package/dist/chunk-LSQW6KZO.js +0 -200
  834. package/dist/chunk-LTR5QCLS.js +0 -446
  835. package/dist/chunk-LWJYOHT3.js +0 -165
  836. package/dist/chunk-M6YLF66Z.js +0 -2687
  837. package/dist/chunk-MJ4QEJVT.js +0 -185
  838. package/dist/chunk-MO65K5CH.js +0 -1148
  839. package/dist/chunk-MTOZEQHL.js +0 -637
  840. package/dist/chunk-MZDPF35R.js +0 -45
  841. package/dist/chunk-MZKYVIWW.js +0 -188
  842. package/dist/chunk-NBPA5QM6.js +0 -386
  843. package/dist/chunk-NMBEW4PP.js +0 -688
  844. package/dist/chunk-NPLLK3HO.js +0 -3610
  845. package/dist/chunk-NSYGPIVW.js +0 -39
  846. package/dist/chunk-NXTV5OI5.js +0 -1020
  847. package/dist/chunk-NYDG4QP4.js +0 -689
  848. package/dist/chunk-OA2GDACN.js +0 -146
  849. package/dist/chunk-PJI57EC6.js +0 -236
  850. package/dist/chunk-PJJBUGMR.js +0 -4484
  851. package/dist/chunk-PNJE7JPS.js +0 -50
  852. package/dist/chunk-PP23PZEV.js +0 -1347
  853. package/dist/chunk-PPIFDSBK.js +0 -409
  854. package/dist/chunk-PTFISXQO.js +0 -319
  855. package/dist/chunk-QB33Z5S7.js +0 -1865
  856. package/dist/chunk-QGNII5VC.js +0 -110
  857. package/dist/chunk-QH3ZTUOA.js +0 -113
  858. package/dist/chunk-QI72X67S.js +0 -481
  859. package/dist/chunk-QJMRYTCX.js +0 -56
  860. package/dist/chunk-QKHZZFKH.js +0 -98
  861. package/dist/chunk-RDKX2PME.js +0 -66
  862. package/dist/chunk-RL7LJYN4.js +0 -66
  863. package/dist/chunk-RPMNIFRY.js +0 -65
  864. package/dist/chunk-RQROVOV3.js +0 -670
  865. package/dist/chunk-S34A7BSP.js +0 -97
  866. package/dist/chunk-SJETVJHX.js +0 -119
  867. package/dist/chunk-SJMNU4ZS.js +0 -634
  868. package/dist/chunk-SL2RDHKO.js +0 -19
  869. package/dist/chunk-SLLG2G44.js +0 -85
  870. package/dist/chunk-SQAZN2V3.js +0 -2744
  871. package/dist/chunk-SQBT46OF.js +0 -814
  872. package/dist/chunk-SRCEQKQS.js +0 -165
  873. package/dist/chunk-TCUOGIL2.js +0 -52
  874. package/dist/chunk-TIWPKCVO.js +0 -42
  875. package/dist/chunk-U44YYLVV.js +0 -1529
  876. package/dist/chunk-UIU7MGZ3.js +0 -486
  877. package/dist/chunk-USBBEKHW.js +0 -177
  878. package/dist/chunk-VHKTOLEW.js +0 -1416
  879. package/dist/chunk-VPWGADBG.js +0 -3151
  880. package/dist/chunk-VQD7NH7Z.js +0 -356
  881. package/dist/chunk-VWFCAK34.js +0 -697
  882. package/dist/chunk-W5RM7YAH.js +0 -78
  883. package/dist/chunk-W72LLZAV.js +0 -243
  884. package/dist/chunk-WGRDABW7.js +0 -207
  885. package/dist/chunk-WWRV5RJI.js +0 -165
  886. package/dist/chunk-XCUDZQLX.js +0 -195
  887. package/dist/chunk-XFLSL7BT.js +0 -386
  888. package/dist/chunk-XJZEDCNT.js +0 -391
  889. package/dist/chunk-XLLEL3K7.js +0 -709
  890. package/dist/chunk-XNZWWDC3.js +0 -686
  891. package/dist/chunk-XRECG65F.js +0 -308
  892. package/dist/chunk-XTQ7MEJG.js +0 -457
  893. package/dist/chunk-XW2UZICE.js +0 -372
  894. package/dist/chunk-Y3M2T5RO.js +0 -891
  895. package/dist/chunk-YGDMBK7O.js +0 -567
  896. package/dist/chunk-YJCCMYYT.js +0 -125
  897. package/dist/chunk-YPQOPFP7.js +0 -797
  898. package/dist/chunk-YQYINEJI.js +0 -132
  899. package/dist/chunk-ZF6CV4WZ.js +0 -5614
  900. package/dist/chunk-ZKJU55MX.js +0 -326
  901. package/dist/chunk-ZKQ63XZ5.js +0 -1196
  902. package/dist/chunk-ZKVMDNAN.js +0 -962
  903. package/dist/chunk-ZST3FRCV.js +0 -132
  904. package/dist/clio-JUDCLNHC.js +0 -26
  905. package/dist/clio-context-tools-FT672MNZ.js +0 -136
  906. package/dist/code-nav-7OVCTP2Z.js +0 -688
  907. package/dist/compile-cache-WJEPUZEJ.js +0 -16
  908. package/dist/components-OZXZMDWU.js +0 -674
  909. package/dist/config-P3ZQVF63.js +0 -275
  910. package/dist/config-graph-GKAOBAS5.js +0 -160
  911. package/dist/configure-25LRYZJG.js +0 -86
  912. package/dist/context-72VQV7JX.js +0 -73
  913. package/dist/context-COWRWXP3.js +0 -286
  914. package/dist/context-WB3D474G.js +0 -344
  915. package/dist/context-clear-Y4LYMWC6.js +0 -192
  916. package/dist/context-index-W6A4V7OC.js +0 -120
  917. package/dist/context-map-DKL3QT6D.js +0 -555
  918. package/dist/context-working-set-TMZYVC7A.js +0 -1560
  919. package/dist/data-tool-KMBWKKWR.js +0 -2987
  920. package/dist/detail-4GLROGY5.js +0 -123
  921. package/dist/dispatch-runner-TR3LBP5P.js +0 -2446
  922. package/dist/docs-ZK777W2G.js +0 -101
  923. package/dist/doctor-WC4OV2OB.js +0 -814
  924. package/dist/eval-FUNWJNUJ.js +0 -5050
  925. package/dist/eval-inventory-CX24K2JT.js +0 -260
  926. package/dist/evals-L73EBHSU.js +0 -104
  927. package/dist/evidence-AVJ2RTHX.js +0 -392
  928. package/dist/evidence-P4NZOAK7.js +0 -233
  929. package/dist/evidence-Y55WKYHH.js +0 -246
  930. package/dist/evolve-MAWKRYWF.js +0 -617
  931. package/dist/extensions-PYQH3H47.js +0 -308
  932. package/dist/fleet-M4H2QBWT.js +0 -268
  933. package/dist/fleet-ULBXXRDR.js +0 -923
  934. package/dist/fleet-commands-7NNC4JZU.js +0 -76
  935. package/dist/fleet-decisions-EHEY7KPU.js +0 -52
  936. package/dist/fleet-graph-LQ2AHZT3.js +0 -136
  937. package/dist/fleet-inspect-5IGBIIYZ.js +0 -312
  938. package/dist/fleet-new-RCKGSRDV.js +0 -48
  939. package/dist/fleet-preflight-UTTNOKMG.js +0 -27
  940. package/dist/fleet-validate-YGILJKA6.js +0 -91
  941. package/dist/fleet-verify-AUWTCDKR.js +0 -210
  942. package/dist/fleet-view-TGUFCY5A.js +0 -127
  943. package/dist/init-GFN2Z7NF.js +0 -333
  944. package/dist/install-3RZDDP23.js +0 -13
  945. package/dist/install-6PIF6F6W.js +0 -19
  946. package/dist/interop-EF5JUWWK.js +0 -246
  947. package/dist/inventory-I6VJDDYF.js +0 -127
  948. package/dist/library-3J5IO2OJ.js +0 -75
  949. package/dist/library-IJTOFTDS.js +0 -307
  950. package/dist/library-Z3KZSHPE.js +0 -492
  951. package/dist/library-import-IMKFLDHX.js +0 -183
  952. package/dist/library-inventory-CQP5D6GU.js +0 -56
  953. package/dist/library-validation-33UTX7AI.js +0 -42
  954. package/dist/mcp-5FWZKUS6.js +0 -26
  955. package/dist/memory-36CWN67Y.js +0 -520
  956. package/dist/models-KQ6PQJJQ.js +0 -302
  957. package/dist/monitor-XX6ZD6KC.js +0 -785
  958. package/dist/orchestrator-SK6HDAOP.js +0 -42067
  959. package/dist/panes-L27QRXUH.js +0 -74
  960. package/dist/panes-LXZIWNOZ.js +0 -103
  961. package/dist/paths-7DJDU4P4.js +0 -67
  962. package/dist/preload-K2TDYI4Y.js +0 -124
  963. package/dist/registry-DESGAXWK.js +0 -11
  964. package/dist/reset-73VU3XNT.js +0 -345
  965. package/dist/resources-3BYJYVYL.js +0 -181
  966. package/dist/run-AR7PY6GW.js +0 -896
  967. package/dist/run-script-H2KUDIII.js +0 -41
  968. package/dist/settings-3VMBMWID.js +0 -72
  969. package/dist/share-HVWH4FPF.js +0 -293
  970. package/dist/skills-5TYEY75Q.js +0 -100
  971. package/dist/skills-eval-CK3MD63Z.js +0 -1083
  972. package/dist/skills-inventory-KSFYG3I6.js +0 -138
  973. package/dist/slash-commands-DMVHML7P.js +0 -98
  974. package/dist/steer-XCD6V3EW.js +0 -77
  975. package/dist/support-JAZL6VBR.js +0 -38
  976. package/dist/system-3TDQRMZZ.js +0 -116
  977. package/dist/targets-EZKHAYRN.js +0 -1117
  978. package/dist/tasks-SNEFHWYW.js +0 -36
  979. package/dist/terminal-lease-BNLFA4OF.js +0 -419
  980. package/dist/tools-7IM6BDCE.js +0 -28
  981. package/dist/trace-C3MBGD4S.js +0 -524
  982. package/dist/tree-sitter-AQUUOSYM.js +0 -4673
  983. package/dist/tui-primitives-36BY2774.js +0 -18
  984. package/dist/uninstall-WWLOSZ42.js +0 -432
  985. package/dist/upgrade-ETK2JNSJ.js +0 -297
  986. package/dist/usage-S2HOB7BZ.js +0 -1065
  987. package/dist/verifiers-QDTEVH7R.js +0 -632
  988. package/dist/verify-SUKUK6XM.js +0 -31
  989. package/dist/version-RFPKO6T7.js +0 -21
  990. package/dist/web/client/assets/abnfDiagram-VCTEODGH-BznNOe_I.js +0 -1
  991. package/dist/web/client/assets/architecture-7GRP2DOG-BQO9DL_y.js +0 -1
  992. package/dist/web/client/assets/architectureDiagram-5GKGNRK7-CKPbdvyx.js +0 -36
  993. package/dist/web/client/assets/blockDiagram-I7D4REHJ-prINbpbM.js +0 -129
  994. package/dist/web/client/assets/c4Diagram-7LVT6UL2-DkVRKtyU.js +0 -38
  995. package/dist/web/client/assets/channel-c4EeUUqA.js +0 -1
  996. package/dist/web/client/assets/chunk-4HAMMTFA-CV0Z1ApC.js +0 -62
  997. package/dist/web/client/assets/chunk-75Z2AOVW-D34Nohxq.js +0 -2
  998. package/dist/web/client/assets/chunk-DU6HZSFF-Das_cS-O.js +0 -125
  999. package/dist/web/client/assets/chunk-F27PBJKO-CmRojxkG.js +0 -1
  1000. package/dist/web/client/assets/chunk-GMAD6QVW-ClYZmc73.js +0 -72
  1001. package/dist/web/client/assets/chunk-GVQU2GXP-B2BiHFt-.js +0 -1
  1002. package/dist/web/client/assets/chunk-IMKFNOWR-BGApZ8nP.js +0 -231
  1003. package/dist/web/client/assets/chunk-L3NEJ4N5-DIzCgpkY.js +0 -1
  1004. package/dist/web/client/assets/chunk-OSK3NFVY-BPT-yePv.js +0 -10
  1005. package/dist/web/client/assets/chunk-P2QGCYS3-BC1WTc2t.js +0 -1
  1006. package/dist/web/client/assets/chunk-POPQ4Y6H-BSjzBmZU.js +0 -1
  1007. package/dist/web/client/assets/chunk-PWAF6VOD-BIjLs86Z.js +0 -1
  1008. package/dist/web/client/assets/chunk-SHT3W25Y-CduDz2cm.js +0 -168
  1009. package/dist/web/client/assets/chunk-SVP7TREG-XUn4pPAP.js +0 -88
  1010. package/dist/web/client/assets/chunk-TICWLB2K-DcBy2DKy.js +0 -206
  1011. package/dist/web/client/assets/classDiagram-ZZMXUADV-C0HR7YKN.js +0 -1
  1012. package/dist/web/client/assets/classDiagram-v2-VYDZK3BY-C0HR7YKN.js +0 -1
  1013. package/dist/web/client/assets/cynefin-OW5HDTMX-BecPbyM6.js +0 -1
  1014. package/dist/web/client/assets/cynefinDiagram-5FMLGOSQ-BzMzFwyT.js +0 -62
  1015. package/dist/web/client/assets/dagre-GXQ25YYZ-CAWJmRMG.js +0 -4
  1016. package/dist/web/client/assets/diagram-S7CK7UJ4--lp0ALmn.js +0 -30
  1017. package/dist/web/client/assets/diagram-UQ7AKVKN-gKUnsjcj.js +0 -41
  1018. package/dist/web/client/assets/diagram-VSXAHHWV-BoN5D1Gh.js +0 -3
  1019. package/dist/web/client/assets/diagram-VX7I27RA-BMtuswQ6.js +0 -24
  1020. package/dist/web/client/assets/diagram-Z3DM3KII-DtU8LXrA.js +0 -24
  1021. package/dist/web/client/assets/ebnfDiagram-PWID7BFC-DDcnv9BH.js +0 -1
  1022. package/dist/web/client/assets/erDiagram-RLTQ6QDP-DvRb4iDL.js +0 -99
  1023. package/dist/web/client/assets/eventmodeling-NTZA5JFV-01h4SbTc.js +0 -1
  1024. package/dist/web/client/assets/flowDiagram-HODETNUW-Bll_YZ6T.js +0 -1
  1025. package/dist/web/client/assets/framework-YGoR34M4.js +0 -9
  1026. package/dist/web/client/assets/ganttDiagram-EL5Y4UJY-DdFZ9hvH.js +0 -292
  1027. package/dist/web/client/assets/gitGraph-4MIJSDKK-DjD_AAMj.js +0 -1
  1028. package/dist/web/client/assets/gitGraphDiagram-WWUBYQGX-CDyN9n2u.js +0 -106
  1029. package/dist/web/client/assets/index-CVcy0FAn.js +0 -75
  1030. package/dist/web/client/assets/index-Dsi52apB.css +0 -1
  1031. package/dist/web/client/assets/info-A6RAGUB7-C_XK8Hq0.js +0 -1
  1032. package/dist/web/client/assets/infoDiagram-27XIBGKW-DIe4tJ1i.js +0 -2
  1033. package/dist/web/client/assets/ishikawaDiagram-5VMMS53U-CVl5unKI.js +0 -70
  1034. package/dist/web/client/assets/journeyDiagram-3NMN7TZE-CPEB1Vt8.js +0 -139
  1035. package/dist/web/client/assets/kanban-definition-UXKFOSKX-j-9WXjYQ.js +0 -89
  1036. package/dist/web/client/assets/line-BIDAcEtX.js +0 -1
  1037. package/dist/web/client/assets/mermaid-parser.core-Ux4vssh0.js +0 -7
  1038. package/dist/web/client/assets/mermaid.core-CDuwVKeh.js +0 -44
  1039. package/dist/web/client/assets/mindmap-definition-YA3MSWOX-5MlQEeQ6.js +0 -96
  1040. package/dist/web/client/assets/packet-AYTQ26CC-DRO66c9Q.js +0 -1
  1041. package/dist/web/client/assets/pegDiagram-XKGWAZYB-BakZnSjM.js +0 -1
  1042. package/dist/web/client/assets/pie-WAS4IAKB-BEzcmhz8.js +0 -1
  1043. package/dist/web/client/assets/pieDiagram-E7YTZNPT-DpmqgoPt.js +0 -39
  1044. package/dist/web/client/assets/quadrantDiagram-AXDQQJYC-DuMPwwV2.js +0 -7
  1045. package/dist/web/client/assets/radar-RG4KPBEZ-Djm3oXl5.js +0 -1
  1046. package/dist/web/client/assets/railroad-74A4TZTK-Cpvkwsao.js +0 -1
  1047. package/dist/web/client/assets/railroad-abnf-HS5TGJTU-CpRQ3ruG.js +0 -1
  1048. package/dist/web/client/assets/railroad-ebnf-LZEXJU2U-1Rm5a5eJ.js +0 -1
  1049. package/dist/web/client/assets/railroad-peg-WCYAUIDC-C8344cTh.js +0 -1
  1050. package/dist/web/client/assets/railroadDiagram-O6MQD6OU-CgMS4B6R.js +0 -1
  1051. package/dist/web/client/assets/requirementDiagram-BXWQKSXE-CX5eoNdN.js +0 -84
  1052. package/dist/web/client/assets/sankeyDiagram-P5KCCOFB-CODBX2N3.js +0 -40
  1053. package/dist/web/client/assets/sequenceDiagram-WJ2MYXX4-eUhhF8OR.js +0 -162
  1054. package/dist/web/client/assets/stateDiagram-D77RDMKH-vR6l0NC2.js +0 -1
  1055. package/dist/web/client/assets/stateDiagram-v2-MP3YSRHH-BYUm8jLY.js +0 -1
  1056. package/dist/web/client/assets/swimlanes-42K2YHIH-v9Tw_zX7.js +0 -1
  1057. package/dist/web/client/assets/swimlanesDiagram-VR7AAH4N-B2jdCvhD.js +0 -8
  1058. package/dist/web/client/assets/timeline-definition-24CTP7MA-DxianbhU.js +0 -120
  1059. package/dist/web/client/assets/treeView-Q6P3EWNA-DLxnZb9R.js +0 -1
  1060. package/dist/web/client/assets/treemap-WGGIJYW6-I7UnZ6xJ.js +0 -1
  1061. package/dist/web/client/assets/vennDiagram-4TSXK5OY-Ar7M8Mrj.js +0 -34
  1062. package/dist/web/client/assets/wardley-WFR3VGLG-B8ZSHeDu.js +0 -1
  1063. package/dist/web/client/assets/wardleyDiagram-VM6X3IG4-Qks2FmIn.js +0 -78
  1064. package/dist/web/client/assets/xychartDiagram-S5SC5T6Z-BBBjRtiE.js +0 -7
  1065. package/dist/web/client/index.html +0 -6
  1066. package/dist/web/ops-worker.js +0 -37
  1067. package/dist/web/reads-worker.js +0 -1726
  1068. package/dist/web/server.js +0 -8499
  1069. package/dist/web-EMGUGGEI.js +0 -13
  1070. package/dist/web-fetch-6BRRVQON.js +0 -805
  1071. package/dist/wiki-generate-XHSJTDOP.js +0 -627
  1072. package/dist/with-panes-Z6BTEHMZ.js +0 -628
  1073. package/evals/README.md +0 -9
  1074. package/evals/behavioral-corpus-grader.mjs +0 -236
  1075. package/evals/behavioral-machinery-baseline.json +0 -2276
  1076. package/evals/behavioral-machinery-driver.ts +0 -250
  1077. package/evals/behavioral-machinery-support.ts +0 -254
  1078. package/evals/behavioral-machinery.yaml +0 -614
  1079. package/evals/behavioral-model-negative-control.yaml +0 -69
  1080. package/evals/behavioral-model.yaml +0 -482
  1081. package/evals/fixtures/behavioral-facts.txt +0 -3
  1082. package/evals/fixtures/behavioral-main.ts +0 -7
  1083. package/evals/fixtures/decoy/note.txt +0 -2
  1084. package/evals/fixtures/docs-retrieval.json +0 -102
  1085. package/evals/fixtures/private/credentials.txt +0 -1
  1086. package/evals/fixtures/scalar-decision.json +0 -17
  1087. package/evals/fixtures/scout-citation-pipeline.json +0 -55
  1088. package/evals/fixtures/source-explanation.json +0 -74
  1089. package/evals/fixtures/tool-arguments.json +0 -18
  1090. package/evals/fixtures/tool-surface/read.txt +0 -4
  1091. package/evals/fixtures/tool-surface/subdir/keep.txt +0 -1
  1092. package/evals/no-edit-memory-grader.mjs +0 -149
  1093. package/evals/scalar-decision-grader.py +0 -41
  1094. package/evals/scalar-decision-machinery.ts +0 -145
  1095. package/evals/source-explanation-grader.mjs +0 -118
  1096. package/evals/tool-surface-grader.mjs +0 -53
  1097. package/evals/tool-surface-model.yaml +0 -274
  1098. package/evals/tracked-metrics-baseline.yaml +0 -229
  1099. package/evals/tracked-metrics-grader.mjs +0 -129
  1100. package/src/cli/web.ts +0 -79
  1101. package/src/domains/providers/runtimes/local-native/ollama-native.ts +0 -122
  1102. /package/dist/assets/{web-notices → gui-notices}/@hono__node-server-LICENSE +0 -0
  1103. /package/dist/assets/{web-notices → gui-notices}/hono-LICENSE +0 -0
  1104. /package/dist/{web → gui}/client/THIRD_PARTY_LICENSES.md +0 -0
  1105. /package/dist/{web → gui}/client/assets/arc-Pry-7G1_.js +0 -0
  1106. /package/dist/{web → gui}/client/assets/array-BifhSqXX.js +0 -0
  1107. /package/dist/{web → gui}/client/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2 +0 -0
  1108. /package/dist/{web → gui}/client/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2 +0 -0
  1109. /package/dist/{web → gui}/client/assets/chunk-2Q5K7J3B-C1jixKkw.js +0 -0
  1110. /package/dist/{web → gui}/client/assets/chunk-5VM5RSS4-ZNzvKenW.js +0 -0
  1111. /package/dist/{web → gui}/client/assets/chunk-FOHPRMQF-CoA4358r.js +0 -0
  1112. /package/dist/{web → gui}/client/assets/chunk-JWPE2WC7-DVXcaiue.js +0 -0
  1113. /package/dist/{web → gui}/client/assets/chunk-XXDRQBXY-DqAYeljN.js +0 -0
  1114. /package/dist/{web → gui}/client/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +0 -0
  1115. /package/dist/{web → gui}/client/assets/commit-mono-latin-400-normal-s0S3qwFW.woff +0 -0
  1116. /package/dist/{web → gui}/client/assets/commit-mono-latin-400-normal-wzhe4RuD.woff2 +0 -0
  1117. /package/dist/{web → gui}/client/assets/cose-bilkent-JH36ORCC-CVh1icwb.js +0 -0
  1118. /package/dist/{web → gui}/client/assets/cytoscape.esm-c2aL46s-.js +0 -0
  1119. /package/dist/{web → gui}/client/assets/dagre-C-rnJpZF.js +0 -0
  1120. /package/dist/{web → gui}/client/assets/defaultLocale-BFoDCU3G.js +0 -0
  1121. /package/dist/{web → gui}/client/assets/dist-v5Q1xZ2K.js +0 -0
  1122. /package/dist/{web → gui}/client/assets/graphlib-DS17s2tU.js +0 -0
  1123. /package/dist/{web → gui}/client/assets/init-C-OQMol4.js +0 -0
  1124. /package/dist/{web → gui}/client/assets/katex-ZlcWpGUi.js +0 -0
  1125. /package/dist/{web → gui}/client/assets/linear-SzVmGSw4.js +0 -0
  1126. /package/dist/{web → gui}/client/assets/newsreader-latin-ext-wght-normal-C-3rgBeH.woff2 +0 -0
  1127. /package/dist/{web → gui}/client/assets/newsreader-latin-wght-normal-CCVVNp6i.woff2 +0 -0
  1128. /package/dist/{web → gui}/client/assets/newsreader-vietnamese-wght-normal-Czsa-EzN.woff2 +0 -0
  1129. /package/dist/{web → gui}/client/assets/ordinal-BDEzSJ7C.js +0 -0
  1130. /package/dist/{web → gui}/client/assets/path-fybaL0A-.js +0 -0
  1131. /package/dist/{web → gui}/client/assets/prism-bash-D6zCJ74D.js +0 -0
  1132. /package/dist/{web → gui}/client/assets/prism-c-04YixN25.js +0 -0
  1133. /package/dist/{web → gui}/client/assets/prism-clike-DapgWyxx.js +0 -0
  1134. /package/dist/{web → gui}/client/assets/prism-core-BtsZdCS6.js +0 -0
  1135. /package/dist/{web → gui}/client/assets/prism-cpp-C-lJbC-6.js +0 -0
  1136. /package/dist/{web → gui}/client/assets/prism-css-CPgOzxXp.js +0 -0
  1137. /package/dist/{web → gui}/client/assets/prism-diff-BF8m0_mq.js +0 -0
  1138. /package/dist/{web → gui}/client/assets/prism-docker-DkT6yOFj.js +0 -0
  1139. /package/dist/{web → gui}/client/assets/prism-fortran-Be5x3y1V.js +0 -0
  1140. /package/dist/{web → gui}/client/assets/prism-go-C_8qAH5n.js +0 -0
  1141. /package/dist/{web → gui}/client/assets/prism-ini-BESK3y0r.js +0 -0
  1142. /package/dist/{web → gui}/client/assets/prism-javascript-BnO-swvr.js +0 -0
  1143. /package/dist/{web → gui}/client/assets/prism-json-Dp_-W-Hv.js +0 -0
  1144. /package/dist/{web → gui}/client/assets/prism-jsx-D-D0NWtC.js +0 -0
  1145. /package/dist/{web → gui}/client/assets/prism-julia-DIjOgiAV.js +0 -0
  1146. /package/dist/{web → gui}/client/assets/prism-latex-DNMbqcH_.js +0 -0
  1147. /package/dist/{web → gui}/client/assets/prism-makefile-CRKWLQ8l.js +0 -0
  1148. /package/dist/{web → gui}/client/assets/prism-markdown-C0FPJ1Iz.js +0 -0
  1149. /package/dist/{web → gui}/client/assets/prism-markup-Cp04rIa1.js +0 -0
  1150. /package/dist/{web → gui}/client/assets/prism-matlab-D-nk08al.js +0 -0
  1151. /package/dist/{web → gui}/client/assets/prism-python-CfiSVtM6.js +0 -0
  1152. /package/dist/{web → gui}/client/assets/prism-r-QmNGR8LX.js +0 -0
  1153. /package/dist/{web → gui}/client/assets/prism-rust-Bu9N8X3N.js +0 -0
  1154. /package/dist/{web → gui}/client/assets/prism-shell-session-Be4UuYoM.js +0 -0
  1155. /package/dist/{web → gui}/client/assets/prism-sql-CYhVDMEE.js +0 -0
  1156. /package/dist/{web → gui}/client/assets/prism-toml-DKb54GAT.js +0 -0
  1157. /package/dist/{web → gui}/client/assets/prism-tsx-p6J2Kc_4.js +0 -0
  1158. /package/dist/{web → gui}/client/assets/prism-typescript-BMqONzxf.js +0 -0
  1159. /package/dist/{web → gui}/client/assets/prism-yaml-C0JHu8gr.js +0 -0
  1160. /package/dist/{web → gui}/client/assets/purify.es-ChwZkWde.js +0 -0
  1161. /package/dist/{web → gui}/client/assets/rolldown-runtime-hePW80VL.js +0 -0
  1162. /package/dist/{web → gui}/client/assets/rough.esm-Dy-Kn_BL.js +0 -0
  1163. /package/dist/{web → gui}/client/assets/sizeCapture-INFHLROL-B0uUizjq.js +0 -0
  1164. /package/dist/{web → gui}/client/assets/src-B6xuSHsQ.js +0 -0
  1165. /package/dist/{web → gui}/client/clio-coder-logo.webp +0 -0
  1166. /package/dist/{web → gui}/client/icon-192.png +0 -0
  1167. /package/dist/{web → gui}/client/icon-512.png +0 -0
  1168. /package/dist/{web → gui}/client/manifest.webmanifest +0 -0
  1169. /package/dist/{web → gui}/client/offline.css +0 -0
  1170. /package/dist/{web → gui}/client/offline.html +0 -0
  1171. /package/dist/{web → gui}/client/offline.js +0 -0
  1172. /package/dist/{web → gui}/client/sw.js +0 -0
@@ -0,0 +1,87 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/prism-core-BtsZdCS6.js","assets/rolldown-runtime-hePW80VL.js","assets/mermaid.core-N9qUTre1.js","assets/framework-Bq-znqwW.js","assets/purify.es-ChwZkWde.js","assets/chunk-Y2CYZVJY-DsF7k-Jl.js","assets/src-B6xuSHsQ.js","assets/chunk-DU6HZSFF-s27fViLb.js","assets/chunk-75Z2AOVW-CygeoIMl.js","assets/dist-v5Q1xZ2K.js","assets/chunk-PWAF6VOD-BIhHgz37.js","assets/chunk-GMAD6QVW-DzPh-7jt.js","assets/chunk-P2QGCYS3-Sno90KxP.js","assets/chunk-4HAMMTFA-EOWkKCav.js","assets/rough.esm-Dy-Kn_BL.js","assets/chunk-GVQU2GXP-pIaQkIzm.js","assets/chunk-OSK3NFVY-BRj61HHU.js","assets/line-DbcwGZTW.js","assets/path-fybaL0A-.js","assets/array-BifhSqXX.js","assets/graphlib-DS17s2tU.js","assets/chunk-L3NEJ4N5-B3YLuhww.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as ee,s as g,t as _,u as te,v as ne,x as re,y as ie}from"./framework-Bq-znqwW.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ae=o(),v=e(t(),1),oe=!1,se=new Set;function ce(){if(!oe){oe=!0;for(let e of se)e()}}var le=()=>oe;function ue(e){return oe?(e(),()=>{}):(se.add(e),()=>{se.delete(e)})}function de(){return(0,v.useSyncExternalStore)(e=>(se.add(e),()=>se.delete(e)),le,()=>!1)}function fe(e){let t=e.trim();return/[#&?]token=([\w-]{1,256})(?:$|[&#\s])/.exec(`${t} `)?.[1]??(/^[\w-]{32,256}$/.test(t)?t:null)??null}function pe(e=Date.now){let t=!1,n=0;return{adopt(r){let i=r?Date.parse(r):NaN;!t&&Number.isFinite(i)&&(n=i-e(),t=!0)},now:()=>e()+n}}var me=pe();function he(e){return e==null||!Number.isFinite(e)?`not recorded`:`$${e.toFixed(e>0&&e<.01?4:2)}`}var ge=e=>e==null?`not recorded`:e.toLocaleString(`en-US`),_e=new Intl.DateTimeFormat(`en-CA`,{year:`numeric`,month:`2-digit`,day:`2-digit`}),ve=new Intl.DateTimeFormat(`en-GB`,{hourCycle:`h23`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`});function ye(e){let t=e?new Date(e):new Date(NaN);return Number.isFinite(t.valueOf())?`${_e.format(t)} ${ve.format(t)}`:`not recorded`}function be(e){if(e&&/^\d{4}-\d{2}-\d{2}$/.test(e))return e;let t=e?new Date(e):new Date(NaN);return Number.isFinite(t.valueOf())?_e.format(t):`not recorded`}function xe(e){let t=Math.max(0,e||0);return t<1e3?`${Math.round(t)}ms`:t<6e4?`${(t/1e3).toFixed(+(t<1e4))}s`:`${Math.floor(t/6e4)}m ${Math.round(t%6e4/1e3)}s`}function Se(){let e=new URLSearchParams(location.hash.slice(1)).get(`token`);if(e){if(history.replaceState(null,``,location.pathname+location.search),!/^[\w-]{1,256}$/.test(e))return``;try{sessionStorage.setItem(`clio-coder-token`,e),sessionStorage.removeItem(we)}catch{}return e}try{return sessionStorage.getItem(`clio-coder-token`)??localStorage.getItem(`clio-coder-pwa-token`)??``}catch{return``}}var Ce=`clio-coder-pwa-token`,we=`clio-coder-token-refused`;function Te(e){try{return localStorage.setItem(Ce,e),!0}catch{return!1}}function Ee(){try{localStorage.removeItem(Ce)}catch{}try{sessionStorage.removeItem(`clio-coder-token`)}catch{}location.reload()}function De(){for(let e of[()=>sessionStorage.removeItem(`clio-coder-token`),()=>localStorage.removeItem(Ce),()=>sessionStorage.setItem(we,`1`)])try{e()}catch{}}function Oe(e){location.hash=`token=${encodeURIComponent(e)}`,location.reload()}function ke(){try{return sessionStorage.getItem(we)===`1`}catch{return!1}}var Ae=class extends Error{problem;constructor(e){super(e.detail),this.problem=e}};function je(e,t=fetch){return{token:e,async call(n,r,i){let a=n.path.replace(/:([A-Za-z0-9]+)/g,(e,t)=>encodeURIComponent(String(r.params[t]))),o=new URLSearchParams;for(let[e,t]of Object.entries(r.query))t!==void 0&&o.set(e,String(t));let s;try{s=await t(`${a}${o.size?`?${o}`:``}`,{method:n.method,headers:{Authorization:`Bearer ${e}`,...n.method===`GET`?{}:{"Content-Type":`application/json`,"Idempotency-Key":i??crypto.randomUUID()}},...n.method===`GET`?{}:{body:JSON.stringify(r.body)}})}catch{throw new Ae({type:`urn:clio-coder:problem:unavailable`,title:`Server unavailable`,status:503,code:`unavailable`,detail:`Cannot reach Clio Coder. Check that the server is running.`,instance:`browser`})}if(me.adopt(s.headers.get(`date`)),s.status===401&&(De(),ce()),!s.ok)throw new Ae(await s.json());return s.json()}}}var y={params:{},query:{},body:{}},Me={assign:0,create:0,clone:0,discard:0,update:0};function Ne(e,t){return Me.assign+=1,{...e,...t}}function Pe(e){return Array.isArray(e)}function Fe(e){return b(typeof e,`bigint`)}function Ie(e){return b(typeof e,`boolean`)}function Le(e){return b(e,null)}function Re(e){return Number.isFinite(e)}function ze(e){return Be(e)&&!Pe(e)}function Be(e){return b(typeof e,`object`)&&!Le(e)}function Ve(e){return b(typeof e,`string`)}function b(e,t){return e===t}function He(e,t){return e>t}function Ue(e){if(!Be(e))return!1;let t=globalThis.Object.getPrototypeOf(e);return!Le(t)&&b(typeof t.constructor,`function`)&&!(b(t.constructor,globalThis.Object)||b(t.constructor.name,`Object`))}function We(e,t,n){return b(e.length,0)?n():t(e[0],e.slice(1))}function Ge(e){return b(e,`__proto__`)||b(e,`constructor`)||b(e,`prototype`)}function Ke(e,t){return Ge(t)?Object.prototype.hasOwnProperty.call(e,t):t in e}function qe(e){return Object.getOwnPropertyNames(e)}function Je(e){return Object.getOwnPropertySymbols(e)}function Ye(e){return Object.values(e)}function Xe(e){return globalThis.ArrayBuffer.isView(e)}function Ze(e){return e instanceof globalThis.RegExp}function Qe(e){return e instanceof globalThis.Set}function $e(e){return e instanceof globalThis.Map}function et(e){return e}function tt(e){return Ke(e,`~kind`)}function nt(e){let t={},n=Object.getOwnPropertyDescriptors(e);for(let e of Object.keys(n)){if(Ge(e))continue;let r=n[e];Ke(r,`value`)&&Object.defineProperty(t,e,{...r,value:ut(r.value)})}return t}function rt(e){let t={};for(let n of qe(e))Ge(n)||(t[n]=ut(e[n]));for(let n of Je(e))t[n]=ut(e[n]);return t}function it(e){return Ue(e)?et(e):tt(e)?nt(e):rt(e)}function at(e){return e.map(e=>ut(e))}function ot(e){return e.slice()}function st(e){return new RegExp(e.source,e.flags)}function ct(e){return new Map(ut([...e.entries()]))}function lt(e){return new Set(ut([...e.values()]))}function ut(e){return Xe(e)?ot(e):Ze(e)?st(e):$e(e)?ct(e):Qe(e)?lt(e):Pe(e)?at(e):Be(e)?it(e):e}function dt(e){return Me.clone+=1,ut(e)}var ft={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function pt(){return ft}function mt(e,t){for(let n of Object.keys(t))Object.defineProperty(e,n,{configurable:!0,writable:!0,enumerable:!1,value:t[n]});return e}function ht(e,t){return{...e,...t}}function x(e,t,n={}){Me.create+=1;let r=pt(),i=ht(t,n),a=r.enumerableKind?ht(i,e):mt(i,e);return r.immutableTypes?Object.freeze(a):a}function gt(e,t){Me.discard+=1;let n={},r=Object.getOwnPropertyDescriptors(dt(e)),i=new Set(t);for(let e of Object.keys(r))i.has(e)||Object.defineProperty(n,e,r[e]);return n}function S(e,t,n){Me.update+=1;let r=pt(),i=dt(e);for(let e of Object.keys(t))Object.defineProperty(i,e,{configurable:!0,writable:!0,enumerable:r.enumerableKind,value:t[e]});for(let e of Object.keys(n))Object.defineProperty(i,e,{configurable:!0,enumerable:!0,writable:!0,value:n[e]});return i}function C(e,t){return Be(e)&&Ke(e,`~kind`)&&b(e[`~kind`],t)}function _t(e){return Be(e)}function vt(e,t,n){return x({"~kind":`Deferred`},{type:`deferred`,action:e,parameters:t,options:n},{})}function yt(e){return C(e,`Deferred`)}function bt(e){return S(e,{"~readonly":!0},{})}function xt(e,t){return S(bt(e),{},t)}function St(e,t,n,r){return xt(R(e,t,n),r)}function Ct(e){return S(e,{"~optional":!0},{})}function wt(e,t){return S(Ct(e),{},t)}function Tt(e,t,n,r){return wt(R(e,t,n),r)}function w(e,t){return x({"~kind":`Array`},{type:`array`,items:e},t)}function Et(e){return C(e,`Array`)}function Dt(e){return gt(e,[`~kind`,`type`,`items`])}function Ot(e,t,n={}){return x({"~kind":`Constructor`},{type:`constructor`,parameters:e,instanceType:t},n)}function kt(e){return C(e,`Constructor`)}function At(e){return gt(e,[`~kind`,`type`,`parameters`,`instanceType`])}function jt(e,t,n={}){return x({"~kind":`Function`},{type:`function`,parameters:e,returnType:t},n)}function Mt(e){return C(e,`Function`)}function Nt(e){return gt(e,[`~kind`,`type`,`parameters`,`returnType`])}function Pt(e,t){return x({"~kind":`Ref`},{$ref:e},t)}function Ft(e){return C(e,`Ref`)}function It(e,t){return x({"~kind":`Generic`},{type:`generic`,parameters:e,expression:t})}function Lt(e){return C(e,`Generic`)}function Rt(e){return x({"~kind":`Any`},{},e)}function zt(e){return C(e,`Any`)}var Bt=`(?!)`;function Vt(e){return x({"~kind":`Never`},{not:{}},e)}function Ht(e){return C(e,`Never`)}function Ut(e,t={}){return wt(e,t)}function T(e){return Ut(e)}function Wt(e){return _t(e)&&Ke(e,`~optional`)}function Gt(e){return qe(e).filter(t=>!Wt(e[t]))}function Kt(e){return qe(e)}function qt(e){return Ye(e)}function E(e,t={}){let n=Gt(e);return x({"~kind":`Object`},{type:`object`,...n.length>0?{required:n}:{},properties:e},t)}function Jt(e){return C(e,`Object`)}function Yt(e){return gt(e,[`~kind`,`type`,`properties`,`required`])}function Xt(e){return x({"~kind":`Unknown`},{},e)}function Zt(e){return C(e,`Unknown`)}function Qt(e,t,n){return x({"~kind":`Cyclic`},{$defs:qe(e).reduce((t,n)=>({...t,[n]:S(e[n],{},{$id:n})}),{}),$ref:t},n)}function $t(e){return C(e,`Cyclic`)}function en(e){return ze(e)&&Ke(e,`~unsafe`)&&Le(e[`~unsafe`])}function tn(e){return C(e,`Infer`)}function nn(e,t,n,r={}){return x({"~kind":`Dependent`},{if:e,then:t,else:n},r)}function rn(e){return C(e,`Dependent`)}function an(e){return gt(e,[`~kind`,`if`,`then`,`else`])}function on(e){return C(e,`Enum`)}function sn(e,t={}){return x({"~kind":`Intersect`},{allOf:e},t)}function cn(e){return C(e,`Intersect`)}function ln(e){return gt(e,[`~kind`,`allOf`])}function un(){throw Error(`Unreachable`)}var dn;(function(e){e[e.Array=0]=`Array`,e[e.BigInt=1]=`BigInt`,e[e.Boolean=2]=`Boolean`,e[e.Date=3]=`Date`,e[e.Constructor=4]=`Constructor`,e[e.Function=5]=`Function`,e[e.Null=6]=`Null`,e[e.Number=7]=`Number`,e[e.Object=8]=`Object`,e[e.RegExp=9]=`RegExp`,e[e.String=10]=`String`,e[e.Symbol=11]=`Symbol`,e[e.TypeArray=12]=`TypeArray`,e[e.Undefined=13]=`Undefined`})(dn||={}),Array.from({length:256}).map((e,t)=>BigInt(t));var fn=new Float64Array(1);new DataView(fn.buffer),new Uint8Array(fn.buffer),new TextEncoder;function pn(e){return _t(e)&&Ke(e,`~immutable`)}function mn(e,t={}){return xt(e,t)}function hn(e){return _t(e)&&Ke(e,`~readonly`)}var gn=`-?(?:0|[1-9][0-9]*)n`;function _n(e){return x({"~kind":`BigInt`},{type:`bigint`},e)}function vn(e){return C(e,`BigInt`)}function D(e){return x({"~kind":`Boolean`},{type:`boolean`},e)}function yn(e){return C(e,`Boolean`)}var bn=`-?(?:0|[1-9][0-9]*)`;function O(e){return x({"~kind":`Integer`},{type:`integer`},e)}function xn(e){return C(e,`Integer`)}var Sn=class extends Error{constructor(e){super(`Invalid Literal value`),Object.defineProperty(this,"cause",{value:{value:e},writable:!1,configurable:!1,enumerable:!1})}};function Cn(e){return Fe(e)?`bigint`:Ie(e)?`boolean`:Re(e)?`number`:Ve(e)?`string`:(()=>{throw new Sn(e)})()}function k(e,t){return x({"~kind":`Literal`},{type:Cn(e),const:e},t)}function wn(e){return Fe(e)||Ie(e)||Re(e)||Ve(e)}function Tn(e){return Dn(e)&&Re(e.const)}function En(e){return Dn(e)&&Ve(e.const)}function Dn(e){return C(e,`Literal`)}function A(e){return x({"~kind":`Null`},{type:`null`},e)}function On(e){return C(e,`Null`)}var kn=`-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?`;function j(e){return x({"~kind":`Number`},{type:`number`},e)}function An(e){return C(e,`Number`)}function jn(e){return x({"~kind":`Symbol`},{type:`symbol`},e)}function Mn(e){return C(e,`Symbol`)}function M(e){return x({"~kind":`String`},{type:`string`},e)}function Nn(e){return C(e,`String`)}function N(e,t={}){return x({"~kind":`Union`},{anyOf:e},t)}function P(e){return C(e,`Union`)}function Pn(e){return gt(e,[`~kind`,`anyOf`])}function Fn(e){let t=ca(e);return b(t.length,2)?t[0]:[]}function In(e){return!0}function Ln(e){return We(e,(e,t)=>zn(e)?Ln(t):!1,()=>!0)}function Rn(e){return!b(e.length,0)&&Ln(e)}function zn(e){return P(e)?Rn(e.anyOf):Dn(e)?In(e.const):!1}function Bn(e){return Rn(e)}function Vn(e){return x({"~kind":`TemplateLiteral`},{type:`string`,pattern:e},{})}function Hn(e,t,n=[]){return We(e,(e,r)=>Hn(r,t,[...n,`${e}${t}`]),()=>n)}function Un(e,t){return b(e.length,0)?[`${t}`]:Hn(e,t)}function Wn(e,t,n=[]){return We(t,(t,r)=>Wn(e,r,[...n,...Gn(e,t)]),()=>n)}function Gn(e,t){return P(t)?Wn(e,t.anyOf):Dn(t)?Un(e,t.const):un()}function Kn(e,t){return We(t,(t,n)=>Kn(Gn(e,t),n),()=>e)}function qn(e){return e.map(e=>k(e))}function Jn(e){return N(qn(Kn([],e)))}function Yn(e){return b(e.length,0)?un():b(e.length,1)&&Dn(e[0])?e[0]:Jn(e)}function Xn(e){let t=Fn(e);return b(t.length,0)?M():Bn(t)?Yn(t):Vn(e)}function Zn(e){let t=Xn(e);return ka(t)?M():t}function Qn(e,t){return x({"~kind":`Record`},{type:`object`,patternProperties:{[e]:t}})}function $n(e){return Qn(ri,e)}function er(e){return E({true:e,false:e})}function tr(e,t={}){let[n,r,i]=[e,e.length,!1];return x({"~kind":`Tuple`},{type:`array`,additionalItems:i,items:n,minItems:r},t)}function nr(e){return C(e,`Tuple`)}function rr(e){return gt(e,[`~kind`,`type`,`items`,`minItems`,`additionalItems`])}function ir(e){return gt(e,[`~readonly`])}function ar(e,t){return S(ir(e),{},t)}function or(e,t,n,r){return ar(R(e,t,n),r)}function sr(e,t={}){return ar(e,t)}function cr(e){return gt(e,[`~optional`])}function lr(e,t){return S(cr(e),{},t)}function ur(e,t,n,r){return lr(R(e,t,n),r)}function dr(e,t={}){return lr(e,t)}function fr(e){return e.reduceRight((e,t,n)=>({[n]:t,...e}),{})}function pr(e){return E(fr(e.items))}function mr(e,t){return hn(e)?!!hn(t):!1}function hr(e,t){return Wt(e)?!!Wt(t):!1}function gr(e,t){let n=mr(e,t),r=hr(e,t),i=sr(dr(Nr([e,t])));return n&&r?mn(Ut(i)):n&&!r?mn(i):!n&&r?Ut(i):i}function _r(e,t,n){return n in e?n in t?gr(e[n],t[n]):e[n]:n in t?t[n]:Vt()}function vr(e,t){return[...new Set([...qe(t),...qe(e)])].reduce((n,r)=>({...n,[r]:_r(e,t,r)}),{})}function yr(e){return Jt(e)?e.properties:nr(e)?fr(e.items):un()}function br(e,t){return E(vr(yr(e),yr(t)))}function xr(e,t){let n=Is(e,t);return b(n,`left-inside`)?e:b(n,`right-inside`)||b(n,`equal`)?t:Vt()}function Sr(e){return Jt(e)||nr(e)}function Cr(e,t){let n=P(e),r=P(t);return n||r}function wr(e,t){let n=Ir(e),r=Ir(t),i=Cr(n,r),a=Sr(n),o=Sr(r);return i?Nr([n,r]):a&&o?br(n,r):a&&!o?n:!a&&o?r:xr(n,r)}function Tr(e,t,n=[]){return We(t,(t,r)=>Tr(e,r,[...n,wr(e,t)]),()=>b(n.length,0)?[e]:n)}function Er(e,t,n=[]){return We(e,(e,r)=>Er(r,t,[...n,...Dr([e],t)]),()=>n)}function Dr(e,t=[]){return We(e,(e,n)=>P(e)?Dr(n,Er(e.anyOf,t)):Dr(n,Tr(e,t)),()=>t)}function Or(e,t){return Pa(js({},e,t))?[]:[e]}function kr(e,t){return e.reduce((e,n)=>[...e,...Or(n,t)],[])}function Ar(e,t){let n=Ir(e);return Fr(kr(P(n)?n.anyOf:[n],t))}function jr(e,t,n){return Fr([sn([e,t]),Ar(n,e)])}function Mr(e){return Fr(e.map(e=>k(e)))}function Nr(e){return Lr(Vs(Dr(e)))}function Pr(e){return Ir(Zn(e))}function Fr(e){return Lr(Vs(e))}function Ir(e){return rn(e)?jr(e.if,e.then,e.else):on(e)?Mr(e.enum):cn(e)?Nr(e.allOf):ka(e)?Pr(e.pattern):P(e)?Fr(e.anyOf):e}function Lr(e){return b(e.length,1)?e[0]:b(e.length,0)?Vt():N(e)}function Rr(e,t){return Qr(Mr(e),t)}function zr(e,t){return Qn(ti,t)}function Br(e,t){return Qr(Nr(e),t)}function Vr(e,t){return Ve(e)||Re(e)?E({[e]:t}):b(e,!1)?E({false:t}):b(e,!0)?E({true:t}):E({})}function Hr(e,t){return Qn(ni,t)}function Ur(e,t){return Ke(e,`pattern`)&&(Ve(e.pattern)||e.pattern instanceof RegExp)?Qn(e.pattern.toString(),t):Qn(ri,t)}function Wr(e,t){return Bn(Fn(e))?Qr(Pr(e),t):Qn(e,t)}function Gr(e){return P(e)?Kr(e.anyOf):[e]}function Kr(e){return e.reduce((e,t)=>[...e,...Gr(t)],[])}function qr(e){return e.some(e=>Nn(e)||An(e)||xn(e))}function Jr(e,t){return b(qr(e),!0)?Qn(ri,t):void 0}function Yr(e,t){return e.reduce((e,n)=>Dn(n)&&(Ve(n.const)||Re(n.const))?{...e,[n.const]:t}:e,{})}function Xr(e,t){return E(Yr(e,t))}function Zr(e,t){let n=Kr(e),r=Jr(n,t);return _t(r)?r:Xr(n,t)}function Qr(e,t){return zt(e)?$n(t):yn(e)?er(t):on(e)?Rr(e.enum,t):xn(e)?zr(e,t):cn(e)?Br(e.allOf,t):Dn(e)?Vr(e.const,t):An(e)?Hr(e,t):P(e)?Zr(e.anyOf,t):Nn(e)?Ur(e,t):ka(e)?Wr(e.pattern,t):E({})}function $r(e,t,n){return Id([e])?S(Qr(e,t),{},n):ii(e,t,n)}function ei(e,t,n,r,i){return $r(R(e,t,n),R(e,t,r),i)}var ti=`^${bn}$`,ni=`^${kn}$`,ri=`^.*$`;function ii(e,t,n={}){return vt(`Record`,[e,t],n)}function ai(e,t,n={}){return $r(e,t,n)}function oi(e,t){return Qn(e,t)}function si(e){return b(e,ri)?M():b(e,ti)?O():b(e,ni)?j():Xn(e)}function ci(e){return qe(e.patternProperties)[0]}function li(e){return si(ci(e))}function ui(e){return e.patternProperties[ci(e)]}function di(e){return C(e,`Record`)}function fi(e){return x({"~kind":`Rest`},{type:`rest`,items:e},{})}function pi(e){return C(e,`Rest`)}function mi(e){return C(e,`This`)}function hi(e){return x({"~kind":`Undefined`},{type:`undefined`},e)}function gi(e){return C(e,`Undefined`)}function _i(e){return C(e,`Void`)}function vi(e){return _n()}function yi(e){return M()}function bi(e){return j()}function xi(e){return O()}function Si(e){return Vt()}function Ci(e){return k(e)}function wi(e){return e}function Ti(e){return N(e[1])}function Ei(e){return e.length===3?[...e[0],...e[2]]:e.length===1?[...e[0]]:[]}function Di(e){return[e[0],...e[1]]}function Oi(e){return e}function ki(e){return e[1]}function Ai(e){return b(e.length,2)}function ji(e,t,n){return Ai(e)?t(e[0],e[1]):n()}function Mi(e,t){return b(t.indexOf(e),0)?[e,t.slice(e.length)]:[]}function Ni(e,t){for(let n=0;n<e.length;n++){let r=Mi(e[n],t);if(Ai(r))return r}return[]}function Pi(e,t){return Array.from({length:t-e+1},(t,n)=>String.fromCharCode(e+n))}var Fi=[...Pi(97,122),...Pi(65,90)],Ii=[`0`,...Pi(49,57)],Li=`//`,Ri=`/*`,zi=`*/`;function Bi(e){let t=e.indexOf(zi);return b(t,-1)?``:e.slice(t+2)}function Vi(e){let t=e.indexOf(`
3
+ `);return b(t,-1)?``:e.slice(t)}function Hi(e){return e.replace(/^[ \t\r\f\v]+/,``)}function Ui(e){let t=Hi(e);return t.startsWith(Ri)?Ui(Bi(t.slice(2))):t.startsWith(Li)?Ui(Vi(t.slice(2))):t}function Wi(e){let t=e.trimStart();return t.startsWith(Ri)?Wi(Bi(t.slice(2))):t.startsWith(Li)?Wi(Vi(t.slice(2))):t}[...Ii];function Gi(e,t){return Ni([e],t)}function Ki(e,t){return b(e,``)?[``,t]:e.startsWith(`
4
+ `)?Gi(e,Ui(t)):e.startsWith(` `)?Gi(e,t):Gi(e,Wi(t))}[...Fi,...Ii],[...Ii];function qi(e){return b(e,``)?[]:[e.slice(0,1),e.slice(1)]}function Ji(e,t){return We(e,(e,n)=>t.startsWith(e)?!0:Ji(n,t),()=>!1)}function Yi(e,t,n=``){return ji(qi(t),(r,i)=>Ji(e,t)?[n,t]:Yi(e,i,`${n}${r}`),()=>[])}function Xi(e,t){return ji(Yi(e,t),(e,t)=>b(e,``)?[]:[e,t],()=>[])}var F=(e,t,n=()=>[])=>e.length===2?t(e):n(),Zi=e=>F(Ki(`-?(?:0|[1-9][0-9]*)n`,e),([e,t])=>[vi(e),t]),Qi=e=>F(Ki(`.*`,e),([e,t])=>[yi(e),t]),$i=e=>F(Ki(`-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?`,e),([e,t])=>[bi(e),t]),ea=e=>F(Ki(`-?(?:0|[1-9][0-9]*)`,e),([e,t])=>[xi(e),t]),ta=e=>F(Ki(`(?!)`,e),([e,t])=>[Si(e),t]),na=e=>F(Xi([`-?(?:0|[1-9][0-9]*)n`,`.*`,`-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?`,`-?(?:0|[1-9][0-9]*)`,`(?!)`,`(`,`)`,`$`,`|`],e),([e,t])=>[Ci(e),t]),ra=e=>F(F(Zi(e),([e,t])=>[e,t],()=>F(Qi(e),([e,t])=>[e,t],()=>F($i(e),([e,t])=>[e,t],()=>F(ea(e),([e,t])=>[e,t],()=>F(ta(e),([e,t])=>[e,t],()=>F(ia(e),([e,t])=>[e,t],()=>F(na(e),([e,t])=>[e,t],()=>[]))))))),([e,t])=>[wi(e),t]),ia=e=>F(F(Ki(`(`,e),([e,t])=>F(sa(t),([t,n])=>F(Ki(`)`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[Ti(e),t]),aa=e=>F(F(F(oa(e),([e,t])=>F(Ki(`|`,t),([t,n])=>F(aa(n),([n,r])=>[[e,t,n],r]))),([e,t])=>[e,t],()=>F(F(oa(e),([e,t])=>[[e],t]),([e,t])=>[e,t],()=>F([[],e],([e,t])=>[e,t],()=>[]))),([e,t])=>[Ei(e),t]),oa=e=>F(F(ra(e),([e,t])=>F(sa(t),([t,n])=>[[e,t],n])),([e,t])=>[Di(e),t]),sa=e=>F(F(aa(e),([e,t])=>[e,t],()=>F(oa(e),([e,t])=>[e,t],()=>[])),([e,t])=>[Oi(e),t]),ca=e=>F(F(Ki(`^`,e),([e,t])=>F(sa(t),([t,n])=>F(Ki(`$`,n),([n,r])=>[[e,t,n],r]))),([e,t])=>[ki(e),t]);function la(e){return e.join(`|`)}function ua(e){return e.slice(1,e.length-1)}function da(e,t,n){return Sa(t,`${n}${e}`)}function fa(e,t){return Sa(e,`${t}${gn}`)}function pa(e,t){return Sa(e,`${t}${bn}`)}function ma(e,t){return Sa(e,`${t}${kn}`)}function ha(e,t){return xa(N([k(`false`),k(`true`)]),e,t)}function ga(e,t){return Sa(e,`${t}.*`)}function _a(e,t,n){return Sa(t,`${n}${ua(e)}`)}function va(e,t,n){return xa(Ta(e,{}),t,n)}function ya(e,t,n){return xa(Mr(e),t,n)}function ba(e,t,n,r=[]){return We(e,(e,i)=>ba(i,t,n,[...r,xa(e,[],``)]),()=>Sa(t,`${n}(${la(r)})`))}function xa(e,t,n){return on(e)?ya(e.enum,t,n):xn(e)?pa(t,n):Dn(e)?da(e.const,t,n):vn(e)?fa(t,n):yn(e)?ha(t,n):An(e)?ma(t,n):Nn(e)?ga(t,n):ka(e)?_a(e.pattern,t,n):Oa(e)?va(e.parameters[0],t,n):P(e)?ba(e.anyOf,t,n):Bt}function Sa(e,t){return We(e,(e,n)=>xa(e,n,t),()=>t)}function Ca(e){return`^${Sa(e,``)}$`}function wa(e){return Vn(Ca(e))}function Ta(e,t){return Id(e)?S(wa(e),{},t):Da(e,t)}function Ea(e,t,n,r){return Ta(zd(e,t,n),r)}function Da(e,t={}){return vt(`TemplateLiteral`,[e],t)}function Oa(e){return _t(e)&&Ke(e,`action`)&&b(e.action,`TemplateLiteral`)}function ka(e){return C(e,`TemplateLiteral`)}function Aa(e){return x({"~kind":`ExtendsUnion`},{inferred:e})}function ja(e){return Be(e)&&Ke(e,`~kind`)&&Ke(e,`inferred`)&&b(e[`~kind`],`ExtendsUnion`)&&Be(e.inferred)}function I(e){return x({"~kind":`ExtendsTrue`},{inferred:e})}function Ma(e){return Be(e)&&Ke(e,`~kind`)&&Ke(e,`inferred`)&&b(e[`~kind`],`ExtendsTrue`)&&Be(e.inferred)}function L(){return x({"~kind":`ExtendsFalse`},{})}function Na(e){return Be(e)&&Ke(e,`~kind`)&&b(e[`~kind`],`ExtendsFalse`)}function Pa(e){return ja(e)||Ma(e)}function Fa(e,t,n){return Pa(e)?t(e.inferred):n()}function Ia(e,t,n,r){return Fa(ts(e,n,r),r=>I(Ne(Ne(e,r),{[t]:n})),()=>L())}function La(e,t){return I(e)}function Ra(e,t,n,r,i){return Fa(ts(e,t,n),e=>Fa(ts(e,t,r),e=>I(e),()=>L()),()=>Fa(ts(e,t,i),e=>I(e),()=>L()))}function za(e,t,n){return ts(e,t,Mr(n))}function Ba(e,t,n){return We(n,(n,r)=>Fa(ts(e,t,n),e=>Ba(e,t,r),()=>L()),()=>I(e))}function Va(e,t,n){return ts(e,t,Pr(n))}function Ha(e,t,n){return We(n,(n,r)=>Fa(ts(e,t,n),e=>I(e),()=>Ha(e,t,r)),()=>L())}function Ua(e,t,n){return zt(n)?La(e,t):rn(n)?Ra(e,t,n.if,n.then,n.else):on(n)?za(e,t,n.enum):tn(n)?Ia(e,n.name,t,n.extends):cn(n)?Ba(e,t,n.allOf):ka(n)?Va(e,t,n.pattern):P(n)?Ha(e,t,n.anyOf):Zt(n)?I(e):L()}function Wa(e,t,n){return tn(n)?Ua(e,t,n):zt(n)||Zt(n)?I(e):Aa(e)}function Ga(e,t){let n=pn(e),r=pn(t);return n&&r||!n&&r?!0:!(n&&!r)}function Ka(e,t,n,r){return Et(r)?Ga(t,r)?ts(e,n,r.items):L():Ua(e,t,r)}function qa(e,t,n){return vn(n)?I(e):Ua(e,t,n)}function Ja(e,t,n){return yn(n)?I(e):Ua(e,t,n)}function Ya(e,t,n,r,i){let a=tn(r)?t:r,o=tn(r)?r:t,s=Wt(t),c=Wt(r);return!s&&c?L():Fa(ts(e,a,o),e=>Qa(e,n,i),()=>L())}function Xa(e,t,n,r){return We(r,(r,i)=>Ya(e,t,n,r,i),()=>Wt(t)?I(e):L())}function Za(e,t,n){return We(t,(t,r)=>Xa(e,t,r,n),()=>I(e))}function Qa(e,t,n){return Za(e,t,n)}function $a(e,t,n){return _i(n)?I(e):ts(e,t,n)}function eo(e,t,n,r){return zt(r)||Zt(r)?I(e):kt(r)?Fa(Qa(e,t,r.parameters),e=>$a(e,n,r.instanceType),()=>L()):L()}function to(e,t,n,r,i){return Fa(ts(e,t,i),()=>ts(e,n,i),()=>ts(e,r,i))}function no(e,t,n){return ts(e,Mr(t),n)}function ro(e,t,n,r){return zt(r)||Zt(r)?I(e):Mt(r)?Fa(Qa(e,t,r.parameters),e=>$a(e,n,r.returnType),()=>L()):L()}function io(e,t,n){return xn(n)||An(n)?I(e):Ua(e,t,n)}function ao(e,t,n){return ts(e,Nr(t),n)}function oo(e,t,n){return t===n?I(e):L()}function so(e,t,n){return Dn(n)?oo(e,t,n.const):vn(n)?I(e):Ua(e,k(t),n)}function co(e,t,n){return Dn(n)?oo(e,t,n.const):yn(n)?I(e):Ua(e,k(t),n)}function lo(e,t,n){return Dn(n)?oo(e,t,n.const):An(n)?I(e):Ua(e,k(t),n)}function uo(e,t,n){return Dn(n)?oo(e,t,n.const):Nn(n)?I(e):Ua(e,k(t),n)}function fo(e,t,n){return Fe(t.const)?so(e,t.const,n):Ie(t.const)?co(e,t.const,n):Re(t.const)?lo(e,t.const,n):Ve(t.const)?uo(e,t.const,n):un()}function po(e,t,n){return tn(n)?Ua(e,t,n):I(e)}function mo(e,t,n){return On(n)?I(e):Ua(e,t,n)}function ho(e,t,n){return An(n)?I(e):Ua(e,t,n)}function go(e,t,n){return Wt(t)?Wt(n)?I(e):L():I(e)}function _o(e,t,n){return tn(n)&&Ht(n.extends)?L():Fa(ts(e,t,n),e=>go(e,t,n),()=>L())}function vo(e,t){return e.reduce((e,n)=>n in t&&Pa(t[n])?{...e,...t[n].inferred}:un(),{})}function yo(e,t,n){let r={};for(let i of qe(n))r[i]=i in t?_o({},t[i],n[i]):Wt(n[i])?tn(n[i])?I(Ne(e,{[n[i].name]:n[i].extends})):I(e):L();let i=Ye(r).every(e=>Pa(e)),a=i?vo(qe(r),r):{};return i?I(a):L()}function bo(e,t,n){let r=yo(e,t,n);return Pa(r)?I(Ne(e,r.inferred)):L()}function xo(e,t,n){return bo(e,t,n)}function So(e,t){return qe(t).reduce((n,r)=>({...n,[r]:Ke(e,r)?P(n[r])?N([...n[r].anyOf,t[r]]):N([e[r],t[r]]):t[r]}),e)}function Co(e,t,n,r){return We(t,(t,i)=>Fa(ts({},e[t],n),t=>Co(e,i,n,So(r,t)),()=>L()),()=>I(r))}function wo(e,t,n,r){return Co(t,qe(t),r,e)}function To(e,t,n){return di(n)?wo(e,t,ci(n),ui(n)):Jt(n)?xo(e,t,n.properties):Ua(e,E(t),n)}function Eo(e,t){return b(qe(t).length,0)?I(e):L()}function Do(e,t,n,r,i){return ts(e,n,i)}function Oo(e,t,n,r){return di(r)?Do(e,si(t),n,si(ci(r)),ui(r)):Jt(r)?Eo(e,r.properties):zt(r)||Zt(r)?I(e):L()}function ko(e,t,n){return Nn(n)?I(e):Ua(e,t,n)}function Ao(e,t,n){return Mn(n)?I(e):Ua(e,t,n)}function jo(e,t,n){return ts(e,Pr(t),n)}function Mo(e,t){return x({"~kind":`Inferrable`},{name:e,type:t},{})}function No(e){return Be(e)&&Ke(e,`~kind`)&&Ke(e,`name`)&&Ke(e,`type`)&&b(e[`~kind`],`Inferrable`)&&Ve(e.name)&&Be(e.type)}function Po(e){return pi(e)?tn(e.items)?Et(e.items.extends)?Mo(e.items.name,e.items.extends.items):Zt(e.items.extends)?Mo(e.items.name,e.items.extends):void 0:un():void 0}function Fo(e){return tn(e)?Mo(e.name,e.extends):void 0}function Io(e,t,n=[]){return We(e,(e,r)=>Fa(ts({},e,t),()=>Io(r,t,[...n,e]),()=>void 0),()=>n)}function Lo(e,t,n,r){let i=Io(n,r);return Pe(i)?I(Ne(e,{[t]:tr(i)})):L()}function Ro(e,t,n,r){let i=Io(n,r);return Pe(i)?I(Ne(e,{[t]:N(i)})):L()}function zo(e){return[...e].reverse()}function Bo(e,t){return t?zo(e):e}function Vo(e){let t=e.length>0?e[0]:void 0;return _t(_t(t)?Po(t):void 0)}function Ho(e,t,n,r,i,a){return Fa(ts(e,n,i),e=>Go(e,t,r,a),()=>L())}function Uo(e,t,n,r,i){let a=Po(r);return No(a)?Lo(e,a.name,Bo(n,t),a.type):We(n,(n,a)=>Ho(e,t,n,a,r,i),()=>L())}function Wo(e,t,n,r){return We(r,(r,i)=>Uo(e,t,n,r,i),()=>b(n.length,0)?I(e):L())}function Go(e,t,n,r){return Wo(e,t,n,r)}function Ko(e,t,n){let r=Rd(e,Fd([],[]),n),i=Vo(r);return Go(e,i,Bo(t,i),Bo(r,i))}function qo(e,t,n){let r=Fo(n);return No(r)?Ro(e,r.name,t,r.type):We(t,(t,r)=>Fa(ts(e,t,n),e=>qo(e,r,n),()=>L()),()=>I(e))}function Jo(e,t,n){let r=Rd(e,Fd([],[]),t);return nr(n)?Ko(e,r,n.items):Et(n)?qo(e,r,n.items):Ua(e,tr(r),n)}function Yo(e,t,n){return _i(n)||gi(n)?I(e):Ua(e,t,n)}function Xo(e,t,n){return We(n,(n,r)=>Fa(ts(e,t,n),e=>I(e),()=>Xo(e,t,r)),()=>L())}function Zo(e,t,n){return We(t,(t,r)=>Fa(Xo(e,t,n),e=>Zo(e,r,n),()=>L()),()=>I(e))}function Qo(e,t,n){let r=Fo(n);return No(r)?Ro(e,r.name,t,r.type):P(n)?Zo(e,t,n.anyOf):Zo(e,t,[n])}function $o(e,t,n){return tn(n)?Ua(e,t,n):zt(n)||Zt(n)?I(e):L()}function es(e,t,n){return _i(n)?I(e):Ua(e,t,n)}function ts(e,t,n){return zt(t)?Wa(e,t,n):Et(t)?Ka(e,t,t.items,n):vn(t)?qa(e,t,n):yn(t)?Ja(e,t,n):kt(t)?eo(e,t.parameters,t.instanceType,n):rn(t)?to(e,t.if,t.then,t.else,n):on(t)?no(e,t.enum,n):Mt(t)?ro(e,t.parameters,t.returnType,n):xn(t)?io(e,t,n):cn(t)?ao(e,t.allOf,n):Dn(t)?fo(e,t,n):Ht(t)?po(e,t,n):On(t)?mo(e,t,n):An(t)?ho(e,t,n):Jt(t)?To(e,t.properties,n):di(t)?Oo(e,ci(t),ui(t),n):Nn(t)?ko(e,t,n):Mn(t)?Ao(e,t,n):ka(t)?jo(e,t.pattern,n):nr(t)?Jo(e,t.items,n):gi(t)?Yo(e,t,n):P(t)?Qo(e,t.anyOf,n):Zt(t)?$o(e,t,n):_i(t)?es(e,t,n):L()}function ns(e,t){return Nr([...e,E(t)])}function rs(e,t,n){return Id(e)?S(ns(e,t),{},n):as(e,t,n)}function is(e,t,n,r,i){return rs(zd(e,t,n),Ld(e,t,r),i)}function as(e,t,n={}){return vt(`Interface`,[e,t],n)}function os(e){return _t(e)&&Ke(e,`action`)&&b(e.action,`Interface`)}function ss(e,t,n){return e.includes(n)?!0:us([...e,n],t,t[n])}function cs(e,t,n){return ls(e,t,qt(n))}function ls(e,t,n){return We(n,(n,r)=>us(e,t,n)?!0:ls(e,t,r),()=>!1)}function us(e,t,n){return Ft(n)?ss(e,t,n.$ref):Et(n)?us(e,t,n.items):kt(n)?ls(e,t,[...n.parameters,n.instanceType]):Mt(n)?ls(e,t,[...n.parameters,n.returnType]):os(n)?cs(e,t,n.parameters[1]):cn(n)?ls(e,t,n.allOf):Jt(n)?cs(e,t,n.properties):P(n)?ls(e,t,n.anyOf):nr(n)?ls(e,t,n.items):di(n)?us(e,t,ui(n)):!1}function ds(e,t,n){return us(e,t,n)}function fs(e,t){return t.reduce((t,n)=>ds([n],e,e[n])?[...t,n]:t,[])}function ps(e){return fs(e,Kt(e))}function ms(e,t,n){return n.includes(t)?n:t in e?_s(e,e[t],[...n,t]):un()}function hs(e,t,n){return gs(e,qt(t),n)}function gs(e,t,n){return t.reduce((t,n)=>_s(e,n,t),n)}function _s(e,t,n){return Ft(t)?ms(e,t.$ref,n):Et(t)?_s(e,t.items,n):kt(t)?gs(e,[...t.parameters,t.instanceType],n):Mt(t)?gs(e,[...t.parameters,t.returnType],n):os(t)?hs(e,t.parameters[1],n):cn(t)?gs(e,t.allOf,n):Jt(t)?hs(e,t.properties,n):P(t)?gs(e,t.anyOf,n):nr(t)?gs(e,t.items,n):di(t)?_s(e,ui(t),n):n}function vs(e,t,n){return _s(e,n,[t])}function ys(e){return Rt()}function bs(e){return qe(e).reduce((t,n)=>({...t,[n]:Ss(e[n])}),{})}function xs(e){return e.reduce((e,t)=>[...e,Ss(t)],[])}function Ss(e){return Ft(e)?ys(e.$ref):Et(e)?w(Ss(e.items),Dt(e)):kt(e)?Ot(xs(e.parameters),Ss(e.instanceType)):Mt(e)?jt(xs(e.parameters),Ss(e.returnType)):cn(e)?sn(xs(e.allOf)):Jt(e)?E(bs(e.properties)):di(e)?ai(li(e),Ss(ui(e))):P(e)?N(xs(e.anyOf)):nr(e)?tr(xs(e.items)):e}function Cs(e,t){return t in e?Ss(e[t]):Xt()}function ws(e){return Cs(e.$defs,e.$ref)}function Ts(e,t,n){let r=zd(e,Fd([],[]),t),i=Ld({},Fd([],[]),n);return Nr([...r,E(i)])}function Es(e,t){return qe(e).filter(e=>t.includes(e)).reduce((t,n)=>{let r=e[n],i=os(r)?Ts(e,r.parameters[0],r.parameters[1]):r;return{...t,[n]:i}},{})}function Ds(e,t,n){return Qt(Es(e,vs(e,t,n)),t)}function Os(e,t){return t in e?Ft(e[t])?Os(e,e[t].$ref):e[t]:Vt()}function ks(e,t){return Os(e,t)}function As(e){return $t(e)?ws(e):en(e)?Xt():e}function js(e,t,n){return ts(e,As(t),As(n))}var Ms=`equal`,Ns=`disjoint`,Ps=`left-inside`,Fs=`right-inside`;function Is(e,t){let n=[Zt(e)?L():js({},e,t),Zt(e)?I({}):js({},t,e)];return Pa(n[0])&&Pa(n[1])?Ms:Pa(n[0])&&Na(n[1])?Ps:Na(n[0])&&Pa(n[1])?Fs:Ns}function Ls(e,t){return t.filter(t=>Is(e,t)!==`right-inside`)}function Rs(e,t){return b(t.some(t=>{let n=Is(e,t);return b(n,`left-inside`)||b(n,`equal`)}),!1)}function zs(e,t){let n=Ir(e);return zt(n)?[n]:Rs(n,t)?[...Ls(n,t),n]:t}function Bs(e){return e.reduce((e,t)=>Jt(t)?[...e,t]:Ht(t)?e:zs(t,e),[])}function Vs(e){return Kr(Bs(e))}function Hs(e,t){return S(Ir(e),{},t)}function Us(e,t,n,r){return Hs(R(e,t,n),r)}function Ws(e,t=[]){return yt(e)&&b(e.action,`Conditional`)?Ft(e.parameters[0])?Ws(e.parameters[2],Ws(e.parameters[3],[...t,e.parameters[0].$ref])):Ws(e.parameters[2],Ws(e.parameters[3],t)):yt(e)&&b(e.action,`Mapped`)&&yt(e.parameters[1])&&b(e.parameters[1].action,`KeyOf`)&&Ft(e.parameters[1].parameters[0])?[...t,e.parameters[1].parameters[0].$ref]:t}function Gs(e,t){return e.reduce((e,n)=>[...e,t.includes(n.name)],[])}function Ks(e,t,n=[]){return We(e,(e,r)=>We(t,(t,i)=>Ks(r,i,[...n,[t,e]]),()=>n),()=>n)}function qs(e){return P(e)?[...e.anyOf]:[e]}function Js(e,t){return e.reduce((e,n)=>[...e,[...n,t]],[])}function Ys(e,t){return t.reduce((t,n)=>[...t,...Js(e,n)],[])}function Xs(e){return e.reduce((e,t)=>b(t[0],!0)?Ys(e,qs(t[1])):Ys(e,[t[1]]),[[]])}function Zs(e,t,n){let r=Ks(t,Gs(e,Ws(n)));return yt(n)&&b(n.action,`Conditional`)||yt(n)&&b(n.action,`Mapped`)?Xs(r):[t]}function Qs(){return[`(not-resolvable)`,Vt()]}function $s(){return[`(not-generic)`,Vt()]}function ec(e,t,n){return[e,It(t,n)]}function tc(e,t,n){return t in e?nc(e,t,e[t],n):Qs()}function nc(e,t,n,r){return Lt(n)?ec(t,n.parameters,n.expression):Ft(n)?tc(e,n.$ref,r):$s()}function rc(e,t,n){return nc(e,`(anonymous)`,t,n)}function ic(e,t,n){if(tn(t)||gc(t)||Pa(js({},t,n)))return;let r={parameter:e,expect:n,actual:t};throw Error(`Argument for parameter ${e} does not satisfy constraint`,{cause:r})}function ac(e,t,n,r,i){let a=R(e,t,i);return ic(n,a,r),Ne(e,{[n]:a})}function oc(e,t,n,r,i){let a=R(e,t,n.extends),o=R(e,t,n.equals);return We(i,(i,o)=>sc(ac(e,t,n.name,a,i),t,r,o),()=>sc(ac(e,t,n.name,a,o),t,r,[]))}function sc(e,t,n,r){return We(n,(n,i)=>oc(e,t,n,i,r),()=>e)}function cc(e,t,n,r){return sc(e,t,n,r)}function lc(e){return He(e.callstack.length,0)?e.callstack[e.callstack.length-1]:``}function uc(e,t){return b(lc(e),t)}function dc(e,t,n,r,i,a){let o=cc(e,t,r,a),s=R(o,Fd([...t.callstack,n.$ref],t.visited),i);return R(o,Fd([],[]),s)}function fc(e,t,n,r,i,a){return a.reduce((a,o)=>[...a,dc(e,t,n,r,i,o)],[])}function pc(e,t,n,r,i,a){let o=fc(e,t,n,r,i,Zs(r,a,i));return b(o.length,1)?o[0]:Fr(o)}function mc(e,t,n,r){let i=zd(e,t,r),a=rc(e,n,r),o=a[0],s=a[1];return Lt(s)?uc(t,o)?hc(Pt(o),i):pc(e,t,Pt(o),s.parameters,s.expression,i):hc(n,i)}function hc(e,t){return x({"~kind":`Call`},{type:`call`,target:e,arguments:t},{})}function gc(e){return C(e,`Call`)}function _c(e){return gt(e,[`~immutable`])}function vc(e,t){return S(_c(e),{},t)}function yc(e,t,n,r){return vc(R(e,t,n),r)}function bc(e,t){return e(t)}function xc(e,t){return Ve(t)?k(bc(e,t)):k(t)}function Sc(e,t){return wc(e,Pr(t))}function Cc(e,t){return N(t.map(t=>wc(e,t)))}function wc(e,t){return Dn(t)?xc(e,t.const):ka(t)?Sc(e,t.pattern):P(t)?Cc(e,t.anyOf):t}function Tc(e,t={}){return vt(`Capitalize`,[e],t)}function Ec(e,t={}){return vt(`Lowercase`,[e],t)}function Dc(e,t={}){return vt(`Uncapitalize`,[e],t)}function Oc(e,t={}){return vt(`Uppercase`,[e],t)}var kc=e=>e[0].toUpperCase()+e.slice(1),Ac=e=>e.toLowerCase(),jc=e=>e[0].toLowerCase()+e.slice(1),Mc=e=>e.toUpperCase();function Nc(e,t){return Id([e])?S(wc(kc,e),{},t):Tc(e,t)}function Pc(e,t){return Id([e])?S(wc(Ac,e),{},t):Ec(e,t)}function Fc(e,t){return Id([e])?S(wc(jc,e),{},t):Dc(e,t)}function Ic(e,t){return Id([e])?S(wc(Mc,e),{},t):Oc(e,t)}function Lc(e,t,n,r){return Nc(R(e,t,n),r)}function Rc(e,t,n,r){return Pc(R(e,t,n),r)}function zc(e,t,n,r){return Fc(R(e,t,n),r)}function Bc(e,t,n,r){return Ic(R(e,t,n),r)}function Vc(e,t,n,r,i={}){return vt(`Conditional`,[e,t,n,r],i)}function Hc(e,t,n,r,i,a){let o=js(e,n,r);return ja(o)?N([R(o.inferred,t,i),R(e,t,a)]):Ma(o)?R(o.inferred,t,i):R(e,t,a)}function Uc(e,t,n,r,i,a,o){return Id([n,r])?S(Hc(e,t,n,r,i,a),{},o):Vc(n,r,i,a,o)}function Wc(e,t,n,r,i,a,o){return Uc(e,t,R(e,t,n),R(e,t,r),i,a,o)}function Gc(e,t={}){return vt(`ConstructorParameters`,[e],t)}function Kc(e){let t=kt(e)?e.parameters:[];return tr(Rd({},Fd([],[]),t))}function qc(e,t){return Id([e])?S(Kc(e),{},t):Gc(e,t)}function Jc(e,t,n,r){return qc(R(e,t,n),r)}function Yc(e,t,n={}){return vt(`Exclude`,[e,t],n)}function Xc(e,t,n){return Id([e,t])?S(Ar(e,t),{},n):Yc(e,t,n)}function Zc(e,t,n,r,i){return Xc(R(e,t,n),R(e,t,r),i)}function Qc(e,t,n={}){return vt(`Extract`,[e,t],n)}function $c(e,t){return Pa(js({},e,t))?[e]:[]}function el(e,t){return e.reduce((e,n)=>[...e,...$c(n,t)],[])}function tl(e,t){let n=Ir(e);return Fr(el(P(n)?n.anyOf:[n],t))}function nl(e,t,n){return Id([e,t])?S(tl(e,t),{},n):Qc(e,t,n)}function rl(e,t,n,r,i){return nl(R(e,t,n),R(e,t,r),i)}function il(e,t,n={}){return vt(`Index`,[e,t],n)}function al(e,t){return ml(ks(e,t))}function ol(e,t,n){return ml(jr(e,t,n))}function sl(e,t){let n=qe(e).filter(e=>!Ke(t,e)),r=qe(t).filter(t=>!Ke(e,t)),i=qe(e).filter(e=>Ke(t,e)),a=n.reduce((t,n)=>({...t,[n]:e[n]}),{}),o=r.reduce((e,n)=>({...e,[n]:t[n]}),{}),s=i.reduce((n,r)=>({...n,[r]:Nr([e[r],t[r]])}),{});return Ne(Ne(a,o),s)}function cl(e){return e.reduce((e,t)=>sl(e,ml(t)),{})}function ll(e){return e}function ul(e){return ml(pr(tr(e)))}function dl(e,t){return qe(e).filter(e=>e in t).reduce((n,r)=>({...n,[r]:Fr([e[r],t[r]])}),{})}function fl(e,t){return We(e,(e,n)=>fl(n,dl(t,ml(e))),()=>t)}function pl(e){return We(e,(e,t)=>fl(t,ml(e)),()=>un())}function ml(e){return $t(e)?al(e.$defs,e.$ref):rn(e)?ol(e.if,e.then,e.else):cn(e)?cl(e.allOf):P(e)?pl(e.anyOf):nr(e)?ul(e.items):Jt(e)?ll(e.properties):{}}function hl(e){return E(ml(e))}var gl=RegExp(`^(?:0|[1-9][0-9]*)$`);function _l(e){let t=`${e}`;return gl.test(t)?parseInt(t):e}function vl(e){return k(_l(e))}function yl(e){return e.map(e=>bl(e))}function bl(e){return cn(e)?sn(yl(e.allOf)):P(e)?N(yl(e.anyOf)):Dn(e)?vl(e.const):e}function xl(e,t){return Pa(js({},bl(t),j()))?e:Dn(t)&&b(t.const,`length`)?j():Vt()}function Sl(e,t){return kl(ks(e,t))}function Cl(e,t,n){return kl(jr(e,t,n))}function wl(e){return kl(Mr(e))}function Tl(e){return kl(Nr(e))}function El(e){return[`${e}`]}function Dl(e){return kl(Pr(e))}function Ol(e){return e.reduce((e,t)=>[...e,...kl(t)],[])}function kl(e){return $t(e)?Sl(e.$defs,e.$ref):rn(e)?Cl(e.if,e.then,e.else):on(e)?wl(e.enum):cn(e)?Tl(e.allOf):Dn(e)?El(e.const):ka(e)?Dl(e.pattern):P(e)?Ol(e.anyOf):[]}function Al(e){return kl(e)}function jl(e,t){return t.map(t=>Ml(e,t))}function Ml(e,t){return Et(t)?w(Ml(e,t.items)):kt(t)?Ot(jl(e,t.parameters),Ml(e,t.instanceType)):Mt(t)?jt(jl(e,t.parameters),Ml(e,t.returnType)):nr(t)?tr(jl(e,t.items)):P(t)?N(jl(e,t.anyOf)):cn(t)?sn(jl(e,t.allOf)):mi(t)?E(e):t}function Nl(e,t){return Ml(e,t)}function Pl(e,t){return Nl(e,t in e?e[t]:Vt())}function Fl(e,t){return t.reduce((t,n)=>[...t,Pl(e,n)],[])}function Il(e,t){return Fr(Fl(e,Al(t)))}var Ll=new RegExp(ti);function Rl(e){return e.filter(e=>Ll.test(e))}function zl(e){return Fr(Fl(e,Rl(Kt(e))))}function Bl(e,t){return An(t)?zl(e):Il(e,t)}function Vl(e){return k(_l(e))}function Hl(e){return e.map(e=>Ul(e))}function Ul(e){return cn(e)?sn(Hl(e.allOf)):P(e)?N(Hl(e.anyOf)):Dn(e)?Vl(e.const):e}function Wl(e,t){return e.reduceRight((e,n,r)=>Pa(js({},k(r),t))?[n,...e]:e,[])}function Gl(e,t){return Lr(Wl(e,Ul(t)))}function Kl(e){return Lr(e)}function ql(e,t){return Dn(t)&&b(t.const,`length`)?k(e.length):An(t)||xn(t)?Kl(e):Gl(e,t)}function Jl(e,t){return Et(e)?xl(e.items,t):Jt(e)?Bl(e.properties,t):nr(e)?ql(e.items,t):Vt()}function Yl(e){return $t(e)||rn(e)||cn(e)||P(e)?hl(e):e}function Xl(e,t,n){return Id([e,t])?S(Jl(Yl(e),t),{},n):il(e,t,n)}function Zl(e,t,n,r,i){return Xl(R(e,t,n),R(e,t,r),i)}function Ql(e,t={}){return vt(`InstanceType`,[e],t)}function $l(e){return kt(e)?e.instanceType:Vt()}function eu(e,t){return Id([e])?S($l(e),{},t):Ql(e,t)}function tu(e,t,n,r={}){return eu(R(e,t,n),r)}function nu(e,t={}){return vt(`KeyOf`,[e],t)}function ru(){return N([j(),M(),jn()])}function iu(e){return j()}function au(e){return e.reduce((e,t)=>wn(t)?[...e,k(_l(t))]:un(),[])}function ou(e){return Lr(au(qe(e)))}function su(e){return li(e)}function cu(e){return Lr(e.map((e,t)=>k(t)))}function lu(e){return zt(e)?ru():Et(e)?iu(e.items):Jt(e)?ou(e.properties):di(e)?su(e):nr(e)?cu(e.items):Vt()}function uu(e){return $t(e)||rn(e)||cn(e)||P(e)?hl(e):e}function du(e,t){return Id([e])?S(lu(uu(e)),{},t):nu(e,t)}function fu(e,t,n,r){return du(R(e,t,n),r)}function pu(e,t,n,r,i={}){return vt(`Mapped`,[e,t,n,r],i)}function mu(e){return vu(Pr(e))}function hu(e){return e.reduce((e,t)=>[...e,...vu(t)],[])}function gu(e){return vu(Mr(e))}function _u(e){return Re(e)?[k(`${e}`)]:[k(e)]}function vu(e){return on(e)?gu(e.enum):Dn(e)?_u(e.const):ka(e)?mu(e.pattern):P(e)?hu(e.anyOf):[e]}function yu(e){return vu(e)}function bu(e){return ka(e)?Pr(e.pattern):e}function xu(e,t,n,r,i,a){let o=Ne(e,{[n.name]:r}),s=bu(R(o,t,i)),c=R(o,t,a);return Tn(s)||En(s)?{[s.const]:c}:{}}function Su(e,t,n,r,i,a){return r.reduce((r,o)=>[...r,xu(e,t,n,o,i,a)],[])}function Cu(e){return e.reduce((e,t)=>[...e,E(t)],[])}function wu(e,t,n,r,i,a){return Nr(Cu(Su(e,t,n,yu(r),i,a)))}function Tu(e,t,n,r,i,a,o){return Id([r])?S(wu(e,t,n,r,i,a),{},o):pu(n,r,i,a,o)}function Eu(e,t,n,r,i,a,o){return Tu(e,t,n,R(e,t,r),i,a,o)}function Du(e,t,n){let r=Ne(e,t);return qe(t).filter(e=>n.includes(e)).reduce((e,n)=>({...e,[n]:Ds(r,n,t[n])}),{})}function Ou(e,t,n){let r=Ne(e,t);return qe(t).filter(e=>!n.includes(e)).reduce((e,n)=>({...e,[n]:R(r,Fd([],[]),t[n])}),{})}function ku(e,t,n){let r=ps(t),i=Du(e,t,r),a=Ou(e,t,r);return S({...i,...a},{},n)}function Au(e,t,n,r){return ku(e,n,r)}function ju(e,t={}){return vt(`NonNullable`,[e],t)}function Mu(e){return Xc(e,N([A(),hi()]),{})}function Nu(e,t){return Id([e])?S(Mu(e),{},t):ju(e,t)}function Pu(e,t,n,r){return Nu(R(e,t,n),r)}function Fu(e,t,n={}){return vt(`Omit`,[e,t],n)}function Iu(e){let t=hl(e);return Jt(t)?t.properties:un()}function Lu(e,t){return qe(e).reduce((n,r)=>t.includes(r)?n:{...n,[r]:e[r]},{})}function Ru(e,t){return E(Lu(Iu(e),Al(t)))}function zu(e,t,n){return Id([e,t])?S(Ru(e,t),{},n):Fu(e,t,n)}function Bu(e,t,n,r,i){return zu(R(e,t,n),R(e,t,r),i)}function Vu(e,t={}){return vt(`Parameters`,[e],t)}function Hu(e){let t=Mt(e)?e.parameters:[];return tr(Rd({},Fd([],[]),t))}function Uu(e,t){return Id([e])?S(Hu(e),{},t):Vu(e,t)}function Wu(e,t,n,r){return Uu(R(e,t,n),r)}function Gu(e,t={}){return vt(`Partial`,[e],t)}function Ku(e,t){let n=Zu(ks(e,t));return Qt(Ne(e,{[t]:n}),t)}function qu(e,t,n){return Zu(jr(e,t,n))}function Ju(e){return Zu(Nr(e))}function Yu(e){return N(e.map(e=>Zu(e)))}function Xu(e){return E(qe(e).reduce((t,n)=>({...t,[n]:Ut(e[n])}),{}))}function Zu(e){return $t(e)?Ku(e.$defs,e.$ref):rn(e)?qu(e.if,e.then,e.else):cn(e)?Ju(e.allOf):P(e)?Yu(e.anyOf):Jt(e)?Xu(e.properties):E({})}function Qu(e,t){return Id([e])?S(Zu(e),{},t):Gu(e,t)}function $u(e,t,n,r){return Qu(R(e,t,n),r)}function ed(e,t,n={}){return vt(`Pick`,[e,t],n)}function td(e,t){return qe(e).reduce((n,r)=>t.includes(r)?Ne(n,{[r]:e[r]}):n,{})}function nd(e,t){return E(td(Iu(e),Al(t)))}function rd(e,t,n){return Id([e,t])?S(nd(e,t),{},n):ed(e,t,n)}function id(e,t,n,r,i){return rd(R(e,t,n),R(e,t,r),i)}function ad(e,t={}){return vt(`ReadonlyObject`,[e],t)}function od(e){return Kd(w(e))}function sd(e,t){let n=pd(ks(e,t));return Qt(Ne(e,{[t]:n}),t)}function cd(e,t,n){return pd(jr(e,t,n))}function ld(e){return pd(Nr(e))}function ud(e){return E(qe(e).reduce((t,n)=>({...t,[n]:mn(e[n])}),{}))}function dd(e){return Kd(tr(e))}function fd(e){return N(e.map(e=>pd(e)))}function pd(e){return Et(e)?od(e.items):$t(e)?sd(e.$defs,e.$ref):rn(e)?cd(e.if,e.then,e.else):cn(e)?ld(e.allOf):Jt(e)?ud(e.properties):nr(e)?dd(e.items):P(e)?fd(e.anyOf):e}function md(e,t){return Id([e])?S(pd(e),{},t):ad(e)}function hd(e,t,n,r){return md(R(e,t,n),r)}function gd(e,t,n,r){return t.visited.includes(r)?n:r in e?R(e,Fd(t.callstack,[...t.visited,r]),e[r]):n}function _d(e,t){let n=Sd(ks(e,t));return Qt(Ne(e,{[t]:n}),t)}function vd(e,t,n){return Sd(jr(e,t,n))}function yd(e){return Sd(Nr(e))}function bd(e){return N(e.map(e=>Sd(e)))}function xd(e){return E(qe(e).reduce((t,n)=>({...t,[n]:dr(e[n])}),{}))}function Sd(e){return $t(e)?_d(e.$defs,e.$ref):rn(e)?vd(e.if,e.then,e.else):cn(e)?yd(e.allOf):P(e)?bd(e.anyOf):Jt(e)?xd(e.properties):E({})}function Cd(e,t={}){return vt(`Required`,[e],t)}function wd(e,t){return Id([e])?S(Sd(e),{},t):Cd(e,t)}function Td(e,t,n,r){return wd(R(e,t,n),r)}function Ed(e,t={}){return vt(`ReturnType`,[e],t)}function Dd(e){return Mt(e)?e.returnType:Vt()}function Od(e,t){return Id([e])?S(Dd(e),{},t):Ed(e,t)}function kd(e,t,n,r={}){return Od(R(e,t,n),r)}function Ad(e,t){return vt(`With`,[e,t],{})}function jd(e,t){return Id([e])?S(e,{},t):Ad(e,t)}function Md(e,t,n,r){return jd(R(e,t,n),r)}function Nd(e){return pi(e)?nr(e.items)?Pd(e.items.items):tn(e.items)||Ft(e.items)?[e]:[Vt()]:[e]}function Pd(e){return e.reduce((e,t)=>[...e,...Nd(t)],[])}function Fd(e,t){return{callstack:e,visited:t}}function Id(e){return We(e,(e,t)=>!Ft(e)&&Id(t),()=>!0)}function Ld(e,t,n){return qe(n).reduce((r,i)=>({...r,[i]:R(e,t,n[i])}),{})}function Rd(e,t,n){return Pd(zd(e,t,n))}function zd(e,t,n){return n.map(n=>R(e,t,n))}function Bd(e,t){let n=Wt(e)?wt(t,{}):t,r=hn(e)?xt(n,{}):n;return pn(e)?Wd(r,{}):r}function Vd(e,t,n,r,i){return b(n,`AddImmutable`)?Gd(e,t,r[0],i):b(n,`RemoveImmutable`)?yc(e,t,r[0],i):b(n,`AddReadonly`)?St(e,t,r[0],i):b(n,`RemoveReadonly`)?or(e,t,r[0],i):b(n,`AddOptional`)?Tt(e,t,r[0],i):b(n,`RemoveOptional`)?ur(e,t,r[0],i):b(n,`Capitalize`)?Lc(e,t,r[0],i):b(n,`Conditional`)?Wc(e,t,r[0],r[1],r[2],r[3],i):b(n,`ConstructorParameters`)?Jc(e,t,r[0],i):b(n,`Evaluate`)?Us(e,t,r[0],i):b(n,`Exclude`)?Zc(e,t,r[0],r[1],i):b(n,`Extract`)?rl(e,t,r[0],r[1],i):b(n,`Index`)?Zl(e,t,r[0],r[1],i):b(n,`InstanceType`)?tu(e,t,r[0],i):b(n,`Interface`)?is(e,t,r[0],r[1],i):b(n,`KeyOf`)?fu(e,t,r[0],i):b(n,`Lowercase`)?Rc(e,t,r[0],i):b(n,`Mapped`)?Eu(e,t,r[0],r[1],r[2],r[3],i):b(n,`Module`)?Au(e,t,r[0],i):b(n,`NonNullable`)?Pu(e,t,r[0],i):b(n,`Pick`)?id(e,t,r[0],r[1],i):b(n,`Parameters`)?Wu(e,t,r[0],i):b(n,`Partial`)?$u(e,t,r[0],i):b(n,`Omit`)?Bu(e,t,r[0],r[1],i):b(n,`ReadonlyObject`)?hd(e,t,r[0],i):b(n,`Record`)?ei(e,t,r[0],r[1],i):b(n,`Required`)?Td(e,t,r[0],i):b(n,`ReturnType`)?kd(e,t,r[0],i):b(n,`TemplateLiteral`)?Ea(e,t,r[0],i):b(n,`Uncapitalize`)?zc(e,t,r[0],i):b(n,`Uppercase`)?Bc(e,t,r[0],i):b(n,`With`)?Md(e,t,r[0],r[1]):vt(n,r,i)}function Hd(e,t,n){return Bd(n,Ft(n)?gd(e,t,n,n.$ref):Et(n)?w(R(e,t,n.items),Dt(n)):gc(n)?mc(e,t,n.target,n.arguments):kt(n)?Ot(zd(e,t,n.parameters),R(e,t,n.instanceType),At(n)):Mt(n)?jt(zd(e,t,n.parameters),R(e,t,n.returnType),Nt(n)):rn(n)?nn(R(e,t,n.if),R(e,t,n.then),R(e,t,n.else),an(n)):cn(n)?sn(zd(e,t,n.allOf),ln(n)):Jt(n)?E(Ld(e,t,n.properties),Yt(n)):di(n)?oi(ci(n),R(e,t,ui(n))):pi(n)?fi(R(e,t,n.items)):nr(n)?tr(Rd(e,t,n.items),rr(n)):P(n)?N(zd(e,t,n.anyOf),Pn(n)):n)}function R(e,t,n){return yt(n)?Vd(e,t,n.action,n.parameters,n.options):Hd(e,t,n)}function Ud(e){return S(e,{"~immutable":!0},{})}function Wd(e,t){return S(Ud(e),{},t)}function Gd(e,t,n,r){return Wd(R(e,t,n),r)}function Kd(e,t={}){return Wd(e,t)}var qd=E({clio:M(),node:M(),platform:M(),piAgentCore:N([M(),A()]),piAi:N([M(),A()]),piTui:N([M(),A()]),app:M(),apiVersion:k(1),epoch:M(),pwa:D()},{additionalProperties:!1}),Jd={additionalProperties:!1},Yd=M({maxLength:128}),Xd=E({version:k(1),main:D(),dispatch:D(),modes:w(M({maxLength:32}),{maxItems:8}),interrupt:D(),methods:E({steer:Yd,queue:Yd,clear:Yd,interrupt:Yd,dispatch:Yd},Jd)},Jd),Zd=E({version:k(1),list:Yd,invoke:Yd,count:O({minimum:0})},Jd),Qd=E({version:k(1),minIntervalMs:O({minimum:0}),maxFramesPerCall:O({minimum:0}),maxContentBytes:O({minimum:0})},Jd),$d=E({version:k(1),meta:M({maxLength:64}),options:w(M({maxLength:128}),{maxItems:8})},Jd),ef=E({version:k(1),notification:M({maxLength:64}),kinds:w(M({maxLength:64}),{maxItems:16}),workspaceInstanceId:M({maxLength:128})},Jd),tf=E({close:D(),list:D(),label:D(),delete:D(),autonomy:D()},Jd),nf=E({loadSession:D(),session:T(tf),settings:T(E({get_safe:D(),patch_safe:D()},Jd)),targets:T(E({list:D(),probe:D()},Jd)),steering:T(Xd),commands:T(Zd),toolProgress:T(Qd),decision:T($d),events:T(ef),mediatedTools:D()},Jd),z=M({pattern:`^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$`}),rf=M({maxLength:1024,pattern:`^[A-Za-z0-9_-]+$`}),af=E({},{additionalProperties:!1}),of=N([k(`validation`),k(`unauthorized`),k(`not_found`),k(`conflict`),k(`unsupported`),k(`unavailable`),k(`upstream_acp`),k(`operation_failed`),k(`internal`)]),sf=E({type:M(),title:M(),status:O(),detail:M(),code:of,instance:M()},{additionalProperties:!1}),cf={additionalProperties:!1},lf=E({path:M(),title:M()},cf),uf=E({pages:w(lf),groups:w(E({title:M(),pages:w(lf)},cf))},cf),df=E({path:M(),title:M(),markdown:M(),headings:w(E({id:M(),title:M(),depth:O({minimum:1,maximum:6})},cf)),links:ai(M(),N([M(),A()])),unavailableLinks:w(M())},cf),ff=w(E({path:M(),title:M(),excerpt:M()},cf)),pf={additionalProperties:!1},mf=w(M()),hf=N([M(),A()]),gf=ai(M(),Xt()),_f=N([k(`compromised`),k(`unverified`),k(`unknown`),k(`grounded`),k(`reviewed`)]),vf=E({artifactIntegrity:M(),validationGrounding:M(),independentReview:M(),contextProvenance:M(),autonomyEnforcement:M(),completionEvidence:M()},pf),yf=E({version:k(1),verdict:_f,text:M(),axes:vf,claimant:M(),unknown:mf,refs:mf},pf),bf=E({version:k(1),evidenceId:z,source:N([E({kind:k(`run`),runId:z},pf),E({kind:k(`session`),sessionId:z},pf),E({kind:k(`eval`),evalId:z},pf)]),generatedAt:M(),runIds:mf,sessionId:hf,statuses:mf,startedAt:hf,endedAt:hf,tasks:mf,cwds:mf,agentIds:mf,targetIds:mf,runtimeIds:mf,modelIds:mf,tags:mf,files:mf,totals:E({runs:j(),receipts:j(),toolCalls:j(),toolErrors:j(),blockedToolCalls:j(),sessionEntries:j(),auditRows:j(),toolEvents:j(),linkedToolEvents:j(),protectedArtifacts:j(),tokens:j(),costUsd:j(),wallTimeMs:j()},pf),redactionCount:T(j()),decisions:T(w(E({runId:M(),sessionId:M(),ref:M(),record:gf},pf)))},pf),xf=E({overview:bf,verdict:_f},pf),Sf=E({items:w(xf),nextCursor:hf},pf),Cf=E({overview:bf,verdict:_f,projection:N([k(`canonical`),k(`historical_format`)]),findings:w(E({id:M(),severity:N([k(`info`),k(`warn`)]),tag:M(),runId:hf,message:M()},pf)),runs:w(E({runId:M(),status:gf,summary:yf},pf)),provenance:w(E({runId:M(),view:gf,lines:mf},pf)),gateDecisions:w(gf)},pf),wf=E({version:k(1),verifiedAt:M(),runId:z,state:N([k(`pending`),k(`verified`),k(`failed`),k(`unavailable`)]),reason:N([A(),...[`integrity-mismatch`,`ledger-mismatch`,`integrity-invalid`,`execution-role-invalid`,`routing-intent-invalid`,`route-decision-invalid`,`receipt-unreadable`,`envelope-unavailable`,`unclassified`].map(e=>k(e))]),axes:vf},pf),Tf=N([E({kind:k(`evidence`),id:z,exitCode:k(0),message:M(),artifact:xf},pf),E({kind:k(`receipt-verification`),id:z,exitCode:k(0),message:M(),verification:wf},pf)]),Ef={additionalProperties:!1},Df=N([k(`built-in`),k(`user`),k(`project`),k(`project.local`),k(`cli`)]),Of=E({rows:w(E({key:M(),source:Df,value:N([M(),j(),D(),A(),w(Xt(),{maxItems:0}),E({},Ef)]),redacted:D()},Ef)),layers:w(E({origin:Df,path:M(),present:D()},Ef)),issues:w(E({origin:Df,path:M(),kind:M(),message:M()},Ef))},Ef),kf=N([k(`settings`),k(`clio-md`),k(`rule`),k(`operator-profile`),k(`hook`),k(`extension`),k(`skill-root`),k(`prompt-root`),k(`agent-root`),k(`fleet-root`),k(`safety`),k(`memory`)]),Af=E({category:kf,id:M(),scope:M(),sourcePath:T(M()),hash:T(M()),trust:T(N([k(`trusted`),k(`untrusted`),k(`n/a`)])),precedence:T(N([k(`winner`),k(`loser`),k(`single`),k(`layer`)])),reloadClass:N([k(`hot`),k(`next-turn`),k(`reload`),k(`restart`),k(`n/a`)]),contextCostTokens:T(j()),facts:ai(M(),N([j(),D()]))},Ef),jf=E({categories:w(kf),entries:w(Af),issues:w(E({category:M(),count:O({minimum:1}),message:M()},Ef))},Ef),Mf={additionalProperties:!1},Nf=M({maxLength:256}),Pf=N([Nf,A()]),Ff=E({targets:w(E({id:Nf,runtime:Nf,url:N([M({maxLength:2048}),A()]),defaultModel:Pf,available:D(),health:Nf,tier:Nf,models:w(Nf,{maxItems:200}),modelsTruncated:D(),contextWindow:N([j(),A()])},Mf),{maxItems:200}),truncated:D()},Mf),If=E({kind:k(`targets`),id:z,message:M(),exitCode:k(0),targets:Ff,settings:T(Of)},Mf),Lf=E({models:w(E({target:Nf,runtime:Nf,id:Pf,capabilities:Nf,context:N([j(),A()]),maxOutputTokens:N([j(),A()]),state:Nf},Mf),{maxItems:2e3}),profiles:w(E({name:Nf,target:Pf,runtime:Pf,model:Pf,thinkingLevel:Nf},Mf),{maxItems:2e3}),bindings:w(E({agentId:Nf,profile:Nf,target:Pf,model:Pf,resolved:D()},Mf),{maxItems:2e3}),truncated:D()},Mf),Rf=N([k(`none`),k(`login`),k(`connected`),k(`credential`),k(`needs-key`),k(`key-optional`),k(`other`)]),zf=E({runtimes:w(E({id:z,label:Nf,group:Nf,summary:Nf,defaultModel:Pf,modelHints:w(Nf,{maxItems:60}),modelRequired:D(),supportsCustomUrl:D(),auth:Rf,targetCount:O({minimum:0})},Mf),{maxItems:200})},Mf),Bf=E({id:z,runtime:z,url:T(M({maxLength:2048,pattern:`^(https?|wss?)://[^\\s]+$`})),model:T(M({pattern:`^[A-Za-z0-9][A-Za-z0-9._:/@+-]{0,199}$`})),apiKeyEnv:T(M({pattern:`^[A-Za-z_][A-Za-z0-9_]{0,63}$`})),useForChat:T(D())},Mf),Vf=N([M(),A()]),Hf=w(E({id:z,version:M(),summary:M(),license:M(),platform:Vf,supported:D(),installed:D(),installDir:M(),resolution:E({source:N([k(`path`),k(`vendored`),k(`none`)]),binaryPath:Vf,version:Vf,description:M(),vendoredPath:Vf,pathCandidate:N([A(),E({path:M(),version:Vf,satisfiesMinimum:D()},{additionalProperties:!1})])},{additionalProperties:!1})},{additionalProperties:!1})),Uf=E({force:T(D())},{additionalProperties:!1}),Wf=E({id:z,message:M()},{additionalProperties:!1}),Gf=E({at:M(),message:M()},{additionalProperties:!1}),Kf={id:z,kind:M(),revision:O({minimum:1}),cancellable:D(),startedAt:M(),progress:w(Gf,{maxItems:256})},qf=N([Wf,If,Tf]),Jf=N([E({...Kf,status:N([k(`queued`),k(`running`)])},{additionalProperties:!1}),E({...Kf,status:k(`succeeded`),finishedAt:M(),result:qf},{additionalProperties:!1}),E({...Kf,status:k(`failed`),finishedAt:M(),problem:sf},{additionalProperties:!1}),E({...Kf,status:k(`cancelled`),finishedAt:M()},{additionalProperties:!1})]),Yf=E({operationId:z},{additionalProperties:!1}),Xf={additionalProperties:!1},Zf=M({maxLength:128}),Qf=N([Zf,A()]),$f=N([O({minimum:0}),A()]),ep={runId:Zf,agentId:Zf},tp=E({...ep,taskPreview:N([M({maxLength:160}),A()]),node:Qf,origin:Qf,attempt:$f},Xf),np={"fleet.loopBlocked":E({toolCallId:A(),tool:M({maxLength:64}),repeatCount:$f,blocksThisTurn:$f,budget:$f,disposition:N([k(`block`),k(`lockout`),k(`stop`)]),interrupted:D(),shape:A()},Xf),"fleet.enqueued":tp,"fleet.started":tp,"fleet.progress":E({...ep,progressCount:$f,truncated:D()},Xf),"fleet.completed":E({...ep,outcome:Qf,outcomeCode:Qf,durationMs:$f,tokenCount:$f},Xf),"fleet.failed":E({...ep,outcome:Qf,reason:Qf,durationMs:$f},Xf),"evidence.ready":E({runId:Zf,evidenceId:Zf,firstPassSuccess:D(),findingCount:$f,tags:w(M({maxLength:64}),{maxItems:32})},Xf)},rp={"fleet.loopBlocked":E({type:k(`fleet.loopBlocked`),payload:np[`fleet.loopBlocked`]},Xf),"fleet.enqueued":E({type:k(`fleet.enqueued`),payload:np[`fleet.enqueued`]},Xf),"fleet.started":E({type:k(`fleet.started`),payload:np[`fleet.started`]},Xf),"fleet.progress":E({type:k(`fleet.progress`),payload:np[`fleet.progress`]},Xf),"fleet.completed":E({type:k(`fleet.completed`),payload:np[`fleet.completed`]},Xf),"fleet.failed":E({type:k(`fleet.failed`),payload:np[`fleet.failed`]},Xf),"evidence.ready":E({type:k(`evidence.ready`),payload:np[`evidence.ready`]},Xf)},ip=N([rp[`fleet.loopBlocked`],rp[`fleet.enqueued`],rp[`fleet.started`],rp[`fleet.progress`],rp[`fleet.completed`],rp[`fleet.failed`],rp[`evidence.ready`]]),ap=E({id:z,at:M(),sourceSequence:O({minimum:1}),fact:ip},Xf),op={"health.compacted":E({trigger:M({maxLength:64})},Xf),"health.contextWarning":E({warning:N([M({maxLength:256}),A()])},Xf),"health.toolBudget":E({tool:M({maxLength:64}),callsThisTurn:$f,softBudget:$f,hardCeiling:$f,interrupted:D()},Xf),"health.provider":E({targetId:Zf,status:N([k(`healthy`),k(`degraded`),k(`unknown`),k(`down`)]),available:D(),latencyMs:$f},Xf)},sp={"health.compacted":E({type:k(`health.compacted`),payload:op[`health.compacted`]},Xf),"health.contextWarning":E({type:k(`health.contextWarning`),payload:op[`health.contextWarning`]},Xf),"health.toolBudget":E({type:k(`health.toolBudget`),payload:op[`health.toolBudget`]},Xf),"health.provider":E({type:k(`health.provider`),payload:op[`health.provider`]},Xf)},cp=N([sp[`health.compacted`],sp[`health.contextWarning`],sp[`health.toolBudget`],sp[`health.provider`]]),lp=E({id:z,at:M(),sourceSequence:O({minimum:1}),fact:cp},Xf),up={additionalProperties:!1},dp=M({maxLength:512}),fp=N([k(`allow-once`),k(`reject`),k(`reject-and-stop`)]),pp=E({tier:M({maxLength:32}),tierLabel:M({maxLength:128}),title:M({maxLength:512}),semanticToken:N([k(`accent`),k(`action`),k(`warning`)]),authorizationCopy:dp,consequenceCopy:dp,reversibilityCopy:dp,requestedByCopy:dp,actionClass:M({maxLength:32}),affectedScope:M({maxLength:32}),reversibility:M({maxLength:32}),target:T(M({maxLength:512}))},up),mp=E({id:z,turnId:z,toolCallId:M({maxLength:128}),title:M({maxLength:4096}),kind:M({maxLength:64}),requestedAt:M(),escalateAt:M(),expiresAt:M(),status:N([k(`pending`),k(`escalated`),k(`allowed`),k(`rejected`),k(`expired`),k(`cancelled`)]),decision:T(pp),canStopTurn:D()},up),hp={additionalProperties:!1},gp=M(),_p=N([gp,A()]),vp=E({id:z,path:M({maxLength:4096}),name:gp,openedAt:gp},hp),yp=E({id:z,workspaceId:z,createdAt:gp,endedAt:_p,model:_p,target:_p,name:T(gp),firstMessagePreview:T(gp),messageCount:T(O()),lastActivityAt:T(gp)},hp),bp=E({input:O({minimum:0}),output:O({minimum:0}),cacheRead:O({minimum:0}),cacheWrite:O({minimum:0}),reasoning:O({minimum:0}),costUsd:T(j({minimum:0}))},hp),xp=w(E({version:k(1),role:N([k(`orchestrator`),k(`worker`)]),agentId:gp,runId:T(_p),node:T(_p)},hp),{maxItems:16}),Sp=N([k(`live`),k(`replay`)]),Cp=E({id:gp,turnId:z,sequence:O(),kind:N([k(`user`),k(`text`),k(`thought`),k(`tool`),k(`notice`)]),text:gp,status:gp,origin:Sp,title:T(gp),toolKind:T(gp),toolCallId:T(gp),locations:T(w(E({path:gp,line:T(N([O(),A()]))},hp))),rawInput:T(ai(gp,Xt())),rawOutput:T(ai(gp,Xt())),partialOutput:T(M({maxLength:32768})),provenance:T(xp)},hp),wp=E({id:z,prompt:gp,origin:Sp,status:N([k(`running`),k(`succeeded`),k(`failed`),k(`cancelled`)]),startedAt:_p,finishedAt:_p,stopReason:_p,usage:N([bp,A()]),problem:N([sf,A()])},hp),Tp=N([k(`starting`),k(`open`),k(`unknown`),k(`closed`),k(`failed`)]),Ep=E({id:z,workspaceId:z,state:Tp,revision:O({minimum:0}),timeline:w(Cp),timelineTruncated:D(),turns:w(wp),recoveredOrphan:D(),label:_p,permissions:w(mp,{maxItems:32}),fleet:w(ap,{maxItems:128}),health:w(lp,{maxItems:32})},hp),Dp={resource:z,revision:O({minimum:1})},Op=E({...Dp,turnId:z,text:gp,origin:Sp,provenance:T(xp)},hp),kp=E({...Dp,permission:mp},hp),Ap=E({...Dp,item:ap},hp),jp=E({...Dp,item:lp},hp),Mp={"turn.started":E({...Dp,turn:wp},hp),"turn.text":Op,"turn.thought":Op,"turn.user":Op,"turn.tool":E({...Dp,item:Cp},hp),"turn.finished":E({...Dp,turnId:z,stopReason:gp,usage:N([bp,A()]),problem:N([sf,A()]),finishedAt:_p},hp),"permission.requested":kp,"permission.escalated":kp,"permission.resolved":kp,"permission.expired":kp,"fleet.loopBlocked":Ap,"fleet.enqueued":Ap,"fleet.started":Ap,"fleet.progress":Ap,"fleet.completed":Ap,"fleet.failed":Ap,"evidence.ready":Ap,"health.compacted":jp,"health.contextWarning":jp,"health.toolBudget":jp,"health.provider":jp,"session.labelled":E({...Dp,label:_p},hp),"session.changed":E({...Dp,state:Tp,recoveredOrphan:D()},hp)},Np={v:k(1),epoch:z,seq:O({minimum:0}),at:M()},Pp={epoch:z,seq:O({minimum:0})},Fp={resource:z,revision:O({minimum:1})};N([E({...Np,type:k(`turn.started`),payload:Mp[`turn.started`]}),E({...Np,type:k(`turn.text`),payload:Mp[`turn.text`]}),E({...Np,type:k(`turn.thought`),payload:Mp[`turn.thought`]}),E({...Np,type:k(`turn.user`),payload:Mp[`turn.user`]}),E({...Np,type:k(`turn.tool`),payload:Mp[`turn.tool`]}),E({...Np,type:k(`turn.finished`),payload:Mp[`turn.finished`]}),E({...Np,type:k(`permission.requested`),payload:Mp[`permission.requested`]}),E({...Np,type:k(`permission.escalated`),payload:Mp[`permission.escalated`]}),E({...Np,type:k(`permission.resolved`),payload:Mp[`permission.resolved`]}),E({...Np,type:k(`permission.expired`),payload:Mp[`permission.expired`]}),E({...Np,type:k(`session.labelled`),payload:Mp[`session.labelled`]}),E({...Np,type:k(`fleet.loopBlocked`),payload:Mp[`fleet.loopBlocked`]}),E({...Np,type:k(`fleet.enqueued`),payload:Mp[`fleet.enqueued`]}),E({...Np,type:k(`fleet.started`),payload:Mp[`fleet.started`]}),E({...Np,type:k(`fleet.progress`),payload:Mp[`fleet.progress`]}),E({...Np,type:k(`fleet.completed`),payload:Mp[`fleet.completed`]}),E({...Np,type:k(`fleet.failed`),payload:Mp[`fleet.failed`]}),E({...Np,type:k(`evidence.ready`),payload:Mp[`evidence.ready`]}),E({...Np,type:k(`health.compacted`),payload:Mp[`health.compacted`]}),E({...Np,type:k(`health.contextWarning`),payload:Mp[`health.contextWarning`]}),E({...Np,type:k(`health.toolBudget`),payload:Mp[`health.toolBudget`]}),E({...Np,type:k(`health.provider`),payload:Mp[`health.provider`]}),E({...Np,type:k(`session.changed`),payload:Mp[`session.changed`]}),E({...Np,type:k(`hello`),payload:E(Pp)}),E({...Np,type:k(`resync`),payload:E({...Pp,reason:N([k(`epoch`),k(`evicted`)])})}),E({...Np,type:k(`operation.progress`),payload:E({...Fp,progress:Gf})}),E({...Np,type:k(`operation.finished`),payload:E({...Fp,kind:M(),operation:T(Jf)})}),E({...Np,type:k(`toolchain.changed`),payload:E({id:z})})]);var Ip=M({pattern:`^[A-Za-z0-9][A-Za-z0-9._-]{0,127}:[0-9]{1,16}$`,maxLength:145}),Lp={additionalProperties:!1},B=M(),Rp=N([B,A()]),zp=O({minimum:0}),Bp=E({limit:T(O({minimum:1,maximum:100})),cursor:T(rf)},Lp),Vp=E({id:z,fleet:B,planHash:B,startedAt:B,endedAt:Rp,resumedFrom:Rp,stepCount:zp,completedCount:zp},Lp),Hp=E({items:w(Vp),nextCursor:N([rf,A()])},Lp),Up=E({id:z,agentId:B,executionRole:B,task:B,targetId:B,wireModelId:B,runtimeId:B,startedAt:B,endedAt:Rp,status:B,outcome:Rp,outcomeDetail:Rp,cwd:B,sessionId:Rp,tokenCount:j(),costUsd:j(),parentRunId:Rp,rootRunId:Rp},Lp),Wp=E({items:w(Up),nextCursor:N([rf,A()])},Lp),Gp=E({receipt:N([ai(B,Xt()),A()])},Lp),Kp=E({label:B,agentId:B,targetId:B,wireModelId:B,executionRole:B,turns:w(E({round:zp,runId:B,status:B,outcome:Rp,terminal:D()},Lp)),turnsTruncated:D()},Lp),qp=E({runId:B,agentId:B,targetId:B,wireModelId:B,status:B,outcome:Rp},Lp),Jp=E({councils:w(E({group:B,startedAt:B,endedAt:Rp,running:D(),roundsPlanned:N([zp,A()]),roundsObserved:zp,origin:Rp,approval:Rp,members:w(Kp),membersTruncated:D(),membersRejected:zp,synthesis:E({kind:Rp,sealedRunId:Rp,judge:N([qp,A()])},Lp)},Lp)),truncated:D()},Lp),Yp=E({agent:D(),target:D(),modelFamily:D(),runtime:D(),node:D(),independent:D()},Lp),Xp=E({id:B,group:B,topology:B,cycle:zp,outcome:B,decidedAt:B,subjects:w(B),subjectsTruncated:D(),decider:Rp,correlation:N([Yp,A()]),winner:N([E({index:zp,runId:B},Lp),A()]),confirms:Rp,reason:Rp},Lp),Zp=E({present:D(),decisions:w(Xp),truncated:D(),unverifiable:zp},Lp),Qp=E({run:Vp,steps:w(E({stepId:B,terminalRunId:Rp,assignmentId:Rp,succeeded:D(),integrityValid:D(),failureReason:Rp,output:B},Lp)),receipt:Gp.properties.receipt,councils:Jp,gates:Zp},Lp),V={additionalProperties:!1},$p=ai(M(),Xt()),em=w(M()),tm=N([M(),A()]),nm=E({key:M(),kind:N([k(`agent`),k(`skill`),k(`prompt`),k(`fleet`)]),name:M(),description:M(),invocation:T(M()),path:M(),source:E({class:M(),id:M(),scope:M()},V),owner:T($p),origin:$p,format:T(M()),availability:M(),reason:T(M()),trusted:D(),modelInvocable:T(D()),audience:T(M()),diagnostics:em},V),rm=E({version:k(1),generatedAt:M(),cwd:M(),audience:M(),packages:w(E({ref:M(),kind:M(),name:M(),description:M(),version:T(M()),sha256:T(M()),sourceUrl:M(),requires:T(em),origin:$p,format:T(M()),provides:T(w($p)),catalogOrigin:M(),copies:w($p),refusal:T(M())},V)),copies:w($p),resources:w(nm),diagnostics:em,truncated:E({packages:D(),copies:D(),resources:D()},V)},V),im=E({extensions:w(E({id:M(),name:M(),version:M(),description:M(),scope:M(),enabled:D(),valid:D(),compatible:D(),effective:D(),loadable:D(),capabilities:N([$p,A()]),runtime:N([$p,A()]),provenance:N([$p,A()]),diagnostics:w(E({type:M(),message:M(),path:T(M())},V))},V))},V),am=E({agents:w(E({id:M(),name:M(),description:M(),source:M(),audience:M(),category:M(),skills:em,tools:em,configuration:$p},V))},V),om=E({version:k(1),generatedAt:M(),catalogPresent:D(),catalogValid:N([D(),A()]),rejection:tm,rejectedAt:tm,discovery:N([k(`complete`),k(`blocked`)]),blockedBy:tm,checks:w(E({id:M(),description:M(),origin:M(),signal:M(),authority:M(),runner:M(),argumentCount:O(),runsAtRepositoryRoot:D(),argvFixed:D(),timeoutMs:j(),tags:em},V)),checksTruncated:D(),diagnosticCount:O()},V),sm=N([k(`user`),k(`project`)]),cm=N([k(`install`),k(`update`),k(`enable`),k(`disable`),k(`remove`)]),lm=M({pattern:`^(skill|agent|prompt|fleet|plugin):[A-Za-z0-9][A-Za-z0-9._-]{0,127}$`}),um=E({ref:M(),kind:M(),name:M(),scope:sm},V),dm=E({scope:sm,loadable:D(),state:M()},V),fm=E({ref:M(),scope:sm,missing:em},V),pm=E({operation:cm,ref:lm,scope:T(sm),force:T(D()),withRequirements:T(D())},V),mm=E({id:M({pattern:`^[a-f0-9]{16}$`}),createdAt:M(),expiresAt:M(),operation:cm,applicable:D(),steps:w(E({operation:cm,identity:um,destination:M(),source:T(E({sourceUrl:M(),sha256:M(),staged:D()},V)),content:T(E({valid:D(),resources:w(E({kind:M(),name:M(),valid:D()},V)),diagnostics:em},V)),dependencies:E({requires:em,missing:em,inactive:em},V),dependents:E({newlyBroken:w(fm),preexisting:w(fm)},V),effectiveAfter:T(dm),fallbackNote:M(),recovery:M(),refusal:T(M())},V)),diagnostics:em},V),hm=E({id:z,planId:M({pattern:`^[a-f0-9]{16}$`})},V),gm=E({planId:M(),committed:O(),failed:O(),unattempted:O(),outcomes:w(E({status:N([k(`committed`),k(`failed`),k(`unattempted`)]),operation:cm,identity:um,verification:T(E({evidence:N([k(`pre-refresh`),k(`post-refresh`)]),tree:N([k(`present`),k(`absent`),k(`changed`)]),record:N([k(`recorded`),k(`absent`),k(`unreadable`)]),copy:T(M()),resources:w(E({kind:M(),name:M(),available:D(),reason:T(M())},V)),effective:N([E({scope:sm,loadable:D()},V),A()])},V)),recovery:T(E({packageBackup:T(M()),stateBackup:T(M())},V)),diagnostics:em,error:T(E({code:M(),message:M(),next:M()},V))},V)),refresh:E({status:k(`not-applicable`),reason:M()},V)},V),_m=E({released:D()},V),vm={additionalProperties:!1},ym=N([M(),A()]),bm=ai(M(),Xt()),xm=ai(M(),N([j(),M(),D(),A()])),Sm=N([E({measured:k(!1),runs:j(),measuredRuns:k(0)},vm),E({measured:k(!0),runs:j(),measuredRuns:j(),input:j(),output:j(),total:j(),cacheRead:j(),cacheWrite:j()},vm)]),Cm=E({evalId:z,startedAt:ym,suiteId:M(),clioCoder:E({version:M(),commit:ym},vm),environment:E({platform:M(),node:M()},vm),matrix:E({target:M(),model:ym,thinking:ym,dimensions:T(w(M()))},vm),servingConfiguration:N([bm,A()]),summary:E({runs:j(),passed:j(),failed:j(),passRate:j(),wallTimeMs:j(),tokens:Sm},vm)},vm),wm=E({available:D(),stored:O(),unreadable:O(),items:w(Cm),nextCursor:ym},vm),Tm=E({report:Cm,aggregates:N([w(bm),A()]),results:w(E({taskId:M(),repeatIndex:j(),target:E({id:M(),model:ym,thinking:ym},vm),pass:D(),failureClass:ym,assignmentId:ym,terminalReceiptRecorded:D(),metrics:xm,attachments:O(),verdict:N([bm,A()]),behavioral:N([bm,A()]),behavioralMetrics:N([bm,A()])},vm))},vm),Em=E({schema:k(`experimental`),workspaceId:z,windowDays:k(30),from:M(),to:M(),facts:w(E({name:M(),values:bm},vm)),opportunities:w(E({kind:M(),suggestion:M(),evidence:M()},vm))},vm),Dm={additionalProperties:!1},Om=N([k(`hotReload`),k(`nextTurn`),k(`restartRequired`)]),km=E({path:M(),section:M(),group:M(),label:M(),description:M(),help:T(M()),valueHelp:ai(M(),M()),kind:N([k(`boolean`),k(`number`),k(`string`),k(`list`),k(`json`)]),choices:T(w(M())),suggestions:T(w(M())),optional:D(),timing:Om,value:M(),source:Df,access:N([k(`writable`),k(`read-only`)]),reason:T(M()),note:T(M()),confirm:T(M())},Dm),Am=E({sections:w(E({id:M(),label:M(),description:M()},Dm)),controls:w(km),userFile:M()},Dm),jm=E({path:M({maxLength:200,pattern:`^[A-Za-z][A-Za-z0-9]*(\\.[A-Za-z][A-Za-z0-9]*){1,6}$`}),value:M({maxLength:8192}),confirmed:T(D())},Dm),Mm=E({changed:w(E({path:M(),value:M()},Dm)),timing:Om,controls:Am},Dm),Nm={additionalProperties:!1},Pm=N([k(`read-only`),k(`suggest`),k(`auto-edit`),k(`full-auto`)]),Fm=N([k(`off`),k(`minimal`),k(`low`),k(`medium`),k(`high`),k(`xhigh`),k(`max`)]),Im=N([M({minLength:1,maxLength:128,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),A()]),Lm=N([M({minLength:1,maxLength:256,pattern:`^[^\\u0000-\\u001f\\u007f]+$`}),A()]),Rm=E({"chat.target":T(Im),"chat.model":T(Lm),"chat.thinkingLevel":T(Fm),"safety.autonomy":T(Pm)},Nm),zm=E({settings:E({chat:E({target:Im,model:Lm,thinkingLevel:Fm},Nm),safety:E({autonomy:Pm},Nm)},Nm),editable:w(N([k(`chat.target`),k(`chat.model`),k(`chat.thinkingLevel`),k(`safety.autonomy`)]),{maxItems:4,minItems:4,uniqueItems:!0})},Nm),Bm=E({level:Pm,source:M({maxLength:64})},Nm),Vm={additionalProperties:!1},Hm=M({maxLength:64}),Um=M({maxLength:512}),Wm=16384,Gm=N([k(`next-slot`),k(`end-of-turn`)]),Km=E({text:M({minLength:1,maxLength:Wm,pattern:`\\S`}),mode:T(Gm)},Vm),qm=E({accepted:D(),queue:N([k(`steer`),k(`follow-up`)]),refusal:T(Um)},Vm),Jm=E({steer:w(M({maxLength:Wm}),{maxItems:64}),followUp:w(M({maxLength:Wm}),{maxItems:64})},Vm),Ym=E({restored:w(M({maxLength:Wm}),{maxItems:128})},Vm),Xm=E({reason:T(M({maxLength:256}))},Vm),Zm=E({cancelled:D(),refusal:T(Um)},Vm),Qm=E({runId:M({minLength:1,maxLength:128}),action:N([k(`guide`),k(`cancel`)]),message:T(M({minLength:1,maxLength:Wm,pattern:`\\S`}))},Vm),$m=E({accepted:D(),reason:T(Hm)},Vm),eh=E({name:Hm,takesValue:T(D()),repeatable:T(D()),values:T(w(Hm,{maxItems:64})),valueName:T(Hm),completionSlot:T(Hm)},Vm),th=E({name:Hm,required:D(),values:T(w(Hm,{maxItems:64})),rest:T(D()),completionSlot:T(Hm)},Vm),nh=E({flags:T(w(eh,{maxItems:32})),positionals:T(w(th,{maxItems:8}))},Vm),rh=E({name:Hm,summary:Um,usage:Um,group:Hm,args:E({flags:T(w(eh,{maxItems:32})),positionals:T(w(th,{maxItems:8})),subcommands:T(ai(M(),nh))},Vm),subcommandSummaries:T(ai(M(),Um)),requiresSubcommand:T(k(!0)),streams:T(k(`dispatch`)),injectsUserTurn:T(k(!0))},Vm),ih=E({version:k(1),commands:w(rh,{maxItems:64})},Vm),ah=E({command:Hm,argv:T(w(M({maxLength:4096}),{maxItems:32}))},Vm),oh=E({level:N([k(`info`),k(`success`),k(`warn`),k(`error`)]),lines:w(M({maxLength:1024}),{maxItems:201})},Vm),sh={additionalProperties:!1},ch=N([M(),A()]),lh=N([k(`present`),k(`absent`),k(`unknown`)]),uh=N([k(`configured`),k(`not-acp`),k(`proposed`),k(`decided`),k(`not-offered`),k(`unknown`)]),dh=E({checkedAt:M(),paths:E({config:M(),data:M(),state:M(),cache:M()},sh),findings:w(E({name:M(),ok:D(),level:N([k(`ok`),k(`warn`),k(`error`)]),detail:M(),detailRedacted:D()},sh))},sh),fh=E({probe:T(k(`versions`))},sh),ph=E({detectedAt:M(),agents:w(E({kind:M(),label:M(),hasExecutable:D(),presence:lh,binary:ch,version:ch,versionSource:N([k(`probed`),k(`recorded`),A()]),installDir:ch,adapter:N([lh,A()]),decision:N([k(`accepted`),k(`declined`),A()]),decidedAt:ch,decisionStale:D(),wiring:uh,skillCount:N([O(),A()]),projectArtifacts:N([O(),A()]),inventory:E({status:N([k(`known`),k(`unknown`)]),listing:k(`unknown`),diagnostics:w(M()),items:w(E({kind:M(),name:M(),path:M(),scope:N([k(`user`),k(`project`)]),plugin:T(M()),version:T(M()),marketplace:T(M()),installation:T(N([k(`installed`),k(`unknown`)])),enabled:T(D())},sh))},sh)},sh))},sh),mh={additionalProperties:!1},hh=E({targets:w(E({id:M({maxLength:128}),runtime:M({maxLength:64}),models:w(M({maxLength:256}),{maxItems:64}),isOrchestrator:D()},mh),{maxItems:64}),truncated:D()},mh),gh=E({targetId:M({maxLength:128}),healthy:D(),latencyMs:N([O({minimum:0}),A()]),reason:N([A(),k(`not-configured`),k(`unreachable`),k(`unsupported`),k(`probe-failed`)])},mh),_h={additionalProperties:!1},H=M(),vh=N([H,A()]),yh=N([j(),A()]),bh=E({available:D(),schemaVersion:N([O(),A()]),retentionPolicy:E({maxAgeDays:O(),maxBytes:O()},_h)},_h),xh=E({run_id:H,assignment_id:H,request:vh,status:H,agent:H,target:H,model:H,runtime:H,node:vh,started_at:H,ended_at:vh,total_tokens:yh,total_cost_usd:yh,source:N([k(`dispatch`),k(`session`)])},_h),Sh=E({phase_id:H,run_id:H,seq:O(),name:H,kind:H,owner:H,description:vh,status:H,attempt:O(),retries:O(),error:vh,started_at:vh,ended_at:vh,input_tokens:yh,output_tokens:yh,cache_read_tokens:yh,cache_write_tokens:yh,cache_write_1h_tokens:T(yh),reasoning_tokens:yh,total_tokens:yh,input_cost_usd:yh,output_cost_usd:yh,cache_read_cost_usd:yh,cache_write_cost_usd:yh,total_cost_usd:yh,context_tokens:yh,context_window:yh},_h),Ch=E({rowid:O({minimum:1}),event_id:H,run_id:H,phase_id:H,parent_id:vh,type:H,name:H,payload_json:vh,tokens:yh,started_at:H,ended_at:vh},_h),wh=E({id:O(),run_id:H,phase_id:H,attempt:O(),gate:H,passed:O({minimum:0,maximum:1}),violations_json:H,checks_json:vh,created_at:H},_h),Th=E({envelope_id:H,run_id:H,phase_id:H,agent:H,output_type:H,payload_json:H,valid:O({minimum:0,maximum:1}),attempt:O(),created_at:H},_h),Eh=E({id:O(),run_id:H,kind:H,name:H,pid:O(),command:H,command_digest:H,started_at:H,ended_at:vh,host:T(vh),birth_token:T(vh)},_h),Dh=ai(M(),Xt()),Oh=E({receipt:N([Dh,A()]),evidence:N([Dh,A()])},_h),kh=E({limit:T(O({minimum:1,maximum:200})),cursor:T(rf),source:T(N([k(`dispatch`),k(`session`)])),status:T(N([k(`queued`),k(`running`),k(`success`),k(`fail`)])),q:T(M({maxLength:256}))},_h),Ah=E({runs:w(xh),nextCursor:N([rf,A()])},_h),jh=O({minimum:0,maximum:2**53-1}),Mh=E({after:T(jh),limit:T(O({minimum:1,maximum:500}))},_h),Nh=E({events:w(Ch),cursor:jh,hasMore:D()},_h),Ph=E({runId:z},_h);E({run:xh,events:w(Ch),cursor:jh,hasMore:D()},_h);function U(e){return e}var Fh=E({toolId:z},{additionalProperties:!1}),W=E({id:z},{additionalProperties:!1}),G={method:`GET`,params:af,query:af,body:af,status:200},Ih={method:`POST`,query:af,body:af,status:202},K={system:U({...G,path:`/api/system`,response:dh,summary:`Read-only doctor findings and the four resolved Clio paths`}),interop:U({...G,path:`/api/workspaces/:id/interop`,params:W,query:fh,response:ph,summary:`All registered external agents and bounded resource discovery; probe=versions runs each --version`}),library:U({...G,path:`/api/workspaces/:id/library`,params:W,response:rm,summary:`Canonical library packages, installed copies and recipe resources`}),libraryPlan:U({...Ih,status:200,path:`/api/workspaces/:id/library/plans`,params:W,body:pm,response:mm,summary:`Stage one reviewed library lifecycle plan; writes nothing`}),libraryPlanApply:U({...Ih,status:200,path:`/api/workspaces/:id/library/plans/:planId/apply`,params:hm,response:gm,summary:`Apply the exact plan that was reviewed and report per-package outcomes`}),libraryPlanRelease:U({...Ih,method:`DELETE`,status:200,path:`/api/workspaces/:id/library/plans/:planId`,params:hm,response:_m,summary:`Cancel a staged plan and release its sources`}),libraryExtensions:U({...G,path:`/api/workspaces/:id/library/extensions`,params:W,response:im,summary:`Installed extensions and admission state`}),libraryAgents:U({...G,path:`/api/workspaces/:id/library/agents`,params:W,response:am,summary:`Resolved user-facing agent specifications`}),libraryVerifiers:U({...G,path:`/api/workspaces/:id/library/verifiers`,params:W,response:om,summary:`Verifier discovery without executing checks`}),evals:U({...G,path:`/api/evals`,query:Bp,response:wm,summary:`Paginated current-format evaluation reports`}),evalDetail:U({...G,path:`/api/evals/:id`,params:W,response:Tm,summary:`Stored evaluation outcomes and metrics`}),usage:U({...G,path:`/api/workspaces/:id/usage`,params:W,response:Em,summary:`Canonical usage report for the last 30 days`}),evidenceList:U({...G,path:`/api/evidence`,query:Bp,response:Sf,summary:`Paginated evidence artifacts and trust verdicts`}),evidenceDetail:U({...G,path:`/api/evidence/:id`,params:W,response:Cf,summary:`Evidence findings, canonical trust, admitted provenance and gate decisions`}),evidenceBuild:U({...Ih,path:`/api/workspaces/:id/evidence/:runId/build`,params:E({id:z,runId:z},{additionalProperties:!1}),response:Yf,summary:`Collect evidence for a run through Clio`}),receiptVerify:U({...Ih,path:`/api/workspaces/:id/receipts/:runId/verify`,params:E({id:z,runId:z},{additionalProperties:!1}),response:Yf,summary:`Recheck receipt integrity against its run through Clio`}),fleetRoots:U({...G,path:`/api/fleet/runs`,response:Hp,summary:`Paginated durable fleet roots`,query:Bp}),fleetRoot:U({...G,path:`/api/fleet/runs/:id`,response:Qp,summary:`Fleet plan results, receipt and related topology`,params:W}),dispatchRuns:U({...G,path:`/api/fleet/dispatches`,response:Wp,summary:`Paginated durable dispatch runs`,query:Bp}),dispatchRun:U({...G,path:`/api/fleet/dispatches/:id`,response:Up,summary:`One durable dispatch run`,params:W}),fleetReceipt:U({...G,path:`/api/fleet/receipts/:id`,response:Gp,summary:`Full durable receipt by run identifier`,params:W}),fleetCouncils:U({...G,path:`/api/fleet/councils`,response:Jp,summary:`Canonical bounded council topology`}),fleetGates:U({...G,path:`/api/fleet/gates`,response:Zp,summary:`Canonical verified gate decision topology`}),targetsList:U({...G,path:`/api/workspaces/:id/targets`,params:W,response:Ff,summary:`Configured targets through the canonical CLI`}),routing:U({...G,path:`/api/workspaces/:id/routing`,params:W,response:Lf,summary:`Offline models, fleet profiles and agent bindings`}),targetsProbe:U({...Ih,path:`/api/workspaces/:id/targets/:targetId/probe`,params:E({id:z,targetId:z},{additionalProperties:!1}),response:Yf,summary:`Probe configured targets and return this target's status`}),targetsUse:U({...Ih,path:`/api/workspaces/:id/targets/:targetId/use`,params:E({id:z,targetId:z},{additionalProperties:!1}),response:Yf,summary:`Use a target for chat and fleet through the CLI`}),targetRuntimes:U({...G,path:`/api/target-runtimes`,response:zf,summary:`Runtimes a connection can be created for, with authentication state and no credential`}),targetsAdd:U({...Ih,path:`/api/workspaces/:id/targets`,params:W,body:Bf,response:Yf,summary:`Create a connection through the CLI's non-interactive configure; takes no credential`}),targetsRemove:U({...Ih,path:`/api/workspaces/:id/targets/:targetId/remove`,params:E({id:z,targetId:z},{additionalProperties:!1}),response:Yf,summary:`Remove a configured target through the CLI`}),workspaceSettings:U({...G,path:`/api/workspaces/:id/settings`,params:W,response:Of,summary:`Effective settings and each leaf's origin layer`}),settingsControls:U({...G,path:`/api/workspaces/:id/settings/controls`,params:W,response:Am,summary:`The engine's setting controls with the app's write policy, timing and origin`}),writeSetting:U({...Ih,method:`PATCH`,status:200,path:`/api/workspaces/:id/settings/controls`,params:W,body:jm,response:Mm,summary:`Write one allowlisted setting to the user layer through the engine's cross-field validation`}),configGraph:U({...G,path:`/api/workspaces/:id/config-graph`,params:W,response:jf,summary:`Read-only customization graph without secrets or hook argv`}),docsTree:U({...G,path:`/api/docs/tree`,response:uf,summary:`Documentation navigation and Markdown inventory`}),docsPage:U({...G,path:`/api/docs/page`,query:E({path:M({minLength:1,maxLength:1024})},{additionalProperties:!1}),response:df,summary:`Read a contained Markdown page and resolve its links`}),docsSearch:U({...G,path:`/api/docs/search`,query:E({q:M({maxLength:200})},{additionalProperties:!1}),response:ff,summary:`Search the package documentation`}),permission:U({...Ih,status:200,path:`/api/sessions/:id/permissions/:permissionId`,params:E({id:z,permissionId:z},{additionalProperties:!1}),body:E({decision:fp},{additionalProperties:!1}),response:af,summary:`Answer a pending permission once`}),cancelTurn:U({...Ih,status:200,path:`/api/sessions/:id/turns/:turnId/cancel`,params:E({id:z,turnId:z},{additionalProperties:!1}),response:af,summary:`Cancel the specified active turn`}),sessionCapabilities:U({...G,path:`/api/sessions/:id/capabilities`,params:W,response:nf,summary:`What the ACP agent announced at initialize`}),steerSession:U({...Ih,status:200,path:`/api/sessions/:id/steer`,params:W,body:Km,response:qm,summary:`Queue operator guidance on the running turn`}),sessionQueue:U({...G,path:`/api/sessions/:id/queue`,params:W,response:Jm,summary:`Steering and follow-up texts waiting on the engine`}),clearSessionQueue:U({...Ih,status:200,path:`/api/sessions/:id/queue/clear`,params:W,response:Ym,summary:`Drain both queues and hand the texts back to re-send`}),interruptSession:U({...Ih,status:200,path:`/api/sessions/:id/interrupt`,params:W,body:Xm,response:Zm,summary:`Cancel the running turn, or report why it cannot be`}),steerDispatchRun:U({...Ih,status:200,path:`/api/sessions/:id/dispatch/steer`,params:W,body:Qm,response:$m,summary:`Queue guidance on, or abort, one running worker`}),sessionCommands:U({...G,path:`/api/sessions/:id/commands`,params:W,response:ih,summary:`The operator commands this agent exposes, with their grammar`}),invokeSessionCommand:U({...Ih,status:200,path:`/api/sessions/:id/commands`,params:W,body:ah,response:oh,summary:`Run one exposed operator command`}),sessionSettings:U({...G,path:`/api/sessions/:id/settings`,params:W,response:zm,summary:`The four ACP safe settings`}),patchSessionSettings:U({...Ih,method:`PATCH`,status:200,path:`/api/sessions/:id/settings`,params:W,body:Rm,response:zm,summary:`Patch only the four ACP safe settings`}),sessionTargets:U({...G,path:`/api/sessions/:id/targets`,params:W,response:hh,summary:`Targets available to this ACP session`}),probeSessionTarget:U({...Ih,status:200,path:`/api/sessions/:id/targets/:targetId/probe`,params:E({id:z,targetId:z},{additionalProperties:!1}),response:gh,summary:`Probe a configured target through ACP`}),labelSession:U({...Ih,method:`PATCH`,status:200,path:`/api/sessions/:id`,params:W,body:E({label:M({maxLength:256,pattern:`^[^\\u0000-\\u001f\\u007f]*$`}),workspaceId:T(z)},{additionalProperties:!1}),response:af,summary:`Save the session label through ACP`}),deleteSession:U({...Ih,method:`DELETE`,status:200,path:`/api/sessions/:id`,params:W,body:E({workspaceId:T(z)},{additionalProperties:!1}),response:af,summary:`Delete a closed session through ACP`}),sessionAutonomy:U({...G,path:`/api/sessions/:id/autonomy`,params:W,response:Bm,summary:`Current session autonomy and source`}),setSessionAutonomy:U({...Ih,status:200,path:`/api/sessions/:id/autonomy`,params:W,body:E({level:Pm},{additionalProperties:!1}),response:Bm,summary:`Set autonomy for this session`}),workspaces:U({...G,path:`/api/workspaces`,response:w(vp),summary:`Recent workspaces`}),openWorkspace:U({...Ih,status:200,params:af,path:`/api/workspaces`,body:E({path:M({minLength:1,maxLength:4096})},{additionalProperties:!1}),response:vp,summary:`Open an existing workspace by absolute path`}),workspace:U({...G,params:W,path:`/api/workspaces/:id`,response:vp,summary:`Canonical workspace`}),sessionHistory:U({...G,params:W,path:`/api/workspaces/:id/sessions`,response:w(yp),summary:`Durable session history without starting a child`}),newSession:U({...Ih,status:200,params:W,path:`/api/workspaces/:id/sessions`,response:Ep,summary:`Start a supervised ACP session`}),loadSession:U({...Ih,status:200,params:W,path:`/api/sessions/:id/load`,body:E({workspaceId:z},{additionalProperties:!1}),response:Ep,summary:`Load a durable session and project its replay`}),sessions:U({...G,path:`/api/sessions`,response:w(Ep),summary:`Sessions supervised or recovered by this server`}),session:U({...G,params:W,path:`/api/sessions/:id`,response:Ep,summary:`Session projection snapshot`}),turn:U({...Ih,params:W,path:`/api/sessions/:id/turns`,body:E({text:M({minLength:1,maxLength:32e3,pattern:`\\S`})},{additionalProperties:!1}),response:E({turnId:z},{additionalProperties:!1}),summary:`Start a streamed turn`}),closeSession:U({...Ih,status:200,params:W,path:`/api/sessions/:id/close`,response:Ep,summary:`Close the supervised session and its child`}),traceStatus:U({...G,path:`/api/traces/status`,response:bh,summary:`Trace availability and retention`}),traceRuns:U({...G,path:`/api/traces/runs`,query:kh,response:Ah,summary:`Paginated trace history`}),traceRun:U({...G,path:`/api/traces/runs/:runId`,params:Ph,response:xh,summary:`Trace run`}),tracePhases:U({...G,path:`/api/traces/runs/:runId/phases`,params:Ph,response:w(Sh),summary:`Run phases`}),traceGates:U({...G,path:`/api/traces/runs/:runId/gates`,params:Ph,response:w(wh),summary:`Run gates`}),traceEnvelopes:U({...G,path:`/api/traces/runs/:runId/envelopes`,params:Ph,response:w(Th),summary:`Run envelopes`}),traceProcesses:U({...G,path:`/api/traces/runs/:runId/processes`,params:Ph,response:w(Eh),summary:`Run processes`}),traceEvents:U({...G,path:`/api/traces/runs/:runId/events`,params:Ph,query:Mh,response:Nh,summary:`Run events by rowid`}),traceReceipt:U({...G,path:`/api/traces/runs/:runId/receipt`,params:Ph,query:E({include:T(k(`full`))},{additionalProperties:!1}),response:Oh,summary:`Receipt and evidence summary; full payload on request`}),traceLive:U({...G,path:`/api/traces/runs/:runId/live`,params:Ph,query:E({after:T(jh),token:T(M({maxLength:256}))},{additionalProperties:!1}),response:M(),stream:!0,summary:`Live rowid event tail`}),meta:U({...G,path:`/api/meta`,response:qd,summary:`Application and Clio versions`}),openapi:U({...G,path:`/api/openapi.json`,response:ai(M(),Xt()),summary:`OpenAPI contract`}),events:U({...G,path:`/api/events`,query:E({after:T(Ip),token:T(M({maxLength:256}))},{additionalProperties:!1}),response:M(),stream:!0,summary:`Global event stream`}),tools:U({...G,path:`/api/toolchain/tools`,response:Hf,summary:`Pinned tools in registry order`}),install:U({...Ih,path:`/api/toolchain/tools/:toolId/install`,params:Fh,body:Uf,response:Yf,summary:`Install the pinned tool`}),remove:U({...Ih,path:`/api/toolchain/tools/:toolId/remove`,params:Fh,response:Yf,summary:`Remove vendored versions`}),operation:U({...G,path:`/api/operations/:id`,params:W,response:Jf,summary:`Operation snapshot`}),cancel:U({...Ih,status:200,path:`/api/operations/:id/cancel`,params:W,response:Jf,summary:`Cancel a cancellable operation`})},Lh={request:e=>requestAnimationFrame(e),cancel:e=>cancelAnimationFrame(e)},Rh={request:e=>setTimeout(e,250),cancel:e=>clearTimeout(e)};function zh(e){return e.type===`turn.text`||e.type===`turn.thought`}var Bh=class{#e;#t;#n;#r;#i;#a=[];#o=null;#s=!1;#c=!1;constructor(e,t={}){let n=t.maximumBatch??128;if(!Number.isSafeInteger(n)||n<1)throw Error(`Frame event batch size must be a positive safe integer.`);this.#e=e,this.#t=t.paint??Lh,this.#n=t.hidden??Rh,this.#r=n,this.#i=t.isHidden??(()=>typeof document<`u`&&document.visibilityState===`hidden`)}push(e){if(this.#c)return;if(this.#a.push(e),!zh(e)||this.#a.length>=this.#r){this.flush();return}let t=this.#i();if(this.#o!==null){if(t===this.#s)return;this.#l()}this.#s=t,this.#o=(t?this.#n:this.#t).request(()=>{this.#o=null,this.#u()})}flush(){this.#c||(this.#l(),this.#u())}close(){this.#c||(this.#c=!0,this.#l(),this.#a=[])}#l(){this.#o!==null&&((this.#s?this.#n:this.#t).cancel(this.#o),this.#o=null)}#u(){if(this.#a.length===0)return;let e=this.#a;this.#a=[],this.#e(e)}},Vh=new TextEncoder,Hh=`
5
+ [… stream truncated …]`,Uh=65536,Wh=Vh.encode(Hh).byteLength,Gh=2048,Kh=2097152,qh={bytes:0,calls:0};function Jh(e){return qh.calls++,qh.bytes+=e.length,Vh.encode(e).byteLength}function Yh(e,t){let n=Jh(e);if(n<=t)return{text:e,bytes:n};let r=t-Wh,i=0,a=``;for(let t of e){let e=Jh(t);if(i+e>r)break;a+=t,i+=e}return{text:a+Hh,bytes:i+Wh}}function Xh(e,t=Uh){return Yh(e,t).text}var Zh=new WeakMap,Qh=new WeakMap;function $h(e){let t=Zh.get(e);if(t)return t;let n={text:Jh(e.text),json:Jh(JSON.stringify(e))+1};return Zh.set(e,n),n}function eg(e){let t=Qh.get(e);if(t!==void 0)return t;let n=0;for(let t of e)n+=$h(t).json;return Qh.set(e,n),n}function tg(e,t){if(t.payload.resource!==e.id||t.payload.revision<=e.revision)return e;if(t.payload.revision!==e.revision+1)throw Error(`Session revision gap requires a snapshot.`);let n={...e,revision:t.payload.revision},r=(e,t=!1)=>{let r=n.timeline.find(t=>t.id===e.id),i=r?.sequence??(n.timeline.at(-1)?.sequence??0)+1,a=r?$h(r):void 0,o,s,c;if(t&&r&&a){if(r.text.endsWith(Hh))o=r.text,s=a.text,c=0;else{let t=Jh(e.text);a.text+t<=Uh?(o=r.text+e.text,s=a.text+t,c=Jh(JSON.stringify(e.text))-2):{text:o,bytes:s}=Yh(r.text+e.text,Uh)}}else({text:o,bytes:s}=Yh(e.text,Uh));let l={...r,...e,text:o,sequence:i},u=a&&c!==void 0?{text:s,json:a.json+c}:{text:s,json:Jh(JSON.stringify(l))+1};Zh.set(l,u);let d=r?n.timeline.map(t=>t.id===e.id?l:t):[...n.timeline,l],f=n.timelineTruncated,p=eg(n.timeline)-(a?.json??0)+u.json,m=0;for(let e of d){let t=d.length-m;if(t<=1||t<=Gh&&p<=Kh)break;p-=$h(e).json,m++,f=!0}m&&(d=d.slice(m)),Qh.set(d,p),n={...n,timeline:d,timelineTruncated:f||o.endsWith(Hh)}};switch(t.type){case`session.labelled`:return{...n,label:t.payload.label};case`fleet.loopBlocked`:case`fleet.enqueued`:case`fleet.started`:case`fleet.progress`:case`fleet.completed`:case`fleet.failed`:case`evidence.ready`:return{...n,fleet:[...n.fleet,t.payload.item].slice(-128)};case`health.compacted`:case`health.contextWarning`:case`health.toolBudget`:case`health.provider`:return{...n,health:[...n.health,t.payload.item].slice(-32)};case`session.changed`:return{...n,state:t.payload.state,recoveredOrphan:t.payload.recoveredOrphan};case`turn.started`:{let e=t.payload.turn;n={...n,turns:[...n.turns,e].slice(-128)},e.prompt&&r({id:`${e.id}:user`,turnId:e.id,kind:`user`,text:e.prompt,status:`completed`,origin:e.origin});break}case`turn.text`:case`turn.thought`:case`turn.user`:{let{turnId:e,text:i,origin:a,provenance:o}=t.payload,s=t.type===`turn.text`?`text`:t.type===`turn.thought`?`thought`:`user`,c=o?`:${o.map(e=>`${e.agentId}:${e.runId??``}`).join(`|`)}`:``;s===`user`&&a===`replay`&&(n={...n,turns:n.turns.map(t=>t.id===e?{...t,prompt:Xh(t.prompt+i)}:t)}),r({id:`${e}:${s}${c}`,turnId:e,kind:s,text:i,origin:a,status:a===`replay`||s===`user`?`completed`:`in_progress`,...o?{provenance:o}:{}},!0);break}case`turn.tool`:r(t.payload.item);break;case`permission.requested`:case`permission.escalated`:case`permission.resolved`:case`permission.expired`:{let e=t.payload.permission;n={...n,permissions:[...n.permissions.filter(t=>t.id!==e.id),e].slice(-32)},r({id:e.id,turnId:e.turnId,kind:`notice`,text:`Permission ${e.status}: ${e.title}`,status:e.status,origin:`live`});break}case`turn.finished`:{let{turnId:e,stopReason:r,usage:i,problem:a,finishedAt:o}=t.payload,s=r===`cancelled`?`cancelled`:a?`failed`:`succeeded`;n={...n,turns:n.turns.map(t=>t.id===e?{...t,status:s,stopReason:r,usage:i,problem:a,finishedAt:o}:t),timeline:n.timeline.map(t=>t.turnId===e&&(t.status===`in_progress`||t.status===`pending`)?{...t,status:s===`succeeded`?`completed`:s}:t)};break}}return n}var ng=class{snapshotValue;pending=new Map;pendingBytes=0;overflow=!1;get value(){return this.snapshotValue}get hasGap(){return this.overflow||this.pending.size>0}event(e){if(e.payload.revision<=(this.snapshotValue?.revision??-1))return this.snapshotValue;if(this.pending.has(e.payload.revision))return this.drain();let t=Jh(JSON.stringify(e));return this.pending.set(e.payload.revision,{event:e,bytes:t}),this.pendingBytes+=t,(this.pending.size>4096||this.pendingBytes>8388608)&&(this.pending.clear(),this.pendingBytes=0,this.overflow=!0),this.drain()}snapshot(e){this.overflow=!1,(!this.snapshotValue||e.revision>=this.snapshotValue.revision)&&(this.snapshotValue=e);for(let e of this.pending.keys())e<=(this.snapshotValue?.revision??-1)&&this.remove(e);return this.drain()}remove(e){let t=this.pending.get(e);t&&(this.pendingBytes-=t.bytes),this.pending.delete(e)}drain(){if(this.snapshotValue)for(;;){let e=this.pending.get(this.snapshotValue.revision+1);if(!e)return this.snapshotValue;this.remove(e.event.payload.revision),this.snapshotValue=tg(this.snapshotValue,e.event)}}},rg=new Map;function ig(e){let t=rg.get(e);if(!t){if(rg.size>=32){let e=rg.keys().next().value;e&&rg.delete(e)}t=new ng}return rg.delete(e),rg.set(e,t),t}function ag(){rg.clear()}function og(e,t,n){let r=new EventSource(`${K.events.path}?token=${encodeURIComponent(e)}`),i,a=new Bh(e=>{let r=new Map,a=new Set,o=new Set,s=[],c=!1;for(let t of e){if(i&&i!==t.epoch||t.type===`resync`){c=!0,r.clear(),a.clear(),o.clear(),s.length=0,i=t.epoch;continue}if(i=t.epoch,Object.hasOwn(Mp,t.type)){let e=t,n=ig(e.payload.resource),i=n.event(e);i&&r.set(i.id,i),n.hasGap&&a.add(e.payload.resource),(e.type===`session.changed`||e.type===`session.labelled`)&&(o.add(`sessions`),o.add(`session-history`))}if(t.type===`hello`&&n(`Connected`),t.type===`operation.finished`){if(s.push({...t.payload}),o.add(`tools`),t.payload.kind.startsWith(`evidence.`))for(let e of[`evidence`,`evidence-detail`,`fleet-receipt`])o.add(e);if(t.payload.kind.startsWith(`targets.`))for(let e of[`targets`,`routing`,`workspace-settings`,`config-graph`,`target-runtimes`,`settings-controls`])o.add(e)}t.type===`operation.progress`&&s.push({...t.payload}),t.type===`toolchain.changed`&&o.add(`tools`)}if(c){t.removeQueries({queryKey:[`operation`]}),ag(),t.resetQueries({queryKey:[`session`]}),t.invalidateQueries();return}for(let[e,n]of r)t.setQueryData([`session`,e],n);for(let e of a)t.invalidateQueries({queryKey:[`session`,e]});for(let e of s)e.operation?t.setQueryData([`operation`,e.resource],t=>t&&t.revision>e.revision?t:e.operation):t.invalidateQueries({queryKey:[`operation`,e.resource]});for(let e of o)t.invalidateQueries({queryKey:[e]})}),o=e=>a.push(JSON.parse(e.data));for(let e of[`hello`,`resync`,`operation.progress`,`operation.finished`,`toolchain.changed`,...Object.keys(Mp)])r.addEventListener(e,o);r.onerror=()=>{if(a.flush(),le()||r.readyState===EventSource.CLOSED){r.close(),n(`Not connected`);return}n(`Reconnecting…`)};let s=ue(()=>{r.close(),n(`Not connected`)}),c=()=>{document.visibilityState===`visible`&&a.flush()};return document.addEventListener(`visibilitychange`,c),()=>{document.removeEventListener(`visibilitychange`,c),s(),a.close(),r.close()}}var sg={assertive:``,polite:``,escalation:``,approvalPending:!1},cg=sg,lg=new Set;function ug(e){cg=e;for(let e of lg)e()}function dg(e){return lg.add(e),()=>{lg.delete(e)}}function fg(e,t){return e===t?`${e}​`:e}function pg(e,t=`polite`){ug(t===`assertive`?{...cg,assertive:fg(e,cg.assertive)}:{...cg,polite:fg(e,cg.polite)})}function mg(e){let t=e===null?``:`An approval has been waiting for ${e} seconds.`;ug({...cg,escalation:fg(t,cg.escalation)})}function hg(e){cg.approvalPending!==e&&ug({...cg,approvalPending:e})}function gg(){return(0,v.useSyncExternalStore)(dg,()=>cg,()=>sg)}function _g(e,t){let n=e?`${e} · Clio Coder`:`Clio Coder`;return t?`● Approval needed — ${n}`:n}var vg=`clio-coder-gui-desktop-notifications`;function yg(){try{return localStorage.getItem(vg)===`on`}catch{return!1}}var bg=new Set;function xg(e,t){if(!bg.has(e)&&yg())try{if(typeof Notification>`u`||Notification.permission!==`granted`)return;bg.add(e);let n=new Notification(t);return()=>n.close()}catch{return}}var Sg={send:{id:`send`,key:`Enter`,modifiers:[`primary`],scope:`composer`,action:`Send the request in the composer`,where:`While the composer has focus`},allowOnce:{id:`allowOnce`,key:`a`,modifiers:[`alt`],scope:`global`,action:`Allow the pending approval once`,where:`Anywhere, while an approval is waiting and no dialog is open`},reject:{id:`reject`,key:`r`,modifiers:[`alt`],scope:`global`,action:`Reject the pending approval`,where:`Anywhere, while an approval is waiting and no dialog is open`},escape:{id:`escape`,key:`Escape`,modifiers:[],scope:`dialog`,action:`Close the open dialog or drawer`,where:`While a dialog or a drawer is open`},tabPrevious:{id:`tabPrevious`,key:`ArrowLeft`,modifiers:[],scope:`list`,action:`Move to the previous tab`,where:`While a tab in a tablist has focus`},tabNext:{id:`tabNext`,key:`ArrowRight`,modifiers:[],scope:`list`,action:`Move to the next tab`,where:`While a tab in a tablist has focus`},tabFirst:{id:`tabFirst`,key:`Home`,modifiers:[],scope:`list`,action:`Move to the first tab`,where:`While a tab in a tablist has focus`},tabLast:{id:`tabLast`,key:`End`,modifiers:[],scope:`list`,action:`Move to the last tab`,where:`While a tab in a tablist has focus`},listNext:{id:`listNext`,key:`ArrowDown`,modifiers:[],scope:`list`,action:`Move to the next row`,where:`While a list has focus. j also moves`},listPrevious:{id:`listPrevious`,key:`ArrowUp`,modifiers:[],scope:`list`,action:`Move to the previous row`,where:`While a list has focus. k also moves`},palette:{id:`palette`,key:`k`,modifiers:[`primary`],scope:`global`,action:`Open the command palette`,where:`Anywhere except inside a dialog`},help:{id:`help`,key:`/`,modifiers:[`primary`],scope:`global`,action:`Open the keyboard and vocabulary reference`,where:`Anywhere except inside a dialog`},sidebar:{id:`sidebar`,key:`\\`,modifiers:[`primary`],scope:`global`,action:`Collapse or expand the sidebar`,where:`Anywhere except inside a dialog. The sidebar has a button too`},cancelTurn:{id:`cancelTurn`,key:`.`,modifiers:[`primary`],scope:`global`,action:`Cancel the running turn`,where:`Anywhere, while a turn is running`}},Cg=Object.values(Sg),wg=`interview`;function Tg(e,t){return e.key.length===1&&t.length===1?e.key.toLowerCase()===t.toLowerCase():e.key===t}function Eg(e,t){if(!Tg(e,t.key))return!1;let n=e.modifiers.includes(`primary`),r=e.modifiers.includes(`alt`),i=e.modifiers.includes(`shift`);return n===(t.ctrlKey||t.metaKey)&&r===t.altKey&&i===t.shiftKey}var Dg={primary:`Ctrl or Cmd`,alt:`Alt`,shift:`Shift`},Og={Enter:`Enter`,Escape:`Esc`,ArrowLeft:`Left arrow`,ArrowRight:`Right arrow`,ArrowUp:`Up arrow`,ArrowDown:`Down arrow`,Home:`Home`,End:`End`};function kg(e){let t=e.modifiers.map(e=>Dg[e]);return t.push(Og[e.key]??e.key.toUpperCase()),t.join(` + `)}var q=re(),Ag={overview:`M3 3h7v7H3zM14 3h7v7h-7zM3 14h7v7H3zM14 14h7v7h-7z`,sessions:`M21 11.5a8.5 8.5 0 0 1-8.5 8.5H4l-2 2V11.5a9.5 9.5 0 0 1 19 0ZM7 9h10M7 14h6`,traces:`M3 12h4l3-8 4 16 3-8h4`,toolchain:`m14 6 4 4M4 20l-1-3L15 5l4-2 2 2-2 4L7 21Z`,docs:`M12 5v16M12 5C8 2 4 3 2 4v15c3-1 7-1 10 2 3-3 7-3 10-2V4c-2-1-6-2-10 1Z`,settings:`M4 7h9m4 0h3M4 17h3m4 0h9M13 4v6M7 14v6`,fleet:`M12 8v5M5 16v-3h14v3M9 2h6v6H9zM2 16h6v6H2zM16 16h6v6h-6z`,evidence:`M8 3H5v18h14V3h-3M8 2h8v4H8zM8 12l2 2 5-5M8 18h8`,evals:`M4 3v18h17M8 17v-5m5 5V7m5 10V4`,library:`M3 3h4v18H3zM10 3h4v18h-4zM17 4l3-1 3 17-3 1z`,system:`M3 4h18v13H3zM8 21h8m-4-4v4M6 8l3 3-3 3m6 0h5`,sun:`M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8ZM12 2v2m0 16v2M2 12h2m16 0h2M5 5l1.5 1.5m11 11L19 19M5 19l1.5-1.5m11-11L19 5`,moon:`M20.8 13A9 9 0 0 1 11 3.2 9 9 0 1 0 20.8 13Z`,menu:`M4 6h16M4 12h16M4 18h16`,sidebar:`M4 4h16v16H4zM9 4v16`,close:`m6 6 12 12M6 18 18 6`,more:`M5 11v2m7-2v2m7-2v2`,running:`M10 8l6 4-6 4V8ZM12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z`,success:`m8 12 3 3 5-6M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z`,warn:`M12 9v4m0 3v.5M10.3 4.2 2.6 17.4A2 2 0 0 0 4.3 20.5h15.4a2 2 0 0 0 1.7-3.1L13.7 4.2a2 2 0 0 0-3.4 0Z`,fail:`m9 9 6 6m-6 0 6-6M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z`,unverified:`M12 3a9 9 0 0 1 4.5 1.2M20 8a9 9 0 0 1 .8 5.4M18.5 18a9 9 0 0 1-4.7 2.8M9 20.6A9 9 0 0 1 4.6 18M3.2 13.4A9 9 0 0 1 4.9 7.2`,chevronDown:`m6 9 6 6 6-6`,chevronRight:`m9 6 6 6-6 6`,copy:`M9 9h10v12H9zM5 15H3V3h12v2`,search:`M11 4a7 7 0 1 0 0 14 7 7 0 0 0 0-14ZM21 21l-5-5`,diff:`M6 3v12m0 6v-2M6 15a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM18 21V9m0-6v2M18 3a3 3 0 1 0 0 6 3 3 0 0 0 0-6ZM9 6h4a5 5 0 0 1 5 5`,plus:`M12 5v14M5 12h14`,filter:`M3 5h18l-7 8v6l-4 2v-8Z`,external:`M14 4h6v6M20 4l-9 9M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5`,play:`M7 5l12 7-12 7V5Z`,stop:`M6 6h12v12H6z`};function jg({name:e}){return(0,q.jsx)(`svg`,{className:`icon`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,q.jsx)(`path`,{d:Ag[e]})})}var Mg={light:`#f2efe1`,dark:`#18211c`},Ng=[{label:`Overview`,path:`/`,icon:`overview`},{label:`Sessions`,path:`/sessions`,icon:`sessions`},{label:`Traces`,path:`/traces`,icon:`traces`},{label:`Toolchain`,path:`/toolchain`,icon:`toolchain`},{label:`Docs`,path:`/docs`,icon:`docs`},{label:`Settings`,path:`/settings`,icon:`settings`},{label:`Fleet`,path:`/fleet`,icon:`fleet`},{label:`Evidence`,path:`/evidence`,icon:`evidence`},{label:`Evals`,path:`/evals`,icon:`evals`},{label:`Library`,path:`/library`,icon:`library`},{label:`System`,path:`/system`,icon:`system`}],Pg=`clio-coder-gui-sidebar`;function Fg(){let[e,t]=(0,v.useState)(()=>{try{return localStorage.getItem(Pg)===`collapsed`}catch{return!1}});(0,v.useEffect)(()=>{try{localStorage.setItem(Pg,e?`collapsed`:`expanded`)}catch{}},[e]);let n=(0,v.useCallback)(()=>t(e=>!e),[]),r=(0,v.useRef)(!0);return(0,v.useEffect)(()=>{r.current?r.current=!1:pg(e?`Sidebar collapsed`:`Sidebar expanded`)},[e]),[e,n]}var Ig=`desktop-navigation`,Lg=kg(Sg.sidebar);function Rg({collapsed:e,toggle:t}){let n=e?`Expand sidebar`:`Collapse sidebar`;return(0,q.jsxs)(`button`,{type:`button`,className:`sidebar-toggle`,"aria-label":n,"aria-expanded":!e,"aria-controls":Ig,"aria-keyshortcuts":`Control+\\\\ Meta+\\\\`,"data-tip":`${n} (${Lg})`,onClick:t,children:[(0,q.jsx)(jg,{name:`sidebar`}),(0,q.jsx)(`span`,{className:`nav-label`,children:e?`Expand`:`Collapse`}),(0,q.jsx)(`kbd`,{className:`nav-label`,children:navigator.platform.startsWith(`Mac`)?`⌘\\`:`Ctrl \\`})]})}function zg({close:e,collapsed:t=!1}){let n=a();return(0,q.jsx)(`nav`,{"aria-label":`Main navigation`,children:Ng.map(r=>(0,q.jsxs)(p,{to:r.path,end:r.path===`/`,onClick:e,"data-tip":t?r.label:void 0,className:({isActive:e})=>e||r.path===`/sessions`&&n.pathname.startsWith(`/workspaces/`)?`active`:``,children:[(0,q.jsx)(jg,{name:r.icon}),(0,q.jsx)(`span`,{className:`nav-label`,children:r.label})]},r.path))})}function Bg(){let e=(0,v.useRef)(null);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{className:`icon-button menu-toggle`,type:`button`,onClick:()=>e.current?.showModal(),"aria-label":`Open navigation`,children:(0,q.jsx)(jg,{name:`menu`})}),(0,q.jsxs)(`dialog`,{ref:e,className:`navigation-dialog`,"aria-label":`Navigation`,children:[(0,q.jsxs)(`div`,{className:`toast-heading`,children:[(0,q.jsxs)(`strong`,{className:`brand`,children:[(0,q.jsx)(`img`,{src:`/clio-coder-logo.webp`,alt:``,width:`32`,height:`32`}),`Clio Coder`]}),(0,q.jsx)(`button`,{className:`icon-button`,type:`button`,onClick:()=>e.current?.close(),"aria-label":`Close navigation`,children:(0,q.jsx)(jg,{name:`close`})})]}),(0,q.jsx)(zg,{close:()=>e.current?.close()})]})]})}function Vg(){let[e,t]=(0,v.useState)(()=>{try{let e=localStorage.getItem(`clio-coder-gui-theme`);return e===`dark`||e===`light`?e:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}catch{return`light`}});return(0,v.useLayoutEffect)(()=>{document.documentElement.dataset.theme=e,document.querySelector(`meta[name="theme-color"]`)?.setAttribute(`content`,Mg[e]);try{localStorage.setItem(`clio-coder-gui-theme`,e)}catch{}},[e]),(0,q.jsx)(`button`,{className:`icon-button theme-toggle`,type:`button`,"aria-label":e===`light`?`Dark theme`:`Light theme`,title:e===`light`?`Switch to dark theme`:`Switch to light theme`,onClick:()=>t(e===`light`?`dark`:`light`),children:(0,q.jsx)(jg,{name:e===`light`?`moon`:`sun`})})}function Hg(){let e=a(),t=(0,v.useRef)(e.pathname),{approvalPending:n}=gg();return(0,v.useEffect)(()=>{t.current!==e.pathname&&document.getElementById(`main`)?.focus(),t.current=e.pathname},[e.pathname]),(0,v.useEffect)(()=>{let t=Ng.find(t=>t.path!==`/`&&e.pathname.startsWith(t.path));document.title=_g(t?.label,n)},[e.pathname,n]),null}var Ug=[],Wg=new Set,Gg=new Map,Kg=!1,qg={error:null,warning:null,info:6e3,success:4e3};function Jg(){for(let e of Wg)e()}function Yg(e){if(e.ttl===null||Kg)return;let t=Gg.get(e.id);t&&clearTimeout(t),Gg.set(e.id,setTimeout(()=>Zg(e.id),e.ttl))}function Xg(e){let t=e.id??crypto.randomUUID(),n=e.ttl===void 0?qg[e.tone]:e.ttl,r={...e,id:t,ttl:n,at:Date.now()};Ug=[...Ug.filter(e=>e.id!==t),r].slice(-5);let i=Gg.get(t);return i&&clearTimeout(i),Gg.delete(t),Yg(r),Jg(),t}function Zg(e){let t=Gg.get(e);t&&clearTimeout(t),Gg.delete(e),Ug=Ug.filter(t=>t.id!==e),Jg()}function Qg(){for(let e of Gg.values())clearTimeout(e);Gg.clear(),Ug=[],Jg()}function $g(e){if(Kg!==e){if(Kg=e,Kg){for(let e of Gg.values())clearTimeout(e);Gg.clear()}else for(let e of Ug)Yg(e)}}function e_(e){return Wg.add(e),()=>{Wg.delete(e)}}var t_=()=>Ug,n_=[];function r_(){return(0,v.useSyncExternalStore)(e_,t_,()=>n_)}var i_=new Set([`conflict`,`unsupported`]);function a_(e){if(!(e instanceof Ae&&e.problem.status===401)){if(e instanceof Ae){Xg({id:e.problem.instance,tone:i_.has(e.problem.code)?`warning`:`error`,title:e.problem.title,detail:e.problem.detail,code:e.problem.code,reference:e.problem.instance});return}Xg({tone:`error`,title:`The request did not complete`,detail:e instanceof Error?e.message:String(e)})}}var o_={error:`!`,warning:`!`,info:`i`,success:`✓`},s_={error:`Error`,warning:`Warning`,info:`Information`,success:`Done`};function c_(){let e=r_(),t=[...e].reverse().find(e=>e.tone===`error`||e.tone===`warning`),n=[...e].reverse().find(e=>e.tone===`info`||e.tone===`success`);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`sr-only`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:n?`${s_[n.tone]}. ${n.title}`:``}),(0,q.jsx)(`div`,{className:`sr-only`,role:`alert`,"aria-atomic":`true`,children:t?`${s_[t.tone]}. ${t.title}`:``}),(0,q.jsx)(`section`,{className:`notice-region`,"aria-label":`Notifications`,onMouseEnter:()=>$g(!0),onMouseLeave:()=>$g(!1),onFocusCapture:()=>$g(!0),onBlurCapture:()=>$g(!1),children:e.map(e=>(0,q.jsxs)(`article`,{className:`notice notice--${e.tone}`,children:[(0,q.jsxs)(`div`,{className:`notice__heading`,children:[(0,q.jsx)(`span`,{className:`notice__glyph`,"aria-hidden":`true`,children:o_[e.tone]}),(0,q.jsx)(`strong`,{children:e.title}),(0,q.jsx)(`button`,{type:`button`,"aria-label":`Dismiss ${e.title}`,onClick:()=>Zg(e.id),children:`×`})]}),e.detail?(0,q.jsx)(`p`,{children:e.detail}):null,e.code?(0,q.jsx)(`code`,{children:e.code}):null,e.reference?(0,q.jsxs)(`small`,{children:[`Reference: `,e.reference]}):null]},e.id))})]})}function l_(){let e=gg();return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`sr-only`,"aria-live":`assertive`,"aria-atomic":`true`,children:e.assertive}),(0,q.jsx)(`div`,{className:`sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:e.polite}),(0,q.jsx)(`div`,{className:`sr-only`,"aria-live":`assertive`,"aria-atomic":`true`,children:e.escalation})]})}function u_({enabled:e,token:t}){let[n,r]=(0,v.useState)(null),[i,a]=(0,v.useState)(!1),[o,s]=(0,v.useState)(!0),[c,l]=(0,v.useState)(``);return(0,v.useEffect)(()=>{a(window.matchMedia(`(display-mode: standalone)`).matches);let e=e=>{e.preventDefault(),r(e)},n=()=>{a(!0),r(null),l(`Clio Coder is installed. Open it from your applications whenever you need it.`)},i=e=>{if(e.key===`clio-coder-pwa-token`&&e.newValue!==t){try{sessionStorage.removeItem(`clio-coder-token`)}catch{}location.reload()}};return window.addEventListener(`beforeinstallprompt`,e),window.addEventListener(`appinstalled`,n),window.addEventListener(`storage`,i),()=>{window.removeEventListener(`beforeinstallprompt`,e),window.removeEventListener(`appinstalled`,n),window.removeEventListener(`storage`,i)}},[t]),(0,v.useEffect)(()=>{e&&t&&(s(Te(t)),`serviceWorker`in navigator&&navigator.serviceWorker.register(`/sw.js`,{scope:`/`,updateViaCache:`none`}).catch(()=>l(`Offline recovery could not be prepared. The connected app is still available; try reloading this page.`)))},[e,t]),e?(0,q.jsxs)(`details`,{className:`pwa-controls`,children:[(0,q.jsx)(`summary`,{children:i?`Installed app preferences`:`Install Clio Coder`}),(0,q.jsx)(`p`,{children:`Keep Clio beside your other apps. It uses the same projects and conversations as this browser.`}),o?n?(0,q.jsx)(`button`,{type:`button`,onClick:()=>{let e=n;r(null),e.prompt().then(()=>e.userChoice).then(e=>{e.outcome===`dismissed`&&l(`Installation was dismissed. You can install later from your browser's app menu.`)}).catch(()=>l(`Use your browser's app menu to install Clio Coder.`))},children:`Install app`}):!i&&(0,q.jsx)(`p`,{children:`Use your browser’s Install app or Add to Home Screen command. Installation options depend on your browser.`}):(0,q.jsx)(`p`,{role:`alert`,children:`This browser cannot save your connection. Allow site storage before installing so Clio can reconnect when reopened.`}),(0,q.jsx)(`p`,{children:`This browser stays connected on this device. Forgetting it keeps your work in Clio and requires the Clio desktop launcher to reconnect.`}),(0,q.jsx)(`button`,{type:`button`,onClick:Ee,children:`Forget this browser`}),c&&(0,q.jsx)(`p`,{role:`status`,children:c})]}):null}function d_({enabled:e,token:t,version:n}){let r=(0,v.useRef)(null);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`button`,{className:`icon-button`,type:`button`,"aria-label":`App preferences`,title:`App preferences`,onClick:()=>r.current?.showModal(),children:(0,q.jsx)(jg,{name:`more`})}),(0,q.jsxs)(`dialog`,{ref:r,className:`app-dialog`,"aria-label":`App preferences`,children:[(0,q.jsxs)(`div`,{className:`toast-heading`,children:[(0,q.jsxs)(`strong`,{className:`brand`,children:[(0,q.jsx)(`img`,{src:`/clio-coder-logo.webp`,alt:``,width:`36`,height:`36`}),`Clio Coder`]}),(0,q.jsx)(`button`,{className:`icon-button`,type:`button`,"aria-label":`Close app preferences`,onClick:()=>r.current?.close(),children:(0,q.jsx)(jg,{name:`close`})})]}),(0,q.jsx)(`p`,{className:`app-version`,children:n?`Version ${n}`:`Connecting to Clio…`}),(0,q.jsx)(u_,{enabled:e,token:t}),!e&&(0,q.jsx)(`p`,{children:`Clio is running for this session. To keep the installed app available, enable the background server from the terminal.`})]})]})}function f_({refused:e}){let t=(0,v.useId)(),[n,r]=(0,v.useState)(``),i=fe(n);return(0,q.jsxs)(`div`,{className:`reconnect`,role:`alert`,children:[(0,q.jsx)(`h1`,{children:e?`This browser is no longer connected`:`Open your launch link`}),(0,q.jsx)(`p`,{children:e?`The server refused this browser's launch token. That happens when the server restarted with a new token, or the app was reinstalled. Nothing is wrong with your data, and the old token has been removed from this browser.`:`This browser has no launch token yet.`}),(0,q.jsxs)(`p`,{children:[`Run `,(0,q.jsx)(`code`,{className:`reconnect__command`,children:`clio-coder gui --open`}),` for a foreground server, or`,` `,(0,q.jsx)(`code`,{className:`reconnect__command`,children:`clio-coder gui background open`}),` if the app runs in the background. Either opens a fresh link. You can also paste the printed link here.`]}),(0,q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),i&&Oe(i)},children:[(0,q.jsx)(`label`,{htmlFor:t,children:`Launch link or token`}),(0,q.jsx)(`input`,{id:t,value:n,autoComplete:`off`,spellCheck:!1,placeholder:`http://127.0.0.1:4317/#token=…`,onChange:e=>r(e.target.value)}),n.trim()!==``&&!i&&(0,q.jsx)(`p`,{className:`reconnect__problem`,children:`That text holds no launch token.`}),(0,q.jsx)(`div`,{className:`actions`,children:(0,q.jsx)(`button`,{type:`submit`,className:`primary`,disabled:!i,children:`Connect this browser`})})]})]})}var p_=s(),m_=`button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])`;function h_(e){return[...e.querySelectorAll(m_)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}function g_(e,t){if(e.key!==`Tab`)return;let n=h_(t);if(n.length===0){e.preventDefault(),t.focus();return}let r=n[0],i=n.at(-1);if(!r||!i)return;let a=!t.contains(document.activeElement);e.shiftKey&&(document.activeElement===r||a)?(e.preventDefault(),i.focus()):!e.shiftKey&&(document.activeElement===i||a)&&(e.preventDefault(),r.focus())}function __(e,t,n){(0,v.useEffect)(()=>{if(!t)return;let r=document.activeElement instanceof HTMLElement?document.activeElement:null;(n?.current??e.current?.querySelector(`button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])`)??null??e.current)?.focus();let i=t=>{e.current&&g_(t,e.current)};return document.addEventListener(`keydown`,i),()=>{document.removeEventListener(`keydown`,i),requestAnimationFrame(()=>{r?.isConnected&&r.focus()})}},[e,t,n])}var v_=[],y_=new Set,b_=0;function x_(){b_+=1;for(let e of y_)e()}function S_(e){return y_.add(e),()=>{y_.delete(e)}}function C_(){return v_.at(-1)?.scope??`global`}function w_(e,t){let n=(0,v.useId)();(0,v.useEffect)(()=>{if(t)return v_.push({id:n,scope:e}),x_(),()=>{let e=v_.findIndex(e=>e.id===n);e>=0&&v_.splice(e,1),x_()}},[n,e,t])}function T_(){return(0,v.useSyncExternalStore)(S_,()=>v_.length>0,()=>!1)}function E_(e,t,n={}){let{enabled:r=!0}=n,i=(0,v.useRef)(t);i.current=t,(0,v.useEffect)(()=>{if(!r)return;let t=Sg[e],n=e=>{C_()===t.scope&&Eg(t,e)&&(e.preventDefault(),i.current(e))};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e,r])}function D_({title:e,eyebrow:t,children:n,onClose:r,size:i=`default`,initialFocus:a}){let o=(0,v.useId)(),s=(0,v.useRef)(null);return w_(`dialog`,!0),__(s,!0,a),E_(`escape`,r),(0,p_.createPortal)((0,q.jsx)(`div`,{className:`dialog-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&r()},children:(0,q.jsxs)(`div`,{className:`dialog dialog--${i}`,role:`dialog`,"aria-modal":`true`,"aria-labelledby":o,ref:s,tabIndex:-1,children:[(0,q.jsxs)(`div`,{className:`dialog__header`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`eyebrow`,children:t}),(0,q.jsx)(`h2`,{id:o,children:e})]}),(0,q.jsxs)(`button`,{type:`button`,className:`icon-button`,onClick:r,children:[(0,q.jsx)(jg,{name:`close`}),(0,q.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]}),(0,q.jsx)(`div`,{className:`dialog__body`,children:n})]})}),document.body)}function O_(e){return e.toLocaleLowerCase(`en-US`)}function k_(e,t){let n=O_(t.trim());if(n.length===0)return 1;let r=0;for(let[t,i]of e.entries()){let e=O_(i),a=t===0?3:1;e.startsWith(n)?r=Math.max(r,3*a):e.split(/[\s/:._-]+/u).some(e=>e.startsWith(n))?r=Math.max(r,2*a):e.includes(n)&&(r=Math.max(r,1*a))}return r}var A_=700,j_=10;function M_(e){return e instanceof HTMLElement?e.isContentEditable?!0:e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.tagName===`SELECT`:!1}function N_(e){return e.toLocaleLowerCase(`en-US`)}function P_({items:e,getId:t,getLabel:n,label:r,mode:i=`roving`,vimKeys:a=!0,onChoose:o,wrap:s=!0}){let[c,l]=(0,v.useState)(0),u=(0,v.useRef)(new Map),d=(0,v.useRef)(``),f=(0,v.useRef)(void 0),p=(0,v.useRef)(``),m=e.length===0?0:Math.min(c,e.length-1),h=(0,v.useMemo)(()=>e.map((e,n)=>t(e,n)),[e,t]),ee=h[m]??``,g=(0,v.useCallback)(()=>{d.current=``,f.current!==void 0&&clearTimeout(f.current),f.current=void 0},[]);(0,v.useEffect)(()=>g,[g]);let _=(0,v.useCallback)(e=>{l(e);let t=h[e];t!==void 0&&(i===`roving`?u.current.get(t)?.focus():document.getElementById(t)?.scrollIntoView({block:`nearest`}))},[h,i]),te=(0,v.useCallback)(t=>{if(e.length===0)return;let n=s?((m+t)%e.length+e.length)%e.length:Math.min(e.length-1,Math.max(0,m+t));_(n)},[e.length,m,s,_]),ne=(0,v.useCallback)(t=>{if(!n)return;f.current!==void 0&&clearTimeout(f.current),d.current+=N_(t),f.current=setTimeout(g,A_);let r=d.current.length>1&&[...d.current].every(e=>e===d.current[0]),i=r?d.current[0]??``:d.current,a=r||d.current.length===1?m+1:m;for(let t=0;t<e.length;t+=1){let r=(a+t+e.length)%e.length,o=e[r];if(o!==void 0&&N_(n(o,r)).startsWith(i)){_(r);return}}},[n,e,m,_,g]),re=(0,v.useCallback)(t=>{let n=M_(t.target),r=a&&!n,i=t.key,s=()=>{let t=e[m];t!==void 0&&o?.(t,m)};if(i===`ArrowDown`||r&&i===`j`)te(1);else if(i===`ArrowUp`||r&&i===`k`)te(-1);else if(i===`PageDown`)te(j_);else if(i===`PageUp`)te(-10);else if(i===`Home`)_(0);else if(i===`End`)_(Math.max(0,e.length-1));else if(r&&i===`G`&&t.shiftKey)_(Math.max(0,e.length-1));else if(r&&i===`g`&&p.current===`g`)_(0);else if(i===`Enter`||i===` `&&!n)s();else if(i===`Escape`){if(d.current.length===0){p.current=i;return}g()}else if(i.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey){p.current=i,ne(i);return}else{p.current=i;return}p.current=i,t.preventDefault()},[e,m,te,_,ne,g,o,a]),ie=(0,v.useCallback)(e=>t=>{t?u.current.set(e,t):u.current.delete(e)},[]);return{activeIndex:m,setActiveIndex:l,activeId:ee,onKeyDown:re,containerProps:{"aria-label":r,onKeyDown:re,...i===`activedescendant`?{role:`listbox`,tabIndex:0,"aria-activedescendant":ee}:{}},itemProps:(0,v.useCallback)(e=>{let t=h[e]??``;return i===`roving`?{id:t,ref:ie(t),tabIndex:e===m?0:-1}:{id:t,role:`option`,"aria-selected":e===m}},[h,i,m,ie])}}function F_(e,t){let n=t.trim();return e.filter(e=>e.available).map((e,t)=>({command:e,index:t,score:k_([e.title,e.group,...e.keywords??[]],n)})).filter(e=>e.score>0).sort((e,t)=>t.score-e.score||e.index-t.index||e.command.title.localeCompare(t.command.title,`en-US`)).map(e=>e.command)}function I_({open:e,commands:t,onClose:n}){return e?(0,q.jsx)(L_,{commands:t,onClose:n}):null}function L_({commands:e,onClose:t}){let[n,r]=(0,v.useState)(``),i=(0,v.useRef)(null),a=(0,v.useId)(),o=(0,v.useMemo)(()=>F_(e,n),[e,n]),s=e=>{t(),e.run()},{activeIndex:c,setActiveIndex:l,activeId:u,onKeyDown:d,itemProps:f}=P_({items:o,getId:e=>`${a}-${e.id}`,label:`Commands`,mode:`activedescendant`,vimKeys:!1,wrap:!0,onChoose:s}),p=e.filter(e=>e.available).length,m=o.map((e,t)=>({command:e,index:t,heading:t===0||o[t-1]?.group!==e.group?e.group:null}));return(0,q.jsx)(D_,{title:`Run a command`,eyebrow:`COMMAND PALETTE`,onClose:t,initialFocus:i,children:(0,q.jsxs)(`div`,{className:`palette`,children:[(0,q.jsxs)(`div`,{className:`filter__field`,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`⌕`}),(0,q.jsx)(`input`,{ref:i,type:`text`,role:`combobox`,"aria-expanded":`true`,"aria-controls":a,"aria-autocomplete":`list`,"aria-activedescendant":u,"aria-label":`Run a command`,placeholder:`A view, a session, or an action`,autoComplete:`off`,value:n,onChange:e=>{r(e.target.value),l(0)},onKeyDown:d})]}),(0,q.jsx)(`small`,{role:`status`,children:n.trim().length===0?``:`${o.length} of ${p} commands`}),o.length===0?(0,q.jsx)(`p`,{className:`palette__empty`,children:`No command matches. Type a view name such as traces, or an action such as cancel.`}):(0,q.jsx)(`div`,{className:`palette__list`,id:a,role:`listbox`,"aria-label":`Commands`,children:m.map(({command:e,index:t,heading:n})=>(0,q.jsxs)(v.Fragment,{children:[n===null?null:(0,q.jsx)(`div`,{className:`palette__group`,role:`presentation`,children:n}),(0,q.jsxs)(`div`,{className:`palette__option`,role:`option`,"aria-label":`${e.group}: ${e.title}`,onMouseMove:()=>l(t),onClick:()=>s(e),...f(t),"data-active":t===c,children:[(0,q.jsx)(`span`,{children:e.title}),e.binding?(0,q.jsx)(`kbd`,{children:kg(Sg[e.binding])}):null]})]},e.id))})]})})}var R_=[{label:`Overview`,path:`/`,keywords:[`home`,`start`]},{label:`Sessions`,path:`/sessions`,keywords:[`chat`,`conversation`,`workspace`]},{label:`Traces`,path:`/traces`,keywords:[`runs`,`forensics`]},{label:`Toolchain`,path:`/toolchain`,keywords:[`tools`,`install`]},{label:`Docs`,path:`/docs`,keywords:[`documentation`,`reference`]},{label:`Settings`,path:`/settings`,keywords:[`configuration`,`preferences`]},{label:`Fleet`,path:`/fleet`,keywords:[`dispatch`,`workers`,`runs`]},{label:`Evidence`,path:`/evidence`,keywords:[`receipts`,`trust`]},{label:`Evals`,path:`/evals`,keywords:[`evaluation`,`reports`]},{label:`Library`,path:`/library`,keywords:[`packages`,`skills`,`recipes`]},{label:`System`,path:`/system`,keywords:[`doctor`,`health`,`paths`]},{label:`Usage report`,path:`/usage`,keywords:[`tokens`,`cost`,`spend`]},{label:`Targets`,path:`/settings/targets`,keywords:[`providers`,`models`]},{label:`Routing`,path:`/settings/routing`,keywords:[`profiles`,`bindings`,`offline`]},{label:`Effective settings`,path:`/settings/effective`,keywords:[`values`,`layers`,`origin`]},{label:`Why these settings`,path:`/settings/why`,keywords:[`provenance`,`source`]},{label:`Interop`,path:`/system/interop`,keywords:[`agents`,`mcp`,`external`]}];function z_(e,t){let n=[],{runningTurnId:r,sessionId:i,sessionOpen:a}=e;i!==null&&(n.push({id:`session.cancel`,title:`Stop the running turn`,group:`Session`,keywords:[`cancel`,`interrupt`,`halt`],binding:`cancelTurn`,available:r!==null,run:()=>{r!==null&&t.cancelTurn(r)}}),n.push({id:`session.close`,title:`Close this session`,group:`Session`,keywords:[`end`,`finish`],available:a&&r===null,run:t.closeSession}));for(let e of R_)n.push({id:`go.${e.path}`,title:e.label,group:`Go to`,keywords:e.keywords??[],available:!0,run:()=>t.navigate(e.path)});return n.push({id:`app.help`,title:`Keyboard and vocabulary reference`,group:`App`,keywords:[`help`,`shortcuts`,`keys`,`glossary`],binding:`help`,available:!0,run:t.openHelp}),n.push({id:`app.sidebar`,title:`Collapse or expand the sidebar`,group:`App`,keywords:[`navigation`,`rail`,`menu`,`hide`,`show`],binding:`sidebar`,available:!0,run:t.toggleSidebar}),n.push({id:`app.dismiss-notices`,title:`Dismiss all notifications`,group:`App`,keywords:[`clear`,`toasts`,`errors`],available:e.hasNotices,run:t.dismissNotices}),n}var B_=Object.values({"/":{title:`Overview`,meaning:`Where this installation stands right now, and the way into the work you had open.`},"/sessions":{title:`Sessions`,meaning:`Your requests and Clio Coder's responses as readable prose, with the tools it ran folded into one activity line per stretch of work.`},"/traces":{title:`Traces`,meaning:`The same record as the conversation, one card per protocol item, with provenance, exact keys, and the token fields.`},"/toolchain":{title:`Toolchain`,meaning:`The tools Clio Coder can reach on this machine, their versions, and the trust each one carries.`},"/docs":{title:`Docs`,meaning:`The project's own documentation, read from the repository and searchable without leaving the app.`},"/settings":{title:`Settings`,meaning:`The configuration Clio Coder is actually using for this project, where each value came from, and when a change takes effect.`},"/fleet":{title:`Fleet`,meaning:`Recent durable runs across the installation: their event spines, receipt trust, fleet lineage, gate verdicts, evidence bundles, and completed evaluations.`},"/evidence":{title:`Evidence`,meaning:`Sealed records of durable work, with the trust check that says whether the bytes still authenticate.`},"/evals":{title:`Evals`,meaning:`Stored evaluation reports, their scores, and the artifacts each run left behind.`},"/library":{title:`Library`,meaning:`Agents, skills, library resources, extensions, and verification checks Clio Coder can see, with their trust and scope.`},"/system":{title:`System`,meaning:`An installation-wide, manually refreshed snapshot of Clio Coder's worker admission state and aggregate totals. It is not a project view.`}}).map(e=>({term:e.title,meaning:e.meaning})),V_=Cg.map(e=>({term:kg(e),meaning:`${e.action}. ${e.where}.`})),H_=[{id:`views`,title:`Views`,lede:`What each view in the navigation shows, and which ones read the whole installation rather than this project.`,entries:B_},{id:`keyboard`,title:`Keyboard`,lede:`Every shortcut the app binds. Everything else is reachable with Tab, Enter, and Space.`,entries:V_},{id:`working-freedom`,title:`Working freedom`,lede:`Autonomy is the freedom Clio Coder has to act without asking. The bound session keeps the level Clio Coder says it is enforcing; the settings value reaches the next session.`,entries:[{term:`read-only`,meaning:`Read-class tools run. Write, execute, and dispatch calls are refused, and Clio Coder proposes them instead. The safety net still runs first.`},{term:`suggest`,meaning:`Read-class tools run. Every write, execute, and dispatch call waits for your approval.`},{term:`auto-edit`,meaning:`Reads, edits, and recognised commands run. Unrecognised shell commands, plan-scale dispatch, and anything that publishes outside the project wait for your approval.`},{term:`full-auto`,meaning:`Everything runs without asking. The safety net still blocks what it always blocks and still confirms what it always confirms.`}]},{id:`vocabulary`,title:`Vocabulary`,lede:`Precise Clio Coder terms are kept where changing them would hide scope.`,entries:[{term:`Target`,meaning:`The configured service or runtime Clio Coder routes a turn through.`},{term:`Model`,meaning:`The model the target serves for that turn.`},{term:`Session`,meaning:`One conversation Clio Coder keeps and can resume. A project may have many.`},{term:`Turn`,meaning:`One request and everything Clio Coder did in response to it.`},{term:`Evidence`,meaning:`The tools, approvals, outcomes, and receipts that show what happened, as distinct from prose about it.`},{term:`Receipt`,meaning:`A sealed record of a durable run. Verified means Clio Coder re-read the bytes and they still authenticate.`},{term:`Truncated`,meaning:`Clio Coder or the app cut a list at a bound. What is shown is real; what is not shown is not claimed absent.`},{term:`Host-only`,meaning:`A fact that stays on this machine's host process by design, such as an event payload or a command line. It is named, never quoted.`},{term:`Reported`,meaning:`Clio Coder supplied the fact; the app did not measure it.`},{term:`Observed`,meaning:`The app saw the fact itself, on the live channel or in its own boundary.`},{term:`Status: queued`,meaning:`Clio Coder has accepted the item and has not started it.`},{term:`Status: active`,meaning:`The item is running right now.`},{term:`Status: waiting`,meaning:`The item is waiting on you, usually an approval.`},{term:`Status: complete`,meaning:`Clio Coder reported the item finished.`},{term:`Status: canceled`,meaning:`The item was stopped before it finished. A stop is not a failure.`},{term:`Status: failed`,meaning:`Clio Coder reported the item failed.`},{term:`Status: replayed`,meaning:`Clio Coder replayed this item from an earlier turn of the same session. It was not observed live.`}]},{id:`boundaries`,title:`Boundaries`,lede:`Three assurances the app makes on every screen.`,entries:[{term:`Inspections are read-only`,meaning:`Every inspection runs the same fixed command with no arguments from the browser and changes nothing in Clio Coder.`},{term:`Project work is project-scoped`,meaning:`Files, sessions, and configuration are read and changed inside the project you opened, through Clio Coder. Runs, System, the recovery check, and the toolchain and agent inventories are installation-wide reads, and each says so in its header.`},{term:`Control is local`,meaning:`The host listens only on this machine and every request carries a token issued at start.`}]},{id:`terminal`,title:`The terminal`,lede:`This reference covers the app.`,entries:[{term:`/help`,meaning:`In a terminal, /help lists Clio Coder's own commands. Those commands are not part of this app.`}]},{id:wg,title:`Interviews`,lede:`Clio Coder can open a question of its own during a turn. This build does not render one.`,entries:[],reserved:`This build of the app answers approvals only. When interviews arrive they will have their own keys, never Alt+A or Alt+R.`}];function U_(e){return e.toLocaleLowerCase(`en-US`)}function W_(e){let t=U_(e).split(/\s+/u).filter(e=>e.length>0);if(t.length===0)return H_.map(e=>({section:e,entries:e.entries}));let n=[];for(let e of H_){let r=U_(`${e.title} ${e.lede} ${e.reserved??``}`),i=t.every(e=>r.includes(e)),a=e.entries.filter(e=>{let n=U_(`${e.term} ${e.meaning}`);return t.every(e=>n.includes(e))});i?n.push({section:e,entries:a.length>0?a:e.entries}):a.length>0&&n.push({section:e,entries:a})}return n}function G_(){let[e,t]=(0,v.useState)(``),n=(0,v.useId)(),r=W_(e),i=r.reduce((e,t)=>e+t.entries.length,0);return(0,q.jsxs)(`div`,{className:`help-reference`,children:[(0,q.jsxs)(`div`,{className:`help-reference__query`,children:[(0,q.jsx)(`label`,{htmlFor:n,children:`Filter this reference`}),(0,q.jsxs)(`div`,{className:`filter__field`,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`⌕`}),(0,q.jsx)(`input`,{id:n,type:`search`,value:e,onChange:e=>t(e.target.value),placeholder:`A view, a key, or a word the app uses`,autoComplete:`off`}),e.length>0?(0,q.jsx)(`button`,{type:`button`,onClick:()=>t(``),"aria-label":`Clear reference filter`,children:`×`}):null]}),(0,q.jsx)(`small`,{role:`status`,children:e.trim().length===0?`The whole reference`:r.length===0?`Nothing in the reference matches.`:`${i} matching ${i===1?`entry`:`entries`} in ${r.length} ${r.length===1?`section`:`sections`}`})]}),r.length===0?(0,q.jsx)(`p`,{className:`help-reference__empty`,children:`Nothing in the reference matches. Try a view name, a key such as Alt, or a word such as receipt.`}):(0,q.jsx)(`div`,{className:`help-reference__sections`,children:r.map(({section:e,entries:t})=>(0,q.jsxs)(`section`,{className:`help-reference__section${e.reserved===void 0?``:` is-reserved`}`,"aria-labelledby":`help-${e.id}`,children:[(0,q.jsxs)(`div`,{className:`help-reference__heading`,children:[(0,q.jsx)(`h3`,{id:`help-${e.id}`,children:e.title}),(0,q.jsx)(`p`,{children:e.lede})]}),e.reserved===void 0?null:(0,q.jsxs)(`p`,{className:`help-reference__reserved`,children:[(0,q.jsx)(`span`,{className:`eyebrow`,children:`NOT IN THIS BUILD`}),e.reserved]}),t.length>0?(0,q.jsx)(`dl`,{className:`help-reference__entries`,children:t.map(t=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e.id===`keyboard`?(0,q.jsx)(`kbd`,{children:t.term}):t.term}),(0,q.jsx)(`dd`,{children:t.meaning})]},t.term))}):null]},e.id))})]})}function K_({open:e,onClose:t}){return e?(0,q.jsx)(D_,{title:`How this app works`,eyebrow:`KEYBOARD AND VOCABULARY REFERENCE`,size:`wide`,onClose:t,children:(0,q.jsx)(G_,{})}):null}function q_(e){return/^\/sessions\/([^/]+)$/.exec(e)?.[1]??null}function J_({client:e}){let t=i(),n=d(),r=a(),[o,s]=(0,v.useState)(e.token?`Connecting…`:`Not connected`),[c,u]=(0,v.useState)(!1),[f,h]=(0,v.useState)(!1),[ee,g]=Fg(),_=r_(),te=T_(),ne=de()||!e.token&&ke(),re=l({queryKey:[`meta`],queryFn:()=>e.call(K.meta,y),enabled:!!e.token});(0,v.useEffect)(()=>{if(e.token)return og(e.token,t,s)},[e,t]);let ie=q_(r.pathname),ae=l({queryKey:[`session`,ie??``],queryFn:()=>e.call(K.session,{params:{id:ie??``},query:{},body:{}}),enabled:!1}),oe=ie===null?void 0:ae.data,se=oe?.turns.at(-1),ce=se?.status===`running`?se.id:null;E_(`palette`,()=>u(!0)),E_(`help`,()=>h(!0)),E_(`sidebar`,g);let le=(0,v.useMemo)(()=>z_({sessionId:ie,runningTurnId:ce,sessionOpen:oe?.state===`open`,hasNotices:_.length>0},{navigate:e=>void n(e),openHelp:()=>h(!0),toggleSidebar:g,dismissNotices:Qg,cancelTurn:t=>{ie!==null&&e.call(K.cancelTurn,{params:{id:ie,turnId:t},query:{},body:{}})},closeSession:()=>{ie!==null&&e.call(K.closeSession,{params:{id:ie},query:{},body:{}}).then(()=>t.invalidateQueries({queryKey:[`session`,ie]}))}}),[e,n,_.length,t,ce,ie,oe?.state,g]);return(0,q.jsxs)(`div`,{className:`shell`,children:[(0,q.jsx)(Hg,{}),(0,q.jsx)(`a`,{className:`skip-link`,href:`#main`,children:`Skip to content`}),(0,q.jsxs)(`header`,{className:`masthead`,children:[(0,q.jsxs)(p,{to:`/`,className:`brand`,children:[(0,q.jsx)(`img`,{src:`/clio-coder-logo.webp`,alt:``,width:`36`,height:`36`}),`Clio Coder`]}),(0,q.jsxs)(`div`,{className:`header-controls`,children:[(0,q.jsxs)(`span`,{className:`connection`,role:`status`,title:o,"data-connected":o===`Connected`,children:[(0,q.jsx)(`span`,{className:`connection-dot`,"aria-hidden":`true`}),(0,q.jsx)(`span`,{className:`sr-only`,children:o})]}),(0,q.jsx)(Vg,{}),(0,q.jsx)(d_,{enabled:re.data?.pwa??!1,token:e.token,version:re.data?.clio}),(0,q.jsx)(Bg,{})]})]}),(0,q.jsxs)(`div`,{className:`workspace`,"data-sidebar":ee?`collapsed`:`expanded`,inert:te,children:[(0,q.jsx)(`aside`,{className:`desktop-navigation`,id:Ig,children:(0,q.jsxs)(`div`,{className:`sidebar`,children:[(0,q.jsx)(Rg,{collapsed:ee,toggle:g}),(0,q.jsx)(zg,{collapsed:ee})]})}),(0,q.jsx)(`main`,{id:`main`,tabIndex:-1,children:!e.token||ne?(0,q.jsx)(f_,{refused:ne}):re.error?(0,q.jsxs)(`div`,{role:`alert`,children:[(0,q.jsx)(`h1`,{children:`Connection unavailable`}),(0,q.jsx)(`p`,{children:re.error.message}),(0,q.jsx)(`button`,{type:`button`,disabled:re.isFetching,onClick:()=>void re.refetch(),children:`Try again`})]}):re.isPending?(0,q.jsx)(`p`,{children:`Connecting to your installation…`}):re.data.apiVersion===1?(0,q.jsx)(m,{}):(0,q.jsx)(`div`,{role:`alert`,children:`The app and server versions differ. Rebuild the client and reload.`})})]}),(0,q.jsx)(I_,{open:c,commands:le,onClose:()=>u(!1)}),(0,q.jsx)(K_,{open:f,onClose:()=>h(!1)}),(0,q.jsx)(l_,{}),(0,q.jsx)(c_,{})]})}function Y_({panel:e,title:t,level:n=2,action:r}){let i=`h${n}`;return(0,q.jsxs)(`div`,{className:`panel-heading`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`eyebrow`,children:e.eyebrow}),(0,q.jsx)(i,{children:t??e.title})]}),r?(0,q.jsx)(`div`,{className:`panel-heading__action`,children:r}):null]})}function X_({panel:e}){return(0,q.jsx)(`p`,{className:`panel-boundary`,children:e.boundary})}function J({children:e,role:t}){return(0,q.jsx)(`p`,{className:`panel-empty`,role:t,children:e})}function Z_(e,...t){return[e,...t].map(e=>e.toUpperCase()).join(` · `)}var Q_=`read only`,Y={evidenceInventory:{eyebrow:Z_(`Evidence bundles`,`installation-wide`,`collect and recheck`),title:`Evidence`,boundary:`Bundles are read from this installation's evidence directory. Collecting or rechecking runs the same Clio command you would run yourself, on this machine; no bundle is edited and nothing is uploaded.`},evidenceBundle:{eyebrow:Z_(`Evidence bundle`,`one dispatch report`,`collect and recheck`),title:`Evidence`,boundary:`A bundle is reproduced as it was collected. Its files stay in the evidence directory on this machine, and nothing here re-runs the work the bundle describes.`},evidenceTrust:{eyebrow:Z_(`Trust projection`,`one dispatch run`,Q_),title:`Trust by run`,boundary:`The receipt itself stays in the bundle on this machine. What this panel shows is the recorded trust projection: its authorities, its artifact digests, and the reason each axis holds or does not.`},evidenceGates:{eyebrow:Z_(`Gate decisions`,`sealed coordinator verdicts`,Q_),title:`Authenticated gate decisions`,boundary:`A decision is reproduced from the bundle on this machine, exactly as the coordinator sealed it. Nothing here re-runs a gate, and an intact decision authenticates the record rather than the work it describes.`},evalReports:{eyebrow:Z_(`Eval reports`,`installation-wide`,Q_),title:`Evals`,boundary:`Reports are read from the eval store on this machine. This page runs no evaluation and writes no report; every figure is what the run recorded when it finished.`},evalReport:{eyebrow:Z_(`Eval report`,`one suite`,Q_),title:`Evaluation results`,boundary:`Every figure is what this run recorded when it finished. Opening the report runs nothing and changes nothing in the eval store on this machine.`},evalTrials:{eyebrow:Z_(`Trials`,`one report`,Q_),title:`Trials`,boundary:`Trial attachments, transcripts and prompts stay in the report on this machine. What this panel shows is each trial's recorded verdict and its measurements.`},usage:{eyebrow:Z_(`Recorded usage`,`30-day window`,Q_),title:`Usage`,boundary:`Every figure is read from the session and dispatch ledgers on this machine and is Clio's own accounting, never an estimate made here. Conversation text stays in those ledgers.`},traceRun:{eyebrow:Z_(`Durable accounting`,`trace database`,Q_),title:`Run accounting`,boundary:`The trace database stays on this machine and this page only reads it. Event payloads and process command lines are shown from that local database; what the histograms cross with is how many of each kind there were.`},toolchain:{eyebrow:Z_(`Pinned tools`,`this installation`,`install and remove`),title:`Toolchain`,boundary:`Resolution is read from this machine: a compatible copy on PATH first, then the pinned copy Clio vendored. Removing a vendored copy leaves your PATH installation in place.`},routing:{eyebrow:Z_(`Models`,`worker routing`,`read offline`),title:`Models and routing`,boundary:`This inventory is read from cached configuration on this machine. No endpoint is contacted, so a listed model is a recorded capability and not a live reachability claim.`},settings:{eyebrow:Z_(`Configuration`,`your settings`,`edit your user layer`),title:`Settings`,boundary:`A change is written to your user settings file on this machine and nowhere else. A project or command-line layer that outranks it is named on the control and is never edited from here.`},settingsEffective:{eyebrow:Z_(`Configuration`,`effective values`,Q_),title:`Effective settings`,boundary:`Values are read from the configuration layers on this machine. Credentials, executable arguments and structured collections stay in those files; what crosses is that they are configured.`},configMap:{eyebrow:Z_(`Effective Clio Coder`,`one workspace`,Q_),title:`Why Clio behaves this way`,boundary:`Source contents, hook arguments and environment maps stay in their files on this machine. What crosses is each surface's scope, precedence, trust, apply timing and its numeric facts.`},targets:{eyebrow:Z_(`Model endpoints`,`your user settings`,`add, probe and remove`),title:`Targets`,boundary:`Targets are written to your user settings on this machine, and credentials are never entered or shown here. A probe contacts the endpoints you configured and no other host.`},library:{eyebrow:Z_(`Capabilities`,`you and this project`,`plan, then apply`),title:`Library`,boundary:`Recipes are read from the roots on this machine, and their contents stay there. A catalog change is planned first and applied only after you have read the plan; viewing a verifier never runs it.`},system:{eyebrow:Z_(`Installation`,`redacted diagnostics`,`check only`),title:`System`,boundary:`These checks read this machine and repair nothing. A parser message that could quote a credential or a settings line is withheld here; run clio-coder doctor in a terminal to read it.`},interop:{eyebrow:Z_(`External coding agents`,`installation-wide`,`detect only`),title:`Other coding agents`,boundary:`Opening this page reads files on this machine and runs nothing. Detect again runs one bounded command per installed agent, its --version, inside a scratch home. Neither starts an agent's work, reads its sessions or history, or wires anything: run clio-coder configure --interop in a terminal to answer an offer.`},fleet:{eyebrow:Z_(`Fleet and dispatch history`,`installation-wide`,Q_),title:`Fleet`,boundary:`Runs, councils and gate decisions are read from the dispatch ledger on this machine. Nothing here starts, steers or cancels a run; a conversation does that.`},fleetRun:{eyebrow:Z_(`One recorded run`,`dispatch ledger`,Q_),title:`Run`,boundary:`The receipt is reproduced from the ledger on this machine as it was sealed. Reading it re-runs nothing, and a valid integrity mark authenticates the record rather than the work it describes.`},sessions:{eyebrow:Z_(`Your work`,`workspaces on this machine`,`open, resume and delete`),title:`Sessions`,boundary:`Session history is read from the session store on this machine, and deleting a closed session removes it from that store for good. Opening a workspace records its path in this application's own state and changes nothing inside the folder.`},docs:{eyebrow:Z_(`Reference`,`shipped with this build`,Q_),title:`Documentation`,boundary:`These pages are the documentation files installed with Clio Coder on this machine. Search runs over them on this machine, and no query leaves it.`}},$_=`This is global installation state, not a fact about the selected project and not a live event stream.`,X={unread:e=>`The ${e} has not been read in this session.`,missingStore:(e,t)=>`This installation has no ${e} store at all. That is a missing store, not an empty one.${t?` Clio Coder looked for it at ${t}.`:``}`,emptyStore:(e,t=`on this installation`)=>`Clio Coder has recorded no ${e} ${t}. This is an empty record, not a health claim.`,predatesSchema:(e,t,n)=>`This ${e} predates the canonical ${t}, so it records no ${n} to open.`,bounded:(e,t=`Older`)=>`${t} ${e} are outside this bounded view.`,dash:()=>`A dash means Clio Coder could not find that local history store. It does not mean zero activity.`};function ev(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var tv=ev();function nv(e){tv=e}var rv={exec:()=>null};function iv(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function Z(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(ov.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var av=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),ov={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:iv(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:iv(e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:iv(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:iv(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:iv(e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,`i`)),blockquoteBeginRegex:iv(e=>RegExp(`^ {0,${e}}>`))},sv=/^(?:[ \t]*(?:\n|$))+/,cv=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,lv=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,uv=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,dv=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,fv=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,pv=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,mv=Z(pv).replace(/bull/g,fv).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),hv=Z(pv).replace(/bull/g,fv).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),gv=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,_v=/^[^\n]+/,vv=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,yv=Z(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,vv).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),bv=Z(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,fv).getRegex(),xv=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,Sv=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Cv=Z(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,Sv).replace(`tag`,xv).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),wv=e=>Z(gv).replace(`hr`,uv).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,e).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,xv).getRegex(),Tv=wv(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),Ev=wv(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),Dv={blockquote:Z(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Ev).getRegex(),code:cv,def:yv,fences:lv,heading:dv,hr:uv,html:Cv,lheading:mv,list:bv,newline:sv,paragraph:Tv,table:rv,text:_v},Ov=Z(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,uv).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,xv).getRegex(),kv={...Dv,lheading:hv,table:Ov,paragraph:Z(gv).replace(`hr`,uv).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Ov).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,xv).getRegex()},Av={...Dv,html:Z(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,Sv).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:rv,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Z(gv).replace(`hr`,uv).replace(`heading`,` *#{1,6} *[^
6
+ ]`).replace(`lheading`,mv).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},jv=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Mv=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Nv=/^( {2,}|\\)\n(?!\s*$)/,Pv=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Fv=/[\p{P}\p{S}]/u,Iv=/[\s\p{P}\p{S}]/u,Lv=/[^\s\p{P}\p{S}]/u,Rv=Z(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,Iv).getRegex(),zv=/[\p{Pi}\p{Ps}"']/u,Bv=/(?!~)[\p{P}\p{S}]/u,Vv=/(?!~)[\s\p{P}\p{S}]/u,Hv=/(?:[^\s\p{P}\p{S}]|~)/u,Uv=Z(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,av?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),Wv=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Gv=Z(Wv,`u`).replace(/punct/g,Fv).getRegex(),Kv=Z(Wv,`u`).replace(/punct/g,Bv).getRegex(),qv=Z(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,`u`).replace(/openQuote/g,zv).replace(/punct/g,Fv).getRegex(),Jv=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,Yv=Z(Jv,`gu`).replace(/notPunctSpace/g,Lv).replace(/punctSpace/g,Iv).replace(/punct/g,Fv).getRegex(),Xv=Z(Jv,`gu`).replace(/notPunctSpace/g,Hv).replace(/punctSpace/g,Vv).replace(/punct/g,Bv).getRegex(),Zv=Z(`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Lv).replace(/punctSpace/g,Iv).replace(/punct/g,Fv).getRegex(),Qv=Z(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,Lv).replace(/punctSpace/g,Iv).replace(/punct/g,Fv).getRegex(),$v=Z(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Lv).replace(/punctSpace/g,Iv).replace(/punct/g,Fv).getRegex(),ey=Z(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,Fv).getRegex(),ty=Z(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,Lv).replace(/punctSpace/g,Iv).replace(/punct/g,Fv).getRegex(),ny=Z(/\\(punct)/,`gu`).replace(/punct/g,Fv).getRegex(),ry=Z(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),iy=Z(Sv).replace(`(?:-->|$)`,`-->`).getRegex(),ay=Z(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,iy).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),oy=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,sy=Z(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,oy).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),cy=Z(/^!?\[(label)\]\[(ref)\]/).replace(`label`,oy).replace(`ref`,vv).getRegex(),ly=Z(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,vv).getRegex(),uy=Z(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,cy).replace(`nolink`,ly).getRegex(),dy=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,fy={_backpedal:rv,anyPunctuation:ny,autolink:ry,blockSkip:Uv,br:Nv,code:Mv,del:rv,delLDelim:rv,delRDelim:rv,emStrongLDelim:Gv,emStrongRDelimAst:Yv,emStrongRDelimUnd:Qv,escape:jv,link:sy,nolink:ly,punctuation:Rv,reflink:cy,reflinkSearch:uy,tag:ay,text:Pv,url:rv},py={...fy,emStrongLDelim:qv,emStrongRDelimAst:Zv,emStrongRDelimUnd:$v,link:Z(/^!?\[(label)\]\((.*?)\)/).replace(`label`,oy).getRegex(),reflink:Z(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,oy).getRegex()},my={...fy,emStrongRDelimAst:Xv,emStrongLDelim:Kv,delLDelim:ey,delRDelim:ty,url:Z(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,dy).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:Z(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,dy).getRegex()},hy={...my,br:Z(Nv).replace(`{2,}`,`*`).getRegex(),text:Z(my.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},gy={normal:Dv,gfm:kv,pedantic:Av},_y={normal:fy,gfm:my,breaks:hy,pedantic:py},vy={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},yy=e=>vy[e];function by(e,t){if(t){if(ov.escapeTest.test(e))return e.replace(ov.escapeReplace,yy)}else if(ov.escapeTestNoEncode.test(e))return e.replace(ov.escapeReplaceNoEncode,yy);return e}function xy(e){try{e=encodeURI(e).replace(ov.percentDecode,`%`)}catch{return null}return e}function Sy(e,t){let n=e.replace(ov.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(ov.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t){if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``)}for(;r<n.length;r++)n[r]=n[r].trim().replace(ov.slashPipe,`|`);return n}function Cy(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function wy(e){let t=e.split(`
7
+ `),n=t.length-1;for(;n>=0&&ov.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
8
+ `)}function Ty(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Ey(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Dy(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`),c=e[0].charAt(0)===`!`;r.state.inLink=!0;let l=r.state.linkEmitted,u=r.state.inRawBlock;r.state.linkEmitted=!1;let d=r.inlineTokens(s),f=r.state.linkEmitted;if(r.state.linkEmitted=l,r.state.inLink=!1,!c){if(f){r.state.inRawBlock=u;return}r.state.linkEmitted=!0}return{type:c?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:d}}function Oy(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
9
+ `).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
10
+ `)}var ky=class{options;rules;lexer;constructor(e){this.options=e||tv}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:wy(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Oy(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=Cy(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:Cy(t[0],`
11
+ `),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:Cy(t[0],`
12
+ `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=Cy(t[0],`
13
+ `).split(`
14
+ `),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o=0;for(;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
15
+ `),c=s.replace(this.rules.other.blockquoteSetextReplace,`
16
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
17
+ ${s}`:s,r=r?`${r}
18
+ ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=e.join(`
19
+ `),o=t.raw+`
20
+ `+a.replace(this.rules.other.blockquoteSetextReplace2,``),s=this.blockquote(o);i[i.length-1]=s,n=`${n}
21
+ ${a}`,r=r.substring(0,r.length-t.text.length)+s.text;break}if(u?.type===`list`){let t=u,a=t.raw+`
22
+ `+e.join(`
23
+ `),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
24
+ `);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Ey(t[2].split(`
25
+ `,1)[0],t[1].length),l=e.split(`
26
+ `,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
27
+ `,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
28
+ `,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
29
+ `+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
30
+ `+l}u=!l.trim(),r+=p+`
31
+ `,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items)if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of i.items){let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=wy(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:Cy(t[0],`
32
+ `),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Sy(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
33
+ `):[],a={type:`table`,raw:Cy(t[0],`
34
+ `),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(Sy(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:Cy(t[0],`
35
+ `),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
36
+ `?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=Cy(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Ty(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),Dy(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return Dy(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,a,o,s=i,c=0,l=r[0][0],u=n===l,d=l===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,t=t.slice(-1*e.length+i);(r=d.exec(t))!==null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(o=[...a].length,r[3]||r[4]){s+=o;continue}if(r[5]||r[6]){if(i%3&&!((i+o)%3)){c+=o;continue}if(u)break}if(s-=o,s>0)continue;o=Math.min(o,o+s+c);let t=[...r[0]][0].length,n=e.slice(0,i+r.index+t+o);if(Math.min(i,o)%2){let e=n.slice(1,-1);return{type:`em`,raw:n,text:e,tokens:this.lexer.inlineTokens(e)}}let l=n.slice(2,-2);return{type:`strong`,raw:n,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},Ay=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||tv,this.options.tokenizer=this.options.tokenizer||new ky,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:ov,block:gy.normal,inline:_y.normal};this.options.pedantic?(t.block=gy.pedantic,t.inline=_y.pedantic):this.options.gfm&&(t.block=gy.gfm,t.inline=this.options.breaks?_y.breaks:_y.gfm),this.tokenizer.rules=t}static get rules(){return{block:gy,inline:_y}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(ov.carriageReturn,`
37
+ `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(ov.tabCharGlobal,` `).replace(ov.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
38
+ `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
39
+ `)?``:`
40
+ `)+i.raw,n.text+=`
41
+ `+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
42
+ `)?``:`
43
+ `)+i.raw,n.text+=`
44
+ `+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let r=t.at(-1);n&&r?.type===`paragraph`?(r.raw+=(r.raw.endsWith(`
45
+ `)?``:`
46
+ `)+i.raw,r.text+=`
47
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
48
+ `)?``:`
49
+ `)+i.raw,n.text+=`
50
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes(`[`))return!1;let t=this.tokenizer.rules.inline.link;for(let n of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(n[0])&&e.charAt(n.index-1)!==`!`)return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],n=e.lastIndexOf(`[`);if(e.charAt(0)!==`!`&&Object.hasOwn(this.tokens.links,e.slice(n+1,-1))&&!(n>1&&this.linkInText(e.slice(1,n-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e;if(this.tokens.links&&e.includes(`[`)){let e=this.tokenizer.rules.inline.reflinkSearch,t=n=>{let r=n.lastIndexOf(`[`);if(!Object.hasOwn(this.tokens.links,n.slice(r+1,-1)))return n;if(r>1&&n.charAt(0)!==`!`){let i=n.slice(1,r-1);if(this.linkInText(i))return`[`+i.replace(e,t)+`][`+`a`.repeat(n.length-r-2)+`]`}return`[`+`a`.repeat(n.length-2)+`]`};n=n.replace(e,t)}n=n.replace(this.tokenizer.rules.inline.anyPunctuation,e=>`+`.repeat(e.length)),n=n.replace(this.tokenizer.rules.inline.blockSkip,(e,t,n)=>{let r=n?n.length:0;return e.slice(0,r)+`[`+`a`.repeat(e.length-r-2)+`]`}),n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let r=!1,i=``,a=1/0;for(;e;){if(e.length<a)a=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(i=``),r=!1;let o;if(this.options.extensions?.inline?.some(n=>(o=n.call({lexer:this},e,t))?(e=e.substring(o.raw.length),t.push(o),!0):!1))continue;if(o=this.tokenizer.escape(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.tag(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.link(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(o.raw.length);let n=t.at(-1);o.type===`text`&&n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(o=this.tokenizer.emStrong(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.codespan(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.br(e)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.del(e,n,i)){e=e.substring(o.raw.length),t.push(o);continue}if(o=this.tokenizer.autolink(e)){e=e.substring(o.raw.length),t.push(o);continue}if(!this.state.inLink&&(o=this.tokenizer.url(e))){e=e.substring(o.raw.length),t.push(o);continue}let s=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(s=e.substring(0,t+1))}if(o=this.tokenizer.inlineText(s)){e=e.substring(o.raw.length),o.raw.slice(-1)!==`_`&&(i=o.raw.slice(-1)),r=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=o.raw,n.text+=o.text):t.push(o);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},jy=class{options;parser;constructor(e){this.options=e||tv}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(ov.notSpaceStart)?.[0],i=e.replace(ov.endingNewline,``)+`
51
+ `;return r?`<pre><code class="language-`+by(r)+`">`+(n?i:by(i,!0))+`</code></pre>
52
+ `:`<pre><code>`+(n?i:by(i,!0))+`</code></pre>
53
+ `}blockquote({tokens:e}){return`<blockquote>
54
+ ${this.parser.parse(e)}</blockquote>
55
+ `}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
56
+ `}hr(e){return`<hr>
57
+ `}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
58
+ `+r+`</`+i+`>
59
+ `}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
60
+ `}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
61
+ `}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
62
+ <thead>
63
+ `+t+`</thead>
64
+ `+r+`</table>
65
+ `}tablerow({text:e}){return`<tr>
66
+ ${e}</tr>
67
+ `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
68
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${by(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=xy(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+by(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=xy(e);if(i===null)return by(n);e=i;let a=`<img src="${e}" alt="${by(n)}"`;return t&&(a+=` title="${by(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:by(e.text)}},My=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Ny=class e{options;renderer;textRenderer;constructor(e){this.options=e||tv,this.options.renderer=this.options.renderer||new jy,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new My}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`checkbox`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`checkbox`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Py=class{options;block;constructor(e){this.options=e||tv}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?Ay.lex:Ay.lexInline}provideParser(e=this.block){return e?Ny.parse:Ny.parseInline}},Fy=new class{defaults=ev();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Ny;Renderer=jy;TextRenderer=My;Lexer=Ay;Tokenizer=ky;Hooks=Py;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new jy(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new ky(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Py;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];t[r]=Py.passThroughHooks.has(n)?e=>{if(this.defaults.async&&Py.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ay.lex(e,t??this.defaults)}parser(e,t){return Ny.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?Ay.lex:Ay.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Ny.parse:Ny.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?Ay.lex:Ay.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Ny.parse:Ny.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
69
+ Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+by(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function Iy(e,t){return Fy.parse(e,t)}Iy.options=Iy.setOptions=function(e){return Fy.setOptions(e),Iy.defaults=Fy.defaults,nv(Iy.defaults),Iy},Iy.getDefaults=ev,Iy.defaults=tv;function Ly(...e){return Fy.use(...e),Iy.defaults=Fy.defaults,nv(Iy.defaults),Iy}Iy.use=Ly,Iy.walkTokens=function(e,t){return Fy.walkTokens(e,t)},Iy.parseInline=Fy.parseInline,Iy.Parser=Ny,Iy.parser=Ny.parse,Iy.Renderer=jy,Iy.TextRenderer=My,Iy.Lexer=Ay,Iy.lexer=Ay.lex,Iy.Tokenizer=ky,Iy.Hooks=Py,Iy.parse=Iy,Iy.options,Iy.setOptions,Iy.walkTokens,Iy.parseInline,Ny.parse,Ay.lex;var Ry={gfm:!0,breaks:!1,pedantic:!1,async:!1};function zy(e){return Ay.lex(e,Ry)}function By(e){let t=e.trim();if(t.length===0||t.length>2048)return null;let n;try{n=new URL(t)}catch{return null}return n.protocol===`http:`||n.protocol===`https:`||n.protocol===`mailto:`?n.href:null}var Vy=/^ {0,3}(`{3,}|~{3,})/u,Hy=/^ {0,3}(`{3,}|~{3,})\s*$/u;function Uy(e,t=0){let n=t,r=t,i=null;for(;r<e.length;){let t=e.indexOf(`
70
+ `,r);if(t<0)break;let a=e.slice(r,t),o=Vy.exec(a);if(o!==null){let e=o[1]??``;i===null?i={char:e[0]??"`",length:e.length}:e[0]===i.char&&e.length>=i.length&&Hy.test(a)&&(i=null)}if(r=t+1,i!==null||a.trim().length!==0)continue;let s=e.indexOf(`
71
+ `,r),c=e.slice(r,s<0?e.length:s);c.length===0||s>=0&&c.trim().length===0||/^\s/u.test(c)||c.startsWith(`|`)||(n=r)}return n}var Wy=Object.freeze([]),Gy=class{#e=``;#t=Wy;#n=null;#r=Wy;update(e){e.startsWith(this.#e)||(this.#e=``,this.#t=Wy,this.#n=null,this.#r=Wy);let t=Uy(e,this.#e.length);if(t>this.#e.length){let n=zy(e.slice(this.#e.length,t));this.#t=[...this.#t,...n],this.#e=e.slice(0,t)}let n=e.slice(this.#e.length);return n!==this.#n&&(this.#r=n.length===0?Wy:zy(n),this.#n=n),{settled:this.#t,tail:this.#r,settledLength:this.#e.length}}},Ky={javascript:`javascript`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,typescript:`typescript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`tsx`,python:`python`,py:`python`,python3:`python`,bash:`bash`,sh:`bash`,shell:`bash`,zsh:`bash`,console:`shell-session`,"shell-session":`shell-session`,yaml:`yaml`,yml:`yaml`,markdown:`markdown`,md:`markdown`,markup:`markup`,html:`markup`,xml:`markup`,svg:`markup`,c:`c`,cpp:`cpp`,"c++":`cpp`,rust:`rust`,rs:`rust`,go:`go`,golang:`go`,sql:`sql`,diff:`diff`,patch:`diff`,json:`json`,jsonc:`json`,json5:`json`,toml:`toml`,css:`css`,docker:`docker`,dockerfile:`docker`,makefile:`makefile`,make:`makefile`,latex:`latex`,tex:`latex`,ini:`ini`,r:`r`,julia:`julia`,jl:`julia`,matlab:`matlab`,fortran:`fortran`,f90:`fortran`};function qy(e){let t=((e??``).trim().split(/\s+/u,1)[0]??``).replace(/[^A-Za-z0-9_+#.-]/gu,``).slice(0,24);if(t.length===0)return{label:null,grammar:null,mermaid:!1};let n=t.toLocaleLowerCase(`en-US`);return n===`mermaid`?{label:`mermaid`,grammar:null,mermaid:!0}:{label:t,grammar:Ky[n]??null,mermaid:!1}}var Jy=16384,Yy=new TextEncoder;function Xy(e){if(e.trim().length===0)return`The diagram is empty.`;if(Yy.encode(e).byteLength>16384)return`The diagram source is larger than ${Jy/1024} KiB, so it is shown as text.`;let t=e.split(`
72
+ `).length;return t>400?`The diagram has ${t} lines; the GUI renders at most 400.`:null}var Zy=/^\s*<details\b([^>]*)>/i,Qy=/^\s*<summary\b[^>]*>([\s\S]*?)<\/summary\s*>/i,$y=/^\s*<\/details\s*>\s*$/i,eb=/<\/details\s*>\s*$/i;function tb(e){let t=Zy.exec(e);if(!t)return null;let n=e.slice(t[0].length),r=Qy.exec(n);r&&(n=n.slice(r[0].length));let i=eb.exec(n);return i&&(n=n.slice(0,i.index)),{open:/(?:^|\s)open(?:\s|=|$)/i.test(t[1]??``),summary:r?.[1],rest:n,complete:i!==null}}function nb(e){let t=[],n=0;for(;n<e.length;){let r=e[n],i=r.type===`html`?tb(r.text):null;if(!i){t.push(r),n+=1;continue}let a=i.rest.trim()?[...zy(i.rest)]:[],o=n+1;if(!i.complete){let t=1;for(;o<e.length;o+=1){let n=e[o];if(n.type===`html`){let e=n.text;if($y.test(e)){if(--t,t===0)break}else tb(e)?.complete===!1&&(t+=1)}a.push(n)}}t.push({kind:`details`,key:r,summary:i.summary,open:i.open,children:nb(a)}),n=i.complete?n+1:o+1}return t}function rb(e){return`kind`in e&&e.kind===`details`}function ib(e){return(e??``).replace(/<[^>]*>/g,``).replace(/\s+/g,` `).trim()||`Details`}function ab(e){let t=0;for(let n=e?.parentElement??null;n;n=n.parentElement)n.tagName.toUpperCase()===`DETAILS`&&n.open===!1&&(n.open=!0,t+=1);return t}function ob(e){let t=new Map,n=new Map;return Iy.walkTokens([...e],e=>{if(e.type!==`heading`)return;let r=e.text.replace(/<[^>]*>/g,``).replace(/[`*_~]/g,``).toLowerCase().replace(/[^\p{L}\p{N}_\s-]/gu,``).replace(/\s/g,`-`),i=n.get(r)??0;n.set(r,i+1),t.set(e,i?`${r}-${i}`:r)}),t}var sb={clike:()=>r(()=>import(`./prism-clike-DapgWyxx.js`),[]),javascript:()=>r(()=>import(`./prism-javascript-BnO-swvr.js`),[]),typescript:()=>r(()=>import(`./prism-typescript-BMqONzxf.js`),[]),markup:()=>r(()=>import(`./prism-markup-Cp04rIa1.js`),[]),jsx:()=>r(()=>import(`./prism-jsx-D-D0NWtC.js`),[]),tsx:()=>r(()=>import(`./prism-tsx-p6J2Kc_4.js`),[]),python:()=>r(()=>import(`./prism-python-CfiSVtM6.js`),[]),bash:()=>r(()=>import(`./prism-bash-D6zCJ74D.js`),[]),"shell-session":()=>r(()=>import(`./prism-shell-session-Be4UuYoM.js`),[]),yaml:()=>r(()=>import(`./prism-yaml-C0JHu8gr.js`),[]),markdown:()=>r(()=>import(`./prism-markdown-C0FPJ1Iz.js`),[]),c:()=>r(()=>import(`./prism-c-04YixN25.js`),[]),cpp:()=>r(()=>import(`./prism-cpp-C-lJbC-6.js`),[]),rust:()=>r(()=>import(`./prism-rust-Bu9N8X3N.js`),[]),go:()=>r(()=>import(`./prism-go-C_8qAH5n.js`),[]),sql:()=>r(()=>import(`./prism-sql-CYhVDMEE.js`),[]),diff:()=>r(()=>import(`./prism-diff-BF8m0_mq.js`),[]),json:()=>r(()=>import(`./prism-json-Dp_-W-Hv.js`),[]),toml:()=>r(()=>import(`./prism-toml-DKb54GAT.js`),[]),css:()=>r(()=>import(`./prism-css-CPgOzxXp.js`),[]),docker:()=>r(()=>import(`./prism-docker-DkT6yOFj.js`),[]),makefile:()=>r(()=>import(`./prism-makefile-CRKWLQ8l.js`),[]),latex:()=>r(()=>import(`./prism-latex-DNMbqcH_.js`),[]),ini:()=>r(()=>import(`./prism-ini-BESK3y0r.js`),[]),r:()=>r(()=>import(`./prism-r-QmNGR8LX.js`),[]),julia:()=>r(()=>import(`./prism-julia-DIjOgiAV.js`),[]),matlab:()=>r(()=>import(`./prism-matlab-D-nk08al.js`),[]),fortran:()=>r(()=>import(`./prism-fortran-Be5x3y1V.js`),[])},cb={javascript:[`clike`],typescript:[`javascript`],jsx:[`markup`,`javascript`],tsx:[`jsx`,`typescript`],c:[`clike`],cpp:[`c`],go:[`clike`],markdown:[`markup`],"shell-session":[`bash`]},lb=null,ub=new Map;function db(){return lb===null&&(globalThis.Prism={manual:!0},lb=r(()=>import(`./prism-core-BtsZdCS6.js`).then(t=>e(t.default,1)).then(e=>{let t=e.default??globalThis.Prism;if(typeof t!=`object`||!t||!(`tokenize`in t))throw Error(`Prism core did not load.`);return t}),__vite__mapDeps([0,1]))),lb}function fb(e){let t=ub.get(e);if(t!==void 0)return t;let n=sb[e];if(n===void 0)return Promise.resolve(!1);let r=(async()=>{await db();for(let t of cb[e]??[])if(!await fb(t))return!1;return await n(),!0})().catch(()=>!1);return ub.set(e,r),r}function pb(e){return e.map(e=>{if(typeof e==`string`)return{type:null,content:e};let t=e.alias===void 0?[]:typeof e.alias==`string`?[e.alias]:e.alias;return{type:[e.type,...t].join(` `),content:typeof e.content==`string`?e.content:pb(e.content)}})}async function mb(e,t){if(!await fb(t))return null;let n=await db(),r=n.languages[t];if(r===void 0)return null;try{return pb(n.tokenize(e,r))}catch{return null}}var hb={background:`transparent`,fontFamily:`"Atkinson Hyperlegible Next Variable", "Segoe UI", sans-serif`,fontSize:`13px`,primaryColor:`#10161d`,primaryTextColor:`#dce5e5`,primaryBorderColor:`#2aab9e`,secondaryColor:`#151d25`,secondaryTextColor:`#dce5e5`,secondaryBorderColor:`#2f5d5a`,tertiaryColor:`#0c1117`,tertiaryTextColor:`#dce5e5`,tertiaryBorderColor:`#2f5d5a`,lineColor:`#1fb7a6`,textColor:`#dce5e5`,mainBkg:`#10161d`,nodeBorder:`#2aab9e`,clusterBkg:`#0c1117`,clusterBorder:`#2f5d5a`,titleColor:`#f4f7f6`,edgeLabelBackground:`#090d12`,actorBkg:`#10161d`,actorBorder:`#2aab9e`,actorTextColor:`#dce5e5`,signalColor:`#dce5e5`,signalTextColor:`#dce5e5`,labelBoxBkgColor:`#10161d`,labelTextColor:`#dce5e5`,noteBkgColor:`#151d25`,noteTextColor:`#dce5e5`,noteBorderColor:`#2f5d5a`,errorBkgColor:`#2a1519`,errorTextColor:`#ff5c66`},gb={USE_PROFILES:{svg:!0,svgFilters:!0},FORBID_TAGS:[`foreignObject`,`script`,`a`,`image`,`iframe`,`object`,`embed`,`animate`,`set`],FORBID_ATTR:[`href`,`xlink:href`,`onload`,`onclick`,`onerror`,`onmouseover`]},_b=null,vb=0;function yb(){return _b===null&&(_b=Promise.all([r(()=>import(`./mermaid.core-N9qUTre1.js`).then(e=>e.t),__vite__mapDeps([2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21])),r(()=>import(`./purify.es-ChwZkWde.js`),[])]).then(([e,t])=>{let n=e.default;return n.initialize({startOnLoad:!1,securityLevel:`strict`,htmlLabels:!1,flowchart:{htmlLabels:!1,useMaxWidth:!0},sequence:{useMaxWidth:!0},gantt:{useMaxWidth:!0},theme:`base`,themeVariables:hb,fontFamily:hb.fontFamily,maxTextSize:16384,maxEdges:400,suppressErrorRendering:!0,deterministicIds:!0,logLevel:`fatal`}),{mermaid:n,sanitizer:t.default}}),_b.catch(()=>{_b=null})),_b}function bb(e){let t=(e instanceof Error?e.message:typeof e==`string`?e:`Mermaid failed.`).split(`
73
+ `).slice(0,4).join(`
74
+ `).trim();return(t.length===0?`Mermaid could not render this diagram.`:t).slice(0,400)}var xb=Promise.resolve();function Sb(e){let t=Xy(e);if(t!==null)return Promise.resolve({ok:!1,error:t});let n=xb.then(()=>new Promise(e=>setTimeout(e,0))).then(()=>Cb(e));return xb=n.catch(()=>void 0),n}async function Cb(e){let t;try{t=await yb()}catch(e){return{ok:!1,error:`The diagram renderer could not load: ${bb(e)}`}}try{await t.mermaid.parse(e),vb+=1;let{svg:n}=await t.mermaid.render(`clio-coder-diagram-${vb}`,e),r=t.sanitizer.sanitize(n,gb);return r.includes(`<svg`)?{ok:!0,svg:r}:{ok:!1,error:`Mermaid returned no drawable SVG.`}}catch(e){return{ok:!1,error:bb(e)}}}var{createContext:wb,memo:Tb,useContext:Eb,useEffect:Db,useMemo:Ob,useRef:kb,useState:Ab}=v,jb=/&(#x[0-9a-f]+|#[0-9]+|amp|lt|gt|quot|apos|nbsp|copy|reg|hellip|mdash|ndash|rarr|larr|times);/giu,Mb={amp:`&`,lt:`<`,gt:`>`,quot:`"`,apos:`'`,nbsp:`\xA0`,copy:`©`,reg:`®`,hellip:`…`,mdash:`—`,ndash:`–`,rarr:`→`,larr:`←`,times:`×`};function Nb(e){return e.includes(`&`)?e.replace(jb,(e,t)=>{let n=t.toLowerCase();if(n.startsWith(`#x`)){let t=Number.parseInt(n.slice(2),16);return Number.isFinite(t)&&t>0&&t<=1114111?String.fromCodePoint(t):e}if(n.startsWith(`#`)){let t=Number.parseInt(n.slice(1),10);return Number.isFinite(t)&&t>0&&t<=1114111?String.fromCodePoint(t):e}return Mb[n]??e}):e}function Pb(e,t=`600px`){let[n,r]=Ab(!1);return Db(()=>{let i=e.current;if(i===null||n)return;if(typeof IntersectionObserver>`u`){r(!0);return}let a=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(r(!0),a.disconnect())},{rootMargin:t});return a.observe(i),()=>a.disconnect()},[e,n,t]),n}function Fb(e){try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.opacity=`0`,document.body.append(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}catch{return!1}}function Ib({text:e,label:t=`Copy`}){let[n,r]=Ab(`idle`),i=kb(null);Db(()=>()=>{i.current!==null&&clearTimeout(i.current)},[]);async function a(){let t=`failed`;try{await navigator.clipboard.writeText(e),t=`copied`}catch{t=Fb(e)?`copied`:`failed`}r(t),i.current!==null&&clearTimeout(i.current),i.current=setTimeout(()=>r(`idle`),1600)}return(0,q.jsx)(`button`,{type:`button`,className:`code-block__copy is-${n}`,onClick:()=>void a(),"aria-label":n===`copied`?`Copied to the clipboard`:n===`failed`?`Copy failed`:t,children:n===`copied`?`Copied`:n===`failed`?`Copy failed`:t})}function Lb({tokens:e}){return(0,q.jsx)(q.Fragment,{children:e.map(e=>e.type===null?typeof e.content==`string`?e.content:(0,q.jsx)(Lb,{tokens:e.content},rx(e)):(0,q.jsx)(`span`,{className:`token ${e.type}`,children:typeof e.content==`string`?e.content:(0,q.jsx)(Lb,{tokens:e.content})},rx(e)))})}var Rb=Tb(function({code:e,info:t,settled:n}){let r=qy(t),i=kb(null),a=Pb(i),[o,s]=Ab(null),c=r.grammar,l=n&&a&&c!==null&&e.length<=6e4;Db(()=>{if(!l||c===null)return;let t=!1;return mb(e,c).then(e=>{t||s(e)}),()=>{t=!0}},[l,e,c]);let u=e.length===0?0:e.split(`
75
+ `).length;return(0,q.jsxs)(`div`,{className:`code-block${n?` is-settled`:` is-streaming`}`,ref:i,"data-language":c??void 0,children:[(0,q.jsxs)(`div`,{className:`code-block__bar`,children:[(0,q.jsx)(`span`,{className:`code-block__lang`,children:r.label??`text`}),(0,q.jsxs)(`span`,{className:`code-block__lines`,children:[u,` `,u===1?`line`:`lines`]}),(0,q.jsx)(Ib,{text:e})]}),(0,q.jsx)(ex,{children:(0,q.jsxs)(`code`,{className:c===null?void 0:`language-${c}`,children:[o===null?e:(0,q.jsx)(Lb,{tokens:o}),n?null:(0,q.jsx)(`span`,{className:`code-block__cursor`,"aria-hidden":`true`})]})})]})}),zb=wb(!1),Bb=wb(null),Vb=/^\/docs(?:\/|$)/,Hb=Tb(function({source:e,settled:t}){let n=kb(null),r=Pb(n),i=Eb(zb),[a,o]=Ab(null),[s,c]=Ab(!1),l=Xy(e),u=t&&!i&&r&&l===null;Db(()=>{if(!u)return;let t=!1;return o(null),Sb(e).then(e=>{t||o(e)}),()=>{t=!0}},[u,e]);let d=!t||i?`pending`:l===null?a===null?`rendering`:a.ok?`rendered`:`failed`:`bounded`,f=d===`pending`?`The diagram renders once this response settles.`:d===`bounded`?l:d===`rendering`?`Rendering the diagram…`:d===`failed`&&a!==null&&!a.ok?`Mermaid could not render this diagram: ${a.error}`:null,p=d!==`rendered`||s;return(0,q.jsxs)(`figure`,{className:`diagram is-${d}`,ref:n,"aria-label":`Mermaid diagram`,children:[(0,q.jsxs)(`div`,{className:`code-block__bar`,children:[(0,q.jsx)(`span`,{className:`code-block__lang`,children:`mermaid`}),d===`rendered`&&(0,q.jsx)(`button`,{type:`button`,className:`code-block__copy`,"aria-pressed":s,onClick:()=>c(e=>!e),children:s?`Hide source`:`Show source`}),(0,q.jsx)(Ib,{text:e,label:`Copy source`})]}),d===`rendered`&&a!==null&&a.ok&&(0,q.jsx)(ix,{svg:a.svg}),p&&(0,q.jsx)(ex,{children:(0,q.jsx)(`code`,{className:`language-mermaid`,children:e})}),f!==null&&(0,q.jsx)(`figcaption`,{className:`diagram__status`,role:d===`failed`?`alert`:`status`,children:f})]})});function Ub(e){return`h${Math.min(6,Math.max(2,e+1))}`}function Wb({tokens:e}){return(0,q.jsx)(q.Fragment,{children:e.map(e=>(0,q.jsx)(Gb,{token:e},rx(e)))})}function Gb({token:e}){let t=Eb(Bb);switch(e.type){case`text`:{let t=e;return t.tokens!==void 0&&t.tokens.length>0?(0,q.jsx)(Wb,{tokens:t.tokens}):Nb(t.text)}case`escape`:return e.text;case`strong`:return(0,q.jsx)(`strong`,{children:(0,q.jsx)(Wb,{tokens:e.tokens})});case`em`:return(0,q.jsx)(`em`,{children:(0,q.jsx)(Wb,{tokens:e.tokens})});case`del`:return(0,q.jsx)(`del`,{children:(0,q.jsx)(Wb,{tokens:e.tokens})});case`codespan`:return(0,q.jsx)(`code`,{children:e.text});case`br`:return(0,q.jsx)(`br`,{});case`link`:{let n=e,r=t?.links[n.href],i=t?r&&(Vb.test(r)||By(r))?r:null:By(n.href);if(i===null)return(0,q.jsx)(`span`,{className:`md-link md-link--blocked`,title:`This link was not activated: unsupported destination`,children:(0,q.jsx)(Wb,{tokens:n.tokens})});let a=Vb.test(i),o=t?.onNavigate;return(0,q.jsx)(`a`,{className:`md-link`,href:i,target:a?void 0:`_blank`,rel:`noopener noreferrer`,title:n.title??void 0,onClick:a&&o?e=>{e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),o(i))}:void 0,children:(0,q.jsx)(Wb,{tokens:n.tokens})})}case`image`:{let t=e;return(0,q.jsxs)(`span`,{className:`md-image`,title:`Images are not fetched by the Clio Coder GUI`,children:[`[image`,t.text.length>0?`: ${t.text}`:``,`]`]})}case`checkbox`:return(0,q.jsx)(`input`,{type:`checkbox`,className:`md-task`,checked:e.checked,readOnly:!0,disabled:!0,"aria-label":e.checked?`Done`:`Not done`});case`html`:return(0,q.jsx)(`span`,{className:`md-html`,children:e.text});case`space`:return null;default:{let t=e;return Array.isArray(t.tokens)?(0,q.jsx)(Wb,{tokens:t.tokens}):typeof t.text==`string`?t.text:t.raw}}}function Kb({items:e,settled:t}){return(0,q.jsx)(q.Fragment,{children:e.map(e=>(0,q.jsx)(`li`,{className:e.task?`md-task-item`:void 0,children:(0,q.jsx)(Jb,{tokens:e.tokens,settled:t})},rx(e)))})}function qb({token:e,settled:t}){let n=Eb(Bb);switch(e.type){case`space`:case`def`:return null;case`heading`:{let t=e,r=Ub(t.depth);return(0,q.jsx)(r,{id:n?.headings.get(e),className:`md-heading md-heading--${t.depth}`,children:(0,q.jsx)(Wb,{tokens:t.tokens})})}case`paragraph`:return(0,q.jsx)(`p`,{children:(0,q.jsx)(Wb,{tokens:e.tokens})});case`text`:{let t=e;return t.tokens!==void 0&&t.tokens.length>0?(0,q.jsx)(Wb,{tokens:t.tokens}):Nb(t.text)}case`list`:{let n=e,r=n.items.some(e=>e.task)?`md-list md-list--tasks`:`md-list`;return n.ordered?(0,q.jsx)(`ol`,{className:r,start:typeof n.start==`number`&&n.start!==1?n.start:void 0,children:(0,q.jsx)(Kb,{items:n.items,settled:t})}):(0,q.jsx)(`ul`,{className:r,children:(0,q.jsx)(Kb,{items:n.items,settled:t})})}case`blockquote`:return(0,q.jsx)(`blockquote`,{children:(0,q.jsx)(Jb,{tokens:e.tokens,settled:t})});case`code`:{let n=e;return qy(n.lang).mermaid?(0,q.jsx)(Hb,{source:n.text,settled:t}):(0,q.jsx)(Rb,{code:n.text,info:n.lang,settled:t})}case`table`:{let t=e;return(0,q.jsx)($b,{children:(0,q.jsxs)(`table`,{children:[(0,q.jsx)(`thead`,{children:(0,q.jsx)(`tr`,{children:t.header.map(e=>(0,q.jsx)(`th`,{scope:`col`,style:e.align?{textAlign:e.align}:void 0,children:(0,q.jsx)(Wb,{tokens:e.tokens})},rx(e)))})}),(0,q.jsx)(`tbody`,{children:t.rows.map(e=>(0,q.jsx)(`tr`,{children:e.map(e=>(0,q.jsx)(`td`,{style:e.align?{textAlign:e.align}:void 0,children:(0,q.jsx)(Wb,{tokens:e.tokens})},rx(e)))},rx(e)))})]})})}case`hr`:return(0,q.jsx)(`hr`,{});case`html`:{let t=e.text;return n&&Qb.test(t)?null:(0,q.jsx)(`p`,{className:`md-html`,children:t})}case`checkbox`:return(0,q.jsx)(Gb,{token:e});default:{let t=e;return Array.isArray(t.tokens)?(0,q.jsx)(`p`,{children:(0,q.jsx)(Wb,{tokens:t.tokens})}):(0,q.jsx)(`p`,{children:typeof t.text==`string`?t.text:t.raw})}}}var Jb=Tb(function({tokens:e,settled:t}){let n=Eb(Bb)!==null,r=Ob(()=>n?nb(e):e,[n,e]);return(0,q.jsx)(Yb,{nodes:r,settled:t})});function Yb({nodes:e,settled:t}){return(0,q.jsx)(q.Fragment,{children:e.map(e=>rb(e)?(0,q.jsxs)(`details`,{className:`md-details`,open:e.open||void 0,children:[(0,q.jsx)(`summary`,{children:Nb(ib(e.summary))}),(0,q.jsx)(`div`,{className:`md-details__body`,children:(0,q.jsx)(Yb,{nodes:e.children,settled:t})})]},rx(e.key)):(0,q.jsx)(qb,{token:e,settled:t},rx(e)))})}var Xb=Tb(function({source:e,complete:t,deferDiagrams:n=!1,documentLinks:r,onDocumentNavigate:i}){let a=kb(null),o=Ob(()=>t?null:(a.current??=new Gy,a.current.update(e)),[e,t]),s=Ob(()=>t?zy(e):null,[e,t]),c=Ob(()=>r?{links:r,headings:ob(s??[]),onNavigate:i}:null,[r,s,i]),l=s??o?.settled??Zb,u=s===null?o?.tail??Zb:Zb;return(0,q.jsx)(Bb.Provider,{value:c,children:(0,q.jsx)(zb.Provider,{value:s===null||n,children:(0,q.jsxs)(`div`,{className:`markdown ${s===null?`is-streaming`:`is-complete`}`,children:[(0,q.jsx)(Jb,{tokens:l,settled:!0}),(0,q.jsx)(Jb,{tokens:u,settled:!1})]})})})}),Zb=[],Qb=/^\s*<(p|div)\b[^>]*>\s*<img\b[^>]*>\s*<\/\1>\s*$/i;function $b({children:e}){let t=kb(null),[n,r]=Ab(!1);return Db(()=>{let e=t.current;if(!e)return;let n=()=>r(e.scrollWidth>e.clientWidth+1);n();let i=new ResizeObserver(n);return i.observe(e),e.firstElementChild&&i.observe(e.firstElementChild),()=>i.disconnect()},[]),(0,q.jsx)(`div`,{className:`md-table`,ref:t,...n?{tabIndex:0,role:`group`,"aria-label":`Scrollable table`}:{},children:e})}function ex({children:e}){return(0,q.jsx)(`pre`,{tabIndex:0,children:e})}var tx=new WeakMap,nx=0;function rx(e){let t=tx.get(e);return t===void 0&&(t=++nx,tx.set(e,t)),t}function ix({svg:e}){let t=kb(null);return Db(()=>{let n=t.current;if(!n)return;let r=new DOMParser().parseFromString(e,`image/svg+xml`);if(r.documentElement.localName!==`svg`)return;n.replaceChildren(n.ownerDocument.importNode(r.documentElement,!0));let i=!1;return n.ownerDocument.fonts.ready.then(()=>{if(i)return;let e=n.querySelector(`svg`);if(!e)return;let t=e.getBBox();![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.width<=0||t.height<=0||(e.setAttribute(`viewBox`,`${t.x-8} ${t.y-8} ${t.width+16} ${t.height+16}`),e.style.maxWidth=`${t.width+16}px`)}),()=>{i=!0,n.replaceChildren()}},[e]),(0,q.jsx)(`div`,{className:`diagram__canvas`,ref:t})}function ax(e,t=``){return`/docs/${e.split(`/`).map(encodeURIComponent).join(`/`)}${t}`}var ox=`(min-width: 1600px)`,sx=250;function cx({text:e,terms:t}){if(!t.length)return(0,q.jsx)(q.Fragment,{children:e});let n=RegExp(`\\b(${t.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`)})`,`gi`),r=0,i=e.split(n).map((e,t)=>{let n={part:e,hit:t%2==1,at:r};return r+=e.length,n});return(0,q.jsx)(q.Fragment,{children:i.map(({part:e,hit:t,at:n})=>t?(0,q.jsx)(`mark`,{children:e},`hit${n}`):(0,q.jsx)(v.Fragment,{children:e},`text${n}`))})}function lx({client:e}){let t=te()[`*`]||`README.md`,n=a(),r=d(),[i,o]=(0,v.useState)(``),[s,c]=(0,v.useState)(``),[u,f]=(0,v.useState)(()=>window.matchMedia(`(min-width: 1100px)`).matches),[p,m]=(0,v.useState)(()=>window.matchMedia(ox).matches),h=(0,v.useRef)(null),ee=(0,v.useRef)(null),[g,ne]=(0,v.useState)(!1),re=l({queryKey:[`docs-tree`],queryFn:()=>e.call(K.docsTree,y),staleTime:1/0}),ie=l({queryKey:[`docs-page`,t],queryFn:()=>e.call(K.docsPage,{...y,query:{path:t}})}),ae=l({queryKey:[`docs-search`,s],queryFn:()=>e.call(K.docsSearch,{...y,query:{q:s}}),enabled:!!s}),oe=(0,v.useCallback)(e=>void r(e),[r]),se=()=>{c(``),window.matchMedia(`(min-width: 1100px)`).matches||f(!1)};(0,v.useEffect)(()=>{let e=window.matchMedia(`(min-width: 1100px)`),t=()=>f(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,v.useEffect)(()=>{let e=window.matchMedia(ox),t=()=>m(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,v.useEffect)(()=>{let e=i.trim();if(e.length<2){e||c(``);return}let t=setTimeout(()=>c(e),sx);return()=>clearTimeout(t)},[i]),(0,v.useEffect)(()=>ne(!1),[t]),(0,v.useEffect)(()=>{let e=e=>{let t=e.target;e.key!==`/`||e.metaKey||e.ctrlKey||e.altKey||t?.closest(`input, textarea, select, [contenteditable]`)||(e.preventDefault(),h.current?.focus(),h.current?.select())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[]),(0,v.useEffect)(()=>{if(!ie.data)return;let e;try{e=decodeURIComponent(n.hash.slice(1))}catch{return}let t=requestAnimationFrame(()=>{let t=e?document.getElementById(e):null;ab(t),t?t.scrollIntoView():document.querySelector(`.docs-heading`)?.scrollIntoView({block:`start`})});return()=>cancelAnimationFrame(t)},[ie.data,n.hash,n.key]);let ce=ie.data?.headings.filter(e=>e.depth===2||e.depth===3)??[],le=(0,v.useMemo)(()=>[...new Set(s.toLowerCase().split(/\s+/).filter(Boolean))],[s]),ue=(0,v.useMemo)(()=>{let e=new Map;for(let t of re.data?.groups??[])for(let n of t.pages)e.set(n.path,n.title);return[...e].map(([e,t])=>({path:e,title:t}))},[re.data]),de=ue.findIndex(e=>e.path===t),fe=de>0?ue[de-1]:void 0,pe=de>=0?ue[de+1]:void 0;return(0,q.jsxs)(`section`,{className:`docs`,children:[(0,q.jsxs)(`header`,{className:`docs-heading`,children:[(0,q.jsx)(Y_,{panel:Y.docs,level:1}),(0,q.jsxs)(`form`,{className:`docs-search`,onSubmit:e=>{e.preventDefault(),c(i.trim())},children:[(0,q.jsx)(`label`,{htmlFor:`docs-query`,children:`Search the documentation`}),(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsx)(`input`,{id:`docs-query`,type:`search`,ref:h,placeholder:`Guide, command, or setting…`,"aria-keyshortcuts":`/`,value:i,onKeyDown:e=>{e.key===`Escape`&&(o(``),c(``))},maxLength:200,onChange:e=>o(e.target.value)}),(0,q.jsx)(`button`,{type:`submit`,children:`Search docs`})]})]})]}),s&&(0,q.jsxs)(`section`,{className:`docs-results`,"aria-label":`Search results`,children:[(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsxs)(`h2`,{children:[`Results for “`,s,`”`,ae.data?(0,q.jsxs)(`span`,{className:`docs-result-count`,children:[` · `,ae.data.length]}):null]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{o(``),c(``)},children:`Close search`})]}),ae.isPending?(0,q.jsx)(`p`,{role:`status`,children:`Searching…`}):ae.error?(0,q.jsx)(`p`,{role:`alert`,children:ae.error.message}):ae.data.length?(0,q.jsx)(`ul`,{children:ae.data.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(_,{onClick:se,to:ax(e.path),children:(0,q.jsx)(cx,{text:e.title,terms:le})}),(0,q.jsx)(`span`,{className:`docs-result-path`,children:e.path}),(0,q.jsx)(`p`,{children:(0,q.jsx)(cx,{text:e.excerpt,terms:le})})]},e.path))}):(0,q.jsx)(`p`,{children:`No matching documents. Try a command or a shorter phrase.`})]}),(0,q.jsxs)(`div`,{className:`docs-layout`,children:[(0,q.jsx)(`aside`,{className:`docs-navigation`,"aria-label":`Documentation navigation`,children:(0,q.jsxs)(`details`,{open:u,onToggle:e=>f(e.currentTarget.open),children:[(0,q.jsx)(`summary`,{children:`Browse documentation`}),(0,q.jsx)(_,{className:`docs-home`,"aria-current":t===`README.md`?`page`:void 0,onClick:se,to:`/docs`,children:`Documentation map`}),re.error?(0,q.jsx)(`p`,{role:`alert`,children:re.error.message}):re.data?(0,q.jsxs)(q.Fragment,{children:[re.data.groups.map(e=>(0,q.jsxs)(`details`,{open:e.pages.some(e=>e.path===t),children:[(0,q.jsx)(`summary`,{children:e.title}),(0,q.jsx)(`ul`,{children:e.pages.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(_,{"aria-current":e.path===t?`page`:void 0,onClick:se,to:ax(e.path),children:e.title})},e.path))})]},e.title)),(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[`All documents · `,re.data.pages.length]}),(0,q.jsx)(`ul`,{children:re.data.pages.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(_,{"aria-current":e.path===t?`page`:void 0,onClick:se,to:ax(e.path),children:e.title})},e.path))})]})]}):(0,q.jsx)(`p`,{role:`status`,children:`Reading the documentation map…`})]})}),(0,q.jsx)(`article`,{className:`docs-page`,ref:ee,"aria-label":ie.data?.title??`Document`,children:ie.isPending?(0,q.jsx)(`p`,{role:`status`,children:`Reading document…`}):ie.error?(0,q.jsxs)(`div`,{role:`alert`,children:[(0,q.jsx)(`h2`,{children:`Document unavailable`}),(0,q.jsx)(`p`,{children:ie.error.message}),(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>void ie.refetch(),children:`Try again`}),(0,q.jsx)(_,{to:`/docs`,children:`Browse documentation`})]})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`docs-meta`,children:[(0,q.jsx)(`p`,{className:`docs-path`,children:ie.data.path}),/<details[\s>]/i.test(ie.data.markdown)&&(0,q.jsx)(`button`,{type:`button`,className:`docs-expand`,"aria-pressed":g,onClick:()=>{let e=!g;ne(e);for(let t of ee.current?.querySelectorAll(`details.md-details`)??[])t.open=e},children:g?`Collapse all sections`:`Expand all sections`})]}),ce.length>0&&(0,q.jsx)(`nav`,{className:`docs-outline`,"aria-label":`On this page`,children:(0,q.jsxs)(`details`,{open:p||void 0,children:[(0,q.jsx)(`summary`,{children:`On this page`}),(0,q.jsx)(`ol`,{children:ce.map(e=>(0,q.jsx)(`li`,{"data-depth":e.depth,children:(0,q.jsx)(_,{to:ax(t,`#${encodeURIComponent(e.id)}`),children:e.title})},e.id))})]},`${t}:${p}`)}),(0,q.jsx)(Xb,{source:ie.data.markdown,complete:!0,documentLinks:ie.data.links,onDocumentNavigate:oe},t),(fe||pe)&&(0,q.jsxs)(`nav`,{className:`docs-pager`,"aria-label":`Previous and next document`,children:[fe?(0,q.jsxs)(_,{rel:`prev`,to:ax(fe.path),children:[(0,q.jsx)(`span`,{children:`Previous`}),fe.title]}):(0,q.jsx)(`span`,{}),pe&&(0,q.jsxs)(_,{rel:`next`,to:ax(pe.path),children:[(0,q.jsx)(`span`,{children:`Next`}),pe.title]})]})]})})]}),(0,q.jsx)(X_,{panel:Y.docs})]})}function ux(e,t){let n=i();return l({queryKey:[`operation`,t],enabled:t!==null,retry:!1,queryFn:async()=>{let r=await e.call(K.operation,{params:{id:t??``},query:{},body:{}}),i=n.getQueryData([`operation`,t]);return i&&i.revision>r.revision?i:r}})}var dx={depth:4,keys:40,items:24,text:600},fx={ids:`IDs`},px=new Set([`id`,`ids`,`url`,`usd`,`api`,`acp`,`cwd`,`sha`,`sha256`,`ms`,`cli`,`json`,`ttl`,`pid`]);function mx(e){let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[_\-.]+/g,` `).trim().split(/\s+/).filter(Boolean).filter((e,t,n)=>!(t===n.length-1&&n.length>1&&/^(ms|usd)$/i.test(e))).map(e=>{let t=e.toLowerCase();return fx[t]??(px.has(t)?e.toUpperCase():t)}),n=t[0];return n?[px.has(n.toLowerCase())?n:`${n[0]?.toUpperCase()}${n.slice(1)}`,...t.slice(1)].join(` `):e}var hx=/^(kind|state|status|reason|outcome|verdict|level|tier|mode|phase|class|category)$|[a-z0-9](Kind|State|Status|Reason|Outcome|Verdict|Level|Tier|Mode|Phase|Class|Category)$|[_-](kind|state|status|reason|outcome|verdict|level|tier|mode|phase|class|category)$/,gx=/^[a-z][a-z0-9]*(?:[_-][a-z0-9]+)*$/;function _x(e){let t=e.split(/[_-]+/).map(e=>fx[e]??(px.has(e)?e.toUpperCase():e)),n=t[0]??e;return[px.has(n.toLowerCase())?n:`${n[0]?.toUpperCase()}${n.slice(1)}`,...t.slice(1)].join(` `)}var vx=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/,yx=e=>e.length>dx.text?`${e.slice(0,dx.text-1)}…`:e;function bx(e,t){if(t==null)return{text:`Not recorded`,tone:`absent`};if(typeof t==`boolean`)return t?{text:`Yes`,tone:`yes`}:{text:`No`,tone:`no`};if(typeof t==`number`)return Number.isFinite(t)?/usd$/i.test(e)?{text:he(t)}:/ms$/i.test(e)?{text:xe(t)}:/(bytes|Bytes)$/.test(e)?{text:`${t.toLocaleString(`en-US`)} bytes`}:{text:t.toLocaleString(`en-US`)}:{text:`Not recorded`,tone:`absent`};if(t===``)return{text:`Empty`,tone:`absent`};if(vx.test(t))return{text:ye(t)};if(hx.test(e)&&gx.test(t))return{text:_x(t)};let n=/(^|[a-z])(id|ids|hash|sha256|digest|path|ref|cwd|url)$/i.test(e)||/^[a-f0-9]{16,}$/.test(t);return{text:yx(t),...n?{mono:!0}:{}}}var xx=e=>typeof e!=`object`||!e;function Sx(e,t={},n=0){if(xx(e)||Array.isArray(e))return{facts:[Cx(`Value`,`value`,e,n)],omitted:0};let r=new Set(t.hide??[]),i=Object.entries(e).filter(([e])=>!r.has(e)),a=(t.order??[]).flatMap(e=>i.filter(([t])=>t===e)),o=i.filter(([e])=>!(t.order??[]).includes(e)),s=[...a,...o];return{facts:s.slice(0,dx.keys).map(([e,t])=>Cx(mx(e),e,t,n)),omitted:Math.max(0,s.length-dx.keys)}}function Cx(e,t,n,r){if(xx(n))return{kind:`value`,label:e,...bx(t,n)};if(Array.isArray(n)){if(!n.length)return{kind:`value`,label:e,text:`None`,tone:`absent`};let i=n.slice(0,dx.items),a=n.length-i.length;return i.every(xx)?{kind:`list`,label:e,items:i.map(e=>bx(t,e).text),omitted:a}:r>=dx.depth?{kind:`value`,label:e,text:`${n.length} nested records`,tone:`absent`}:{kind:`rows`,label:e,rows:i.map(e=>Sx(e,{},r+1).facts),omitted:a}}let i=Object.keys(n).length;if(!i)return{kind:`value`,label:e,text:`None`,tone:`absent`};if(r>=dx.depth)return{kind:`value`,label:e,text:`${i} nested fields`,tone:`absent`};let a=Sx(n,{},r+1);return{kind:`group`,label:e,facts:a.facts,omitted:a.omitted}}var wx=e=>typeof e==`number`&&Number.isFinite(e)&&e>0?e.toLocaleString(`en-US`):`Not reported`,Tx=(e,t)=>e>0?`${e.toLocaleString(`en-US`)} more ${t}${e===1?` is`:`s are`} outside this bounded view.`:``;function Ex({fact:e}){return e.kind===`value`?(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:e.label}),(0,q.jsx)(`dd`,{"data-tone":e.tone,className:e.mono?`fact__mono`:void 0,children:e.text})]}):e.kind===`list`?(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsxs)(`dt`,{children:[e.label,` · `,e.items.length+e.omitted]}),(0,q.jsxs)(`dd`,{children:[(0,q.jsx)(`ul`,{className:`fact__chips`,children:e.items.map((e,t)=>(0,q.jsx)(`li`,{children:e},`${t}:${e}`))}),e.omitted>0&&(0,q.jsx)(`small`,{children:Tx(e.omitted,`value`)})]})]}):e.kind===`group`?(0,q.jsxs)(`div`,{className:`fact fact--nested`,children:[(0,q.jsx)(`dt`,{children:e.label}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(Dx,{facts:e.facts,omitted:e.omitted})})]}):(0,q.jsxs)(`div`,{className:`fact fact--nested`,children:[(0,q.jsxs)(`dt`,{children:[e.label,` · `,e.rows.length+e.omitted]}),(0,q.jsxs)(`dd`,{children:[(0,q.jsx)(`ol`,{className:`fact__rows`,children:e.rows.map((e,t)=>(0,q.jsx)(`li`,{children:(0,q.jsx)(Dx,{facts:e,omitted:0})},t))}),e.omitted>0&&(0,q.jsx)(`small`,{children:Tx(e.omitted,`record`)})]})]})}function Dx({facts:e,omitted:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dl`,{className:`facts`,children:e.map(e=>(0,q.jsx)(Ex,{fact:e},e.label))}),t>0&&(0,q.jsx)(`small`,{children:Tx(t,`field`)})]})}function Ox({value:e,order:t,hide:n,empty:r=`Nothing was recorded here.`}){if(e==null||typeof e==`object`&&!Object.keys(e).length)return(0,q.jsx)(`p`,{className:`facts__empty`,children:r});let{facts:i,omitted:a}=Sx(e,{...t?{order:t}:{},...n?{hide:n}:{}});return(0,q.jsx)(Dx,{facts:i,omitted:a})}var kx={neutral:`·`,running:`▸`,success:`●`,warn:`◐`,fail:`✕`,unverified:`◌`};function Q({tone:e=`neutral`,label:t,detail:n,title:r}){return(0,q.jsxs)(`span`,{className:`status-mark`,"data-tone":e,title:r,children:[(0,q.jsx)(`span`,{className:`status-mark__glyph`,"aria-hidden":`true`,children:kx[e]}),t,n?(0,q.jsx)(`span`,{className:`status-mark__detail`,children:n}):null]})}function Ax(e){switch(e){case`running`:case`streaming`:case`in_progress`:return`running`;case`completed`:case`success`:case`healthy`:case`verified`:return`success`;case`waiting`:case`pending`:case`estimated`:case`degraded`:case`truncated`:return`warn`;case`failed`:case`error`:case`cancelled`:case`stopped`:return`fail`;case`unavailable`:case`unverified`:case null:case void 0:return`unverified`;default:return`neutral`}}var jx={settings:{short:`SET`,label:`Settings`,description:`Layered values that shape Clio Coder's behavior.`},"clio-md":{short:`CTX`,label:`Project context`,description:`CLIO-CODER.md context Clio Coder can add to the next turn.`},rule:{short:`RUL`,label:`Rules`,description:`Project rules and conditional context boundaries.`},"operator-profile":{short:`OPR`,label:`Operator profile`,description:`Declared operator preferences added to context.`},hook:{short:`HOK`,label:`Hooks`,description:`Middleware reactions loaded by Clio Coder.`},extension:{short:`EXT`,label:`Extensions`,description:`Installed packages and their effective precedence.`},"skill-root":{short:`SKL`,label:`Skill roots`,description:`Locations Clio Coder searches for skills.`},"prompt-root":{short:`PMT`,label:`Prompt roots`,description:`Locations Clio Coder searches for saved prompts.`},"agent-root":{short:`AGT`,label:`Agent roots`,description:`Agent recipe sources visible to this project.`},"fleet-root":{short:`FLT`,label:`Fleet roots`,description:`Locations Clio Coder searches for saved fleets.`},safety:{short:`SAFE`,label:`Safety`,description:`Effective working-freedom and safety facts.`},memory:{short:`MEM`,label:`Memory`,description:`The durable memory surface Clio Coder can consult.`}},Mx=Object.keys(jx),Nx={hot:{label:`Now`,description:`Clio Coder reports this surface as hot-reloadable.`},"next-turn":{label:`Next turn`,description:`Clio Coder reads this surface when the next turn begins.`},reload:{label:`On reload`,description:`A reload inside the conversation picks this up.`},restart:{label:`Restart`,description:`A new Clio Coder process is required before this changes.`},"n/a":{label:`Informational`,description:`No apply timing is attached to this entry.`}},Px={"built-in":`Built in`,user:`User`,project:`Project`,"project.local":`Project local`,cli:`Command line`},Fx=e=>e.toLocaleString(`en-US`);function Ix(e){return e===`builtin`||e===`built-in`?Px[`built-in`]:mx(e)}function Lx(e){return e.sourcePath===void 0?`${e.scope} scope`:e.sourcePath===`/`?`project root`:e.sourcePath}function Rx(e,t){let n=Mx.map(t=>{let n=e.entries.filter(e=>e.category===t);return{category:t,...jx[t],count:n.length,entries:n}}).filter(e=>e.count>0),r=new Map,i=e=>r.set(e,(r.get(e)??0)+1);for(let e of t?.rows??[])i(Px[e.source]);for(let t of e.entries)i(Ix(t.scope));let a=[...r].map(([e,t])=>({label:e,count:t})).sort((e,t)=>t.count-e.count||e.label.localeCompare(t.label,`en-US`)),o=Object.keys(Nx).map(t=>({...Nx[t],count:e.entries.filter(e=>e.reloadClass===t).length})).filter(e=>e.count>0),s=e.entries.filter(e=>e.contextCostTokens!==void 0),c=s.reduce((e,t)=>e+(t.contextCostTokens??0),0),l=e.issues.reduce((e,t)=>e+t.count,0),u=e.entries.filter(e=>e.reloadClass===`restart`).length;return{figures:[t?{label:`Effective setting facts`,value:Fx(t.rows.length),note:`reported in this snapshot`}:{label:`Effective setting facts`,value:`—`,note:`the effective values have not been read yet`},{label:`Customization surfaces`,value:Fx(e.entries.length),note:`${n.length} represented ${n.length===1?`category`:`categories`}`},{label:`Estimated context cost`,value:s.length===0?`—`:`~${Fx(c)}`,note:s.length===0?`no surface reported a cost`:`tokens across ${Fx(s.length)} costed ${s.length===1?`entry`:`entries`}`},{label:`Needs a restart`,value:Fx(u),note:l===0?`no reported inspection issues`:`${Fx(l)} reported ${l===1?`issue`:`issues`}`}],sources:a.slice(0,8),sourcesOmitted:Math.max(0,a.length-8),layers:n,timing:o}}var zx=e=>e.split(/[.[]/u,1)[0]??e;function Bx(e,t=``){let n=t.trim().toLocaleLowerCase(`en-US`),r=new Map;for(let t of e){if(n&&!t.key.toLocaleLowerCase(`en-US`).includes(n))continue;let e=zx(t.key);r.set(e,[...r.get(e)??[],t])}return[...r].map(([e,t])=>({family:e,rows:t})).sort((e,t)=>e.family.localeCompare(t.family,`en-US`))}function Vx(e){return e.value===null?`Not set`:e.value===``?`Empty`:typeof e.value==`object`?Array.isArray(e.value)?`Empty list`:`Empty map`:String(e.value)}var Hx={hotReload:`A running session can apply this immediately.`,nextTurn:`Used by the next relevant request, dispatch, or explicit open.`,restartRequired:`Takes effect in the next session.`},Ux={hotReload:`Applies now`,nextTurn:`Next request`,restartRequired:`Next session`},Wx={"built-in":`Default`,user:`Your settings`,project:`Project file`,"project.local":`Local project file`,cli:`Command line`},Gx=e=>Wx[e];function Kx(e,t){let n=t.trim().toLocaleLowerCase(`en-US`);return!n||[e.path,e.label,e.description,e.group].join(` `).toLocaleLowerCase(`en-US`).includes(n)}function qx(e){let t=new Map;for(let n of e)t.set(n.group,[...t.get(n.group)??[],n]);return[...t].map(([e,t])=>({group:e,controls:t}))}function Jx(e){return e.kind===`list`?`None`:e.optional?`Automatic`:`Not set`}function Yx(e){if(e.kind===`boolean`)return[{value:`true`,label:`On`},{value:`false`,label:`Off`}];let t=e.choices??(e.kind===`string`?e.suggestions:void 0);if(!t)return null;let n=t.map(e=>({value:e,label:e}));return e.value&&!t.includes(e.value)&&n.unshift({value:e.value,label:e.value}),e.optional?[{value:``,label:Jx(e)},...n]:n}function Xx(e,t,n){let r=e=>t.find(t=>t.path===e)?.label??e;return e.length?e.map(({path:e,value:t})=>e===n?`Saved ${r(e)}.`:t?`This also set ${r(e)} to ${t}.`:`This also cleared ${r(e)}.`):[`Nothing changed; the value was already in effect.`]}function Zx(e){let t=e.trim();if(!t)return``;let n=`${t[0]?.toLocaleUpperCase(`en-US`)}${t.slice(1)}`;return/[.!?]$/.test(n)?n:`${n}.`}function Qx({control:e,save:t}){let n=(0,v.useId)(),r=(0,v.useId)(),[i,a]=(0,v.useState)(null),[o,s]=(0,v.useState)(!1),[c,l]=(0,v.useState)(null),u=f({mutationFn:t,onSuccess:t=>{l(Xx(t.changed,t.controls.controls,e.path)),a(null),s(!1)}}),d=i??e.value,p=i!==null&&i!==e.value,m=Yx(e),h=e=>{a(e),l(null),u.reset()},ee=e.access===`writable`;return(0,q.jsxs)(`div`,{className:`setting-control`,"data-access":e.access,children:[(0,q.jsxs)(`div`,{className:`setting-control__about`,children:[(0,q.jsx)(`label`,{htmlFor:ee?n:void 0,children:e.label}),(0,q.jsx)(`p`,{id:r,children:e.description}),e.help&&(0,q.jsx)(`p`,{className:`setting-control__help`,children:e.help}),e.note&&(0,q.jsx)(`p`,{className:`setting-control__note`,children:e.note}),(0,q.jsxs)(`small`,{children:[(0,q.jsx)(`code`,{children:e.path}),` · `,Gx(e.source),` · `,Ux[e.timing]]})]}),(0,q.jsx)(`div`,{className:`setting-control__edit`,children:ee?(0,q.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),p&&u.mutate({path:e.path,value:d,...e.confirm?{confirmed:o}:{}})},children:[m?(0,q.jsx)(`select`,{id:n,"aria-describedby":r,value:d,onChange:e=>h(e.target.value),children:m.map(e=>(0,q.jsx)(`option`,{value:e.value,children:e.label},e.value))}):(0,q.jsx)(`input`,{id:n,"aria-describedby":r,type:e.kind===`number`?`number`:`text`,step:e.kind===`number`?`any`:void 0,value:d,placeholder:Jx(e),list:e.suggestions?`${n}-suggestions`:void 0,onChange:e=>h(e.target.value)}),e.suggestions&&!m&&(0,q.jsx)(`datalist`,{id:`${n}-suggestions`,children:e.suggestions.map(e=>(0,q.jsx)(`option`,{value:e},e))}),e.valueHelp[d]&&(0,q.jsx)(`p`,{className:`setting-control__help`,children:Zx(e.valueHelp[d])}),e.kind===`list`&&(0,q.jsx)(`small`,{children:`Separate values with commas.`}),p&&e.confirm&&(0,q.jsxs)(`label`,{className:`setting-control__confirm`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:o,onChange:e=>s(e.target.checked)}),(0,q.jsxs)(`span`,{children:[e.confirm,` I understand.`]})]}),p&&(0,q.jsxs)(`div`,{className:`setting-control__actions`,children:[(0,q.jsx)(`button`,{type:`submit`,className:`primary`,disabled:u.isPending||!!e.confirm&&!o,children:u.isPending?`Saving…`:`Save`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>h(e.value),children:`Revert`})]}),u.error&&(0,q.jsxs)(`p`,{className:`setting-control__error`,role:`alert`,children:[u.error.message,u.error instanceof Ae&&u.error.problem.code===`conflict`?` A project file sets this value.`:``]}),c&&(0,q.jsxs)(`p`,{className:`setting-control__saved`,role:`status`,children:[c.join(` `),` `,Hx[e.timing]]})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`output`,{children:e.value||Jx(e)}),(0,q.jsx)(`p`,{className:`setting-control__reason`,children:e.reason})]})})]})}function $x({client:e,workspaceId:t}){let n=i(),[r,a]=(0,v.useState)(null),[o,s]=(0,v.useState)(``),c=[`settings-controls`,t],u=l({queryKey:c,queryFn:()=>e.call(K.settingsControls,{...y,params:{id:t}})});if(u.isPending)return(0,q.jsx)(`p`,{children:`Reading settings…`});if(u.error)return(0,q.jsx)(`p`,{role:`alert`,children:u.error.message});let d=async r=>{let i=await e.call(K.writeSetting,{params:{id:t},query:{},body:r});n.setQueryData(c,i.controls);for(let e of[`workspace-settings`,`config-graph`,`targets`,`routing`])n.invalidateQueries({queryKey:[e]});return i},{sections:f,controls:p,userFile:m}=u.data,h=o.trim()?null:r??f[0]?.id??null,ee=p.filter(e=>h?e.section===h:Kx(e,o)),g=f.find(e=>e.id===h);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`p`,{children:[`Changes are checked against the whole configuration and saved to your user settings`,m&&(0,q.jsxs)(q.Fragment,{children:[` `,`at `,(0,q.jsx)(`code`,{className:`inline-path`,children:m})]}),`. Project files are never written from here.`]}),(0,q.jsxs)(`label`,{className:`settings-filter`,children:[`Find a setting`,(0,q.jsx)(`input`,{type:`search`,value:o,onChange:e=>s(e.target.value)})]}),(0,q.jsx)(`nav`,{className:`settings-tabs`,"aria-label":`Settings sections`,children:f.map(e=>(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":h===e.id,onClick:()=>{a(e.id),s(``)},children:[e.label,` · `,p.filter(t=>t.section===e.id).length]},e.id))}),(0,q.jsx)(`h2`,{children:g?g.label:`Matches · ${ee.length}`}),g&&(0,q.jsx)(`p`,{children:g.description}),!ee.length&&(0,q.jsx)(`p`,{children:`No settings match.`}),qx(ee).map(({group:e,controls:t})=>(0,q.jsxs)(`section`,{className:`setting-group`,"aria-label":e,children:[(0,q.jsx)(`h3`,{children:e}),t.map(e=>(0,q.jsx)(Qx,{control:e,save:d},e.path))]},e))]})}function eS(e){let[t,n]=u(),r=l({queryKey:[`workspaces`],queryFn:()=>e.call(K.workspaces,y)});return{workspaces:r,id:t.get(`workspace`)||r.data?.[0]?.id||``,select:e=>n({workspace:e})}}function tS({selection:e}){let{workspaces:t,id:n,select:r}=e;return t.error?(0,q.jsx)(`p`,{role:`alert`,children:t.error.message}):t.isPending?(0,q.jsx)(`p`,{children:`Reading workspaces…`}):t.data.length?(0,q.jsxs)(`label`,{className:`workspace-picker`,children:[`Workspace`,(0,q.jsx)(`select`,{value:n,onChange:e=>r(e.target.value),children:t.data.map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[e.name,` · `,e.path]},e.id))})]}):(0,q.jsxs)(`p`,{children:[(0,q.jsx)(_,{to:`/sessions`,children:`Open a workspace`}),` to inspect its configuration.`]})}function nS({client:e,view:t}){let n=eS(e),{id:r}=n,[i,a]=(0,v.useState)(``),o=l({queryKey:[`workspace-settings`,r],queryFn:()=>e.call(K.workspaceSettings,{...y,params:{id:r}}),enabled:!!r&&t!==`settings`}),s=l({queryKey:[`config-graph`,r],queryFn:()=>e.call(K.configGraph,{...y,params:{id:r}}),enabled:!!r&&t===`why`}),c=t===`settings`?Y.settings:t===`effective`?Y.settingsEffective:Y.configMap,u=o.data?Bx(o.data.rows,i):[],d=s.data?Rx(s.data,o.data??null):null;return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:c,level:1}),(0,q.jsx)(tS,{selection:n}),(0,q.jsx)(rS,{id:r,active:t}),!r&&!n.workspaces.isPending&&(0,q.jsx)(J,{children:X.unread(`configuration of a workspace`)}),t===`settings`&&r&&(0,q.jsx)($x,{client:e,workspaceId:r},r),t===`effective`&&r&&(o.isPending?(0,q.jsx)(`p`,{children:`Reading effective settings…`}):o.error?(0,q.jsx)(`p`,{role:`alert`,children:o.error.message}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:`Each value is the one Clio Coder would use in this workspace, with the layer that set it. Exact values appear for the non-sensitive set; everything else reads as hidden without copying the raw value.`}),(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsxs)(`summary`,{children:[`Configuration layers · `,o.data.layers.length]}),(0,q.jsx)(`ul`,{className:`config-layers`,children:o.data.layers.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`strong`,{children:Px[e.origin]}),` `,(0,q.jsx)(Q,{tone:e.present?`success`:`neutral`,label:e.present?`File present`:`No file`}),(0,q.jsx)(`code`,{children:e.path})]},e.origin))})]}),o.data.issues.length>0&&(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsxs)(`summary`,{children:[`Source issues · `,o.data.issues.length]}),(0,q.jsx)(`ul`,{children:o.data.issues.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsxs)(`strong`,{children:[Px[e.origin],` · `,e.path]}),(0,q.jsx)(`br`,{}),e.message]},`${e.origin}:${e.path}:${e.kind}`))})]}),(0,q.jsxs)(`label`,{className:`settings-filter`,children:[`Filter settings`,(0,q.jsx)(`input`,{type:`search`,value:i,onChange:e=>a(e.target.value)})]}),!o.data.rows.length&&(0,q.jsx)(J,{children:X.emptyStore(`effective setting`,`for this workspace`)}),!!o.data.rows.length&&!u.length&&(0,q.jsx)(`p`,{children:`No settings match.`}),u.map(({family:e,rows:t})=>(0,q.jsxs)(`details`,{className:`setting-family`,open:!!i.trim()||e===`chat`||e===`safety`||e===u[0]?.family,children:[(0,q.jsxs)(`summary`,{children:[(0,q.jsx)(`code`,{children:e}),(0,q.jsx)(`span`,{className:`count`,children:t.length})]}),(0,q.jsx)(`dl`,{className:`settings-list`,children:t.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:(0,q.jsx)(`code`,{className:`setting-key`,children:e.key})}),(0,q.jsxs)(`dd`,{children:[Vx(e),e.redacted&&(0,q.jsx)(`small`,{children:`Sensitive content hidden`})]}),(0,q.jsx)(`dd`,{className:`setting-source`,children:Px[e.source]})]},e.key))})]},e)),(0,q.jsx)(X_,{panel:c})]})),t===`why`&&r&&(s.isPending?(0,q.jsx)(`p`,{children:`Inspecting configuration sources…`}):s.error?(0,q.jsx)(`p`,{role:`alert`,children:s.error.message}):d?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:`A snapshot of the layers Clio Coder says it loaded for this workspace, where they came from, and when a change to each one takes effect.`}),o.error&&(0,q.jsx)(`p`,{role:`alert`,children:o.error.message}),(0,q.jsx)(`div`,{className:`panel-figures`,children:d.figures.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:e.label}),(0,q.jsx)(`p`,{className:`panel-figure`,children:e.value}),(0,q.jsx)(`small`,{children:e.note})]},e.label))}),s.data.issues.length>0&&(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsxs)(`summary`,{children:[`Inspection issues · `,s.data.issues.length]}),(0,q.jsx)(`ul`,{children:s.data.issues.map(e=>(0,q.jsxs)(`li`,{children:[e.category,` (`,e.count,`): `,e.message]},e.category))})]}),(0,q.jsx)(`h2`,{children:`From source to behavior`}),(0,q.jsxs)(`ol`,{className:`influence-path`,children:[(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{className:`influence-path__index`,children:`01`}),(0,q.jsx)(`h3`,{children:`Sources`}),(0,q.jsx)(`p`,{children:`Scopes and setting layers Clio Coder inspected.`}),(0,q.jsx)(`ul`,{children:d.sources.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`strong`,{children:e.count.toLocaleString(`en-US`)})]},e.label))}),d.sourcesOmitted>0&&(0,q.jsx)(J,{children:X.bounded(`rarer sources`,`Later`)})]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{className:`influence-path__index`,children:`02`}),(0,q.jsx)(`h3`,{children:`Loaded layers`}),(0,q.jsx)(`p`,{children:`Surfaces in the effective graph, by category.`}),(0,q.jsx)(`ul`,{children:d.layers.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsxs)(`span`,{children:[(0,q.jsx)(`code`,{children:e.short}),` `,e.label]}),(0,q.jsx)(`strong`,{children:e.count.toLocaleString(`en-US`)})]},e.category))})]}),(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{className:`influence-path__index`,children:`03`}),(0,q.jsx)(`h3`,{children:`Behavior`}),(0,q.jsx)(`p`,{children:`When Clio Coder says each surface can change what it does.`}),(0,q.jsx)(`ul`,{children:d.timing.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsxs)(`span`,{children:[e.label,(0,q.jsx)(`small`,{children:e.description})]}),(0,q.jsx)(`strong`,{children:e.count.toLocaleString(`en-US`)})]},e.label))})]})]}),!d.layers.length&&(0,q.jsx)(J,{children:X.emptyStore(`customization surface`,`for this workspace`)}),d.layers.map(e=>(0,q.jsxs)(`section`,{className:`config-category`,children:[(0,q.jsxs)(`h2`,{children:[(0,q.jsx)(`code`,{children:e.short}),` `,e.label,` · `,e.count]}),(0,q.jsx)(`p`,{className:`panel-note`,children:e.description}),(0,q.jsx)(`div`,{className:`config-entries`,children:e.entries.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.id}),(0,q.jsx)(`p`,{className:`config-path`,children:Lx(e)}),(0,q.jsxs)(`ul`,{className:`fact__chips`,children:[(0,q.jsx)(`li`,{title:Nx[e.reloadClass].description,children:Nx[e.reloadClass].label}),e.trust&&e.trust!==`n/a`&&(0,q.jsx)(`li`,{children:e.trust}),e.precedence&&(0,q.jsx)(`li`,{children:e.precedence}),e.contextCostTokens!==void 0&&(0,q.jsxs)(`li`,{children:[`~`,e.contextCostTokens.toLocaleString(`en-US`),` context tokens`]})]}),e.hash&&(0,q.jsxs)(`p`,{children:[`Content fingerprint `,(0,q.jsx)(`code`,{children:e.hash})]}),!!Object.keys(e.facts).length&&(0,q.jsx)(`dl`,{className:`facts`,children:Object.entries(e.facts).map(([e,t])=>(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:mx(e)}),(0,q.jsx)(`dd`,{children:bx(e,t).text})]},e))})]},`${e.category}:${e.id}:${e.scope}:${e.sourcePath??``}`))})]},e.category)),(0,q.jsx)(X_,{panel:c})]}):null),t===`settings`&&r&&(0,q.jsx)(X_,{panel:c})]})}function rS({id:e,active:t}){return(0,q.jsx)(`nav`,{className:`settings-tabs`,"aria-label":`Configuration views`,children:[{key:`settings`,label:`Settings`,path:`/settings`},{key:`effective`,label:`Effective values`,path:`/settings/effective`},{key:`why`,label:`Why`,path:`/settings/why`},{key:`targets`,label:`Targets`,path:`/settings/targets`},{key:`routing`,label:`Routing`,path:`/settings/routing`}].map(n=>(0,q.jsx)(_,{"aria-current":t===n.key?`page`:void 0,to:`${n.path}?workspace=${e}`,children:n.label},n.key))})}var iS={unknown:`Trust information is missing or has not been checked.`,unverified:`The receipt is intact. Its result has no observed validation.`,grounded:`The receipt is intact and validation was observed.`,reviewed:`The receipt is intact and an independent review passed.`,compromised:`A recorded integrity, validation, review, context or safety check did not hold. Read the findings before relying on this result.`};function aS({client:e,initialRun:t=``}){let n=eS(e),[r,i]=(0,v.useState)(t),[a,o]=(0,v.useState)(null),s=ux(e,a),c=f({mutationFn:t=>e.call(t===`build`?K.evidenceBuild:K.receiptVerify,{...y,params:{id:n.id,runId:r.trim()}}),onSuccess:e=>o(e.operationId)}),l=c.isPending||!!a&&s.isPending||s.data?.status===`queued`||s.data?.status===`running`;return(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsx)(`summary`,{children:`Collect evidence or recheck a receipt`}),(0,q.jsx)(`p`,{children:`Choose a workspace and a dispatch run. Collecting evidence saves a report of the records Clio can find. Rechecking reads the original receipt again to detect changes since the report was created.`}),(0,q.jsx)(tS,{selection:n}),(0,q.jsxs)(`label`,{children:[`Dispatch run ID`,(0,q.jsx)(`input`,{value:r,onChange:e=>i(e.target.value),maxLength:128,placeholder:`Run ID from Fleet`})]}),(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:l||!n.id||!r.trim(),onClick:()=>c.mutate(`build`),children:`Collect evidence`}),(0,q.jsx)(`button`,{type:`button`,disabled:l||!n.id||!r.trim(),onClick:()=>c.mutate(`verify`),children:`Recheck receipt`})]}),c.error&&(0,q.jsx)(`p`,{role:`alert`,children:c.error.message}),s.error&&(0,q.jsx)(`p`,{role:`alert`,children:s.error.message}),s.data&&(0,q.jsxs)(`div`,{role:`status`,children:[(0,q.jsxs)(`p`,{children:[`Request `,s.data.status]}),s.data.status===`succeeded`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:s.data.result.message}),`kind`in s.data.result&&s.data.result.kind===`evidence`&&(0,q.jsx)(_,{to:`/evidence/${s.data.result.id}`,children:`Read collected evidence`}),`kind`in s.data.result&&s.data.result.kind===`receipt-verification`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`p`,{children:[`Integrity result: `,(0,q.jsx)(`strong`,{children:s.data.result.verification.state}),` ·`,` `,s.data.result.verification.verifiedAt]}),s.data.result.verification.reason&&(0,q.jsxs)(`p`,{children:[`Reason: `,s.data.result.verification.reason]}),(0,q.jsx)(`p`,{children:`An intact receipt authenticates the record; it does not establish that the work is correct.`}),(0,q.jsx)(`dl`,{className:`settings-list`,children:Object.entries(s.data.result.verification.axes).map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e}),(0,q.jsx)(`dd`,{children:t}),(0,q.jsx)(`dd`,{})]},e))})]})]}),s.data.status===`failed`&&(0,q.jsx)(`p`,{role:`alert`,children:s.data.problem.detail})]})]})}function oS({client:e}){let t=h({queryKey:[`evidence`],initialPageParam:void 0,queryFn:({pageParam:t})=>e.call(K.evidenceList,{...y,query:{limit:40,...t?{cursor:t}:{}}}),getNextPageParam:e=>e.nextCursor??void 0});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.evidenceInventory,level:1}),(0,q.jsx)(`p`,{children:`See what supports a result, what was checked, and what remains uncertain. Reports reflect the records available when they were collected.`}),(0,q.jsx)(aS,{client:e}),(0,q.jsx)(`div`,{className:`actions`,children:(0,q.jsx)(`button`,{type:`button`,disabled:t.isFetching,onClick:()=>void t.refetch(),children:`Refresh evidence`})}),t.isPending&&(0,q.jsx)(`p`,{children:`Reading evidence…`}),t.error&&(0,q.jsx)(`p`,{role:`alert`,children:t.error.message}),t.data?.pages[0]?.items.length===0&&(0,q.jsxs)(J,{children:[X.emptyStore(`evidence bundle`),` Collect evidence from a completed dispatch run to start one.`]}),(0,q.jsx)(`div`,{className:`config-entries`,children:t.data?.pages.flatMap(e=>e.items).map(({overview:e,verdict:t})=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:(0,q.jsx)(_,{to:`/evidence/${e.evidenceId}`,children:e.evidenceId})}),(0,q.jsxs)(`p`,{children:[(0,q.jsx)(`strong`,{children:t}),` · `,e.generatedAt]}),(0,q.jsx)(`p`,{children:iS[t]}),(0,q.jsx)(`p`,{children:e.tasks.join(` · `)}),(0,q.jsxs)(`p`,{children:[e.totals.runs,` runs · `,e.totals.receipts,` receipts`]})]},e.evidenceId))}),t.hasNextPage&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{children:X.bounded(`evidence bundles`)}),(0,q.jsx)(`button`,{type:`button`,disabled:t.isFetchingNextPage,onClick:()=>void t.fetchNextPage(),children:`Load more evidence`})]}),(0,q.jsx)(X_,{panel:Y.evidenceInventory})]})}function sS({client:e}){let{id:t=``}=te(),n=l({queryKey:[`evidence-detail`,t],queryFn:()=>e.call(K.evidenceDetail,{...y,params:{id:t}})}),r=n.data;return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(_,{to:`/evidence`,children:`All evidence`}),(0,q.jsx)(Y_,{panel:Y.evidenceBundle,level:1,title:`Evidence · ${t}`}),n.isPending&&(0,q.jsx)(`p`,{children:`Reading report…`}),n.error&&(0,q.jsx)(`p`,{role:`alert`,children:n.error.message}),r&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`p`,{children:[(0,q.jsx)(`strong`,{children:r.verdict}),` · Collected `,r.overview.generatedAt]}),(0,q.jsx)(`p`,{children:iS[r.verdict]}),r.projection===`historical_format`&&(0,q.jsxs)(J,{children:[X.predatesSchema(`bundle`,`trust projection`,`axes`),` Recheck its original receipt to learn its current integrity.`]}),(0,q.jsx)(aS,{client:e,initialRun:r.overview.runIds[0]??``},t),(0,q.jsx)(`h2`,{children:`What was found`}),!r.findings.length&&(0,q.jsx)(J,{children:X.emptyStore(`finding`,`in this bundle`)}),r.findings.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsxs)(`h3`,{children:[e.tag,` · `,e.severity]}),(0,q.jsx)(`p`,{children:e.message}),e.runId&&(0,q.jsx)(_,{to:`/fleet/dispatches/${e.runId}`,children:e.runId})]},e.id)),(0,q.jsx)(Y_,{panel:Y.evidenceTrust,action:(0,q.jsx)(`span`,{className:`count`,children:r.runs.length})}),!r.runs.length&&(0,q.jsx)(J,{children:X.emptyStore(`run`,`in this bundle`)}),r.runs.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsxs)(`h3`,{children:[(0,q.jsx)(_,{to:`/fleet/dispatches/${e.runId}`,children:e.runId}),` · `,e.summary.verdict]}),(0,q.jsx)(`p`,{children:e.summary.text}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Authorities and artifact references`}),(0,q.jsx)(Ox,{value:e.status,empty:`This run recorded no trust status. That is a missing record, not a passing one.`})]})]},e.runId)),(0,q.jsx)(X_,{panel:Y.evidenceTrust}),(0,q.jsx)(`h2`,{children:`Provenance`}),!r.provenance.some(e=>e.lines.length)&&(0,q.jsx)(J,{children:`No provenance claim is admitted by the recorded trust status.`}),r.provenance.filter(e=>e.lines.length).map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.runId}),(0,q.jsx)(`ul`,{children:e.lines.map(e=>(0,q.jsx)(`li`,{children:e},e))})]},e.runId)),(0,q.jsx)(Y_,{panel:Y.evidenceGates,action:(0,q.jsx)(`span`,{className:`count`,children:r.gateDecisions.length})}),!r.gateDecisions.length&&(0,q.jsx)(J,{children:X.emptyStore(`authenticated gate decision`,`against this bundle`)}),r.gateDecisions.map((e,t)=>(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsxs)(`summary`,{children:[`Decision `,String(e.id??t+1)]}),(0,q.jsx)(Ox,{value:e,order:[`id`,`decision`,`verdict`,`outcome`,`reason`,`decidedAt`,`runId`]})]},String(e.id??t))),(0,q.jsx)(X_,{panel:Y.evidenceGates}),(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsx)(`summary`,{children:`Full report overview`}),(0,q.jsx)(Ox,{value:r.overview,order:[`source`,`generatedAt`,`statuses`,`startedAt`,`endedAt`,`totals`,`tasks`,`agentIds`,`targetIds`,`modelIds`],hide:[`version`]})]}),(0,q.jsx)(X_,{panel:Y.evidenceBundle})]})]})}function cS({councils:e,gates:t}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h2`,{children:`Councils`}),e?.truncated&&(0,q.jsx)(J,{children:X.bounded(`council groups`)}),e&&!e.councils.length&&(0,q.jsx)(J,{children:X.emptyStore(`council group`,`in this window`)}),e?.councils.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.group}),(0,q.jsxs)(`p`,{className:`panel-marks`,children:[(0,q.jsx)(Q,{tone:e.running?`running`:`neutral`,label:e.running?`Running`:`Finished`}),(0,q.jsxs)(`span`,{children:[`Rounds `,e.roundsObserved,` of `,e.roundsPlanned??`a plan that was not reported`]}),(0,q.jsxs)(`span`,{children:[`Synthesis `,e.synthesis.kind??`not reported`]})]}),e.members.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`h4`,{children:[e.label,` · `,e.agentId]}),(0,q.jsxs)(`p`,{children:[e.targetId,` / `,e.wireModelId]}),(0,q.jsx)(`ul`,{children:e.turns.map(e=>(0,q.jsxs)(`li`,{children:[`Round `,e.round,`: `,(0,q.jsx)(_,{to:`/fleet/dispatches/${e.runId}`,children:e.runId}),` ·`,` `,e.outcome??e.status]},e.runId))}),e.turnsTruncated&&(0,q.jsx)(J,{children:X.bounded(`turns`,`Earlier`)})]},e.label)),e.membersTruncated&&(0,q.jsx)(J,{children:X.bounded(`members`,`Later`)})]},e.group)),(0,q.jsx)(`h2`,{children:`Gate decisions`}),t?.truncated&&(0,q.jsx)(J,{children:X.bounded(`gate decisions`)}),!!t?.unverifiable&&(0,q.jsxs)(J,{role:`status`,children:[t.unverifiable.toLocaleString(`en-US`),` gate `,t.unverifiable===1?`artifact`:`artifacts`,` could not be authenticated, so `,t.unverifiable===1?`it is`:`they are`,` not shown as decisions.`]}),t&&!t.decisions.length&&(0,q.jsx)(J,{children:X.emptyStore(`authenticated gate decision`,`in this window`)}),t?.decisions.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsxs)(`h3`,{children:[e.topology,` · `,e.outcome]}),(0,q.jsxs)(`p`,{children:[e.group,` · Cycle `,e.cycle,` · `,ye(e.decidedAt)]}),(0,q.jsx)(`ul`,{children:e.subjects.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(_,{to:`/fleet/dispatches/${e}`,children:e})},e))}),e.reason&&(0,q.jsx)(`p`,{children:e.reason}),e.winner&&(0,q.jsxs)(`p`,{children:[`Winner: `,(0,q.jsx)(_,{to:`/fleet/dispatches/${e.winner.runId}`,children:e.winner.runId})]}),e.correlation&&(0,q.jsxs)(`p`,{children:[`Independent decider: `,e.correlation.independent?`yes`:`no`]})]},e.id))]})}function lS({client:e}){let t=h({queryKey:[`fleet-roots`],initialPageParam:void 0,queryFn:({pageParam:t})=>e.call(K.fleetRoots,{...y,query:{limit:40,...t?{cursor:t}:{}}}),getNextPageParam:e=>e.nextCursor??void 0}),n=h({queryKey:[`fleet-dispatches`],initialPageParam:void 0,queryFn:({pageParam:t})=>e.call(K.dispatchRuns,{...y,query:{limit:40,...t?{cursor:t}:{}}}),getNextPageParam:e=>e.nextCursor??void 0}),r=l({queryKey:[`fleet-councils`],queryFn:()=>e.call(K.fleetCouncils,y)}),i=l({queryKey:[`fleet-gates`],queryFn:()=>e.call(K.fleetGates,y)});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.fleet,level:1}),(0,q.jsx)(`p`,{children:`Fleet plans, their dispatch runs, and the decisions Clio Coder recorded about them.`}),(0,q.jsx)(`p`,{className:`panel-note`,children:$_}),Object.entries({roots:t,runs:n,councils:r,gates:i}).map(([e,t])=>t.error?(0,q.jsx)(`p`,{role:`alert`,children:t.error.message},e):null),(0,q.jsx)(`h2`,{children:`Fleet runs`}),t.isPending&&(0,q.jsx)(`p`,{children:`Reading fleet history…`}),t.data?.pages[0]?.items.length===0&&(0,q.jsx)(J,{children:X.emptyStore(`fleet run`)}),(0,q.jsx)(`div`,{className:`config-entries`,children:t.data?.pages.flatMap(e=>e.items).map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:(0,q.jsx)(_,{to:`/fleet/${e.id}`,children:e.fleet})}),(0,q.jsx)(`p`,{children:e.id}),(0,q.jsx)(Q,{tone:e.endedAt?`neutral`:`running`,label:e.endedAt?`Finished`:`Running`}),(0,q.jsxs)(`p`,{children:[e.completedCount,` of `,e.stepCount,` `,e.stepCount===1?`step`:`steps`,` recorded`]}),(0,q.jsxs)(`p`,{children:[`Started `,ye(e.startedAt)]})]},e.id))}),t.hasNextPage&&(0,q.jsx)(`button`,{type:`button`,disabled:t.isFetchingNextPage,onClick:()=>void t.fetchNextPage(),children:`Load more fleet runs`}),(0,q.jsx)(`h2`,{children:`Dispatch runs`}),n.isPending&&(0,q.jsx)(`p`,{children:`Reading dispatch history…`}),n.data?.pages[0]?.items.length===0&&(0,q.jsx)(J,{children:X.emptyStore(`dispatch run`)}),(0,q.jsx)(`dl`,{className:`settings-list`,children:n.data?.pages.flatMap(e=>e.items).map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`dt`,{children:[(0,q.jsx)(_,{to:`/fleet/dispatches/${e.id}`,children:e.id}),(0,q.jsx)(`br`,{}),(0,q.jsx)(`small`,{children:e.agentId})]}),(0,q.jsxs)(`dd`,{children:[e.outcome??e.status,(0,q.jsx)(`br`,{}),e.targetId,` / `,e.wireModelId]}),(0,q.jsxs)(`dd`,{children:[ge(e.tokenCount),` tokens`]})]},e.id))}),n.hasNextPage&&(0,q.jsx)(`button`,{type:`button`,disabled:n.isFetchingNextPage,onClick:()=>void n.fetchNextPage(),children:`Load more dispatch runs`}),(0,q.jsx)(cS,{councils:r.data,gates:i.data}),(0,q.jsx)(X_,{panel:Y.fleet})]})}function uS({client:e,dispatch:t=!1}){let{id:n=``}=te(),r=l({queryKey:[`fleet-root`,n],queryFn:()=>e.call(K.fleetRoot,{...y,params:{id:n}}),enabled:!t}),i=l({queryKey:[`fleet-dispatch`,n],queryFn:()=>e.call(K.dispatchRun,{...y,params:{id:n}}),enabled:t}),a=l({queryKey:[`fleet-receipt`,n],queryFn:()=>e.call(K.fleetReceipt,{...y,params:{id:n}}),enabled:t}),o=t?a.data?.receipt:r.data?.receipt;return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(_,{to:`/fleet`,children:`All fleet activity`}),(0,q.jsx)(Y_,{panel:Y.fleetRun,level:1,title:`${t?`Dispatch run`:`Fleet run`} · ${n}`}),Object.entries({root:r,run:i,receipt:a}).map(([e,t])=>t.error?(0,q.jsx)(`p`,{role:`alert`,children:t.error.message},e):null),(t?i.isPending:r.isPending)&&(0,q.jsx)(`p`,{children:`Reading run…`}),i.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`h2`,{children:[i.data.agentId,` · `,i.data.outcome??i.data.status]}),(0,q.jsxs)(`p`,{children:[i.data.targetId,` / `,i.data.wireModelId,` · `,ge(i.data.tokenCount),` tokens`]}),(0,q.jsx)(Xb,{source:i.data.task,complete:!0})]}),r.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h2`,{children:r.data.run.fleet}),(0,q.jsxs)(`p`,{children:[r.data.run.completedCount,` of `,r.data.run.stepCount,` `,r.data.run.stepCount===1?`step`:`steps`,` `,`recorded`]}),r.data.steps.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsxs)(`h3`,{children:[e.stepId,` · `,e.succeeded?`Succeeded`:`Failed`]}),e.terminalRunId&&(0,q.jsx)(_,{to:`/fleet/dispatches/${e.terminalRunId}`,children:e.terminalRunId}),(0,q.jsx)(Q,{tone:e.integrityValid?`success`:`fail`,label:e.integrityValid?`Recorded integrity valid`:`Recorded integrity invalid`}),e.failureReason&&(0,q.jsx)(`p`,{children:e.failureReason}),(0,q.jsx)(Xb,{source:e.output,complete:!0})]},e.stepId)),(0,q.jsx)(cS,{councils:r.data.councils,gates:r.data.gates})]}),(0,q.jsx)(`h2`,{children:`Receipt`}),o?(0,q.jsx)(Ox,{value:o,hide:[`version`]}):(0,q.jsx)(J,{children:X.emptyStore(`readable receipt`,`for this run`)}),(0,q.jsx)(X_,{panel:Y.fleetRun})]})}function dS(){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{className:`eyebrow`,children:`Clio Coder / your local workspace`}),(0,q.jsxs)(`h1`,{children:[`From a question`,(0,q.jsx)(`br`,{}),(0,q.jsx)(`em`,{children:`to a working answer.`})]}),(0,q.jsx)(`p`,{className:`intro`,children:`Work with Clio Coder in your own projects. Follow the conversation, review each consequential action, and inspect the evidence behind the result.`}),(0,q.jsxs)(_,{className:`primary home-link`,to:`/sessions`,children:[`Open a workspace `,(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`↗`})]}),(0,q.jsxs)(`div`,{className:`home-instruments`,children:[(0,q.jsxs)(_,{to:`/sessions`,children:[(0,q.jsx)(`span`,{className:`eyebrow`,children:`01 / Conversation`}),(0,q.jsx)(`h2`,{children:`Make progress.`}),(0,q.jsx)(`p`,{children:`Start a session or return to a saved conversation.`}),(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`↗`})]}),(0,q.jsxs)(_,{to:`/traces`,children:[(0,q.jsx)(`span`,{className:`eyebrow`,children:`02 / Evidence`}),(0,q.jsx)(`h2`,{children:`See what happened.`}),(0,q.jsx)(`p`,{children:`Inspect phases, tool calls, receipts, and recorded outcomes.`}),(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`↗`})]}),(0,q.jsxs)(_,{to:`/toolchain`,children:[(0,q.jsx)(`span`,{className:`eyebrow`,children:`03 / Environment`}),(0,q.jsx)(`h2`,{children:`Keep tools ready.`}),(0,q.jsx)(`p`,{children:`Check resolution and manage verified, pinned installations.`}),(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`↗`})]})]})]})}var fS=[`skill`,`agent`,`prompt`,`fleet`,`plugin`],pS={install:`Install`,update:`Update`,enable:`Enable`,disable:`Disable`,remove:`Remove`},mS={install:`Installed`,update:`Updated`,enable:`Enabled`,disable:`Disabled`,remove:`Removed`},hS=e=>pS[e],gS=e=>e===`user`?`your user library`:`this project's library`,_S=e=>e===`user`?`User copy`:`Project copy`;function vS(e){switch(e){case`loadable`:return{label:`Ready`,tone:`success`};case`disabled`:return{label:`Disabled`,tone:`neutral`};case`shadowed`:return{label:`Shadowed`,tone:`neutral`};case`invalid`:return{label:`Invalid`,tone:`fail`};case`incompatible`:return{label:`Incompatible`,tone:`fail`};case`damaged`:return{label:`Damaged`,tone:`fail`};default:return{label:e,tone:`unverified`}}}function yS(e){return e===`disabled`?[`enable`,`update`,`remove`]:e===`loadable`||e===`shadowed`?[`update`,`disable`,`remove`]:[`update`,`remove`]}function bS(e){return[`user`,`project`].filter(t=>!e.copies.some(e=>e.scope===t))}function xS(e,t){let n=t.trim().toLocaleLowerCase(`en-US`);if(!n)return!0;let r=(e.provides??[]).map(e=>`${String(e.kind)} ${String(e.name)}`);return[e.ref,e.name,e.description,...r].join(` `).toLocaleLowerCase(`en-US`).includes(n)}function SS(e){let t=e.origin;switch(t.kind){case`bundled`:return`Ships with Clio Coder`;case`remote`:return`Pinned GitHub source`;case`local`:return`Local source`;case`imported`:return`Imported from ${t.agent??`another agent`}`;default:return e.catalogOrigin===`installed`?`Installed; no catalog row`:`Origin not recorded`}}var CS=e=>`${pS[e.operation]} ${e.identity.ref} ${e.operation===`install`?`into`:`in`} ${gS(e.identity.scope)}`;function wS(e){let t=e.fallbackNote?`${e.fallbackNote[0]?.toUpperCase()}${e.fallbackNote.slice(1)}.`:``,n=e.effectiveAfter;if(!n)return t;let r=n.loadable?`Clio can load it`:`it is ${vS(n.state).label.toLowerCase()}`;return`${t} Afterwards the ${n.scope} copy is the one in effect, and ${r}.`.trim()}var TS=e=>!e.applicable&&e.steps.some(e=>e.refusal?.startsWith(`library_requirement_missing`));function ES(e){let t=e.verification;return t?t.tree===`present`&&t.record===`recorded`?`The files are on disk and the install record matches.`:t.tree===`absent`&&t.record===`absent`?`The files and the install record are gone.`:`Files on disk: ${t.tree}. Install record: ${t.record}.`:`Nothing was read back from disk.`}function DS(e){let t=e.verification?.resources??[];if(e.operation===`remove`)return`Its recipes are no longer offered.`;if(!t.length)return`This package declares no recipes to admit.`;let n=t.filter(e=>!e.available);return n.length?`${t.length-n.length} of ${t.length} recipes admitted. Held back: ${n.map(e=>`${e.name}${e.reason?` (${e.reason})`:``}`).join(`, `)}.`:`${t.length===1?`Its recipe is`:`All ${t.length} recipes are`} admitted: ${t.map(e=>e.name).join(`, `)}.`}function OS(e){let t=`${e.identity.ref} in ${gS(e.identity.scope)}`;return e.status===`committed`?e.error?{text:`${mS[e.operation]} ${t}, but verification disagrees`,tone:`warn`}:{text:`${mS[e.operation]} ${t}`,tone:`success`}:e.status===`failed`?{text:`Could not ${pS[e.operation].toLowerCase()} ${t}`,tone:`fail`}:{text:`Did not attempt ${t}`,tone:`unverified`}}function kS({error:e}){return(0,q.jsxs)(`div`,{className:`problem`,role:`alert`,children:[(0,q.jsx)(`strong`,{children:e.message}),e instanceof Ae&&(0,q.jsxs)(`small`,{children:[e.problem.code,` · `,e.problem.instance]})]})}function AS({plan:e}){return(0,q.jsx)(`ol`,{className:`library-steps`,children:e.steps.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`h3`,{children:CS(e)}),e.refusal&&(0,q.jsxs)(`p`,{className:`library-refusal`,role:`alert`,children:[`Clio refuses this step: `,e.refusal]}),(0,q.jsx)(`p`,{children:wS(e)}),(0,q.jsxs)(`dl`,{className:`library-facts`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Writes to`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:e.destination})})]}),e.source&&(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Source`}),(0,q.jsxs)(`dd`,{children:[(0,q.jsx)(`code`,{children:e.source.sourceUrl}),e.source.sha256&&(0,q.jsxs)(`small`,{children:[e.source.staged?`Staged and verified`:`Not fetched`,` · sha256 `,e.source.sha256.slice(0,16),`…`]})]})]}),e.content&&(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Contains`}),(0,q.jsxs)(`dd`,{children:[e.content.resources.length?e.content.resources.map(e=>`${e.kind} ${e.name}${e.valid?``:` (invalid)`}`).join(`, `):`No recipes`,!e.content.valid&&(0,q.jsx)(`small`,{children:`The package did not validate.`})]})]}),!!e.dependencies.requires.length&&(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Requires`}),(0,q.jsxs)(`dd`,{children:[e.dependencies.requires.join(`, `),!!e.dependencies.missing.length&&(0,q.jsxs)(`small`,{children:[`Not installed: `,e.dependencies.missing.join(`, `)]}),!!e.dependencies.inactive.length&&(0,q.jsxs)(`small`,{children:[`Installed but inactive: `,e.dependencies.inactive.join(`, `)]})]})]}),!!e.dependents.newlyBroken.length&&(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Would break`}),(0,q.jsx)(`dd`,{children:e.dependents.newlyBroken.map(e=>`${e.ref} (${e.scope})`).join(`, `)})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Recovery`}),(0,q.jsx)(`dd`,{children:e.recovery})]})]}),!!e.content?.diagnostics.length&&(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[e.content.diagnostics.length,` validation notes`]}),(0,q.jsx)(`ul`,{children:e.content.diagnostics.map(e=>(0,q.jsx)(`li`,{children:e},e))})]})]},`${e.identity.scope}:${e.identity.ref}`))})}function jS({applied:e}){return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`ol`,{className:`library-steps`,children:e.outcomes.map(e=>{let t=OS(e);return(0,q.jsxs)(`li`,{children:[(0,q.jsx)(Q,{tone:t.tone,label:e.status}),(0,q.jsx)(`h3`,{children:t.text}),e.error&&(0,q.jsxs)(`p`,{className:`library-refusal`,role:`alert`,children:[e.error.message,` `,e.error.next]}),e.status===`committed`&&(0,q.jsxs)(`dl`,{className:`library-facts`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`On disk`}),(0,q.jsx)(`dd`,{children:ES(e)})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Recipes`}),(0,q.jsx)(`dd`,{children:DS(e)})]}),e.recovery?.packageBackup&&(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:`Backup kept`}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:e.recovery.packageBackup})})]})]})]},`${e.identity.scope}:${e.identity.ref}`)})}),e.committed>0&&(0,q.jsxs)(`p`,{className:`library-session-note`,children:[(0,q.jsx)(`strong`,{children:`Open conversations have not reloaded.`}),` `,e.refresh.reason,` Run `,(0,q.jsx)(`code`,{children:`/library reload`}),` in a conversation, or start a new one, to use the change.`]})]})}function MS({client:e,workspaceId:t,request:n,onClose:r}){let a=i(),o=(0,v.useRef)(null),[s,c]=(0,v.useState)(null),l=(0,v.useRef)(!1),u=f({mutationFn:n=>e.call(K.libraryPlan,{params:{id:t},query:{},body:n}),onSuccess:c}),d=f({mutationFn:n=>e.call(K.libraryPlanApply,{params:{id:t,planId:n},query:{},body:{}}),onSettled:()=>{for(let e of[`library`,`library-agents`,`library-extensions`])a.invalidateQueries({queryKey:[e]})}}),p=u.mutate;(0,v.useEffect)(()=>{l.current||(l.current=!0,p(n))},[p,n]);let m=()=>{s&&!d.data&&!d.isPending&&e.call(K.libraryPlanRelease,{params:{id:t,planId:s.id},query:{},body:{}}).catch(()=>void 0),r()},h=`${hS(n.operation)} ${n.ref}`;return(0,q.jsxs)(D_,{title:h,eyebrow:d.data?`Library · what happened`:`Library · review before applying`,size:`wide`,onClose:m,initialFocus:o,children:[u.isPending&&(0,q.jsx)(`p`,{role:`status`,children:`Staging the source and checking what would change. Nothing is written yet.`}),u.error&&(0,q.jsx)(kS,{error:u.error}),s&&!d.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:s.applicable?`This is exactly what will be applied. Nothing has been written yet.`:`Clio will not apply this plan. Nothing has been written.`}),(0,q.jsx)(AS,{plan:s}),!!s.diagnostics.length&&(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[s.diagnostics.length,` planning notes`]}),(0,q.jsx)(`ul`,{children:s.diagnostics.map(e=>(0,q.jsx)(`li`,{children:e},e))})]})]}),d.error&&(0,q.jsx)(kS,{error:d.error}),d.data&&(0,q.jsx)(jS,{applied:d.data}),(0,q.jsxs)(`div`,{className:`actions`,children:[s&&!d.data&&s.applicable&&(0,q.jsx)(`button`,{type:`button`,className:`primary`,disabled:d.isPending,onClick:()=>d.mutate(s.id),children:d.isPending?`Applying…`:`Apply ${s.steps.length===1?`this change`:`${s.steps.length} changes`}`}),s&&!d.data&&TS(s)&&(0,q.jsx)(`button`,{type:`button`,className:`primary`,disabled:u.isPending,onClick:()=>{e.call(K.libraryPlanRelease,{params:{id:t,planId:s.id},query:{},body:{}}).catch(()=>void 0),c(null),u.mutate({...n,withRequirements:!0})},children:`Plan again with its requirements`}),(0,q.jsx)(`button`,{type:`button`,ref:o,onClick:m,children:d.data?`Done`:`Cancel`})]})]})}function NS({client:e,workspaceId:t,packages:n,filter:r}){let[i,a]=(0,v.useState)(`all`),[o,s]=(0,v.useState)(!1),[c,l]=(0,v.useState)(40),[u,d]=(0,v.useState)(null),f=n.filter(e=>(i===`all`||e.kind===i)&&(!o||e.copies.length>0)&&xS(e,r)),p=n.filter(e=>e.copies.length>0).length;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`fieldset`,{className:`library-facets`,children:[(0,q.jsx)(`legend`,{children:`Show`}),[`all`,...fS].filter(e=>e===`all`||n.some(t=>t.kind===e)).map(e=>(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":i===e,onClick:()=>{a(e),l(40)},children:[e===`all`?`All kinds`:`${e[0]?.toUpperCase()}${e.slice(1)} packages`,` ·`,` `,e===`all`?n.length:n.filter(t=>t.kind===e).length]},e)),(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":o,onClick:()=>s(!o),children:[`Installed only · `,p]})]}),!f.length&&(0,q.jsx)(`p`,{children:n.length?`No packages match.`:`No catalog is configured and nothing is installed.`}),(0,q.jsx)(`ul`,{className:`library-packages`,children:f.slice(0,c).map(e=>(0,q.jsxs)(`li`,{"aria-label":e.ref,children:[(0,q.jsxs)(`div`,{className:`library-package__identity`,children:[(0,q.jsxs)(`h3`,{children:[e.name,e.version&&(0,q.jsx)(`span`,{className:`version`,children:e.version})]}),(0,q.jsx)(`p`,{children:e.description||`No description.`}),(0,q.jsxs)(`small`,{children:[e.kind,` · `,SS(e),e.requires?.length?` · requires ${e.requires.join(`, `)}`:``]}),e.refusal&&(0,q.jsx)(`p`,{className:`library-refusal`,children:e.refusal})]}),(0,q.jsxs)(`div`,{className:`library-package__copies`,children:[!e.copies.length&&(0,q.jsx)(Q,{tone:`neutral`,label:`Not installed`}),e.copies.map(t=>{let n=vS(String(t.state)),r=t.scope;return(0,q.jsxs)(`div`,{className:`library-copy`,children:[(0,q.jsxs)(`span`,{children:[_S(r),` `,(0,q.jsx)(Q,{tone:n.tone,label:n.label})]}),(0,q.jsx)(`span`,{className:`library-copy__actions`,children:yS(String(t.state)).map(t=>(0,q.jsx)(`button`,{type:`button`,"aria-label":`${hS(t)} the ${r} copy of ${e.ref}`,onClick:()=>d({operation:t,ref:e.ref,scope:r}),children:hS(t)},t))})]},r)}),e.catalogOrigin!==`installed`&&(0,q.jsx)(`span`,{className:`library-copy__actions`,children:bS(e).map(t=>(0,q.jsx)(`button`,{type:`button`,className:e.copies.length?void 0:t===`user`?`primary`:void 0,"aria-label":`Install ${e.ref} ${t===`user`?`for me`:`in this project`}`,onClick:()=>d({operation:`install`,ref:e.ref,scope:t}),children:t===`user`?`Install for me`:`Install in this project`},t))})]})]},e.ref))}),f.length>c&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>l(c+40),children:`Show more packages`}),u&&(0,q.jsx)(MS,{client:e,workspaceId:t,request:u,onClose:()=>d(null)},`${u.operation}:${u.scope}:${u.ref}`)]})}var PS=e=>e&&typeof e==`object`&&!Array.isArray(e)?e:{},FS=e=>typeof e==`number`&&Number.isFinite(e)?e:null,IS=e=>typeof e==`string`&&e?e:null,LS=(e,t)=>t===null?{label:e,value:`Not declared`,absent:!0}:{label:e,value:t};function RS(e,t){if(e===null)return null;let n=e.toLocaleString(`en-US`);return t!==null&&t>e?`${n}–${t.toLocaleString(`en-US`)}`:n}function zS(e){let t=PS(e.configuration.budget),n=PS(t.maximum),r=IS(PS(e.configuration.resultContract).kind),i=IS(e.configuration.capabilityClass),a=IS(e.configuration.projectContextTier),o=[r===null?`No result contract declared`:`${mx(r)} result contract`];return typeof t.synthesis==`boolean`&&o.push(t.synthesis?`Text synthesis at boundary`:`Stops at boundary`),{facts:[LS(`Capability`,i===null?null:mx(i)),LS(`Project context`,a===null?null:mx(a)),LS(`Tool-call budget`,RS(FS(t.toolCalls),FS(n.toolCalls))),LS(`Read reserve`,RS(FS(t.readReserve),FS(n.readReserve)))],skills:e.skills,tools:e.tools,footer:o}}function BS(e){return e.availability===`invalid`?`It did not load, so nothing can use it`:e.availability===`shadowed`?`Another recipe of the same name outranks it, so this copy never loads`:e.availability===`unavailable`?`Clio Coder reports it as unavailable`:e.trusted?e.modelInvocable===!1?`Its frontmatter reserves it for you`:`The model can load this by name`:`Its root is not trusted, so the model never sees it`}var VS={core:`Clio Coder core`,package:`An installed package`,user:`Your user root`,project:`This project's root`,compat:`Another agent's folder`};function HS(e){let t=e.availability===`available`&&e.trusted&&e.modelInvocable!==!1,n=e.diagnostics.length,r=[n===0?`No issues`:`${n.toLocaleString(`en-US`)} ${n===1?`issue`:`issues`}`];return PS(e.origin).kind===`remote`&&r.push(`Has an upstream`),{reach:`${BS(e)}.`,reachable:t,mark:t?`Model reachable`:e.trusted&&e.availability===`available`?`Operator only`:`Out of reach`,facts:[{label:`Precedence`,value:VS[e.source.class]??mx(e.source.class)},{label:`Root trust`,value:e.trusted?`Trusted`:`Not trusted`},{label:`Model invocation`,value:t?`By name`:e.modelInvocable===!1&&e.trusted?`Reserved for you`:`Never`}],footer:r}}function US(e,t=0){return typeof e==`string`?e.toLocaleLowerCase(`en-US`):!e||typeof e!=`object`||t>4?``:Object.values(e).map(e=>US(e,t+1)).filter(Boolean).join(` `)}var WS=(e,t)=>{let n=t.trim().toLocaleLowerCase(`en-US`);return!n||US(e).includes(n)};function GS(e,t,n){let r=e.indexOf(t);if(r<0||!e.length)return null;let i=t=>e[(t+e.length)%e.length]??null;return n===`ArrowRight`?i(r+1):n===`ArrowLeft`?i(r-1):n===`Home`?i(0):n===`End`?i(e.length-1):null}var KS=[`Catalog`,`Agents`,`Skills`,`Prompts`,`Fleets`,`Extensions`,`Verifiers`];function qS({facts:e}){return(0,q.jsx)(`dl`,{className:`facts`,children:e.map(e=>(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:e.label}),(0,q.jsx)(`dd`,{"data-tone":e.absent?`absent`:void 0,children:e.value})]},e.label))})}function JS({agent:e}){let t=zS(e);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(qS,{facts:t.facts}),!!t.skills.length&&(0,q.jsxs)(`div`,{className:`library-bound`,children:[(0,q.jsx)(`span`,{children:`Bound skills`}),(0,q.jsx)(`ul`,{className:`fact__chips`,children:t.skills.map(e=>(0,q.jsx)(`li`,{children:e},e))})]}),(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[`Declared tool surfaces · `,t.tools.length]}),t.tools.length?(0,q.jsx)(`ul`,{className:`fact__chips`,children:t.tools.map(e=>(0,q.jsx)(`li`,{children:e},e))}):(0,q.jsx)(J,{children:`This agent declares no tool surface.`})]}),(0,q.jsx)(`p`,{className:`panel-note`,children:t.footer.join(` · `)}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Source and configuration`}),(0,q.jsx)(Ox,{value:e,hide:[`id`,`name`,`description`,`skills`,`tools`]})]})]})}function YS({skill:e}){let t=HS(e);return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Q,{tone:t.reachable?`success`:`neutral`,label:t.mark}),(0,q.jsx)(`p`,{children:t.reach}),e.reason&&(0,q.jsx)(`p`,{className:`panel-note`,children:e.reason}),(0,q.jsx)(qS,{facts:t.facts}),(0,q.jsx)(`p`,{className:`panel-note`,children:t.footer.join(` · `)}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Source and configuration`}),(0,q.jsx)(Ox,{value:e,order:[`availability`,`reason`,`source`,`owner`,`origin`,`path`],hide:[`key`,`name`,`description`]})]})]})}var XS={Catalog:`Every package Clio can install, and every copy already installed, for you or for this project. Each change is planned first, shown to you, and only then applied.`,Agents:`Specialists Clio can assign work to. Their specifications describe the tools, skills and limits they use.`,Skills:`Reusable instructions that guide Clio through a task.`,Prompts:`Saved starting points for conversations and common tasks.`,Fleets:`Saved workflows that coordinate several steps or specialists.`,Extensions:`Installed packages that add executable capabilities. Admission state shows whether Clio can load them.`,Verifiers:`Checks Clio discovered for this workspace. Viewing this list does not run them.`};function ZS({client:e}){let t=eS(e),{id:n}=t,[r,i]=(0,v.useState)(`Catalog`),[a,o]=(0,v.useState)(``),[s,c]=(0,v.useState)(40),u=l({queryKey:[`library`,n],enabled:!!n,queryFn:()=>e.call(K.library,{...y,params:{id:n}})}),d=l({queryKey:[`library-agents`,n],enabled:!!n,queryFn:()=>e.call(K.libraryAgents,{...y,params:{id:n}})}),f=l({queryKey:[`library-extensions`,n],enabled:!!n,queryFn:()=>e.call(K.libraryExtensions,{...y,params:{id:n}})}),p=l({queryKey:[`library-verifiers`,n],enabled:!!n,queryFn:()=>e.call(K.libraryVerifiers,{...y,params:{id:n}})}),m=e=>(u.data?.resources??[]).filter(t=>t.kind===e).map(t=>({id:t.key,name:t.name,description:t.description,state:`${t.availability} · ${t.source.class}`,detail:t,...e===`skill`?{skill:t}:{}})),h={Agents:(d.data?.agents??[]).map(e=>({id:e.id,name:e.name,description:e.description,state:`${e.category} · ${e.source}`,detail:e,agent:e})),Skills:m(`skill`),Prompts:m(`prompt`),Fleets:m(`fleet`),Extensions:(f.data?.extensions??[]).map(e=>({id:`${e.id}:${e.scope}`,name:e.name,description:e.description,state:e.loadable?`Ready to load`:e.enabled?e.valid?e.compatible?e.effective?`Unavailable`:`Overridden`:`Incompatible`:`Invalid`:`Disabled`,detail:e})),Verifiers:(p.data?.checks??[]).map(e=>({id:e.id,name:e.id,description:e.description,state:`${e.origin} · ${e.runner}`,detail:e}))},ee=r===`Agents`?d:r===`Extensions`?f:r===`Verifiers`?p:u,g=(r===`Catalog`?[]:h[r]).filter(e=>WS(e.detail,a)),_=(0,v.useRef)(new Map),te=e=>{i(e),o(``),c(40)},ne=e=>{let t=GS(KS,r,e.key);t&&(e.preventDefault(),te(t),_.current.get(t)?.focus())},re=e=>e===`Catalog`?u.data?.packages.length??0:h[e].length;return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.library,level:1}),(0,q.jsx)(tS,{selection:t}),(0,q.jsx)(`p`,{children:`Explore the capabilities available to Clio in this workspace, and see where they come from.`}),!n&&!t.workspaces.isPending&&(0,q.jsx)(J,{children:X.unread(`library of a workspace`)}),(0,q.jsx)(`div`,{className:`settings-tabs`,role:`tablist`,"aria-label":`Library collections`,onKeyDown:ne,children:KS.map(e=>(0,q.jsxs)(`button`,{type:`button`,role:`tab`,id:`library-tab-${e}`,"aria-selected":r===e,"aria-controls":`library-panel`,tabIndex:r===e?0:-1,ref:t=>{t?_.current.set(e,t):_.current.delete(e)},onClick:()=>te(e),children:[e,` · `,re(e)]},e))}),(0,q.jsxs)(`div`,{role:`tabpanel`,id:`library-panel`,"aria-labelledby":`library-tab-${r}`,children:[(0,q.jsx)(`h2`,{children:r}),(0,q.jsx)(`p`,{children:XS[r]}),(0,q.jsxs)(`label`,{className:`settings-filter`,children:[`Search `,r.toLowerCase(),(0,q.jsx)(`input`,{value:a,onChange:e=>{o(e.target.value),c(40)}})]}),ee.isPending&&n&&(0,q.jsxs)(`p`,{children:[`Reading `,r.toLowerCase(),`…`]}),ee.error&&(0,q.jsxs)(`p`,{role:`alert`,children:[ee.error.message,` `,(0,q.jsx)(`button`,{type:`button`,onClick:()=>void ee.refetch(),children:`Try again`})]}),u.data&&Object.values(u.data.truncated).some(Boolean)&&(0,q.jsx)(J,{children:X.bounded(`library records`,`Later`)}),r===`Verifiers`&&p.data&&(0,q.jsxs)(q.Fragment,{children:[p.data.discovery===`blocked`&&(0,q.jsxs)(`p`,{role:`status`,children:[`Check discovery is blocked: `,p.data.blockedBy,`. `,p.data.rejection,` `,p.data.rejectedAt]}),p.data.checksTruncated&&(0,q.jsx)(J,{children:X.bounded(`checks`,`Later`)}),!!p.data.diagnosticCount&&(0,q.jsxs)(`p`,{children:[p.data.diagnosticCount,` discovery diagnostics were reported.`]})]}),r===`Catalog`&&u.data&&(0,q.jsx)(NS,{client:e,workspaceId:n,packages:u.data.packages,filter:a}),r!==`Catalog`&&ee.data&&!g.length&&(0,q.jsx)(J,{children:a?`No matches. Try a different search.`:X.emptyStore(r.toLowerCase().replace(/s$/u,``),`for this workspace`)}),(0,q.jsx)(`div`,{className:`config-entries`,children:g.slice(0,s).map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.name}),(0,q.jsx)(`p`,{children:e.description}),e.agent?(0,q.jsx)(JS,{agent:e.agent}):e.skill?(0,q.jsx)(YS,{skill:e.skill}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:e.state}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Source and configuration`}),(0,q.jsx)(Ox,{value:e.detail,order:[`availability`,`reason`,`source`,`owner`,`origin`,`path`],hide:[`key`,`name`,`description`]})]})]})]},e.id))}),g.length>s&&(0,q.jsxs)(`button`,{type:`button`,onClick:()=>c(s+40),children:[`Show more `,r.toLowerCase()]}),!!u.data?.diagnostics.length&&(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsx)(`summary`,{children:`Library discovery notes`}),(0,q.jsx)(`ul`,{children:u.data.diagnostics.map(e=>(0,q.jsx)(`li`,{children:e},e))})]})]}),(0,q.jsx)(X_,{panel:Y.library})]})}var QS={rows:24,columns:6},$S=`Bars compare token fields with one another; they are not additive percentages. Provider accounting can overlap cache and reasoning fields.`,eC=[[`input`,`Input`],[`output`,`Output`],[`cacheRead`,`Cache read`],[`cacheWrite`,`Cache write`],[`reasoningTokens`,`Reasoning`]],tC=[[`turns`,`Turns`],[`sideQuestions`,`Side questions`],[`handoffs`,`Handoffs`],[`prewarms`,`Pre-warms`],[`backgroundMemorySteps`,`Background memory steps`],[`failedCompactionCalls`,`Failed compaction calls`]],nC=new Set([`tokens`,`sessions`,`dispatch-runs`,`session-store-missing`,`receipt-store-missing`,`model-usage`,`skill-activated`,`skill-never-activated`]),rC=e=>typeof e==`number`&&Number.isFinite(e)?e:null,iC=e=>{let t=Object.keys(e),n=t.length===1&&t[0]===`value`?rC(e.value):null;return n===null?null:n.toLocaleString(`en-US`)},aC=e=>typeof e==`string`&&e?e:null,oC=mx;function sC(e,t){return Array.isArray(t)?t.length?t.map(t=>sC(e,t)).join(`, `):`None`:t&&typeof t==`object`?Object.entries(t).map(([e,t])=>`${mx(e).toLowerCase()} ${sC(e,t)}`).join(` · `)||`None`:bx(e,t).text}function cC(e){let t=new Map;for(let n of e)t.set(n.name,[...t.get(n.name)??[],n]);let n=[],r=[];for(let[e,i]of t){let t=i[0];if(!t)continue;if(i.length===1){n.push(t);continue}let a=[...new Set(i.flatMap(e=>Object.keys(e.values)))],o=a.slice(0,QS.columns);r.push({name:e,label:t.label,total:i.length,columns:o.map(mx),rows:i.slice(0,QS.rows).map(e=>o.map(t=>sC(t,e.values[t]))),omitted:Math.max(0,i.length-QS.rows),omittedColumns:a.length-o.length})}return{singles:n,tables:r}}function lC(e){let t=e.facts.map(e=>({name:e.name,label:oC(e.name),values:e.values,single:iC(e.values)})),n=e=>t.find(t=>t.name===e)?.values,r=e=>t.filter(t=>t.name===e),i=n(`tokens`)??{},a=[];for(let[e,t]of[[`session-store-missing`,`session history`],[`receipt-store-missing`,`dispatch receipt`]]){let r=n(e);r&&a.push(X.missingStore(t,aC(r.path)))}let o=(e,t,r)=>{let i=rC(n(e)?.value);return n(t)||i===null?{label:r,value:`—`,note:X.dash()}:{label:r,value:i.toLocaleString(`en-US`)}},s=rC(i.totalTokens),c=rC(i.apiCalls),l=[{label:`Tokens`,value:ge(s),...c===null?{}:{note:`${c.toLocaleString(`en-US`)} API calls`}},{label:`Cost`,value:he(rC(i.costUsd)),note:`Recorded cost, never a GUI estimate`},o(`sessions`,`session-store-missing`,`Sessions`),o(`dispatch-runs`,`receipt-store-missing`,`Dispatch runs`)],u=eC.map(([e,t])=>({label:t,tokens:rC(i[e])})),d=Math.max(0,...u.map(e=>e.tokens??0)),f=u.map(e=>({label:e.label,value:ge(e.tokens),share:e.tokens&&d>0?e.tokens/d:0})),p=tC.flatMap(([e,t])=>{let n=rC(i[e]);return n===null?[]:[{label:t,value:n.toLocaleString(`en-US`)}]}),m=cC(t.filter(e=>!nC.has(e.name)));return{window:`from ${be(e.from)} through ${be(e.to)}`,headline:l,bars:f,barsCaveat:$S,knownSubtotals:i.knownSubtotals===!0?`These amounts include known contributions only. Some calls in this window reported no usage at all, and a field with nothing observed reads as not recorded rather than zero.`:null,origins:p,originsNote:p.length?`Calls are split by what asked for them. A turn is ordinary conversation.`:`No side question, handoff, pre-warm or background memory step was recorded in this window, so every recorded call belongs to a turn.`,missingStores:a,models:r(`model-usage`),skillsActivated:r(`skill-activated`),skillsDormant:r(`skill-never-activated`).flatMap(e=>{let t=aC(e.values.skill);return t?[t]:[]}),rest:m.singles,tables:m.tables}}function uC({report:e}){let t=e.summary.tokens;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`p`,{children:[e.summary.passed,` of `,e.summary.runs,` trials passed · `,e.summary.failed,` failed`]}),(0,q.jsxs)(`p`,{children:[e.matrix.target,` · `,e.matrix.model??`Model unreported`,` ·`,` `,(e.summary.wallTimeMs/1e3).toLocaleString(),` seconds`]}),(0,q.jsx)(`p`,{children:t.measured?`${t.total.toLocaleString()} tokens reported for ${t.measuredRuns} of ${t.runs} trials`:`Token usage was not measured.`}),(0,q.jsxs)(`p`,{children:[`Started `,e.startedAt??`at an unrecorded time`,` · Clio `,e.clioCoder.version]})]})}function dC({client:e}){let t=h({queryKey:[`evals`],initialPageParam:void 0,queryFn:({pageParam:t})=>e.call(K.evals,{...y,query:{limit:40,...t?{cursor:t}:{}}}),getNextPageParam:e=>e.nextCursor??void 0});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.evalReports,level:1}),(0,q.jsx)(`p`,{children:`Review saved evaluation trials and their measured results.`}),(0,q.jsx)(_,{to:`/usage`,children:`View usage across sessions`}),t.isPending&&(0,q.jsx)(`p`,{children:`Reading evaluations…`}),t.error&&(0,q.jsx)(`p`,{role:`alert`,children:t.error.message}),t.data&&(0,q.jsxs)(q.Fragment,{children:[t.data.pages[0]?.available===!1&&(0,q.jsx)(J,{children:X.missingStore(`evaluation`)}),t.data.pages[0]?.available===!0&&t.data.pages[0]?.stored===0&&(0,q.jsx)(J,{children:X.emptyStore(`evaluation report`)}),!!t.data.pages[0]?.unreadable&&(0,q.jsxs)(J,{children:[t.data.pages[0].unreadable,` stored files could not be read in the current evaluation format, so they are absent from this list rather than counted as failures.`]}),(0,q.jsx)(`div`,{className:`config-entries`,children:t.data.pages.flatMap(e=>e.items).map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:(0,q.jsx)(_,{to:`/evals/${e.evalId}`,children:e.suiteId})}),(0,q.jsx)(`p`,{className:`config-path`,children:e.evalId}),(0,q.jsx)(uC,{report:e})]},e.evalId))})]}),t.hasNextPage&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(J,{children:X.bounded(`evaluation reports`)}),(0,q.jsx)(`button`,{type:`button`,disabled:t.isFetchingNextPage,onClick:()=>void t.fetchNextPage(),children:`Load more evaluations`})]}),(0,q.jsx)(X_,{panel:Y.evalReports})]})}function fC({client:e}){let{id:t=``}=te(),n=l({queryKey:[`eval`,t],queryFn:()=>e.call(K.evalDetail,{...y,params:{id:t}})});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(_,{to:`/evals`,children:`All evaluations`}),(0,q.jsx)(Y_,{panel:Y.evalReport,level:1}),n.isPending&&(0,q.jsx)(`p`,{children:`Reading report…`}),n.error&&(0,q.jsx)(`p`,{role:`alert`,children:n.error.message}),n.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h2`,{children:n.data.report.suiteId}),(0,q.jsx)(uC,{report:n.data.report}),(0,q.jsx)(Y_,{panel:Y.evalTrials,action:(0,q.jsx)(`span`,{className:`count`,children:n.data.results.length})}),!n.data.results.length&&(0,q.jsx)(J,{children:X.emptyStore(`trial`,`in this report`)}),n.data.results.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsxs)(`h3`,{children:[e.taskId,` · `,e.pass?`Passed`:`Failed`]}),(0,q.jsxs)(`p`,{children:[`Trial `,e.repeatIndex+1,` · `,e.target.id]}),e.failureClass&&(0,q.jsx)(`p`,{children:e.failureClass}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Measurements and recorded verdicts`}),(0,q.jsx)(Ox,{value:e,order:[`pass`,`failureClass`,`target`,`repeatIndex`],hide:[`taskId`]})]})]},`${e.taskId}:${e.target.id}:${e.repeatIndex}`)),(0,q.jsxs)(`details`,{className:`trace-panel`,children:[(0,q.jsx)(`summary`,{children:`Report context and scenario totals`}),(0,q.jsx)(Ox,{value:{report:n.data.report,aggregates:n.data.aggregates},empty:X.emptyStore(`scenario total`,`in this report`)})]}),(0,q.jsx)(X_,{panel:Y.evalTrials})]})]})}function pC({client:e}){let t=eS(e),n=l({queryKey:[`usage`,t.id],enabled:!!t.id,queryFn:()=>e.call(K.usage,{...y,params:{id:t.id}})}),r=n.data?lC(n.data):null;return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.usage,level:1,action:r?(0,q.jsx)(`span`,{className:`count`,children:r.window}):null}),(0,q.jsx)(tS,{selection:t}),(0,q.jsx)(`p`,{children:`The last 30 days of recorded activity. Sessions and dispatch runs are filtered to your workspace. Audit, evidence and memory observations also include the installation’s shared records.`}),(0,q.jsx)(_,{to:`/evals`,children:`View evaluation reports`}),!t.id&&(0,q.jsx)(J,{children:X.unread(`usage ledger for this workspace`)}),t.id&&n.isPending&&(0,q.jsx)(`p`,{children:`Reading usage records…`}),n.error&&(0,q.jsx)(`p`,{role:`alert`,children:n.error.message}),r&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`div`,{className:`panel-figures`,children:r.headline.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:e.label}),(0,q.jsx)(`p`,{className:`panel-figure`,children:e.value}),e.note&&(0,q.jsx)(`small`,{children:e.note})]},e.label))}),r.missingStores.map(e=>(0,q.jsx)(J,{children:e},e)),r.knownSubtotals&&(0,q.jsx)(`p`,{className:`panel-note`,children:r.knownSubtotals}),(0,q.jsx)(`h2`,{children:`Token composition`}),(0,q.jsx)(`ul`,{className:`usage-bars`,children:r.bars.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{className:`usage-bar__label`,children:e.label}),(0,q.jsx)(`span`,{className:`usage-bar__track`,"aria-hidden":`true`,children:(0,q.jsx)(`i`,{style:{width:`${Math.round(e.share*100)}%`}})}),(0,q.jsx)(`span`,{className:`usage-bar__value`,children:e.value})]},e.label))}),(0,q.jsx)(`p`,{className:`panel-note`,children:r.barsCaveat}),(0,q.jsx)(`h2`,{children:`Where the calls came from`}),!!r.origins.length&&(0,q.jsx)(`dl`,{className:`facts`,children:r.origins.map(e=>(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:e.label}),(0,q.jsx)(`dd`,{children:e.value})]},e.label))}),(0,q.jsx)(`p`,{className:`panel-note`,children:r.originsNote}),(0,q.jsxs)(`h2`,{children:[`Models · `,r.models.length]}),!r.models.length&&(0,q.jsx)(J,{children:X.emptyStore(`model call`,`in this window`)}),(0,q.jsx)(`div`,{className:`config-entries`,children:r.models.map(e=>(0,q.jsx)(`article`,{className:`trace-panel`,children:(0,q.jsx)(Ox,{value:e.values,order:[`attributedModelId`,`providerId`,`totalTokens`,`costUsd`]})},JSON.stringify(e.values)))}),(0,q.jsx)(`h2`,{children:`Skills`}),!r.skillsActivated.length&&(0,q.jsx)(J,{children:X.emptyStore(`skill activation`,`in this window`)}),!!r.skillsActivated.length&&(0,q.jsx)(`dl`,{className:`facts`,children:r.skillsActivated.map(e=>(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:String(e.values.skill??`Unnamed skill`)}),(0,q.jsx)(`dd`,{children:String(e.values.activations??`Not reported`)})]},JSON.stringify(e.values)))}),!!r.skillsDormant.length&&(0,q.jsxs)(`p`,{className:`panel-note`,children:[`Installed and never activated in this window: `,r.skillsDormant.join(`, `),`.`]}),(0,q.jsx)(`h2`,{children:`Other recorded facts`}),!r.rest.length&&!r.tables.length&&(0,q.jsx)(J,{children:X.emptyStore(`other fact`,`in this window`)}),(0,q.jsx)(`div`,{className:`config-entries`,children:r.rest.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.label}),e.single?(0,q.jsx)(`p`,{className:`panel-figure`,children:e.single}):(0,q.jsx)(Ox,{value:e.values,empty:X.emptyStore(e.label.toLowerCase(),`in this window`)})]},e.name))}),r.tables.map(e=>(0,q.jsxs)(`details`,{className:`trace-panel usage-table`,children:[(0,q.jsxs)(`summary`,{children:[e.label,` · `,e.total.toLocaleString(`en-US`)]}),(0,q.jsx)(`section`,{className:`usage-table__scroll`,"aria-label":`${e.label} rows`,tabIndex:0,children:(0,q.jsxs)(`table`,{children:[(0,q.jsx)(`thead`,{children:(0,q.jsx)(`tr`,{children:e.columns.map(e=>(0,q.jsx)(`th`,{scope:`col`,children:e},e))})}),(0,q.jsx)(`tbody`,{children:e.rows.map((e,t)=>(0,q.jsx)(`tr`,{children:e.map((e,t)=>(0,q.jsx)(`td`,{children:e},t))},t))})]})}),e.omitted>0&&(0,q.jsx)(J,{children:Tx(e.omitted,`row`)}),e.omittedColumns>0&&(0,q.jsx)(J,{children:Tx(e.omittedColumns,`column`)})]},e.name)),(0,q.jsx)(`h2`,{children:`Suggestions from Clio`}),!n.data?.opportunities.length&&(0,q.jsx)(J,{children:`Clio recorded no suggestion for this window.`}),n.data?.opportunities.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.kind.replace(/-/g,` `)}),(0,q.jsx)(`p`,{children:e.suggestion}),(0,q.jsx)(`p`,{className:`panel-note`,children:e.evidence})]},`${e.kind}:${e.evidence}`)),(0,q.jsx)(X_,{panel:Y.usage})]})]})}var mC=`Nothing runs until you answer. The GUI never answers for you.`,hC=`APPROVAL NEEDED · ONE USE`,gC=`Alt+A allows once · Alt+R rejects`,_C=e=>e?`APPROVAL WAITING · ESCALATED`:`APPROVAL NEEDED`,vC=e=>e.status===`pending`||e.status===`escalated`,yC=e=>{let t=Date.parse(e);return Number.isFinite(t)?t:null},bC=e=>Math.max(0,Math.floor(e/1e3));function xC(e,t){let n=yC(e.requestedAt),r=yC(e.escalateAt),i=yC(e.expiresAt),a=n===null?0:Math.max(0,t-n),o=i===null?0:Math.max(0,i-t),s=n!==null&&r!==null&&r>n?bC(r-n):45;return{escalated:e.status===`escalated`||r!==null&&t>=r,waitedMs:a,waitedSeconds:bC(a),remainingMs:o,remainingSeconds:bC(o),expired:i!==null&&t>=i,budgetKnown:i!==null,declaredEscalationSeconds:s}}function SC(e,t){return e.budgetKnown?`If unanswered, this turn stops in ${xe(e.remainingMs)} (at ${ye(t)}).`:`If unanswered, this turn stops when Clio Coder's approval budget runs out.`}var CC=e=>`Waiting ${xe(e.waitedMs)}.`,wC=e=>typeof e.line==`number`&&Number.isInteger(e.line)?`${e.path}:${e.line+1}`:e.path;function TC(e){let t=(e??[]).map(wC);return t.length>3?[...t.slice(0,3),`+${t.length-3} more`]:t}function EC(e,t){let n=TC(t);return`${e.kind} access to ${n.length===0?`this turn`:n.join(`, `)}.`}function DC(e,t,n){return[EC(e,t),SC(n,e.expiresAt),mC,CC(n)]}var OC=e=>`Approval needed: ${e.title}. ${e.kind} access. Nothing runs until you answer.`,kC={conversation:`Conversation`,workspace:`Workspace`,outward:`Outward`,"safety-net":`Safety net`,system:`System`,worker:`Worker`},AC={read:`reads content`,write:`writes content`,execute:`runs a command`,dispatch:`dispatches a worker`,system_modify:`changes this machine`,git_destructive:`rewrites git history`,unknown:`does something Clio Coder did not classify`},jC={conversation:`reaches this conversation only`,workspace:`reaches this workspace`,outward:`reaches outside this machine`,system:`reaches this machine`},MC={reversible:`reversible`,limited:`reversible only in part`,unknown:`not classified as reversible`},NC={accent:`neutral`,action:`warn`,warning:`fail`},PC=e=>e===void 0?`warn`:NC[e.semanticToken]??`warn`,FC=(e,t)=>e[t]??t;function IC(e){return e===void 0?[]:[e.tierLabel.length>0?e.tierLabel:FC(kC,e.tier),FC(AC,e.actionClass),FC(jC,e.affectedScope)]}function LC(e){if(e===void 0)return[];let t=[],n=(e,n)=>{n.length>0&&t.push({term:e,value:n})};return n(`Authorization`,e.authorizationCopy),n(`Consequence`,e.consequenceCopy),n(`Reversibility`,e.reversibilityCopy.length>0?e.reversibilityCopy:FC(MC,e.reversibility)),n(`Requested by`,e.requestedByCopy),n(`Target`,e.target??``),t}var RC=`Clio Coder sent no classification with this request.`,zC={decision:`reject`,label:`Reject`,variant:`quiet`,description:`Denies this one request. The turn continues.`,keybinding:`reject`},BC={decision:`reject-and-stop`,label:`Reject and stop the turn`,variant:`quiet`,description:`Denies this request and every other parked request from this turn, and cancels the turn.`,keybinding:null},VC={decision:`allow-once`,label:`Allow once`,variant:`primary`,description:`Allows this one call. Clio Coder asks again next time.`,keybinding:`allowOnce`};function HC(e){return e.canStopTurn?[zC,BC,VC]:[zC,VC]}var UC=16e3,WC=4e3,GC=e=>typeof e==`object`&&e?e:{},KC=e=>typeof e==`string`&&e.length>0?e:null,qC=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/g;function JC(e,t,n){let r=e.replace(qC,``),i=r.split(`
76
+ `),a=i.length>t,o=a?i.slice(0,t).join(`
77
+ `):r,s=o.length>n;return{text:s?o.slice(0,n):o,truncated:a||s}}function YC(e){let t=Array.isArray(e.edits)?e.edits:[e],n=[];for(let e of t){let t=GC(e),r=typeof t.oldText==`string`?t.oldText:null,i=typeof t.newText==`string`?t.newText:null;(r!==null||i!==null)&&n.push({oldText:r??``,newText:i??``})}return n}var XC=new Set([`bash`,`run_script`,`verify`,`safe_exec`,`git`]),ZC=new Set([`edit`,`artifact`]),QC=new Set([`read`,`ls`,`grep`,`find`,`code_nav`]);function $C(e){if(e===void 0)return{kind:`none`,label:`What is being approved`,note:`This request is not linked to a call in this conversation.`};let t=GC(e.rawInput),n=e.title??e.toolKind??`tool`;if(XC.has(n)){let e=KC(t.command)??KC(t.script)??(n===`git`?`git ${KC(t.op)??`command`}`:KC(t.op)??KC(t.id));if(e===null)return{kind:`none`,label:`Command`,note:`Clio Coder reported no command for this call.`};let r=JC(e,400,WC);return{kind:`command`,label:`Command`,command:r.text,truncated:r.truncated}}if(ZC.has(n)){let e=KC(t.path)??`a file Clio Coder did not name`,n=YC(t);if(n.length===0)return{kind:`path`,label:`File`,path:e};let r=!1,i=Math.max(1,Math.floor(400/n.length));return{kind:`edits`,label:`Proposed · not yet applied`,path:e,edits:n.map(e=>{let t=JC(e.oldText,i,UC),n=JC(e.newText,i,UC);return r=r||t.truncated||n.truncated,{oldText:t.text,newText:n.text}}),truncated:r}}if(n===`write`){let e=KC(t.path)??`a file Clio Coder did not name`,n=KC(t.content);if(n===null)return{kind:`path`,label:`File`,path:e};let r=JC(n,400,UC);return{kind:`contents`,label:`Proposed new contents`,path:e,contents:r.text,truncated:r.truncated}}if(n===`web_fetch`){let e=KC(t.url);if(e===null)return{kind:`none`,label:`Address`,note:`Clio Coder reported no address for this fetch.`};try{let t=new URL(e);return{kind:`host`,label:`Host`,host:t.host,url:`${t.host}${t.pathname}`}}catch{let t=JC(e,1,256);return{kind:`host`,label:`Host`,host:t.text,url:t.text}}}if(n===`dispatch`){let e=KC(t.agent)??KC(t.recipe)??`an unnamed agent`,n=KC(t.task);return{kind:`summary`,label:`Dispatch`,summary:`${e} · ${n===null?`no task preview`:JC(n,1,160).text}`}}if(QC.has(n)){let e=KC(t.path)??KC(t.pattern)??KC(t.glob);if(e!==null)return{kind:`path`,label:`Path`,path:JC(e,1,512).text}}let r=TC(e.locations);return r.length>0?{kind:`path`,label:`Path`,path:r.join(`, `)}:{kind:`none`,label:`What is being approved`,note:`Clio Coder reported no reviewable input for ${n}.`}}function ew(e){let[t,n]=(0,v.useState)(()=>me.now());return(0,v.useEffect)(()=>{if(!e)return;n(me.now());let t=setInterval(()=>n(me.now()),1e3);return()=>clearInterval(t)},[e]),t}function tw(e,t){return f({mutationFn:({id:n,decision:r})=>e.call(K.permission,{params:{id:t,permissionId:n},query:{},body:{decision:r}})})}var nw=e=>e.permissions.find(vC),rw=(e,t)=>t.toolCallId===void 0?void 0:e.permissions.find(e=>vC(e)&&e.toolCallId===t.toolCallId);function iw({preview:e}){return e.kind===`command`?(0,q.jsxs)(`div`,{className:`approval-preview`,children:[(0,q.jsx)(`p`,{className:`approval-preview__label`,children:e.label}),(0,q.jsx)(`pre`,{className:`approval-preview__code`,children:(0,q.jsx)(`code`,{children:e.command})}),e.truncated?(0,q.jsx)(`p`,{className:`approval-preview__note`,children:`Shortened for display.`}):null]}):e.kind===`edits`?(0,q.jsxs)(`div`,{className:`approval-preview`,children:[(0,q.jsxs)(`p`,{className:`approval-preview__label`,children:[e.label,` · `,e.path]}),e.edits.map((e,t)=>(0,q.jsxs)(`div`,{className:`approval-proposed`,children:[(0,q.jsx)(`pre`,{className:`approval-proposed__side`,"data-side":`del`,children:(0,q.jsx)(`code`,{children:e.oldText})}),(0,q.jsx)(`pre`,{className:`approval-proposed__side`,"data-side":`add`,children:(0,q.jsx)(`code`,{children:e.newText})})]},t)),e.truncated?(0,q.jsx)(`p`,{className:`approval-preview__note`,children:`Shortened for display.`}):null]}):e.kind===`contents`?(0,q.jsxs)(`div`,{className:`approval-preview`,children:[(0,q.jsxs)(`p`,{className:`approval-preview__label`,children:[e.label,` · `,e.path]}),(0,q.jsx)(`pre`,{className:`approval-proposed__side`,"data-side":`add`,children:(0,q.jsx)(`code`,{children:e.contents})}),e.truncated?(0,q.jsx)(`p`,{className:`approval-preview__note`,children:`Shortened for display.`}):null]}):e.kind===`path`||e.kind===`host`?(0,q.jsxs)(`div`,{className:`approval-preview`,children:[(0,q.jsx)(`p`,{className:`approval-preview__label`,children:e.label}),(0,q.jsx)(`p`,{className:`approval-preview__value`,children:(0,q.jsx)(`code`,{children:e.kind===`path`?e.path:e.url})})]}):e.kind===`summary`?(0,q.jsxs)(`div`,{className:`approval-preview`,children:[(0,q.jsx)(`p`,{className:`approval-preview__label`,children:e.label}),(0,q.jsx)(`p`,{className:`approval-preview__value`,children:e.summary})]}):(0,q.jsxs)(`div`,{className:`approval-preview`,children:[(0,q.jsx)(`p`,{className:`approval-preview__label`,children:e.label}),(0,q.jsx)(`p`,{className:`approval-preview__note`,children:e.note})]})}function aw({permission:e,call:t,answer:n,eyebrow:r,hint:i,variant:a}){let o=xC(e,ew(!0)),s=DC(e,t?.locations,o),c=IC(e.decision),l=LC(e.decision);return(0,q.jsxs)(`article`,{className:`approval-card approval-card--${a}`,"data-escalated":o.escalated,"aria-label":`Permission request`,children:[(0,q.jsx)(`p`,{className:`approval-card__eyebrow`,children:r}),(0,q.jsx)(`h2`,{className:`approval-card__title`,children:e.title}),c.length>0?(0,q.jsxs)(`p`,{className:`approval-card__chips`,children:[(0,q.jsx)(Q,{tone:PC(e.decision),label:c[0]??``}),c.slice(1).map(e=>(0,q.jsx)(`span`,{className:`approval-chip`,children:e},e))]}):(0,q.jsx)(`p`,{className:`approval-card__chips`,children:(0,q.jsx)(Q,{tone:`warn`,label:`Unclassified`,detail:RC})}),(0,q.jsx)(iw,{preview:$C(t)}),l.length>0?(0,q.jsx)(`dl`,{className:`approval-decision`,children:l.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e.term}),(0,q.jsx)(`dd`,{children:e.value})]},e.term))}):null,(0,q.jsx)(`ul`,{className:`approval-card__facts`,children:s.map(e=>(0,q.jsx)(`li`,{children:e},e))}),(0,q.jsx)(`div`,{className:`approval-card__actions`,children:HC(e).map(t=>(0,q.jsxs)(`button`,{type:`button`,className:t.variant===`primary`?`primary`:``,title:t.description,disabled:n.isPending,onClick:()=>n.mutate({id:e.id,decision:t.decision}),children:[t.label,t.keybinding===null?null:(0,q.jsxs)(`span`,{className:`approval-card__chord`,"aria-hidden":`true`,children:[Sg[t.keybinding].modifiers.includes(`alt`)?`Alt+`:``,Sg[t.keybinding].key.toUpperCase()]})]},t.decision))}),i===void 0?null:(0,q.jsx)(`p`,{className:`approval-card__hint`,children:i}),n.error?(0,q.jsx)(`p`,{role:`alert`,children:n.error.message}):null]})}function ow({client:e,session:t}){let n=tw(e,t.id),r=nw(t),i=r?t.timeline.find(e=>e.toolCallId===r.toolCallId):void 0,a=ew(r!==void 0),o=r?xC(r,a):null,s=o?.escalated===!0,c=o?.declaredEscalationSeconds??null,l=r?.id??null,u=r?.title??``,d=r?.kind??``;(0,v.useEffect)(()=>(hg(l!==null),()=>hg(!1)),[l]),(0,v.useEffect)(()=>{l!==null&&pg(OC({title:u,kind:d}),`assertive`)},[l,u,d]),(0,v.useEffect)(()=>(mg(s&&c!==null?c:null),()=>mg(null)),[s,c]),(0,v.useEffect)(()=>{if(l!==null)return xg(l,u)},[l,u]);let f=r!==void 0&&!n.isPending;return E_(`allowOnce`,()=>r&&n.mutate({id:r.id,decision:`allow-once`}),{enabled:f}),E_(`reject`,()=>r&&n.mutate({id:r.id,decision:`reject`}),{enabled:f}),r?(0,q.jsx)(`section`,{className:`approval-banner`,"aria-label":`Approval needed`,children:(0,q.jsx)(aw,{permission:r,call:i,answer:n,eyebrow:_C(s),hint:gC,variant:`banner`})}):null}function sw({client:e,session:t,item:n}){let r=tw(e,t.id),i=rw(t,n);return i?(0,q.jsx)(aw,{permission:i,call:n,answer:r,eyebrow:hC,variant:`anchored`}):null}var cw=(e,t)=>`${e} ${t}${e===1?``:`s`}`;function lw(e){let t=0,n=0,r=0,i=0,a=0,o=!0;for(let s of e)switch(s.kind!==`tool`&&(o=!1),s.status){case`in_progress`:case`pending`:t+=1;break;case`escalated`:n+=1;break;case`failed`:i+=1;break;case`cancelled`:case`rejected`:case`expired`:a+=1;break;default:r+=1}let s=o?`tool`:`step`,c,l;return n>0?(c=`Approval needed`,l=`warning`):t>0?(c=`${cw(t,s)} running${r>0?` · ${r} done`:``}`,l=`action`):i>0?(c=`${cw(i,s)} failed${r>0?` · ${r} completed`:``}`,l=`error`):a>0&&r===0?(c=`${cw(a,s)} stopped`,l=`neutral`):(c=`${cw(r,s)} completed${a>0?` · ${a} stopped`:``}`,l=`success`),{label:c,tone:l,total:e.length,running:t,waiting:n,completed:r,failed:i,canceled:a,attention:n>0||t>0||i>0}}var uw={pending:`queued`,in_progress:`running`,completed:`done`,cancelled:`stopped`,failed:`failed`,escalated:`waiting`,allowed:`allowed`,rejected:`rejected`,expired:`expired`},dw=e=>uw[e]??e;function fw(e){return e.waiting>0?`!`:e.running>0?`◐`:e.failed>0?`✕`:`✓`}function pw(e,t,n){return e===null?!t&&n.attention||n.failed>0||n.waiting>0:e}function mw(e){return e.find(e=>e.status===`in_progress`)??null}function hw(e){return e.kind===`notice`?e.toolKind===`safety`?`safety`:`approval`:e.toolKind??`tool`}function gw(e,t){return e.status===`in_progress`&&t>=2e3}function _w(e){let t=e?.at(-1);return t===void 0||t.role!==`worker`?null:t.node==null?t.agentId:`${t.agentId} · ${t.node}`}var vw=`Reported by Clio Coder as the agent that ran this call`,yw=`Clio Coder`,bw=`Reasoning`,xw=`reported by Clio Coder`,Sw=`earlier record`,Cw=`(earlier prompt not replayed)`,ww=`(empty prompt)`,Tw=`Earlier turns are not shown; Clio Coder still has the full context.`,Ew=`NEW RESEARCH THREAD`,Dw=`What would you like to understand or change?`,Ow=[`Map this project and explain how its parts fit together.`,`Run the existing checks and summarize what the evidence shows.`,`Help me plan a careful change without editing anything yet.`];function kw(e){let t=e.trim().split(`
78
+ `,1)[0]??``;return t.length>140?`${t.slice(0,140)}…`:t}function Aw(e){let t=e.origin===`replay`,n=t?`Earlier request`:`You`;if(e.request===null)return{heading:n,text:Cw,missing:!0,replay:t};let r=e.request.text;return r.trim().length===0?{heading:n,text:ww,missing:!0,replay:t}:{heading:n,text:r,missing:!1,replay:t}}function jw(e){let t=Aw(e);return t.missing?e.origin===`replay`?`Earlier turn`:`Turn`:`Request: ${t.text.slice(0,80)}`}function Mw(e,t,n){return!e||t<n-1}function Nw(e){for(let t=e.segments.length-1;t>=0;--t){let n=e.segments[t];if(n===void 0||n.kind===`activity`)continue;let r=_w(n.item.provenance);if(r!==null)return{name:r,delegated:!0};break}return{name:yw,delegated:!1}}function Pw(e){let t=0;for(let n of e.items)n.kind===`tool`&&(t+=1);return t}function Fw(e){let t=[];for(let n of e.segments)n.kind===`response`&&t.push(n.item.text);return t.join(`
79
+
80
+ `)}function Iw(e){return e?.startedAt??null}var Lw={leading:[],after:new Map};function Rw(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function zw(e,t){if(e.length===0)return Lw;let n=[];for(let e of t){let t=Rw(e.startedAt);t!==null&&n.push({id:e.id,at:t})}let r=[],i=new Map;for(let t of e){let e=Rw(t.at),a=null;if(e!==null)for(let t of n)t.at<=e&&(a=t.id);if(a===null)r.push(t);else{let e=i.get(a);e===void 0?i.set(a,[t]):e.push(t)}}return{leading:r,after:i}}var Bw=`Measured by this browser since the call first appeared here`,Vw=2048,Hw=new Map;function Uw(e,t){let n=Hw.get(e);if(n!==void 0)return n;if(Hw.size>=Vw){let e=Hw.keys().next();e.done||Hw.delete(e.value)}return Hw.set(e,t),t}var Ww=`Context is filling up`,Gw=`No target health reported`,Kw=`… diff truncated (details capped)`,qw=/… \(\+\d+ chars\)$/,Jw=2e3;function Yw(e){return e.map((e,t)=>({...e,id:`r${t}`}))}var Xw={format:`clio`,rows:[],adds:0,dels:0,elisions:0,truncated:!1,truncationNote:null,noNewlineAtEof:!1,rowsDropped:0};function Zw(e){return/[\u0000-\u0008\u000b\u000c\u000e-\u001f]/.test(e)}function Qw(e){if(e.endsWith(`…[truncated]`))return{body:e.slice(0,-12),truncated:!0,note:`The wire capped this diff at 28 KiB. Lines below the cut were never sent, so this is not the whole change.`};let t=e.indexOf(Kw);return t>=0?{body:e.slice(0,t),truncated:!0,note:`Clio Coder capped this diff at 32 KiB. Lines below the cut are not shown, so this is not the whole change.`}:{body:e,truncated:!1,note:null}}var $w=/^([+\- ])( *\d+| +) (.*)$/,eT=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/;function tT(e){let t=0;for(let n of e){if(eT.test(n))return!1;let e=$w.exec(n);e!==null&&/\d/.test(e[2]??``)&&(t+=1)}return t>0}function nT(e,t,n,r){return{id:``,kind:e,text:t,oldLine:n,newLine:r,lineCapped:qw.test(t)}}function rT(e){let t=[];for(let n of e){let e=$w.exec(n);if(e===null){n.length>0&&t.push(nT(`ctx`,n,null,null));continue}let r=e[1]??` `,i=e[2]??``,a=e[3]??``,o=i.trim(),s=o.length===0?null:Number(o);if(s===null){t.push(nT(`elision`,a,null,null));continue}r===`+`?t.push(nT(`add`,a,null,s)):r===`-`?t.push(nT(`del`,a,s,null)):t.push(nT(`ctx`,a,s,s))}return t}function iT(e){let t=[],n=0,r=0,i=!1;for(let a of e){let e=eT.exec(a);if(e!==null){n=Number(e[1]),r=Number(e[2]),t.push(nT(`hunk`,a,n,r));continue}if(!(a.startsWith(`---`)||a.startsWith(`+++`)||a.startsWith(`diff `)||a.startsWith(`index `))){if(a.startsWith(`\\`)){i=!0;continue}if(a.startsWith(`+`)){t.push(nT(`add`,a.slice(1),null,r)),r+=1;continue}if(a.startsWith(`-`)){t.push(nT(`del`,a.slice(1),n,null)),n+=1;continue}t.push(nT(`ctx`,a.startsWith(` `)?a.slice(1):a,n,r)),n+=1,r+=1}}return{rows:t,noNewline:i}}function aT(e){let t=0,n=0,r=0;for(let i of e)i.kind===`add`?t+=1:i.kind===`del`?n+=1:i.kind===`elision`&&(r+=1);return{adds:t,dels:n,elisions:r}}function oT(e){if(e.length===0)return Xw;let t=Qw(e);if(Zw(t.body))return{...Xw,format:`unparsed`,rows:Yw([nT(`ctx`,t.body,null,null)]),truncated:t.truncated,truncationNote:t.note};let n=t.body.split(`
81
+ `);if(n.length>0&&n[n.length-1]===``&&n.pop(),n.length===0)return{...Xw,truncated:t.truncated,truncationNote:t.note};let r=tT(n),i=r?{rows:rT(n),noNewline:!1}:iT(n),a=r?`clio`:`unified`;!r&&!n.some(e=>eT.test(e))&&(a=`unparsed`);let o=Yw(i.rows.slice(0,Jw)),s=aT(o);return{format:a,rows:o,...s,truncated:t.truncated,truncationNote:t.note,noNewlineAtEof:i.noNewline,rowsDropped:i.rows.length-o.length}}var sT={applied:`Applied`,proposed:`Proposed · not yet applied`,rejected:`Not applied · you rejected this`,unverified:`Application unverified · the call did not complete`,skipped:`No diff available`,unchanged:`No textual change`,absent:`No diff available`};function cT(e){return typeof e==`string`&&e.length>0?e:null}function lT(e,t){let n=e.split(`
82
+ `);return n.length>0&&n[n.length-1]===``&&n.pop(),n.slice(0,t+1)}function uT(e){if(e===void 0)return null;let t=[],n=e.edits;if(Array.isArray(n)&&n.length>0)for(let e of n){if(typeof e!=`object`||!e)continue;let n=e,r=cT(n.oldText),i=cT(n.newText);if(t.length>0&&t.push(nT(`elision`,`...`,null,null)),r!==null)for(let e of lT(r,400))t.push(nT(`del`,e,null,null));if(i!==null)for(let e of lT(i,400))t.push(nT(`add`,e,null,null));if(t.length>=400)break}else{let n=cT(e.content);if(n===null)return null;let r=1;for(let e of lT(n,400))t.push(nT(`add`,e,null,r)),r+=1}if(t.length===0)return null;let r=Yw(t.slice(0,400));return{format:`clio`,rows:r,...aT(r),truncated:t.length>r.length,truncationNote:t.length>r.length?`This preview stops at 400 lines. The proposal itself is longer.`:null,noNewlineAtEof:!1,rowsDropped:t.length-r.length}}function dT(e){let t=cT(e.rawInput?.path),n=typeof e.result?.details==`object`&&e.result.details!==null?e.result.details:void 0,r=n===void 0?null:cT(n.diff),i=typeof n?.firstChangedLine==`number`&&Number.isInteger(n.firstChangedLine)?n.firstChangedLine:null,a=e.status===`completed`,o=e.resultText?.includes(`was not approved`)??!1,s=e.status===`failed`||e.status===`cancelled`;if(r!==null){let n=oT(r),a=(n.noNewlineAtEof||(e.resultText?.includes(`no longer ends with a newline`)??!1))===n.noNewlineAtEof?n:{...n,noNewlineAtEof:!0};return a.rows.length===0?{provenance:`unchanged`,label:sT.unchanged,diff:a,note:`The tool reported success and produced an empty diff, so the file's text is unchanged.`,firstChangedLine:i,path:t}:{provenance:`applied`,label:sT.applied,diff:a,note:a.format===`unparsed`?`Clio Coder returned a diff this view could not parse. The raw bytes are in the disclosure below.`:null,firstChangedLine:i,path:t}}if(e.resultText?.includes(`diff skipped because the previous or new file exceeds 1 MiB`)===!0)return{provenance:`skipped`,label:sT.skipped,diff:null,note:`The file is larger than 1 MiB, so Clio Coder did not render a diff. The change itself still happened.`,firstChangedLine:i,path:t};let c=a?null:uT(e.rawInput);if(c!==null){let e=o?`rejected`:s?`unverified`:`proposed`,n=e===`rejected`?`Nothing was written. This is the change Clio Coder asked to make.`:e===`unverified`?`The call did not complete, so this view cannot confirm whether any of it reached the file. This is the change Clio Coder asked to make.`:`Built from the tool's arguments in this browser. Nothing has been written yet.`;return{provenance:e,label:sT[e],diff:c,note:n,firstChangedLine:i,path:t}}return{provenance:`absent`,label:sT.absent,diff:null,note:e.isError?null:`This call reported no diff.`,firstChangedLine:i,path:t}}function fT(e,t){let n=e.rows.length;if(n<=40)return{start:0,end:Math.max(0,n-1),collapsed:!1,hiddenRows:0};let r=e.rows.findIndex(e=>e.kind===`add`||e.kind===`del`);if(t!==null){let n=e.rows.findIndex(e=>e.newLine===t);n>=0&&(r=n)}r<0&&(r=0);let i=Math.max(0,r-3),a=Math.min(n-1,i+40-1);return a-i+1<40&&(i=Math.max(0,a-40+1)),r>a&&(i=Math.max(0,r-20),a=Math.min(n-1,i+40-1)),{start:i,end:a,collapsed:!0,hiddenRows:n-(a-i+1)}}function pT(e){return`+${e.adds} −${e.dels}`}function mT(e){return e.rows.filter(e=>e.kind!==`elision`&&e.kind!==`hunk`).map(e=>`${e.kind===`add`?`+`:e.kind===`del`?`-`:` `}${e.text}`).join(`
83
+ `)}function hT({diff:e,plan:t}){let n=e.rows.slice(t.start,t.end+1);return(0,q.jsx)(`div`,{className:`diff__grid`,role:`presentation`,children:n.map(e=>(0,q.jsxs)(`div`,{className:`diff__row is-${e.kind}`,children:[(0,q.jsx)(`span`,{className:`diff__num`,"aria-hidden":`true`,children:e.oldLine??``}),(0,q.jsx)(`span`,{className:`diff__num`,"aria-hidden":`true`,children:e.newLine??``}),(0,q.jsx)(`code`,{className:`diff__text`,children:e.text})]},e.id))})}var gT=(0,v.memo)(function({panel:e}){let t=e.diff,[n,r]=(0,v.useState)(!1);if(t===null)return(0,q.jsxs)(`div`,{className:`diff is-empty`,children:[(0,q.jsx)(Q,{tone:`warn`,label:e.label}),e.note===null?null:(0,q.jsx)(`p`,{className:`diff__note`,children:e.note})]});let i=fT(t,e.firstChangedLine),a=n||!i.collapsed,o=a?{start:0,end:Math.max(0,t.rows.length-1),collapsed:!1,hiddenRows:0}:i;return(0,q.jsxs)(`div`,{className:`diff is-${e.provenance}`,children:[(0,q.jsxs)(`div`,{className:`diff__head`,children:[e.path===null?(0,q.jsx)(Q,{tone:e.provenance===`applied`?`success`:e.provenance===`rejected`?`fail`:`warn`,label:e.label}):(0,q.jsx)(Q,{tone:e.provenance===`applied`?`success`:e.provenance===`rejected`?`fail`:`warn`,label:e.label,detail:e.path}),(0,q.jsx)(`span`,{className:`diff__counts`,children:pT(t)}),(0,q.jsx)(Ib,{text:mT(t),label:`Copy diff`})]}),e.note===null?null:(0,q.jsx)(`p`,{className:`diff__note`,children:e.note}),t.format===`unparsed`?(0,q.jsx)(`p`,{className:`diff__note`,children:`This payload is not a diff this view can read. It is shown verbatim, and the raw bytes are in the disclosure below.`}):null,t.noNewlineAtEof?(0,q.jsx)(`p`,{className:`diff__note`,children:`The file does not end with a newline.`}):null,(0,q.jsx)(hT,{diff:t,plan:o}),i.collapsed&&!a?(0,q.jsxs)(`button`,{type:`button`,className:`diff__more`,onClick:()=>r(!0),children:[`Show all `,t.rows.length,` lines`]}):null,t.truncated?(0,q.jsx)(`p`,{className:`diff__truncation`,children:e.diff?.truncationNote??`This diff was cut short by a cap.`}):null,t.rowsDropped>0?(0,q.jsxs)(`p`,{className:`diff__truncation`,children:[t.rowsDropped,` further rows are not drawn. This view stops before the browser does.`]}):null]})}),_T={read:`Read project content`,edit:`Edit project content`,delete:`Delete project content`,move:`Move project content`,search:`Search project content`,execute:`Run a project command`,think:`Reason about the task`,fetch:`Fetch external content`,switch_mode:`Change work mode`,other:`Use a Clio Coder tool`},vT=16384,yT=/[\u0000-\u001f\u007f]/g;function bT(){return new TextEncoder}function xT(e,t){let n=e.replace(yT,``);if(t!==void 0&&t.length>0&&(n=n.split(t).join(`[project]`)),n=n.trim(),bT().encode(n).byteLength<=511)return n;let r=n.length;for(;r>0&&bT().encode(n.slice(0,r)).byteLength>508;)--r;return`${n.slice(0,r)}…`}function ST(e,t=72){let n=e.replace(yT,` `).replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t-1)}…`}function CT(e){let t=e.replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n<0?t:t.slice(n+1)}var wT=[`B`,`KB`,`MB`,`GB`,`TB`];function TT(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return`unknown size`;let t=e,n=0;for(;t>=1024&&n<wT.length-1;)t/=1024,n+=1;return`${n===0?t:t.toFixed(+(t<10))} ${wT[n]}`}function ET(e){if(!Number.isFinite(e)||e<0)return`0s`;let t=Math.floor(e);if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${t%60}s`:`${Math.floor(n/60)}h ${n%60}m`}function DT(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function $(e){return typeof e==`string`&&e.length>0?e:null}function OT(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function kT(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){let e=DT(n);if(e===void 0)continue;let r=$((DT(e.content)??e).text);r!==null&&t.push(r)}return t.length===0?null:t.join(``)}function AT(e){let t=DT(e.rawInput)??{},n=DT(e.rawOutput),r=e.rawInput!==void 0&&DT(e.rawInput)?.truncated===!0;if(n===void 0)return{input:t,result:void 0,details:void 0,resultText:null,isError:!1,rawTruncated:r};if(n.truncated===!0&&typeof n.snippet==`string`)return{input:t,result:void 0,details:void 0,resultText:n.snippet,isError:!1,rawTruncated:!0};let i=DT(n.result);return{input:t,result:i,details:DT(i?.details),resultText:$(i?.output)??$(i?.message)??kT(n.content)??kT(i?.content)??null,isError:n.isError===!0||i?.kind===`error`,rawTruncated:r}}function jT(e){return e===`completed`||e===`failed`||e===`cancelled`}function MT(e,t){if(!jT(e.status)){let t=e.partialOutput;return t!==void 0&&t.length>0?{source:`partial`,text:t,running:!0,truncated:t.length>=vT,placeholder:null}:{source:`none`,text:``,running:!0,truncated:!1,placeholder:`Running. No output yet.`}}let n=t.resultText;return n===null||n.length===0?{source:`none`,text:``,running:!1,truncated:!1,placeholder:`No output.`}:{source:`final`,text:n,running:!1,truncated:t.details?.observation!==void 0&&DT(t.details.observation)?.truncated===!0,placeholder:null}}var NT=/^(.+?):(\d+):(.*)$/;function PT(e){if(e===null||e.length===0)return{groups:[],dropped:0};let t=new Map,n=0,r=0;for(let i of e.split(`
84
+ `)){if(i.length===0||i.startsWith(`[`))continue;let e=NT.exec(i),a=e===null?i:e[1]??i,o=e===null?null:Number(e[2]),s=e===null?``:e[3]??``;if(n+=1,r>=200)continue;let c=t.get(a)??[];c.push({id:`m${r}`,line:o,text:s}),r+=1,t.set(a,c)}return{groups:[...t].map(([e,t])=>({path:e,rows:t,total:t.length})),dropped:Math.max(0,n-r)}}function FT(e){let t=[],n=DT(e?.observation),r=OT(n?.shownCount),i=OT(n?.totalCount),a=$(n?.unit)??`results`;r!==null&&t.push({label:a,value:i!==null&&i!==r?`${r} of ${i}`:String(r)}),n?.truncated===!0&&t.push({label:`bounded`,value:`Clio Coder cut this result`,tone:`warn`});let o=DT(e?.search);if(o!==void 0&&o.complete===!1){let e=$(o.reason)??`unknown`;t.push({label:`coverage`,value:`incomplete (${e})`,tone:`warn`})}let s=OT(DT(o?.skipped)?.count);return s!==null&&s>0&&t.push({label:`skipped`,value:`${s} paths`,tone:`warn`}),t}function IT(e){if(e===void 0)return[];let t=[],n=OT(e.exitCode);n!==null&&t.push({label:`exit`,value:String(n),tone:n===0?`success`:`fail`});let r=$(e.signal);r!==null&&t.push({label:`signal`,value:r,tone:`fail`});let i=OT(e.stdoutBytes),a=OT(e.stderrBytes);i!==null&&t.push({label:`stdout`,value:TT(i)}),a!==null&&a>0&&t.push({label:`stderr`,value:TT(a)});let o=$(e.outcome);return o!==null&&o!==`success`&&t.push({label:`outcome`,value:o,tone:o===`nonzero`?`fail`:`warn`}),t}function LT(e){return e===void 0?null:e.timedOut===!0?`The command timed out and was stopped.`:e.aborted===!0?`The command was cancelled before it finished.`:e.outputCapped===!0?`Output hit the byte cap and the command was stopped.`:null}function RT(e){let t=[],n=OT(DT(e?.file)?.bytes);return n!==null&&t.push({label:`size`,value:TT(n)}),t.push(...FT(e)),t}function zT(e){if(e?.code!==`read_past_eof`)return null;let t=OT(e.totalLines);return t===null?`The requested range starts past the end of the file.`:`The requested range starts past the end of the file (${t} lines).`}function BT(e){if(e===void 0)return[];let t=[],n=OT(e.status);n!==null&&t.push({label:`status`,value:String(n),tone:n<400?`success`:`fail`});let r=$(e.contentType);r!==null&&t.push({label:`type`,value:r});let i=OT(e.bytesRead)??OT(e.bytes);i!==null&&t.push({label:`read`,value:TT(i)});let a=$(e.format);return a!==null&&t.push({label:`shape`,value:a}),t}var VT={read:{chip:`read`,body:`file`},ls:{chip:`list`,body:`file`},edit:{chip:`edit`,body:`diff`},write:{chip:`write`,body:`diff`},artifact:{chip:`edit`,body:`diff`},bash:{chip:`bash`,body:`terminal`},run_script:{chip:`run`,body:`terminal`},verify:{chip:`run`,body:`terminal`},safe_exec:{chip:`run`,body:`terminal`},git:{chip:`git`,body:`terminal`},grep:{chip:`grep`,body:`matches`},find:{chip:`find`,body:`matches`},code_nav:{chip:`nav`,body:`matches`},web_fetch:{chip:`fetch`,body:`fetch`},dispatch:{chip:`dispatch`,body:`dispatch`},monitor:{chip:`control`,body:`json`},steer:{chip:`control`,body:`json`},panes:{chip:`control`,body:`json`},context:{chip:`context`,body:`json`},ask_user:{chip:`ask`,body:`ask`},decide:{chip:`ask`,body:`ask`},evidence:{chip:`evidence`,body:`json`},ledger:{chip:`ledger`,body:`json`},task:{chip:`task`,body:`json`}},HT={read:{chip:`read`,body:`file`},edit:{chip:`edit`,body:`diff`},search:{chip:`search`,body:`matches`},execute:{chip:`run`,body:`terminal`},fetch:{chip:`fetch`,body:`fetch`},think:{chip:`think`,body:`json`},delete:{chip:`delete`,body:`json`},move:{chip:`move`,body:`json`},other:{chip:`tool`,body:`json`}};function UT(e){let t=OT(e.offset),n=OT(e.limit),r=OT(e.tail);if(r!==null)return` · last ${r} lines`;if(t===null&&n===null)return``;let i=t??1;return n===null?` · from line ${i}`:` · lines ${i}–${i+n-1}`}function WT(e,t,n){let r=$(t.path);switch(e){case`read`:return r===null?n:`${CT(r)}${UT(t)}`;case`ls`:return r??`.`;case`edit`:{let e=Array.isArray(t.edits)?t.edits.length:1;return r===null?n:`${CT(r)} · ${e} replacement${e===1?``:`s`}`}case`write`:return r===null?n:CT(r);case`artifact`:return`${$(t.op)??`artifact`} ${r===null?``:CT(r)}`.trim();case`bash`:return $(t.command)?.split(`
85
+ `,1)[0]??n;case`run_script`:case`verify`:case`safe_exec`:return $(t.script)??$(t.id)??$(t.op)??$(t.command)??n;case`git`:return`git ${$(t.op)??$(t.subcommand)??``}`.trim();case`grep`:{let e=$(t.pattern)??``,n=$(t.glob);return`/${e}/ in ${r??`.`}${n===null?``:` (${n})`}`}case`find`:return $(t.pattern)??$(t.glob)??n;case`code_nav`:return`${$(t.op)??`nav`} ${$(t.symbol)??r??``}`.trim();case`web_fetch`:{let e=$(t.url);if(e===null)return n;try{let t=new URL(e);return`${t.hostname}${t.pathname===`/`?``:t.pathname}`}catch{return e}}case`dispatch`:return`${$(t.agent)??$(t.recipe)??`worker`} · ${$(t.task)??`no task preview`}`;case`monitor`:case`steer`:case`panes`:case`context`:return $(t.op)??n;case`ask_user`:case`decide`:return $(t.question)??$(t.prompt)??n;default:return n}}var GT={pending:`Queued`,in_progress:`Running`,completed:`Done`,failed:`Failed`,cancelled:`Cancelled`};function KT(e,t){return t||e===`failed`||e===`cancelled`?`fail`:e===`completed`?`success`:e===`in_progress`?`running`:`warn`}function qT(e,t={}){let n=AT(e),r=e.title??e.toolKind??`tool`,i=VT[r]??HT[e.toolKind??`other`]??{chip:e.toolKind??`tool`,body:`json`},a=_T[r]??_T[e.toolKind??`other`]??_T.other,o=ST(xT(WT(r,n.input,e.text.length>0?e.text:a),t.workspaceRoot))||a,s=jT(e.status),c=e.status===`failed`||n.isError,l=[],u=null,d=[],f=0,p=null;switch(i.body){case`diff`:p=dT({rawInput:n.input,result:n.result,resultText:n.resultText,status:e.status,isError:n.isError}),p.diff?.truncated===!0&&l.push({label:`diff`,value:`cut short by a cap`,tone:`warn`});break;case`terminal`:l.push(...IT(n.details)),u=LT(n.details);break;case`matches`:{let e=PT(n.resultText);d=e.groups,f=e.dropped,l.push(...FT(n.details)),f>0&&(u=`${f} more rows arrived than this view draws; open the raw result to see them all.`);break}case`file`:l.push(...RT(n.details)),u=zT(n.details);break;case`fetch`:l.push(...BT(n.details)),n.details?.truncated===!0&&(u=`The fetched body was cut at the byte cap.`);break;case`dispatch`:{let e=$(n.details?.runId)??$(n.input.runId);e!==null&&l.push({label:`run`,value:e});let t=$(n.input.agent)??$(n.input.recipe);t!==null&&l.push({label:`agent`,value:t});break}}n.rawTruncated&&(u??=`This call's raw record was larger than the 32 KiB wire limit, so only a snippet reached the browser.`);let m=t.nowMs!==void 0&&t.startedAtMs!==void 0?Math.max(0,Math.floor((t.nowMs-t.startedAtMs)/1e3)):null;return!s&&m!==null&&m>=30&&l.push({label:`still running`,value:ET(m),tone:`warn`}),{chip:i.chip,name:r,headline:o,body:i.body,tone:KT(e.status,n.isError),statusLabel:GT[e.status]??e.status,settled:s,failed:c,facts:l,note:u,locations:(e.locations??[]).map(e=>({path:xT(e.path,t.workspaceRoot),line:typeof e.line==`number`?e.line:null})),output:MT(e,n),diff:p,matches:d,matchesDropped:f,rawTruncated:n.rawTruncated}}function JT(e){return e.line===null?e.path:`${e.path}:${e.line+1}`}function YT({facts:e}){return e.length===0?null:(0,q.jsx)(`ul`,{className:`tool-card__facts`,children:e.map(e=>(0,q.jsx)(`li`,{className:`tool-card__fact`,children:e.tone===void 0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`span`,{className:`tool-card__fact-label`,children:e.label}),(0,q.jsx)(`span`,{className:`tool-card__fact-value`,children:e.value})]}):(0,q.jsx)(Q,{tone:e.tone,label:e.label,detail:e.value})},`${e.label}:${e.value}`))})}function XT({locations:e,headline:t}){if(e.length===0||e.length===1&&e[0]!==void 0&&JT(e[0])===t)return null;let n=e.slice(0,3),r=e.length-n.length;return(0,q.jsxs)(`p`,{className:`tool-card__locations`,children:[n.map(e=>(0,q.jsx)(`code`,{className:`tool-card__location`,children:JT(e)},JT(e))),r>0?(0,q.jsxs)(`span`,{className:`tool-card__more`,children:[`+`,r,` more`]}):null]})}function ZT({pane:e}){return(0,q.jsxs)(`div`,{className:`tool-card__output`,"data-source":e.source,"data-running":e.running?`yes`:`no`,children:[(0,q.jsxs)(`div`,{className:`tool-card__output-head`,children:[(0,q.jsx)(Q,{tone:e.running?`running`:`neutral`,label:e.source===`partial`?`Output so far`:`Output`}),e.truncated?(0,q.jsx)(`span`,{className:`tool-card__output-cap`,children:`cut at the byte cap`}):null]}),(0,q.jsx)(`pre`,{className:`tool-card__pre`,"aria-live":e.running?`polite`:`off`,children:e.source===`none`?e.placeholder??``:e.text})]})}function QT({groups:e,dropped:t}){return e.length===0?(0,q.jsx)(`p`,{className:`tool-card__empty`,children:`No matches.`}):(0,q.jsxs)(`div`,{className:`tool-card__matches`,children:[e.map(t=>(0,q.jsxs)(`details`,{className:`tool-card__match-file`,open:e.length===1,children:[(0,q.jsxs)(`summary`,{children:[(0,q.jsx)(`code`,{children:t.path}),(0,q.jsxs)(`span`,{className:`tool-card__more`,children:[t.total,` `,t.total===1?`row`:`rows`]})]}),t.rows.map(e=>(0,q.jsxs)(`div`,{className:`tool-card__match`,children:[(0,q.jsx)(`span`,{className:`tool-card__match-line`,"aria-hidden":`true`,children:e.line??``}),(0,q.jsx)(`code`,{className:`tool-card__match-text`,children:e.text})]},e.id))]},t.path)),t>0?(0,q.jsxs)(`p`,{className:`tool-card__empty`,children:[t,` further rows are not drawn.`]}):null]})}function $T({item:e}){return(0,q.jsxs)(`details`,{className:`tool-card__raw`,children:[(0,q.jsx)(`summary`,{children:`Raw input and result`}),(0,q.jsx)(`pre`,{className:`tool-card__pre`,children:JSON.stringify({input:e.rawInput,output:e.rawOutput},null,2)})]})}function eE({card:e}){switch(e.body){case`diff`:return e.diff===null?null:(0,q.jsx)(gT,{panel:e.diff});case`terminal`:return(0,q.jsx)(ZT,{pane:e.output});case`matches`:return e.output.running?(0,q.jsx)(ZT,{pane:e.output}):(0,q.jsx)(QT,{groups:e.matches,dropped:e.matchesDropped});case`file`:case`fetch`:case`dispatch`:return e.output.running?(0,q.jsx)(ZT,{pane:e.output}):null;case`ask`:return null;default:return(0,q.jsx)(ZT,{pane:e.output})}}var tE=(0,v.memo)(function({item:e,options:t}){let n=qT(e,t??{});return(0,q.jsxs)(`article`,{className:`tool-card is-${n.body}`,"data-tone":n.tone,"data-settled":n.settled?`yes`:`no`,children:[(0,q.jsxs)(`header`,{className:`tool-card__head`,children:[(0,q.jsx)(`span`,{className:`tool-card__chip`,children:n.chip}),(0,q.jsx)(`span`,{className:`tool-card__headline`,title:n.headline,children:n.headline}),(0,q.jsx)(Q,{tone:n.tone,label:n.statusLabel})]}),(0,q.jsx)(YT,{facts:n.facts}),n.note===null?null:(0,q.jsx)(`p`,{className:`tool-card__note`,children:n.note}),(0,q.jsx)(XT,{locations:n.locations,headline:n.headline}),(0,q.jsx)(eE,{card:n}),(0,q.jsx)($T,{item:e})]})});function nE({item:e,client:t,session:n,workspaceRoot:r,nowMs:i}){let a=_w(e.provenance),o=Uw(e.id,i),s=i===0?0:Math.max(0,i-o);return(0,q.jsxs)(`li`,{className:`activity__row`,"data-kind":e.kind,children:[(0,q.jsxs)(`div`,{className:`activity__rowhead`,children:[(0,q.jsx)(`span`,{className:`activity__kind`,children:hw(e)}),a===null?null:(0,q.jsxs)(`span`,{className:`activity__agent`,title:vw,children:[`agent `,a]}),(0,q.jsx)(Q,{tone:Ax(e.status),label:dw(e.status)}),gw(e,s)?(0,q.jsx)(`span`,{className:`activity__elapsed`,title:Bw,children:xe(s)}):null]}),e.kind===`tool`?(0,q.jsx)(tE,{item:e,options:{...r===void 0?{}:{workspaceRoot:r},nowMs:i,startedAtMs:o}}):(0,q.jsx)(`p`,{className:`activity__notice`,children:e.text}),(0,q.jsx)(sw,{client:t,session:n,item:e})]})}function rE({items:e,settled:t,client:n,session:r,workspaceRoot:i,nowMs:a}){let[o,s]=(0,v.useState)(null),c=lw(e),l=pw(o,t,c),u=mw(e);return(0,q.jsxs)(`details`,{className:`activity activity--${c.tone}`,open:l,onToggle:e=>{e.currentTarget.open!==l&&s(e.currentTarget.open)},children:[(0,q.jsxs)(`summary`,{className:`activity__summary`,children:[(0,q.jsx)(`span`,{className:`activity__glyph`,"aria-hidden":`true`,children:fw(c)}),(0,q.jsx)(`span`,{className:`activity__label`,children:c.label}),u!==null&&c.waiting===0?(0,q.jsx)(`span`,{className:`activity__current`,children:u.title??u.text}):null,(0,q.jsx)(`span`,{className:`activity__count`,"aria-hidden":`true`,children:c.total})]}),(0,q.jsx)(`ul`,{className:`activity__rows`,children:e.map(e=>(0,q.jsx)(nE,{item:e,client:n,session:r,workspaceRoot:i,nowMs:a},e.id))})]})}var iE=32e3,aE=`next-slot`;function oE(){return crypto.randomUUID()}var sE=class{#e;#t=new Set;#n;constructor(e=oE){this.#e=e,this.#n={text:``,mode:aE,key:e()}}snapshot=()=>this.#n;subscribe=e=>(this.#t.add(e),()=>{this.#t.delete(e)});write(e){e!==this.#n.text&&this.#r({...this.#n,text:e})}chooseMode(e){e!==this.#n.mode&&this.#r({...this.#n,mode:e})}clear(){this.#r({text:``,mode:this.#n.mode,key:this.#e()})}#r(e){this.#n=e;for(let e of this.#t)e()}},cE=new Map;function lE(e){let t=cE.get(e);if(!t){if(cE.size>=32){let e=cE.keys().next().value;e!==void 0&&cE.delete(e)}t=new sE}return cE.delete(e),cE.set(e,t),t}var uE={steer:!1,modes:[],interrupt:!1,queue:!1,dispatch:!1},dE=[`next-slot`,`end-of-turn`];function fE(e){let t=e?.steering;if(t===void 0)return uE;let n=dE.filter(e=>t.modes.includes(e));return{steer:t.main&&n.length>0,modes:n,interrupt:t.interrupt,queue:!0,dispatch:t.dispatch}}var pE={"next-slot":{label:`Now`,lands:`Lands between tool calls, while this turn is still running.`},"end-of-turn":{label:`After this turn`,lands:`Waits in the follow-up queue until the whole turn has settled.`}};function mE(e){return e.modes.map(e=>({mode:e,...pE[e]}))}var hE={starting:`This session is still starting. It will take a prompt once the agent answers.`,unknown:`This session is not reachable right now, so nothing can be sent into it.`,closed:`This session is closed. Open a new one to keep working.`,failed:`This session failed. Open a new one to keep working.`};function gE(e){return{kind:`blocked`,reason:e}}function _E(e){return{characters:e.length,bytes:new TextEncoder().encode(e).length}}function vE(e,t,n){let r=_E(e);return r.characters>t?`This message is ${r.characters.toLocaleString(`en-US`)} characters and the limit is ${t.toLocaleString(`en-US`)}. Shorten it or send it in two.`:r.bytes>n?`This message is ${r.bytes.toLocaleString(`en-US`)} bytes and the limit is ${n.toLocaleString(`en-US`)}. Shorten it or send it in two.`:null}function yE(e,t){if(t.sending)return gE(`The previous send is still on the wire.`);if(t.sessionState!==`open`)return gE(hE[t.sessionState]??`This session cannot take a message.`);let n=e.text.trim();if(n===``)return gE(`Write a message first.`);if(t.turnRunning){if(!t.steering.steer)return gE(`This Clio Coder build cannot take direction while a turn runs. Your draft is kept; send it when the turn settles, or stop the turn.`);let r=t.steering.modes.includes(e.mode)?e.mode:t.steering.modes[0];if(r===void 0)return gE(`This Clio Coder build announced no steering mode.`);let i=vE(n,Wm,Wm);return i===null?{kind:`steer`,text:n,mode:r,idempotencyKey:e.key}:gE(i)}let r=vE(n,iE,iE*4);return r===null?{kind:`prompt`,text:n,idempotencyKey:e.key}:gE(r)}function bE(e,t,n){return e.kind===`steer`?e.mode===`next-slot`?`Send now`:`Queue for after`:e.kind===`prompt`||!(t.turnRunning&&t.steering.steer)?`Send`:n===`end-of-turn`?`Queue for after`:`Send now`}function xE(e,t){return e.key===`Enter`?t.composing||t.layerOwned?`newline`:Eg(Sg.send,e)?`send`:e.shiftKey||e.altKey||e.ctrlKey||e.metaKey?`newline`:`send`:`ignore`}function SE(e){if(!e)return[];let t=[],n=(e,n,r)=>{for(let[i,a]of n.slice(0,64).entries())t.push({id:`${e}:${i}`,queue:e,position:i+1,text:a,lands:r})};return n(`steer`,e.steer,pE[`next-slot`].lands),n(`follow-up`,e.followUp,pE[`end-of-turn`].lands),t}function CE(e){if(e.length===0)return`Nothing is waiting.`;let t=e.filter(e=>e.queue===`steer`).length,n=e.length-t,r=[];return t>0&&r.push(`${t} waiting for the next tool call`),n>0&&r.push(`${n} waiting for the turn to end`),`${r.join(` · `)}.`}function wE(e,t){let n=e.trim()===``?[]:[e.trimEnd()];for(let e of t){let t=e.trim();t!==``&&!n.includes(t)&&n.push(t)}return n.join(`
86
+
87
+ `).slice(0,iE)}function TE(e){if(typeof e!=`object`||!e)return null;let t=e.problem;return typeof t==`object`&&t?t:null}function EE(e){let t=TE(e);return t?.status===409?typeof t.detail==`string`&&t.detail.trim()!==``?t.detail:`This Clio Coder build does not serve that control.`:null}function DE(e){if(e==null)return null;let t=EE(e);return t===null?{tone:`fail`,message:e instanceof Error?e.message:String(e)}:{tone:`warn`,message:t}}function OE(e){return!e||(e.accepted??e.cancelled??!0)?null:{tone:`warn`,message:e.refusal??`The engine refused, and reported no reason.`}}function kE(e){let t=(e.requestText??``).trim()!==``,n=e.responseText.trim()!==``,r=e.status===`failed`||e.status===`cancelled`;return[{id:`copy-request`,label:`Copy prompt`,available:t,unavailable:t?null:`This turn recorded no prompt.`},{id:`copy-response`,label:`Copy response`,available:n,unavailable:n?null:`This turn has not written anything yet.`},{id:`retry`,label:`Try again`,available:r&&t,unavailable:r?t?null:`This turn recorded no prompt to try again.`:`Only a failed or stopped turn can be tried again.`}]}function AE(e){return`${e.input.toLocaleString(`en-US`)} in · ${e.output.toLocaleString(`en-US`)} out`}function jE(e){return[`input ${e.input.toLocaleString(`en-US`)}`,`output ${e.output.toLocaleString(`en-US`)}`,`cache read ${e.cacheRead.toLocaleString(`en-US`)}`,`cache write ${e.cacheWrite.toLocaleString(`en-US`)}`,`reasoning ${e.reasoning.toLocaleString(`en-US`)}`].join(` · `)}var ME={running:{tone:`running`,glyph:`▸`,label:`Turn running`},succeeded:{tone:`success`,glyph:`✓`,label:`Turn complete`},failed:{tone:`fail`,glyph:`✕`,label:`Turn failed`},cancelled:{tone:`warn`,glyph:`–`,label:`Turn stopped`}};function NE(e,t){let n=ME[e.status],r=[];return t>0&&r.push(`${t} tool ${t===1?`call`:`calls`}`),e.usage!==null&&r.push(`tokens ${AE(e.usage)}`),{tone:n.tone,glyph:n.glyph,label:n.label,detail:e.status===`succeeded`?null:e.problem?.detail??null,stopReason:e.status===`failed`?e.stopReason:null,facts:r,usageTitle:e.usage===null?null:jE(e.usage),finishedAt:e.finishedAt}}var PE={starting:`◌`,thinking:`◔`,writing:`◑`,acting:`◐`,waiting:`!`,stopping:`–`,done:`✓`,failed:`✕`,stopped:`–`},FE={starting:`unverified`,thinking:`running`,writing:`running`,acting:`running`,waiting:`warn`,stopping:`warn`,done:`success`,failed:`fail`,stopped:`neutral`},IE=e=>e.state!==`done`&&e.state!==`failed`&&e.state!==`stopped`;function LE(e,t,n,r=!1,i=0){if(t!==void 0&&t.status!==`running`)return t.status===`failed`?{state:`failed`,label:`Failed`,detail:t.problem?.detail??null}:t.status===`cancelled`?{state:`stopped`,label:`Stopped`,detail:null}:{state:`done`,label:`Complete`,detail:null};if(e.origin===`replay`)return{state:`done`,label:`Earlier record`,detail:null};if(r)return{state:`stopping`,label:`Stopping`,detail:null};if(n!==null&&n.turnId===e.turnId)return{state:`waiting`,label:`Waiting for your approval`,detail:n.title};if(i>0)return{state:`acting`,label:i===1?`Waiting on 1 worker`:`Waiting on ${i} workers`,detail:null};let a=e.items.at(-1);return a===void 0||a.kind===`user`?{state:`starting`,label:`Starting`,detail:null}:a.kind===`tool`&&a.status===`in_progress`?{state:`acting`,label:`Running`,detail:a.title??null}:a.kind===`thought`?{state:`thinking`,label:`Thinking`,detail:null}:a.kind===`text`?{state:`writing`,label:`Writing`,detail:null}:a.kind===`notice`?{state:`waiting`,label:`Waiting for your approval`,detail:a.title??null}:{state:`acting`,label:`Working`,detail:null}}var RE=e=>`${e.label}…`,zE=new Map;function BE(e,t){lE(e).write(t),zE.get(e)?.()}var VE=(0,v.memo)(function({client:e,sessionId:t,sessionState:n,runningTurnId:r}){let a=i(),o=lE(t),s=(0,v.useSyncExternalStore)(o.subscribe,o.snapshot,o.snapshot),c=(0,v.useRef)(null),u=(0,v.useId)(),d=(0,v.useId)(),p=T_(),m=r!==null,h={params:{id:t},query:{},body:{}};(0,v.useEffect)(()=>{let e=()=>c.current?.focus();return zE.set(t,e),()=>{zE.get(t)===e&&zE.delete(t)}},[t]);let ee=fE(l({queryKey:[`session-capabilities`,t],queryFn:()=>e.call(K.sessionCapabilities,h),staleTime:1/0,retry:!1}).data),g=mE(ee),_=SE(l({queryKey:[`session-queue`,t],queryFn:()=>e.call(K.sessionQueue,h),enabled:ee.queue&&m,retry:!1,refetchInterval:m?3e3:!1}).data),te=f({mutationFn:async t=>t.kind===`prompt`?(await e.call(K.turn,{...h,body:{text:t.text}},t.idempotencyKey),null):e.call(K.steerSession,{...h,body:{text:t.text,mode:t.mode}},t.idempotencyKey),onSuccess:e=>{(e===null||e.accepted)&&(o.clear(),e!==null&&a.invalidateQueries({queryKey:[`session-queue`,t]}))}}),ne=f({mutationFn:()=>e.call(K.interruptSession,{...h,body:{}})}),re=f({mutationFn:()=>e.call(K.cancelTurn,{params:{id:t,turnId:r??``},query:{},body:{}})}),ie=f({mutationFn:()=>e.call(K.clearSessionQueue,{...h,body:{}}),onSuccess:e=>{o.write(wE(o.snapshot().text,e.restored)),a.invalidateQueries({queryKey:[`session-queue`,t]}),c.current?.focus()}}),ae={sessionState:n,turnRunning:m,sending:te.isPending,steering:ee},oe=yE(s,ae),se=()=>{let e=yE(o.snapshot(),ae);e.kind!==`blocked`&&te.mutate(e)},ce=DE(te.error??ne.error??re.error??ie.error)??OE(te.data)??OE(ne.data);return(0,q.jsxs)(`form`,{className:`composer`,onSubmit:e=>{e.preventDefault(),se()},children:[(0,q.jsx)(`label`,{className:`composer__label`,htmlFor:u,children:`Message Clio Coder`}),(0,q.jsx)(`textarea`,{id:u,ref:c,className:`composer__field`,"aria-describedby":d,value:s.text,rows:4,disabled:n!==`open`,placeholder:`Ask Clio Coder to do something in this project`,onChange:e=>o.write(e.target.value),onKeyDown:e=>{xE({key:e.key,altKey:e.altKey,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey},{layerOwned:p,composing:e.nativeEvent.isComposing})===`send`&&(e.preventDefault(),se())}}),m&&g.length>1?(0,q.jsxs)(`fieldset`,{className:`composer__modes`,children:[(0,q.jsx)(`legend`,{children:`Deliver this`}),g.map(e=>(0,q.jsxs)(`label`,{className:`composer__mode`,title:e.lands,children:[(0,q.jsx)(`input`,{type:`radio`,name:`${u}-mode`,checked:s.mode===e.mode,onChange:()=>o.chooseMode(e.mode)}),e.label]},e.mode)),(0,q.jsx)(`span`,{className:`composer__mode-lands`,children:g.find(e=>e.mode===s.mode)?.lands??g[0]?.lands})]}):null,(0,q.jsxs)(`div`,{className:`composer__actions`,children:[(0,q.jsx)(`p`,{className:`composer__hint`,id:d,children:`Enter sends. Shift and Enter start a new line. Prompts go only to the Clio Coder target you configured.`}),m?(0,q.jsxs)(q.Fragment,{children:[ee.interrupt?(0,q.jsx)(`button`,{className:`composer__secondary`,type:`button`,disabled:ne.isPending,onClick:()=>ne.mutate(),title:`Ask Clio Coder to put down what it is doing and take new direction. The turn stays open.`,children:ne.isPending?`Interrupting…`:`Interrupt`}):null,(0,q.jsx)(`button`,{className:`composer__secondary`,type:`button`,disabled:re.isPending,onClick:()=>re.mutate(),title:`End this turn now. Nothing further is run.`,children:re.isPending?`Stopping…`:`Stop turn`})]}):null,(0,q.jsx)(`button`,{className:`composer__submit primary`,type:`submit`,disabled:oe.kind===`blocked`,title:oe.kind===`blocked`?oe.reason:void 0,children:te.isPending?`Sending…`:bE(oe,ae,s.mode)})]}),oe.kind===`blocked`&&s.text.trim()!==``?(0,q.jsx)(`p`,{className:`composer__blocked`,role:`status`,children:oe.reason}):null,ce?(0,q.jsxs)(`p`,{className:`composer__notice`,role:ce.tone===`fail`?`alert`:`status`,children:[(0,q.jsx)(Q,{tone:ce.tone,label:ce.tone===`fail`?`Failed`:`Refused`}),ce.message]}):null,m&&ee.queue&&_.length>0?(0,q.jsxs)(`section`,{className:`composer__queue`,"aria-label":`Messages waiting on the engine`,children:[(0,q.jsx)(`p`,{className:`composer__queue-summary`,role:`status`,children:CE(_)}),(0,q.jsx)(`ol`,{className:`composer__queue-list`,children:_.map(e=>(0,q.jsxs)(`li`,{className:`composer__queue-row`,children:[(0,q.jsx)(Q,{tone:`warn`,label:e.queue===`steer`?`Now`:`After this turn`}),(0,q.jsx)(`span`,{className:`composer__queue-text`,children:e.text})]},e.id))}),(0,q.jsx)(`button`,{className:`composer__secondary`,type:`button`,disabled:ie.isPending,onClick:()=>ie.mutate(),title:`Take every waiting message back out of the queue and into this field.`,children:ie.isPending?`Taking them back…`:`Take them back`})]}):null]})});function HE({sessionId:e,row:t,requestText:n,responseText:r,status:i}){let a=kE({requestText:n,responseText:r,status:i}),o=e=>a.find(t=>t.id===e),s=o(`copy-request`),c=o(`copy-response`),l=o(`retry`);return(0,q.jsxs)(`span`,{className:`message-actions`,children:[t===`request`&&s?.available?(0,q.jsx)(Ib,{text:n??``,label:s.label}):null,t===`response`&&c?.available?(0,q.jsx)(Ib,{text:r,label:c.label}):null,t===`response`&&l?.available?(0,q.jsx)(`button`,{className:`message-actions__button`,type:`button`,onClick:()=>BE(e,n??``),title:`Put this prompt back in the composer. It is not sent until you send it.`,children:l.label}):null]})}function UE({outcome:e,formatClock:t}){return(0,q.jsxs)(`footer`,{className:`turn-outcome`,"data-tone":e.tone,children:[(0,q.jsx)(Q,{tone:e.tone,label:e.label}),e.detail?(0,q.jsx)(`span`,{className:`turn-outcome__detail`,children:e.detail}):null,e.stopReason?(0,q.jsx)(`code`,{className:`turn-outcome__code`,children:e.stopReason}):null,e.facts.map(t=>(0,q.jsx)(`span`,{className:`turn-outcome__fact`,title:t.startsWith(`tokens`)?e.usageTitle??void 0:void 0,children:t},t)),e.finishedAt?(0,q.jsx)(`time`,{dateTime:e.finishedAt,children:t(e.finishedAt)}):null]})}function WE(e){return new Map(e.map(e=>[e.id,e.status]))}function GE(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function KE(e,t){return(e[0]?.origin??`live`)===`replay`||t!==void 0&&t!==`running`}function qE(e,t,n){let r=null,i=[],a=null,o=()=>{a!==null&&a.length>0&&i.push({kind:`activity`,items:a}),a=null};for(let e of t)switch(e.kind){case`user`:r=e;break;case`text`:o(),i.push({kind:`response`,item:e});break;case`thought`:o(),i.push({kind:`reasoning`,item:e});break;case`tool`:case`notice`:a===null&&(a=[]),a.push(e)}return o(),{turnId:e,origin:t[0]?.origin??`live`,request:r,segments:i,items:t,settled:KE(t,n)}}function JE(e,t,n=[]){let r=[],i=new Map;for(let t of e){let e=i.get(t.turnId);e===void 0&&(e=[],i.set(t.turnId,e),r.push(t.turnId)),e.push(t)}let a=new Map(n.map(e=>[e.turnId,e])),o=n.length===r.length,s=r.map((e,r)=>{let s=i.get(e)??[],c=a.get(e),l=t.get(e);return c!==void 0&&GE(c.items,s)&&c.settled===KE(s,l)?(n[r]!==c&&(o=!1),c):(o=!1,qE(e,s,l))});return o?n:s}function YE(e,t){return e.turn===t.turn?e.turn.settled?!0:e.pendingPermissionId===t.pendingPermissionId&&e.nowMs===t.nowMs:!1}function XE(e,t){return e.row!==t.row||e.liveWorkers!==t.liveWorkers||e.notices!==t.notices||e.stopping!==t.stopping||e.session.permissions!==t.session.permissions?!1:YE(e,t)}function ZE({item:e}){return(0,q.jsxs)(`details`,{className:`reasoning`,children:[(0,q.jsxs)(`summary`,{className:`reasoning__summary`,children:[(0,q.jsx)(`span`,{className:`reasoning__label`,children:bw}),(0,q.jsx)(`span`,{className:`reasoning__preview`,children:kw(e.text)}),(0,q.jsx)(`span`,{className:`reasoning__source`,children:xw})]}),(0,q.jsx)(`p`,{className:`reasoning__body`,children:e.text})]})}function QE({status:e}){return(0,q.jsx)(`span`,{className:`live-chip`,"data-state":e.state,children:(0,q.jsx)(Q,{tone:FE[e.state],label:e.label,...e.detail===null?{}:{detail:e.detail}})})}function $E({rows:e}){return e.length===0?null:(0,q.jsx)(`ul`,{className:`turn-health`,children:e.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(Q,{tone:e.tone,label:e.label,...e.detail===null?{}:{detail:e.detail}})},e.id))})}var eD=(0,v.memo)(function({turn:e,row:t,client:n,session:r,pending:i,nowMs:a,stopping:o,notices:s,workspaceRoot:c,liveWorkers:l}){let u=LE(e,t,i,o,l),d=IE(u)&&!e.settled,f=Aw(e),p=Nw(e),m=Iw(t),h=f.missing?null:f.text;return(0,q.jsxs)(`article`,{className:`chat-turn${d?` is-live`:` is-settled`}${e.origin===`replay`?` is-replay`:``}`,"data-turn-id":e.turnId,"aria-label":jw(e),children:[(0,q.jsxs)(`div`,{className:`chat-request`,children:[(0,q.jsxs)(`div`,{className:`chat-request__meta`,children:[(0,q.jsx)(`span`,{className:`chat-request__who`,children:f.heading}),f.replay?(0,q.jsx)(`span`,{className:`chat-request__replay`,children:Sw}):null,m===null?(0,q.jsx)(`span`,{className:`chat-request__time`,children:ye(null)}):(0,q.jsx)(`time`,{dateTime:m,children:ye(m)}),(0,q.jsx)(HE,{sessionId:r.id,row:`request`,requestText:h,responseText:Fw(e),status:t?.status??`running`})]}),(0,q.jsx)(`p`,{className:`chat-request__prompt${f.missing?` is-missing`:``}`,children:f.text})]}),(0,q.jsxs)(`div`,{className:`chat-response`,children:[(0,q.jsxs)(`div`,{className:`chat-response__meta`,children:[(0,q.jsx)(`span`,{className:`chat-response__who`,children:p.name}),(0,q.jsx)(QE,{status:u})]}),(0,q.jsxs)(`div`,{className:`chat-response__body`,children:[e.segments.length===0&&d?(0,q.jsxs)(`p`,{className:`chat-response__placeholder`,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:PE[u.state]}),` `,RE(u)]}):null,e.segments.map((t,i)=>{let o=Mw(d,i,e.segments.length);switch(t.kind){case`response`:return(0,q.jsx)(Xb,{source:t.item.text,complete:o,deferDiagrams:d},t.item.id);case`reasoning`:return(0,q.jsx)(ZE,{item:t.item},t.item.id);default:return(0,q.jsx)(rE,{items:t.items,settled:o,client:n,session:r,workspaceRoot:c,nowMs:a},t.items[0]?.id??`activity-${i}`)}})]}),(0,q.jsx)(`div`,{className:`chat-response__meta chat-response__footer`,children:(0,q.jsx)(HE,{sessionId:r.id,row:`response`,requestText:h,responseText:Fw(e),status:t?.status??`running`})}),t!==void 0&&t.status!==`running`?(0,q.jsx)(UE,{outcome:NE(t,Pw(e)),formatClock:ye}):null]}),(0,q.jsx)($E,{rows:s})]})},XE),tD={queued:`…`,running:`◐`,progress:`◑`,done:`✓`,failed:`✕`},nD={queued:`queued`,running:`running`,progress:`working`,done:`done`,failed:`failed`},rD={queued:`neutral`,running:`running`,progress:`running`,done:`success`,failed:`fail`},iD=new Set([`queued`,`running`,`progress`]),aD=e=>iD.has(e.state),oD=e=>typeof e==`object`&&e?e:{},sD=e=>typeof e==`string`&&e.length>0?e:null,cD=e=>typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):null,lD=e=>e===!0,uD=new Set([`fleet.enqueued`,`fleet.started`,`fleet.progress`,`fleet.completed`,`fleet.failed`]),dD=e=>uD.has(e);function fD(e,t){return{runId:e,agentId:`an unnamed agent`,state:`queued`,taskPreview:null,node:null,attempt:null,progressCount:0,progressTruncated:!1,outcome:null,durationMs:null,tokenCount:null,updatedAt:t}}function pD(e,t,n,r){let i={...e,agentId:sD(n.agentId)??e.agentId,updatedAt:r};switch(t){case`fleet.enqueued`:case`fleet.started`:return{...i,state:t===`fleet.enqueued`?`queued`:`running`,taskPreview:sD(n.taskPreview)??i.taskPreview,node:sD(n.node)??i.node,attempt:cD(n.attempt)??i.attempt};case`fleet.progress`:return{...i,state:`progress`,progressCount:cD(n.progressCount)??i.progressCount,progressTruncated:lD(n.truncated)};case`fleet.completed`:return{...i,state:`done`,outcome:sD(n.outcome)??i.outcome,durationMs:cD(n.durationMs)??i.durationMs,tokenCount:cD(n.tokenCount)??i.tokenCount};case`fleet.failed`:return{...i,state:`failed`,outcome:sD(n.outcome)??sD(n.reason)??i.outcome,durationMs:cD(n.durationMs)??i.durationMs};default:return i}}function mD(e){let t=new Map,n=[...e].sort((e,t)=>e.sourceSequence-t.sourceSequence);for(let e of n){if(!dD(e.fact.type))continue;let n=oD(e.fact.payload),r=sD(n.runId);r!==null&&t.set(r,pD(t.get(r)??fD(r,e.at),e.fact.type,n,e.at))}if(t.size<=64)return[...t.values()];let r=t.size-64,i=[...t.values()].filter(e=>!aD(e)).slice(0,r);for(let e of i)t.delete(e.runId);for(;t.size>64;){let e=t.keys().next();if(e.done)break;t.delete(e.value)}return[...t.values()]}function hD(e){let t=[nD[e.state]];return e.outcome!==null&&t.push(e.outcome),e.progressCount>0&&t.push(`${e.progressCount}${e.progressTruncated?`+`:``} steps`),e.durationMs!==null&&t.push(xe(e.durationMs)),t.join(` · `)}var gD=e=>e.taskPreview??`No task preview was reported.`,_D=e=>e.node===null?null:`node ${e.node}`,vD=e=>`Fleet · ${e.filter(aD).length} running of ${e.length}`;function yD(e,t){let n=t===1?`run`:`runs`;return e===t?`All ${t} reported ${n} shown`:`${e} of ${t} reported ${n} shown`}var bD=`No run is running right now. Every reported run has settled.`,xD=`Clio Coder reports no dispatched runs in this conversation.`,SD=e=>e===null?`not reported`:e.toLocaleString(`en-US`),CD={block:`blocked the call`,lockout:`locked the tool out for the rest of the turn`,stop:`stopped the turn`};function wD(e){let t=oD(e.payload);switch(e.type){case`fleet.enqueued`:return{label:`Run queued`,tone:`neutral`,known:!0,summary:`${sD(t.agentId)??`An unnamed agent`} was admitted${sD(t.node)===null?``:` on node ${sD(t.node)}`}.`};case`fleet.started`:return{label:`Run started`,tone:`running`,known:!0,summary:`${sD(t.agentId)??`An unnamed agent`} started work.`};case`fleet.progress`:return{label:`Run reporting`,tone:`running`,known:!0,summary:`${SD(cD(t.progressCount))} steps reported${lD(t.truncated)?`, and Clio Coder truncated the report`:``}.`};case`fleet.completed`:return{label:`Run done`,tone:`success`,known:!0,summary:`${sD(t.outcome)??`Finished`} after ${cD(t.durationMs)===null?`an unreported time`:xe(cD(t.durationMs)??0)}, ${SD(cD(t.tokenCount))} tokens.`};case`fleet.failed`:return{label:`Run failed`,tone:`fail`,known:!0,summary:`${sD(t.outcome)??sD(t.reason)??`Clio Coder reported no reason`}.`};case`fleet.loopBlocked`:{let e=sD(t.disposition);return{label:`Loop guard`,tone:lD(t.interrupted)?`fail`:`warn`,known:!0,summary:`${sD(t.tool)??`A tool`} repeated ${SD(cD(t.repeatCount))} times against a budget of ${SD(cD(t.budget))}, so Clio Coder ${e===null?`intervened`:CD[e]??e}.`}}case`evidence.ready`:return{label:`Evidence ready`,tone:lD(t.firstPassSuccess)?`success`:`warn`,known:!0,summary:`${SD(cD(t.findingCount))} findings recorded${lD(t.firstPassSuccess)?` on the first pass`:``}.`};default:return{label:e.type,tone:`neutral`,known:!1,summary:`Clio Coder reported a fact this build does not classify.`}}}function TD(e){return e.filter(e=>!dD(e.fact.type)).map(e=>({id:e.id,at:e.at,presentation:wD(e.fact)}))}var ED={"dispatch-unavailable":`This Clio Coder build has no dispatch domain to steer.`,"fleet-unavailable":`The fleet control channel is not available in this session.`,"run-not-active":`That run is no longer active, so there is nothing to steer.`,"cancel-failed":`Clio Coder could not stop that run. It may already be settling.`,"empty-message":`Guidance needs some text.`,"steering-unsupported":`That worker's runtime does not accept live guidance. It can still be stopped.`,"no-input-channel":`That worker has no input channel, so guidance cannot reach it. It can still be stopped.`,"input-closed":`That worker no longer accepts input. It is finishing on its own.`,"run-terminating":`That run is already terminating.`,"steer-failed":`Clio Coder refused the guidance and reported no specific reason.`};function DD(e,t){if(t.accepted)return{tone:`success`,message:e===`guide`?`Guidance queued. The worker reads it at its next step.`:`Stop requested. The run row settles when the worker exits.`};let n=t.reason??`steer-failed`;return{tone:`warn`,message:ED[n]??`Clio Coder refused: ${n}.`}}var OD=e=>e.trim().length>0;function kD({run:e,steering:t}){let[n,r]=(0,v.useState)(`idle`),[i,a]=(0,v.useState)(``),[o,s]=(0,v.useState)(null),c=(0,v.useId)(),l=f({mutationFn:n=>t.client.call(K.steerDispatchRun,{params:{id:t.sessionId},query:{},body:{runId:e.runId,...n}}),onSuccess:(e,t)=>{s(DD(t.action,e)),e.accepted&&t.action===`guide`&&a(``),r(`idle`)},onError:e=>{s({tone:EE(e)===null?`fail`:`warn`,message:EE(e)??(e instanceof Error?e.message:String(e))}),r(`idle`)}});return(0,q.jsxs)(`div`,{className:`fleet-steer`,children:[n===`guide`?(0,q.jsxs)(`form`,{className:`fleet-steer__form`,onSubmit:e=>{e.preventDefault(),OD(i)&&l.mutate({action:`guide`,message:i.trim()})},children:[(0,q.jsxs)(`label`,{htmlFor:c,children:[`Guidance for `,e.agentId]}),(0,q.jsx)(`textarea`,{id:c,rows:2,value:i,maxLength:Wm/4,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Escape`&&(e.stopPropagation(),r(`idle`))},autoFocus:!0}),(0,q.jsxs)(`div`,{className:`fleet-steer__actions`,children:[(0,q.jsx)(`button`,{type:`submit`,disabled:!OD(i)||l.isPending,children:`Send guidance`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(`idle`),children:`Cancel`})]})]}):n===`confirm-stop`?(0,q.jsxs)(`div`,{className:`fleet-steer__actions`,children:[(0,q.jsx)(`span`,{children:`Stop this worker? Its unfinished work is discarded.`}),(0,q.jsx)(`button`,{type:`button`,disabled:l.isPending,onClick:()=>l.mutate({action:`cancel`}),children:`Stop run`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(`idle`),children:`Keep running`})]}):(0,q.jsxs)(`div`,{className:`fleet-steer__actions`,children:[(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(`guide`),"aria-label":`Guide ${e.agentId}`,children:`Guide`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>r(`confirm-stop`),"aria-label":`Stop ${e.agentId}`,children:`Stop`})]}),o===null?null:(0,q.jsx)(`p`,{role:`status`,className:`fleet-steer__outcome`,"data-tone":o.tone,children:o.message})]})}function AD({runs:e,steering:t}){return(0,q.jsx)(`ul`,{className:`fleet-runs`,children:e.map(e=>{let n=_D(e);return(0,q.jsxs)(`li`,{className:`fleet-run`,children:[(0,q.jsx)(`span`,{className:`fleet-run__glyph`,"aria-hidden":`true`,children:tD[e.state]}),(0,q.jsx)(`span`,{className:`fleet-run__agent`,children:e.agentId}),(0,q.jsxs)(`span`,{className:`fleet-run__task`,children:[gD(e),n===null?null:(0,q.jsx)(`small`,{className:`fleet-run__note`,children:n})]}),(0,q.jsx)(`span`,{className:`fleet-run__state`,children:(0,q.jsx)(Q,{tone:rD[e.state],label:hD(e)})}),t!==void 0&&aD(e)?(0,q.jsx)(kD,{run:e,steering:t}):null]},e.runId)})})}function jD({client:e,session:t}){let[n,r]=(0,v.useState)(!1),i=l({queryKey:[`session-capabilities`,t.id],queryFn:()=>e.call(K.sessionCapabilities,{params:{id:t.id},query:{},body:{}}),staleTime:1/0,retry:!1,enabled:t.state===`open`}),a=t.state===`open`&&fE(i.data).dispatch?{client:e,sessionId:t.id}:void 0,o=mD(t.fleet),s=TD(t.fleet);if(o.length===0&&s.length===0)return null;let c=n?o.filter(aD):o,u=o.filter(aD).length;return(0,q.jsxs)(`details`,{className:`fleet-strip fleet-strip--runs`,open:u>0,children:[(0,q.jsxs)(`summary`,{children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`⛭`}),` `,vD(o),(0,q.jsx)(`span`,{className:`fleet-strip__count`,children:o.length})]}),o.length>0?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`div`,{className:`fleet-strip__filter`,children:[(0,q.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>r(!n),children:`Running only`}),(0,q.jsx)(`p`,{role:`status`,children:yD(c.length,o.length)})]}),c.length===0?(0,q.jsx)(`p`,{children:bD}):(0,q.jsx)(AD,{runs:c,steering:a})]}):(0,q.jsx)(`p`,{children:xD}),s.length>0?(0,q.jsx)(`ul`,{className:`fleet-runs fleet-runs--notices`,children:s.map(e=>(0,q.jsxs)(`li`,{className:`fleet-run`,children:[(0,q.jsx)(`span`,{className:`fleet-run__agent`,children:e.presentation.label}),(0,q.jsx)(`span`,{className:`fleet-run__task`,children:e.presentation.summary}),(0,q.jsx)(`span`,{className:`fleet-run__state`,children:(0,q.jsx)(Q,{tone:e.presentation.tone,label:ye(e.at)})})]},e.id))}):null]})}var MD={fail:5,warn:4,unverified:3,running:2,success:1,neutral:0},ND=e=>typeof e==`object`&&e?e:{},PD=e=>typeof e==`string`&&e.length>0?e:null,FD=e=>typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):null,ID=e=>e===!0,LD=e=>e===null?`not reported`:e.toLocaleString(`en-US`),RD={healthy:`success`,degraded:`warn`,down:`fail`,unknown:`unverified`};function zD(e,t,n){return`${t?`Reachable`:`Not reachable`}, reported ${e}, ${n===null?`latency not reported`:`${LD(n)} ms last check`}.`}function BD(e,t,n,r,i){let a=`${e} was called ${LD(t)} times this turn against a soft budget of ${LD(n)} and a hard ceiling of ${LD(r)}.`;return i?`${a} Clio Coder interrupted the turn.`:a}function VD(e){let t={id:e.id,at:e.at,sourceSequence:e.sourceSequence},n=ND(e.fact.payload);switch(e.fact.type){case`health.contextWarning`:{let e=PD(n.warning);return e===null?{...t,kind:`contextWarning`,key:`contextWarning`,label:`Context window`,detail:null,tone:`success`,attention:!1}:{...t,kind:`contextWarning`,key:`contextWarning`,label:`Context window`,detail:e,tone:`warn`,attention:!0}}case`health.compacted`:return{...t,kind:`compaction`,key:`compaction`,label:`Context compacted`,detail:`Triggered by ${PD(n.trigger)??`an unreported condition`}. Earlier conversation was summarised to make room.`,tone:`neutral`,attention:!1};case`health.toolBudget`:{let e=ID(n.interrupted);return{...t,kind:`toolBudget`,key:`toolBudget`,label:e?`Tool budget stopped the turn`:`Tool budget exceeded`,detail:BD(PD(n.tool)??`a tool`,FD(n.callsThisTurn),FD(n.softBudget),FD(n.hardCeiling),e),tone:e?`fail`:`warn`,attention:!0}}case`health.provider`:{let e=PD(n.targetId)??`unnamed target`,r=PD(n.status)??`unknown`,i=ID(n.available);return{...t,kind:`provider`,key:e,label:`Target ${e}`,detail:zD(r,i,FD(n.latencyMs)),tone:RD[r]??`unverified`,attention:r!==`healthy`}}default:{let n=PD(e.fact.type);return n===null?null:{...t,kind:`unknown`,key:n,label:`Unrecognised health report`,detail:`Clio Coder reported "${n}", which this build does not understand. The report was kept rather than dropped.`,tone:`unverified`,attention:!1}}}}var HD=(e,t)=>t===void 0||e.sourceSequence>=t.sourceSequence;function UD(e){let t,n,r,i=new Map,a=new Map;for(let o of e){let e=VD(o);if(e!==null)switch(e.kind){case`contextWarning`:HD(e,t)&&(t=e);break;case`compaction`:HD(e,n)&&(n=e);break;case`toolBudget`:HD(e,r)&&(r=e);break;case`provider`:HD(e,i.get(e.key))&&i.set(e.key,e);break;case`unknown`:HD(e,a.get(e.key))&&a.set(e.key,e)}}let o=t!==void 0&&t.detail!==null?t:null,s=(e,t)=>e.key.localeCompare(t.key,`en-US`),c=[...i.values()].sort(s),l=[...a.values()].sort(s),u=[...o===null?[]:[o],...r===void 0?[]:[r],...c,...n===void 0?[]:[n],...l];return{contextWarning:o,compaction:n??null,toolBudget:r??null,providers:c,unknown:l,rows:u,attention:u.some(e=>e.attention),worst:u.reduce((e,t)=>MD[t.tone]>MD[e]?t.tone:e,`neutral`)}}function WD({follow:e}){return e.following?null:(0,q.jsxs)(`button`,{type:`button`,className:`jump-to-latest${e.unseen?` has-unseen`:``}`,onClick:e.jumpToLatest,children:[(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`↓`}),e.unseen?`New activity below`:`Jump to latest`]})}var GD=32,KD=1200;function qD(e,t,n){let[r,i]=(0,v.useState)(!0),[a,o]=(0,v.useState)(!1),s=(0,v.useRef)(!0),c=(0,v.useRef)(0),l=(0,v.useRef)(null),u=(0,v.useCallback)(e=>{s.current=e,i(t=>t===e?t:e),e&&o(!1)},[]);(0,v.useEffect)(()=>{s.current||o(!0)},[n]),(0,v.useEffect)(()=>{let n=e.current;if(n===null||!t)return;let r=()=>n.scrollHeight-n.scrollTop-n.clientHeight<=GD,i=()=>{n.scrollTop=n.scrollHeight,c.current=n.scrollTop},a=()=>{let e=n.scrollTop,t=l.current;if(t!==null){let n=e<t.lastTop-1,i=Date.now()-t.startedAt>KD;if(r()){l.current=null,c.current=e,u(!0);return}if(!n&&!i){t.lastTop=e;return}l.current=null}if(r()){c.current=e,u(!0);return}(e<c.current-1||!s.current)&&u(!1)};n.addEventListener(`scroll`,a,{passive:!0});let o=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>{s.current&&i()}),d=null,f=()=>{let e=n.firstElementChild;e!==d&&(d!==null&&o?.unobserve(d),d=e,e!==null&&o?.observe(e))};f();let p=typeof MutationObserver>`u`?null:new MutationObserver(f);return p?.observe(n,{childList:!0}),()=>{n.removeEventListener(`scroll`,a),o?.disconnect(),p?.disconnect()}},[e,t,u]);let d=(0,v.useCallback)(()=>({top:e.current?.scrollTop??0,following:s.current}),[e]),f=(0,v.useCallback)(t=>{let n=e.current;n!==null&&(l.current=null,u(t.following),n.scrollTop=t.following?n.scrollHeight:t.top,c.current=n.scrollTop)},[e,u]);return{following:r,unseen:a,jumpToLatest:(0,v.useCallback)(()=>{let t=e.current;if(t===null)return;let n=typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(u(!0),n){t.scrollTop=t.scrollHeight,c.current=t.scrollTop;return}l.current={lastTop:t.scrollTop,startedAt:Date.now()},t.scrollTo({top:t.scrollHeight,behavior:`smooth`})},[e,u]),snapshot:d,restore:f}}function JD({client:e,id:t,workspaceId:n}){let r=i(),a=d(),o=f({mutationFn:()=>e.call(K.deleteSession,{params:{id:t},query:{},body:{workspaceId:n}}),onSuccess:()=>{r.removeQueries({queryKey:[`session`,t]}),r.invalidateQueries({queryKey:[`session-history`,n]}),r.invalidateQueries({queryKey:[`sessions`]}),a(`/workspaces/${n}/sessions`)}});return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`button`,{type:`button`,disabled:o.isPending,onClick:()=>{window.confirm(`Delete this closed session and its saved conversation? This cannot be undone.`)&&o.mutate()},children:`Delete session`}),o.error?(0,q.jsx)(`p`,{role:`alert`,children:o.error.message}):null]})}function YD({client:e,session:t}){let n={params:{id:t.id},query:{},body:{}},r=i(),a=l({queryKey:[`session-settings`,t.id],queryFn:()=>e.call(K.sessionSettings,n)}),o=l({queryKey:[`session-targets`,t.id],queryFn:()=>e.call(K.sessionTargets,n)}),s=l({queryKey:[`session-autonomy`,t.id],queryFn:()=>e.call(K.sessionAutonomy,n)}),c=f({mutationFn:t=>e.call(K.patchSessionSettings,{...n,body:t}),onSuccess:e=>r.setQueryData([`session-settings`,t.id],e)}),u=f({mutationFn:t=>e.call(K.setSessionAutonomy,{...n,body:{level:t}}),onSuccess:e=>r.setQueryData([`session-autonomy`,t.id],e)}),d=f({mutationFn:n=>e.call(K.probeSessionTarget,{params:{id:t.id,targetId:n},query:{},body:{}})}),p=t.turns.at(-1)?.status===`running`;return(0,q.jsxs)(`div`,{className:`session-settings`,children:[(0,q.jsx)(`p`,{children:`These four settings are saved by Clio. Changes are available between turns.`}),a.data?(0,q.jsx)(`form`,{onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget);c.mutate({"chat.target":String(t.get(`target`)??``)||null,"chat.model":String(t.get(`model`)??``)||null,"chat.thinkingLevel":t.get(`thinking`),"safety.autonomy":t.get(`autonomy`)})},children:(0,q.jsxs)(`fieldset`,{disabled:p||c.isPending,children:[(0,q.jsx)(`legend`,{children:`Safe settings`}),(0,q.jsxs)(`label`,{children:[`Target`,(0,q.jsxs)(`select`,{name:`target`,defaultValue:a.data.settings.chat.target??``,children:[(0,q.jsx)(`option`,{value:``,children:`No target`}),o.data?.targets.map(e=>(0,q.jsx)(`option`,{value:e.id,children:e.id},e.id))]})]}),(0,q.jsxs)(`label`,{children:[`Model`,(0,q.jsx)(`input`,{name:`model`,defaultValue:a.data.settings.chat.model??``,maxLength:256})]}),(0,q.jsxs)(`label`,{children:[`Thinking`,(0,q.jsx)(`select`,{name:`thinking`,defaultValue:a.data.settings.chat.thinkingLevel,children:[`off`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`].map(e=>(0,q.jsx)(`option`,{children:e},e))})]}),(0,q.jsxs)(`label`,{children:[`Default autonomy`,(0,q.jsx)(`select`,{name:`autonomy`,defaultValue:a.data.settings.safety.autonomy,children:[`read-only`,`suggest`,`auto-edit`,`full-auto`].map(e=>(0,q.jsx)(`option`,{children:e},e))})]}),(0,q.jsx)(`button`,{type:`submit`,children:`Save settings`})]})},JSON.stringify(a.data)):(0,q.jsx)(`p`,{children:`Reading settings…`}),s.data?(0,q.jsxs)(`label`,{children:[`Autonomy for this session`,(0,q.jsx)(`select`,{value:s.data.level,disabled:p||u.isPending,onChange:e=>u.mutate(e.target.value),children:[`read-only`,`suggest`,`auto-edit`,`full-auto`].map(e=>(0,q.jsx)(`option`,{children:e},e))}),(0,q.jsxs)(`small`,{children:[`Source: `,s.data.source]})]}):null,(0,q.jsx)(`h2`,{children:`Configured targets`}),o.data?.truncated?(0,q.jsx)(`p`,{className:`trace-warning`,children:`Clio truncated this target list.`}):null,o.data?.targets.map(e=>(0,q.jsxs)(`div`,{className:`target-card`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`strong`,{children:e.id}),(0,q.jsxs)(`p`,{children:[e.runtime,` · `,e.isOrchestrator?`Can orchestrate`:`Worker target`]}),(0,q.jsx)(`p`,{children:e.models.join(`, `)||`No models reported`})]}),(0,q.jsxs)(`button`,{type:`button`,disabled:d.isPending,onClick:()=>d.mutate(e.id),children:[`Probe `,e.id]})]},e.id)),d.data?(0,q.jsxs)(`p`,{role:`status`,children:[d.data.targetId,`: `,d.data.healthy?`Healthy`:d.data.reason,d.data.latencyMs===null?``:` · ${d.data.latencyMs} ms`]}):null,[...new Set([a.error,o.error,s.error,c.error,u.error,d.error].flatMap(e=>e?[e.message]:[]))].map(e=>(0,q.jsx)(`p`,{role:`alert`,children:e},e))]})}function XD({client:e,session:t}){let[n,r]=(0,v.useState)(!1),[a,o]=(0,v.useState)(t.label??``),s=i(),c=f({mutationFn:()=>e.call(K.labelSession,{params:{id:t.id},query:{},body:{label:a,workspaceId:t.workspaceId}}),onSuccess:()=>{s.invalidateQueries({queryKey:[`session`,t.id]}),s.invalidateQueries({queryKey:[`session-history`,t.workspaceId]})}});return(0,q.jsxs)(`details`,{className:`session-controls`,onToggle:e=>r(e.currentTarget.open),children:[(0,q.jsx)(`summary`,{children:`Session controls`}),(0,q.jsxs)(`form`,{className:`control-actions`,onSubmit:e=>{e.preventDefault(),c.mutate()},children:[(0,q.jsxs)(`label`,{children:[`Session label`,(0,q.jsx)(`input`,{value:a,onChange:e=>o(e.target.value),maxLength:256})]}),(0,q.jsx)(`button`,{type:`submit`,disabled:c.isPending,children:`Save label`})]}),c.error?(0,q.jsx)(`p`,{role:`alert`,children:c.error.message}):null,t.state===`open`&&n?(0,q.jsx)(YD,{client:e,session:t}):null,t.state===`closed`?(0,q.jsx)(JD,{client:e,id:t.id,workspaceId:t.workspaceId}):null]})}function ZD({client:e}){let t=d(),n=i(),[r,a]=(0,v.useState)(``),o=l({queryKey:[`workspaces`],queryFn:()=>e.call(K.workspaces,y)}),s=f({mutationFn:()=>e.call(K.openWorkspace,{...y,body:{path:r}}),onSuccess:e=>{n.invalidateQueries({queryKey:[`workspaces`]}),t(`/workspaces/${e.id}/sessions`)}});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.sessions,level:1,title:(0,q.jsxs)(q.Fragment,{children:[`Sessions`,(0,q.jsx)(`span`,{className:`period`,children:`.`})]})}),(0,q.jsx)(`p`,{className:`intro`,children:`Open a workspace and continue a conversation with Clio.`}),(0,q.jsxs)(`form`,{className:`workspace-open`,onSubmit:e=>{e.preventDefault(),s.mutate()},children:[(0,q.jsxs)(`label`,{children:[`Workspace path`,(0,q.jsx)(`input`,{value:r,onChange:e=>a(e.target.value),placeholder:`/absolute/path/to/project`,required:!0})]}),(0,q.jsx)(`button`,{className:`primary`,type:`submit`,disabled:s.isPending,children:s.isPending?`Opening…`:`Open workspace`})]}),s.error||o.error?(0,q.jsx)(`p`,{role:`alert`,children:s.error?.message??o.error?.message}):null,(0,q.jsx)(`h2`,{children:`Recent workspaces`}),o.isPending?(0,q.jsx)(`p`,{children:`Loading workspaces…`}):null,o.data?.map(e=>(0,q.jsxs)(_,{className:`trace-run-card`,to:`/workspaces/${e.id}/sessions`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:e.name}),(0,q.jsx)(`p`,{children:e.path}),(0,q.jsxs)(`small`,{children:[`Opened `,ye(e.openedAt)]})]}),(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`→`})]},e.id)),o.data?.length===0?(0,q.jsx)(J,{children:`No workspace has been opened here yet. Open your first one using its absolute path.`}):null,(0,q.jsx)(X_,{panel:Y.sessions})]})}function QD({client:e}){let{workspaceId:t=``}=te(),n=d(),r=i(),a={params:{id:t},query:{},body:{}},o=l({queryKey:[`workspace`,t],queryFn:()=>e.call(K.workspace,a)}),s=l({queryKey:[`session-history`,t],queryFn:()=>e.call(K.sessionHistory,a)}),c=l({queryKey:[`sessions`],queryFn:()=>e.call(K.sessions,y)}),u=f({mutationFn:n=>n?e.call(K.loadSession,{params:{id:n},query:{},body:{workspaceId:t}}):e.call(K.newSession,a),onSuccess:e=>{ig(e.id).snapshot(e),r.setQueryData([`session`,e.id],e),r.invalidateQueries({queryKey:[`sessions`]}),n(`/sessions/${e.id}`)}}),p=c.data?.filter(e=>e.workspaceId===t&&e.state===`open`)??[];return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(_,{to:`/sessions`,children:`← Workspaces`}),(0,q.jsx)(Y_,{panel:Y.sessions,level:1,title:o.data?.name??`Sessions`}),(0,q.jsx)(`p`,{className:`workspace-path`,children:o.data?.path}),(0,q.jsx)(`button`,{className:`primary`,type:`button`,disabled:u.isPending,onClick:()=>u.mutate(null),children:u.isPending?`Starting session…`:`New session`}),u.error||s.error||o.error||c.error?(0,q.jsx)(`p`,{role:`alert`,children:u.error?.message??s.error?.message??o.error?.message??c.error?.message}):null,(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`Open in this server`}),p.map(e=>(0,q.jsx)(_,{className:`trace-run-card`,to:`/sessions/${e.id}`,children:(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:e.label??e.turns[0]?.prompt??e.id}),(0,q.jsx)(`p`,{children:e.turns.at(-1)?.status===`running`?`Turn in progress`:`Ready for a prompt`})]})},e.id)),p.length?null:(0,q.jsx)(J,{children:`No session of this workspace is open in this server.`})]}),(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`Session history`}),s.isPending?(0,q.jsx)(`p`,{children:`Reading session history…`}):null,s.data?.filter(e=>!p.some(t=>t.id===e.id)).map(n=>(0,q.jsxs)(`article`,{className:`trace-run-card`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:n.name??n.firstMessagePreview??n.id}),(0,q.jsxs)(`p`,{children:[n.model??`Model not recorded`,` ·`,` `,n.messageCount==null?`message count not recorded`:`${n.messageCount.toLocaleString(`en-US`)} ${n.messageCount===1?`message`:`messages`}`]}),(0,q.jsxs)(`small`,{children:[ye(n.lastActivityAt??n.createdAt),` · `,n.endedAt?`closed`:`open in Clio`]})]}),(0,q.jsx)(`button`,{type:`button`,disabled:u.isPending,onClick:()=>u.mutate(n.id),children:`Load session`}),n.endedAt?(0,q.jsx)(JD,{client:e,id:n.id,workspaceId:t}):null]},n.id)),s.data?.length===0?(0,q.jsx)(J,{children:X.emptyStore(`saved session`,`for this workspace`)}):null]}),(0,q.jsx)(X_,{panel:Y.sessions})]})}function $D({client:e}){let{id:t=``}=te();return(0,q.jsx)(iO,{client:e,id:t},t)}function eO(e){let[t,n]=(0,v.useState)(()=>me.now());return(0,v.useEffect)(()=>{if(!e)return;n(me.now());let t=setInterval(()=>n(me.now()),1e3);return()=>clearInterval(t)},[e]),e?t:0}var tO=[];function nO({sessionId:e}){return(0,q.jsxs)(`div`,{className:`chat-empty`,children:[(0,q.jsx)(`span`,{className:`chat-empty__glyph`,"aria-hidden":`true`,children:`◎`}),(0,q.jsx)(`p`,{className:`eyebrow`,children:Ew}),(0,q.jsx)(`h2`,{children:Dw}),(0,q.jsx)(`div`,{className:`chat-empty__starters`,children:Ow.map(t=>(0,q.jsx)(`button`,{type:`button`,onClick:()=>BE(e,t),children:t},t))})]})}function rO({session:e}){let t=(0,v.useMemo)(()=>UD(e.health),[e.health]),n=t.providers,r=t.unknown;return(0,q.jsxs)(q.Fragment,{children:[t.contextWarning?(0,q.jsxs)(`p`,{className:`context-banner`,role:`status`,children:[(0,q.jsx)(`strong`,{children:Ww}),` `,t.contextWarning.detail??t.contextWarning.label]}):null,(0,q.jsxs)(`div`,{className:`session-health`,children:[n.length===0?(0,q.jsx)(Q,{tone:`unverified`,label:Gw}):n.map(e=>(0,q.jsx)(Q,{tone:e.tone,label:e.label,...e.detail===null?{}:{detail:e.detail}},e.id)),r.map(e=>(0,q.jsx)(Q,{tone:e.tone,label:e.label},e.id))]})]})}function iO({client:e,id:t}){let n=i(),r={params:{id:t},query:{},body:{}},a=l({queryKey:[`session`,t],queryFn:async()=>{let n=await e.call(K.session,r);return ig(t).snapshot(n)??n}}),o=a.data?.workspaceId??``,s=l({queryKey:[`workspace`,o],queryFn:()=>e.call(K.workspace,{params:{id:o},query:{},body:{}}),enabled:o!==``}),c=f({mutationFn:()=>e.call(K.closeSession,r),onSuccess:e=>{n.setQueryData([`session`,t],ig(t).snapshot(e)),n.invalidateQueries({queryKey:[`sessions`]}),n.invalidateQueries({queryKey:[`session-history`,e.workspaceId]})}}),u=(0,v.useRef)(null),d=(0,v.useRef)([]),p=a.data,m=(0,v.useMemo)(()=>WE(p?.turns??[]),[p?.turns]),h=(0,v.useMemo)(()=>{let e=JE(p?.timeline??[],m,d.current);return d.current=e,e},[p?.timeline,m]),ee=p?.fleet,g=(0,v.useMemo)(()=>ee===void 0?0:mD(ee).filter(aD).length,[ee]),te=(0,v.useMemo)(()=>{let e=UD(p?.health??[]);return zw([e.compaction,e.toolBudget].filter(e=>e!==null),p?.turns??[])},[p?.health,p?.turns]),ne=p?.turns.at(-1)?.status===`running`,re=eO(ne||(p?.permissions.some(e=>e.status===`pending`)??!1)),ie=qD(u,!0,p?.timeline);if(a.error)return(0,q.jsxs)(`div`,{role:`alert`,children:[(0,q.jsx)(`h1`,{children:`Session unavailable`}),(0,q.jsx)(`p`,{children:a.error.message}),(0,q.jsx)(_,{to:`/sessions`,children:`Open a workspace`})]});if(!p)return(0,q.jsx)(`p`,{children:`Loading session…`});let ae=p.turns.at(-1),oe=nw(p)??null,se=s.data?.path;return(0,q.jsxs)(`section`,{className:`conversation`,children:[(0,q.jsx)(_,{to:`/workspaces/${p.workspaceId}/sessions`,children:`← Workspace sessions`}),(0,q.jsxs)(`div`,{className:`page-heading`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`p`,{className:`eyebrow`,children:`Conversation`}),(0,q.jsx)(`h1`,{children:p.label??`Clio Coder`})]}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>c.mutate(),disabled:c.isPending||p.state!==`open`,children:`Close session`})]}),(0,q.jsxs)(`p`,{className:`session-status`,role:`status`,children:[p.recoveredOrphan?`Recovered after server interruption · `:``,p.state,ne?` · Clio Coder is working…`:``]}),(0,q.jsx)(rO,{session:p}),(0,q.jsx)(XD,{client:e,session:p}),(0,q.jsx)(ow,{client:e,session:p}),(0,q.jsx)(jD,{client:e,session:p}),p.timelineTruncated?(0,q.jsx)(`p`,{className:`trace-warning`,children:Tw}):null,(0,q.jsx)(`div`,{className:`chat-transcript`,ref:u,children:(0,q.jsxs)(`div`,{className:`chat-transcript__content`,children:[te.leading.length>0?(0,q.jsx)(`ul`,{className:`turn-health`,children:te.leading.map(e=>(0,q.jsx)(`li`,{children:(0,q.jsx)(Q,{tone:e.tone,label:e.label,...e.detail===null?{}:{detail:e.detail}})},e.id))}):null,h.map(t=>(0,q.jsx)(eD,{turn:t,row:p.turns.find(e=>e.id===t.turnId),client:e,session:p,pending:oe,pendingPermissionId:oe?.id??null,nowMs:t.settled?0:re,stopping:!1,notices:te.after.get(t.turnId)??tO,workspaceRoot:se,liveWorkers:t.settled?0:g},t.turnId)),h.length===0?(0,q.jsx)(nO,{sessionId:p.id}):null]})}),(0,q.jsx)(`div`,{className:`jump-anchor`,children:(0,q.jsx)(WD,{follow:ie})}),ae?.usage?(0,q.jsxs)(`p`,{className:`chat-usage`,children:[`Latest turn · Input `,ge(ae.usage.input),` · Output `,ge(ae.usage.output),` · Cache read`,` `,ge(ae.usage.cacheRead),` · Cache write `,ge(ae.usage.cacheWrite),` · Reasoning`,` `,ge(ae.usage.reasoning)]}):null,c.error?(0,q.jsx)(`p`,{role:`alert`,children:c.error.message}):null,(0,q.jsx)(VE,{client:e,sessionId:p.id,sessionState:p.state,runningTurnId:ae?.status===`running`?ae.id:null})]})}function aO(e){switch(e.wiring){case`configured`:return`Wired as a delegation peer.`;case`not-acp`:return`Speaks no ACP, so Clio Coder cannot delegate to it.`;case`proposed`:{let t=e.adapter===`present`?``:` Accepting would fetch its ACP adapter from the network on first use.`;return`${e.decisionStale?`Offered again, because the facts moved since you last answered.`:`Offered, and never answered.`}${t}`}case`decided`:return e.decision===`accepted`?`Accepted, but no delegation entry names it.`:`Declined, so Clio Coder stays quiet about it.`;case`not-offered`:return e.presence===`unknown`?`Not offered, because its executable could not be established.`:`Not offered, because no executable was found to wire.`;case`unknown`:return`Wiring could not be established, because the settings that decide it could not be read.`}}function oO(e){switch(e.wiring){case`configured`:return{tone:`success`,label:`Delegation peer`};case`proposed`:return{tone:`warn`,label:`Waiting for your answer`};case`decided`:return{tone:`neutral`,label:`Answered`};case`unknown`:return{tone:`unverified`,label:`Wiring unknown`};default:return{tone:`neutral`,label:`Not a peer`}}}function sO(e){return e.hasExecutable?e.presence===`present`?{tone:`success`,label:`Installed`}:e.presence===`absent`?{tone:`neutral`,label:`Not installed`}:{tone:`unverified`,label:`Could not be determined`}:{tone:`neutral`,label:`Shared resource conventions`}}function cO(e){return e.version===null?e.presence===`present`?`Not recorded yet. Detect again to probe it.`:`Not reported`:`${e.version} · ${e.versionSource===`probed`?`probed just now`:`last recorded`}`}function lO(e){return e===null?`No recipe`:e===`present`?`Installed locally`:e===`unknown`?`Could not be determined`:`Would be fetched on first use`}var uO=e=>e.presence===`present`||e.installDir!==null||(e.skillCount??0)>0||(e.projectArtifacts??0)>0;function dO(e){let t=t=>e.agents.filter(e=>e.wiring===t).length,n=t(`unknown`)>0;return[{label:`Detected`,value:`${e.agents.filter(uO).length} of ${e.agents.length} known kinds`},{label:`Wired as peers`,value:n?`Not established`:String(t(`configured`))},{label:`Would be offered`,value:n?`Not established`:String(t(`proposed`))},{label:`Checked`,value:ye(e.detectedAt)}]}function fO(e){return[...e.agents.filter(uO),...e.agents.filter(e=>!uO(e))]}function pO(){return(0,q.jsxs)(`nav`,{className:`settings-tabs`,"aria-label":`System views`,children:[(0,q.jsx)(_,{to:`/system`,children:`System health`}),(0,q.jsx)(_,{to:`/system/interop`,children:`Other coding agents`})]})}function mO({client:e}){let t=l({queryKey:[`system`],queryFn:()=>e.call(K.system,y)}),n=l({queryKey:[`meta`],queryFn:()=>e.call(K.meta,y)});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.system,level:1,action:t.data?(0,q.jsxs)(`span`,{className:`count`,children:[`Checked `,ye(t.data.checkedAt)]}):null}),(0,q.jsx)(pO,{}),(0,q.jsx)(`p`,{children:`Check this installation and find the folders Clio uses. These checks inspect existing state without repairing or changing it.`}),(0,q.jsx)(`button`,{type:`button`,disabled:t.isFetching,onClick:()=>void t.refetch(),children:`Check again`}),t.isPending&&(0,q.jsx)(`p`,{children:`Checking installation…`}),t.error&&(0,q.jsx)(`p`,{role:`alert`,children:t.error.message}),n.error&&(0,q.jsx)(`p`,{role:`alert`,children:n.error.message}),n.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`h2`,{children:`Versions`}),(0,q.jsx)(`dl`,{className:`settings-list`,children:Object.entries({"Clio Coder":n.data.clio,"Web application":n.data.app,Node:n.data.node,Platform:n.data.platform,"Pi agent core":n.data.piAgentCore,"Pi AI":n.data.piAi,"Pi TUI":n.data.piTui}).map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e}),(0,q.jsx)(`dd`,{children:t??`Not installed`}),(0,q.jsx)(`dd`,{})]},e))})]}),t.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`h2`,{children:[`Health checks · `,t.data.findings.length]}),!t.data.findings.length&&(0,q.jsx)(J,{children:X.emptyStore(`health finding`)}),(0,q.jsx)(`div`,{className:`config-entries`,children:t.data.findings.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h3`,{children:e.name}),(0,q.jsx)(Q,{tone:e.level===`ok`?`success`:e.level===`warn`?`warn`:`fail`,label:e.level===`ok`?`Ready`:e.level===`warn`?`Note`:`Needs attention`}),(0,q.jsx)(`p`,{children:e.detail}),e.detailRedacted&&(0,q.jsx)(`small`,{children:`Parser details withheld`}),e.name===`settings.yaml`&&!e.ok&&(0,q.jsx)(_,{to:`/settings`,children:`Inspect settings`})]},e.name))}),(0,q.jsx)(`h2`,{children:`Clio folders`}),(0,q.jsx)(`dl`,{className:`settings-list`,children:Object.entries(t.data.paths).map(([e,t])=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:mx(e)}),(0,q.jsx)(`dd`,{children:(0,q.jsx)(`code`,{children:t})}),(0,q.jsx)(`dd`,{})]},e))}),(0,q.jsx)(X_,{panel:Y.system})]})]})}function hO({client:e}){let t=eS(e),n=(0,v.useRef)(!1),r=l({queryKey:[`interop`,t.id],enabled:!!t.id,refetchOnWindowFocus:!1,queryFn:()=>{let r=n.current?{probe:`versions`}:{};return n.current=!1,e.call(K.interop,{...y,params:{id:t.id},query:r})}});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:Y.interop,level:1}),(0,q.jsx)(pO,{}),(0,q.jsx)(tS,{selection:t}),(0,q.jsx)(`p`,{children:`Which coding agents are on this machine, and how far each one is wired as a delegation peer. Presence does not grant an agent permission to work.`}),(0,q.jsx)(`button`,{type:`button`,disabled:!t.id||r.isFetching,onClick:()=>{n.current=!0,r.refetch()},children:r.isFetching?`Detecting agents…`:`Detect again and probe versions`}),!t.id&&!t.workspaces.isPending&&(0,q.jsx)(J,{children:X.unread(`external agent inventory`)}),t.id&&r.isPending&&(0,q.jsx)(`p`,{children:`Reading installed agents…`}),r.error&&(0,q.jsx)(`p`,{role:`alert`,children:r.error.message}),r.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`dl`,{className:`facts panel-summary`,"aria-label":`Detected agent summary`,children:dO(r.data).map(e=>(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:e.label}),(0,q.jsx)(`dd`,{children:e.value})]},e.label))}),(0,q.jsx)(`div`,{className:`config-entries`,children:fO(r.data).map(e=>{let t=sO(e),n=oO(e);return(0,q.jsxs)(`article`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:e.label}),(0,q.jsxs)(`p`,{className:`panel-marks`,children:[(0,q.jsx)(Q,{tone:t.tone,label:t.label}),(0,q.jsx)(Q,{tone:n.tone,label:n.label})]}),(0,q.jsx)(`p`,{children:aO(e)}),(0,q.jsxs)(`dl`,{className:`facts`,children:[(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:`Version`}),(0,q.jsx)(`dd`,{"data-tone":e.version?void 0:`absent`,children:cO(e)})]}),(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:`ACP adapter`}),(0,q.jsx)(`dd`,{children:lO(e.adapter)})]}),(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:`Answered`}),(0,q.jsx)(`dd`,{"data-tone":e.decidedAt?void 0:`absent`,children:e.decidedAt?ye(e.decidedAt):`Never`})]}),(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:`Skills`}),(0,q.jsx)(`dd`,{children:e.skillCount??`Not reported`})]}),(0,q.jsxs)(`div`,{className:`fact`,children:[(0,q.jsx)(`dt`,{children:`Workspace resources`}),(0,q.jsx)(`dd`,{children:e.projectArtifacts??`Not reported`})]})]}),e.inventory.status===`unknown`&&(0,q.jsx)(J,{children:`The resource inventory is incomplete or unsupported for this agent.`}),(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[`Resources and discovery details · `,e.inventory.items.length]}),e.binary&&(0,q.jsxs)(`p`,{className:`config-path`,children:[`Executable `,(0,q.jsx)(`code`,{children:e.binary})]}),e.installDir&&(0,q.jsxs)(`p`,{className:`config-path`,children:[`Installation `,(0,q.jsx)(`code`,{children:e.installDir})]}),e.inventory.items.length?(0,q.jsx)(`dl`,{className:`settings-list`,children:e.inventory.items.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e.name}),(0,q.jsxs)(`dd`,{children:[mx(e.kind),` · `,e.scope===`user`?`yours`:`this project`,(0,q.jsx)(`br`,{}),(0,q.jsx)(`code`,{children:e.path})]}),(0,q.jsx)(`dd`,{children:e.installation===`installed`?`Installed`:`Installation not reported`})]},`${e.scope}:${e.kind}:${e.path}:${e.name}`))}):(0,q.jsx)(J,{children:X.emptyStore(`resource entry`,`for ${e.label} on this machine`)}),[...new Set(e.inventory.diagnostics)].map(e=>(0,q.jsx)(`p`,{children:e},e))]})]},e.kind)})}),(0,q.jsx)(X_,{panel:Y.interop})]})]})}function gO(e){switch(e.auth){case`connected`:return{tone:`ready`,text:`Clio is already signed in to this provider.`};case`credential`:return{tone:`ready`,text:`Clio already holds a stored key for this provider.`};case`none`:return{tone:`ready`,text:`This runtime needs no credential.`};case`key-optional`:return{tone:`ready`,text:`A key is optional. If the endpoint needs one, name the environment variable that holds it.`};case`login`:return{tone:`action`,text:`Sign in first from a terminal: clio-coder auth login ${e.id}. This app never handles the sign-in.`};case`needs-key`:return{tone:`action`,text:`This provider needs a key. Name the environment variable that holds it, or store one from a terminal with clio-coder auth login ${e.id}. This app has no key field on purpose.`};default:return{tone:`action`,text:`This runtime authenticates through its own tool. Set that up in a terminal first.`}}}function _O(e,t){let n=e.id.replace(/[^A-Za-z0-9._-]/g,`-`);if(!t.includes(n))return n;for(let e=2;e<100;e++)if(!t.includes(`${n}-${e}`))return`${n}-${e}`;return`${n}-${Date.now()}`}function vO(e,t,n){let r=[];return t?(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(e.id)?n.includes(e.id)&&r.push(`A connection named ${e.id} already exists.`):r.push(`The connection id starts with a letter or digit and uses only letters, digits, dot, dash and underscore.`),e.url&&!/^(https?|wss?):\/\/\S+$/.test(e.url)&&r.push(`The URL starts with http://, https://, ws:// or wss://.`),t.modelRequired&&!e.model.trim()&&r.push(`This provider's model list has no recommended default, so choose a model.`),e.apiKeyEnv&&!/^[A-Za-z_][A-Za-z0-9_]{0,63}$/.test(e.apiKeyEnv)&&r.push(`An environment variable name uses letters, digits and underscore.`),r):[`Choose a runtime.`]}function yO(e,t){return{id:e.id,runtime:t.id,...t.supportsCustomUrl&&e.url.trim()?{url:e.url.trim()}:{},...e.model.trim()?{model:e.model.trim()}:{},...e.apiKeyEnv.trim()?{apiKeyEnv:e.apiKeyEnv.trim()}:{},...e.useForChat?{useForChat:!0}:{}}}var bO={runtime:``,id:``,url:``,model:``,apiKeyEnv:``,useForChat:!1};function xO({client:e,taken:t,busy:n,onSubmit:r}){let i=(0,v.useId)(),[a,o]=(0,v.useState)(!1),[s,c]=(0,v.useState)(bO),u=l({queryKey:[`target-runtimes`],queryFn:()=>e.call(K.targetRuntimes,y),enabled:a});if(!a)return(0,q.jsx)(`div`,{className:`actions`,children:(0,q.jsx)(`button`,{type:`button`,className:`primary`,onClick:()=>o(!0),children:`Add a connection`})});let d=u.data?.runtimes.find(e=>e.id===s.runtime),f=d?gO(d):null,p=vO(s,d,t),m=[...new Set(u.data?.runtimes.map(e=>e.group)??[])],h=e=>c({...s,...e});return(0,q.jsxs)(`form`,{className:`trace-panel add-connection`,"aria-labelledby":`${i}-title`,onSubmit:e=>{e.preventDefault(),d&&!p.length&&r(yO(s,d))},children:[(0,q.jsx)(`h2`,{id:`${i}-title`,children:`Add a connection`}),(0,q.jsx)(`p`,{children:`Clio checks the endpoint, lists its models when it can, and saves the connection to your user settings. This form has no key field: a credential is named by environment variable or stored from a terminal, and never passes through the browser.`}),u.isPending&&(0,q.jsx)(`p`,{children:`Reading runtimes…`}),u.error&&(0,q.jsx)(`p`,{role:`alert`,children:u.error.message}),u.data&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`label`,{htmlFor:`${i}-runtime`,children:`Runtime`}),(0,q.jsxs)(`select`,{id:`${i}-runtime`,value:s.runtime,onChange:e=>{let n=u.data.runtimes.find(t=>t.id===e.target.value);c({...bO,runtime:e.target.value,id:n?_O(n,t):``,model:n?.defaultModel??``})},children:[(0,q.jsx)(`option`,{value:``,children:`Choose a runtime…`}),m.map(e=>(0,q.jsx)(`optgroup`,{label:e,children:u.data.runtimes.filter(t=>t.group===e).map(e=>(0,q.jsxs)(`option`,{value:e.id,children:[e.label,e.targetCount?` · ${e.targetCount} configured`:``]},e.id))},e))]})]}),d&&f&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:d.summary}),(0,q.jsx)(`p`,{className:`add-connection__auth`,"data-tone":f.tone,children:f.text}),(0,q.jsx)(`label`,{htmlFor:`${i}-id`,children:`Connection id`}),(0,q.jsx)(`input`,{id:`${i}-id`,value:s.id,onChange:e=>h({id:e.target.value})}),d.supportsCustomUrl&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`label`,{htmlFor:`${i}-url`,children:`Endpoint URL`}),(0,q.jsx)(`input`,{id:`${i}-url`,type:`url`,value:s.url,placeholder:`Leave blank for this runtime's default address`,onChange:e=>h({url:e.target.value})})]}),(0,q.jsxs)(`label`,{htmlFor:`${i}-model`,children:[`Default model`,d.modelRequired?``:` (optional)`]}),(0,q.jsx)(`input`,{id:`${i}-model`,value:s.model,list:`${i}-models`,placeholder:d.modelRequired?`Choose a model`:`Leave blank to use the first model the endpoint reports`,onChange:e=>h({model:e.target.value})}),(0,q.jsx)(`datalist`,{id:`${i}-models`,children:d.modelHints.map(e=>(0,q.jsx)(`option`,{value:e},e))}),d.auth!==`none`&&d.auth!==`connected`&&d.auth!==`other`&&(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`label`,{htmlFor:`${i}-env`,children:`Environment variable holding the key (optional)`}),(0,q.jsx)(`input`,{id:`${i}-env`,value:s.apiKeyEnv,placeholder:`For example OPENAI_API_KEY`,autoComplete:`off`,onChange:e=>h({apiKeyEnv:e.target.value})}),(0,q.jsx)(`small`,{children:`Clio reads the variable when it makes a request. Only its name is saved.`})]}),(0,q.jsxs)(`label`,{className:`add-connection__check`,children:[(0,q.jsx)(`input`,{type:`checkbox`,checked:s.useForChat,onChange:e=>h({useForChat:e.target.checked})}),(0,q.jsx)(`span`,{children:`Use this connection for chat`})]}),s.id!==``&&p.length>0&&(0,q.jsx)(`ul`,{className:`add-connection__problems`,children:p.map(e=>(0,q.jsx)(`li`,{children:e},e))})]}),(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsx)(`button`,{type:`submit`,className:`primary`,disabled:n||!d||p.length>0,children:`Save connection`}),(0,q.jsx)(`button`,{type:`button`,onClick:()=>{o(!1),c(bO)},children:`Cancel`})]})]})}function SO({client:e,view:t}){let n=eS(e),{id:r}=n,i=l({queryKey:[`targets`,r],queryFn:()=>e.call(K.targetsList,{...y,params:{id:r}}),enabled:!!r&&t===`targets`}),a=l({queryKey:[`routing`,r],queryFn:()=>e.call(K.routing,{...y,params:{id:r}}),enabled:!!r&&t===`routing`}),[o,s]=(0,v.useState)(null),c=ux(e,o),u=f({mutationFn:({targetId:t,action:n})=>e.call(n===`probe`?K.targetsProbe:n===`use`?K.targetsUse:K.targetsRemove,{...y,params:{id:r,targetId:t}}),onSuccess:e=>s(e.operationId)}),d=f({mutationFn:t=>e.call(K.targetsAdd,{params:{id:r},query:{},body:t}),onSuccess:e=>s(e.operationId)}),p=f({mutationFn:()=>e.call(K.cancel,{...y,params:{id:o??``}})}),m=u.isPending||!!o&&c.isPending||c.data?.status===`queued`||c.data?.status===`running`;return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(Y_,{panel:t===`targets`?Y.targets:Y.routing,level:1}),(0,q.jsx)(tS,{selection:n}),(0,q.jsx)(rS,{id:r,active:t}),t===`targets`?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:`Use a target for chat and fleet, inspect its current health, or add a new connection.`}),(0,q.jsx)(`p`,{children:`Clio’s probe checks all configured endpoints before returning the selected target’s result.`}),i.isPending&&r&&(0,q.jsx)(`p`,{children:`Reading targets…`}),i.error&&(0,q.jsx)(`p`,{role:`alert`,children:i.error.message}),i.data?.truncated&&(0,q.jsx)(J,{children:X.bounded(`targets`,`Later`)}),i.data&&!i.data.targets.length&&(0,q.jsx)(J,{children:`No model target is configured yet. Add a connection to start a conversation.`}),i.data&&(0,q.jsx)(xO,{client:e,taken:i.data.targets.map(e=>e.id),busy:m||d.isPending,onSubmit:e=>d.mutate(e)}),d.error&&(0,q.jsx)(`p`,{role:`alert`,children:d.error.message}),(0,q.jsx)(`div`,{className:`config-entries`,children:i.data?.targets.map(e=>(0,q.jsxs)(`article`,{className:`trace-panel`,"aria-label":e.id,children:[(0,q.jsx)(`h2`,{children:e.id}),(0,q.jsxs)(`p`,{children:[e.runtime,` · `,e.tier]}),(0,q.jsxs)(`p`,{className:`panel-marks`,children:[(0,q.jsx)(Q,{tone:e.available?`success`:`warn`,label:e.available?`Available`:`Unavailable`}),(0,q.jsxs)(`span`,{children:[`Health `,mx(e.health).toLowerCase()]})]}),(0,q.jsx)(`p`,{className:`config-path`,children:e.url??`Runtime default endpoint`}),(0,q.jsxs)(`p`,{children:[`Default model: `,e.defaultModel??`Not configured`]}),(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[`Known models · `,e.models.length,e.modelsTruncated?`+`:``]}),e.models.length?(0,q.jsx)(`ul`,{children:e.models.map(e=>(0,q.jsx)(`li`,{children:e},e))}):(0,q.jsx)(J,{children:X.emptyStore(`model`,`for this target`)})]}),(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsx)(`button`,{type:`button`,disabled:m,onClick:()=>u.mutate({targetId:e.id,action:`probe`}),children:`Probe`}),(0,q.jsx)(`button`,{type:`button`,disabled:m,onClick:()=>u.mutate({targetId:e.id,action:`use`}),children:`Use for chat & fleet`}),(0,q.jsx)(`button`,{type:`button`,disabled:m,onClick:()=>{window.confirm(`Remove target ${e.id} and its routing references from user settings?`)&&u.mutate({targetId:e.id,action:`remove`})},children:`Remove target`})]})]},e.id))})]}):(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:`Model inventory is read offline. Live reachability is not implied by a cached model or routing profile.`}),a.isPending&&r&&(0,q.jsx)(`p`,{children:`Reading routing inventory…`}),a.error&&(0,q.jsx)(`p`,{role:`alert`,children:a.error.message}),a.data&&(0,q.jsxs)(q.Fragment,{children:[a.data.truncated&&(0,q.jsx)(J,{children:X.bounded(`rows`,`Later`)}),(0,q.jsxs)(`h2`,{children:[`Models · `,a.data.models.length]}),(0,q.jsx)(`p`,{children:`Capability marks: C chat, T tools, R reasoning, V vision, E embeddings, K rerank, F fill in the middle.`}),!a.data.models.length&&(0,q.jsx)(J,{children:X.emptyStore(`cached model`)}),(0,q.jsx)(`dl`,{className:`settings-list`,children:a.data.models.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`dt`,{children:[e.id??`No models reported`,(0,q.jsx)(`br`,{}),(0,q.jsxs)(`small`,{children:[e.target,` · `,e.runtime]})]}),(0,q.jsxs)(`dd`,{children:[(0,q.jsx)(`code`,{children:e.capabilities}),` · `,e.state,(0,q.jsx)(`br`,{}),`Context: `,wx(e.context),` · Output: `,wx(e.maxOutputTokens)]}),(0,q.jsx)(`dd`,{})]},`${e.target}:${e.id}`))}),(0,q.jsxs)(`h2`,{children:[`Profiles · `,a.data.profiles.length]}),!a.data.profiles.length&&(0,q.jsx)(J,{children:X.emptyStore(`fleet profile`)}),(0,q.jsx)(`dl`,{className:`settings-list`,children:a.data.profiles.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e.name}),(0,q.jsxs)(`dd`,{children:[e.target??`No target`,` · `,e.model??`No model`]}),(0,q.jsx)(`dd`,{children:e.thinkingLevel})]},e.name))}),(0,q.jsxs)(`h2`,{children:[`Agent bindings · `,a.data.bindings.length]}),!a.data.bindings.length&&(0,q.jsx)(J,{children:X.emptyStore(`agent binding`)}),(0,q.jsx)(`dl`,{className:`settings-list`,children:a.data.bindings.map(e=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`dt`,{children:e.agentId}),(0,q.jsxs)(`dd`,{children:[e.profile,` · `,e.target??`No target`]}),(0,q.jsx)(`dd`,{children:e.resolved?`Resolved`:`Missing profile`})]},e.agentId))}),(0,q.jsx)(X_,{panel:Y.routing})]})]}),u.error&&(0,q.jsx)(`p`,{role:`alert`,children:u.error.message}),c.data&&(0,q.jsxs)(`section`,{className:`trace-panel`,"aria-label":`Target operation`,children:[(0,q.jsxs)(`h2`,{children:[`Target operation · `,c.data.status]}),(0,q.jsx)(`p`,{children:c.data.kind}),(0,q.jsx)(`ul`,{children:c.data.progress.map(e=>(0,q.jsx)(`li`,{children:e.message},`${e.at}:${e.message}`))}),c.data.status===`failed`&&(0,q.jsxs)(`p`,{role:`alert`,children:[c.data.problem.detail,(0,q.jsx)(`br`,{}),c.data.problem.code,` · Reference `,c.data.problem.instance]}),c.data.status===`succeeded`&&(0,q.jsx)(`p`,{children:c.data.result.message}),m&&c.data.cancellable&&(0,q.jsx)(`button`,{type:`button`,onClick:()=>p.mutate(),disabled:p.isPending,children:`Cancel probe`})]})]})}function CO(e){return e.supported?e.resolution.source===`path`?{label:`Using PATH`,tone:`success`}:e.resolution.source===`vendored`?{label:`Using pinned copy`,tone:`success`}:{label:`Not available`,tone:`warn`}:{label:`Platform unsupported`,tone:`neutral`}}function wO(e){let t=e.resolution.pathCandidate;return!t||t.satisfiesMinimum?null:`A copy at ${t.path} reports ${t.version??`no version`}, which is below the pinned minimum, so Clio does not use it.`}function TO({error:e}){return(0,q.jsxs)(`div`,{className:`problem`,role:`alert`,children:[(0,q.jsx)(`strong`,{children:e.message}),e instanceof Ae&&(0,q.jsxs)(`small`,{children:[e.problem.code,` · `,e.problem.instance]})]})}function EO({client:e}){let t=l({queryKey:[`tools`],queryFn:()=>e.call(K.tools,y)}),[n,r]=(0,v.useState)(null),i=ux(e,n),a=f({mutationFn:async({id:t,kind:n})=>e.call(K[n],{params:{toolId:t},query:{},body:{}}),onSuccess:e=>r(e.operationId)}),o=a.isPending||!!n&&i.isPending||i.data?.status===`running`||i.data?.status===`queued`;return(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(Y_,{panel:Y.toolchain,level:1,title:(0,q.jsxs)(q.Fragment,{children:[`Toolchain`,(0,q.jsx)(`span`,{className:`period`,children:`.`})]}),action:(0,q.jsxs)(`span`,{className:`count`,children:[t.data?.length??`—`,` pinned tools`]})}),(0,q.jsx)(`p`,{className:`intro`,children:`Know what runs. Keep the tools you need close at hand.`}),(0,q.jsxs)(`div`,{className:`section-rule`,children:[(0,q.jsx)(`span`,{children:`TOOL / PINNED VERSION`}),(0,q.jsx)(`span`,{children:`RESOLUTION & INSTALLATION`})]}),t.isPending&&(0,q.jsx)(`p`,{children:`Resolving tools…`}),t.error&&(0,q.jsx)(TO,{error:t.error}),t.data&&!t.data.length&&(0,q.jsx)(J,{children:X.emptyStore(`pinned tool`)}),(0,q.jsx)(`div`,{className:`tools`,children:t.data?.map((e,t)=>{let n=wO(e);return(0,q.jsxs)(`article`,{className:`tool`,"aria-label":e.id,children:[(0,q.jsxs)(`div`,{className:`tool-identity`,children:[(0,q.jsxs)(`span`,{className:`tool-number`,children:[`0`,t+1]}),(0,q.jsxs)(`div`,{children:[(0,q.jsxs)(`h2`,{children:[e.id,(0,q.jsx)(`span`,{className:`version`,children:e.version})]}),(0,q.jsx)(`p`,{children:e.summary}),(0,q.jsxs)(`small`,{children:[e.license,` · `,e.platform??`Unsupported platform`]})]})]}),(0,q.jsxs)(`div`,{className:`tool-resolution`,children:[(0,q.jsx)(Q,{...CO(e)}),(0,q.jsx)(`p`,{children:e.resolution.description}),n&&(0,q.jsx)(`p`,{className:`panel-note`,children:n}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Installation path`}),(0,q.jsx)(`code`,{children:e.installDir})]}),(0,q.jsxs)(`div`,{className:`actions`,children:[(0,q.jsxs)(`button`,{type:`button`,className:`primary`,disabled:o||!e.supported,onClick:()=>a.mutate({id:e.id,kind:`install`}),children:[e.installed?`Check installation`:`Install pinned version`,` `,(0,q.jsx)(`span`,{"aria-hidden":`true`,children:`↓`})]}),e.installed&&(0,q.jsx)(`button`,{type:`button`,className:`secondary`,disabled:o,onClick:()=>a.mutate({id:e.id,kind:`remove`}),children:`Remove vendored copy`})]})]})]},e.id)})}),a.error&&(0,q.jsx)(TO,{error:a.error}),i.error&&(0,q.jsx)(TO,{error:i.error}),i.data&&(0,q.jsxs)(`section`,{className:`operation`,"aria-label":`Operation progress`,children:[(0,q.jsxs)(`div`,{className:`operation-heading`,children:[(0,q.jsx)(`h2`,{children:i.data.kind===`toolchain.install`?`Installation`:`Removal`}),(0,q.jsx)(`span`,{className:`badge`,role:`status`,children:i.data.status})]}),(0,q.jsx)(`ol`,{"aria-live":`polite`,"aria-relevant":`additions`,children:i.data.progress.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`time`,{children:new Date(e.at).toLocaleTimeString()}),e.message]},`${e.at}-${e.message}`))}),i.data.status===`succeeded`&&(0,q.jsx)(`p`,{className:`result`,children:i.data.result.message}),i.data.status===`failed`&&(0,q.jsx)(TO,{error:new Ae(i.data.problem)})]}),(0,q.jsx)(X_,{panel:Y.toolchain})]})}function DO(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function OO(e){try{return e?JSON.parse(e):null}catch{return e}}function kO({value:e}){return(0,q.jsx)(Ox,{value:e,empty:`Nothing was recorded for this field.`})}function AO({entries:e}){return(0,q.jsx)(`dl`,{className:`trace-facts`,children:e.filter(([,e])=>e!=null&&e!==``).map(([e,t])=>(0,q.jsxs)(v.Fragment,{children:[(0,q.jsx)(`dt`,{children:mx(e)}),(0,q.jsx)(`dd`,{children:typeof t==`object`?(0,q.jsx)(Ox,{value:t}):String(t)})]},e))})}function jO({run:e,phases:t,events:n,selected:r,select:i}){let a=Date.parse(e.started_at),o=e.ended_at?Date.parse(e.ended_at):me.now(),s=Math.max(1,o-a);return(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsxs)(`div`,{className:`page-heading`,children:[(0,q.jsx)(`h2`,{children:`Phase waterfall`}),(0,q.jsx)(`small`,{children:xe(s)})]}),(0,q.jsx)(`div`,{className:`trace-waterfall`,children:t.map(t=>{let c=Math.max(0,(Date.parse(t.started_at??e.started_at)-a)/s*100),l=Math.min(100-c,Math.max(.5,((t.ended_at?Date.parse(t.ended_at):o)-Date.parse(t.started_at??e.started_at))/s*100));return(0,q.jsxs)(`div`,{className:`trace-lane`,children:[(0,q.jsxs)(`button`,{type:`button`,"aria-pressed":r===t.phase_id,onClick:()=>i(t.phase_id),children:[t.name,(0,q.jsxs)(`small`,{children:[t.kind,` · `,t.owner]})]}),(0,q.jsxs)(`div`,{className:`trace-track`,children:[(0,q.jsx)(`button`,{className:`trace-bar ${t.status}`,type:`button`,"aria-label":`Select phase ${t.name}`,title:`${t.name}: ${t.status}`,style:{left:`${c}%`,width:`${l}%`},onClick:()=>i(t.phase_id)}),n.filter(e=>e.phase_id===t.phase_id&&e.type===`tool_call`).map(e=>(0,q.jsx)(`i`,{className:`trace-tool-span`,title:`${e.name} · ${e.ended_at?xe(Date.parse(e.ended_at)-Date.parse(e.started_at)):`live`}`,style:{left:`${Math.max(0,Math.min(99,(Date.parse(e.started_at)-a)/s*100))}%`,width:`${Math.max(.4,Math.min(100,((e.ended_at?Date.parse(e.ended_at):o)-Date.parse(e.started_at))/s*100))}%`}},e.rowid))]})]},t.phase_id)})}),t.length===0?(0,q.jsx)(`p`,{children:`No phases recorded.`}):null]})}function MO({phase:e}){return(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`Tokens & spend`}),(0,q.jsx)(`section`,{className:`table-scroll`,tabIndex:0,"aria-label":`Tokens and spend table`,children:(0,q.jsxs)(`table`,{className:`trace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:`Usage`}),(0,q.jsx)(`th`,{children:`Tokens`}),(0,q.jsx)(`th`,{children:`Cost`})]})}),(0,q.jsx)(`tbody`,{children:[[`Input`,e.input_tokens,e.input_cost_usd],[`Output`,e.output_tokens,e.output_cost_usd],[`Cache read`,e.cache_read_tokens,e.cache_read_cost_usd],[`Cache write`,e.cache_write_tokens,e.cache_write_cost_usd],[`Cache write (1h)`,e.cache_write_1h_tokens,null],[`Reasoning`,e.reasoning_tokens,null],[`Total`,e.total_tokens,e.total_cost_usd]].map(([e,t,n])=>(0,q.jsxs)(`tr`,{children:[(0,q.jsx)(`th`,{children:e}),(0,q.jsx)(`td`,{children:ge(t)}),(0,q.jsx)(`td`,{children:he(n)})]},String(e)))})]})}),(0,q.jsxs)(`p`,{children:[`Context: `,ge(e.context_tokens),` / `,ge(e.context_window)]})]})}function NO({event:e,start:t}){let n=OO(e.payload_json),r=DO(n);return(0,q.jsxs)(`article`,{className:`trace-event`,children:[(0,q.jsxs)(`div`,{className:`trace-event-head`,children:[(0,q.jsx)(`span`,{className:`trace-badge ${r.ok===!1||e.type===`error`?`fail`:``}`,children:e.type}),(0,q.jsx)(`strong`,{children:e.name}),(0,q.jsxs)(`small`,{children:[`+`,xe(Date.parse(e.started_at)-Date.parse(t)),e.ended_at?` · ${xe(Date.parse(e.ended_at)-Date.parse(e.started_at))}`:` · live`,e.tokens==null?``:` · ${ge(e.tokens)} tokens`]})]}),r.truncated===!0?(0,q.jsx)(`p`,{className:`trace-warning`,children:`Payload exceeded the trace limit; snippet only.`}):null,(0,q.jsx)(AO,{entries:Object.entries(r).map(([e,t])=>[e,typeof t==`string`&&t.length>400?`${t.slice(0,400)}… (see payload)`:t])}),(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:`Event payload`}),(0,q.jsx)(kO,{value:n})]})]})}function PO({gates:e}){return(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`Gate evidence`}),e.map(e=>(0,q.jsxs)(`article`,{className:`trace-event`,children:[(0,q.jsxs)(`h3`,{children:[e.gate,` `,(0,q.jsx)(Q,{tone:e.passed?`success`:`fail`,label:e.passed?`passed`:`failed`})]}),(0,q.jsxs)(`p`,{children:[`Attempt `,e.attempt,` · `,ye(e.created_at)]}),(0,q.jsx)(`h4`,{children:`Checks`}),(0,q.jsx)(kO,{value:OO(e.checks_json)}),(0,q.jsx)(`h4`,{children:`Violations`}),(0,q.jsx)(kO,{value:OO(e.violations_json)})]},e.id)),e.length?null:(0,q.jsx)(`p`,{children:`No gates recorded.`})]})}function FO({data:e,loadFull:t,full:n}){let r=e.receipt;return(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsxs)(`div`,{className:`page-heading`,children:[(0,q.jsx)(`h2`,{children:`Receipt`}),r&&!n?(0,q.jsx)(`button`,{type:`button`,onClick:t,children:`Load full receipt`}):null]}),r?(0,q.jsxs)(`div`,{className:`trace-receipt-grid`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:`Outcome`}),(0,q.jsx)(AO,{entries:[`outcome`,`outcomeCode`,`outcomeDetail`,`exitCode`,`failureMessage`].map(e=>[e,r[e]])})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:`Verification`}),(0,q.jsx)(AO,{entries:Object.entries(DO(r.verification))})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:`Spend`}),(0,q.jsx)(AO,{entries:[[`cost`,he(typeof r.costUsd==`number`?r.costUsd:null)],...[`costProvenance`,`tokenCount`,`inputTokenCount`,`outputTokenCount`,`cacheReadTokenCount`,`cacheWriteTokenCount`,`reasoningTokenCount`].map(e=>[e,r[e]])]})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:`Tools`}),Array.isArray(r.toolStats)?(0,q.jsx)(`section`,{className:`table-scroll`,tabIndex:0,"aria-label":`Tool statistics table`,children:(0,q.jsxs)(`table`,{className:`trace-table`,children:[(0,q.jsx)(`thead`,{children:(0,q.jsx)(`tr`,{children:[`Tool`,`Calls`,`OK`,`Errors`,`Blocked`,`Time`].map(e=>(0,q.jsx)(`th`,{children:e},e))})}),(0,q.jsx)(`tbody`,{children:r.toolStats.map((e,t)=>{let n=DO(e);return(0,q.jsxs)(`tr`,{children:[[`tool`,`count`,`ok`,`errors`,`blocked`].map(e=>(0,q.jsx)(`td`,{children:String(n[e]??`not recorded`)},e)),(0,q.jsx)(`td`,{children:typeof n.totalDurationMs==`number`?xe(n.totalDurationMs):`not recorded`})]},String(n.tool??t))})})]})}):null,(0,q.jsx)(AO,{entries:Object.entries(DO(r.toolActivity))})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:`Safety`}),(0,q.jsx)(AO,{entries:Object.entries(DO(r.safety))})]}),(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:`Provenance`}),(0,q.jsx)(AO,{entries:[`clioVersion`,`platform`,`nodeVersion`,`runtimeKind`,`skillActivations`,`integrity`,`lineage`,`node`,`gate`,`plan`,`pipeline`,`reroutes`].map(e=>[e,r[e]])})]})]}):(0,q.jsx)(`p`,{children:`No sealed receipt was found for this run.`}),(0,q.jsx)(`h3`,{children:`Findings`}),r?.findingsSummary?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:`Receipt findings`}),(0,q.jsx)(AO,{entries:Object.entries(DO(r.findingsSummary))})]}):null,e.evidence?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsx)(`p`,{children:`Evidence findings`}),(0,q.jsx)(AO,{entries:Object.entries(e.evidence)})]}):(0,q.jsx)(`p`,{children:`No evidence sidecar recorded.`}),r&&e.evidence&&DO(r.findingsSummary).firstPassSuccess!==void 0&&DO(r.findingsSummary).firstPassSuccess!==e.evidence.firstPassSuccess?(0,q.jsx)(`p`,{className:`trace-warning`,children:`Receipt and evidence disagree on first-pass success; both are shown above.`}):null,r?(0,q.jsxs)(`details`,{children:[(0,q.jsx)(`summary`,{children:n?`Full receipt payload`:`Receipt summary payload`}),(0,q.jsx)(kO,{value:r})]}):null]})}function IO(e){return e===`success`?`success`:e===`fail`?`fail`:e===`queued`?`warn`:Ax(e)}function LO(e,t){let n=e.ended_at?Date.parse(e.ended_at):t;return[{label:`Tokens`,value:ge(e.total_tokens)},{label:`Cost`,value:he(e.total_cost_usd)},{label:`Wall time`,value:xe(n-Date.parse(e.started_at))},{label:`Runtime`,value:e.runtime||`not recorded`}]}function RO(e){return[...e].sort((e,t)=>e.seq-t.seq||e.name.localeCompare(t.name))}function zO(e,t=8){let n=new Map;for(let t of e)n.set(t,(n.get(t)??0)+1);let r=[...n].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])),i=r.slice(0,t),a=i[0]?.[1]??0;return{rows:i.map(([e,t])=>({label:e,count:t,share:a>0?t/a:0})),omitted:Tx(r.length-i.length,`kind`)}}function BO({client:e}){let{runId:t=``}=te();return(0,q.jsx)(VO,{client:e,runId:t},t)}function VO({client:e,runId:t}){let n=i(),[r,a]=(0,v.useState)(null),[o,s]=(0,v.useState)(!1),[c,u]=(0,v.useState)(`Connecting to trace…`),[d,f]=(0,v.useState)(me.now()),p={params:{runId:t},query:{},body:{}},m=l({queryKey:[`trace-detail`,t,o],queryFn:async()=>{let[t,n,r,i,a,s]=await Promise.all([e.call(K.traceRun,p),e.call(K.tracePhases,p),e.call(K.traceGates,p),e.call(K.traceProcesses,p),e.call(K.traceEnvelopes,p),e.call(K.traceReceipt,{...p,query:o?{include:`full`}:{}})]);return{run:t,phases:n,gates:r,processes:i,envelopes:a,receipt:s}},refetchInterval:e=>e.state.data?.run.status===`running`&&5e3}),h=l({queryKey:[`trace-events`,t],queryFn:async()=>{let t=0,n=[];for(;;){let r=await e.call(K.traceEvents,{...p,query:{after:t,limit:500}});if(n.push(...r.events),t=r.cursor,!r.hasMore)return n}},staleTime:1/0}),ee=!!h.data&&!!m.data;if((0,v.useEffect)(()=>{let e=setInterval(()=>f(me.now()),500);return()=>clearInterval(e)},[]),(0,v.useEffect)(()=>{if(!ee)return;let r=n.getQueryData([`trace-events`,t])??[],i=new EventSource(`/api/traces/runs/${encodeURIComponent(t)}/live?after=${r.at(-1)?.rowid??0}&token=${encodeURIComponent(e.token)}`);return i.addEventListener(`ready`,()=>u(`Live trace`)),i.addEventListener(`trace.event`,e=>{let r=JSON.parse(e.data);n.setQueryData([`trace-events`,t],e=>[...new Map([...e??[],r].map(e=>[e.rowid,e])).values()].sort((e,t)=>e.rowid-t.rowid))}),i.addEventListener(`finished`,()=>{u(`Trace complete`),i.close(),n.invalidateQueries({queryKey:[`trace-detail`,t]})}),i.addEventListener(`problem`,e=>{u(`Trace unavailable: ${String(JSON.parse(e.data).detail)}`),i.close()}),i.onerror=()=>u(`Reconnecting to trace…`),()=>i.close()},[e,n,ee,t]),m.error||h.error)return(0,q.jsxs)(`div`,{role:`alert`,children:[(0,q.jsx)(`h1`,{children:`Trace unavailable`}),(0,q.jsx)(`p`,{children:m.error?.message??h.error?.message}),(0,q.jsx)(_,{to:`/traces`,children:`Back to traces`})]});if(!m.data||!h.data)return(0,q.jsx)(`p`,{children:`Loading run…`});let{run:g,gates:te,processes:ne,envelopes:re,receipt:ie}=m.data,ae=RO(m.data.phases),oe=ae.find(e=>e.phase_id===r)??ae[0],se=h.data.filter(e=>!oe||e.phase_id===oe.phase_id),ce=zO(h.data.map(e=>e.type)),le=zO(ne.map(e=>e.kind));return(0,q.jsxs)(`section`,{className:`trace-run-detail`,children:[(0,q.jsx)(_,{to:`/traces`,children:`← Trace history`}),(0,q.jsxs)(`p`,{className:`eyebrow`,children:[g.source,` / `,g.run_id]}),(0,q.jsx)(`h1`,{children:g.request??g.run_id}),(0,q.jsxs)(`div`,{className:`trace-event-head`,children:[(0,q.jsx)(Q,{tone:IO(g.status),label:g.status}),(0,q.jsx)(`span`,{role:`status`,children:c})]}),(0,q.jsx)(Y_,{panel:Y.traceRun}),(0,q.jsx)(`ul`,{className:`trace-totals`,children:LO(g,d).map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`strong`,{children:e.value})]},e.label))}),(0,q.jsx)(AO,{entries:[[`Agent`,g.agent],[`Model`,g.model],[`Target`,g.target],[`Node`,g.node],[`Started`,ye(g.started_at)]]}),(0,q.jsx)(jO,{run:g,phases:ae,events:h.data,selected:oe?.phase_id??null,select:a}),oe?(0,q.jsxs)(q.Fragment,{children:[(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:oe.name}),(0,q.jsx)(AO,{entries:[[`Description`,oe.description],[`Status`,oe.status],[`Owner`,oe.owner],[`Attempt`,oe.attempt],[`Retries`,oe.retries],[`Error`,oe.error]]})]}),(0,q.jsx)(MO,{phase:oe})]}):null,(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`How many of each kind`}),(0,q.jsx)(`div`,{className:`trace-histograms`,children:[{title:`Events`,data:ce,subject:`event`},{title:`Processes`,data:le,subject:`process`}].map(({title:e,data:t,subject:n})=>(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h3`,{children:e}),!t.rows.length&&(0,q.jsx)(J,{children:X.emptyStore(n,`for this run`)}),(0,q.jsx)(`ul`,{className:`trace-histogram`,children:t.rows.map(e=>(0,q.jsxs)(`li`,{children:[(0,q.jsx)(`span`,{children:e.label}),(0,q.jsx)(`span`,{className:`trace-histogram__track`,"aria-hidden":`true`,children:(0,q.jsx)(`i`,{style:{width:`${Math.round(e.share*100)}%`}})}),(0,q.jsx)(`strong`,{children:e.count.toLocaleString(`en-US`)})]},e.label))}),t.omitted&&(0,q.jsx)(`p`,{className:`panel-note`,children:t.omitted})]},e))})]}),(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsxs)(`h2`,{children:[`Event log `,(0,q.jsxs)(`small`,{children:[`(`,se.length,`)`]})]}),se.map(e=>(0,q.jsx)(NO,{event:e,start:g.started_at},e.rowid)),se.length?null:(0,q.jsx)(J,{children:X.emptyStore(`event`,`for this phase`)})]}),(0,q.jsx)(PO,{gates:te.filter(e=>!oe||e.phase_id===oe.phase_id)}),(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsxs)(`h2`,{children:[`Processes `,(0,q.jsxs)(`small`,{children:[`(`,ne.length,`)`]})]}),ne.map(e=>(0,q.jsxs)(`article`,{className:`trace-event`,children:[(0,q.jsxs)(`h3`,{children:[e.name,` `,(0,q.jsx)(`span`,{className:`trace-badge`,children:e.ended_at?`ended`:`live`})]}),(0,q.jsx)(AO,{entries:[[`Kind`,e.kind],[`PID`,e.pid],[`Host`,e.host],[`Started`,ye(e.started_at)],[`Ended`,e.ended_at?ye(e.ended_at):null],[`Command`,e.command]]})]},e.id)),ne.length?null:(0,q.jsx)(J,{children:X.emptyStore(`process`,`for this run`)})]}),(0,q.jsxs)(`section`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`Envelopes`}),re.map(e=>(0,q.jsxs)(`details`,{children:[(0,q.jsxs)(`summary`,{children:[e.agent,` · `,e.output_type,` · `,e.valid?`valid`:`invalid`]}),(0,q.jsx)(kO,{value:OO(e.payload_json)})]},e.envelope_id)),re.length?null:(0,q.jsx)(J,{children:X.emptyStore(`envelope`,`for this run`)})]}),(0,q.jsx)(FO,{data:ie,full:o,loadFull:()=>s(!0)}),(0,q.jsx)(X_,{panel:Y.traceRun})]})}function HO({client:e}){let[t,n]=u(),r=t.get(`source`),i=t.get(`status`),a=t.get(`q`)??``,o={...r===`dispatch`||r===`session`?{source:r}:{},...i===`queued`||i===`running`||i===`success`||i===`fail`?{status:i}:{},...a?{q:a}:{}},s=l({queryKey:[`trace-status`],queryFn:()=>e.call(K.traceStatus,{params:{},query:{},body:{}}),refetchInterval:5e3}),c=h({queryKey:[`trace-runs`,o],initialPageParam:null,queryFn:({pageParam:t})=>e.call(K.traceRuns,{params:{},body:{},query:{...o,limit:50,...t?{cursor:t}:{}}}),getNextPageParam:e=>e.nextCursor,refetchInterval:5e3,enabled:s.data?.available===!0});return(0,q.jsxs)(`section`,{children:[(0,q.jsx)(`p`,{className:`eyebrow`,children:`Execution history`}),(0,q.jsxs)(`h1`,{children:[`Traces`,(0,q.jsx)(`span`,{className:`period`,children:`.`})]}),(0,q.jsx)(`p`,{className:`intro`,children:`Follow a run from its first decision to its final evidence.`}),(0,q.jsxs)(`form`,{className:`trace-filters`,onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),r=new URLSearchParams;for(let[e,n]of t)String(n)&&r.set(e,String(n));n(r)},children:[(0,q.jsxs)(`label`,{children:[`Search runs`,(0,q.jsx)(`input`,{name:`q`,defaultValue:a,placeholder:`Run, agent, model or request`})]}),(0,q.jsxs)(`label`,{children:[`Source`,(0,q.jsxs)(`select`,{name:`source`,defaultValue:r??``,children:[(0,q.jsx)(`option`,{value:``,children:`All sources`}),(0,q.jsx)(`option`,{value:`session`,children:`Session`}),(0,q.jsx)(`option`,{value:`dispatch`,children:`Dispatch`})]})]}),(0,q.jsxs)(`label`,{children:[`Status`,(0,q.jsxs)(`select`,{name:`status`,defaultValue:i??``,children:[(0,q.jsx)(`option`,{value:``,children:`All statuses`}),[`queued`,`running`,`success`,`fail`].map(e=>(0,q.jsx)(`option`,{children:e},e))]})]}),(0,q.jsx)(`button`,{type:`submit`,className:`primary`,children:`Filter`})]}),s.error||c.error?(0,q.jsx)(`p`,{role:`alert`,children:s.error?.message??c.error?.message}):null,s.data?.available===!1?(0,q.jsxs)(`div`,{className:`trace-panel`,children:[(0,q.jsx)(`h2`,{children:`No trace database available`}),(0,q.jsx)(J,{children:X.missingStore(`execution trace`)}),(0,q.jsx)(`p`,{children:`Run a Clio session or dispatch to record execution history. An existing database must use the supported schema and WAL mode.`})]}):null,s.isPending||s.data?.available&&c.isPending?(0,q.jsx)(`p`,{children:`Loading trace history…`}):null,c.data?.pages.map(e=>e.runs.map(e=>(0,q.jsxs)(_,{className:`trace-run-card`,to:`/traces/${encodeURIComponent(e.run_id)}`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`span`,{className:`trace-badge ${e.status}`,children:e.status===`running`?`● running`:e.status}),` `,(0,q.jsx)(`span`,{className:`trace-badge`,children:e.source}),(0,q.jsx)(`h2`,{children:e.request??e.run_id}),(0,q.jsxs)(`p`,{children:[e.agent,` · `,e.model]}),(0,q.jsxs)(`small`,{children:[e.run_id,` · `,ye(e.started_at)]})]}),(0,q.jsxs)(`div`,{className:`trace-spend`,children:[(0,q.jsx)(`strong`,{children:he(e.total_cost_usd)}),(0,q.jsxs)(`small`,{children:[ge(e.total_tokens),` tokens`]})]})]},e.run_id))),c.data?.pages[0]?.runs.length===0?(0,q.jsx)(J,{children:`No run matches these filters.`}):null,c.hasNextPage?(0,q.jsx)(J,{children:X.bounded(`runs`)}):null,c.hasNextPage?(0,q.jsx)(`button`,{type:`button`,onClick:()=>void c.fetchNextPage(),disabled:c.isFetchingNextPage,children:`Load more runs`}):null,s.data?(0,q.jsxs)(`p`,{className:`trace-note`,children:[`Retention: `,s.data.retentionPolicy.maxAgeDays,` days ·`,` `,Math.round(s.data.retentionPolicy.maxBytes/1024/1024),` MiB. History refreshes every five seconds.`]}):null]})}var UO=je(Se()),WO=new c({defaultOptions:{queries:{retry:!1}},queryCache:new n({onError:a_}),mutationCache:new ne({onError:a_})}),GO=ee([{element:(0,q.jsx)(J_,{client:UO}),children:[{path:`/evidence`,element:(0,q.jsx)(oS,{client:UO})},{path:`/evidence/:id`,element:(0,q.jsx)(sS,{client:UO})},{path:`/evals`,element:(0,q.jsx)(dC,{client:UO})},{path:`/evals/:id`,element:(0,q.jsx)(fC,{client:UO})},{path:`/usage`,element:(0,q.jsx)(pC,{client:UO})},{path:`/library`,element:(0,q.jsx)(ZS,{client:UO})},{path:`/system`,element:(0,q.jsx)(mO,{client:UO})},{path:`/system/interop`,element:(0,q.jsx)(hO,{client:UO})},{path:`/fleet`,element:(0,q.jsx)(lS,{client:UO})},{path:`/fleet/:id`,element:(0,q.jsx)(uS,{client:UO})},{path:`/fleet/dispatches/:id`,element:(0,q.jsx)(uS,{client:UO,dispatch:!0})},{path:`/settings/targets`,element:(0,q.jsx)(SO,{client:UO,view:`targets`})},{path:`/settings/routing`,element:(0,q.jsx)(SO,{client:UO,view:`routing`})},{path:`/settings`,element:(0,q.jsx)(nS,{client:UO,view:`settings`})},{path:`/settings/effective`,element:(0,q.jsx)(nS,{client:UO,view:`effective`})},{path:`/settings/why`,element:(0,q.jsx)(nS,{client:UO,view:`why`})},{path:`/docs/*`,element:(0,q.jsx)(lx,{client:UO})},{path:`/sessions`,element:(0,q.jsx)(ZD,{client:UO})},{path:`/workspaces/:workspaceId/sessions`,element:(0,q.jsx)(QD,{client:UO})},{path:`/sessions/:id`,element:(0,q.jsx)($D,{client:UO})},{path:`/`,element:(0,q.jsx)(dS,{})},{path:`/traces`,element:(0,q.jsx)(HO,{client:UO})},{path:`/traces/:runId`,element:(0,q.jsx)(BO,{client:UO})},{path:`/toolchain`,element:(0,q.jsx)(EO,{client:UO})}]}]),KO=document.getElementById(`root`);if(!KO)throw Error(`Missing application root.`);(0,ae.createRoot)(KO).render((0,q.jsx)(ie,{client:WO,children:(0,q.jsx)(g,{router:GO})}));