@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,1207 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ resolveSupportedWireModels,
4
+ runConfigureCommand,
5
+ runTargetRemove,
6
+ runTargetRename
7
+ } from "./chunk-EX57VVWW.js";
8
+ import "./chunk-HSQQFDB3.js";
9
+ import "./chunk-LK2FN5JY.js";
10
+ import "./chunk-N24R6KWS.js";
11
+ import {
12
+ column,
13
+ terminalColumns,
14
+ truncate,
15
+ wrapPlain
16
+ } from "./chunk-ZIDFQJRB.js";
17
+ import "./chunk-R2CT5YDO.js";
18
+ import "./chunk-4VDHLCF5.js";
19
+ import "./chunk-HOYZUKG7.js";
20
+ import "./chunk-QHSBROEW.js";
21
+ import "./chunk-NASYVWDB.js";
22
+ import "./chunk-IN7DGBVS.js";
23
+ import {
24
+ ensureClioState
25
+ } from "./chunk-NOCSM22Y.js";
26
+ import "./chunk-KW5HXKLJ.js";
27
+ import "./chunk-URCXX7WJ.js";
28
+ import "./chunk-U26XXPJS.js";
29
+ import "./chunk-T2MDZES3.js";
30
+ import "./chunk-4A6YRGV4.js";
31
+ import "./chunk-UCINIRHW.js";
32
+ import "./chunk-GGPF6LLE.js";
33
+ import "./chunk-VOYUCAQF.js";
34
+ import "./chunk-GGWI3OVM.js";
35
+ import "./chunk-LJRBX7QR.js";
36
+ import {
37
+ ConfigDomainModule
38
+ } from "./chunk-JPXLJSGR.js";
39
+ import "./chunk-3UW3KU4A.js";
40
+ import "./chunk-GN7QBEEI.js";
41
+ import "./chunk-E6IPKW2E.js";
42
+ import "./chunk-XMDBTYCH.js";
43
+ import "./chunk-TKDRT2DF.js";
44
+ import "./chunk-LQTKDAUO.js";
45
+ import "./chunk-ZU4JPCPR.js";
46
+ import "./chunk-SD7SHNDW.js";
47
+ import {
48
+ printError,
49
+ printOk
50
+ } from "./chunk-NBXFPI7U.js";
51
+ import {
52
+ source_default
53
+ } from "./chunk-SQZHXUB3.js";
54
+ import "./chunk-ZARZ4POR.js";
55
+ import "./chunk-UX2L5CUD.js";
56
+ import "./chunk-LAR7DX5E.js";
57
+ import "./chunk-DNCE23JJ.js";
58
+ import "./chunk-CDQ2UC6W.js";
59
+ import "./chunk-5LP5FNNR.js";
60
+ import "./chunk-NVPXXW2H.js";
61
+ import "./chunk-ZNUZ3EXD.js";
62
+ import "./chunk-DOUISWEE.js";
63
+ import "./chunk-VKHLUZNO.js";
64
+ import "./chunk-7QXCO3AF.js";
65
+ import "./chunk-T33IYTZM.js";
66
+ import "./chunk-BRCOSE7O.js";
67
+ import "./chunk-DE2LU267.js";
68
+ import "./chunk-733ZBT5P.js";
69
+ import "./chunk-6CTHLZFB.js";
70
+ import "./chunk-2KUBKL63.js";
71
+ import "./chunk-MYI32N4R.js";
72
+ import "./chunk-X6FLVUM5.js";
73
+ import {
74
+ ProvidersDomainModule
75
+ } from "./chunk-EYTLV3W3.js";
76
+ import "./chunk-MCJKEGHO.js";
77
+ import "./chunk-DVTBERFY.js";
78
+ import {
79
+ isDispatchEligibleRuntime,
80
+ isOrchestratorEligibleRuntime
81
+ } from "./chunk-6EJYVCTN.js";
82
+ import {
83
+ endpointCapacityForStatus
84
+ } from "./chunk-W53XSRQE.js";
85
+ import "./chunk-6W75D37F.js";
86
+ import {
87
+ registerBuiltinRuntimes
88
+ } from "./chunk-77DCC6JZ.js";
89
+ import "./chunk-SYF7FVBL.js";
90
+ import "./chunk-Z4GLJ6J4.js";
91
+ import "./chunk-VNBICSS2.js";
92
+ import {
93
+ closestRuntimeId,
94
+ getRuntimeRegistry
95
+ } from "./chunk-2WVPJF3Z.js";
96
+ import "./chunk-27YTM2CV.js";
97
+ import "./chunk-L7G7K4I2.js";
98
+ import "./chunk-ALJWT6O6.js";
99
+ import "./chunk-I4Y4WKZR.js";
100
+ import "./chunk-UZVYEF57.js";
101
+ import "./chunk-EKV4UBCM.js";
102
+ import "./chunk-UHW5V7HC.js";
103
+ import "./chunk-LNOXCGN2.js";
104
+ import "./chunk-BJH6WFIB.js";
105
+ import "./chunk-5EQO5NWP.js";
106
+ import "./chunk-VYRQHORQ.js";
107
+ import "./chunk-P4GNZPXO.js";
108
+ import "./chunk-R2P2U3ZS.js";
109
+ import "./chunk-NTTS3O53.js";
110
+ import "./chunk-C2CPOIH2.js";
111
+ import "./chunk-MGLRTOCK.js";
112
+ import "./chunk-M4KFUXS7.js";
113
+ import "./chunk-V4XJWDHR.js";
114
+ import {
115
+ bindAgentProfileInSettings,
116
+ readSettings,
117
+ removeFleetProfileFromSettings,
118
+ setFleetProfileInSettings,
119
+ updateSettings,
120
+ useTargetInSettings
121
+ } from "./chunk-56XP4FJU.js";
122
+ import {
123
+ THINKING_LEVELS
124
+ } from "./chunk-QZTTRSJE.js";
125
+ import "./chunk-U2MSJ57E.js";
126
+ import "./chunk-C27U2TYG.js";
127
+ import "./chunk-B5GGDIHT.js";
128
+ import {
129
+ warnLegacyNaming
130
+ } from "./chunk-O63U2I6I.js";
131
+ import "./chunk-M2IPMWCN.js";
132
+ import "./chunk-XS2QPZJE.js";
133
+ import "./chunk-6EXUUOSN.js";
134
+ import "./chunk-ZTNFYMIO.js";
135
+ import "./chunk-53OXPRI6.js";
136
+ import "./chunk-2EMLKSCX.js";
137
+ import "./chunk-KMF54VH3.js";
138
+ import "./chunk-DVJL77SO.js";
139
+ import "./chunk-SER7RRAE.js";
140
+ import "./chunk-GH5ZR6JP.js";
141
+ import "./chunk-TK2BMCBZ.js";
142
+ import "./chunk-CTTI7G3T.js";
143
+ import "./chunk-ZZFWWYLX.js";
144
+ import "./chunk-2VLYHHFT.js";
145
+ import "./chunk-3JHUFKG7.js";
146
+ import "./chunk-ZPST2KQO.js";
147
+ import {
148
+ loadDomains
149
+ } from "./chunk-L4APUGCT.js";
150
+ import "./chunk-DCGHJQ2U.js";
151
+ import "./chunk-JQCLXSFI.js";
152
+ import "./chunk-PS6JAWJZ.js";
153
+ import "./chunk-FD2I4KBR.js";
154
+ import {
155
+ init_esm_shims
156
+ } from "./chunk-ECBHH7LU.js";
157
+
158
+ // src/cli/targets.ts
159
+ init_esm_shims();
160
+ var HEADER = ["id", "tier", "runtime", "auth", "url", "model", "health", "caps", "notes"];
161
+ var HELP = `clio-coder targets
162
+
163
+ List and manage configured model targets.
164
+ --reasoning and --tools opt into generating qualification and can load models.
165
+
166
+ Usage:
167
+ clio-coder targets [--json] [--probe [--reasoning] [--tools [--tools-timeout <seconds>]]] [--target <id>]
168
+ clio-coder targets add [configure flags]
169
+ clio-coder targets use <id> [--model <id>] [--orchestrator-model <id>] [--background-model <id>]
170
+ [--fleet-target <id>] [--fleet-model <id>]
171
+ clio-coder targets fleet [--json]
172
+ clio-coder targets profile list [--json]
173
+ clio-coder targets profile set <name> <id> [--model <id>] [--thinking <level>]
174
+ clio-coder targets profile <name> <id> [--model <id>] [--thinking <level>]
175
+ clio-coder targets profile remove <name> [--force]
176
+ clio-coder targets profile rename <old> <new>
177
+ clio-coder targets profile bind <agentId> <profileName>
178
+ clio-coder targets profile unbind <agentId>
179
+ clio-coder targets profile bindings [--json]
180
+ clio-coder targets convert <id> --runtime <runtimeId>
181
+ clio-coder targets remove <id>
182
+ clio-coder targets rename <old> <new>
183
+ `;
184
+ var USE_USAGE = "clio-coder targets use <id> [--model <id>] [--orchestrator-model <id>] [--background-model <id>] [--fleet-target <id>] [--fleet-model <id>]";
185
+ function wantsHelp(args) {
186
+ return args.includes("--help") || args.includes("-h");
187
+ }
188
+ function printUsage(usage) {
189
+ process.stdout.write(`usage: ${usage}
190
+ `);
191
+ return 0;
192
+ }
193
+ var VALID_THINKING = new Set(THINKING_LEVELS);
194
+ var PROFILE_SUBCOMMANDS = /* @__PURE__ */ new Set(["list", "set", "remove", "rename", "bind", "unbind", "bindings"]);
195
+ function parseListArgs(args) {
196
+ const parsed = { json: false, probe: false, reasoning: false, tools: false, help: false };
197
+ for (let i = 0; i < args.length; i += 1) {
198
+ const arg = args[i];
199
+ if (arg === "--help" || arg === "-h") {
200
+ parsed.help = true;
201
+ continue;
202
+ }
203
+ if (arg === "--json") {
204
+ parsed.json = true;
205
+ continue;
206
+ }
207
+ if (arg === "--probe") {
208
+ parsed.probe = true;
209
+ continue;
210
+ }
211
+ if (arg === "--reasoning") {
212
+ parsed.reasoning = true;
213
+ continue;
214
+ }
215
+ if (arg === "--tools") {
216
+ parsed.tools = true;
217
+ continue;
218
+ }
219
+ if (arg === "--tools-timeout") {
220
+ const value = args[i + 1];
221
+ const seconds = value === void 0 ? Number.NaN : Number(value);
222
+ if (!Number.isFinite(seconds) || seconds <= 0)
223
+ throw new Error("--tools-timeout requires a positive number of seconds");
224
+ parsed.toolsTimeoutMs = Math.round(seconds * 1e3);
225
+ i += 1;
226
+ continue;
227
+ }
228
+ if (arg === "--target") {
229
+ const value = args[i + 1];
230
+ if (!value) throw new Error("--target requires a value");
231
+ parsed.target = value;
232
+ i += 1;
233
+ continue;
234
+ }
235
+ if (arg?.startsWith("-")) throw new Error(`unknown flag: ${arg}`);
236
+ throw new Error(`unknown targets argument: ${arg}`);
237
+ }
238
+ if (parsed.reasoning && !parsed.probe) throw new Error("--reasoning requires --probe");
239
+ if (parsed.tools && !parsed.probe) throw new Error("--tools requires --probe");
240
+ if (parsed.toolsTimeoutMs !== void 0 && !parsed.tools) throw new Error("--tools-timeout requires --tools");
241
+ return parsed;
242
+ }
243
+ async function runTargetsCommand(args) {
244
+ const subcommand = args[0];
245
+ if (subcommand === "add") return runConfigureCommand(args.slice(1));
246
+ if (subcommand === "use") return runUse(args.slice(1));
247
+ if (subcommand === "fleet" || subcommand === "workers") return runFleet(args.slice(1));
248
+ if (subcommand === "profile" || subcommand === "worker") return runProfile(args.slice(1));
249
+ if (subcommand === "remove") return runRemove(args.slice(1));
250
+ if (subcommand === "rename") return runRename(args.slice(1));
251
+ if (subcommand === "convert") return runConvert(args.slice(1));
252
+ if (subcommand === "--help" || subcommand === "-h") {
253
+ process.stdout.write(HELP);
254
+ return 0;
255
+ }
256
+ let parsed;
257
+ try {
258
+ parsed = parseListArgs(args);
259
+ } catch (error) {
260
+ printError(error instanceof Error ? error.message : String(error));
261
+ process.stderr.write(HELP);
262
+ return 2;
263
+ }
264
+ if (parsed.help) {
265
+ process.stdout.write(HELP);
266
+ return 0;
267
+ }
268
+ ensureClioState();
269
+ const loaded = await loadDomains([ConfigDomainModule, ProvidersDomainModule]);
270
+ const providers = loaded.getContract("providers");
271
+ if (!providers) {
272
+ process.stderr.write("targets: provider domain not loaded\n");
273
+ await loaded.stop();
274
+ return 1;
275
+ }
276
+ if (parsed.probe) {
277
+ try {
278
+ const probeOptions = {
279
+ reasoning: parsed.reasoning,
280
+ tools: parsed.tools,
281
+ ...parsed.toolsTimeoutMs !== void 0 ? { toolsTimeoutMs: parsed.toolsTimeoutMs } : {}
282
+ };
283
+ if (parsed.target !== void 0) await providers.probeTarget(parsed.target, probeOptions);
284
+ else await providers.probeAllLive(probeOptions);
285
+ } catch (err) {
286
+ process.stderr.write(`targets: live probe failed: ${err instanceof Error ? err.message : String(err)}
287
+ `);
288
+ }
289
+ }
290
+ const entries = providers.list();
291
+ if (parsed.target !== void 0 && !entries.some((e) => e.target.id === parsed.target)) {
292
+ printError(
293
+ `no target with id ${parsed.target}. ${entries.length} target${entries.length === 1 ? "" : "s"} configured.`
294
+ );
295
+ await loaded.stop();
296
+ return 2;
297
+ }
298
+ const filtered = parsed.target ? entries.filter((e) => e.target.id === parsed.target) : entries;
299
+ if (parsed.json) {
300
+ const settings = readSettings();
301
+ const candidateFor = (status) => {
302
+ const orchestratorModel = settings.chat?.target === status.target.id ? settings.chat?.model ?? null : null;
303
+ return orchestratorModel ?? status.target.defaultModel ?? null;
304
+ };
305
+ const rows = filtered.map((status) => {
306
+ const candidate = candidateFor(status);
307
+ const detectedReasoning = candidate ? providers.getDetectedReasoning(status.target.id, candidate) : null;
308
+ return serializeStatus(status, { detectedReasoning, candidateModelId: candidate });
309
+ });
310
+ process.stdout.write(`${JSON.stringify({ targets: rows }, null, 2)}
311
+ `);
312
+ } else if (filtered.length === 0) {
313
+ process.stdout.write(
314
+ "no targets configured. run `clio-coder configure` or `clio-coder targets add` to register one.\n"
315
+ );
316
+ } else {
317
+ renderTable(providers, filtered);
318
+ }
319
+ await loaded.stop();
320
+ return 0;
321
+ }
322
+ function parseUseArgs(args) {
323
+ const id = args[0];
324
+ if (!id) return null;
325
+ const parsed = { id };
326
+ for (let i = 1; i < args.length; i += 1) {
327
+ const arg = args[i];
328
+ const need = () => {
329
+ const value = args[i + 1];
330
+ if (!value) throw new Error(`${arg} requires a value`);
331
+ i += 1;
332
+ return value;
333
+ };
334
+ if (arg === "--model") {
335
+ parsed.model = need();
336
+ continue;
337
+ }
338
+ if (arg === "--orchestrator-model") {
339
+ parsed.orchestratorModel = need();
340
+ continue;
341
+ }
342
+ if (arg === "--background-model") {
343
+ parsed.backgroundModel = need();
344
+ continue;
345
+ }
346
+ if (arg === "--fleet-model") {
347
+ parsed.workerModel = need();
348
+ continue;
349
+ }
350
+ if (arg === "--fleet-target") {
351
+ parsed.workerTarget = need();
352
+ continue;
353
+ }
354
+ if (arg?.startsWith("-")) throw new Error(`unknown flag: ${arg}`);
355
+ throw new Error(`unknown targets use argument: ${arg}`);
356
+ }
357
+ return parsed;
358
+ }
359
+ async function runUse(args) {
360
+ if (wantsHelp(args)) return printUsage(USE_USAGE);
361
+ let parsed;
362
+ try {
363
+ parsed = parseUseArgs(args);
364
+ } catch (error) {
365
+ printError(error instanceof Error ? error.message : String(error));
366
+ return 2;
367
+ }
368
+ if (!parsed) {
369
+ printError(`usage: ${USE_USAGE}`);
370
+ return 2;
371
+ }
372
+ ensureClioState();
373
+ const settings = readSettings();
374
+ const target = settings.targets.find((entry) => entry.id === parsed.id);
375
+ if (!target) {
376
+ printError(`no target with id ${parsed.id}`);
377
+ return 1;
378
+ }
379
+ const registry = getRuntimeRegistry();
380
+ if (registry.list().length === 0) registerBuiltinRuntimes(registry);
381
+ const options = {
382
+ ...parsed.model !== void 0 ? { model: parsed.model } : {},
383
+ ...parsed.orchestratorModel !== void 0 ? { orchestratorModel: parsed.orchestratorModel } : {},
384
+ ...parsed.workerModel !== void 0 ? { workerModel: parsed.workerModel } : {},
385
+ ...parsed.workerTarget !== void 0 ? { workerTargetId: parsed.workerTarget } : {},
386
+ ...parsed.backgroundModel !== void 0 ? { backgroundModel: parsed.backgroundModel } : {}
387
+ };
388
+ const candidate = structuredClone(settings);
389
+ const selection = useTargetInSettings(candidate, target.id, options);
390
+ if (!selection) {
391
+ printError(`no target with id ${parsed.workerTarget}`);
392
+ return 1;
393
+ }
394
+ const labels = {
395
+ chat: "chat",
396
+ fleet: "fleet dispatch",
397
+ memory: "background memory"
398
+ };
399
+ const routes = { chat: candidate.chat, fleet: candidate.fleet.default, memory: candidate.context.memory };
400
+ const inventories = /* @__PURE__ */ new Map();
401
+ const checkedTargets = /* @__PURE__ */ new Map();
402
+ for (const role of selection.roles) {
403
+ const route = routes[role];
404
+ const selectedTarget = candidate.targets.find((entry) => entry.id === route.target);
405
+ if (!selectedTarget) throw new Error("selected target disappeared");
406
+ const runtime = registry.get(selectedTarget.runtime);
407
+ if (!runtime || !(role === "fleet" ? isDispatchEligibleRuntime(runtime) : isOrchestratorEligibleRuntime(runtime))) {
408
+ printError(
409
+ `cannot use target '${selectedTarget.id}' for ${labels[role]}: runtime '${selectedTarget.runtime}' is not eligible`
410
+ );
411
+ return 1;
412
+ }
413
+ checkedTargets.set(selectedTarget.id, JSON.stringify(selectedTarget));
414
+ if (route.model === null) continue;
415
+ let inventory = inventories.get(selectedTarget.id);
416
+ if (!inventory) {
417
+ inventory = await resolveSupportedWireModels(runtime, selectedTarget, selectedTarget);
418
+ inventories.set(selectedTarget.id, inventory);
419
+ }
420
+ if (inventory.models.length > 0 && !inventory.models.includes(route.model)) {
421
+ printError(
422
+ `target '${selectedTarget.id}' does not list model '${route.model}' for ${labels[role]} (${inventory.source} inventory). Use an exact listed model id: ${inventory.models.slice(0, 10).join(", ")}`
423
+ );
424
+ return 1;
425
+ }
426
+ if (inventory.models.length === 0) {
427
+ process.stderr.write(
428
+ `warning: could not verify model '${route.model}' for ${labels[role]}: target '${selectedTarget.id}' returned no model list; saving the id as written
429
+ `
430
+ );
431
+ } else if (inventory.source === "cache" || inventory.source === "legacy") {
432
+ process.stderr.write(
433
+ `warning: using ${inventory.source} model inventory for target '${selectedTarget.id}'; live availability was not verified
434
+ `
435
+ );
436
+ }
437
+ }
438
+ let changedRoles = [];
439
+ try {
440
+ updateSettings((fresh) => {
441
+ for (const [id, descriptor] of checkedTargets) {
442
+ if (JSON.stringify(fresh.targets.find((entry) => entry.id === id)) !== descriptor) {
443
+ throw new Error(`target '${id}' changed while checking models; retry targets use`);
444
+ }
445
+ }
446
+ const applied = useTargetInSettings(fresh, target.id, options);
447
+ if (!applied) throw new Error("target changed while checking models; retry targets use");
448
+ changedRoles = applied.changedRoles;
449
+ });
450
+ } catch (error) {
451
+ printError(error instanceof Error ? error.message : String(error));
452
+ return 1;
453
+ }
454
+ const changedByTarget = /* @__PURE__ */ new Map();
455
+ for (const role of changedRoles) {
456
+ const id = routes[role].target;
457
+ const names = changedByTarget.get(id) ?? [];
458
+ names.push(labels[role]);
459
+ changedByTarget.set(id, names);
460
+ }
461
+ printOk(
462
+ changedRoles.length === 0 ? "no role settings changed" : `using ${[...changedByTarget].map(([id, names]) => `target ${id} for ${names.join(" and ")}`).join("; ")}`
463
+ );
464
+ return 0;
465
+ }
466
+ function parseWorkerArgs(args) {
467
+ const name = args[0];
468
+ const targetId = args[1];
469
+ if (!name || !targetId) return null;
470
+ const parsed = { name, targetId };
471
+ for (let i = 2; i < args.length; i += 1) {
472
+ const arg = args[i];
473
+ const need = () => {
474
+ const value = args[i + 1];
475
+ if (!value) throw new Error(`${arg} requires a value`);
476
+ i += 1;
477
+ return value;
478
+ };
479
+ if (arg === "--model") {
480
+ parsed.model = need();
481
+ continue;
482
+ }
483
+ if (arg === "--thinking") {
484
+ const value = need();
485
+ if (!VALID_THINKING.has(value)) {
486
+ throw new Error("--thinking must be one of: off|minimal|low|medium|high|xhigh|max");
487
+ }
488
+ parsed.thinkingLevel = value;
489
+ continue;
490
+ }
491
+ if (arg?.startsWith("-")) throw new Error(`unknown flag: ${arg}`);
492
+ throw new Error(`unknown targets profile argument: ${arg}`);
493
+ }
494
+ return parsed;
495
+ }
496
+ function requireTrimmed(value, label) {
497
+ const trimmed = value?.trim() ?? "";
498
+ if (trimmed.length === 0) throw new Error(`${label} must be non-empty`);
499
+ return trimmed;
500
+ }
501
+ function parseProfileRemoveArgs(args) {
502
+ const name = args[0];
503
+ if (!name) return null;
504
+ const parsed = { name: name.trim(), force: false };
505
+ if (parsed.name.length === 0) throw new Error("profile name must be non-empty");
506
+ for (let i = 1; i < args.length; i += 1) {
507
+ const arg = args[i];
508
+ if (arg === "--force") {
509
+ parsed.force = true;
510
+ continue;
511
+ }
512
+ if (arg?.startsWith("-")) throw new Error(`unknown flag: ${arg}`);
513
+ throw new Error(`unknown targets profile remove argument: ${arg}`);
514
+ }
515
+ return parsed;
516
+ }
517
+ function parseProfileRenameArgs(args) {
518
+ if (args.length !== 2) return null;
519
+ const oldName = requireTrimmed(args[0], "old profile name");
520
+ const newName = requireTrimmed(args[1], "new profile name");
521
+ return { oldName, newName };
522
+ }
523
+ function parseProfileBindArgs(args) {
524
+ if (args.length !== 2) return null;
525
+ return {
526
+ agentId: requireTrimmed(args[0], "agent id"),
527
+ profileName: requireTrimmed(args[1], "profile name")
528
+ };
529
+ }
530
+ function resolveDispatchProfileTarget(settings, targetId, role = "fleet profile target") {
531
+ const target = settings.targets.find((entry) => entry.id === targetId);
532
+ if (!target) {
533
+ printError(`no target with id ${targetId}`);
534
+ return { exitCode: 2 };
535
+ }
536
+ const registry = getRuntimeRegistry();
537
+ if (registry.list().length === 0) registerBuiltinRuntimes(registry);
538
+ const runtime = registry.get(target.runtime);
539
+ if (!runtime) {
540
+ printError(`cannot use target '${target.id}' as ${role} because runtime '${target.runtime}' is not registered`);
541
+ return { exitCode: 1 };
542
+ }
543
+ if (!isDispatchEligibleRuntime(runtime)) {
544
+ printError(
545
+ `cannot use target '${target.id}' as ${role} because runtime '${runtime.id}' is not a fleet-dispatch target`
546
+ );
547
+ return { exitCode: 1 };
548
+ }
549
+ return { target };
550
+ }
551
+ function runProfileSet(args, usage = "clio-coder targets profile <name> <id> [--model <id>] [--thinking <level>]") {
552
+ if (wantsHelp(args)) return printUsage(usage);
553
+ let parsed;
554
+ try {
555
+ parsed = parseWorkerArgs(args);
556
+ } catch (error) {
557
+ printError(error instanceof Error ? error.message : String(error));
558
+ return 2;
559
+ }
560
+ if (!parsed) {
561
+ printError(`usage: ${usage}`);
562
+ return 2;
563
+ }
564
+ ensureClioState();
565
+ const settings = readSettings();
566
+ const resolved = resolveDispatchProfileTarget(settings, parsed.targetId);
567
+ if ("exitCode" in resolved) return resolved.exitCode;
568
+ const { target } = resolved;
569
+ updateSettings((fresh) => {
570
+ setFleetProfileInSettings(fresh, parsed.name, target.id, {
571
+ ...parsed.model !== void 0 ? { model: parsed.model } : {},
572
+ ...parsed.thinkingLevel !== void 0 ? { thinkingLevel: parsed.thinkingLevel } : {}
573
+ });
574
+ });
575
+ printOk(`fleet profile ${parsed.name} -> ${target.id}`);
576
+ return 0;
577
+ }
578
+ function runProfileRemove(args) {
579
+ if (wantsHelp(args)) return printUsage("clio-coder targets profile remove <name> [--force]");
580
+ let parsed;
581
+ try {
582
+ parsed = parseProfileRemoveArgs(args);
583
+ } catch (error) {
584
+ printError(error instanceof Error ? error.message : String(error));
585
+ return 2;
586
+ }
587
+ if (!parsed) {
588
+ printError("usage: clio-coder targets profile remove <name> [--force]");
589
+ return 2;
590
+ }
591
+ ensureClioState();
592
+ const settings = readSettings();
593
+ if (!settings.fleet.profiles[parsed.name]) {
594
+ printError(`no fleet profile named ${parsed.name}`);
595
+ return 1;
596
+ }
597
+ const boundAgents = Object.entries(settings.fleet.agentProfiles).filter(([, profileName]) => profileName === parsed.name).map(([agentId]) => agentId);
598
+ if (boundAgents.length > 0 && !parsed.force) {
599
+ printError(
600
+ `fleet profile ${parsed.name} is bound to ${boundAgents.length} agent${boundAgents.length === 1 ? "" : "s"}; use --force to remove profile and bindings`,
601
+ boundAgents.join(", ")
602
+ );
603
+ return 1;
604
+ }
605
+ let removedBindings = 0;
606
+ updateSettings((fresh) => {
607
+ removedBindings = removeFleetProfileFromSettings(fresh, parsed.name);
608
+ });
609
+ printOk(
610
+ `removed fleet profile ${parsed.name} (${removedBindings} binding${removedBindings === 1 ? "" : "s"} removed)`
611
+ );
612
+ return 0;
613
+ }
614
+ function runProfileRename(args) {
615
+ if (wantsHelp(args)) return printUsage("clio-coder targets profile rename <old> <new>");
616
+ let parsed;
617
+ try {
618
+ parsed = parseProfileRenameArgs(args);
619
+ } catch (error) {
620
+ printError(error instanceof Error ? error.message : String(error));
621
+ return 2;
622
+ }
623
+ if (!parsed) {
624
+ printError("usage: clio-coder targets profile rename <old> <new>");
625
+ return 2;
626
+ }
627
+ if (parsed.oldName === parsed.newName) {
628
+ printError("old and new profile names are identical");
629
+ return 2;
630
+ }
631
+ ensureClioState();
632
+ const settings = readSettings();
633
+ if (!settings.fleet.profiles[parsed.oldName]) {
634
+ printError(`no fleet profile named ${parsed.oldName}`);
635
+ return 1;
636
+ }
637
+ if (settings.fleet.profiles[parsed.newName]) {
638
+ printError(`fleet profile already exists: ${parsed.newName}`);
639
+ return 2;
640
+ }
641
+ let updatedBindings = 0;
642
+ updateSettings((fresh) => {
643
+ const profile = fresh.fleet.profiles[parsed.oldName];
644
+ if (!profile) return;
645
+ fresh.fleet.profiles[parsed.newName] = profile;
646
+ delete fresh.fleet.profiles[parsed.oldName];
647
+ for (const [agentId, profileName] of Object.entries(fresh.fleet.agentProfiles)) {
648
+ if (profileName !== parsed.oldName) continue;
649
+ fresh.fleet.agentProfiles[agentId] = parsed.newName;
650
+ updatedBindings += 1;
651
+ }
652
+ });
653
+ printOk(
654
+ `renamed fleet profile ${parsed.oldName} to ${parsed.newName} (${updatedBindings} binding${updatedBindings === 1 ? "" : "s"} updated)`
655
+ );
656
+ return 0;
657
+ }
658
+ function runProfileBind(args) {
659
+ if (wantsHelp(args)) return printUsage("clio-coder targets profile bind <agentId> <profileName>");
660
+ let parsed;
661
+ try {
662
+ parsed = parseProfileBindArgs(args);
663
+ } catch (error) {
664
+ printError(error instanceof Error ? error.message : String(error));
665
+ return 2;
666
+ }
667
+ if (!parsed) {
668
+ printError("usage: clio-coder targets profile bind <agentId> <profileName>");
669
+ return 2;
670
+ }
671
+ ensureClioState();
672
+ const settings = readSettings();
673
+ if (settings.integrations.externalAgents.entries.some((agent) => agent.id === parsed.agentId)) {
674
+ printError(
675
+ `cannot bind ACP delegation agent '${parsed.agentId}' to a fleet profile; ACP agents use their own runner and ignore native target routing`
676
+ );
677
+ return 1;
678
+ }
679
+ if (!settings.fleet.profiles[parsed.profileName]) {
680
+ process.stderr.write(
681
+ `${source_default.yellow("warning:")} fleet profile '${parsed.profileName}' is not configured; binding will resolve after the profile exists
682
+ `
683
+ );
684
+ }
685
+ updateSettings((fresh) => {
686
+ bindAgentProfileInSettings(fresh, parsed.agentId, parsed.profileName);
687
+ });
688
+ printOk(`bound agent ${parsed.agentId} -> fleet profile ${parsed.profileName}`);
689
+ return 0;
690
+ }
691
+ function runProfileUnbind(args) {
692
+ if (wantsHelp(args)) return printUsage("clio-coder targets profile unbind <agentId>");
693
+ let parsed;
694
+ try {
695
+ if (args.length !== 1) throw new Error("usage: clio-coder targets profile unbind <agentId>");
696
+ parsed = requireTrimmed(args[0], "agent id");
697
+ } catch (error) {
698
+ printError(error instanceof Error ? error.message : String(error));
699
+ return 2;
700
+ }
701
+ ensureClioState();
702
+ const settings = readSettings();
703
+ if (!settings.fleet.agentProfiles[parsed]) {
704
+ printError(`agent ${parsed} is not bound to a fleet profile`);
705
+ return 1;
706
+ }
707
+ updateSettings((fresh) => {
708
+ delete fresh.fleet.agentProfiles[parsed];
709
+ });
710
+ printOk(`unbound agent ${parsed}`);
711
+ return 0;
712
+ }
713
+ function runProfileBindings(args) {
714
+ let json = false;
715
+ for (const arg of args) {
716
+ if (arg === "--json") {
717
+ json = true;
718
+ continue;
719
+ }
720
+ if (arg === "--help" || arg === "-h") {
721
+ process.stdout.write("usage: clio-coder targets profile bindings [--json]\n");
722
+ return 0;
723
+ }
724
+ printError(`unknown targets profile bindings argument: ${arg}`);
725
+ return 2;
726
+ }
727
+ ensureClioState();
728
+ const settings = readSettings();
729
+ const rows = Object.entries(settings.fleet.agentProfiles).sort(([a], [b]) => a.localeCompare(b)).map(([agentId, profileName]) => {
730
+ const profile = settings.fleet.profiles[profileName];
731
+ return {
732
+ agentId,
733
+ profile: profileName,
734
+ target: profile?.target ?? null,
735
+ model: profile?.model ?? null,
736
+ warning: profile ? null : "missing profile"
737
+ };
738
+ });
739
+ if (json) {
740
+ process.stdout.write(`${JSON.stringify(rows, null, 2)}
741
+ `);
742
+ return 0;
743
+ }
744
+ if (rows.length === 0) {
745
+ process.stdout.write(
746
+ "no agent profile bindings configured. run `clio-coder targets profile bind <agentId> <profile>` to add one.\n"
747
+ );
748
+ return 0;
749
+ }
750
+ process.stdout.write(
751
+ `${column("agent", 18)}${column("profile", 20)}${column("target", 16)}${column("model", 30)}warning
752
+ `
753
+ );
754
+ for (const row of rows) {
755
+ process.stdout.write(
756
+ `${column(row.agentId, 18)}${column(row.profile, 20)}${column(row.target ?? "-", 16)}${column(row.model ?? "-", 30)}${row.warning ?? "-"}
757
+ `
758
+ );
759
+ }
760
+ return 0;
761
+ }
762
+ function runProfile(args) {
763
+ const subcommand = args[0];
764
+ if (subcommand && PROFILE_SUBCOMMANDS.has(subcommand)) {
765
+ switch (subcommand) {
766
+ case "list":
767
+ return runFleet(args.slice(1), "clio-coder targets profile list [--json]");
768
+ case "set":
769
+ return runProfileSet(
770
+ args.slice(1),
771
+ "clio-coder targets profile set <name> <id> [--model <id>] [--thinking <level>]"
772
+ );
773
+ case "remove":
774
+ return runProfileRemove(args.slice(1));
775
+ case "rename":
776
+ return runProfileRename(args.slice(1));
777
+ case "bind":
778
+ return runProfileBind(args.slice(1));
779
+ case "unbind":
780
+ return runProfileUnbind(args.slice(1));
781
+ case "bindings":
782
+ return runProfileBindings(args.slice(1));
783
+ }
784
+ }
785
+ return runProfileSet(args);
786
+ }
787
+ function runFleet(args, usage = "clio-coder targets fleet [--json]") {
788
+ let json = false;
789
+ for (const arg of args) {
790
+ if (arg === "--json") {
791
+ json = true;
792
+ continue;
793
+ }
794
+ if (arg === "--help" || arg === "-h") {
795
+ process.stdout.write(`usage: ${usage}
796
+ `);
797
+ return 0;
798
+ }
799
+ printError(`unknown targets fleet argument: ${arg}`);
800
+ return 2;
801
+ }
802
+ ensureClioState();
803
+ const settings = readSettings();
804
+ const byId = new Map(settings.targets.map((target) => [target.id, target]));
805
+ const rows = Object.entries(settings.fleet.profiles).map(([name, profile]) => {
806
+ const target = profile.target ? byId.get(profile.target) : void 0;
807
+ return {
808
+ name,
809
+ target: profile.target,
810
+ runtime: target?.runtime ?? null,
811
+ model: profile.model,
812
+ thinkingLevel: profile.thinkingLevel
813
+ };
814
+ });
815
+ if (json) {
816
+ process.stdout.write(`${JSON.stringify(rows, null, 2)}
817
+ `);
818
+ return 0;
819
+ }
820
+ if (rows.length === 0) {
821
+ process.stdout.write("no fleet profiles configured. run `clio-coder targets profile <name> <id>` to add one.\n");
822
+ return 0;
823
+ }
824
+ process.stdout.write(
825
+ `${column("profile", 18)}${column("target", 16)}${column("runtime", 20)}${column("model", 30)}thinking
826
+ `
827
+ );
828
+ for (const row of rows) {
829
+ process.stdout.write(
830
+ `${column(row.name, 18)}${column(row.target ?? "-", 16)}${column(row.runtime ?? "-", 20)}${column(row.model ?? "-", 30)}${row.thinkingLevel}
831
+ `
832
+ );
833
+ }
834
+ return 0;
835
+ }
836
+ function runRemove(args) {
837
+ if (wantsHelp(args)) return printUsage("clio-coder targets remove <id>");
838
+ if (args.length !== 1 || !args[0]) {
839
+ printError("usage: clio-coder targets remove <id>");
840
+ return 2;
841
+ }
842
+ ensureClioState();
843
+ return runTargetRemove(args[0]);
844
+ }
845
+ function runRename(args) {
846
+ if (wantsHelp(args)) return printUsage("clio-coder targets rename <old> <new>");
847
+ if (args.length !== 2 || !args[0] || !args[1]) {
848
+ printError("usage: clio-coder targets rename <old> <new>");
849
+ return 2;
850
+ }
851
+ ensureClioState();
852
+ return runTargetRename(args[0], args[1]);
853
+ }
854
+ var CONVERT_USAGE = "clio-coder targets convert <id> --runtime <runtimeId>";
855
+ function runConvert(args) {
856
+ if (wantsHelp(args)) return printUsage(CONVERT_USAGE);
857
+ const id = args[0];
858
+ if (!id || id.startsWith("-")) {
859
+ printError(`usage: ${CONVERT_USAGE}`);
860
+ return 2;
861
+ }
862
+ let runtimeId;
863
+ for (let i = 1; i < args.length; i += 1) {
864
+ const arg = args[i];
865
+ if (arg === "--runtime") {
866
+ const value = args[i + 1];
867
+ if (!value) {
868
+ printError("--runtime requires a value");
869
+ return 2;
870
+ }
871
+ runtimeId = value;
872
+ i += 1;
873
+ continue;
874
+ }
875
+ printError(`unknown convert argument: ${arg}`);
876
+ return 2;
877
+ }
878
+ if (!runtimeId) {
879
+ printError("--runtime is required");
880
+ return 2;
881
+ }
882
+ ensureClioState();
883
+ const registry = getRuntimeRegistry();
884
+ if (registry.list().length === 0) registerBuiltinRuntimes(registry);
885
+ const runtime = registry.get(runtimeId);
886
+ if (!runtime) {
887
+ const suggestion = closestRuntimeId(registry, runtimeId);
888
+ printError(
889
+ `unknown runtime id: ${runtimeId}${suggestion ? ` (did you mean '${suggestion}'?)` : ""} (run \`clio-coder configure --list\` to see registered runtimes)`
890
+ );
891
+ return 2;
892
+ }
893
+ if (runtimeId !== runtime.id) {
894
+ warnLegacyNaming(runtimeId, runtime.id);
895
+ runtimeId = runtime.id;
896
+ }
897
+ const settings = readSettings();
898
+ const target = settings.targets.find((entry) => entry.id === id);
899
+ if (!target) {
900
+ printError(`no target with id ${id}`);
901
+ return 1;
902
+ }
903
+ if (target.runtime === runtimeId) {
904
+ printOk(`target ${id} already uses runtime ${runtimeId}`);
905
+ return 0;
906
+ }
907
+ if (settings.chat.target === id && !isOrchestratorEligibleRuntime(runtime)) {
908
+ printError(`cannot convert orchestrator target '${id}' to non-HTTP/native runtime '${runtime.id}'`);
909
+ return 1;
910
+ }
911
+ const previousRuntime = target.runtime;
912
+ updateSettings((fresh) => {
913
+ const entry = fresh.targets.find((candidate) => candidate.id === id);
914
+ if (entry) entry.runtime = runtimeId;
915
+ });
916
+ printOk(`converted target ${id}: ${previousRuntime} -> ${runtimeId}`);
917
+ return 0;
918
+ }
919
+ var TABLE_COLUMNS = [
920
+ "id",
921
+ "tier",
922
+ "runtime",
923
+ "auth",
924
+ "url",
925
+ "model",
926
+ "health",
927
+ "caps",
928
+ "notes"
929
+ ];
930
+ var TABLE_GAP = 1;
931
+ var TABLE_SHRINK_ORDER = [
932
+ ["notes", 16],
933
+ ["url", 12],
934
+ ["model", 12],
935
+ ["notes", 0],
936
+ ["auth", 6],
937
+ ["runtime", 6],
938
+ ["tier", 4]
939
+ ];
940
+ var TABLE_GROW_ORDER = [
941
+ ["url", Number.POSITIVE_INFINITY],
942
+ ["model", Number.POSITIVE_INFINITY],
943
+ ["notes", 16],
944
+ ["auth", Number.POSITIVE_INFINITY],
945
+ ["runtime", Number.POSITIVE_INFINITY],
946
+ ["tier", Number.POSITIVE_INFINITY],
947
+ ["notes", Number.POSITIVE_INFINITY]
948
+ ];
949
+ function tableWidths(rows, width) {
950
+ const natural = {};
951
+ for (const [index, key] of TABLE_COLUMNS.entries()) {
952
+ natural[key] = rows.reduce((widest, row) => Math.max(widest, row[key].length), (HEADER[index] ?? key).length);
953
+ }
954
+ const widths = { ...natural };
955
+ for (const [key, floor] of TABLE_SHRINK_ORDER) widths[key] = Math.min(widths[key], floor);
956
+ const total = () => TABLE_COLUMNS.reduce((sum, key) => sum + widths[key], 0) + TABLE_GAP * (TABLE_COLUMNS.length - 1);
957
+ let surplus = width - total();
958
+ for (const [key, ceiling] of TABLE_GROW_ORDER) {
959
+ if (surplus <= 0) break;
960
+ const take = Math.min(surplus, Math.max(0, Math.min(natural[key], ceiling) - widths[key]));
961
+ widths[key] += take;
962
+ surplus -= take;
963
+ }
964
+ return widths;
965
+ }
966
+ function formatTargetTable(rows, width, paintHealth = (cell) => cell) {
967
+ const widths = tableWidths(rows, width);
968
+ const line = (cells) => cells.join(" ".repeat(TABLE_GAP)).trimEnd();
969
+ const formatted = rows.map((row) => {
970
+ const cells = TABLE_COLUMNS.map((key) => column(row[key], widths[key]));
971
+ const plain = line(cells);
972
+ const rendered = plain.length > width ? truncate(plain, width) : line(cells.map((cell, index) => TABLE_COLUMNS[index] === "health" ? paintHealth(cell, row) : cell));
973
+ const diagnosticFits = !row.diagnostic || plain.length <= width && widths.notes >= row.diagnostic.length;
974
+ const details = diagnosticFits ? [] : targetDiagnosticDetails(row.diagnostic ?? "", width);
975
+ return { rendered, details };
976
+ });
977
+ return {
978
+ header: truncate(line(TABLE_COLUMNS.map((key, index) => column(HEADER[index] ?? key, widths[key]))), width),
979
+ rows: formatted.map(({ rendered }) => rendered),
980
+ details: formatted.map(({ details }) => details)
981
+ };
982
+ }
983
+ function targetDiagnosticDetails(diagnostic, width) {
984
+ const indent = 2;
985
+ return wrapPlain(`reason: ${diagnostic}`, Math.max(8, width - indent), indent).map(
986
+ (line, index) => index === 0 ? `${" ".repeat(indent)}${line}` : line
987
+ );
988
+ }
989
+ function renderTable(providers, entries) {
990
+ const sorted = [...entries].sort(compareStatusByTier);
991
+ const table = formatTargetTable(
992
+ sorted.map((status) => targetTableRow(providers, status)),
993
+ terminalColumns(),
994
+ // The cell is padded before it is painted, so the ansi bytes land outside
995
+ // the width arithmetic instead of having to be guessed at with slack.
996
+ (cell, row) => healthColor(row.health)(cell)
997
+ );
998
+ let currentTier = null;
999
+ for (const [index, status] of sorted.entries()) {
1000
+ const tier = statusTier(status);
1001
+ if (tier !== currentTier) {
1002
+ currentTier = tier;
1003
+ process.stdout.write(`${source_default.bold(tierLabel(tier))}
1004
+ `);
1005
+ process.stdout.write(`${source_default.bold(table.header)}
1006
+ `);
1007
+ }
1008
+ process.stdout.write(`${table.rows[index] ?? ""}
1009
+ `);
1010
+ for (const detail of table.details[index] ?? []) process.stdout.write(`${detail}
1011
+ `);
1012
+ }
1013
+ }
1014
+ function targetTableRow(providers, status) {
1015
+ const diagnostic = degradedHealthDiagnostic(status);
1016
+ return {
1017
+ id: status.target.id,
1018
+ tier: statusTier(status),
1019
+ runtime: status.runtime ? status.runtime.id : status.target.runtime,
1020
+ auth: formatAuth(providers, status),
1021
+ url: formatUrl(status),
1022
+ model: status.target.defaultModel ?? "-",
1023
+ health: status.health.status,
1024
+ caps: capabilityBadges(status.capabilities),
1025
+ notes: formatNotes(status),
1026
+ ...diagnostic ? { diagnostic } : {}
1027
+ };
1028
+ }
1029
+ function healthColor(status) {
1030
+ switch (status) {
1031
+ case "healthy":
1032
+ return source_default.green;
1033
+ case "degraded":
1034
+ return source_default.yellow;
1035
+ case "down":
1036
+ return source_default.red;
1037
+ default:
1038
+ return source_default.dim;
1039
+ }
1040
+ }
1041
+ function formatUrl(status) {
1042
+ if (status.target.url) return status.target.url;
1043
+ return "(built-in)";
1044
+ }
1045
+ function formatAuth(providers, status) {
1046
+ if (!status.runtime) return "-";
1047
+ if (status.runtime.externalAgentLoop !== void 0 && status.runtime.auth !== "claude-cli") return "operator session";
1048
+ if (status.runtime.auth !== "api-key" && status.runtime.auth !== "oauth") return status.runtime.auth;
1049
+ const auth = providers.auth.statusForTarget(status.target, status.runtime);
1050
+ if (!auth.available) return "disconnected";
1051
+ if (auth.source === "environment") return auth.detail ? `env:${auth.detail}` : "environment";
1052
+ return auth.source.replace("stored-", "");
1053
+ }
1054
+ function capabilityBadges(caps) {
1055
+ const badge = (on, letter) => on ? letter : "-";
1056
+ return [
1057
+ badge(caps.chat, "C"),
1058
+ badge(caps.tools, "T"),
1059
+ badge(caps.reasoning, "R"),
1060
+ badge(caps.vision, "V"),
1061
+ badge(caps.embeddings, "E"),
1062
+ badge(caps.rerank, "K"),
1063
+ badge(caps.fim, "F")
1064
+ ].join("");
1065
+ }
1066
+ function residentModelsSummary(states) {
1067
+ if (!states) return null;
1068
+ const entries = Object.entries(states);
1069
+ if (entries.length === 0) return null;
1070
+ const resident = entries.filter(([, status]) => status.state === "loaded" || status.state === "loading").map(([id, status]) => status.state === "loading" ? `${id} (loading)` : id);
1071
+ return resident.length > 0 ? `resident: ${resident.join(", ")}` : "resident: none";
1072
+ }
1073
+ function formatContextWindow(status) {
1074
+ const window = status.capabilities.contextWindow;
1075
+ const modelState = status.target?.defaultModel ? status.discoveredModelStates?.[status.target.defaultModel] : void 0;
1076
+ const serving = modelState?.contextLength;
1077
+ const requested = status.target ? status.runtime?.requestedContextWindow?.(status.target) : void 0;
1078
+ if (requested !== void 0) {
1079
+ const known = status.contextWindowProvenance !== "runtime-default";
1080
+ const planned = known ? Math.min(requested, window) : requested;
1081
+ const bounds = ["num_ctx", ...serving !== void 0 && serving !== planned ? [`serving ${serving}`] : []];
1082
+ if (known && window !== planned) bounds.push(`model max ${window}`);
1083
+ return `ctx ${planned} (${bounds.join("; ")})`;
1084
+ }
1085
+ if (serving !== void 0 && serving > 0) {
1086
+ if (status.contextWindowProvenance === "configured" && window < serving) return `ctx ${window} (serving ${serving})`;
1087
+ if (status.contextWindowProvenance === "runtime-default" || window === serving) return `ctx ${serving} (serving)`;
1088
+ return `ctx ${serving} (serving; model max ${window})`;
1089
+ }
1090
+ if (status.contextWindowProvenance === "runtime-default") return `ctx ${window} (unverified runtime default)`;
1091
+ const cold = status.runtime?.coldContextWindowCap;
1092
+ if (cold !== void 0 && status.contextWindowProvenance !== "configured" && window > cold) {
1093
+ return `ctx ${cold} (cold; model max ${window})`;
1094
+ }
1095
+ const slots = modelState?.contextSlots;
1096
+ return slots && Math.floor(slots.totalContextSize / slots.slots) === window ? `ctx ${window} (${slots.totalContextSize} / ${slots.slots} slots)` : `ctx ${window}`;
1097
+ }
1098
+ function formatNotes(status) {
1099
+ const parts = [];
1100
+ const diagnostic = degradedHealthDiagnostic(status);
1101
+ if (diagnostic) parts.push(diagnostic);
1102
+ const endpoint = endpointCapacityForStatus(status);
1103
+ if (endpoint) parts.push(`slots ${endpoint.limit}`);
1104
+ if (status.target.gateway) parts.push("gateway");
1105
+ if (status.runtime?.auth === "oauth") parts.push("oauth");
1106
+ if (status.runtime?.auth === "claude-cli") parts.push("claude-cli");
1107
+ if (status.capabilities.contextWindow > 0) parts.push(formatContextWindow(status));
1108
+ if (!status.available && status.reason) parts.push(status.reason);
1109
+ const residency = residentModelsSummary(status.discoveredModelStates);
1110
+ if (residency) parts.push(residency);
1111
+ if (status.probeNotes && status.probeNotes.length > 0) parts.push(`note: ${status.probeNotes.join("; ")}`);
1112
+ const tools = formatToolProbe(status.toolProbe);
1113
+ if (tools) parts.push(tools);
1114
+ return parts.join(" ");
1115
+ }
1116
+ function formatToolProbe(probe) {
1117
+ if (!probe) return null;
1118
+ const model = probe.modelId ?? "no model";
1119
+ if (probe.status === "verified") return `tools verified (${model}, ${probe.latencyMs}ms)`;
1120
+ return `tools ${probe.status} (${model}): ${probe.error ?? "unknown error"}`;
1121
+ }
1122
+ function degradedHealthDiagnostic(status) {
1123
+ return status.health.status === "degraded" && status.health.lastError ? status.health.lastError : null;
1124
+ }
1125
+ function statusTier(status) {
1126
+ return status.runtime?.tier ?? "unknown";
1127
+ }
1128
+ function tierLabel(tier) {
1129
+ switch (tier) {
1130
+ case "protocol":
1131
+ return "Protocol";
1132
+ case "cloud":
1133
+ return "Cloud";
1134
+ case "subscription":
1135
+ return "Subscription";
1136
+ case "local-native":
1137
+ return "Local native";
1138
+ case "unknown":
1139
+ return "Unknown";
1140
+ }
1141
+ }
1142
+ function tierRank(tier) {
1143
+ switch (tier) {
1144
+ case "protocol":
1145
+ return 0;
1146
+ case "cloud":
1147
+ return 1;
1148
+ case "subscription":
1149
+ return 2;
1150
+ case "local-native":
1151
+ return 3;
1152
+ case "unknown":
1153
+ return 4;
1154
+ }
1155
+ }
1156
+ function compareStatusByTier(a, b) {
1157
+ return tierRank(statusTier(a)) - tierRank(statusTier(b)) || a.target.id.localeCompare(b.target.id) || a.target.runtime.localeCompare(b.target.runtime);
1158
+ }
1159
+ function serializeStatus(status, extras = {
1160
+ detectedReasoning: null,
1161
+ candidateModelId: null
1162
+ }) {
1163
+ const out = {
1164
+ target: status.target,
1165
+ runtime: status.runtime,
1166
+ available: status.available,
1167
+ reason: status.reason,
1168
+ health: status.health,
1169
+ capabilities: status.capabilities,
1170
+ discoveredModels: status.discoveredModels,
1171
+ tier: statusTier(status),
1172
+ detectedReasoning: extras.detectedReasoning,
1173
+ reasoningCandidateModelId: extras.candidateModelId
1174
+ };
1175
+ if (status.discoveredModelLabels !== void 0) out.discoveredModelLabels = status.discoveredModelLabels;
1176
+ const endpointCapacity = endpointCapacityForStatus(status);
1177
+ if (endpointCapacity !== null) out.endpointCapacity = endpointCapacity;
1178
+ if (status.contextWindowProvenance !== void 0) {
1179
+ out.contextWindowProvenance = status.contextWindowProvenance;
1180
+ }
1181
+ if (status.discoveredModelsSource !== void 0) {
1182
+ out.discoveredModelsSource = status.discoveredModelsSource;
1183
+ }
1184
+ if (status.discoveredModelStates !== void 0) {
1185
+ out.discoveredModelStates = status.discoveredModelStates;
1186
+ }
1187
+ if (status.probeCapabilities !== void 0) {
1188
+ out.probeCapabilities = status.probeCapabilities;
1189
+ }
1190
+ if (status.probeModelId !== void 0) {
1191
+ out.probeModelId = status.probeModelId;
1192
+ }
1193
+ if (status.probeNotes !== void 0) {
1194
+ out.probeNotes = status.probeNotes;
1195
+ }
1196
+ if (status.probeSurfaces !== void 0) {
1197
+ out.probeSurfaces = status.probeSurfaces;
1198
+ }
1199
+ if (status.toolProbe !== void 0) {
1200
+ out.toolProbe = status.toolProbe;
1201
+ }
1202
+ return out;
1203
+ }
1204
+ export {
1205
+ runTargetsCommand
1206
+ };
1207
+ //# sourceMappingURL=targets-AJWA6E7Z.js.map