@iowarp/clio-coder 0.4.1 → 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 (604) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/CONTRIBUTING.md +142 -52
  3. package/README.md +434 -473
  4. package/SECURITY.md +2 -1
  5. package/dist/{acp-ZILU3AUO.js → acp-H2NGRPWO.js} +12 -12
  6. package/dist/{agents-HYWGBGQR.js → agents-TL5LLUQP.js} +56 -55
  7. package/dist/assets/codewiki.json +1 -1
  8. package/dist/{auth-N3QT7CBO.js → auth-E5SW4HMS.js} +23 -21
  9. package/dist/builtins-IA7V7FUC.js +22 -0
  10. package/dist/{chunk-7RY5VZPH.js → chunk-2APPQIER.js} +8 -8
  11. package/dist/{chunk-72GZI5EV.js → chunk-2JH2WHGE.js} +2 -2
  12. package/dist/{chunk-JA5QWE4Z.js → chunk-2UG5F4C5.js} +1973 -1664
  13. package/dist/{chunk-5YHDIDBP.js → chunk-2UH2KFUP.js} +2 -2
  14. package/dist/{chunk-CTJ4RNAA.js → chunk-2VIKGWFZ.js} +2 -2
  15. package/dist/{chunk-I66EAJFY.js → chunk-2WZ546HR.js} +267 -232
  16. package/dist/{chunk-GIZNH63R.js → chunk-35MSIRKH.js} +9 -4
  17. package/dist/chunk-3EBYEESD.js +314 -0
  18. package/dist/{chunk-J5LZHVIT.js → chunk-3M6DQK6S.js} +113 -35
  19. package/dist/{chunk-RKSR6VSF.js → chunk-4IUZQIJ3.js} +29 -1
  20. package/dist/{chunk-6FN3E6KX.js → chunk-4O6MANBS.js} +2 -2
  21. package/dist/chunk-4UVU7BJ5.js +39 -0
  22. package/dist/{chunk-VKRH2TCS.js → chunk-4WR7VSYB.js} +2 -2
  23. package/dist/{chunk-BBTJOK6Y.js → chunk-54CBCGIR.js} +5 -5
  24. package/dist/{chunk-AP73CFDC.js → chunk-5ICU3EUH.js} +2 -2
  25. package/dist/chunk-5MEZN6CB.js +1334 -0
  26. package/dist/{chunk-O42A54GG.js → chunk-5OIVVPHF.js} +2 -2
  27. package/dist/{chunk-ABLSQ6JX.js → chunk-64I3JVYM.js} +8 -2
  28. package/dist/{chunk-AFKWHWXF.js → chunk-6PTFB5VS.js} +39 -22
  29. package/dist/{chunk-VN3SHNBN.js → chunk-7DICMOS6.js} +2 -2
  30. package/dist/chunk-7DRAWPTZ.js +360 -0
  31. package/dist/chunk-7E7I3WLS.js +3762 -0
  32. package/dist/{chunk-BJGUKIG4.js → chunk-7ZYNNDKC.js} +7 -7
  33. package/dist/{chunk-XKA2ICR3.js → chunk-AF4YM7Z4.js} +652 -252
  34. package/dist/{chunk-GVQJ5CCZ.js → chunk-AX2THNSA.js} +12 -12
  35. package/dist/{chunk-IG7BCQBA.js → chunk-B4OAX3SI.js} +65 -3
  36. package/dist/{chunk-TD3PGPQA.js → chunk-B4VEBZKF.js} +3 -3
  37. package/dist/{chunk-74YWRRU5.js → chunk-BEPZRGGU.js} +10 -10
  38. package/dist/{chunk-FEFIFZTL.js → chunk-CE5AX47J.js} +2 -2
  39. package/dist/{chunk-UAPGZHYC.js → chunk-DWUOQKRU.js} +25 -11
  40. package/dist/{chunk-THYWACCR.js → chunk-E3TPLWFX.js} +3 -3
  41. package/dist/{chunk-7EPLI7VL.js → chunk-EKCHAPYA.js} +2 -2
  42. package/dist/{chunk-HLW2MRKE.js → chunk-F4EKGO4N.js} +3 -1
  43. package/dist/{chunk-PJJ6MY27.js → chunk-F5JHEYZM.js} +7 -7
  44. package/dist/{chunk-6CCS4G3W.js → chunk-FTMGRKEF.js} +3 -3
  45. package/dist/{chunk-SINK3QR6.js → chunk-G76U63X4.js} +17 -17
  46. package/dist/{chunk-EIMVLWB3.js → chunk-GHS5EBTQ.js} +64 -9
  47. package/dist/{chunk-QMXC4JB7.js → chunk-GI7YYQ3F.js} +187 -1419
  48. package/dist/{chunk-TZSKNMZG.js → chunk-GTUD2WMY.js} +2 -1
  49. package/dist/{chunk-6HMJX2VU.js → chunk-GWZNEVM2.js} +44 -12
  50. package/dist/chunk-GYV6VZOC.js +26 -0
  51. package/dist/{chunk-MQXIVJ35.js → chunk-HAXOFFRH.js} +5 -5
  52. package/dist/{chunk-UXN6JT4W.js → chunk-HEQY7ZFI.js} +3 -3
  53. package/dist/{chunk-7PWAODYW.js → chunk-I7XBWTYH.js} +2 -2
  54. package/dist/{chunk-GCSMB2KY.js → chunk-I7ZPNEJM.js} +145 -102
  55. package/dist/{chunk-WNP7O5WZ.js → chunk-ID64D7PE.js} +4 -4
  56. package/dist/{chunk-QTFGO774.js → chunk-IGLP3ODT.js} +29 -16
  57. package/dist/chunk-IJNZMHLA.js +101 -0
  58. package/dist/{chunk-BDPT6GTK.js → chunk-INY6HTFL.js} +7 -7
  59. package/dist/{chunk-PBP4B7XR.js → chunk-IUE3Y34X.js} +2 -2
  60. package/dist/{chunk-6NJQITNH.js → chunk-IWT4SF4R.js} +6 -3
  61. package/dist/{chunk-R23Z6K6I.js → chunk-JDAY6FIL.js} +19 -19
  62. package/dist/chunk-JEQ3XTHC.js +42 -0
  63. package/dist/{chunk-FSP7CMNU.js → chunk-JGRC33J2.js} +50 -4
  64. package/dist/{chunk-TVH4ONAM.js → chunk-JKKCYP3C.js} +10 -10
  65. package/dist/{chunk-HJWWJ6IL.js → chunk-JSC3U7TI.js} +16 -4
  66. package/dist/{chunk-C537JADH.js → chunk-KK4JZPBQ.js} +19 -141
  67. package/dist/{chunk-K6BF4U2H.js → chunk-KKOJXO6R.js} +62 -14
  68. package/dist/{chunk-IHXBNWMM.js → chunk-KXDSS5WJ.js} +7 -3
  69. package/dist/{chunk-6DWBAZ5U.js → chunk-L47TF46W.js} +5 -7
  70. package/dist/{chunk-HUAS7ITX.js → chunk-LDJG7DW3.js} +91 -42
  71. package/dist/{chunk-CDNVLKUX.js → chunk-LLDJM5XK.js} +13 -7
  72. package/dist/{chunk-YPI3QQCF.js → chunk-MCEPRMZW.js} +2 -4
  73. package/dist/{chunk-Y4CAGMM6.js → chunk-MNJGS2IN.js} +5 -6
  74. package/dist/{chunk-VKFQTNDV.js → chunk-MUW2BDDH.js} +4 -4
  75. package/dist/{chunk-E67WX76H.js → chunk-MWUZBSAQ.js} +104 -152
  76. package/dist/{chunk-OJTRZGR3.js → chunk-N2Z7HLVY.js} +21 -21
  77. package/dist/{chunk-TVHHYFHE.js → chunk-NEDJ26B5.js} +2 -2
  78. package/dist/{chunk-FYUN5KZ3.js → chunk-NIQJ66N4.js} +21 -21
  79. package/dist/{chunk-U2WB7TZS.js → chunk-NMJXSHBJ.js} +97 -85
  80. package/dist/{chunk-CWVRRIEI.js → chunk-NZMNUPZZ.js} +2 -2
  81. package/dist/{chunk-VEGN6WIQ.js → chunk-O5CVSAG5.js} +3 -3
  82. package/dist/{chunk-MOPSG2X7.js → chunk-OML5D5V5.js} +8 -8
  83. package/dist/{chunk-2VG7KLYV.js → chunk-PAJQJ7BS.js} +5816 -3255
  84. package/dist/{chunk-ZW55JB7N.js → chunk-PUVDKJ2Y.js} +2 -2
  85. package/dist/{chunk-BTGG6BG2.js → chunk-QWGDJJYJ.js} +158 -19
  86. package/dist/chunk-R6Q67RJH.js +134 -0
  87. package/dist/{chunk-ZJLUDYFY.js → chunk-RRNP2ANY.js} +6 -6
  88. package/dist/{chunk-PVAMAVBB.js → chunk-RSJ25QSL.js} +102 -2
  89. package/dist/{chunk-NLFAQR7Z.js → chunk-S66XZJOF.js} +3 -23
  90. package/dist/chunk-SKHCAU7K.js +385 -0
  91. package/dist/chunk-SZAA6XDG.js +30 -0
  92. package/dist/{chunk-J4HBWF6Y.js → chunk-TM6LQDI3.js} +131 -28
  93. package/dist/chunk-UOIZ7DA4.js +41 -0
  94. package/dist/{chunk-MA3H6DM5.js → chunk-UPZU6GE4.js} +25 -3
  95. package/dist/{chunk-BWW4HLO4.js → chunk-UXCU4E3T.js} +8 -6
  96. package/dist/{chunk-N5UK64DP.js → chunk-V2ANDPVT.js} +4 -4
  97. package/dist/{chunk-AK5XEFVZ.js → chunk-VA5FNYMT.js} +26 -13
  98. package/dist/{chunk-6VC4OV3Z.js → chunk-VIA6RFQZ.js} +3 -11
  99. package/dist/{chunk-ZAZB4JMW.js → chunk-VKPAQYEB.js} +27 -8
  100. package/dist/{chunk-QKIFBZKT.js → chunk-VW6DOEDG.js} +497 -81
  101. package/dist/{chunk-SCYB3HA4.js → chunk-W6RRQCPQ.js} +63 -19
  102. package/dist/{chunk-2NM363SV.js → chunk-WBKFA554.js} +10 -10
  103. package/dist/{chunk-R32CLGZ6.js → chunk-WCXUNS7U.js} +82 -21
  104. package/dist/{chunk-GPPB3JBE.js → chunk-WRBAGUNF.js} +3 -3
  105. package/dist/{chunk-IXJT6DCX.js → chunk-XIVNBFZS.js} +85 -30
  106. package/dist/{chunk-UEDMSP56.js → chunk-XPWWI35G.js} +417 -201
  107. package/dist/chunk-XRZT5WY5.js +47 -0
  108. package/dist/{chunk-3QSOM6PA.js → chunk-Y3CBHOR6.js} +2 -2
  109. package/dist/{chunk-VXMFAE2W.js → chunk-YPC6ZR5L.js} +19 -6
  110. package/dist/{chunk-AKB4GYDL.js → chunk-YQWYVTMC.js} +5 -5
  111. package/dist/{chunk-6I5ILFOF.js → chunk-ZA4VCIGV.js} +3 -3
  112. package/dist/{chunk-7OBGU7UB.js → chunk-ZDN3Y73Y.js} +12 -18
  113. package/dist/{chunk-3I5NY75V.js → chunk-ZWPRK62N.js} +8 -5
  114. package/dist/cli/index.js +41 -39
  115. package/dist/{clio-IT3G3VQH.js → clio-CMMK4KRR.js} +9 -9
  116. package/dist/{code-nav-RK6S7F6E.js → code-nav-MDZNQS33.js} +89 -21
  117. package/dist/{components-UBWCQSRW.js → components-UCUQ4QXW.js} +4 -4
  118. package/dist/{config-3QZRWZJF.js → config-SVM5P5YI.js} +131 -84
  119. package/dist/{configure-FL7Y3KJF.js → configure-LE3IK2TJ.js} +28 -26
  120. package/dist/{context-5HE7ODYK.js → context-2OHRKS42.js} +69 -64
  121. package/dist/{context-KYQFRVDC.js → context-E3VC7RX5.js} +15 -11
  122. package/dist/{context-XNHL75JV.js → context-VNCR7KAG.js} +93 -65
  123. package/dist/{context-clear-N545L53A.js → context-clear-BW4O37TG.js} +64 -60
  124. package/dist/context-map-COB37XXN.js +505 -0
  125. package/dist/{context-working-set-QHKXSV2F.js → context-working-set-VDS25HXZ.js} +19 -18
  126. package/dist/{dispatch-runner-RGIE5PCT.js → dispatch-runner-5AHT53RF.js} +93 -82
  127. package/dist/{docs-5NAF6AU7.js → docs-PD3EXDKU.js} +21 -20
  128. package/dist/{doctor-ZGPEGHIP.js → doctor-WNNVO6FY.js} +48 -47
  129. package/dist/{eval-GXLL44RD.js → eval-7G7SGAYO.js} +287 -115
  130. package/dist/{eval-inventory-HBWSWQOK.js → eval-inventory-Y6QRFOH5.js} +4 -4
  131. package/dist/{evidence-HWLBRH3Q.js → evidence-VD6736FQ.js} +67 -64
  132. package/dist/{evolve-FTZBMNVW.js → evolve-AL3NGVRL.js} +65 -62
  133. package/dist/{extensions-VHRBEID7.js → extensions-MOVJ32NM.js} +9 -7
  134. package/dist/{fleet-CKZHJWZJ.js → fleet-QZHUMAGI.js} +114 -111
  135. package/dist/{fleet-commands-EXDXBMV6.js → fleet-commands-BAYT5FJZ.js} +10 -10
  136. package/dist/{fleet-decisions-OTHB6KRL.js → fleet-decisions-IREVMRU4.js} +7 -6
  137. package/dist/{fleet-graph-YTEZUCUT.js → fleet-graph-YCTT3HTI.js} +22 -19
  138. package/dist/{fleet-inspect-SS6YMDCK.js → fleet-inspect-QVJTDAVB.js} +58 -55
  139. package/dist/{fleet-preflight-PBY4VYOM.js → fleet-preflight-25QAFPK4.js} +4 -4
  140. package/dist/{fleet-validate-KMEM5L3S.js → fleet-validate-5O57AAJ7.js} +26 -23
  141. package/dist/{fleet-verify-QD5M7E7Q.js → fleet-verify-CPH2W2T6.js} +59 -56
  142. package/dist/{fleet-view-WAMJYNDT.js → fleet-view-SWBR3VGQ.js} +58 -55
  143. package/dist/{init-5XQRBOFV.js → init-J477LKZH.js} +82 -79
  144. package/dist/{interop-34TVO25M.js → interop-3FCM6XLG.js} +11 -11
  145. package/dist/{library-3QY6KF57.js → library-QUQEIUG6.js} +30 -27
  146. package/dist/{memory-L4UTIIIW.js → memory-SGGSEP65.js} +67 -64
  147. package/dist/{models-ZVX3QOWE.js → models-HEKUAXXK.js} +53 -46
  148. package/dist/{monitor-CEKVSYTS.js → monitor-HKU57TYQ.js} +63 -60
  149. package/dist/{orchestrator-77BAP6BC.js → orchestrator-VDFAEFAI.js} +1831 -1057
  150. package/dist/{panes-7STHOAUJ.js → panes-DN2SSFOH.js} +5 -5
  151. package/dist/{panes-SHAUIRXY.js → panes-TALGNPZT.js} +29 -14
  152. package/dist/{paths-L7LGY6RN.js → paths-NBMFAIEZ.js} +5 -5
  153. package/dist/reset-EAJFFJVB.js +344 -0
  154. package/dist/{resources-74GKTLSF.js → resources-OVKSEFVE.js} +29 -20
  155. package/dist/{run-HBAUJNNZ.js → run-7DP7ZF2J.js} +120 -115
  156. package/dist/{share-G3APVLVP.js → share-WML67FT3.js} +32 -27
  157. package/dist/{skills-35HHUKCR.js → skills-SG662R2K.js} +41 -31
  158. package/dist/{skills-eval-QN4HSHDC.js → skills-eval-VVZEUU46.js} +78 -77
  159. package/dist/{skills-inventory-J357J34F.js → skills-inventory-I2E23GET.js} +23 -20
  160. package/dist/{slash-commands-JZZCQA32.js → slash-commands-S7MBJDQK.js} +40 -36
  161. package/dist/{steer-XAVHJM22.js → steer-2LQOMCPB.js} +3 -3
  162. package/dist/{support-U7QOWY26.js → support-CC2UJBJ6.js} +6 -6
  163. package/dist/{targets-DSM6CY3M.js → targets-4QC3HIEW.js} +54 -54
  164. package/dist/{terminal-lease-JOPFUVEM.js → terminal-lease-TUHIJ6Y2.js} +5 -5
  165. package/dist/{tools-MKNWVPBH.js → tools-TFGJICCU.js} +10 -10
  166. package/dist/{trace-ECQ7TIYZ.js → trace-FXMXUZUF.js} +55 -7
  167. package/dist/uninstall-5PEVOE5B.js +408 -0
  168. package/dist/upgrade-M4WXY6KN.js +303 -0
  169. package/dist/{usage-X52N3IDJ.js → usage-N7ZNVLEM.js} +151 -104
  170. package/dist/{verifiers-EJTVVSMA.js → verifiers-DJTP4XX6.js} +15 -15
  171. package/dist/{verify-YJL6XET2.js → verify-RWE4PPEK.js} +9 -9
  172. package/dist/{web-fetch-MPIFL3LL.js → web-fetch-MPARV2K7.js} +2 -2
  173. package/dist/{wiki-generate-4NDZTQ4B.js → wiki-generate-C7IQOXSP.js} +89 -86
  174. package/dist/{with-panes-OBOBFIIR.js → with-panes-4GCGSL7J.js} +53 -257
  175. package/dist/worker/entry.js +90 -74
  176. package/docs/README.md +176 -81
  177. package/docs/{acp.md → architecture/acp.md} +36 -20
  178. package/docs/{alcf-provider.md → architecture/alcf-provider.md} +8 -5
  179. package/docs/{architecture.md → architecture/architecture.md} +43 -22
  180. package/docs/{artifact-placement.md → architecture/artifact-placement.md} +27 -23
  181. package/docs/architecture/artifact-versions.md +90 -0
  182. package/docs/{capacity-and-scheduling.md → architecture/capacity-and-scheduling.md} +26 -13
  183. package/docs/{context-engine.md → architecture/context-engine.md} +29 -25
  184. package/docs/{context-working-set.md → architecture/context-working-set.md} +13 -10
  185. package/docs/{dispatch-architecture-rationale.md → architecture/dispatch-architecture-rationale.md} +12 -9
  186. package/docs/{dispatch-typed-intent.md → architecture/dispatch-typed-intent.md} +68 -46
  187. package/docs/{evidence-and-memory.md → architecture/evidence-and-memory.md} +23 -16
  188. package/docs/{middleware-and-components.md → architecture/middleware-and-components.md} +11 -5
  189. package/docs/{model-catalog.md → architecture/model-catalog.md} +61 -27
  190. package/docs/{observability.md → architecture/observability.md} +38 -14
  191. package/docs/{pi-boundary.md → architecture/pi-boundary.md} +24 -11
  192. package/docs/{prompt-envelope-and-tools.md → architecture/prompt-envelope-and-tools.md} +57 -20
  193. package/docs/{provider-adapter-cookbook.md → architecture/provider-adapter-cookbook.md} +99 -25
  194. package/docs/{safety-model.md → architecture/safety-model.md} +35 -20
  195. package/docs/{session-lifecycle.md → architecture/session-lifecycle.md} +8 -5
  196. package/docs/architecture/time-conventions.md +125 -0
  197. package/docs/{trace-store.md → architecture/trace-store.md} +13 -5
  198. package/docs/{tui-design.md → architecture/tui-design.md} +13 -13
  199. package/docs/{worker-dispatch-mechanics.md → architecture/worker-dispatch-mechanics.md} +27 -30
  200. package/docs/{built-in-agents.md → guide/built-in-agents.md} +65 -35
  201. package/docs/{commands-and-modes.md → guide/commands-and-modes.md} +66 -61
  202. package/docs/{configuration-and-targets.md → guide/configuration-and-targets.md} +323 -297
  203. package/docs/guide/configuration-reference.md +1163 -0
  204. package/docs/{environment-variables.md → guide/environment-variables.md} +33 -28
  205. package/docs/{exit-codes-and-output.md → guide/exit-codes-and-output.md} +6 -3
  206. package/docs/{extensions-and-sharing.md → guide/extensions-and-sharing.md} +41 -14
  207. package/docs/{fleet-dispatch.md → guide/fleet-dispatch.md} +39 -43
  208. package/docs/{glossary.md → guide/glossary.md} +14 -11
  209. package/docs/{installation-and-lifecycle.md → guide/installation-and-lifecycle.md} +81 -17
  210. package/docs/guide/panes-and-files.md +290 -0
  211. package/docs/{proactive-memory.md → guide/proactive-memory.md} +131 -107
  212. package/docs/{resource-library.md → guide/resource-library.md} +13 -4
  213. package/docs/{skills-marketplace.md → guide/skills-marketplace.md} +25 -3
  214. package/docs/{tool-usage.md → guide/tool-usage.md} +87 -23
  215. package/docs/{troubleshooting.md → guide/troubleshooting.md} +9 -4
  216. package/docs/{config-knobs-audit.md → history/config-knobs-audit.md} +11 -11
  217. package/docs/{release-cut-checklist.md → history/release-cut-checklist.md} +29 -2
  218. package/docs/process/development-pipeline.md +152 -0
  219. package/docs/process/documentation-coverage.md +100 -0
  220. package/docs/process/documentation-guide.md +187 -0
  221. package/docs/{eval-runner.md → process/eval-runner.md} +108 -53
  222. package/docs/{evals-internal.md → process/evals-internal.md} +10 -10
  223. package/docs/{evolution.md → process/evolution.md} +2 -2
  224. package/docs/{fleet-demo-runbook.md → process/fleet-demo-runbook.md} +11 -7
  225. package/docs/{git-commit-provenance.md → process/git-commit-provenance.md} +11 -4
  226. package/docs/{performance-methodology.md → process/performance-methodology.md} +87 -69
  227. package/docs/{scientific-validation.md → process/scientific-validation.md} +4 -4
  228. package/evals/README.md +2 -2
  229. package/evals/behavioral-model.yaml +3 -2
  230. package/package.json +10 -8
  231. package/skills/README.md +52 -41
  232. package/skills/coding/ast-grep/SKILL.md +102 -31
  233. package/skills/coding/ast-grep/evals.md +26 -0
  234. package/skills/coding/coding-standards/SKILL.md +41 -6
  235. package/skills/coding/coding-standards/evals.md +23 -0
  236. package/skills/coding/prototype/SKILL.md +88 -29
  237. package/skills/coding/prototype/evals.md +19 -0
  238. package/skills/coding/tdd/SKILL.md +81 -54
  239. package/skills/coding/tdd/evals.md +20 -0
  240. package/skills/context/context-handoff/SKILL.md +44 -3
  241. package/skills/context/context-handoff/evals.md +44 -0
  242. package/skills/context/context-prime/SKILL.md +46 -16
  243. package/skills/context/context-prime/evals.md +45 -0
  244. package/skills/git/branch-closeout/SKILL.md +132 -0
  245. package/skills/git/branch-closeout/evals.md +133 -0
  246. package/skills/git/branch-closeout/references/closeout-checklist.md +81 -0
  247. package/skills/git/file-ticket/SKILL.md +78 -64
  248. package/skills/git/file-ticket/assets/issue-template.md +22 -0
  249. package/skills/git/file-ticket/evals.md +31 -26
  250. package/skills/git/file-ticket/references/issue-discovery.md +49 -0
  251. package/skills/git/fix-issue/SKILL.md +88 -65
  252. package/skills/git/fix-issue/evals.md +35 -31
  253. package/skills/git/fix-issue/references/diagnosis-and-rca.md +46 -0
  254. package/skills/git/resolve-merge-conflicts/SKILL.md +101 -52
  255. package/skills/git/resolve-merge-conflicts/evals.md +52 -25
  256. package/skills/git/resolve-merge-conflicts/references/conflict-matrix.md +126 -0
  257. package/skills/git/ship/SKILL.md +103 -67
  258. package/skills/git/ship/assets/pr-template.md +21 -0
  259. package/skills/git/ship/evals.md +44 -28
  260. package/skills/git/ship/references/remote-and-branch-policy.md +62 -0
  261. package/skills/git/worktree-create/SKILL.md +80 -50
  262. package/skills/git/worktree-create/evals.md +40 -33
  263. package/skills/git/worktree-create/references/worktree-setup.md +62 -66
  264. package/skills/git/worktree-merge/SKILL.md +112 -65
  265. package/skills/git/worktree-merge/evals.md +42 -34
  266. package/skills/git/worktree-merge/references/merge-strategies.md +52 -0
  267. package/skills/meta/clio-coder-dev/SKILL.md +9 -5
  268. package/skills/meta/clio-coder-dev/evals.md +3 -2
  269. package/skills/meta/clio-coder-test/SKILL.md +102 -95
  270. package/skills/meta/clio-coder-test/evals.md +9 -4
  271. package/skills/meta/clio-coder-test/references/harness.md +100 -124
  272. package/skills/meta/clio-coder-test/references/test-map.md +77 -50
  273. package/skills/meta/credentials/SKILL.md +2 -2
  274. package/skills/meta/find-skills/SKILL.md +2 -2
  275. package/skills/meta/herdr/SKILL.md +2 -2
  276. package/skills/meta/skill-craft/SKILL.md +22 -16
  277. package/skills/planning/archify/SKILL.md +196 -0
  278. package/skills/planning/archify/evals.md +65 -0
  279. package/skills/planning/architecture/SKILL.md +62 -13
  280. package/skills/planning/architecture/evals.md +65 -0
  281. package/skills/planning/backlog/SKILL.md +131 -15
  282. package/skills/planning/backlog/evals.md +142 -0
  283. package/skills/planning/prd/SKILL.md +47 -7
  284. package/skills/planning/prd/evals.md +54 -0
  285. package/skills/planning/product-intent/SKILL.md +58 -3
  286. package/skills/planning/product-intent/evals.md +70 -0
  287. package/skills/planning/tech-spec/SKILL.md +54 -3
  288. package/skills/planning/tech-spec/evals.md +73 -0
  289. package/skills/registry.yaml +70 -62
  290. package/skills/remote.yaml +13 -0
  291. package/skills/research/arxiv-literature/SKILL.md +77 -19
  292. package/skills/research/arxiv-literature/evals.md +50 -0
  293. package/skills/research/experiment-protocol/SKILL.md +21 -2
  294. package/skills/research/experiment-protocol/evals.md +23 -0
  295. package/skills/research/scientific-debugging/SKILL.md +24 -2
  296. package/skills/research/scientific-debugging/evals.md +18 -0
  297. package/skills/research/scientific-modernization/SKILL.md +27 -2
  298. package/skills/research/scientific-modernization/evals.md +27 -0
  299. package/skills/skill-marketplace.json +97 -62
  300. package/skills/workflow/cut-it/SKILL.md +66 -6
  301. package/skills/workflow/cut-it/evals.md +101 -0
  302. package/skills/workflow/design-council/SKILL.md +118 -28
  303. package/skills/workflow/design-council/evals.md +161 -0
  304. package/skills/workflow/grill-me/SKILL.md +87 -11
  305. package/skills/workflow/grill-me/evals.md +153 -0
  306. package/skills/workflow/workflow-distiller/SKILL.md +77 -18
  307. package/skills/workflow/workflow-distiller/evals.md +118 -0
  308. package/src/cli/args.ts +2 -2
  309. package/src/cli/bootstrap-generate.ts +1 -1
  310. package/src/cli/config-inspect.ts +65 -12
  311. package/src/cli/configure-interop.ts +105 -13
  312. package/src/cli/configure-oauth.ts +57 -0
  313. package/src/cli/configure-onboarding.ts +980 -0
  314. package/src/cli/configure-target.ts +594 -0
  315. package/src/cli/configure.ts +1082 -532
  316. package/src/cli/context-map.ts +114 -0
  317. package/src/cli/context.ts +4 -0
  318. package/src/cli/docs.ts +22 -14
  319. package/src/cli/doctor-naming.ts +5 -5
  320. package/src/cli/doctor-toolchain.ts +3 -3
  321. package/src/cli/eval.ts +1 -2
  322. package/src/cli/extensions.ts +2 -1
  323. package/src/cli/fleet.ts +1 -1
  324. package/src/cli/index.ts +3 -1
  325. package/src/cli/internal-dispatch.ts +3 -4
  326. package/src/cli/lifecycle-presenter.ts +436 -0
  327. package/src/cli/models.ts +10 -2
  328. package/src/cli/modes/print.ts +5 -1
  329. package/src/cli/panes.ts +19 -5
  330. package/src/cli/reset.ts +228 -106
  331. package/src/cli/run.ts +9 -4
  332. package/src/cli/select.ts +664 -0
  333. package/src/cli/share.ts +5 -1
  334. package/src/cli/skills-eval.ts +3 -3
  335. package/src/cli/skills.ts +9 -2
  336. package/src/cli/targets.ts +5 -6
  337. package/src/cli/trace.ts +55 -4
  338. package/src/cli/uninstall.ts +233 -165
  339. package/src/cli/upgrade.ts +204 -149
  340. package/src/cli/usage.ts +86 -27
  341. package/src/cli/validate-model.ts +3 -3
  342. package/src/cli/wiki-generate.ts +1 -1
  343. package/src/core/artifact-paths.ts +1 -1
  344. package/src/core/bash-exec.ts +131 -86
  345. package/src/core/bus-events.ts +51 -6
  346. package/src/core/config.ts +61 -1
  347. package/src/core/defaults.ts +7 -4
  348. package/src/core/dispatch-outcome.ts +16 -0
  349. package/src/core/external-diagnostic.ts +44 -0
  350. package/src/core/gateway-routing.ts +157 -0
  351. package/src/core/guardrails.ts +10 -49
  352. package/src/core/prompt-hint.ts +9 -0
  353. package/src/core/safe-exec.ts +17 -2
  354. package/src/core/skill-activation.ts +89 -2
  355. package/src/domains/agents/builtins/architect.md +2 -3
  356. package/src/domains/agents/builtins/coder.md +3 -2
  357. package/src/domains/agents/builtins/debugger.md +2 -2
  358. package/src/domains/agents/builtins/documenter.md +2 -2
  359. package/src/domains/agents/builtins/git-master.md +1 -1
  360. package/src/domains/agents/builtins/oracle.md +1 -1
  361. package/src/domains/agents/builtins/provenance.md +1 -1
  362. package/src/domains/agents/builtins/researcher.md +1 -1
  363. package/src/domains/agents/builtins/scout.md +1 -1
  364. package/src/domains/agents/builtins/tester.md +2 -2
  365. package/src/domains/agents/builtins/verifier.md +2 -2
  366. package/src/domains/agents/builtins/wiki-writer.md +1 -1
  367. package/src/domains/agents/builtins/world-knowledge.md +31 -0
  368. package/src/domains/agents/catalog.ts +13 -15
  369. package/src/domains/agents/contract.ts +2 -0
  370. package/src/domains/agents/extension.ts +23 -1
  371. package/src/domains/agents/result-contract.ts +70 -0
  372. package/src/domains/config/keybindings.ts +8 -0
  373. package/src/domains/context/extension.ts +0 -3
  374. package/src/domains/context/wiki/map-seed.ts +589 -0
  375. package/src/domains/context/wiki/plan.ts +2 -2
  376. package/src/domains/context/working-set/path-index.ts +1 -0
  377. package/src/domains/dispatch/admission.ts +29 -0
  378. package/src/domains/dispatch/agent-candidates.ts +10 -0
  379. package/src/domains/dispatch/budget-envelope.ts +86 -1
  380. package/src/domains/dispatch/capability-match.ts +11 -0
  381. package/src/domains/dispatch/capacity-lease.ts +17 -0
  382. package/src/domains/dispatch/contract.ts +11 -1
  383. package/src/domains/dispatch/extension.ts +237 -49
  384. package/src/domains/dispatch/host-verification.ts +435 -39
  385. package/src/domains/dispatch/intent-requirements.ts +10 -0
  386. package/src/domains/dispatch/intent.ts +18 -1
  387. package/src/domains/dispatch/path-scope.ts +235 -24
  388. package/src/domains/dispatch/run-event-journal.ts +4 -15
  389. package/src/domains/dispatch/state.ts +2 -3
  390. package/src/domains/dispatch/transport.ts +45 -21
  391. package/src/domains/dispatch/types.ts +58 -3
  392. package/src/domains/dispatch/worker-model-metadata.ts +38 -0
  393. package/src/domains/eval/artifacts/store.ts +5 -0
  394. package/src/domains/eval/metrics/call-ledger-stream.ts +34 -11
  395. package/src/domains/eval/metrics/token-stream.ts +201 -31
  396. package/src/domains/eval/metrics/tracked.ts +40 -4
  397. package/src/domains/eval/runners/clio-run.ts +5 -2
  398. package/src/domains/eval/schema/suite.ts +28 -0
  399. package/src/domains/eval/schema/verdict.ts +2 -2
  400. package/src/domains/eval/store.ts +8 -1
  401. package/src/domains/eval/suites/resolve.ts +13 -1
  402. package/src/domains/eval/suites/run.ts +24 -3
  403. package/src/domains/evidence/trust-status.ts +10 -1
  404. package/src/domains/extensions/contract.ts +15 -1
  405. package/src/domains/extensions/discovery.ts +238 -41
  406. package/src/domains/extensions/extension.ts +105 -6
  407. package/src/domains/extensions/index.ts +24 -0
  408. package/src/domains/extensions/integrity.ts +189 -0
  409. package/src/domains/extensions/manager.ts +17 -1
  410. package/src/domains/extensions/resource-path.ts +27 -0
  411. package/src/domains/extensions/resources.ts +18 -38
  412. package/src/domains/extensions/snapshot-store.ts +39 -0
  413. package/src/domains/extensions/snapshot.ts +180 -0
  414. package/src/domains/extensions/state.ts +385 -57
  415. package/src/domains/extensions/types.ts +118 -1
  416. package/src/domains/interop/registry.ts +6 -2
  417. package/src/domains/interop/types.ts +4 -0
  418. package/src/domains/lifecycle/migrations/2026-09-01-extension-install-digests.ts +27 -0
  419. package/src/domains/lifecycle/migrations/index.ts +6 -0
  420. package/src/domains/lifecycle/naming-resources.ts +19 -4
  421. package/src/domains/lifecycle/naming-yazi.ts +10 -5
  422. package/src/domains/memory/task-memory-policy.ts +70 -26
  423. package/src/domains/memory/task-memory-telemetry.ts +1 -0
  424. package/src/domains/middleware/contract.ts +26 -0
  425. package/src/domains/middleware/extension.ts +24 -24
  426. package/src/domains/middleware/hook-receipts.ts +27 -4
  427. package/src/domains/middleware/hooks-io.ts +65 -32
  428. package/src/domains/middleware/hooks.ts +64 -0
  429. package/src/domains/middleware/index.ts +28 -5
  430. package/src/domains/middleware/marketplace-offer.ts +3 -35
  431. package/src/domains/middleware/memory-intervention.ts +127 -32
  432. package/src/domains/middleware/memory-step-endpoint.ts +3 -2
  433. package/src/domains/middleware/registrations.ts +326 -0
  434. package/src/domains/middleware/runtime.ts +28 -0
  435. package/src/domains/middleware/skills-reminder.ts +31 -2
  436. package/src/domains/middleware/snapshot.ts +20 -7
  437. package/src/domains/mux/contract.ts +38 -0
  438. package/src/domains/mux/detect.ts +6 -13
  439. package/src/domains/mux/index.ts +1 -1
  440. package/src/domains/mux/operations.ts +44 -5
  441. package/src/domains/mux/yazi/assets/yazi.toml +2 -2
  442. package/src/domains/mux/yazi/session.ts +53 -4
  443. package/src/domains/mux/yazi/theme.ts +117 -17
  444. package/src/domains/observability/compaction-usage.ts +118 -0
  445. package/src/domains/observability/contract.ts +10 -11
  446. package/src/domains/observability/cost.ts +1 -1
  447. package/src/domains/observability/extension.ts +17 -4
  448. package/src/domains/observability/out-of-turn-usage.ts +52 -21
  449. package/src/domains/observability/projection.ts +14 -90
  450. package/src/domains/observability/trace-store.ts +43 -7
  451. package/src/domains/prompts/compiler.ts +73 -53
  452. package/src/domains/prompts/contract.ts +15 -3
  453. package/src/domains/prompts/extension.ts +97 -9
  454. package/src/domains/prompts/fragments/identity/clio-worker.md +1 -3
  455. package/src/domains/prompts/fragments/identity/clio.md +6 -12
  456. package/src/domains/prompts/fragments/identity/docs-routing.md +1 -2
  457. package/src/domains/prompts/fragments/identity/self-awareness.md +3 -11
  458. package/src/domains/prompts/fragments/operating/contract.md +7 -15
  459. package/src/domains/prompts/fragments/operating/delegation.md +32 -34
  460. package/src/domains/prompts/fragments/operating/skills.md +10 -24
  461. package/src/domains/prompts/fragments/operating/worker.md +1 -8
  462. package/src/domains/providers/contract.ts +4 -1
  463. package/src/domains/providers/extension.ts +40 -9
  464. package/src/domains/providers/index.ts +1 -1
  465. package/src/domains/providers/model-capabilities.ts +9 -0
  466. package/src/domains/providers/model-discovery.ts +2 -0
  467. package/src/domains/providers/model-runtime-capabilities.ts +99 -25
  468. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +699 -114
  469. package/src/domains/providers/runtime-resolution.ts +31 -0
  470. package/src/domains/providers/runtimes/antigravity/antigravity-code.ts +225 -45
  471. package/src/domains/providers/runtimes/common/lmstudio-http.ts +6 -2
  472. package/src/domains/providers/runtimes/common/local-synth.ts +2 -0
  473. package/src/domains/providers/runtimes/common/probe-helpers.ts +7 -2
  474. package/src/domains/providers/runtimes/local-native/llamacpp.ts +9 -1
  475. package/src/domains/providers/runtimes/protocol/litellm.ts +119 -29
  476. package/src/domains/providers/support.ts +11 -5
  477. package/src/domains/providers/target-model-cache.ts +25 -2
  478. package/src/domains/providers/types/capability-flags.ts +2 -0
  479. package/src/domains/providers/types/cost-provenance.ts +19 -0
  480. package/src/domains/providers/types/local-model-quirks.ts +85 -37
  481. package/src/domains/providers/types/runtime-descriptor.ts +20 -1
  482. package/src/domains/providers/types/target-descriptor.ts +19 -0
  483. package/src/domains/resources/index.ts +3 -0
  484. package/src/domains/resources/skills/install.ts +72 -7
  485. package/src/domains/resources/skills/loader.ts +23 -19
  486. package/src/domains/resources/skills/marketplace.ts +63 -11
  487. package/src/domains/safety/autonomy.ts +15 -0
  488. package/src/domains/safety/call-target.ts +1 -1
  489. package/src/domains/safety/index.ts +1 -0
  490. package/src/domains/safety/loop-detector.ts +7 -4
  491. package/src/domains/safety/path-policy.ts +1 -1
  492. package/src/domains/safety/policy-engine.ts +34 -11
  493. package/src/domains/safety/protected-artifacts.ts +191 -88
  494. package/src/domains/safety/run-effects.ts +2 -22
  495. package/src/domains/safety/skill-authority.ts +55 -0
  496. package/src/domains/session/compaction/compact.ts +72 -22
  497. package/src/domains/session/entries.ts +6 -0
  498. package/src/domains/session/task-board.ts +10 -9
  499. package/src/domains/session/usage.ts +3 -3
  500. package/src/domains/share/archive.ts +164 -7
  501. package/src/engine/acp/server.ts +62 -9
  502. package/src/engine/agent.ts +13 -3
  503. package/src/engine/ai.ts +26 -8
  504. package/src/engine/antigravity/subprocess-runtime.ts +386 -120
  505. package/src/engine/api-registry.ts +3 -0
  506. package/src/engine/apis/llamacpp-residency.ts +3 -4
  507. package/src/engine/apis/lmstudio.ts +3 -3
  508. package/src/engine/apis/ollama-native.ts +6 -6
  509. package/src/engine/apis/openai-completions.ts +145 -39
  510. package/src/engine/apis/output-budget.ts +8 -18
  511. package/src/engine/apis/residency.ts +8 -27
  512. package/src/engine/external-subprocess.ts +114 -6
  513. package/src/engine/gemma-channel-filter.ts +19 -0
  514. package/src/engine/loop-guard.ts +92 -12
  515. package/src/engine/worker-runtime.ts +40 -11
  516. package/src/engine/worker-tools.ts +3 -1
  517. package/src/entry/background-model-metadata.ts +18 -0
  518. package/src/entry/compaction-prompt.ts +57 -0
  519. package/src/entry/extension-hook-sources.ts +28 -0
  520. package/src/entry/extension-reload.ts +309 -0
  521. package/src/entry/orchestrator.ts +464 -251
  522. package/src/entry/task-memory-lifecycle.ts +35 -0
  523. package/src/interactive/application-controller.ts +2 -1
  524. package/src/interactive/bus-notices.ts +8 -1
  525. package/src/interactive/chat-loop-messages.ts +16 -17
  526. package/src/interactive/chat-loop.ts +75 -3
  527. package/src/interactive/chat-panel.ts +36 -13
  528. package/src/interactive/chat-renderer.ts +72 -7
  529. package/src/interactive/cost-overlay.ts +26 -2
  530. package/src/interactive/dispatch-board.ts +6 -11
  531. package/src/interactive/footer/widgets.ts +13 -0
  532. package/src/interactive/interactive-application.ts +39 -4
  533. package/src/interactive/interactive-input-runtime.ts +4 -0
  534. package/src/interactive/interactive-presentation.ts +2 -2
  535. package/src/interactive/interactive-slash-runtime.ts +4 -1
  536. package/src/interactive/overlays/extensions.ts +9 -1
  537. package/src/interactive/overlays/help-reference.ts +13 -0
  538. package/src/interactive/overlays/settings.ts +27 -16
  539. package/src/interactive/panes-runtime.ts +111 -35
  540. package/src/interactive/prompt-cache-identity.ts +88 -0
  541. package/src/interactive/renderers/worker-entry.ts +32 -0
  542. package/src/interactive/slash-commands.ts +153 -20
  543. package/src/interactive/stream-pacing-policy.ts +0 -23
  544. package/src/interactive/theme/labels.ts +19 -13
  545. package/src/interactive/turn-context.ts +39 -20
  546. package/src/interactive/turn-recovery.ts +8 -0
  547. package/src/interactive/turn-runtime.ts +27 -11
  548. package/src/interactive/turn-state.ts +7 -0
  549. package/src/interactive/worker-receipts.ts +1 -0
  550. package/src/interactive/worker-stream.ts +6 -1
  551. package/src/interactive/yazi-bridge.ts +60 -6
  552. package/src/tools/agent-tools.ts +30 -1
  553. package/src/tools/artifact.ts +2 -2
  554. package/src/tools/ask-user.ts +3 -3
  555. package/src/tools/bash.ts +1 -1
  556. package/src/tools/bootstrap.ts +4 -0
  557. package/src/tools/builtin-tool-catalog.ts +52 -22
  558. package/src/tools/codewiki/code-nav-surface.ts +6 -0
  559. package/src/tools/codewiki/code-nav.ts +99 -13
  560. package/src/tools/context/docs-engine.ts +20 -7
  561. package/src/tools/context/index.ts +59 -21
  562. package/src/tools/core-bootstrap.ts +28 -6
  563. package/src/tools/credential-present.ts +1 -2
  564. package/src/tools/dispatch-arguments.ts +6 -1
  565. package/src/tools/dispatch-event-text.ts +10 -0
  566. package/src/tools/dispatch-plan.ts +49 -4
  567. package/src/tools/dispatch-run-events.ts +1 -1
  568. package/src/tools/dispatch-runner.ts +12 -0
  569. package/src/tools/dispatch-schema.ts +338 -0
  570. package/src/tools/dispatch-types.ts +3 -0
  571. package/src/tools/dispatch.ts +9 -254
  572. package/src/tools/ledger.ts +3 -5
  573. package/src/tools/monitor-surface.ts +5 -13
  574. package/src/tools/observation.ts +4 -5
  575. package/src/tools/panes-surface.ts +4 -11
  576. package/src/tools/panes.ts +4 -2
  577. package/src/tools/policy.ts +15 -2
  578. package/src/tools/read.ts +5 -6
  579. package/src/tools/registry.ts +41 -12
  580. package/src/tools/result-shaping.ts +18 -14
  581. package/src/tools/steer-surface.ts +1 -1
  582. package/src/tools/tasks.ts +1 -1
  583. package/src/tools/truncate.ts +6 -5
  584. package/src/tools/verify/surface.ts +6 -12
  585. package/src/tools/web-fetch-surface.ts +1 -3
  586. package/src/tools/worker-evidence.ts +3 -1
  587. package/src/worker/spec-contract.ts +4 -0
  588. package/dist/builtins-UJLMOVOV.js +0 -17
  589. package/dist/chunk-5QIAJV2D.js +0 -48
  590. package/dist/chunk-JZWT5J3Y.js +0 -814
  591. package/dist/chunk-K7VKOLQQ.js +0 -15
  592. package/dist/chunk-PMZCIOCJ.js +0 -25
  593. package/dist/chunk-SUW5DORT.js +0 -819
  594. package/dist/chunk-UOV2BYIW.js +0 -107
  595. package/dist/chunk-WR6U3OVP.js +0 -45
  596. package/dist/chunk-Y45G3AXC.js +0 -1558
  597. package/dist/reset-EOLM7GVE.js +0 -230
  598. package/dist/uninstall-N34PCTGJ.js +0 -331
  599. package/dist/upgrade-H7TOM7YL.js +0 -323
  600. package/docs/artifact-versions.md +0 -67
  601. package/docs/development-pipeline.md +0 -121
  602. package/docs/documentation-coverage.md +0 -46
  603. package/docs/documentation-guide.md +0 -167
  604. package/docs/time-conventions.md +0 -101
@@ -2,16 +2,17 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  PANES_PRESETS,
4
4
  PANES_PRESET_IDS,
5
- isPanesPresetId
6
- } from "./chunk-GIZNH63R.js";
5
+ resolvePanesPresetId
6
+ } from "./chunk-35MSIRKH.js";
7
7
  import {
8
8
  AdmissionCanceledError,
9
9
  WORKER_OUTPUT_MAX_BYTES,
10
10
  durableAssistantTextFromEvent
11
11
  } from "./chunk-T56WDKA5.js";
12
12
  import {
13
+ SKILL_SURFACE_CLEAR_ARG,
13
14
  parseSkillCommand
14
- } from "./chunk-HUAS7ITX.js";
15
+ } from "./chunk-LDJG7DW3.js";
15
16
  import {
16
17
  TOOL_PROFILE_NAMES,
17
18
  isToolProfileName
@@ -19,22 +20,22 @@ import {
19
20
  import {
20
21
  requestExecutionRole
21
22
  } from "./chunk-H7IXIC72.js";
22
- import {
23
- truncateUtf8
24
- } from "./chunk-6XLNIQDB.js";
25
23
  import {
26
24
  parseCouncilReport,
27
25
  parseOracleResult
28
- } from "./chunk-IG7BCQBA.js";
26
+ } from "./chunk-B4OAX3SI.js";
27
+ import {
28
+ truncateUtf8
29
+ } from "./chunk-6XLNIQDB.js";
29
30
  import {
30
31
  resolveModelReference
31
- } from "./chunk-UEDMSP56.js";
32
+ } from "./chunk-XPWWI35G.js";
32
33
  import {
33
34
  BusChannels
34
- } from "./chunk-HLW2MRKE.js";
35
+ } from "./chunk-F4EKGO4N.js";
35
36
  import {
36
37
  THINKING_LEVELS
37
- } from "./chunk-BWW4HLO4.js";
38
+ } from "./chunk-UXCU4E3T.js";
38
39
  import {
39
40
  init_esm_shims
40
41
  } from "./chunk-3R73A4XB.js";
@@ -1418,9 +1419,9 @@ var BUILTIN_SLASH_COMMANDS = [
1418
1419
  },
1419
1420
  {
1420
1421
  name: "skill",
1421
- description: "Open the Skills Hub or invoke a skill",
1422
+ description: "Open the Skills Hub, invoke a skill, or `off` to drop an active skill's tool surface",
1422
1423
  group: "Work",
1423
- kinds: ["skill-selector", "skill-invocation"],
1424
+ kinds: ["skill-selector", "skill-invocation", "skill-surface-clear"],
1424
1425
  args: {
1425
1426
  positionals: [
1426
1427
  { name: "name", required: false },
@@ -1432,16 +1433,23 @@ var BUILTIN_SLASH_COMMANDS = [
1432
1433
  return { kind: "skill-selector" };
1433
1434
  }
1434
1435
  const command = parseSkillCommand(trimmed);
1435
- if (command) {
1436
- return { kind: "skill-invocation", text: trimmed };
1436
+ if (!command) return null;
1437
+ if (command.name === SKILL_SURFACE_CLEAR_ARG && command.args.length === 0) {
1438
+ return { kind: "skill-surface-clear" };
1437
1439
  }
1438
- return null;
1440
+ return { kind: "skill-invocation", text: trimmed };
1439
1441
  },
1440
1442
  handle(command, ctx) {
1441
1443
  if (command.kind === "skill-selector") {
1442
1444
  ctx.openSkillsHub?.();
1443
1445
  } else if (command.kind === "skill-invocation") {
1444
1446
  ctx.submitChat(command.text);
1447
+ } else if (command.kind === "skill-surface-clear") {
1448
+ const cleared = ctx.clearSkillSurface?.() ?? [];
1449
+ ctx.notice(
1450
+ "info",
1451
+ cleared.length > 0 ? `Skill tool surface cleared: ${cleared.join(", ")}.` : "No skill tool surface is active."
1452
+ );
1445
1453
  }
1446
1454
  }
1447
1455
  },
@@ -1454,22 +1462,27 @@ var BUILTIN_SLASH_COMMANDS = [
1454
1462
  skills: "Browse installed skills",
1455
1463
  prompts: "Browse prompt templates",
1456
1464
  library: "Browse resource libraries",
1457
- extensions: "Browse installed extensions"
1465
+ extensions: "Browse installed extensions; `reload` commits a new extension generation"
1458
1466
  },
1459
1467
  args: {
1460
1468
  subcommands: {
1461
1469
  skills: {},
1462
1470
  prompts: {},
1463
1471
  library: { positionals: [{ name: "kind", required: false }] },
1464
- extensions: {}
1472
+ extensions: { positionals: [{ name: "action", required: false, values: ["reload"] }] }
1465
1473
  }
1466
1474
  },
1467
1475
  fromArgs(parsed) {
1468
1476
  if (parsed.error) return { kind: "usage-error", command: "resources", reason: parsed.error };
1469
1477
  if (parsed.subcommand === void 0 || parsed.subcommand === "skills")
1470
1478
  return { kind: "resources", family: "skills" };
1471
- if (parsed.subcommand === "prompts" || parsed.subcommand === "extensions")
1472
- return { kind: "resources", family: parsed.subcommand };
1479
+ if (parsed.subcommand === "prompts") return { kind: "resources", family: "prompts" };
1480
+ if (parsed.subcommand === "extensions") {
1481
+ const action = parsed.positionals[0];
1482
+ if (action === void 0) return { kind: "resources", family: "extensions" };
1483
+ if (action === "reload") return { kind: "resources", family: "extensions", action: "reload" };
1484
+ return { kind: "usage-error", command: "resources", reason: `Unknown action: ${action} (one of reload)` };
1485
+ }
1473
1486
  const tab = parsed.positionals[0];
1474
1487
  if (tab === void 0) return { kind: "resources" };
1475
1488
  if (!isLibraryTab(tab)) {
@@ -1481,8 +1494,10 @@ var BUILTIN_SLASH_COMMANDS = [
1481
1494
  handle(command, ctx) {
1482
1495
  if (command.kind !== "resources") return;
1483
1496
  if (command.family === "prompts") ctx.openPrompts();
1484
- else if (command.family === "extensions") ctx.openExtensions();
1485
- else ctx.openSkillsHub?.(command.tab);
1497
+ else if (command.family === "extensions") {
1498
+ if (command.action === "reload") reloadExtensionsCommand(ctx);
1499
+ else ctx.openExtensions();
1500
+ } else ctx.openSkillsHub?.(command.tab);
1486
1501
  }
1487
1502
  },
1488
1503
  {
@@ -2145,7 +2160,7 @@ ${usage}` : usage);
2145
2160
  },
2146
2161
  subcommandDescriptions: {
2147
2162
  show: "watch a live run or agent in the watch pane",
2148
- open: `open a utility pane (${PANES_PRESET_IDS.join(", ")}, or a command)`,
2163
+ open: `open a utility pane (${PANES_PRESET_IDS.join(", ")}, \`files --once\` for one pick, or a command)`,
2149
2164
  zoom: "toggle zoom on a Clio-owned pane (default: the watch pane)",
2150
2165
  close: "close a Clio-owned pane, or all of them"
2151
2166
  },
@@ -2159,9 +2174,10 @@ ${usage}` : usage);
2159
2174
  if (rest.length === 0) return { kind: "panes-usage", reason: "Missing required argument: preset-or-argv" };
2160
2175
  const argv = rest.split(/\s+/).filter((token) => token.length > 0);
2161
2176
  const first = argv[0] ?? "";
2162
- if (argv.length === 1 && isPanesPresetId(first)) return { kind: "panes-open", preset: first };
2163
- if (argv.length === 2 && first === "yazi" && argv[1] === "--once") {
2164
- return { kind: "panes-open", preset: "yazi", once: true };
2177
+ const preset = resolvePanesPresetId(first);
2178
+ if (argv.length === 1 && preset !== null) return { kind: "panes-open", preset };
2179
+ if (argv.length === 2 && preset === "files" && argv[1] === "--once") {
2180
+ return { kind: "panes-open", preset: "files", once: true };
2165
2181
  }
2166
2182
  return { kind: "panes-open", argv };
2167
2183
  }
@@ -2187,7 +2203,7 @@ ${usageNotice(entry)}` : usageNotice(entry));
2187
2203
  if (!panes) {
2188
2204
  ctx.notice(
2189
2205
  "info",
2190
- "panes are inactive: this session started without them. Restart with `clio-coder --with-panes`, or set panes.enabled=auto"
2206
+ "panes are inactive: this session started without them. Restart with `clio-coder --with-panes`, or set interface.panes.enabled=auto"
2191
2207
  );
2192
2208
  return;
2193
2209
  }
@@ -2222,7 +2238,12 @@ ${usageNotice(entry)}` : usageNotice(entry));
2222
2238
  ...command.once ? { once: true } : {}
2223
2239
  });
2224
2240
  if (result.status === "opened") {
2225
- if (result.paneId !== null) ctx.notice("success", `opened pane ${result.label} (${result.paneId})`);
2241
+ if (result.paneId !== null) {
2242
+ ctx.notice(
2243
+ "success",
2244
+ result.existing ? `focused pane ${result.label} (${result.paneId})` : `opened pane ${result.label} (${result.paneId})`
2245
+ );
2246
+ }
2226
2247
  } else if (result.status === "missing-binary") {
2227
2248
  ctx.io.stdout(`${result.detail}
2228
2249
  `);
@@ -2260,6 +2281,63 @@ ${usageNotice(entry)}` : usageNotice(entry));
2260
2281
  });
2261
2282
  }
2262
2283
  },
2284
+ {
2285
+ name: "files",
2286
+ description: "Toggle the files pane; picks land in the composer as @ mentions",
2287
+ group: "Inspect",
2288
+ kinds: ["files", "files-usage"],
2289
+ args: { positionals: [{ name: "action", required: false }] },
2290
+ subcommandDescriptions: {
2291
+ open: "open the files pane, or focus it when it is already open",
2292
+ close: "close the files pane",
2293
+ pick: "borrow the files pane for one selection, then close it"
2294
+ },
2295
+ fromArgs(parsed) {
2296
+ if (parsed.error) return { kind: "files-usage", reason: parsed.error };
2297
+ const action = parsed.positionals[0];
2298
+ if (action === void 0) return { kind: "files", action: "toggle" };
2299
+ if (action === "open" || action === "close" || action === "pick" || action === "toggle") {
2300
+ return { kind: "files", action };
2301
+ }
2302
+ return { kind: "files-usage", reason: `Unexpected argument: ${action}` };
2303
+ },
2304
+ handle(command, ctx) {
2305
+ if (command.kind === "files-usage") {
2306
+ ctx.notice("info", `${command.reason}
2307
+ usage: /files [open|close|pick]`);
2308
+ return;
2309
+ }
2310
+ if (command.kind !== "files") return;
2311
+ const panes = ctx.panes;
2312
+ if (!panes) {
2313
+ ctx.notice(
2314
+ "info",
2315
+ "the files pane is inactive: this session started without panes. Restart with `clio-coder --with-panes`, or set interface.panes.enabled=auto"
2316
+ );
2317
+ return;
2318
+ }
2319
+ const runLocal = ctx.runLocalOperation ?? ((operation) => void operation());
2320
+ runLocal(async () => {
2321
+ const result = await panes.files(command.action);
2322
+ if (result.status === "opened") {
2323
+ if (result.paneId !== null) {
2324
+ ctx.notice(
2325
+ "success",
2326
+ result.existing ? `files pane focused (${result.paneId})` : `files pane opened (${result.paneId})`
2327
+ );
2328
+ }
2329
+ } else if (result.status === "closed") {
2330
+ ctx.notice("info", "files pane closed");
2331
+ } else if (result.status === "missing-binary") {
2332
+ ctx.io.stdout(`${result.detail}
2333
+ `);
2334
+ ctx.render();
2335
+ } else {
2336
+ ctx.notice("warn", result.reason);
2337
+ }
2338
+ });
2339
+ }
2340
+ },
2263
2341
  {
2264
2342
  name: "thinking",
2265
2343
  description: "Set the chat thinking level",
@@ -2514,6 +2592,30 @@ function retiredCommandHint(token) {
2514
2592
  if (/^skills?:[^\s]+$/u.test(token)) return "Use /skill <name> [task].";
2515
2593
  return RETIRED_COMMAND_HINTS[token];
2516
2594
  }
2595
+ function formatExtensionReloadNotice(outcome) {
2596
+ if (outcome.status !== "committed") {
2597
+ return ["error", `extensions: reload rejected (${outcome.reason}); generation ${outcome.generation} stays active`];
2598
+ }
2599
+ const delta = outcome.changed ? `changed: +${outcome.added.length} -${outcome.removed.length} ~${outcome.modified.length}` : "unchanged";
2600
+ const issueCount = outcome.hooks.fileIssues + outcome.hooks.issues;
2601
+ const hookParts = [`${outcome.hooks.registered} registered`];
2602
+ if (outcome.hooks.dropped > 0) hookParts.push(`${outcome.hooks.dropped} dropped`);
2603
+ if (issueCount > 0) hookParts.push(`${issueCount} issue${issueCount === 1 ? "" : "s"}`);
2604
+ if (outcome.hooks.overridden > 0) hookParts.push(`${outcome.hooks.overridden} overridden`);
2605
+ const level = outcome.hooks.dropped > 0 || issueCount > 0 ? "warn" : "success";
2606
+ return [level, `extensions: generation ${outcome.generation} committed (${delta}); hooks: ${hookParts.join(", ")}`];
2607
+ }
2608
+ function reloadExtensionsCommand(ctx) {
2609
+ if (!ctx.reloadExtensions) {
2610
+ ctx.notice("warn", "extensions: reload is unavailable in this session; restart to pick up installed changes");
2611
+ return;
2612
+ }
2613
+ const outcome = ctx.reloadExtensions();
2614
+ const [level, text] = formatExtensionReloadNotice(outcome);
2615
+ ctx.notice(level, text);
2616
+ for (const line of outcome.lines) ctx.notice("warn", line);
2617
+ if (outcome.status === "committed") ctx.openExtensions();
2618
+ }
2517
2619
  function parseSlashCommand(input) {
2518
2620
  const trimmed = input.trim();
2519
2621
  if (trimmed.length === 0) return { kind: "empty" };
@@ -2628,8 +2730,9 @@ export {
2628
2730
  formatUserTaskHandoff,
2629
2731
  SLASH_COMMAND_GROUPS,
2630
2732
  BUILTIN_SLASH_COMMANDS,
2733
+ formatExtensionReloadNotice,
2631
2734
  parseSlashCommand,
2632
2735
  dispatchSlashCommand,
2633
2736
  commandReference
2634
2737
  };
2635
- //# sourceMappingURL=chunk-J4HBWF6Y.js.map
2738
+ //# sourceMappingURL=chunk-TM6LQDI3.js.map
@@ -0,0 +1,41 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ init_esm_shims
4
+ } from "./chunk-3R73A4XB.js";
5
+
6
+ // src/domains/lifecycle/install-method.ts
7
+ init_esm_shims();
8
+ import { existsSync, readFileSync, realpathSync } from "node:fs";
9
+ import { join, resolve, sep } from "node:path";
10
+ var PACKAGE_NAME = "@iowarp/clio-coder";
11
+ var DIST_CLI_SUFFIX = join("dist", "cli", "index.js");
12
+ function detectInstallMethod(entryPath = process.argv[1]) {
13
+ const root = sourceCheckoutRoot(entryPath);
14
+ return root === null ? "npm" : "source";
15
+ }
16
+ function sourceCheckoutRoot(entryPath = process.argv[1]) {
17
+ if (!entryPath || entryPath.trim().length === 0) return null;
18
+ let entry;
19
+ try {
20
+ entry = realpathSync(resolve(entryPath));
21
+ } catch {
22
+ return null;
23
+ }
24
+ const suffix = sep + DIST_CLI_SUFFIX;
25
+ if (!entry.endsWith(suffix)) return null;
26
+ if (entry.split(sep).includes("node_modules")) return null;
27
+ const root = entry.slice(0, entry.length - suffix.length);
28
+ try {
29
+ const pkg = JSON.parse(readFileSync(join(root, "package.json"), "utf8"));
30
+ if (pkg.name !== PACKAGE_NAME) return null;
31
+ } catch {
32
+ return null;
33
+ }
34
+ const hasCheckoutMarker = existsSync(join(root, ".git")) || existsSync(join(root, "src", "cli", "index.ts"));
35
+ return hasCheckoutMarker ? root : null;
36
+ }
37
+
38
+ export {
39
+ detectInstallMethod
40
+ };
41
+ //# sourceMappingURL=chunk-UOIZ7DA4.js.map
@@ -1,13 +1,16 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  discoverAgentRecipes
4
- } from "./chunk-ZJLUDYFY.js";
4
+ } from "./chunk-RRNP2ANY.js";
5
5
  import {
6
6
  assertAgentIdNamespace
7
7
  } from "./chunk-DR52UMZW.js";
8
8
  import {
9
9
  normalizeAgentSpec
10
- } from "./chunk-IG7BCQBA.js";
10
+ } from "./chunk-B4OAX3SI.js";
11
+ import {
12
+ BusChannels
13
+ } from "./chunk-F4EKGO4N.js";
11
14
  import {
12
15
  init_esm_shims
13
16
  } from "./chunk-3R73A4XB.js";
@@ -21,6 +24,7 @@ function createAgentsBundle(_context) {
21
24
  let recipes = [];
22
25
  let specs = [];
23
26
  let diagnostics = [];
27
+ let revision = 0;
24
28
  function discover() {
25
29
  const nextDiagnostics = [];
26
30
  const merged = discoverAgentRecipes(process.cwd(), nextDiagnostics);
@@ -29,15 +33,33 @@ function createAgentsBundle(_context) {
29
33
  recipes = merged;
30
34
  specs = recipes.map(normalizeAgentSpec);
31
35
  diagnostics = nextDiagnostics;
36
+ revision += 1;
32
37
  }
38
+ let unsubscribeExtensionsReload = null;
33
39
  const extension = {
34
40
  async start() {
35
41
  discover();
42
+ unsubscribeExtensionsReload = _context.bus.on(BusChannels.ExtensionsReloaded, (payload) => {
43
+ if (payload?.changed !== true) return;
44
+ try {
45
+ discover();
46
+ } catch (error) {
47
+ process.stderr.write(
48
+ `[clio-coder:agents] rediscovery after extension reload failed: ${error instanceof Error ? error.message : String(error)}
49
+ `
50
+ );
51
+ }
52
+ });
36
53
  },
37
54
  async stop() {
55
+ unsubscribeExtensionsReload?.();
56
+ unsubscribeExtensionsReload = null;
38
57
  }
39
58
  };
40
59
  const contract = {
60
+ revision() {
61
+ return revision;
62
+ },
41
63
  list() {
42
64
  return recipes;
43
65
  },
@@ -124,4 +146,4 @@ var AgentsDomainModule = {
124
146
  export {
125
147
  AgentsDomainModule
126
148
  };
127
- //# sourceMappingURL=chunk-MA3H6DM5.js.map
149
+ //# sourceMappingURL=chunk-UPZU6GE4.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-LL4KHSZI.js";
5
5
  import {
6
6
  GUARDRAIL_DEFAULTS
7
- } from "./chunk-NLFAQR7Z.js";
7
+ } from "./chunk-S66XZJOF.js";
8
8
  import {
9
9
  init_esm_shims
10
10
  } from "./chunk-3R73A4XB.js";
@@ -48,13 +48,13 @@ var DEFAULT_SETTINGS = {
48
48
  chat: {
49
49
  target: null,
50
50
  model: null,
51
- thinkingLevel: "off",
51
+ thinkingLevel: "low",
52
52
  modelPicker: {
53
53
  cycleSet: [],
54
54
  favorites: [],
55
55
  recentLimit: 12
56
56
  },
57
- maxOutputTokens: 32768,
57
+ maxOutputTokens: 0,
58
58
  prewarm: true,
59
59
  retry: {
60
60
  enabled: true,
@@ -92,6 +92,7 @@ var DEFAULT_SETTINGS = {
92
92
  history: { maxRuns: GUARDRAIL_DEFAULTS.maxDispatchRuns, journal: true }
93
93
  },
94
94
  context: {
95
+ toolResultMaxBytes: 65536,
95
96
  workingSet: DEFAULT_WORKING_SET_SETTINGS,
96
97
  compaction: {
97
98
  auto: true,
@@ -172,12 +173,12 @@ targets: []
172
173
  chat:
173
174
  target: null
174
175
  model: null
175
- thinkingLevel: off
176
+ thinkingLevel: low
176
177
  modelPicker:
177
178
  cycleSet: []
178
179
  favorites: []
179
180
  recentLimit: 12
180
- maxOutputTokens: 32768
181
+ maxOutputTokens: 0
181
182
  prewarm: true
182
183
  retry:
183
184
  enabled: true
@@ -216,6 +217,7 @@ fleet:
216
217
  journal: true
217
218
 
218
219
  context:
220
+ toolResultMaxBytes: 65536
219
221
  workingSet:
220
222
  enabled: true
221
223
  policy: structural-v1
@@ -298,4 +300,4 @@ export {
298
300
  DEFAULT_SETTINGS,
299
301
  DEFAULT_SETTINGS_YAML
300
302
  };
301
- //# sourceMappingURL=chunk-BWW4HLO4.js.map
303
+ //# sourceMappingURL=chunk-UXCU4E3T.js.map
@@ -1,19 +1,19 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  runVectorTool
4
- } from "./chunk-7OBGU7UB.js";
4
+ } from "./chunk-ZDN3Y73Y.js";
5
5
  import {
6
6
  PROJECT_VERIFIER_CATALOG_RELATIVE_PATH,
7
7
  loadProjectVerifierCatalog,
8
8
  packageDeclaredCheck,
9
9
  resolveProjectVerifierExecutionCwd
10
- } from "./chunk-VN3SHNBN.js";
10
+ } from "./chunk-7DICMOS6.js";
11
11
  import {
12
12
  declaredVerificationScripts
13
13
  } from "./chunk-UL3WSD3F.js";
14
14
  import {
15
15
  resolveSafeCwd
16
- } from "./chunk-HJWWJ6IL.js";
16
+ } from "./chunk-JSC3U7TI.js";
17
17
  import {
18
18
  init_esm_shims
19
19
  } from "./chunk-3R73A4XB.js";
@@ -239,4 +239,4 @@ export {
239
239
  runProjectCheck,
240
240
  runScriptCheck
241
241
  };
242
- //# sourceMappingURL=chunk-N5UK64DP.js.map
242
+ //# sourceMappingURL=chunk-V2ANDPVT.js.map
@@ -64,7 +64,7 @@ async function writeEvidenceIndexRowQueued(stateDir, row) {
64
64
 
65
65
  // src/domains/observability/out-of-turn-usage.ts
66
66
  init_esm_shims();
67
- import { closeSync, mkdirSync, openSync, readFileSync as readFileSync2, writeSync } from "node:fs";
67
+ import { closeSync, fsyncSync, mkdirSync, openSync, readFileSync as readFileSync2, writeSync } from "node:fs";
68
68
  import { dirname, join as join2 } from "node:path";
69
69
  var OUT_OF_TURN_USAGE_DIR = "usage";
70
70
  var OUT_OF_TURN_USAGE_FILE = "out-of-turn.jsonl";
@@ -74,18 +74,24 @@ function outOfTurnUsagePath(stateDir) {
74
74
  return join2(stateDir, OUT_OF_TURN_USAGE_DIR, OUT_OF_TURN_USAGE_FILE);
75
75
  }
76
76
  var appendsSinceBoundCheck = BOUND_CHECK_INTERVAL;
77
- function appendOutOfTurnUsageRow(stateDir, row) {
77
+ function appendOutOfTurnUsageRow(stateDir, row, options = {}) {
78
78
  const path = outOfTurnUsagePath(stateDir);
79
79
  try {
80
80
  mkdirSync(dirname(path), { recursive: true });
81
81
  const fd = openSync(path, "a");
82
82
  try {
83
- writeSync(fd, `${JSON.stringify(row)}
84
- `);
83
+ const line = `${JSON.stringify(row)}
84
+ `;
85
+ const written = writeSync(fd, line);
86
+ if (options.required) {
87
+ if (written !== Buffer.byteLength(line)) throw new Error("incomplete usage row write");
88
+ fsyncSync(fd);
89
+ }
85
90
  } finally {
86
91
  closeSync(fd);
87
92
  }
88
93
  } catch (error) {
94
+ if (options.required) throw new Error(`compaction usage row not written: ${messageOf(error)}`, { cause: error });
89
95
  process.stderr.write(`[clio-coder:usage] out-of-turn usage row not written: ${messageOf(error)}
90
96
  `);
91
97
  return;
@@ -150,11 +156,14 @@ function readOutOfTurnUsageRows(stateDir) {
150
156
  function asOutOfTurnUsageRow(value) {
151
157
  if (!isRecord(value)) return null;
152
158
  const label = value.label;
153
- if (label !== "side-question" && label !== "handoff" && label !== "prewarm" && label !== "background-memory")
159
+ if (label !== "side-question" && label !== "handoff" && label !== "prewarm" && label !== "background-memory" && label !== "failed-compaction")
154
160
  return null;
155
161
  if (typeof value.timestamp !== "string" || value.timestamp.length === 0) return null;
156
162
  if (!isRecord(value.usage)) return null;
157
163
  const usage = value.usage;
164
+ if (label === "failed-compaction" && value.callOutcome !== "success" && value.callOutcome !== "error" && value.callOutcome !== "aborted")
165
+ return null;
166
+ const reading = label === "failed-compaction" ? nullableNumber : numberOr0;
158
167
  const timing = asTiming(value.timing);
159
168
  const promptCache = asPromptCache(value.promptCache);
160
169
  return {
@@ -165,15 +174,16 @@ function asOutOfTurnUsageRow(value) {
165
174
  target: typeof value.target === "string" && value.target.length > 0 ? value.target : "unknown",
166
175
  attributedModelId: typeof value.attributedModelId === "string" && value.attributedModelId.length > 0 ? value.attributedModelId : "unknown",
167
176
  usage: {
168
- input: numberOr0(usage.input),
169
- output: numberOr0(usage.output),
170
- cacheRead: numberOr0(usage.cacheRead),
171
- cacheWrite: numberOr0(usage.cacheWrite),
172
- reasoning: numberOr0(usage.reasoning),
173
- totalTokens: numberOr0(usage.totalTokens),
174
- costUsd: numberOr0(usage.costUsd),
177
+ input: reading(usage.input),
178
+ output: reading(usage.output),
179
+ cacheRead: reading(usage.cacheRead),
180
+ cacheWrite: reading(usage.cacheWrite),
181
+ reasoning: reading(usage.reasoning),
182
+ totalTokens: reading(usage.totalTokens),
183
+ costUsd: reading(usage.costUsd),
175
184
  costProvenance: asCostProvenance(usage.costProvenance)
176
185
  },
186
+ ...label === "failed-compaction" ? { callOutcome: value.callOutcome } : {},
177
187
  ...timing === null ? {} : { timing },
178
188
  ...promptCache === null ? {} : { promptCache }
179
189
  };
@@ -197,6 +207,9 @@ function asPromptCache(value) {
197
207
  function asCostProvenance(value) {
198
208
  return value === "known" || value === "known_free" || value === "estimated" ? value : "unknown";
199
209
  }
210
+ function nullableNumber(value) {
211
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : null;
212
+ }
200
213
  function numberOr0(value) {
201
214
  return typeof value === "number" && Number.isFinite(value) && value > 0 ? value : 0;
202
215
  }
@@ -213,4 +226,4 @@ export {
213
226
  appendOutOfTurnUsageRow,
214
227
  readOutOfTurnUsageRows
215
228
  };
216
- //# sourceMappingURL=chunk-AK5XEFVZ.js.map
229
+ //# sourceMappingURL=chunk-VA5FNYMT.js.map
@@ -18,20 +18,12 @@ var RUN_EVENT_JOURNAL_DIR = "runs";
18
18
  var RUN_EVENT_JOURNAL_FILE = "events.ndjson";
19
19
  var RUN_EVENT_JOURNAL_CAP_BYTES = 2 * 1024 * 1024;
20
20
  var RUN_EVENT_JOURNAL_FLUSH_BYTES = 8 * 1024;
21
- var RUN_EVENT_JOURNAL_ENV_VAR = "CLIO_CODER_RUN_JOURNAL";
22
21
  var configuredEnabled;
23
22
  function configureRunEventJournal(enabled) {
24
23
  configuredEnabled = enabled;
25
24
  }
26
- function parseEnvFlag(raw) {
27
- if (raw === void 0) return void 0;
28
- const normalized = raw.trim().toLowerCase();
29
- if (normalized === "1" || normalized === "true" || normalized === "on") return true;
30
- if (normalized === "0" || normalized === "false" || normalized === "off") return false;
31
- return void 0;
32
- }
33
- function runEventJournalEnabled(env = process.env) {
34
- return parseEnvFlag(env[RUN_EVENT_JOURNAL_ENV_VAR]) ?? configuredEnabled ?? true;
25
+ function runEventJournalEnabled() {
26
+ return configuredEnabled ?? true;
35
27
  }
36
28
  function runEventJournalRoot() {
37
29
  return join(clioStateDir(), RUN_EVENT_JOURNAL_DIR);
@@ -362,4 +354,4 @@ export {
362
354
  defaultRunEventJournal,
363
355
  readRunEventJournal
364
356
  };
365
- //# sourceMappingURL=chunk-6VC4OV3Z.js.map
357
+ //# sourceMappingURL=chunk-VIA6RFQZ.js.map