@iowarp/clio-coder 0.4.2 → 0.4.3

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 (369) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/CONTRIBUTING.md +86 -19
  3. package/README.md +35 -6
  4. package/dist/{acp-TMDQZDIG.js → acp-H2NGRPWO.js} +11 -11
  5. package/dist/{agents-5N5NG3XG.js → agents-TL5LLUQP.js} +54 -53
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-Z5CCBXKQ.js → auth-E5SW4HMS.js} +19 -16
  8. package/dist/{builtins-K6TNDT24.js → builtins-IA7V7FUC.js} +9 -4
  9. package/dist/{chunk-ZW4HH5JJ.js → chunk-2APPQIER.js} +6 -6
  10. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  11. package/dist/{chunk-UBRFI4HS.js → chunk-2UG5F4C5.js} +127 -47
  12. package/dist/{chunk-UH632ZYL.js → chunk-2UH2KFUP.js} +2 -2
  13. package/dist/{chunk-3F7VUY77.js → chunk-2VIKGWFZ.js} +2 -2
  14. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  15. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  16. package/dist/{chunk-2X4RYJTJ.js → chunk-4UVU7BJ5.js} +2 -2
  17. package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
  18. package/dist/{chunk-5KW52TEP.js → chunk-54CBCGIR.js} +5 -5
  19. package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
  20. package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
  21. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  22. package/dist/{chunk-LJID3DYZ.js → chunk-64I3JVYM.js} +2 -2
  23. package/dist/{chunk-4JDLP6ZS.js → chunk-6PTFB5VS.js} +7 -7
  24. package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
  25. package/dist/{chunk-HLAFFSEK.js → chunk-7DRAWPTZ.js} +2 -2
  26. package/dist/chunk-7E7I3WLS.js +3762 -0
  27. package/dist/{chunk-YJISEZKC.js → chunk-7ZYNNDKC.js} +6 -6
  28. package/dist/{chunk-I66ZTYNP.js → chunk-AF4YM7Z4.js} +236 -101
  29. package/dist/{chunk-2HFQNRV3.js → chunk-AX2THNSA.js} +12 -12
  30. package/dist/{chunk-PGF63K6I.js → chunk-B4OAX3SI.js} +65 -3
  31. package/dist/{chunk-W6NIE6OW.js → chunk-B4VEBZKF.js} +3 -3
  32. package/dist/{chunk-JBCS7CRR.js → chunk-BEPZRGGU.js} +10 -10
  33. package/dist/{chunk-XGDPUNND.js → chunk-CE5AX47J.js} +2 -2
  34. package/dist/{chunk-I64IFBLB.js → chunk-DWUOQKRU.js} +17 -10
  35. package/dist/{chunk-DZAW46HP.js → chunk-E3TPLWFX.js} +3 -3
  36. package/dist/{chunk-HIICAHCJ.js → chunk-EKCHAPYA.js} +2 -2
  37. package/dist/{chunk-XE3PCIXH.js → chunk-F5JHEYZM.js} +7 -7
  38. package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
  39. package/dist/{chunk-ZNT2M6TG.js → chunk-G76U63X4.js} +17 -17
  40. package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
  41. package/dist/{chunk-2NHR3NAY.js → chunk-GI7YYQ3F.js} +40 -34
  42. package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
  43. package/dist/chunk-GYV6VZOC.js +26 -0
  44. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  45. package/dist/{chunk-W4YEMFBX.js → chunk-HEQY7ZFI.js} +2 -2
  46. package/dist/{chunk-IKOZFYBN.js → chunk-I7ZPNEJM.js} +145 -102
  47. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  48. package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
  49. package/dist/chunk-IJNZMHLA.js +101 -0
  50. package/dist/{chunk-JWJGP5DQ.js → chunk-INY6HTFL.js} +7 -7
  51. package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
  52. package/dist/{chunk-B74PXLU7.js → chunk-IWT4SF4R.js} +3 -3
  53. package/dist/{chunk-B7HM5Z7T.js → chunk-JDAY6FIL.js} +5 -5
  54. package/dist/{chunk-PJX3WQUQ.js → chunk-JEQ3XTHC.js} +2 -2
  55. package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
  56. package/dist/{chunk-X7IARSHT.js → chunk-JKKCYP3C.js} +9 -9
  57. package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
  58. package/dist/{chunk-SSEYRH53.js → chunk-KK4JZPBQ.js} +19 -140
  59. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  60. package/dist/{chunk-Q4XWMHX6.js → chunk-L47TF46W.js} +2 -2
  61. package/dist/{chunk-O3YUNJZ2.js → chunk-LDJG7DW3.js} +81 -24
  62. package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
  63. package/dist/{chunk-F2I26BDK.js → chunk-MUW2BDDH.js} +4 -4
  64. package/dist/{chunk-HKMD33FO.js → chunk-MWUZBSAQ.js} +79 -76
  65. package/dist/{chunk-QQLGQY2A.js → chunk-N2Z7HLVY.js} +20 -20
  66. package/dist/{chunk-DZEK6CJN.js → chunk-NIQJ66N4.js} +19 -19
  67. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  68. package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
  69. package/dist/{chunk-TPEQIQIE.js → chunk-OML5D5V5.js} +8 -8
  70. package/dist/{chunk-IKSLQ4XV.js → chunk-PAJQJ7BS.js} +558 -216
  71. package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
  72. package/dist/{chunk-UH347SHR.js → chunk-QWGDJJYJ.js} +11 -11
  73. package/dist/chunk-R6Q67RJH.js +134 -0
  74. package/dist/{chunk-CRFOIAX3.js → chunk-RRNP2ANY.js} +6 -6
  75. package/dist/{chunk-IDNA72AH.js → chunk-RSJ25QSL.js} +2 -2
  76. package/dist/chunk-SKHCAU7K.js +385 -0
  77. package/dist/{chunk-RLYRBIYQ.js → chunk-TM6LQDI3.js} +20 -12
  78. package/dist/chunk-UOIZ7DA4.js +41 -0
  79. package/dist/{chunk-P75RZCJW.js → chunk-UPZU6GE4.js} +3 -3
  80. package/dist/{chunk-MCMZMDAC.js → chunk-V2ANDPVT.js} +4 -4
  81. package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
  82. package/dist/{chunk-IMXMHHMQ.js → chunk-VW6DOEDG.js} +332 -57
  83. package/dist/{chunk-XOXV5GKE.js → chunk-W6RRQCPQ.js} +16 -7
  84. package/dist/{chunk-CYZW7JHJ.js → chunk-WBKFA554.js} +8 -8
  85. package/dist/{chunk-BO7Y52RY.js → chunk-WCXUNS7U.js} +7 -7
  86. package/dist/{chunk-ZGNYYXQ6.js → chunk-WRBAGUNF.js} +3 -3
  87. package/dist/{chunk-FVDGR2ZL.js → chunk-XIVNBFZS.js} +85 -30
  88. package/dist/{chunk-BYMNWQ7O.js → chunk-XPWWI35G.js} +299 -58
  89. package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
  90. package/dist/{chunk-AZ4WMN4W.js → chunk-Y3CBHOR6.js} +2 -2
  91. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  92. package/dist/{chunk-54ODD65L.js → chunk-YQWYVTMC.js} +4 -4
  93. package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
  94. package/dist/{chunk-7BHIY2MW.js → chunk-ZDN3Y73Y.js} +6 -6
  95. package/dist/{chunk-E7GT7O5N.js → chunk-ZWPRK62N.js} +7 -4
  96. package/dist/cli/index.js +38 -37
  97. package/dist/{clio-7VB377CC.js → clio-CMMK4KRR.js} +7 -7
  98. package/dist/{code-nav-YVLCYA7V.js → code-nav-MDZNQS33.js} +7 -7
  99. package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
  100. package/dist/{config-4HVOS65E.js → config-SVM5P5YI.js} +76 -74
  101. package/dist/{configure-PIWO7B24.js → configure-LE3IK2TJ.js} +26 -24
  102. package/dist/{context-IYEHL3WQ.js → context-2OHRKS42.js} +66 -63
  103. package/dist/{context-N6ZE3LGJ.js → context-E3VC7RX5.js} +15 -11
  104. package/dist/{context-KQYIWPWT.js → context-VNCR7KAG.js} +60 -45
  105. package/dist/{context-clear-G4OGZJDS.js → context-clear-BW4O37TG.js} +61 -59
  106. package/dist/context-map-COB37XXN.js +505 -0
  107. package/dist/{context-working-set-BWLF6LJP.js → context-working-set-VDS25HXZ.js} +17 -16
  108. package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-5AHT53RF.js} +85 -74
  109. package/dist/{doctor-LHBD36VU.js → doctor-WNNVO6FY.js} +37 -37
  110. package/dist/{eval-C45FYRJ6.js → eval-7G7SGAYO.js} +285 -114
  111. package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
  112. package/dist/{evidence-6SHONYAF.js → evidence-VD6736FQ.js} +63 -62
  113. package/dist/{evolve-KRKMV72X.js → evolve-AL3NGVRL.js} +62 -61
  114. package/dist/{extensions-KPZ2UHBB.js → extensions-MOVJ32NM.js} +7 -7
  115. package/dist/{fleet-IVTCKDHT.js → fleet-QZHUMAGI.js} +110 -108
  116. package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-BAYT5FJZ.js} +10 -10
  117. package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-IREVMRU4.js} +7 -6
  118. package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-YCTT3HTI.js} +19 -18
  119. package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-QVJTDAVB.js} +55 -54
  120. package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-25QAFPK4.js} +4 -4
  121. package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-5O57AAJ7.js} +23 -22
  122. package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-CPH2W2T6.js} +56 -55
  123. package/dist/{fleet-view-TWHJKCN6.js → fleet-view-SWBR3VGQ.js} +55 -54
  124. package/dist/{init-T2QORQ3Y.js → init-J477LKZH.js} +78 -76
  125. package/dist/{interop-IN5I2A66.js → interop-3FCM6XLG.js} +11 -11
  126. package/dist/{library-LSCATDLZ.js → library-QUQEIUG6.js} +28 -27
  127. package/dist/{memory-HYOKAGGJ.js → memory-SGGSEP65.js} +64 -63
  128. package/dist/{models-2GPMFYCM.js → models-HEKUAXXK.js} +49 -43
  129. package/dist/{monitor-E4ASVUJH.js → monitor-HKU57TYQ.js} +61 -60
  130. package/dist/{orchestrator-DDMPR3PY.js → orchestrator-VDFAEFAI.js} +919 -546
  131. package/dist/{panes-E3RUXOW5.js → panes-DN2SSFOH.js} +3 -3
  132. package/dist/{panes-IXKLOKA2.js → panes-TALGNPZT.js} +8 -8
  133. package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
  134. package/dist/reset-EAJFFJVB.js +344 -0
  135. package/dist/{resources-OTRSN34L.js → resources-OVKSEFVE.js} +27 -20
  136. package/dist/{run-5DEYH5QK.js → run-7DP7ZF2J.js} +113 -109
  137. package/dist/{share-IHWTLO3M.js → share-WML67FT3.js} +26 -25
  138. package/dist/{skills-IYMXMKW4.js → skills-SG662R2K.js} +39 -31
  139. package/dist/{skills-eval-DROHSJAR.js → skills-eval-VVZEUU46.js} +74 -73
  140. package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-I2E23GET.js} +21 -20
  141. package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-S7MBJDQK.js} +35 -34
  142. package/dist/{steer-Z5DO23FJ.js → steer-2LQOMCPB.js} +3 -3
  143. package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
  144. package/dist/{targets-P2FUC4IL.js → targets-4QC3HIEW.js} +48 -45
  145. package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-TUHIJ6Y2.js} +2 -2
  146. package/dist/{tools-5B7RO6MV.js → tools-TFGJICCU.js} +8 -8
  147. package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
  148. package/dist/uninstall-5PEVOE5B.js +408 -0
  149. package/dist/upgrade-M4WXY6KN.js +303 -0
  150. package/dist/{usage-ME5MPXGX.js → usage-N7ZNVLEM.js} +147 -102
  151. package/dist/{verifiers-BVZ7IWOO.js → verifiers-DJTP4XX6.js} +15 -15
  152. package/dist/{verify-5K7ZKQFC.js → verify-RWE4PPEK.js} +9 -9
  153. package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-C7IQOXSP.js} +84 -82
  154. package/dist/{with-panes-BYOJCLAM.js → with-panes-4GCGSL7J.js} +9 -9
  155. package/dist/worker/entry.js +61 -60
  156. package/docs/architecture/artifact-placement.md +1 -0
  157. package/docs/architecture/artifact-versions.md +1 -1
  158. package/docs/architecture/context-engine.md +4 -0
  159. package/docs/architecture/middleware-and-components.md +1 -1
  160. package/docs/architecture/model-catalog.md +21 -10
  161. package/docs/architecture/observability.md +12 -1
  162. package/docs/architecture/prompt-envelope-and-tools.md +2 -0
  163. package/docs/architecture/provider-adapter-cookbook.md +63 -0
  164. package/docs/architecture/safety-model.md +15 -5
  165. package/docs/guide/built-in-agents.md +17 -3
  166. package/docs/guide/commands-and-modes.md +1 -1
  167. package/docs/guide/configuration-and-targets.md +97 -9
  168. package/docs/guide/configuration-reference.md +7 -2
  169. package/docs/guide/environment-variables.md +2 -0
  170. package/docs/guide/installation-and-lifecycle.md +37 -4
  171. package/docs/guide/proactive-memory.md +66 -55
  172. package/docs/guide/skills-marketplace.md +18 -0
  173. package/docs/process/development-pipeline.md +34 -1
  174. package/docs/process/eval-runner.md +67 -3
  175. package/evals/behavioral-model.yaml +3 -2
  176. package/package.json +2 -2
  177. package/skills/README.md +7 -5
  178. package/skills/coding/ast-grep/SKILL.md +101 -30
  179. package/skills/coding/ast-grep/evals.md +26 -0
  180. package/skills/coding/coding-standards/SKILL.md +40 -5
  181. package/skills/coding/coding-standards/evals.md +23 -0
  182. package/skills/coding/prototype/SKILL.md +87 -28
  183. package/skills/coding/prototype/evals.md +19 -0
  184. package/skills/coding/tdd/SKILL.md +80 -53
  185. package/skills/coding/tdd/evals.md +20 -0
  186. package/skills/context/context-handoff/SKILL.md +43 -2
  187. package/skills/context/context-handoff/evals.md +44 -0
  188. package/skills/context/context-prime/SKILL.md +45 -15
  189. package/skills/context/context-prime/evals.md +45 -0
  190. package/skills/git/branch-closeout/SKILL.md +132 -0
  191. package/skills/git/branch-closeout/evals.md +133 -0
  192. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  193. package/skills/git/file-ticket/SKILL.md +77 -63
  194. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  195. package/skills/git/file-ticket/evals.md +31 -26
  196. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  197. package/skills/git/fix-issue/SKILL.md +87 -64
  198. package/skills/git/fix-issue/evals.md +35 -31
  199. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  200. package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
  201. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  202. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  203. package/skills/git/ship/SKILL.md +103 -67
  204. package/skills/git/ship/assets/pr-template.md +21 -0
  205. package/skills/git/ship/evals.md +44 -28
  206. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  207. package/skills/git/worktree-create/SKILL.md +80 -50
  208. package/skills/git/worktree-create/evals.md +40 -33
  209. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  210. package/skills/git/worktree-merge/SKILL.md +112 -65
  211. package/skills/git/worktree-merge/evals.md +42 -34
  212. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  213. package/skills/planning/archify/SKILL.md +196 -0
  214. package/skills/planning/archify/evals.md +65 -0
  215. package/skills/planning/architecture/SKILL.md +61 -12
  216. package/skills/planning/architecture/evals.md +65 -0
  217. package/skills/planning/backlog/SKILL.md +130 -14
  218. package/skills/planning/backlog/evals.md +142 -0
  219. package/skills/planning/prd/SKILL.md +46 -6
  220. package/skills/planning/prd/evals.md +54 -0
  221. package/skills/planning/product-intent/SKILL.md +57 -2
  222. package/skills/planning/product-intent/evals.md +70 -0
  223. package/skills/planning/tech-spec/SKILL.md +53 -2
  224. package/skills/planning/tech-spec/evals.md +73 -0
  225. package/skills/registry.yaml +58 -50
  226. package/skills/remote.yaml +13 -0
  227. package/skills/research/arxiv-literature/SKILL.md +76 -18
  228. package/skills/research/arxiv-literature/evals.md +50 -0
  229. package/skills/research/experiment-protocol/SKILL.md +20 -1
  230. package/skills/research/experiment-protocol/evals.md +23 -0
  231. package/skills/research/scientific-debugging/SKILL.md +23 -1
  232. package/skills/research/scientific-debugging/evals.md +18 -0
  233. package/skills/research/scientific-modernization/SKILL.md +26 -1
  234. package/skills/research/scientific-modernization/evals.md +27 -0
  235. package/skills/skill-marketplace.json +63 -28
  236. package/skills/workflow/cut-it/SKILL.md +65 -5
  237. package/skills/workflow/cut-it/evals.md +101 -0
  238. package/skills/workflow/design-council/SKILL.md +117 -27
  239. package/skills/workflow/design-council/evals.md +161 -0
  240. package/skills/workflow/grill-me/SKILL.md +86 -10
  241. package/skills/workflow/grill-me/evals.md +153 -0
  242. package/skills/workflow/workflow-distiller/SKILL.md +76 -17
  243. package/skills/workflow/workflow-distiller/evals.md +118 -0
  244. package/src/cli/configure-interop.ts +105 -13
  245. package/src/cli/configure-oauth.ts +57 -0
  246. package/src/cli/configure-onboarding.ts +980 -0
  247. package/src/cli/configure-target.ts +594 -0
  248. package/src/cli/configure.ts +1082 -528
  249. package/src/cli/context-map.ts +114 -0
  250. package/src/cli/context.ts +4 -0
  251. package/src/cli/index.ts +1 -0
  252. package/src/cli/lifecycle-presenter.ts +436 -0
  253. package/src/cli/models.ts +10 -2
  254. package/src/cli/modes/print.ts +5 -1
  255. package/src/cli/reset.ts +228 -106
  256. package/src/cli/run.ts +7 -2
  257. package/src/cli/select.ts +664 -0
  258. package/src/cli/skills.ts +9 -2
  259. package/src/cli/targets.ts +3 -0
  260. package/src/cli/uninstall.ts +233 -165
  261. package/src/cli/upgrade.ts +204 -149
  262. package/src/cli/usage.ts +86 -27
  263. package/src/cli/validate-model.ts +3 -3
  264. package/src/core/config.ts +56 -0
  265. package/src/core/external-diagnostic.ts +44 -0
  266. package/src/core/gateway-routing.ts +157 -0
  267. package/src/core/safe-exec.ts +17 -2
  268. package/src/core/skill-activation.ts +89 -2
  269. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  270. package/src/domains/agents/catalog.ts +1 -1
  271. package/src/domains/agents/result-contract.ts +70 -0
  272. package/src/domains/context/wiki/map-seed.ts +589 -0
  273. package/src/domains/context/wiki/plan.ts +2 -2
  274. package/src/domains/dispatch/admission.ts +29 -0
  275. package/src/domains/dispatch/agent-candidates.ts +10 -0
  276. package/src/domains/dispatch/budget-envelope.ts +86 -1
  277. package/src/domains/dispatch/capability-match.ts +1 -0
  278. package/src/domains/dispatch/capacity-lease.ts +17 -0
  279. package/src/domains/dispatch/contract.ts +11 -1
  280. package/src/domains/dispatch/extension.ts +134 -29
  281. package/src/domains/dispatch/types.ts +3 -0
  282. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  283. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  284. package/src/domains/eval/metrics/token-stream.ts +201 -31
  285. package/src/domains/eval/metrics/tracked.ts +40 -4
  286. package/src/domains/eval/runners/clio-run.ts +5 -2
  287. package/src/domains/eval/schema/suite.ts +28 -0
  288. package/src/domains/eval/schema/verdict.ts +2 -2
  289. package/src/domains/eval/suites/resolve.ts +13 -1
  290. package/src/domains/eval/suites/run.ts +24 -3
  291. package/src/domains/interop/registry.ts +6 -2
  292. package/src/domains/interop/types.ts +4 -0
  293. package/src/domains/lifecycle/migrations/index.ts +4 -0
  294. package/src/domains/memory/task-memory-policy.ts +70 -26
  295. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  296. package/src/domains/middleware/index.ts +0 -1
  297. package/src/domains/middleware/marketplace-offer.ts +3 -35
  298. package/src/domains/middleware/memory-intervention.ts +127 -32
  299. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  300. package/src/domains/middleware/skills-reminder.ts +31 -2
  301. package/src/domains/observability/compaction-usage.ts +118 -0
  302. package/src/domains/observability/cost.ts +1 -1
  303. package/src/domains/observability/extension.ts +6 -1
  304. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  305. package/src/domains/providers/contract.ts +4 -1
  306. package/src/domains/providers/extension.ts +40 -9
  307. package/src/domains/providers/model-capabilities.ts +9 -0
  308. package/src/domains/providers/model-discovery.ts +2 -0
  309. package/src/domains/providers/model-runtime-capabilities.ts +15 -5
  310. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +32 -12
  311. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  312. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  313. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  314. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  315. package/src/domains/providers/support.ts +11 -5
  316. package/src/domains/providers/target-model-cache.ts +25 -2
  317. package/src/domains/providers/types/capability-flags.ts +2 -0
  318. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  319. package/src/domains/providers/types/target-descriptor.ts +19 -0
  320. package/src/domains/resources/index.ts +3 -0
  321. package/src/domains/resources/skills/install.ts +72 -7
  322. package/src/domains/resources/skills/loader.ts +7 -0
  323. package/src/domains/resources/skills/marketplace.ts +63 -11
  324. package/src/domains/safety/autonomy.ts +15 -0
  325. package/src/domains/safety/index.ts +1 -0
  326. package/src/domains/safety/path-policy.ts +1 -1
  327. package/src/domains/safety/policy-engine.ts +34 -11
  328. package/src/domains/safety/protected-artifacts.ts +191 -88
  329. package/src/domains/safety/run-effects.ts +2 -22
  330. package/src/domains/safety/skill-authority.ts +55 -0
  331. package/src/domains/session/compaction/compact.ts +72 -22
  332. package/src/domains/session/entries.ts +6 -0
  333. package/src/domains/session/usage.ts +3 -3
  334. package/src/engine/agent.ts +13 -3
  335. package/src/engine/ai.ts +26 -8
  336. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  337. package/src/engine/api-registry.ts +3 -0
  338. package/src/engine/apis/openai-completions.ts +117 -14
  339. package/src/engine/external-subprocess.ts +114 -6
  340. package/src/entry/background-model-metadata.ts +18 -0
  341. package/src/entry/compaction-prompt.ts +57 -0
  342. package/src/entry/orchestrator.ts +405 -216
  343. package/src/entry/task-memory-lifecycle.ts +35 -0
  344. package/src/interactive/chat-loop-messages.ts +13 -4
  345. package/src/interactive/chat-loop.ts +65 -2
  346. package/src/interactive/chat-renderer.ts +1 -0
  347. package/src/interactive/cost-overlay.ts +26 -2
  348. package/src/interactive/interactive-slash-runtime.ts +2 -1
  349. package/src/interactive/renderers/worker-entry.ts +32 -0
  350. package/src/interactive/slash-commands.ts +24 -6
  351. package/src/interactive/theme/labels.ts +19 -13
  352. package/src/interactive/turn-context.ts +9 -5
  353. package/src/interactive/turn-recovery.ts +8 -0
  354. package/src/interactive/turn-runtime.ts +27 -11
  355. package/src/interactive/turn-state.ts +7 -0
  356. package/src/interactive/worker-receipts.ts +1 -0
  357. package/src/interactive/worker-stream.ts +6 -1
  358. package/src/tools/context/index.ts +30 -9
  359. package/src/tools/dispatch-arguments.ts +1 -0
  360. package/src/tools/dispatch-event-text.ts +10 -0
  361. package/src/tools/dispatch-plan.ts +1 -0
  362. package/src/tools/dispatch-runner.ts +12 -0
  363. package/src/tools/registry.ts +11 -5
  364. package/src/tools/worker-evidence.ts +3 -1
  365. package/src/worker/spec-contract.ts +4 -0
  366. package/dist/chunk-2Z2IKEXI.js +0 -1554
  367. package/dist/reset-OAQP3W4O.js +0 -230
  368. package/dist/uninstall-N34PCTGJ.js +0 -331
  369. package/dist/upgrade-PXK3S2YM.js +0 -325
@@ -2,6 +2,10 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  truncateToWidth
4
4
  } from "./chunk-YAKGTXEV.js";
5
+ import {
6
+ codeStepDir,
7
+ readCodeStepRecords
8
+ } from "./chunk-XRZT5WY5.js";
5
9
  import {
6
10
  DEFAULT_TRACE_RETENTION_POLICY,
7
11
  TRACE_EVENT_POLL_LIMIT,
@@ -11,23 +15,19 @@ import {
11
15
  resolveTraceRetentionPolicy,
12
16
  traceDatabasePath
13
17
  } from "./chunk-VKPAQYEB.js";
14
- import {
15
- codeStepDir,
16
- readCodeStepRecords
17
- } from "./chunk-KPXDY6QF.js";
18
18
  import {
19
19
  sanitizeCallTargetText
20
20
  } from "./chunk-NEDJ26B5.js";
21
21
  import "./chunk-4BJ5BYCE.js";
22
- import "./chunk-MQXIVJ35.js";
22
+ import "./chunk-HAXOFFRH.js";
23
23
  import "./chunk-R346GLFC.js";
24
24
  import "./chunk-BTK3SSSK.js";
25
25
  import "./chunk-IWHMRKLL.js";
26
26
  import "./chunk-3I7MS7N2.js";
27
+ import "./chunk-WEPFGWHJ.js";
27
28
  import {
28
29
  clioStatePath
29
30
  } from "./chunk-BYP5D4HI.js";
30
- import "./chunk-WEPFGWHJ.js";
31
31
  import {
32
32
  init_esm_shims
33
33
  } from "./chunk-3R73A4XB.js";
@@ -568,4 +568,4 @@ function jsonBigInt(_key, value) {
568
568
  export {
569
569
  runTraceCommand
570
570
  };
571
- //# sourceMappingURL=trace-YMGMUM6A.js.map
571
+ //# sourceMappingURL=trace-FXMXUZUF.js.map
@@ -0,0 +1,408 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ removePath,
4
+ reportRemovalFailures
5
+ } from "./chunk-SVNXH4L2.js";
6
+ import {
7
+ detectInstallMethod
8
+ } from "./chunk-UOIZ7DA4.js";
9
+ import {
10
+ createLifecyclePresenter,
11
+ measurePath,
12
+ shortenPath
13
+ } from "./chunk-SKHCAU7K.js";
14
+ import "./chunk-2IR2NMPA.js";
15
+ import "./chunk-PUVDKJ2Y.js";
16
+ import {
17
+ printError
18
+ } from "./chunk-VPKWYKEY.js";
19
+ import "./chunk-5TSRNF4G.js";
20
+ import {
21
+ resolvePackageRoot
22
+ } from "./chunk-IWHMRKLL.js";
23
+ import "./chunk-ID64D7PE.js";
24
+ import "./chunk-336NSSKI.js";
25
+ import "./chunk-IKCO5N3L.js";
26
+ import "./chunk-3I7MS7N2.js";
27
+ import "./chunk-APJ265NV.js";
28
+ import "./chunk-WEPFGWHJ.js";
29
+ import "./chunk-YXLYO42X.js";
30
+ import {
31
+ resetXdgCache,
32
+ resolveClioDirs
33
+ } from "./chunk-BYP5D4HI.js";
34
+ import {
35
+ init_esm_shims
36
+ } from "./chunk-3R73A4XB.js";
37
+
38
+ // src/cli/uninstall.ts
39
+ init_esm_shims();
40
+ import { spawnSync } from "node:child_process";
41
+ import { existsSync, lstatSync, readdirSync, readFileSync, readlinkSync, realpathSync } from "node:fs";
42
+ import { homedir } from "node:os";
43
+ import { delimiter, dirname, isAbsolute, join, resolve, sep } from "node:path";
44
+ var HELP = `clio-coder uninstall [--remove-binary] [--keep-config] [--keep-data] [--dry-run] [--force] [--json]
45
+
46
+ Remove all Clio Coder state: the config, data, state, and cache roots.
47
+
48
+ Per-project \`.clio-coder/\` directories sit outside those roots and are never
49
+ removed here. Every project Clio has run in is recorded in the session metadata,
50
+ so the real run and --dry-run both list them and name the command that clears one.
51
+ Shell startup files are reported, never edited.
52
+
53
+ Flags:
54
+ --keep-config preserve the configuration root (settings.yaml, credentials)
55
+ --keep-data preserve the data root (memory, evidence, vendored tools)
56
+ --remove-binary also remove the launcher symlink when it points at this
57
+ installation. A real file, or a link into a different clio-coder
58
+ installation, is kept and reported.
59
+ --dry-run print what would be removed without changing anything
60
+ --force, -f skip confirmation prompt and proceed immediately
61
+ --json emit machine-readable JSON output
62
+ --help, -h show this message
63
+ `;
64
+ function parseUninstallArgs(argv) {
65
+ const parsed = {
66
+ removeBinary: false,
67
+ keepConfig: false,
68
+ keepData: false,
69
+ force: false,
70
+ dryRun: false,
71
+ json: false,
72
+ help: false
73
+ };
74
+ for (const arg of argv) {
75
+ switch (arg) {
76
+ case "--remove-binary":
77
+ parsed.removeBinary = true;
78
+ break;
79
+ case "--keep-config":
80
+ parsed.keepConfig = true;
81
+ break;
82
+ case "--keep-data":
83
+ parsed.keepData = true;
84
+ break;
85
+ case "--force":
86
+ case "-f":
87
+ parsed.force = true;
88
+ break;
89
+ case "--dry-run":
90
+ parsed.dryRun = true;
91
+ break;
92
+ case "--json":
93
+ parsed.json = true;
94
+ break;
95
+ case "--help":
96
+ case "-h":
97
+ parsed.help = true;
98
+ break;
99
+ default:
100
+ throw new Error(`unknown flag: ${arg}`);
101
+ }
102
+ }
103
+ return parsed;
104
+ }
105
+ function projectContextInventory(stateDir) {
106
+ const root = join(stateDir, "sessions");
107
+ let hashes;
108
+ try {
109
+ hashes = readdirSync(root);
110
+ } catch {
111
+ return { recorded: 0, dirs: [], storeAbsent: true };
112
+ }
113
+ const dirs = /* @__PURE__ */ new Set();
114
+ let recorded = 0;
115
+ for (const hash of hashes.sort()) {
116
+ const cwd = firstRecordedCwd(join(root, hash));
117
+ if (cwd === null) continue;
118
+ recorded += 1;
119
+ if (existsSync(join(cwd, ".clio-coder"))) dirs.add(cwd);
120
+ }
121
+ return { recorded, dirs: [...dirs].sort(), storeAbsent: false };
122
+ }
123
+ function firstRecordedCwd(hashDir) {
124
+ let sessions;
125
+ try {
126
+ sessions = readdirSync(hashDir);
127
+ } catch {
128
+ return null;
129
+ }
130
+ for (const session of sessions.sort()) {
131
+ try {
132
+ const meta = JSON.parse(readFileSync(join(hashDir, session, "meta.json"), "utf8"));
133
+ if (typeof meta.cwd === "string" && meta.cwd.length > 0) return meta.cwd;
134
+ } catch {
135
+ }
136
+ }
137
+ return null;
138
+ }
139
+ function launcherLinkPath() {
140
+ const binDir = process.env.CLIO_CODER_BIN_DIR?.trim() || join(homedir(), ".local", "bin");
141
+ return join(binDir, "clio-coder");
142
+ }
143
+ function ownedCliEntry() {
144
+ const entry = join(resolvePackageRoot(), "dist", "cli", "index.js");
145
+ try {
146
+ return realpathSync(entry);
147
+ } catch {
148
+ return entry;
149
+ }
150
+ }
151
+ function classifyLauncher(linkPath) {
152
+ let isSymlink;
153
+ try {
154
+ isSymlink = lstatSync(linkPath).isSymbolicLink();
155
+ } catch {
156
+ return { kind: "absent" };
157
+ }
158
+ if (!isSymlink) {
159
+ return { kind: "keep", detail: "not a symlink; remove it via your package manager" };
160
+ }
161
+ const owned = ownedCliEntry();
162
+ let resolved = null;
163
+ try {
164
+ resolved = realpathSync(linkPath);
165
+ } catch {
166
+ resolved = null;
167
+ }
168
+ if (resolved !== null) {
169
+ if (resolved === owned) return { kind: "remove", detail: `-> ${resolved}` };
170
+ return {
171
+ kind: "keep",
172
+ detail: `points at ${resolved}, not this installation (${owned}); remove it with \`rm ${linkPath}\``
173
+ };
174
+ }
175
+ const raw = readlinkSync(linkPath);
176
+ const danglingTarget = isAbsolute(raw) ? raw : resolve(dirname(linkPath), raw);
177
+ if (danglingTarget.endsWith(join(sep, "dist", "cli", "index.js"))) {
178
+ return { kind: "remove", detail: `-> ${danglingTarget} (dangling; that installation is already gone)` };
179
+ }
180
+ return {
181
+ kind: "keep",
182
+ detail: `dangling link to ${danglingTarget}, which is not a clio entry; remove it with \`rm ${linkPath}\``
183
+ };
184
+ }
185
+ function findClioOnPath() {
186
+ const names = process.platform === "win32" ? ["clio-coder.cmd", "clio-coder.ps1", "clio-coder.exe", "clio-coder"] : ["clio-coder"];
187
+ for (const dir of (process.env.PATH ?? "").split(delimiter)) {
188
+ if (!dir) continue;
189
+ for (const name of names) {
190
+ const candidate = join(dir, name);
191
+ if (existsSync(candidate)) return candidate;
192
+ }
193
+ }
194
+ return null;
195
+ }
196
+ function readNpmPrefix() {
197
+ try {
198
+ const result = spawnSync("npm", ["config", "get", "prefix"], {
199
+ encoding: "utf8",
200
+ timeout: 5e3,
201
+ stdio: ["ignore", "pipe", "ignore"],
202
+ env: { ...process.env, npm_config_logs_max: "0", npm_config_update_notifier: "false" }
203
+ });
204
+ if (result.status !== 0) return null;
205
+ const prefix = result.stdout.trim();
206
+ return prefix.length > 0 ? prefix : null;
207
+ } catch {
208
+ return null;
209
+ }
210
+ }
211
+ function otherClioOnPath(pathClio, localLink) {
212
+ if (pathClio === null) return null;
213
+ if (pathClio === localLink) return null;
214
+ const resolve2 = (path) => {
215
+ try {
216
+ return realpathSync(path);
217
+ } catch {
218
+ return null;
219
+ }
220
+ };
221
+ const resolvedPathClio = resolve2(pathClio);
222
+ if (resolvedPathClio !== null && resolvedPathClio === resolve2(localLink)) return null;
223
+ return pathClio;
224
+ }
225
+ function detectShellRcEdits() {
226
+ const candidates = [join(homedir(), ".bashrc"), join(homedir(), ".zshrc"), join(homedir(), ".profile")];
227
+ const results = [];
228
+ for (const file of candidates) {
229
+ try {
230
+ const content = readFileSync(file, "utf8");
231
+ if (content.includes("clio-coder") || content.includes("CLIO_CODER")) results.push(file);
232
+ } catch {
233
+ }
234
+ }
235
+ return results;
236
+ }
237
+ function survivingClioOnPath(localLink) {
238
+ return otherClioOnPath(findClioOnPath(), localLink);
239
+ }
240
+ function launcherItemStatus(verdict, removeRequested) {
241
+ if (verdict.kind === "absent") return "absent";
242
+ if (verdict.kind === "keep") return "skip";
243
+ return removeRequested ? "remove" : "skip";
244
+ }
245
+ function launcherItemDetail(verdict, removeRequested) {
246
+ if (verdict.kind === "absent") return void 0;
247
+ if (verdict.kind === "keep") return verdict.detail;
248
+ return removeRequested ? void 0 : "kept; --remove-binary unlinks it";
249
+ }
250
+ function binaryRemovalAdvice(method, linkPath) {
251
+ if (method === "npm") {
252
+ const prefix = readNpmPrefix();
253
+ return {
254
+ lead: prefix === null ? "To remove the launcher, run:" : `To remove the launcher from ${join(prefix, "bin")}, run:`,
255
+ command: "npm uninstall -g @iowarp/clio-coder\nhash -r"
256
+ };
257
+ }
258
+ return { lead: "To finish removing the launcher, run:", command: `rm "${linkPath}"
259
+ hash -r` };
260
+ }
261
+ async function runUninstallCommand(argv) {
262
+ let args;
263
+ try {
264
+ args = parseUninstallArgs(argv);
265
+ } catch (error) {
266
+ printError(error instanceof Error ? error.message : String(error));
267
+ process.stderr.write(HELP);
268
+ return 2;
269
+ }
270
+ if (args.help) {
271
+ process.stdout.write(HELP);
272
+ return 0;
273
+ }
274
+ const isInteractive = Boolean(process.stdin.isTTY);
275
+ if (!args.dryRun && !args.force && !isInteractive) {
276
+ printError("`clio-coder uninstall` needs a terminal to confirm; pass --force to skip the prompt");
277
+ return 2;
278
+ }
279
+ const dirs = resolveClioDirs();
280
+ const method = detectInstallMethod();
281
+ const presenter = createLifecyclePresenter({ json: args.json });
282
+ presenter.header("Uninstall Clio Coder", "uninstall");
283
+ presenter.step(`Installation method: ${method === "source" ? "source symlink" : "npm global"}`);
284
+ const configSize = measurePath(dirs.config);
285
+ const dataSize = measurePath(dirs.data);
286
+ const stateSize = measurePath(dirs.state);
287
+ const cacheSize = measurePath(dirs.cache);
288
+ const linkPath = launcherLinkPath();
289
+ const linkSize = measurePath(linkPath);
290
+ const launcher = classifyLauncher(linkPath);
291
+ const shellEdits = detectShellRcEdits();
292
+ const items = [
293
+ {
294
+ label: "Data",
295
+ path: dirs.data,
296
+ bytes: dataSize.bytes,
297
+ status: args.keepData ? "keep" : dataSize.exists ? "remove" : "absent",
298
+ detail: args.keepData ? "kept by --keep-data" : void 0
299
+ },
300
+ {
301
+ label: "Cache",
302
+ path: dirs.cache,
303
+ bytes: cacheSize.bytes,
304
+ status: cacheSize.exists ? "remove" : "absent"
305
+ },
306
+ {
307
+ label: "Config",
308
+ path: dirs.config,
309
+ bytes: configSize.bytes,
310
+ status: args.keepConfig ? "keep" : configSize.exists ? "remove" : "absent",
311
+ detail: args.keepConfig ? "kept by --keep-config" : void 0
312
+ },
313
+ {
314
+ label: "State",
315
+ path: dirs.state,
316
+ bytes: stateSize.bytes,
317
+ status: stateSize.exists ? "remove" : "absent",
318
+ detail: stateSize.exists ? "sessions, audit, receipts" : void 0
319
+ },
320
+ {
321
+ label: "Launcher",
322
+ path: linkPath,
323
+ bytes: linkSize.bytes,
324
+ status: launcherItemStatus(launcher, args.removeBinary),
325
+ detail: launcherItemDetail(launcher, args.removeBinary)
326
+ }
327
+ ];
328
+ for (const file of shellEdits) {
329
+ items.push({ label: "Shell config", path: file, status: "skip", detail: "mentions clio-coder; edit it by hand" });
330
+ }
331
+ presenter.listItems("The following will be removed", items);
332
+ const projectInv = projectContextInventory(dirs.state);
333
+ if (projectInv.dirs.length > 0) {
334
+ presenter.note("Per-project context, which uninstall does not remove:");
335
+ for (const dir of projectInv.dirs) {
336
+ presenter.substep(shortenPath(join(dir, ".clio-coder")), "\u2013");
337
+ }
338
+ presenter.commandAdvice("To clear one, run inside that project:", "clio-coder context reset --all");
339
+ }
340
+ const survivor = survivingClioOnPath(linkPath);
341
+ const advice = binaryRemovalAdvice(method, linkPath);
342
+ if (args.dryRun) {
343
+ presenter.warn("Dry run: no changes made");
344
+ if (launcher.kind !== "absent" && !args.removeBinary) presenter.commandAdvice(advice.lead, advice.command);
345
+ if (survivor !== null)
346
+ presenter.warn(`Another clio-coder stays on your PATH at ${survivor}; it is a separate install`);
347
+ presenter.done("Done");
348
+ return 0;
349
+ }
350
+ if (!args.force) {
351
+ const confirmed = await presenter.confirm("Are you sure you want to uninstall?", false);
352
+ if (!confirmed) {
353
+ presenter.warn("Uninstall cancelled");
354
+ presenter.done("Cancelled");
355
+ return 0;
356
+ }
357
+ }
358
+ const failures = [];
359
+ if (cacheSize.exists) {
360
+ const failure = removePath("cache", dirs.cache, false);
361
+ if (failure) failures.push(failure);
362
+ else presenter.completedStep("Removed Cache");
363
+ }
364
+ if (!args.keepData && dataSize.exists) {
365
+ const failure = removePath("data", dirs.data, false);
366
+ if (failure) failures.push(failure);
367
+ else presenter.completedStep("Removed Data");
368
+ }
369
+ if (!args.keepConfig && configSize.exists) {
370
+ const failure = removePath("config", dirs.config, false);
371
+ if (failure) failures.push(failure);
372
+ else presenter.completedStep("Removed Config");
373
+ }
374
+ if (stateSize.exists) {
375
+ const failure = removePath("state", dirs.state, false);
376
+ if (failure) failures.push(failure);
377
+ else presenter.completedStep("Removed State");
378
+ }
379
+ let launcherRemoved = false;
380
+ if (args.removeBinary && launcher.kind === "remove") {
381
+ const failure = removePath("launcher", linkPath, false);
382
+ if (failure) failures.push(failure);
383
+ else {
384
+ presenter.completedStep("Removed launcher");
385
+ launcherRemoved = true;
386
+ }
387
+ }
388
+ resetXdgCache();
389
+ if (failures.length > 0) {
390
+ presenter.fail("uninstall did not remove everything");
391
+ reportRemovalFailures(
392
+ `clio-coder uninstall${args.removeBinary ? " --remove-binary" : ""}${args.keepConfig ? " --keep-config" : ""}${args.keepData ? " --keep-data" : ""} --force`,
393
+ failures
394
+ );
395
+ presenter.finish();
396
+ return 1;
397
+ }
398
+ if (launcher.kind !== "absent" && !launcherRemoved) presenter.commandAdvice(advice.lead, advice.command);
399
+ if (survivor !== null)
400
+ presenter.warn(`Another clio-coder stays on your PATH at ${survivor}; it is a separate install`);
401
+ presenter.message("Thank you for using Clio Coder.");
402
+ presenter.done("Done");
403
+ return 0;
404
+ }
405
+ export {
406
+ runUninstallCommand
407
+ };
408
+ //# sourceMappingURL=uninstall-5PEVOE5B.js.map