@iowarp/clio-coder 0.4.2 → 0.4.4

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 (523) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/CONTRIBUTING.md +86 -19
  3. package/README.md +35 -6
  4. package/dist/{acp-TMDQZDIG.js → acp-WNAYYF4F.js} +12 -13
  5. package/dist/{agents-5N5NG3XG.js → agents-3OKXHLOI.js} +60 -57
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-Z5CCBXKQ.js → auth-VKNNMGPU.js} +21 -19
  8. package/dist/{builtins-K6TNDT24.js → builtins-WGALA46I.js} +9 -4
  9. package/dist/{chunk-XE3PCIXH.js → chunk-23L32XTI.js} +12 -9
  10. package/dist/{chunk-I64IFBLB.js → chunk-25QBEXRS.js} +18 -11
  11. package/dist/{chunk-CDNVLKUX.js → chunk-26QSH3EJ.js} +13 -7
  12. package/dist/{chunk-QQLGQY2A.js → chunk-2ASED4PZ.js} +22 -22
  13. package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
  14. package/dist/chunk-2DSOYNFC.js +108 -0
  15. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  16. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  17. package/dist/{chunk-O3YUNJZ2.js → chunk-2ZSONWVL.js} +82 -25
  18. package/dist/{chunk-2NHR3NAY.js → chunk-36CT5VVL.js} +331 -42
  19. package/dist/{chunk-2X4RYJTJ.js → chunk-3GY4F45V.js} +3 -3
  20. package/dist/{chunk-ZW55JB7N.js → chunk-3ODX73FK.js} +4 -6
  21. package/dist/{chunk-PBP4B7XR.js → chunk-3UNOLWNZ.js} +3 -3
  22. package/dist/{chunk-4JDLP6ZS.js → chunk-3UUXNFEX.js} +14 -10
  23. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  24. package/dist/{chunk-ZW4HH5JJ.js → chunk-4M6Z5QVF.js} +6 -6
  25. package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
  26. package/dist/{chunk-M2DAX4F6.js → chunk-4WR7VSYB.js} +2 -2
  27. package/dist/{chunk-FSP7CMNU.js → chunk-54X7T7DK.js} +61 -6
  28. package/dist/{chunk-54ODD65L.js → chunk-5636DCO5.js} +4 -4
  29. package/dist/chunk-57XXR6DR.js +3763 -0
  30. package/dist/{chunk-3KIPBMUA.js → chunk-5ICU3EUH.js} +2 -2
  31. package/dist/{chunk-77QIVUZB.js → chunk-5MEZN6CB.js} +4 -4
  32. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  33. package/dist/{chunk-YJISEZKC.js → chunk-5TUB6SLS.js} +6 -6
  34. package/dist/{chunk-IMXMHHMQ.js → chunk-6OSVSQL5.js} +341 -57
  35. package/dist/{chunk-Q4XWMHX6.js → chunk-6PAZTBPA.js} +14 -2
  36. package/dist/{chunk-FVDGR2ZL.js → chunk-6Q3CYFD3.js} +112 -39
  37. package/dist/{chunk-IDNA72AH.js → chunk-6QOTUPRG.js} +155 -36
  38. package/dist/{chunk-X7IARSHT.js → chunk-6UINWWS6.js} +16 -10
  39. package/dist/{chunk-CYZW7JHJ.js → chunk-72YIHOZQ.js} +9 -9
  40. package/dist/{chunk-IKSLQ4XV.js → chunk-75W7L2E2.js} +752 -861
  41. package/dist/{chunk-CRFOIAX3.js → chunk-7UGL4MB5.js} +6 -6
  42. package/dist/{chunk-HIICAHCJ.js → chunk-AUPNRN7C.js} +2 -2
  43. package/dist/{chunk-7BHIY2MW.js → chunk-BJVFZO5U.js} +8 -50
  44. package/dist/{chunk-B74PXLU7.js → chunk-CUSRQKPU.js} +65 -3
  45. package/dist/chunk-DQOVN6KV.js +386 -0
  46. package/dist/{chunk-E7GT7O5N.js → chunk-DT3LWJOB.js} +7 -4
  47. package/dist/chunk-DXKJURES.js +671 -0
  48. package/dist/{chunk-JBCS7CRR.js → chunk-EL24TAU4.js} +10 -10
  49. package/dist/{chunk-TPEQIQIE.js → chunk-ELWDPP3Y.js} +8 -8
  50. package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
  51. package/dist/chunk-EXLD33WO.js +381 -0
  52. package/dist/chunk-FEAXX7B6.js +101 -0
  53. package/dist/{chunk-RLYRBIYQ.js → chunk-FFUPXJC4.js} +90 -331
  54. package/dist/{chunk-5PFYMY2V.js → chunk-FTMGRKEF.js} +2 -2
  55. package/dist/{chunk-34BHNEE3.js → chunk-GHS5EBTQ.js} +58 -7
  56. package/dist/{chunk-DYHAXKHD.js → chunk-GWZNEVM2.js} +12 -8
  57. package/dist/chunk-GX5WYQO4.js +59 -0
  58. package/dist/chunk-GYV6VZOC.js +26 -0
  59. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  60. package/dist/chunk-I2DWJ4GM.js +390 -0
  61. package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
  62. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  63. package/dist/{chunk-XQRY4DTA.js → chunk-IGLP3ODT.js} +10 -10
  64. package/dist/chunk-IRXAATOX.js +539 -0
  65. package/dist/chunk-IXIY2H4R.js +44 -0
  66. package/dist/{chunk-SSEYRH53.js → chunk-IZXGRF7P.js} +92 -147
  67. package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
  68. package/dist/{chunk-JWJGP5DQ.js → chunk-JEIYHLOR.js} +7 -7
  69. package/dist/{chunk-F2I26BDK.js → chunk-JQLNNIKT.js} +4 -4
  70. package/dist/{chunk-BYMNWQ7O.js → chunk-JSD46VO2.js} +315 -63
  71. package/dist/{chunk-AK5XEFVZ.js → chunk-JT2RFCC5.js} +64 -14
  72. package/dist/{chunk-MCMZMDAC.js → chunk-K6T2ZAMZ.js} +168 -6
  73. package/dist/{chunk-PGF63K6I.js → chunk-KFV5L5SK.js} +73 -4
  74. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  75. package/dist/{chunk-PJX3WQUQ.js → chunk-LLXSDWXS.js} +3 -3
  76. package/dist/{chunk-DZAW46HP.js → chunk-LTIKRKFL.js} +3 -3
  77. package/dist/{chunk-DZEK6CJN.js → chunk-N56KALIC.js} +21 -21
  78. package/dist/{chunk-B7HM5Z7T.js → chunk-NAI6ZFCY.js} +9 -5
  79. package/dist/{chunk-I66ZTYNP.js → chunk-NRO2BJRH.js} +2656 -2213
  80. package/dist/{chunk-ZGNYYXQ6.js → chunk-NXIMQY5W.js} +3 -3
  81. package/dist/{chunk-IKOZFYBN.js → chunk-NXYCB2VD.js} +149 -106
  82. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  83. package/dist/{chunk-462T4EGZ.js → chunk-O5CVSAG5.js} +2 -2
  84. package/dist/chunk-ODGTEFFI.js +50 -0
  85. package/dist/{chunk-3F7VUY77.js → chunk-OEJSLEPW.js} +2 -2
  86. package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
  87. package/dist/{chunk-5KW52TEP.js → chunk-Q4WO54TA.js} +132 -77
  88. package/dist/{chunk-W6NIE6OW.js → chunk-QUFRYSWI.js} +13 -7
  89. package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
  90. package/dist/chunk-R6Q67RJH.js +134 -0
  91. package/dist/{chunk-W4YEMFBX.js → chunk-RAY4OVGZ.js} +3 -3
  92. package/dist/{chunk-ZNT2M6TG.js → chunk-RQCKCSRL.js} +17 -17
  93. package/dist/{chunk-LJID3DYZ.js → chunk-RXTN6AKH.js} +3 -3
  94. package/dist/{chunk-P75RZCJW.js → chunk-RZDWV63N.js} +3 -3
  95. package/dist/{chunk-UH632ZYL.js → chunk-S6PYF2XF.js} +2 -2
  96. package/dist/{chunk-HJWWJ6IL.js → chunk-TOIVGRUX.js} +17 -5
  97. package/dist/{chunk-HLAFFSEK.js → chunk-TQAHXW6Y.js} +2 -2
  98. package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
  99. package/dist/{chunk-2HFQNRV3.js → chunk-UEPWCCTY.js} +12 -12
  100. package/dist/chunk-UOIZ7DA4.js +41 -0
  101. package/dist/{chunk-UH347SHR.js → chunk-USR47QNF.js} +11 -11
  102. package/dist/{chunk-AZ4WMN4W.js → chunk-V6HJFQZE.js} +2 -2
  103. package/dist/chunk-V76WTFTW.js +318 -0
  104. package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
  105. package/dist/{chunk-KPXDY6QF.js → chunk-XRZT5WY5.js} +2 -2
  106. package/dist/{chunk-UBRFI4HS.js → chunk-XULDXHTN.js} +142 -50
  107. package/dist/chunk-XXYSBZIQ.js +283 -0
  108. package/dist/{chunk-HKMD33FO.js → chunk-Y55JBDO5.js} +405 -122
  109. package/dist/{chunk-XOXV5GKE.js → chunk-YD5GIKET.js} +17 -8
  110. package/dist/{chunk-XGDPUNND.js → chunk-YECAMM3D.js} +2 -2
  111. package/dist/{chunk-BO7Y52RY.js → chunk-YNFKXPEC.js} +7 -7
  112. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  113. package/dist/{chunk-M2WXEHER.js → chunk-ZA4VCIGV.js} +2 -2
  114. package/dist/cli/index.js +42 -40
  115. package/dist/{clio-7VB377CC.js → clio-QLICPCF5.js} +7 -7
  116. package/dist/{code-nav-YVLCYA7V.js → code-nav-IJR2DBPR.js} +9 -9
  117. package/dist/{components-UBWCQSRW.js → components-2TGAI2RC.js} +5 -6
  118. package/dist/{config-4HVOS65E.js → config-IUA6OYNS.js} +88 -81
  119. package/dist/{configure-PIWO7B24.js → configure-VEPX4NMX.js} +26 -25
  120. package/dist/{context-KQYIWPWT.js → context-2DKHWH2T.js} +60 -45
  121. package/dist/{context-IYEHL3WQ.js → context-4MPR7WKB.js} +78 -69
  122. package/dist/{context-N6ZE3LGJ.js → context-BOYF5EJM.js} +15 -11
  123. package/dist/{context-clear-G4OGZJDS.js → context-clear-S4ZJCQUX.js} +73 -65
  124. package/dist/context-map-COB37XXN.js +505 -0
  125. package/dist/{context-working-set-BWLF6LJP.js → context-working-set-3I3FYX6Y.js} +18 -17
  126. package/dist/detail-A7JAVSIG.js +98 -0
  127. package/dist/{dispatch-runner-2QQAITS3.js → dispatch-runner-RJ5I2F2O.js} +99 -75
  128. package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
  129. package/dist/{doctor-LHBD36VU.js → doctor-DKICC2SN.js} +71 -48
  130. package/dist/{eval-C45FYRJ6.js → eval-OQOQUDHK.js} +308 -146
  131. package/dist/{eval-inventory-6DEJPLBF.js → eval-inventory-Y6QRFOH5.js} +4 -4
  132. package/dist/{evidence-6SHONYAF.js → evidence-4DQ25GUQ.js} +79 -175
  133. package/dist/evidence-4F5USFKH.js +208 -0
  134. package/dist/{evolve-KRKMV72X.js → evolve-GSS52E5J.js} +71 -67
  135. package/dist/{extensions-KPZ2UHBB.js → extensions-G7MFLYHT.js} +8 -9
  136. package/dist/{fleet-IVTCKDHT.js → fleet-Q37YHHAQ.js} +126 -118
  137. package/dist/{fleet-commands-EDWL3IT7.js → fleet-commands-G7E4N7SM.js} +16 -13
  138. package/dist/{fleet-decisions-YP3YEFGK.js → fleet-decisions-O7M6QBA2.js} +9 -8
  139. package/dist/{fleet-graph-ZFWKHY2M.js → fleet-graph-TOUBW6OW.js} +21 -20
  140. package/dist/{fleet-inspect-FVUNCBML.js → fleet-inspect-SW33JJNI.js} +65 -60
  141. package/dist/{fleet-preflight-UN5XED4R.js → fleet-preflight-CV2655TW.js} +4 -5
  142. package/dist/{fleet-validate-XOWC4HSX.js → fleet-validate-KESZX2YH.js} +25 -24
  143. package/dist/{fleet-verify-UN3SODEL.js → fleet-verify-UQPMTVE3.js} +66 -61
  144. package/dist/{fleet-view-TWHJKCN6.js → fleet-view-MN2VG4MR.js} +65 -60
  145. package/dist/{init-T2QORQ3Y.js → init-PXEXQSBF.js} +90 -82
  146. package/dist/{interop-IN5I2A66.js → interop-ZG5T62U3.js} +12 -13
  147. package/dist/inventory-C26CFDRR.js +101 -0
  148. package/dist/{library-LSCATDLZ.js → library-B2W4N74O.js} +29 -29
  149. package/dist/{memory-HYOKAGGJ.js → memory-YCANYS5A.js} +73 -69
  150. package/dist/{models-2GPMFYCM.js → models-GERTU3YI.js} +51 -47
  151. package/dist/{monitor-E4ASVUJH.js → monitor-CPNIUULB.js} +74 -67
  152. package/dist/{orchestrator-DDMPR3PY.js → orchestrator-J4BSH4WQ.js} +1288 -1606
  153. package/dist/{panes-E3RUXOW5.js → panes-BOHAEGYC.js} +4 -4
  154. package/dist/{panes-IXKLOKA2.js → panes-NXSLDQZ2.js} +10 -11
  155. package/dist/{paths-L7LGY6RN.js → paths-VSUWNC22.js} +6 -7
  156. package/dist/reset-TNWTB5LU.js +343 -0
  157. package/dist/{resources-OTRSN34L.js → resources-4PXNMD5G.js} +29 -22
  158. package/dist/{run-5DEYH5QK.js → run-D6XJ34CN.js} +132 -132
  159. package/dist/{share-IHWTLO3M.js → share-2NWMJJEE.js} +27 -27
  160. package/dist/{skills-IYMXMKW4.js → skills-KR7WON5G.js} +40 -33
  161. package/dist/{skills-eval-DROHSJAR.js → skills-eval-O2ZNOLDS.js} +81 -77
  162. package/dist/{skills-inventory-D7X4L4ZX.js → skills-inventory-ZZOUBK7O.js} +23 -22
  163. package/dist/{slash-commands-QBM7UZ3B.js → slash-commands-ZXPJD64J.js} +47 -37
  164. package/dist/{steer-Z5DO23FJ.js → steer-XA25PSCS.js} +4 -4
  165. package/dist/{support-U7QOWY26.js → support-7EMVWYG2.js} +6 -6
  166. package/dist/{targets-P2FUC4IL.js → targets-OMH2XCSN.js} +50 -49
  167. package/dist/tasks-IPAGMEIX.js +36 -0
  168. package/dist/{terminal-lease-YREJ3JX2.js → terminal-lease-C2J3JYRE.js} +4 -4
  169. package/dist/{tools-5B7RO6MV.js → tools-EFFEAIDP.js} +8 -9
  170. package/dist/{trace-YMGMUM6A.js → trace-FXMXUZUF.js} +7 -7
  171. package/dist/uninstall-HALS6BLF.js +407 -0
  172. package/dist/upgrade-MS72RJEP.js +306 -0
  173. package/dist/{usage-ME5MPXGX.js → usage-NHG6MCJM.js} +162 -108
  174. package/dist/{verifiers-BVZ7IWOO.js → verifiers-7AUNVXDY.js} +155 -22
  175. package/dist/{verify-5K7ZKQFC.js → verify-FWYGPKMR.js} +14 -12
  176. package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
  177. package/dist/{wiki-generate-F5W5QTYY.js → wiki-generate-743CIGJW.js} +99 -90
  178. package/dist/{with-panes-BYOJCLAM.js → with-panes-BDQEWBRT.js} +10 -10
  179. package/dist/worker/entry.js +72 -68
  180. package/docs/README.md +3 -2
  181. package/docs/architecture/acp.md +17 -0
  182. package/docs/architecture/artifact-placement.md +1 -0
  183. package/docs/architecture/artifact-versions.md +2 -2
  184. package/docs/architecture/context-engine.md +4 -0
  185. package/docs/architecture/dispatch-typed-intent.md +1 -1
  186. package/docs/architecture/evidence-and-memory.md +1 -1
  187. package/docs/architecture/middleware-and-components.md +1 -1
  188. package/docs/architecture/model-catalog.md +21 -10
  189. package/docs/architecture/observability.md +19 -2
  190. package/docs/architecture/prompt-envelope-and-tools.md +17 -5
  191. package/docs/architecture/provider-adapter-cookbook.md +63 -0
  192. package/docs/architecture/safety-model.md +25 -22
  193. package/docs/architecture/tui-design.md +1 -1
  194. package/docs/guide/built-in-agents.md +25 -11
  195. package/docs/guide/commands-and-modes.md +18 -3
  196. package/docs/guide/configuration-and-targets.md +100 -10
  197. package/docs/guide/configuration-reference.md +17 -7
  198. package/docs/guide/environment-variables.md +4 -2
  199. package/docs/guide/installation-and-lifecycle.md +37 -4
  200. package/docs/guide/proactive-memory.md +66 -55
  201. package/docs/guide/skills-marketplace.md +18 -0
  202. package/docs/guide/tool-usage.md +78 -3
  203. package/docs/history/config-knobs-audit.md +2 -2
  204. package/docs/process/development-pipeline.md +40 -2
  205. package/docs/process/eval-runner.md +67 -3
  206. package/docs/process/git-commit-provenance.md +15 -0
  207. package/docs/process/release-cut-checklist.md +207 -0
  208. package/docs/process/scientific-validation.md +18 -17
  209. package/evals/behavioral-machinery-support.ts +1 -0
  210. package/evals/behavioral-machinery.yaml +1 -1
  211. package/evals/behavioral-model.yaml +3 -2
  212. package/package.json +2 -2
  213. package/skills/README.md +7 -5
  214. package/skills/coding/ast-grep/SKILL.md +101 -30
  215. package/skills/coding/ast-grep/evals.md +26 -0
  216. package/skills/coding/coding-standards/SKILL.md +47 -2
  217. package/skills/coding/coding-standards/evals.md +23 -0
  218. package/skills/coding/prototype/SKILL.md +87 -28
  219. package/skills/coding/prototype/evals.md +19 -0
  220. package/skills/coding/tdd/SKILL.md +80 -53
  221. package/skills/coding/tdd/evals.md +20 -0
  222. package/skills/context/context-handoff/SKILL.md +43 -2
  223. package/skills/context/context-handoff/evals.md +44 -0
  224. package/skills/context/context-prime/SKILL.md +45 -15
  225. package/skills/context/context-prime/evals.md +45 -0
  226. package/skills/git/branch-closeout/SKILL.md +132 -0
  227. package/skills/git/branch-closeout/evals.md +133 -0
  228. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  229. package/skills/git/file-ticket/SKILL.md +77 -63
  230. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  231. package/skills/git/file-ticket/evals.md +31 -26
  232. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  233. package/skills/git/fix-issue/SKILL.md +87 -64
  234. package/skills/git/fix-issue/evals.md +35 -31
  235. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  236. package/skills/git/resolve-merge-conflicts/SKILL.md +100 -51
  237. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  238. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  239. package/skills/git/ship/SKILL.md +103 -67
  240. package/skills/git/ship/assets/pr-template.md +21 -0
  241. package/skills/git/ship/evals.md +44 -28
  242. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  243. package/skills/git/worktree-create/SKILL.md +80 -50
  244. package/skills/git/worktree-create/evals.md +40 -33
  245. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  246. package/skills/git/worktree-merge/SKILL.md +112 -65
  247. package/skills/git/worktree-merge/evals.md +42 -34
  248. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  249. package/skills/planning/archify/SKILL.md +196 -0
  250. package/skills/planning/archify/evals.md +65 -0
  251. package/skills/planning/architecture/SKILL.md +61 -12
  252. package/skills/planning/architecture/evals.md +65 -0
  253. package/skills/planning/backlog/SKILL.md +130 -14
  254. package/skills/planning/backlog/evals.md +142 -0
  255. package/skills/planning/prd/SKILL.md +47 -6
  256. package/skills/planning/prd/evals.md +54 -0
  257. package/skills/planning/product-intent/SKILL.md +57 -2
  258. package/skills/planning/product-intent/evals.md +70 -0
  259. package/skills/planning/tech-spec/SKILL.md +53 -2
  260. package/skills/planning/tech-spec/evals.md +73 -0
  261. package/skills/registry.yaml +58 -50
  262. package/skills/remote.yaml +13 -0
  263. package/skills/research/arxiv-literature/SKILL.md +76 -18
  264. package/skills/research/arxiv-literature/evals.md +50 -0
  265. package/skills/research/experiment-protocol/SKILL.md +20 -1
  266. package/skills/research/experiment-protocol/evals.md +23 -0
  267. package/skills/research/scientific-debugging/SKILL.md +24 -1
  268. package/skills/research/scientific-debugging/evals.md +18 -0
  269. package/skills/research/scientific-modernization/SKILL.md +26 -1
  270. package/skills/research/scientific-modernization/evals.md +27 -0
  271. package/skills/skill-marketplace.json +63 -28
  272. package/skills/workflow/cut-it/SKILL.md +64 -5
  273. package/skills/workflow/cut-it/evals.md +101 -0
  274. package/skills/workflow/design-council/SKILL.md +112 -27
  275. package/skills/workflow/design-council/evals.md +161 -0
  276. package/skills/workflow/grill-me/SKILL.md +85 -10
  277. package/skills/workflow/grill-me/evals.md +153 -0
  278. package/skills/workflow/workflow-distiller/SKILL.md +76 -17
  279. package/skills/workflow/workflow-distiller/evals.md +118 -0
  280. package/src/cli/args.ts +0 -8
  281. package/src/cli/configure-interop.ts +105 -13
  282. package/src/cli/configure-oauth.ts +57 -0
  283. package/src/cli/configure-onboarding.ts +980 -0
  284. package/src/cli/configure-target.ts +594 -0
  285. package/src/cli/configure.ts +1084 -529
  286. package/src/cli/context-map.ts +114 -0
  287. package/src/cli/context.ts +4 -0
  288. package/src/cli/doctor-state-size.ts +1 -12
  289. package/src/cli/doctor-validation-contract.ts +28 -0
  290. package/src/cli/doctor.ts +5 -0
  291. package/src/cli/evidence-detail.ts +1 -75
  292. package/src/cli/evidence-inventory.ts +1 -167
  293. package/src/cli/index.ts +3 -0
  294. package/src/cli/lifecycle-presenter.ts +436 -0
  295. package/src/cli/models.ts +10 -2
  296. package/src/cli/modes/print.ts +5 -1
  297. package/src/cli/reset.ts +228 -106
  298. package/src/cli/run.ts +7 -4
  299. package/src/cli/select.ts +664 -0
  300. package/src/cli/skills.ts +9 -2
  301. package/src/cli/targets.ts +3 -0
  302. package/src/cli/tasks.ts +84 -0
  303. package/src/cli/uninstall.ts +233 -165
  304. package/src/cli/upgrade.ts +210 -150
  305. package/src/cli/usage.ts +92 -27
  306. package/src/cli/validate-model.ts +3 -3
  307. package/src/cli/verifiers.ts +147 -1
  308. package/src/cli/wiki-generate.ts +1 -0
  309. package/src/core/commit-attribution.ts +41 -1
  310. package/src/core/config.ts +56 -0
  311. package/src/core/external-diagnostic.ts +44 -0
  312. package/src/core/gateway-routing.ts +157 -0
  313. package/src/core/git-commit-attribution.ts +46 -3
  314. package/src/core/run-overrides.ts +0 -5
  315. package/src/core/safe-exec.ts +17 -2
  316. package/src/core/skill-activation.ts +92 -2
  317. package/src/core/tool-names.ts +5 -2
  318. package/src/domains/agents/builtins/architect.md +1 -1
  319. package/src/domains/agents/builtins/coder.md +1 -1
  320. package/src/domains/agents/builtins/documenter.md +1 -1
  321. package/src/domains/agents/builtins/git-master.md +1 -1
  322. package/src/domains/agents/builtins/provenance.md +7 -7
  323. package/src/domains/agents/builtins/tester.md +1 -1
  324. package/src/domains/agents/builtins/verifier.md +2 -2
  325. package/src/domains/agents/builtins/wiki-writer.md +4 -3
  326. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  327. package/src/domains/agents/catalog.ts +1 -1
  328. package/src/domains/agents/result-contract.ts +70 -0
  329. package/src/domains/context/extension.ts +31 -7
  330. package/src/domains/context/refresh.ts +3 -0
  331. package/src/domains/context/wiki/frontmatter.ts +5 -2
  332. package/src/domains/context/wiki/generate.ts +6 -0
  333. package/src/domains/context/wiki/map-seed.ts +589 -0
  334. package/src/domains/context/wiki/plan.ts +2 -2
  335. package/src/domains/context/wiki/prompts.ts +43 -0
  336. package/src/domains/dispatch/active-route-planner.ts +4 -0
  337. package/src/domains/dispatch/admission.ts +29 -0
  338. package/src/domains/dispatch/agent-candidates.ts +10 -0
  339. package/src/domains/dispatch/budget-envelope.ts +86 -1
  340. package/src/domains/dispatch/capability-match.ts +1 -0
  341. package/src/domains/dispatch/capacity-lease.ts +17 -0
  342. package/src/domains/dispatch/code-step.ts +11 -4
  343. package/src/domains/dispatch/contract.ts +42 -8
  344. package/src/domains/dispatch/execution-scheduler.ts +2 -0
  345. package/src/domains/dispatch/extension.ts +184 -56
  346. package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
  347. package/src/domains/dispatch/fleet-run.ts +1 -0
  348. package/src/domains/dispatch/host-verification.ts +114 -13
  349. package/src/domains/dispatch/intent.ts +28 -18
  350. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  351. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  352. package/src/domains/dispatch/reservation-store.ts +5 -3
  353. package/src/domains/dispatch/state.ts +15 -2
  354. package/src/domains/dispatch/types.ts +20 -2
  355. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  356. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  357. package/src/domains/eval/metrics/token-stream.ts +201 -31
  358. package/src/domains/eval/metrics/tracked.ts +40 -4
  359. package/src/domains/eval/runners/clio-run.ts +17 -11
  360. package/src/domains/eval/runners/context-index.ts +2 -7
  361. package/src/domains/eval/runners/context-init.ts +3 -6
  362. package/src/domains/eval/runners/external-command.ts +29 -11
  363. package/src/domains/eval/schema/suite.ts +28 -0
  364. package/src/domains/eval/schema/verdict.ts +2 -2
  365. package/src/domains/eval/suites/resolve.ts +13 -1
  366. package/src/domains/eval/suites/run.ts +24 -3
  367. package/src/domains/evidence/build.ts +102 -15
  368. package/src/domains/evidence/detail.ts +69 -0
  369. package/src/domains/evidence/eval.ts +13 -1
  370. package/src/domains/evidence/finish-contract-map.ts +5 -1
  371. package/src/domains/evidence/inventory.ts +167 -0
  372. package/src/domains/evidence/store.ts +16 -0
  373. package/src/domains/evidence/types.ts +12 -0
  374. package/src/domains/extensions/resources.ts +7 -0
  375. package/src/domains/interop/registry.ts +6 -2
  376. package/src/domains/interop/types.ts +4 -0
  377. package/src/domains/lifecycle/migrations/index.ts +4 -0
  378. package/src/domains/memory/task-memory-policy.ts +70 -26
  379. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  380. package/src/domains/middleware/index.ts +0 -1
  381. package/src/domains/middleware/marketplace-offer.ts +22 -35
  382. package/src/domains/middleware/memory-intervention.ts +127 -32
  383. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  384. package/src/domains/middleware/runtime.ts +7 -3
  385. package/src/domains/middleware/skills-reminder.ts +31 -2
  386. package/src/domains/mux/detect.ts +3 -6
  387. package/src/domains/observability/accountability.ts +15 -1
  388. package/src/domains/observability/compaction-usage.ts +118 -0
  389. package/src/domains/observability/contract.ts +52 -7
  390. package/src/domains/observability/cost.ts +1 -1
  391. package/src/domains/observability/evidence-index.ts +10 -0
  392. package/src/domains/observability/extension.ts +15 -6
  393. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  394. package/src/domains/observability/projection.ts +394 -45
  395. package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
  396. package/src/domains/prompts/fragments/operating/contract.md +2 -0
  397. package/src/domains/prompts/fragments/wiki/page.md +8 -0
  398. package/src/domains/providers/contract.ts +4 -1
  399. package/src/domains/providers/extension.ts +40 -9
  400. package/src/domains/providers/model-capabilities.ts +9 -0
  401. package/src/domains/providers/model-discovery.ts +3 -4
  402. package/src/domains/providers/model-runtime-capabilities.ts +15 -5
  403. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +48 -26
  404. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  405. package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
  406. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  407. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  408. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  409. package/src/domains/providers/support.ts +11 -5
  410. package/src/domains/providers/target-model-cache.ts +25 -2
  411. package/src/domains/providers/types/capability-flags.ts +2 -0
  412. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  413. package/src/domains/providers/types/target-descriptor.ts +19 -0
  414. package/src/domains/resources/index.ts +3 -0
  415. package/src/domains/resources/skills/install.ts +72 -7
  416. package/src/domains/resources/skills/loader.ts +7 -0
  417. package/src/domains/resources/skills/marketplace.ts +63 -11
  418. package/src/domains/safety/action-classifier.ts +7 -0
  419. package/src/domains/safety/autonomy.ts +15 -0
  420. package/src/domains/safety/default-path-policy.ts +2 -0
  421. package/src/domains/safety/finish-contract-registration.ts +29 -14
  422. package/src/domains/safety/finish-contract.ts +252 -40
  423. package/src/domains/safety/index.ts +21 -1
  424. package/src/domains/safety/path-policy.ts +1 -1
  425. package/src/domains/safety/policy-engine.ts +60 -17
  426. package/src/domains/safety/protected-artifacts.ts +191 -88
  427. package/src/domains/safety/rigor.ts +53 -39
  428. package/src/domains/safety/run-effects.ts +2 -22
  429. package/src/domains/safety/skill-authority.ts +55 -0
  430. package/src/domains/safety/validation-contract.ts +388 -0
  431. package/src/domains/session/archive-readers.ts +10 -1
  432. package/src/domains/session/compaction/compact.ts +72 -22
  433. package/src/domains/session/decision-board.ts +101 -2
  434. package/src/domains/session/entries.ts +50 -7
  435. package/src/domains/session/extension.ts +4 -4
  436. package/src/domains/session/handoff.ts +2 -1
  437. package/src/domains/session/manager.ts +2 -3
  438. package/src/domains/session/task-board.ts +14 -1
  439. package/src/domains/session/tree/fork.ts +1 -2
  440. package/src/domains/session/tree/navigator.ts +1 -1
  441. package/src/domains/session/usage.ts +3 -3
  442. package/src/domains/user-tasks/acceptance.ts +56 -0
  443. package/src/domains/user-tasks/active-acceptance.ts +40 -0
  444. package/src/domains/user-tasks/store.ts +34 -3
  445. package/src/engine/acp/adapter.ts +24 -6
  446. package/src/engine/acp/server.ts +21 -4
  447. package/src/engine/acp/transport.ts +53 -8
  448. package/src/engine/acp/types.ts +4 -0
  449. package/src/engine/agent.ts +13 -3
  450. package/src/engine/ai.ts +26 -8
  451. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  452. package/src/engine/api-registry.ts +3 -0
  453. package/src/engine/apis/ollama-native.ts +15 -0
  454. package/src/engine/apis/openai-completions.ts +117 -14
  455. package/src/engine/claude/subprocess-runtime.ts +107 -60
  456. package/src/engine/external-subprocess.ts +122 -6
  457. package/src/entry/background-model-metadata.ts +18 -0
  458. package/src/entry/compaction-prompt.ts +57 -0
  459. package/src/entry/orchestrator.ts +416 -218
  460. package/src/entry/task-memory-lifecycle.ts +35 -0
  461. package/src/interactive/chat-loop-messages.ts +13 -4
  462. package/src/interactive/chat-loop.ts +65 -2
  463. package/src/interactive/chat-renderer.ts +1 -0
  464. package/src/interactive/cost-overlay.ts +26 -2
  465. package/src/interactive/dispatch-board.ts +46 -717
  466. package/src/interactive/fleet-run-preview.ts +2 -1
  467. package/src/interactive/interactive-application.ts +3 -2
  468. package/src/interactive/interactive-presentation.ts +55 -12
  469. package/src/interactive/interactive-slash-runtime.ts +4 -2
  470. package/src/interactive/oracle.ts +5 -2
  471. package/src/interactive/overlays/fleet-run-approval.ts +3 -2
  472. package/src/interactive/overlays/message-picker.ts +2 -2
  473. package/src/interactive/overlays/settings.ts +2 -2
  474. package/src/interactive/overlays/tree-selector.ts +2 -2
  475. package/src/interactive/renderers/branch-summary.ts +1 -1
  476. package/src/interactive/renderers/worker-entry.ts +32 -0
  477. package/src/interactive/slash-autocomplete.ts +4 -6
  478. package/src/interactive/slash-commands.ts +49 -45
  479. package/src/interactive/slash-spec.ts +28 -0
  480. package/src/interactive/theme/labels.ts +19 -13
  481. package/src/interactive/turn-context.ts +9 -5
  482. package/src/interactive/turn-recovery.ts +8 -0
  483. package/src/interactive/turn-runtime.ts +27 -11
  484. package/src/interactive/turn-state.ts +7 -0
  485. package/src/interactive/view/artifacts.ts +2 -0
  486. package/src/interactive/worker-receipts.ts +1 -0
  487. package/src/interactive/worker-stream.ts +13 -4
  488. package/src/tools/bootstrap.ts +4 -0
  489. package/src/tools/builtin-tool-catalog.ts +31 -0
  490. package/src/tools/compete-worktrees.ts +7 -1
  491. package/src/tools/context/index.ts +30 -9
  492. package/src/tools/core-bootstrap.ts +16 -0
  493. package/src/tools/decide.ts +136 -0
  494. package/src/tools/dispatch-admission.ts +21 -0
  495. package/src/tools/dispatch-arguments.ts +1 -0
  496. package/src/tools/dispatch-event-text.ts +10 -0
  497. package/src/tools/dispatch-plan.ts +6 -2
  498. package/src/tools/dispatch-runner.ts +27 -1
  499. package/src/tools/dispatch-types.ts +6 -0
  500. package/src/tools/evidence.ts +96 -0
  501. package/src/tools/limitation.ts +76 -0
  502. package/src/tools/policy.ts +9 -0
  503. package/src/tools/presentation.ts +3 -0
  504. package/src/tools/registry.ts +11 -5
  505. package/src/tools/result-shaping.ts +17 -5
  506. package/src/tools/task-worktree.ts +13 -3
  507. package/src/tools/tasks.ts +10 -1
  508. package/src/tools/verify/authoring.ts +170 -83
  509. package/src/tools/verify/catalog.ts +122 -5
  510. package/src/tools/verify/index.ts +2 -1
  511. package/src/tools/verify/numeric.ts +298 -0
  512. package/src/tools/verify/perf.ts +143 -0
  513. package/src/tools/verify/scripts.ts +229 -2
  514. package/src/tools/worker-evidence.ts +3 -1
  515. package/src/worker/spec-contract.ts +4 -0
  516. package/dist/chunk-2Z2IKEXI.js +0 -1554
  517. package/dist/chunk-RVG5JXAL.js +0 -41
  518. package/dist/chunk-T56WDKA5.js +0 -183
  519. package/dist/chunk-VN3SHNBN.js +0 -313
  520. package/dist/chunk-VPKWYKEY.js +0 -169
  521. package/dist/reset-OAQP3W4O.js +0 -230
  522. package/dist/uninstall-N34PCTGJ.js +0 -331
  523. package/dist/upgrade-PXK3S2YM.js +0 -325
@@ -2,10 +2,10 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  parseJsonObjectPayload,
4
4
  parseVerifierResult
5
- } from "./chunk-PGF63K6I.js";
5
+ } from "./chunk-KFV5L5SK.js";
6
6
  import {
7
7
  atomicWrite
8
- } from "./chunk-MQXIVJ35.js";
8
+ } from "./chunk-HAXOFFRH.js";
9
9
  import {
10
10
  clioStateDir
11
11
  } from "./chunk-BYP5D4HI.js";
@@ -685,4 +685,4 @@ export {
685
685
  readGateDecisionArtifacts,
686
686
  readGateDecisionArtifactsForRunIds
687
687
  };
688
- //# sourceMappingURL=chunk-ZGNYYXQ6.js.map
688
+ //# sourceMappingURL=chunk-NXIMQY5W.js.map
@@ -1,37 +1,27 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- isVerificationScriptName
4
- } from "./chunk-UL3WSD3F.js";
5
2
  import {
6
3
  canonicalizeExistingPath
7
4
  } from "./chunk-ECH6PKUQ.js";
5
+ import {
6
+ artifactDefaultPath
7
+ } from "./chunk-GYV6VZOC.js";
8
+ import {
9
+ isVerificationScriptName
10
+ } from "./chunk-UL3WSD3F.js";
8
11
  import {
9
12
  ToolNames
10
- } from "./chunk-K6BSR66V.js";
13
+ } from "./chunk-4NSRCOYP.js";
11
14
  import {
12
15
  init_esm_shims
13
16
  } from "./chunk-3R73A4XB.js";
14
17
 
15
- // src/core/artifact-paths.ts
16
- init_esm_shims();
17
- var CLIO_PROJECT_DIR = ".clio-coder";
18
- var CLIO_ARTIFACT_DIR = `${CLIO_PROJECT_DIR}/artifacts`;
19
- var KIND_FILENAMES = {
20
- plan: "PLAN.md",
21
- review: "REVIEW.md",
22
- report: "REPORT.md"
23
- };
24
- var DEFAULT_FILENAME = KIND_FILENAMES.plan;
25
- function artifactDefaultPath(kind) {
26
- const filename = typeof kind === "string" ? KIND_FILENAMES[kind] ?? DEFAULT_FILENAME : DEFAULT_FILENAME;
27
- return `${CLIO_ARTIFACT_DIR}/${filename}`;
28
- }
29
-
30
18
  // src/domains/safety/protected-artifacts.ts
31
19
  init_esm_shims();
32
20
  import path from "node:path";
33
- var COMMAND_SEPARATORS = /* @__PURE__ */ new Set([";", "&&", "||", "|"]);
21
+ var COMMAND_SEPARATORS = /* @__PURE__ */ new Set([";", "&", "&&", "||", "|"]);
34
22
  var SHELL_WRAPPERS = /* @__PURE__ */ new Set(["command", "builtin", "sudo", "doas"]);
23
+ var SHELL_REDIRECTIONS = /* @__PURE__ */ new Set([">", ">>", "<", "<<", "<<<", "<&", ">&", "<>", ">|", "&>", "&>>"]);
24
+ var SHELL_WRITE_REDIRECTIONS = /* @__PURE__ */ new Set([">", ">>", ">&", "<>", ">|", "&>", "&>>"]);
35
25
  function toolMutationPaths(toolName, args) {
36
26
  if (toolName === ToolNames.Artifact) {
37
27
  return [mutationPathArg(args) ?? artifactDefaultPath(args?.kind)];
@@ -79,9 +69,9 @@ function isProtectedPath(state, artifactPath) {
79
69
  function classifyDestructiveCommand(command, protectedArtifacts) {
80
70
  const artifacts = normalizedArtifacts(protectedArtifacts);
81
71
  if (artifacts.length === 0) return { kind: "benign", matches: [] };
82
- const tokens = tokenizeShellLike(command);
83
- for (const segment of splitSegments(tokens)) {
84
- const redirect = classifyRedirect(segment, artifacts);
72
+ for (const tokens of splitSegments(scanShellLike(command))) {
73
+ const segment = shellCommandArguments(tokens);
74
+ const redirect = classifyRedirect(tokens, artifacts);
85
75
  if (redirect.kind === "destructive") return redirect;
86
76
  const commandIndex = commandTokenIndex(segment);
87
77
  if (commandIndex === null) continue;
@@ -141,8 +131,8 @@ function classifyDestructiveCommand(command, protectedArtifacts) {
141
131
  return { kind: "benign", matches: [] };
142
132
  }
143
133
  function detectValidationCommand(command, scope = "finish-contract") {
144
- const tokens = tokenizeShellLike(command);
145
- for (const segment of splitSegments(tokens)) {
134
+ for (const tokens of splitSegments(scanShellLike(command))) {
135
+ const segment = shellCommandArguments(tokens);
146
136
  const commandIndex = commandTokenIndex(segment);
147
137
  if (commandIndex === null) continue;
148
138
  const executable = basenameToken(segment[commandIndex]);
@@ -154,10 +144,11 @@ function detectValidationCommand(command, scope = "finish-contract") {
154
144
  }
155
145
  function extractCommandWriteTargets(command) {
156
146
  const targets = [];
157
- for (const segment of expandedSegments(command)) {
147
+ for (const segment of expandedShellSegments(command)) {
158
148
  collectRedirectTargets(segment, targets);
159
- collectInvokedWriteTargets(segment, targets);
160
- collectInPlaceEditTargets(segment, targets);
149
+ const argv = shellCommandArguments(segment);
150
+ collectInvokedWriteTargets(argv, targets);
151
+ collectInPlaceEditTargets(argv, targets);
161
152
  }
162
153
  return targets.filter(isInterestingWriteTarget);
163
154
  }
@@ -179,27 +170,28 @@ function segmentShellScript(segment) {
179
170
  }
180
171
  return null;
181
172
  }
182
- function expandedSegments(command, depth = 0) {
183
- const segments = splitSegments(tokenizeShellLike(command));
173
+ function expandedShellSegments(command, depth = 0) {
174
+ const segments = splitSegments(scanShellLike(command));
184
175
  if (depth >= INNER_SHELL_MAX_DEPTH) return segments;
185
176
  const out = [];
186
177
  for (const segment of segments) {
187
178
  out.push(segment);
188
- const script = segmentShellScript(segment);
189
- if (script !== null) out.push(...expandedSegments(script, depth + 1));
179
+ const script = segmentShellScript(shellCommandArguments(segment));
180
+ if (script !== null) out.push(...expandedShellSegments(script, depth + 1));
190
181
  }
191
182
  return out;
192
183
  }
193
184
  function inlineShellScript(command) {
194
- const segments = splitSegments(tokenizeShellLike(command));
185
+ const segments = splitSegments(scanShellLike(command));
195
186
  if (segments.length !== 1) return null;
196
187
  const segment = segments[0];
197
188
  if (segment === void 0) return null;
198
- return segmentShellScript(segment);
189
+ return segmentShellScript(shellCommandArguments(segment));
199
190
  }
200
191
  function extractCommandCdTargets(command) {
201
192
  const targets = [];
202
- for (const segment of expandedSegments(command)) {
193
+ for (const tokens of expandedShellSegments(command)) {
194
+ const segment = shellCommandArguments(tokens);
203
195
  const commandIndex = commandTokenIndex(segment);
204
196
  if (commandIndex === null) continue;
205
197
  const executable = basenameToken(segment[commandIndex]);
@@ -211,7 +203,8 @@ function extractCommandCdTargets(command) {
211
203
  }
212
204
  function extractCommandDeleteTargets(command) {
213
205
  const targets = [];
214
- for (const segment of expandedSegments(command)) {
206
+ for (const tokens of expandedShellSegments(command)) {
207
+ const segment = shellCommandArguments(tokens);
215
208
  const commandIndex = commandTokenIndex(segment);
216
209
  if (commandIndex === null) continue;
217
210
  const executable = basenameToken(segment[commandIndex]);
@@ -230,15 +223,85 @@ function extractCommandDeleteTargets(command) {
230
223
  }
231
224
  return targets.filter(isInterestingWriteTarget);
232
225
  }
226
+ function invokesClioSkillMutation(command) {
227
+ for (const segment of expandedShellSegments(command)) {
228
+ const argv = shellCommandArguments(segment);
229
+ const index = commandTokenIndex(argv);
230
+ if (index === null) continue;
231
+ let args = argv.slice(index);
232
+ const executable = basenameToken(args[0]);
233
+ if (executable === "npx" || executable === "npm" && args[1] === "exec") {
234
+ args = args.slice(executable === "npm" ? 2 : 1);
235
+ while (args[0]?.startsWith("-")) args = args.slice(1);
236
+ }
237
+ const program = args[0] ?? "";
238
+ if (basenameToken(program) === "node" || basenameToken(program) === "tsx") {
239
+ if (!/(?:^|\/)(?:src|dist)\/cli\/index\.(?:js|ts)$/.test(args[1] ?? "")) continue;
240
+ args = args.slice(2);
241
+ } else if (/^(?:@iowarp\/)?clio-coder(?:@[^/]+)?$/.test(program) || basenameToken(program) === "clio-coder") {
242
+ args = args.slice(1);
243
+ } else continue;
244
+ if (args.includes("--version") || args.includes("-v")) continue;
245
+ let rootHelp = false;
246
+ let firstRootFlag;
247
+ while (args[0]?.startsWith("-")) {
248
+ const flag = args[0];
249
+ if (flag === "--all" || flag === "--help" || flag === "-h") firstRootFlag ??= flag;
250
+ rootHelp = firstRootFlag === "--help" || firstRootFlag === "-h";
251
+ args = args.slice(flag === "--skill" || flag === "--api-key" ? 2 : 1);
252
+ }
253
+ if (rootHelp) continue;
254
+ if (args[0] !== "skills" && args[0] !== "library") continue;
255
+ if (resourceCliMutatesSkills(args[0], args.slice(1))) return true;
256
+ }
257
+ return false;
258
+ }
259
+ function shellCommandArguments(segment) {
260
+ const args = [];
261
+ for (let index = 0; index < segment.length; index += 1) {
262
+ const token = segment[index];
263
+ if (token === void 0) continue;
264
+ if (token.operator && SHELL_REDIRECTIONS.has(token.value)) {
265
+ const previous = args.at(-1);
266
+ if (previous && previous.end === token.start && !previous.quoted && /^\d+$/.test(previous.value)) args.pop();
267
+ if (segment[index + 1]?.operator === false) index += 1;
268
+ continue;
269
+ }
270
+ args.push(token);
271
+ }
272
+ return args.map((token) => token.value);
273
+ }
274
+ function resourceCliMutatesSkills(resource, args) {
275
+ const valueOptions = resource === "skills" ? ["--name", "--category", "--scenario", "--target", "--workspace", "--timeout"] : ["--kind", "--from"];
276
+ let verb;
277
+ let confirmed = false;
278
+ for (let index = 0; index < args.length; index += 1) {
279
+ const arg = args[index];
280
+ if (arg === void 0) continue;
281
+ if (valueOptions.includes(arg)) {
282
+ index += 1;
283
+ continue;
284
+ }
285
+ if (arg === "--help" || arg === "-h") return false;
286
+ if (arg === "--yes") confirmed = true;
287
+ if (!arg.startsWith("-")) verb ??= arg;
288
+ }
289
+ if (resource === "skills") return verb === "install" || verb === "update" || verb === "sync";
290
+ return verb === "add" && confirmed;
291
+ }
233
292
  var STANDARD_DEV_TARGETS = /* @__PURE__ */ new Set(["/dev/null", "/dev/stdout", "/dev/stderr", "/dev/tty", "/dev/zero"]);
234
293
  function collectRedirectTargets(segment, out) {
235
294
  for (let index = 0; index < segment.length - 1; index += 1) {
236
- const token = segment[index];
237
- if (token !== ">" && token !== ">>") continue;
238
- const target = segment[index + 1];
239
- if (target !== void 0) out.push(target);
295
+ const target = redirectWriteTarget(segment[index], segment[index + 1]);
296
+ if (target !== null) out.push(target);
240
297
  }
241
298
  }
299
+ function redirectWriteTarget(operator, target) {
300
+ if (!operator?.operator || target === void 0 || target.operator || !SHELL_WRITE_REDIRECTIONS.has(operator.value))
301
+ return null;
302
+ if (operator.value === ">&" && /^(?:\d+-?|-)$/u.test(target.value)) return null;
303
+ return target.value;
304
+ }
242
305
  function collectInvokedWriteTargets(segment, out) {
243
306
  const cmdIndex = commandTokenIndex(segment);
244
307
  if (cmdIndex === null) return;
@@ -274,7 +337,6 @@ function hasSedInPlaceFlag(segment, cmdIndex) {
274
337
  for (let index = cmdIndex + 1; index < segment.length; index += 1) {
275
338
  const token = segment[index];
276
339
  if (token === void 0) continue;
277
- if (COMMAND_SEPARATORS.has(token)) break;
278
340
  if (token === "--") break;
279
341
  if (token === "--in-place" || token.startsWith("--in-place=")) return true;
280
342
  if (token.startsWith("--")) continue;
@@ -289,7 +351,6 @@ function sedFileOperands(segment, cmdIndex) {
289
351
  for (let index = cmdIndex + 1; index < segment.length; index += 1) {
290
352
  const token = segment[index];
291
353
  if (token === void 0) continue;
292
- if (COMMAND_SEPARATORS.has(token)) break;
293
354
  if (!endOfOptions && token === "--") {
294
355
  endOfOptions = true;
295
356
  continue;
@@ -322,16 +383,15 @@ function sedFileOperands(segment, cmdIndex) {
322
383
  }
323
384
  function isInterestingWriteTarget(target) {
324
385
  if (target.length === 0) return false;
325
- if (target.startsWith("&")) return false;
326
386
  if (STANDARD_DEV_TARGETS.has(target)) return false;
327
387
  if (target.startsWith("/dev/fd/")) return false;
328
388
  return true;
329
389
  }
330
390
  function classifyRedirect(segment, artifacts) {
331
391
  for (let index = 0; index < segment.length; index += 1) {
332
- if (segment[index] !== ">") continue;
333
- const target = segment[index + 1];
334
- if (target === void 0) continue;
392
+ if (segment[index]?.value === ">>" || segment[index]?.value === "&>>") continue;
393
+ const target = redirectWriteTarget(segment[index], segment[index + 1]);
394
+ if (target === null) continue;
335
395
  const matches = matchesForPaths([target], artifacts, "target", "redirect can overwrite protected artifacts");
336
396
  if (matches.length > 0) {
337
397
  return {
@@ -528,28 +588,30 @@ function pathArgs(segment, commandIndex) {
528
588
  for (let index = commandIndex + 1; index < segment.length; index += 1) {
529
589
  const token = segment[index];
530
590
  if (token === void 0) continue;
531
- if (COMMAND_SEPARATORS.has(token)) break;
532
591
  if (!endOfOptions && token === "--") {
533
592
  endOfOptions = true;
534
593
  continue;
535
594
  }
536
595
  if (!endOfOptions && token.startsWith("-")) continue;
537
- if (token === ">" || token === ">>" || token === "<" || token === "<<") {
538
- index += 1;
539
- continue;
540
- }
541
596
  args.push(token);
542
597
  }
543
598
  return args;
544
599
  }
545
- function tokenizeShellLike(command) {
600
+ function commandArgumentSegments(command) {
601
+ return splitSegments(scanShellLike(command)).map(shellCommandArguments);
602
+ }
603
+ function scanShellLike(command) {
546
604
  const tokens = [];
547
605
  let current = "";
606
+ let wordStart = null;
607
+ let quoted = false;
548
608
  let quote = null;
549
- const pushCurrent = () => {
550
- if (current.length === 0) return;
551
- tokens.push(current);
609
+ const pushCurrent = (end) => {
610
+ if (wordStart === null) return;
611
+ tokens.push({ value: current, operator: false, quoted, start: wordStart, end });
552
612
  current = "";
613
+ wordStart = null;
614
+ quoted = false;
553
615
  };
554
616
  for (let index = 0; index < command.length; index += 1) {
555
617
  const char = command[index];
@@ -560,78 +622,60 @@ function tokenizeShellLike(command) {
560
622
  continue;
561
623
  }
562
624
  if (quote === '"' && char === "\\" && index + 1 < command.length) {
563
- index += 1;
564
- current += command[index] ?? "";
565
- continue;
625
+ const next = command[index + 1] ?? "";
626
+ if (next === "\n" || '$`"\\'.includes(next)) {
627
+ index += 1;
628
+ if (next !== "\n") current += next;
629
+ continue;
630
+ }
566
631
  }
567
632
  current += char;
568
633
  continue;
569
634
  }
570
635
  if (char === "'" || char === '"') {
636
+ wordStart ??= index;
637
+ quoted = true;
571
638
  quote = char;
572
639
  continue;
573
640
  }
574
641
  if (char === "\\" && index + 1 < command.length) {
575
- index += 1;
576
- current += command[index] ?? "";
577
- continue;
578
- }
579
- if (/\s/.test(char)) {
580
- pushCurrent();
581
- if (char === "\n") tokens.push(";");
582
- continue;
583
- }
584
- if (char === ";") {
585
- pushCurrent();
586
- tokens.push(";");
587
- continue;
588
- }
589
- if (char === "&" && command[index + 1] === "&") {
590
- pushCurrent();
591
- tokens.push("&&");
642
+ if (command[index + 1] !== "\n") {
643
+ wordStart ??= index;
644
+ quoted = true;
645
+ current += command[index + 1] ?? "";
646
+ }
592
647
  index += 1;
593
648
  continue;
594
649
  }
595
- if (char === "|") {
596
- pushCurrent();
597
- if (command[index + 1] === "|") {
598
- tokens.push("||");
599
- index += 1;
600
- } else {
601
- tokens.push("|");
602
- }
650
+ if (char === "#" && wordStart === null) {
651
+ while (index + 1 < command.length && command[index + 1] !== "\n") index += 1;
603
652
  continue;
604
653
  }
605
- if (char === ">") {
606
- pushCurrent();
607
- if (command[index + 1] === ">") {
608
- tokens.push(">>");
609
- index += 1;
610
- } else {
611
- tokens.push(">");
612
- }
654
+ if (/\s/.test(char)) {
655
+ pushCurrent(index);
656
+ if (char === "\n") tokens.push({ value: ";", operator: true, quoted: false, start: index, end: index + 1 });
613
657
  continue;
614
658
  }
615
- if (char === "<") {
616
- pushCurrent();
617
- if (command[index + 1] === "<") {
618
- tokens.push("<<");
619
- index += 1;
620
- } else {
621
- tokens.push("<");
622
- }
659
+ if (";&|><".includes(char)) {
660
+ pushCurrent(index);
661
+ const three = command.slice(index, index + 3);
662
+ const two = command.slice(index, index + 2);
663
+ const value = SHELL_REDIRECTIONS.has(three) || COMMAND_SEPARATORS.has(three) ? three : SHELL_REDIRECTIONS.has(two) || COMMAND_SEPARATORS.has(two) ? two : char;
664
+ tokens.push({ value, operator: true, quoted: false, start: index, end: index + value.length });
665
+ index += value.length - 1;
623
666
  continue;
624
667
  }
668
+ wordStart ??= index;
625
669
  current += char;
626
670
  }
627
- pushCurrent();
671
+ pushCurrent(command.length);
628
672
  return tokens;
629
673
  }
630
674
  function splitSegments(tokens) {
631
675
  const segments = [];
632
676
  let current = [];
633
677
  for (const token of tokens) {
634
- if (COMMAND_SEPARATORS.has(token)) {
678
+ if (token.operator && COMMAND_SEPARATORS.has(token.value)) {
635
679
  if (current.length > 0) segments.push(current);
636
680
  current = [];
637
681
  continue;
@@ -748,9 +792,6 @@ function compareStrings(left, right) {
748
792
  }
749
793
 
750
794
  export {
751
- CLIO_PROJECT_DIR,
752
- CLIO_ARTIFACT_DIR,
753
- artifactDefaultPath,
754
795
  toolMutationPaths,
755
796
  protectedArtifactMutationBlockReason,
756
797
  protectArtifact,
@@ -759,6 +800,8 @@ export {
759
800
  inlineShellScript,
760
801
  extractCommandCdTargets,
761
802
  extractCommandDeleteTargets,
762
- tokenizeShellLike
803
+ invokesClioSkillMutation,
804
+ commandArgumentSegments,
805
+ scanShellLike
763
806
  };
764
- //# sourceMappingURL=chunk-IKOZFYBN.js.map
807
+ //# sourceMappingURL=chunk-NXYCB2VD.js.map
@@ -2,7 +2,7 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  cwdHash,
4
4
  sessionPaths
5
- } from "./chunk-MQXIVJ35.js";
5
+ } from "./chunk-HAXOFFRH.js";
6
6
  import {
7
7
  init_esm_shims
8
8
  } from "./chunk-3R73A4XB.js";
@@ -631,4 +631,4 @@ export {
631
631
  snapshotInputTokens,
632
632
  reconcileSnapshot
633
633
  };
634
- //# sourceMappingURL=chunk-CWVRRIEI.js.map
634
+ //# sourceMappingURL=chunk-NZMNUPZZ.js.map
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-W6GROXXM.js";
15
15
  import {
16
16
  ceilChars
17
- } from "./chunk-CWVRRIEI.js";
17
+ } from "./chunk-NZMNUPZZ.js";
18
18
  import {
19
19
  init_esm_shims
20
20
  } from "./chunk-3R73A4XB.js";
@@ -119,4 +119,4 @@ export {
119
119
  recallableRefListing,
120
120
  recallErrorMessage
121
121
  };
122
- //# sourceMappingURL=chunk-462T4EGZ.js.map
122
+ //# sourceMappingURL=chunk-O5CVSAG5.js.map
@@ -0,0 +1,50 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ describeValidationContract,
4
+ loadValidationContract
5
+ } from "./chunk-V76WTFTW.js";
6
+ import {
7
+ init_esm_shims
8
+ } from "./chunk-3R73A4XB.js";
9
+
10
+ // src/domains/safety/rigor.ts
11
+ init_esm_shims();
12
+ function rigorResolution(options) {
13
+ if (options.override === "high" || options.override === "normal") {
14
+ return { rigor: options.override, source: "override" };
15
+ }
16
+ const cwd = options.cwd ?? process.cwd();
17
+ const loaded = loadValidationContract(cwd);
18
+ if (!loaded.ok) {
19
+ const resolution = { rigor: "normal", source: "invalid-contract", contractPath: loaded.path };
20
+ const diagnostic = describeValidationContract(loaded);
21
+ if (diagnostic !== null) resolution.diagnostic = diagnostic;
22
+ return resolution;
23
+ }
24
+ if (loaded.contract !== null) {
25
+ return { rigor: "high", source: "validation-contract", contractPath: loaded.path };
26
+ }
27
+ if ("advisory" in loaded) {
28
+ const resolution = { rigor: "normal", source: "markdown-advisory", contractPath: loaded.path };
29
+ const diagnostic = describeValidationContract(loaded);
30
+ if (diagnostic !== null) resolution.diagnostic = diagnostic;
31
+ return resolution;
32
+ }
33
+ return { rigor: "normal", source: "none" };
34
+ }
35
+ function resolveRigor(options) {
36
+ return rigorResolution(options).rigor;
37
+ }
38
+ function parseRigorOverride(value) {
39
+ if (typeof value !== "string") return null;
40
+ const normalized = value.trim().toLowerCase();
41
+ if (normalized === "high") return "high";
42
+ if (normalized === "normal") return "normal";
43
+ return null;
44
+ }
45
+
46
+ export {
47
+ resolveRigor,
48
+ parseRigorOverride
49
+ };
50
+ //# sourceMappingURL=chunk-ODGTEFFI.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-RKKLTLYB.js";
5
5
  import {
6
6
  enabledExtensionResourceRoots
7
- } from "./chunk-HLAFFSEK.js";
7
+ } from "./chunk-TQAHXW6Y.js";
8
8
  import {
9
9
  PATH_BOUNDARY_MAX_ENTRIES,
10
10
  normalizePathBoundary,
@@ -5073,4 +5073,4 @@ export {
5073
5073
  listFleetContracts,
5074
5074
  renderFleetPrompt
5075
5075
  };
5076
- //# sourceMappingURL=chunk-3F7VUY77.js.map
5076
+ //# sourceMappingURL=chunk-OEJSLEPW.js.map
@@ -1390,7 +1390,9 @@ async function detectMux(options = {}) {
1390
1390
  return { detection: none("panes are turned off"), client: null };
1391
1391
  }
1392
1392
  if (enabled === "embedded") {
1393
- log("info", "interface.panes.enabled=embedded is not implemented yet; detecting a guest pane host instead");
1393
+ const reason = "embedded pane hosting is not implemented; use auto or guest";
1394
+ log("warning", reason);
1395
+ return { detection: none(reason, [], true), client: null };
1394
1396
  }
1395
1397
  if (env.HERDR_ENV !== "1") {
1396
1398
  return { detection: none("HERDR_ENV is not 1, so Clio is not running inside a pane host"), client: null };
@@ -1830,4 +1832,4 @@ export {
1830
1832
  createYaziSession,
1831
1833
  createMuxDomainModule
1832
1834
  };
1833
- //# sourceMappingURL=chunk-KKOJXO6R.js.map
1835
+ //# sourceMappingURL=chunk-OMQNJVKW.js.map