@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,1138 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ formatBytes
4
+ } from "./chunk-N24R6KWS.js";
5
+ import "./chunk-ZIDFQJRB.js";
6
+ import {
7
+ MUX_METHOD_MIN_PROTOCOL,
8
+ detectMux,
9
+ resolveSocketCandidates
10
+ } from "./chunk-PXRCXGLK.js";
11
+ import {
12
+ inspectInstalledNamingResources,
13
+ inspectModelOverlayNaming,
14
+ inspectSkillMetadataNaming,
15
+ inspectToolMarkerNaming,
16
+ inspectYaziNaming,
17
+ migrateNamingSettingsFile,
18
+ regenerateYaziNamingProfile,
19
+ transformNamingSettingsDocument
20
+ } from "./chunk-NASYVWDB.js";
21
+ import {
22
+ formatDoctorReport,
23
+ isUninitializedHome,
24
+ runDoctor,
25
+ runDoctorFleetChecks,
26
+ runDoctorInteropChecks,
27
+ runDoctorModelChecks,
28
+ runDoctorRuntimeChecks
29
+ } from "./chunk-IN7DGBVS.js";
30
+ import "./chunk-NOCSM22Y.js";
31
+ import "./chunk-KW5HXKLJ.js";
32
+ import "./chunk-URCXX7WJ.js";
33
+ import {
34
+ describeYaziProfile,
35
+ inspectCurrentYaziProfile,
36
+ userYaziConfigDir,
37
+ yaziProfileDir
38
+ } from "./chunk-U26XXPJS.js";
39
+ import "./chunk-T2MDZES3.js";
40
+ import {
41
+ resolveOnPath
42
+ } from "./chunk-4A6YRGV4.js";
43
+ import "./chunk-UCINIRHW.js";
44
+ import "./chunk-GGPF6LLE.js";
45
+ import "./chunk-3UW3KU4A.js";
46
+ import {
47
+ HOST_WORKTREE_ROOT_FACTS,
48
+ allowedWorktreeParents,
49
+ gitCheckoutRoot,
50
+ listPreservedTaskWorktrees,
51
+ resolveWorktreeRoot
52
+ } from "./chunk-BYFHHCFV.js";
53
+ import "./chunk-TKDRT2DF.js";
54
+ import "./chunk-LQTKDAUO.js";
55
+ import {
56
+ describeValidationContract,
57
+ loadValidationContract
58
+ } from "./chunk-ZU4JPCPR.js";
59
+ import {
60
+ printError
61
+ } from "./chunk-NBXFPI7U.js";
62
+ import "./chunk-SQZHXUB3.js";
63
+ import {
64
+ TraceReader
65
+ } from "./chunk-GM4TY6VN.js";
66
+ import "./chunk-ZARZ4POR.js";
67
+ import "./chunk-UX2L5CUD.js";
68
+ import "./chunk-LAR7DX5E.js";
69
+ import "./chunk-DNCE23JJ.js";
70
+ import "./chunk-CDQ2UC6W.js";
71
+ import "./chunk-5LP5FNNR.js";
72
+ import "./chunk-NVPXXW2H.js";
73
+ import "./chunk-2AF6YC7Q.js";
74
+ import "./chunk-LAVUQX3B.js";
75
+ import {
76
+ resolveMcpServers
77
+ } from "./chunk-55RMDDFM.js";
78
+ import "./chunk-2KUBKL63.js";
79
+ import "./chunk-MYI32N4R.js";
80
+ import "./chunk-DVTBERFY.js";
81
+ import "./chunk-Z4GLJ6J4.js";
82
+ import "./chunk-VNBICSS2.js";
83
+ import "./chunk-2WVPJF3Z.js";
84
+ import "./chunk-ALJWT6O6.js";
85
+ import "./chunk-I4Y4WKZR.js";
86
+ import {
87
+ DEFAULT_AUTONOMY_LEVEL
88
+ } from "./chunk-UZVYEF57.js";
89
+ import "./chunk-O3VV6IVK.js";
90
+ import "./chunk-EKV4UBCM.js";
91
+ import "./chunk-UHW5V7HC.js";
92
+ import "./chunk-LNOXCGN2.js";
93
+ import "./chunk-BJH6WFIB.js";
94
+ import "./chunk-5EQO5NWP.js";
95
+ import "./chunk-VYRQHORQ.js";
96
+ import "./chunk-P4GNZPXO.js";
97
+ import "./chunk-R2P2U3ZS.js";
98
+ import "./chunk-NTTS3O53.js";
99
+ import "./chunk-C2CPOIH2.js";
100
+ import "./chunk-MGLRTOCK.js";
101
+ import "./chunk-M4KFUXS7.js";
102
+ import "./chunk-V4XJWDHR.js";
103
+ import {
104
+ readSettings,
105
+ withSettingsLock
106
+ } from "./chunk-56XP4FJU.js";
107
+ import "./chunk-QZTTRSJE.js";
108
+ import "./chunk-U2MSJ57E.js";
109
+ import "./chunk-C27U2TYG.js";
110
+ import {
111
+ require_dist
112
+ } from "./chunk-B5GGDIHT.js";
113
+ import "./chunk-O63U2I6I.js";
114
+ import {
115
+ runCommandVector
116
+ } from "./chunk-M2IPMWCN.js";
117
+ import "./chunk-XS2QPZJE.js";
118
+ import {
119
+ rawDurationMs
120
+ } from "./chunk-6EXUUOSN.js";
121
+ import "./chunk-ZTNFYMIO.js";
122
+ import {
123
+ describeResolution,
124
+ toolStatus,
125
+ toolStatuses
126
+ } from "./chunk-53OXPRI6.js";
127
+ import {
128
+ findPinnedTool
129
+ } from "./chunk-2EMLKSCX.js";
130
+ import "./chunk-KMF54VH3.js";
131
+ import "./chunk-DVJL77SO.js";
132
+ import "./chunk-SER7RRAE.js";
133
+ import "./chunk-GH5ZR6JP.js";
134
+ import "./chunk-TK2BMCBZ.js";
135
+ import {
136
+ resolveClioDirs
137
+ } from "./chunk-CTTI7G3T.js";
138
+ import "./chunk-ZZFWWYLX.js";
139
+ import "./chunk-2VLYHHFT.js";
140
+ import "./chunk-3JHUFKG7.js";
141
+ import "./chunk-ZPST2KQO.js";
142
+ import "./chunk-PS6JAWJZ.js";
143
+ import "./chunk-FD2I4KBR.js";
144
+ import {
145
+ __toESM,
146
+ init_esm_shims
147
+ } from "./chunk-ECBHH7LU.js";
148
+
149
+ // src/cli/doctor.ts
150
+ init_esm_shims();
151
+
152
+ // src/cli/doctor-hpc.ts
153
+ init_esm_shims();
154
+ import { tmpdir } from "node:os";
155
+ import path from "node:path";
156
+ var HPC_VERSION_TIMEOUT_MS = 2e3;
157
+ var HPC_VERSION_MAX_OUTPUT_BYTES = 4096;
158
+ var HPC_TOOLS = [
159
+ { name: "cc", binaries: ["cc", "gcc"] },
160
+ { name: "c++", binaries: ["c++", "g++"] },
161
+ { name: "clang", binaries: ["clang"] },
162
+ { name: "gfortran", binaries: ["gfortran"] },
163
+ { name: "mpicc", binaries: ["mpicc"] },
164
+ { name: "mpicxx", binaries: ["mpicxx"] },
165
+ { name: "mpirun", binaries: ["mpirun"] },
166
+ { name: "nvcc", binaries: ["nvcc"] },
167
+ { name: "cmake", binaries: ["cmake"] },
168
+ { name: "make", binaries: ["make"] },
169
+ { name: "ninja", binaries: ["ninja"] },
170
+ { name: "meson", binaries: ["meson"] },
171
+ { name: "python3", binaries: ["python3"] },
172
+ { name: "sbatch", binaries: ["sbatch"] }
173
+ ];
174
+ function requiredBy(contract, tool) {
175
+ if (contract === null) return null;
176
+ if (tool.name === "sbatch" && contract.runtime?.kind === "slurm") return "runtime.kind slurm needs it";
177
+ for (const command of contract.validators ?? []) {
178
+ const words = command.split(/[\s;&|()<>`"']+/).filter((word) => word.length > 0);
179
+ if (words.some((word) => tool.binaries.includes(path.basename(word)))) {
180
+ return "the validation contract names it";
181
+ }
182
+ }
183
+ return null;
184
+ }
185
+ function lines(text) {
186
+ return text.split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0);
187
+ }
188
+ async function versionLine(binary, timeoutMs) {
189
+ const cwd = tmpdir();
190
+ const result = await runCommandVector(binary, ["--version"], {
191
+ cwd,
192
+ workspaceRoot: cwd,
193
+ timeoutMs,
194
+ maxOutputBytes: HPC_VERSION_MAX_OUTPUT_BYTES
195
+ });
196
+ if (result.timedOut) return { line: `no version line (--version did not answer within ${timeoutMs}ms)` };
197
+ const output = lines(`${result.stdout}
198
+ ${result.stderr}`);
199
+ const line = output.find((entry) => /\d+\.\d+/.test(entry)) ?? output[0] ?? "no version line";
200
+ if (result.exitCode !== 0) return { line, fault: `--version exited ${result.exitCode ?? "on a signal"}` };
201
+ return { line };
202
+ }
203
+ async function probeTool(tool, contract, timeoutMs) {
204
+ const name = `toolchain ${tool.name}`;
205
+ const resolved = resolveOnPath(tool.binaries);
206
+ if (resolved.presence === "present" && resolved.binary !== void 0) {
207
+ const version = await versionLine(resolved.binary, timeoutMs);
208
+ if (version.fault !== void 0) {
209
+ return { ok: true, name, level: "warn", detail: `${resolved.binary}: ${version.fault}: ${version.line}` };
210
+ }
211
+ return { ok: true, name, level: "ok", detail: `${resolved.binary}: ${version.line}` };
212
+ }
213
+ const where = resolved.presence === "unknown" ? "PATH could not be read" : "not on PATH";
214
+ const reason = requiredBy(contract, tool);
215
+ if (reason !== null) return { ok: true, name, level: "warn", detail: `${where}; ${reason}` };
216
+ return { ok: true, name, level: "info", detail: where };
217
+ }
218
+ async function hpcToolchainFindings(options = {}) {
219
+ const loaded = loadValidationContract(options.workspaceRoot ?? process.cwd());
220
+ const contract = loaded.ok ? loaded.contract : null;
221
+ const timeoutMs = options.timeoutMs ?? HPC_VERSION_TIMEOUT_MS;
222
+ return Promise.all(HPC_TOOLS.map((tool) => probeTool(tool, contract, timeoutMs)));
223
+ }
224
+
225
+ // src/cli/doctor-naming.ts
226
+ init_esm_shims();
227
+ var import_yaml = __toESM(require_dist(), 1);
228
+ import { execFileSync } from "node:child_process";
229
+ import { existsSync as existsSync2, readdirSync as readdirSync2, readFileSync as readFileSync2 } from "node:fs";
230
+ import { join as join2 } from "node:path";
231
+
232
+ // src/domains/lifecycle/naming-history.ts
233
+ init_esm_shims();
234
+ import { existsSync, lstatSync, readdirSync, readFileSync, statSync } from "node:fs";
235
+ import { join } from "node:path";
236
+ var HISTORY_FILE_LIMIT = 1e4;
237
+ var HISTORY_FILE_BYTE_LIMIT = 8 * 1024 * 1024;
238
+ var HISTORY_SUFFIXES = [".json", ".jsonl", ".ndjson"];
239
+ var LEGACY_EVENT_TYPES = [
240
+ "clio_permission_escalated",
241
+ "clio_permission_resolved",
242
+ "clio_plan_update",
243
+ "clio_run_outcome",
244
+ "clio_safety_decision",
245
+ "clio_skill_activation",
246
+ "clio_steer_received",
247
+ "clio_tool_activity",
248
+ "clio_tool_finish",
249
+ "clio_tool_start",
250
+ "clio_usage",
251
+ "clio_verification",
252
+ "clio_write_record_downgraded"
253
+ ];
254
+ var LEGACY_HISTORY_LITERALS = [
255
+ ...LEGACY_EVENT_TYPES,
256
+ "clio.eval.",
257
+ '"clio-run"',
258
+ "clio.runReceipt.integrity",
259
+ "clio.gateDecision.integrity",
260
+ "clio.gateDecision.pending",
261
+ "clio.protectedArtifact.pending",
262
+ "clio.ask_user.interview.v1",
263
+ "clio.share.v1",
264
+ "clio-context-replay-v2",
265
+ "identity.clio-worker"
266
+ ];
267
+ function countLegacyHistoryText(text) {
268
+ let count = 0;
269
+ for (const literal of LEGACY_HISTORY_LITERALS) {
270
+ let offset = 0;
271
+ for (; ; ) {
272
+ const found = text.indexOf(literal, offset);
273
+ if (found === -1) break;
274
+ count += 1;
275
+ offset = found + literal.length;
276
+ }
277
+ }
278
+ count += text.match(/"clio"\s*:/gu)?.length ?? 0;
279
+ count += text.match(/"clioVersion"\s*:/gu)?.length ?? 0;
280
+ count += text.match(/"clioCommit"\s*:/gu)?.length ?? 0;
281
+ return count;
282
+ }
283
+ function inspectTextTree(area, root) {
284
+ const result = {
285
+ area,
286
+ legacyIdentifiers: 0,
287
+ filesInspected: 0,
288
+ filesSkipped: 0,
289
+ error: null
290
+ };
291
+ if (!existsSync(root)) return result;
292
+ const pending = [root];
293
+ try {
294
+ while (pending.length > 0 && result.filesInspected + result.filesSkipped < HISTORY_FILE_LIMIT) {
295
+ const directory = pending.pop();
296
+ if (directory === void 0) break;
297
+ for (const entry of readdirSync(directory, { withFileTypes: true }).sort(
298
+ (left, right) => left.name.localeCompare(right.name)
299
+ )) {
300
+ const path2 = join(directory, entry.name);
301
+ if (entry.isSymbolicLink()) {
302
+ result.filesSkipped += 1;
303
+ continue;
304
+ }
305
+ if (entry.isDirectory()) {
306
+ pending.push(path2);
307
+ continue;
308
+ }
309
+ if (!entry.isFile() || !HISTORY_SUFFIXES.some((suffix) => entry.name.endsWith(suffix))) continue;
310
+ const stats = lstatSync(path2);
311
+ if (!stats.isFile() || stats.size > HISTORY_FILE_BYTE_LIMIT) {
312
+ result.filesSkipped += 1;
313
+ continue;
314
+ }
315
+ result.legacyIdentifiers += countLegacyHistoryText(readFileSync(path2, "utf8"));
316
+ result.filesInspected += 1;
317
+ }
318
+ }
319
+ if (pending.length > 0) result.filesSkipped += pending.length;
320
+ } catch (error) {
321
+ result.error = error instanceof Error ? error.message : String(error);
322
+ }
323
+ return result;
324
+ }
325
+ function inspectTrace(path2) {
326
+ const result = {
327
+ area: "trace",
328
+ legacyIdentifiers: 0,
329
+ filesInspected: 0,
330
+ filesSkipped: 0,
331
+ error: null
332
+ };
333
+ if (!existsSync(path2)) return result;
334
+ try {
335
+ if (!statSync(path2).isFile()) {
336
+ result.filesSkipped = 1;
337
+ return result;
338
+ }
339
+ const reader = new TraceReader(path2);
340
+ try {
341
+ const placeholders = LEGACY_EVENT_TYPES.map(() => "?").join(",");
342
+ const row = reader.db.prepare(`SELECT COUNT(*) AS count FROM events WHERE type IN (${placeholders})`).get(...LEGACY_EVENT_TYPES);
343
+ result.legacyIdentifiers = Number(row.count);
344
+ result.filesInspected = 1;
345
+ } finally {
346
+ reader.close();
347
+ }
348
+ } catch (error) {
349
+ result.error = error instanceof Error ? error.message : String(error);
350
+ }
351
+ return result;
352
+ }
353
+ function inspectNamingHistory(options) {
354
+ return [
355
+ inspectTrace(join(options.stateDir, "trace.sqlite")),
356
+ inspectTextTree("sessions", join(options.stateDir, "sessions")),
357
+ inspectTextTree("evals", join(options.dataDir, "evals")),
358
+ inspectTextTree("evidence", join(options.dataDir, "evidence")),
359
+ inspectTextTree("receipts", join(options.stateDir, "receipts"))
360
+ ];
361
+ }
362
+
363
+ // src/cli/doctor-naming.ts
364
+ var LEGACY_ENVIRONMENT_NAMES = [
365
+ ["CLIO_EVAL_RUNNER_STDOUT_FILE", "CLIO_CODER_EVAL_RUNNER_STDOUT_FILE"],
366
+ ["CLIO_YAZI_PICK_TOKEN", "CLIO_CODER_YAZI_PICK_TOKEN"]
367
+ ];
368
+ function namingEnvironmentFindings(yaziEnabled, environment = process.env) {
369
+ const present = LEGACY_ENVIRONMENT_NAMES.filter(
370
+ ([legacy]) => (yaziEnabled || legacy !== "CLIO_YAZI_PICK_TOKEN") && Boolean(environment[legacy]?.trim())
371
+ );
372
+ if (present.length === 0) {
373
+ return [{ ok: true, name: "naming environment", detail: "no legacy Clio Coder environment variables are set" }];
374
+ }
375
+ return present.map(([legacy, canonical]) => ({
376
+ ok: true,
377
+ level: "warn",
378
+ name: "naming environment",
379
+ detail: `${legacy} is deprecated; use ${canonical} (compatibility ends in v0.7.0)`
380
+ }));
381
+ }
382
+ function namingResourceFindings(options) {
383
+ try {
384
+ const resourceOptions = {
385
+ ...options.cwd ? { cwd: options.cwd } : {},
386
+ ...options.fix !== void 0 ? { fix: options.fix } : {}
387
+ };
388
+ const resources = inspectInstalledNamingResources(resourceOptions);
389
+ const legacyResources = resources.filter((entry) => entry.status !== "absent");
390
+ const rootOptions = options.cwd ? { cwd: options.cwd } : {};
391
+ const skillMetadata = inspectSkillMetadataNaming(rootOptions).filter((entry) => entry.legacyMetadataKey);
392
+ const overlays = inspectModelOverlayNaming(rootOptions).filter(
393
+ (entry) => entry.legacyFile || entry.legacyMetadataKeys > 0
394
+ );
395
+ if (legacyResources.length === 0 && skillMetadata.length === 0 && overlays.length === 0) {
396
+ return [{ ok: true, name: "naming resources", detail: "installed skills and model overlays use canonical names" }];
397
+ }
398
+ const renamed = legacyResources.filter((entry) => entry.status === "renamed").length;
399
+ const renamable = legacyResources.filter((entry) => entry.status === "renamable").length;
400
+ const conflicts = legacyResources.filter(
401
+ (entry) => entry.status === "modified" || entry.status === "canonical-present"
402
+ ).length;
403
+ return [
404
+ {
405
+ ok: true,
406
+ level: renamed > 0 && renamable === 0 && conflicts === 0 && skillMetadata.length === 0 && overlays.length === 0 ? "ok" : "warn",
407
+ name: "naming resources",
408
+ detail: [
409
+ `${renamed} proven skills renamed`,
410
+ `${renamable} proven skills await doctor --fix`,
411
+ `${conflicts} modified/conflicting skills left untouched`,
412
+ `${skillMetadata.length} legacy skill metadata keys${skillMetadata.length > 0 ? ` (rename \`clio:\` to \`clio-coder:\` in ${skillMetadata.map((entry) => entry.path).join(", ")})` : ""}`,
413
+ `${overlays.length} legacy model overlay files/metadata (manual migration required)`
414
+ ].join("; ")
415
+ }
416
+ ];
417
+ } catch (error) {
418
+ return [
419
+ {
420
+ ok: false,
421
+ name: "naming resources",
422
+ detail: `resource naming inspection failed: ${error instanceof Error ? error.message : String(error)}`
423
+ }
424
+ ];
425
+ }
426
+ }
427
+ function inspectSettingsNaming(path2) {
428
+ if (!existsSync2(path2)) return { path: path2, legacy: 0, conflicts: 0, error: null };
429
+ try {
430
+ const transformed = transformNamingSettingsDocument((0, import_yaml.parse)(readFileSync2(path2, "utf8")));
431
+ return {
432
+ path: path2,
433
+ legacy: transformed.replacements.length,
434
+ conflicts: transformed.conflicts.length,
435
+ error: null
436
+ };
437
+ } catch (error) {
438
+ return { path: path2, legacy: 0, conflicts: 0, error: error instanceof Error ? error.message : String(error) };
439
+ }
440
+ }
441
+ function settingsFinding(label, inspection, fixed) {
442
+ if (inspection.error !== null) {
443
+ return {
444
+ ok: false,
445
+ name: `naming ${label}`,
446
+ detail: `${inspection.path} could not be inspected: ${inspection.error}`
447
+ };
448
+ }
449
+ const count = inspection.legacy + inspection.conflicts;
450
+ if (count === 0) {
451
+ return { ok: true, name: `naming ${label}`, detail: `${inspection.path} has canonical settings identifiers` };
452
+ }
453
+ return {
454
+ ok: fixed,
455
+ level: fixed ? "ok" : "warn",
456
+ name: `naming ${label}`,
457
+ detail: fixed ? `${inspection.path}: migrated ${inspection.legacy} aliases and resolved ${inspection.conflicts} canonical collisions; backup written beside the file` : `${inspection.path}: ${inspection.legacy} legacy aliases and ${inspection.conflicts} canonical collisions (run \`clio-coder doctor --fix\`)`
458
+ };
459
+ }
460
+ function yaziNamingFinding(fix, enabled) {
461
+ if (!enabled) {
462
+ return {
463
+ ok: true,
464
+ name: "naming files profile",
465
+ detail: "disabled by settings"
466
+ };
467
+ }
468
+ const inspection = inspectYaziNaming();
469
+ const legacy = inspection.legacyEvents + inspection.legacyEnvironmentNames;
470
+ if (legacy === 0) {
471
+ return {
472
+ ok: true,
473
+ name: "naming files profile",
474
+ detail: inspection.present ? `${inspection.profileDir} uses canonical event and environment identifiers` : `${inspection.profileDir} is absent; the next managed open will generate canonical identifiers`
475
+ };
476
+ }
477
+ if (!fix) {
478
+ return {
479
+ ok: true,
480
+ level: "warn",
481
+ name: "naming files profile",
482
+ detail: `${inspection.profileDir}: ${inspection.legacyEvents} legacy events and ${inspection.legacyEnvironmentNames} legacy environment names (run \`clio-coder doctor --fix\`)`
483
+ };
484
+ }
485
+ const report = regenerateYaziNamingProfile();
486
+ return {
487
+ ok: report.status !== "regeneration-failed",
488
+ ...report.status === "regeneration-failed" ? {} : { level: "ok" },
489
+ name: "naming files profile",
490
+ detail: report.detail
491
+ };
492
+ }
493
+ function toolMarkerNamingFinding(fix) {
494
+ try {
495
+ const reports = inspectToolMarkerNaming({ fix });
496
+ if (reports.length === 0) {
497
+ return { ok: true, name: "naming tool markers", detail: "known tool versions use canonical install markers" };
498
+ }
499
+ const fixed = reports.filter((entry) => entry.status === "renamed" || entry.status === "duplicate-removed").length;
500
+ const fixable = reports.filter(
501
+ (entry) => entry.status === "renamable" || entry.status === "agreeing-duplicate"
502
+ ).length;
503
+ const manual = reports.length - fixed - fixable;
504
+ return {
505
+ ok: true,
506
+ level: fixed > 0 && fixable === 0 && manual === 0 ? "ok" : "warn",
507
+ name: "naming tool markers",
508
+ detail: `${fixed} validated markers fixed; ${fixable} await doctor --fix; ${manual} invalid/conflicting markers left untouched`
509
+ };
510
+ } catch (error) {
511
+ return {
512
+ ok: false,
513
+ name: "naming tool markers",
514
+ detail: `tool marker inspection failed: ${error instanceof Error ? error.message : String(error)}`
515
+ };
516
+ }
517
+ }
518
+ function immutableHistoryNamingFinding() {
519
+ const dirs = resolveClioDirs();
520
+ const counts = inspectNamingHistory({ stateDir: dirs.state, dataDir: dirs.data });
521
+ const errors = counts.filter((entry) => entry.error !== null);
522
+ if (errors.length > 0) {
523
+ return {
524
+ ok: false,
525
+ name: "naming immutable history",
526
+ detail: errors.map((entry) => `${entry.area}: ${entry.error}`).join("; ")
527
+ };
528
+ }
529
+ const legacy = counts.reduce((sum, entry) => sum + entry.legacyIdentifiers, 0);
530
+ return {
531
+ ok: true,
532
+ ...legacy > 0 ? { level: "warn" } : {},
533
+ name: "naming immutable history",
534
+ detail: `${counts.map((entry) => `${entry.area}=${entry.legacyIdentifiers}`).join("; ")} legacy identifiers; read-only retention, no rewrite`
535
+ };
536
+ }
537
+ function legacyGitRefsFinding(cwd) {
538
+ let refs;
539
+ try {
540
+ refs = execFileSync(
541
+ "git",
542
+ ["-C", cwd, "for-each-ref", "--format=%(refname:short)", "refs/heads/clio/task", "refs/heads/clio/compete"],
543
+ { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], timeout: 5e3 }
544
+ ).split("\n").map((entry) => entry.trim()).filter((entry) => /^clio\/(?:task|compete)\//u.test(entry)).sort();
545
+ } catch {
546
+ refs = [];
547
+ }
548
+ if (refs.length === 0) {
549
+ return { ok: true, name: "naming git refs", detail: "no legacy Clio Coder task or compete refs found" };
550
+ }
551
+ const shown = refs.slice(0, 20);
552
+ return {
553
+ ok: true,
554
+ level: "warn",
555
+ name: "naming git refs",
556
+ detail: `${refs.length} legacy refs retained (never auto-renamed): ${shown.join(", ")}${refs.length > shown.length ? ", \u2026" : ""}`
557
+ };
558
+ }
559
+ function legacyWorktreeMarkerFinding(cwd) {
560
+ const root = join2(cwd, ".clio-coder", "worktrees");
561
+ let legacy = 0;
562
+ try {
563
+ for (const entry of readdirSync2(root, { withFileTypes: true })) {
564
+ const candidates = entry.isFile() ? entry.name.endsWith(".task-owner.json") ? [join2(root, entry.name)] : [] : entry.isDirectory() ? [join2(root, entry.name, ".clio-coder-compete-owner.json")] : [];
565
+ for (const path2 of candidates) {
566
+ if (!existsSync2(path2)) continue;
567
+ const parsed = JSON.parse(readFileSync2(path2, "utf8"));
568
+ if (parsed.kind === "clio-task-worktree" || parsed.kind === "clio-compete-group") legacy += 1;
569
+ }
570
+ }
571
+ } catch {
572
+ }
573
+ return {
574
+ ok: true,
575
+ ...legacy > 0 ? { level: "warn" } : {},
576
+ name: "naming worktree markers",
577
+ detail: legacy === 0 ? "active worktree markers use canonical identifiers" : `${legacy} active legacy worktree markers retained for cleanup compatibility; no automatic rewrite`
578
+ };
579
+ }
580
+ function namingFootprintFindings(options = {}) {
581
+ const cwd = options.cwd ?? process.cwd();
582
+ const userSettingsPath = join2(resolveClioDirs().config, "settings.yaml");
583
+ const candidates = [
584
+ { label: "settings user", path: userSettingsPath, lock: true },
585
+ { label: "settings project", path: join2(cwd, ".clio-coder", "settings.yaml"), lock: false },
586
+ { label: "settings local", path: join2(cwd, ".clio-coder", "settings.local.yaml"), lock: false }
587
+ ];
588
+ const findings = [];
589
+ for (const candidate of candidates) {
590
+ const before = inspectSettingsNaming(candidate.path);
591
+ let fixed = false;
592
+ if (options.fix && before.error === null && before.legacy + before.conflicts > 0) {
593
+ try {
594
+ if (candidate.lock) withSettingsLock(() => migrateNamingSettingsFile(candidate.path));
595
+ else migrateNamingSettingsFile(candidate.path);
596
+ fixed = true;
597
+ } catch (error) {
598
+ findings.push({
599
+ ok: false,
600
+ name: `naming ${candidate.label}`,
601
+ detail: `--fix could not migrate ${candidate.path}: ${error instanceof Error ? error.message : String(error)}`
602
+ });
603
+ continue;
604
+ }
605
+ }
606
+ findings.push(settingsFinding(candidate.label, before, fixed));
607
+ }
608
+ findings.push(...namingEnvironmentFindings(options.yaziEnabled ?? true));
609
+ findings.push(...namingResourceFindings({ ...options, cwd }));
610
+ findings.push(yaziNamingFinding(Boolean(options.fix), options.yaziEnabled ?? true));
611
+ findings.push(toolMarkerNamingFinding(Boolean(options.fix)));
612
+ findings.push(immutableHistoryNamingFinding());
613
+ findings.push(legacyGitRefsFinding(cwd));
614
+ findings.push(legacyWorktreeMarkerFinding(cwd));
615
+ return findings;
616
+ }
617
+
618
+ // src/cli/doctor-panes.ts
619
+ init_esm_shims();
620
+ import { accessSync, constants } from "node:fs";
621
+ import { join as join3 } from "node:path";
622
+ var PANE_HOST_TOOL_ID = "herdr";
623
+ var REQUIRED_PROTOCOL = Math.max(...Object.values(MUX_METHOD_MIN_PROTOCOL));
624
+ function journalWritabilityFinding(root = join3(resolveClioDirs().state, "runs")) {
625
+ try {
626
+ accessSync(root, constants.W_OK);
627
+ return { ok: true, name: "panes journal dir", detail: `${root} is writable` };
628
+ } catch (error) {
629
+ return {
630
+ ok: true,
631
+ level: "warn",
632
+ name: "panes journal dir",
633
+ detail: `${root} is absent or not writable (${error instanceof Error ? error.message : String(error)}); \`clio-coder fleet view\` will have no transcript to follow`
634
+ };
635
+ }
636
+ }
637
+ async function panesFindings(env = process.env) {
638
+ let enabled = "off";
639
+ let layoutRow = {
640
+ ok: true,
641
+ name: "panes layout",
642
+ detail: "off"
643
+ };
644
+ try {
645
+ const panes = readSettings().interface.panes;
646
+ enabled = panes.enabled;
647
+ if (panes.layout !== "off") {
648
+ layoutRow = {
649
+ ok: true,
650
+ name: "panes layout",
651
+ detail: `${panes.layout} at boot (workers dock ${(panes.workers.ratio * 100).toFixed(0)}%, files dock ${(panes.files.ratio * 100).toFixed(0)}%)`
652
+ };
653
+ }
654
+ } catch {
655
+ }
656
+ if (enabled === "off") {
657
+ return [
658
+ {
659
+ ok: true,
660
+ name: "panes mode",
661
+ detail: "off by choice"
662
+ },
663
+ layoutRow
664
+ ];
665
+ }
666
+ const { detection, client } = await detectMux({ enabled, env });
667
+ const snapshot = client ? await client.snapshot().catch(() => null) : null;
668
+ await client?.close().catch(() => void 0);
669
+ const candidates = detection.candidates.length > 0 ? detection.candidates : resolveSocketCandidates(env);
670
+ const findings = [
671
+ {
672
+ ok: true,
673
+ level: detection.mode === "none" ? "warn" : "ok",
674
+ name: "panes mode",
675
+ detail: `${detection.mode} (panes.enabled=${enabled}); ${detection.reason}`
676
+ },
677
+ {
678
+ ok: true,
679
+ level: detection.socketPath === null ? "warn" : "ok",
680
+ name: "panes socket",
681
+ detail: detection.socketPath === null ? `no socket answered; tried ${candidates.length > 0 ? candidates.join(", ") : "no candidates"}` : `${detection.socketPath} answered a ping`
682
+ }
683
+ ];
684
+ const server = detection.server;
685
+ findings.push({
686
+ ok: true,
687
+ level: server === null || server.protocol < REQUIRED_PROTOCOL ? "warn" : "ok",
688
+ name: "panes protocol",
689
+ detail: server === null ? `unknown; Clio's optional methods need protocol ${REQUIRED_PROTOCOL} or newer` : `server ${server.version}, protocol ${server.protocol}; Clio's optional methods need ${REQUIRED_PROTOCOL} (${server.protocol >= REQUIRED_PROTOCOL ? "satisfied" : "toasts and agent focus fall back"})`
690
+ });
691
+ const entry = findPinnedTool(PANE_HOST_TOOL_ID);
692
+ findings.push(
693
+ entry === null ? {
694
+ ok: true,
695
+ level: "warn",
696
+ name: "panes binary",
697
+ detail: `${PANE_HOST_TOOL_ID} is not in the pinned tool registry`
698
+ } : {
699
+ ok: true,
700
+ level: toolStatus(entry).resolution.source === "none" ? "warn" : "ok",
701
+ name: "panes binary",
702
+ detail: describeResolution(toolStatus(entry))
703
+ }
704
+ );
705
+ findings.push(layoutRow);
706
+ const legacyOwnedPanes = snapshot?.panes.filter(
707
+ (pane) => pane.tokens.clio_owner === "clio:mux" && pane.tokens.clio_coder_owner !== "clio-coder:mux"
708
+ ).length ?? 0;
709
+ const staleWatchTitles = snapshot?.panes.filter(
710
+ (pane) => (pane.title === "clio watch" || pane.label === "clio watch") && (pane.tokens.clio_coder_owner === "clio-coder:mux" || pane.tokens.clio_owner === "clio:mux")
711
+ ).length ?? 0;
712
+ findings.push({
713
+ ok: true,
714
+ level: legacyOwnedPanes > 0 || staleWatchTitles > 0 ? "warn" : "ok",
715
+ name: "naming panes",
716
+ detail: legacyOwnedPanes > 0 || staleWatchTitles > 0 ? `${legacyOwnedPanes} panes carry only the legacy clio_owner=clio:mux token; ${staleWatchTitles} owned panes retain the stale 'clio watch' title; quit/cleanup recognizes both token schemes` : "no legacy Clio Coder pane ownership tokens or watch titles found"
717
+ });
718
+ findings.push(journalWritabilityFinding());
719
+ return findings;
720
+ }
721
+
722
+ // src/cli/doctor-slurm.ts
723
+ init_esm_shims();
724
+ import { tmpdir as tmpdir2 } from "node:os";
725
+ var PROBE_TIMEOUT_MS = 5e3;
726
+ var PROBE_MAX_OUTPUT_BYTES = 16 * 1024;
727
+ var GUIDE = "docs/guide/slurm.md";
728
+ async function run(binary, args, timeoutMs) {
729
+ const cwd = tmpdir2();
730
+ const result = await runCommandVector(binary, args, {
731
+ cwd,
732
+ workspaceRoot: cwd,
733
+ timeoutMs,
734
+ maxOutputBytes: PROBE_MAX_OUTPUT_BYTES
735
+ });
736
+ return { ok: !result.timedOut && result.exitCode === 0, text: `${result.stdout}
737
+ ${result.stderr}` };
738
+ }
739
+ async function clioKitDetail(binary, timeoutMs) {
740
+ const version = await run(binary, ["--version"], timeoutMs);
741
+ const versionLine2 = version.ok ? version.text.split(/\r?\n/).map((line) => line.trim()).find((line) => /\d+\.\d+/.test(line)) ?? "version not reported" : "version not reported (no --version)";
742
+ const listing = await run(binary, ["mcp-servers"], timeoutMs);
743
+ const ships = listing.ok ? /^\s*-?\s*slurm\s*$/mu.test(listing.text) ? "ships the slurm server" : "does not list a slurm server" : "its server listing could not be read";
744
+ return `${binary}: ${versionLine2}; ${ships}`;
745
+ }
746
+ function isSlurmServer(server) {
747
+ const words = [server.command, ...server.args];
748
+ const at = words.indexOf("mcp-server");
749
+ return at !== -1 && words[at + 1] === "slurm" && /(^|\/)clio-kit$/u.test(words[at - 1] ?? server.command);
750
+ }
751
+ async function slurmMcpFindings(options = {}) {
752
+ const timeoutMs = options.timeoutMs ?? PROBE_TIMEOUT_MS;
753
+ const clioKit = resolveOnPath(["clio-kit"]);
754
+ const sbatch = resolveOnPath(["sbatch"]);
755
+ const squeue = resolveOnPath(["squeue"]);
756
+ const declared = options.untouched === true ? [] : resolveMcpServers({
757
+ cwd: options.workspaceRoot ?? process.cwd(),
758
+ configDir: options.configDir ?? resolveClioDirs().config
759
+ }).servers.filter(isSlurmServer);
760
+ const kitPresent = clioKit.presence === "present" && clioKit.binary !== void 0;
761
+ const schedulerPresent = sbatch.presence === "present" || squeue.presence === "present";
762
+ if (!kitPresent && declared.length === 0 && !schedulerPresent) {
763
+ return [
764
+ {
765
+ ok: true,
766
+ level: "info",
767
+ name: "slurm mcp",
768
+ detail: `not set up: clio-kit, sbatch, and squeue are not on PATH and no mcp.yaml declares the Slurm server; see ${GUIDE}`
769
+ }
770
+ ];
771
+ }
772
+ const findings = [];
773
+ findings.push(
774
+ kitPresent ? { ok: true, level: "ok", name: "slurm clio-kit", detail: await clioKitDetail(clioKit.binary, timeoutMs) } : { ok: true, level: "info", name: "slurm clio-kit", detail: `not on PATH; see ${GUIDE}` }
775
+ );
776
+ findings.push(
777
+ declared.length > 0 ? {
778
+ ok: true,
779
+ level: declared.every((server) => server.trust.status === "trusted") ? "ok" : "info",
780
+ name: "slurm mcp server",
781
+ detail: declared.map((server) => {
782
+ const trust = server.trust.status === "trusted" ? `trusted, action class ${server.trust.actionClass}` : `${server.trust.status}; run clio-coder mcp trust ${server.id}`;
783
+ return `${server.id} declared in ${server.path} (${server.scope}, ${trust})`;
784
+ }).join("; ")
785
+ } : {
786
+ ok: true,
787
+ level: "info",
788
+ name: "slurm mcp server",
789
+ detail: `no mcp.yaml entry runs clio-kit mcp-server slurm; see ${GUIDE}`
790
+ }
791
+ );
792
+ const clients = [
793
+ ["sbatch", sbatch],
794
+ ["squeue", squeue]
795
+ ];
796
+ findings.push({
797
+ ok: true,
798
+ level: schedulerPresent ? "ok" : "info",
799
+ name: "slurm scheduler",
800
+ detail: clients.map(([name, found]) => `${name} ${found.presence === "present" ? found.binary : "not on PATH"}`).join("; ")
801
+ });
802
+ return findings;
803
+ }
804
+
805
+ // src/cli/doctor-state-size.ts
806
+ init_esm_shims();
807
+ import { lstatSync as lstatSync2, readdirSync as readdirSync3 } from "node:fs";
808
+ import { join as join4 } from "node:path";
809
+ function stateStorageFinding(stateDir = resolveClioDirs().state) {
810
+ let names;
811
+ try {
812
+ names = readdirSync3(stateDir);
813
+ } catch (error) {
814
+ return {
815
+ ok: false,
816
+ name: "state storage",
817
+ detail: `${stateDir} could not be measured: ${error instanceof Error ? error.message : String(error)}`
818
+ };
819
+ }
820
+ let total = 0;
821
+ let largest = null;
822
+ for (const name of names.sort()) {
823
+ const measured = measureEntry(join4(stateDir, name));
824
+ if (measured.error !== null) {
825
+ return { ok: false, name: "state storage", detail: measured.error };
826
+ }
827
+ total += measured.bytes;
828
+ if (largest === null || measured.bytes > largest.bytes) largest = { name, bytes: measured.bytes };
829
+ }
830
+ return {
831
+ ok: true,
832
+ name: "state storage",
833
+ detail: largest === null ? `${formatBytes(total)} (${total.toLocaleString("en-US")} bytes); largest contributor none` : `${formatBytes(total)} (${total.toLocaleString("en-US")} bytes); largest contributor ${largest.name} at ${formatBytes(largest.bytes)} (${largest.bytes.toLocaleString("en-US")} bytes)`
834
+ };
835
+ }
836
+ function measureEntry(path2) {
837
+ let stats;
838
+ try {
839
+ stats = lstatSync2(path2);
840
+ } catch (error) {
841
+ return {
842
+ bytes: 0,
843
+ error: `${path2} could not be inspected: ${error instanceof Error ? error.message : String(error)}`
844
+ };
845
+ }
846
+ if (!stats.isDirectory() || stats.isSymbolicLink()) return { bytes: stats.size, error: null };
847
+ let names;
848
+ try {
849
+ names = readdirSync3(path2);
850
+ } catch (error) {
851
+ return { bytes: 0, error: `${path2} could not be listed: ${error instanceof Error ? error.message : String(error)}` };
852
+ }
853
+ let bytes = 0;
854
+ for (const name of names) {
855
+ const child = measureEntry(join4(path2, name));
856
+ if (child.error !== null) return child;
857
+ bytes += child.bytes;
858
+ }
859
+ return { bytes, error: null };
860
+ }
861
+
862
+ // src/cli/doctor-task-worktrees.ts
863
+ init_esm_shims();
864
+ function ageLabel(createdAt, now) {
865
+ const created = createdAt === null ? Number.NaN : Date.parse(createdAt);
866
+ if (!Number.isFinite(created)) return "age unknown";
867
+ const minutes = Math.floor(Math.max(0, rawDurationMs(created, now)) / 6e4);
868
+ if (minutes < 60) return `${minutes}m old`;
869
+ const hours = Math.floor(minutes / 60);
870
+ return hours < 48 ? `${hours}h old` : `${Math.floor(hours / 24)}d old`;
871
+ }
872
+ function describe(entry, now) {
873
+ return `${entry.branch} (${entry.state}, ${ageLabel(entry.createdAt, now)}, ${entry.reason}): inspect with git log ${entry.base}..${entry.branch}; drop with git worktree remove --force ${entry.path} && git branch -D ${entry.branch} && rm ${entry.claimPath}`;
874
+ }
875
+ function configuredRoot() {
876
+ try {
877
+ const fleet = readSettings().fleet;
878
+ return { setting: fleet.worktrees.root, remoteEligible: fleet.nodes.length > 0 };
879
+ } catch {
880
+ return { setting: "disk", remoteEligible: false };
881
+ }
882
+ }
883
+ function formatGiB(bytes) {
884
+ return bytes === null ? "free space unknown" : `${(bytes / 1024 ** 3).toFixed(1)} GiB free`;
885
+ }
886
+ function taskWorktreeFindings(workspaceRoot, options = {}) {
887
+ const root = gitCheckoutRoot(workspaceRoot);
888
+ if (root === null) return [];
889
+ const now = options.now ?? Date.now();
890
+ const facts = options.facts ?? HOST_WORKTREE_ROOT_FACTS;
891
+ const configured = options.rootSetting === void 0 ? configuredRoot() : null;
892
+ const setting = options.rootSetting ?? configured?.setting ?? "disk";
893
+ const remoteEligible = options.remoteEligible ?? configured?.remoteEligible ?? false;
894
+ const resolved = resolveWorktreeRoot({ setting, projectRoot: root, remoteEligible, facts });
895
+ const measured = resolved.base ?? root;
896
+ const rootFinding = {
897
+ ok: true,
898
+ level: resolved.notice === void 0 ? "ok" : "warn",
899
+ name: "task worktree root",
900
+ detail: `fleet.worktrees.root ${setting}: ${resolved.parent} (${facts.filesystemType(measured) ?? "unknown filesystem"}, ${formatGiB(facts.freeBytes(measured))})${resolved.notice === void 0 ? "" : `; ${resolved.notice}`}`
901
+ };
902
+ const preserved = listPreservedTaskWorktrees(root, allowedWorktreeParents(setting, root, facts));
903
+ if (preserved.length === 0) {
904
+ return [rootFinding, { ok: true, name: "task worktrees", detail: "none preserved" }];
905
+ }
906
+ return [
907
+ rootFinding,
908
+ ...preserved.map((entry) => ({
909
+ ok: true,
910
+ // A run keeps its worktree on purpose; a crash leaving work behind wants a look.
911
+ level: entry.state === "settled" ? "info" : "warn",
912
+ name: `task worktree ${entry.runId}`,
913
+ detail: describe(entry, now)
914
+ }))
915
+ ];
916
+ }
917
+
918
+ // src/cli/doctor-toolchain.ts
919
+ init_esm_shims();
920
+ function yaziProfileFinding(enabled) {
921
+ if (!enabled) {
922
+ return {
923
+ ok: true,
924
+ name: "files pane profile",
925
+ detail: "disabled by settings"
926
+ };
927
+ }
928
+ try {
929
+ const profile = inspectCurrentYaziProfile();
930
+ return {
931
+ ok: true,
932
+ name: "files pane profile",
933
+ detail: describeYaziProfile(profile),
934
+ level: profile.state === "current" ? "ok" : "warn"
935
+ };
936
+ } catch (error) {
937
+ return {
938
+ ok: true,
939
+ name: "files pane profile",
940
+ level: "warn",
941
+ detail: `${yaziProfileDir()} could not be inspected (${error instanceof Error ? error.message : String(error)}); user config ${userYaziConfigDir()} is separate and untouched`
942
+ };
943
+ }
944
+ }
945
+ function toolchainFindings(options = {}) {
946
+ const panesEnabled = options.panesEnabled ?? true;
947
+ const filesEnabled = options.filesEnabled ?? true;
948
+ const tools = toolStatuses().map((status) => ({
949
+ ok: true,
950
+ name: `external tool ${status.id}`,
951
+ // Active integrations share the tools-status resolution sentence. Disabled
952
+ // experimental integrations stay neutral and do not advertise setup work.
953
+ detail: status.id === "herdr" && !panesEnabled || status.id === "yazi" && !filesEnabled ? "experimental integration disabled by settings" : describeResolution(status),
954
+ level: status.id === "herdr" && !panesEnabled || status.id === "yazi" && !filesEnabled ? "ok" : status.resolution.source === "none" ? "warn" : "ok"
955
+ }));
956
+ return [...tools, yaziProfileFinding(filesEnabled)];
957
+ }
958
+
959
+ // src/cli/doctor-validation-contract.ts
960
+ init_esm_shims();
961
+ function validationContractFinding(workspaceRoot = process.cwd()) {
962
+ const name = "validation contract";
963
+ const loaded = loadValidationContract(workspaceRoot);
964
+ if (!loaded.ok) {
965
+ return { ok: false, name, detail: `invalid: ${describeValidationContract(loaded)}; rigor default stays normal` };
966
+ }
967
+ if (loaded.contract === null) {
968
+ if ("advisory" in loaded) {
969
+ return { ok: true, name, level: "warn", detail: `markdown-only: ${describeValidationContract(loaded)}` };
970
+ }
971
+ return { ok: true, name, detail: "none at the workspace root; rigor default normal" };
972
+ }
973
+ const artifacts = loaded.contract.artifacts?.length ?? 0;
974
+ const validators = loaded.contract.validators?.length ?? 0;
975
+ return {
976
+ ok: true,
977
+ name,
978
+ detail: `valid: ${loaded.path} (version ${loaded.contract.version}, ${artifacts} artifact(s), ${validators} validator(s)); rigor default high`
979
+ };
980
+ }
981
+
982
+ // src/cli/doctor.ts
983
+ var HELP = `clio-coder doctor [--fix] [--json] [--deep [--tools-timeout <seconds>]]
984
+
985
+ Diagnose Clio Coder state without creating files. On a home Clio has never
986
+ written to, doctor says so in one row and exits 0. Use --fix to repair structure:
987
+ missing directories, missing template files, and credential permissions.
988
+ --fix also records the fleet preflight, which is what admits an SSH node to
989
+ dispatch for the current project root; plain doctor only reports it.
990
+ Settings are validated directly against the current schema.
991
+ Pass --json to emit a machine-readable report on stdout.
992
+ --deep adds a live tool-call probe on every configured target, which can load
993
+ a cold local model and releases it afterwards, and a dry run of the workspace
994
+ validation contract that resolves each validator command and reports whether
995
+ it would run without an approval ask at the configured autonomy. The dry run
996
+ executes nothing. --tools-timeout bounds each tool probe (default 120).
997
+ `;
998
+ function configuredAutonomy() {
999
+ try {
1000
+ return readSettings().safety.autonomy;
1001
+ } catch {
1002
+ return DEFAULT_AUTONOMY_LEVEL;
1003
+ }
1004
+ }
1005
+ async function deepFindings(untouched, workspaceRoot, deep) {
1006
+ const { contractDryRunFindings, deepToolProbeFindings } = await import("./doctor-deep-2EJQSHIZ.js");
1007
+ const probeOptions = deep.toolsTimeoutMs !== void 0 ? { toolsTimeoutMs: deep.toolsTimeoutMs } : {};
1008
+ let toolRows = [];
1009
+ if (deep.providers) {
1010
+ toolRows = await deepToolProbeFindings(deep.providers, probeOptions);
1011
+ } else if (!untouched) {
1012
+ let targetCount = 0;
1013
+ try {
1014
+ targetCount = readSettings().targets.length;
1015
+ } catch {
1016
+ }
1017
+ if (targetCount > 0) {
1018
+ const [{ loadDomains }, { ConfigDomainModule }, { ProvidersDomainModule }] = await Promise.all([
1019
+ import("./domain-loader-MB34FDPD.js"),
1020
+ import("./config-XE7XYZLU.js"),
1021
+ import("./providers-CMETPZNS.js")
1022
+ ]);
1023
+ const loaded = await loadDomains([ConfigDomainModule, ProvidersDomainModule]);
1024
+ try {
1025
+ const providers = loaded.getContract("providers");
1026
+ if (providers) toolRows = await deepToolProbeFindings(providers, probeOptions);
1027
+ } finally {
1028
+ await loaded.stop();
1029
+ }
1030
+ }
1031
+ }
1032
+ const contractRows = contractDryRunFindings({ workspaceRoot, autonomy: deep.autonomy ?? configuredAutonomy() });
1033
+ return [...toolRows, ...contractRows];
1034
+ }
1035
+ async function collectDoctorFindings(options = {}) {
1036
+ const fix = options.fix === true;
1037
+ const workspaceRoot = options.workspaceRoot ?? process.cwd();
1038
+ const untouched = !fix && isUninitializedHome();
1039
+ const findings = runDoctor({ fix });
1040
+ let panesEnabled = false;
1041
+ let filesEnabled = false;
1042
+ try {
1043
+ const panes = readSettings().interface.panes;
1044
+ panesEnabled = panes.enabled !== "off";
1045
+ filesEnabled = panesEnabled && panes.files.enabled;
1046
+ } catch {
1047
+ }
1048
+ const storageChecks = untouched ? [] : [stateStorageFinding()];
1049
+ const runtimeChecks = await runDoctorRuntimeChecks();
1050
+ const modelChecks = await runDoctorModelChecks();
1051
+ const interopChecks = untouched ? [] : await runDoctorInteropChecks();
1052
+ const fleetChecks = untouched ? [] : await runDoctorFleetChecks(workspaceRoot, { fix });
1053
+ const toolChecks = untouched ? [] : toolchainFindings({ panesEnabled, filesEnabled });
1054
+ const hpcChecks = await hpcToolchainFindings({ workspaceRoot });
1055
+ const slurmChecks = await slurmMcpFindings({ workspaceRoot, untouched });
1056
+ const paneChecks = untouched ? [] : await panesFindings();
1057
+ const namingChecks = namingFootprintFindings({ fix, yaziEnabled: filesEnabled });
1058
+ const contractChecks = [validationContractFinding(workspaceRoot)];
1059
+ const worktreeChecks = taskWorktreeFindings(workspaceRoot);
1060
+ const deepChecks = options.deep ? await deepFindings(untouched, workspaceRoot, options.deep) : [];
1061
+ return [
1062
+ ...findings,
1063
+ ...storageChecks,
1064
+ ...runtimeChecks,
1065
+ ...modelChecks,
1066
+ ...interopChecks,
1067
+ ...fleetChecks,
1068
+ ...toolChecks,
1069
+ ...hpcChecks,
1070
+ ...slurmChecks,
1071
+ ...paneChecks,
1072
+ ...namingChecks,
1073
+ ...contractChecks,
1074
+ ...worktreeChecks,
1075
+ ...deepChecks
1076
+ ];
1077
+ }
1078
+ function doctorNotice(findings) {
1079
+ const errors = findings.filter((f) => !f.ok).length;
1080
+ const warnings = findings.filter((f) => f.ok && f.level === "warn").length;
1081
+ const level = errors > 0 ? "error" : warnings > 0 ? "warn" : "success";
1082
+ const head = `doctor: ${findings.length} checks, ${errors} error(s), ${warnings} warning(s)`;
1083
+ return { level, text: `${head}
1084
+ ${formatDoctorReport([...findings])}`, findings };
1085
+ }
1086
+ function parseDoctorArgs(args) {
1087
+ const parsed = { fix: false, json: false, deep: false };
1088
+ for (let i = 0; i < args.length; i += 1) {
1089
+ const arg = args[i];
1090
+ if (arg === "--fix") parsed.fix = true;
1091
+ else if (arg === "--json") parsed.json = true;
1092
+ else if (arg === "--deep") parsed.deep = true;
1093
+ else if (arg === "--tools-timeout") {
1094
+ const value = args[i + 1];
1095
+ const seconds = value === void 0 ? Number.NaN : Number(value);
1096
+ if (!Number.isFinite(seconds) || seconds <= 0)
1097
+ throw new Error("--tools-timeout requires a positive number of seconds");
1098
+ parsed.toolsTimeoutMs = Math.round(seconds * 1e3);
1099
+ i += 1;
1100
+ } else throw new Error(`unknown flag: ${arg}`);
1101
+ }
1102
+ if (parsed.toolsTimeoutMs !== void 0 && !parsed.deep) throw new Error("--tools-timeout requires --deep");
1103
+ return parsed;
1104
+ }
1105
+ async function runDoctorCommand(args = []) {
1106
+ if (args.includes("--help") || args.includes("-h")) {
1107
+ process.stdout.write(HELP);
1108
+ return 0;
1109
+ }
1110
+ let parsed;
1111
+ try {
1112
+ parsed = parseDoctorArgs(args);
1113
+ } catch (error) {
1114
+ printError(error instanceof Error ? error.message : String(error));
1115
+ process.stderr.write(HELP);
1116
+ return 2;
1117
+ }
1118
+ const { fix, json } = parsed;
1119
+ const all = await collectDoctorFindings({
1120
+ fix,
1121
+ deep: parsed.deep ? parsed.toolsTimeoutMs !== void 0 ? { toolsTimeoutMs: parsed.toolsTimeoutMs } : {} : false
1122
+ });
1123
+ const ok = all.every((f) => f.ok);
1124
+ if (json) {
1125
+ process.stdout.write(`${JSON.stringify({ ok, fix, deep: parsed.deep, findings: all }, null, 2)}
1126
+ `);
1127
+ } else {
1128
+ process.stdout.write(`${formatDoctorReport(all)}
1129
+ `);
1130
+ }
1131
+ return ok ? 0 : 1;
1132
+ }
1133
+ export {
1134
+ collectDoctorFindings,
1135
+ doctorNotice,
1136
+ runDoctorCommand
1137
+ };
1138
+ //# sourceMappingURL=doctor-S5KZ2GTN.js.map