@iowarp/clio-coder 0.3.7 → 0.3.9

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 (400) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +13 -4
  3. package/dist/{acp-SK4MD6MM.js → acp-7LOELQFP.js} +13 -13
  4. package/dist/{agents-2FN2K6ME.js → agents-FIBG2SHA.js} +41 -37
  5. package/dist/assets/codewiki.json +1 -1
  6. package/dist/{auth-QIYZWM5I.js → auth-OI4LIH2I.js} +31 -24
  7. package/dist/builtins-AD25UL3C.js +17 -0
  8. package/dist/{chunk-5FR74PWO.js → chunk-2JDWVJND.js} +2 -2
  9. package/dist/chunk-3DPEIQKN.js +113 -0
  10. package/dist/{chunk-EOOQZZDE.js → chunk-3DUR4WUA.js} +19 -19
  11. package/dist/{chunk-WHJYKASB.js → chunk-3MRC2YSQ.js} +2 -2
  12. package/dist/{chunk-EBEFWSGL.js → chunk-3UUY7R3Z.js} +14 -10
  13. package/dist/{chunk-LADCF22A.js → chunk-3V5AYSEQ.js} +113 -54
  14. package/dist/{chunk-BMWK7ZIZ.js → chunk-465CC7FK.js} +16 -13
  15. package/dist/{chunk-5WIGXA4T.js → chunk-47CMYGET.js} +111 -4
  16. package/dist/{chunk-CEYBNUGC.js → chunk-4H6ULJ3H.js} +378 -36
  17. package/dist/{chunk-YTYFXUI3.js → chunk-4LJX2PUC.js} +9 -9
  18. package/dist/{chunk-DOOEX22V.js → chunk-56KB5IJP.js} +5 -5
  19. package/dist/{chunk-SPULKLCF.js → chunk-5DQRIYDZ.js} +2 -2
  20. package/dist/{chunk-TSHXZTOQ.js → chunk-5HFBWUMU.js} +23 -11
  21. package/dist/{chunk-5UJ6ECTS.js → chunk-5PVQ4SRS.js} +80 -8
  22. package/dist/{chunk-ZWLZP4ZT.js → chunk-5QKCQQ3E.js} +359 -17
  23. package/dist/{chunk-6M7VS3J3.js → chunk-5T7RBWN2.js} +111 -5
  24. package/dist/chunk-774ILSRL.js +172 -0
  25. package/dist/chunk-7C6RYZGQ.js +391 -0
  26. package/dist/{chunk-GH5622CP.js → chunk-A2NJGIB3.js} +2 -2
  27. package/dist/{chunk-C4JBQ5SR.js → chunk-AD7Y7STJ.js} +6 -6
  28. package/dist/{chunk-GEYXPTRF.js → chunk-AEYBF3TB.js} +33 -12
  29. package/dist/{chunk-2SFS6XQE.js → chunk-AMKHQW3C.js} +3 -2
  30. package/dist/{chunk-D4MDIG46.js → chunk-B5CSFE7B.js} +7 -7
  31. package/dist/{chunk-MXI6J5JF.js → chunk-B5XRQOLB.js} +10 -10
  32. package/dist/{chunk-X2KV5FXT.js → chunk-BVDVID7E.js} +2 -2
  33. package/dist/{chunk-JNXPYBB4.js → chunk-CA42X6KT.js} +3 -3
  34. package/dist/{chunk-VREKEFLL.js → chunk-D73KXYPF.js} +3 -3
  35. package/dist/{chunk-JTSEDYVQ.js → chunk-DG4M6ZUE.js} +7 -7
  36. package/dist/{chunk-DQA7QLMD.js → chunk-EBOC7MT3.js} +10 -25
  37. package/dist/{chunk-KZ2H5X4G.js → chunk-ECUO3KDP.js} +129 -14
  38. package/dist/{chunk-JRIO5UD2.js → chunk-EQ63NRB7.js} +5 -5
  39. package/dist/{chunk-YD734TPH.js → chunk-FALJGAWU.js} +2 -2
  40. package/dist/{chunk-GWS3VEIW.js → chunk-FWDFM5ZU.js} +24 -3
  41. package/dist/{chunk-XEGB6BCN.js → chunk-GAYUJ7LE.js} +68 -14
  42. package/dist/{chunk-UND3GU2L.js → chunk-H7IXIC72.js} +2 -2
  43. package/dist/{chunk-IR4CFBFN.js → chunk-HAY4ZE2P.js} +12 -12
  44. package/dist/{chunk-UVDSQ6LW.js → chunk-HCBCAYZU.js} +74 -147
  45. package/dist/{chunk-4DWFMQDR.js → chunk-HJB5IUKP.js} +89 -145
  46. package/dist/{chunk-M4AKACEO.js → chunk-HKO36JWF.js} +33 -5
  47. package/dist/{chunk-KCMKRQX4.js → chunk-HPCTNZM2.js} +45 -82
  48. package/dist/{chunk-465YSENW.js → chunk-IFBNV6H6.js} +3 -3
  49. package/dist/{chunk-FJ3H4MN5.js → chunk-IHKBWSXF.js} +2 -2
  50. package/dist/chunk-JEQQR47K.js +3025 -0
  51. package/dist/{chunk-FO5ZOVUY.js → chunk-KV2AOLDF.js} +27 -7
  52. package/dist/chunk-LU7P4LHA.js +33 -0
  53. package/dist/{chunk-6TUKSZVF.js → chunk-LXPJXFM5.js} +11 -11
  54. package/dist/{chunk-VQNODYQ4.js → chunk-MIX5N5AC.js} +488 -3668
  55. package/dist/chunk-MLOK6ZOS.js +2888 -0
  56. package/dist/{chunk-ZZMN5OM4.js → chunk-MV2VUEJC.js} +2 -2
  57. package/dist/{chunk-MVVUPGPW.js → chunk-MXHC5QYU.js} +6 -6
  58. package/dist/{chunk-OBMAI2DP.js → chunk-N3PBVRTZ.js} +12 -388
  59. package/dist/{chunk-WJHBC77E.js → chunk-N5XKWMDW.js} +17 -7
  60. package/dist/{chunk-5C3AQNDW.js → chunk-NNNWO6F2.js} +124 -36
  61. package/dist/{chunk-UFQ3F4FW.js → chunk-NQ6UCCOD.js} +4 -4
  62. package/dist/chunk-NUGM5KR6.js +165 -0
  63. package/dist/{chunk-DMD2AGVS.js → chunk-NZU6YDNV.js} +20 -18
  64. package/dist/{chunk-WHGPSPT5.js → chunk-O6I4CIEU.js} +151 -13
  65. package/dist/{chunk-XN3L4EYL.js → chunk-OEDBCISO.js} +2 -2
  66. package/dist/{chunk-PD3MESLB.js → chunk-P3JGPQFL.js} +4 -4
  67. package/dist/{chunk-UHXRNZ2J.js → chunk-PNY46YEY.js} +23 -6
  68. package/dist/{chunk-THKY7CD7.js → chunk-PZ4I4JE2.js} +134 -29
  69. package/dist/{chunk-SROCI7ZU.js → chunk-QQ7EKM72.js} +5 -5
  70. package/dist/{chunk-QCTRSGHQ.js → chunk-R7LNVMCS.js} +91 -53
  71. package/dist/{chunk-GOXNB3AO.js → chunk-RAPCMZL4.js} +75 -4
  72. package/dist/chunk-RKKLTLYB.js +45 -0
  73. package/dist/{chunk-OB5HIGJY.js → chunk-RKRLDWD3.js} +4 -1
  74. package/dist/{chunk-DJNLUABN.js → chunk-S4COXYBG.js} +588 -32
  75. package/dist/{chunk-3HAPLH5M.js → chunk-T3Z6VAAF.js} +172 -11
  76. package/dist/{chunk-FOT2FX5J.js → chunk-TD7UE2L5.js} +12 -10
  77. package/dist/{chunk-UUANF5CR.js → chunk-TEO2TLVN.js} +856 -967
  78. package/dist/{chunk-FCSXB6T2.js → chunk-UOSL25KY.js} +14 -2
  79. package/dist/{chunk-EELBMBT6.js → chunk-VKBMFOYV.js} +74 -15
  80. package/dist/chunk-VO2LKSTM.js +165 -0
  81. package/dist/{chunk-5C77SEEY.js → chunk-VPTUJU4P.js} +3 -3
  82. package/dist/{chunk-WEH5XRJQ.js → chunk-WIE7ZOSW.js} +2 -2
  83. package/dist/{chunk-J7PIKKWC.js → chunk-WXCJ7VME.js} +8 -8
  84. package/dist/{chunk-4DGYLA73.js → chunk-XDOQXGFO.js} +22 -7
  85. package/dist/{chunk-PPAMZ32Z.js → chunk-XK56QHLX.js} +6 -1
  86. package/dist/{chunk-AB4XIIVB.js → chunk-YKOFT37S.js} +6 -6
  87. package/dist/chunk-YSEHGPCT.js +127 -0
  88. package/dist/{chunk-HFSBBKSQ.js → chunk-YW7UVM5V.js} +138 -3
  89. package/dist/cli/index.js +32 -32
  90. package/dist/{clio-WBVQEBKO.js → clio-LT5V7SSZ.js} +9 -9
  91. package/dist/{code-nav-FGGFIE7L.js → code-nav-LMW275PA.js} +5 -5
  92. package/dist/codewiki/build-worker.js +4 -4
  93. package/dist/{components-F7OEATSO.js → components-ZFA3SAER.js} +8 -8
  94. package/dist/{config-TRBL3RCF.js → config-RXS5T3JT.js} +98 -65
  95. package/dist/{configure-OLCVPHNM.js → configure-2WYWSCSD.js} +26 -22
  96. package/dist/{context-MJIJ6GOX.js → context-I3BTOTCS.js} +12 -12
  97. package/dist/{context-XEWE3MOJ.js → context-MVOORGMF.js} +54 -47
  98. package/dist/{context-WFPKQSM6.js → context-PALKKQYL.js} +28 -28
  99. package/dist/{context-clear-KNOS2JPB.js → context-clear-N2WOYZ2K.js} +53 -46
  100. package/dist/{context-index-SSR5ECNE.js → context-index-HNG3MOME.js} +6 -6
  101. package/dist/{context-working-set-EUXAZI6N.js → context-working-set-MIEVECVZ.js} +17 -18
  102. package/dist/{dispatch-runner-B7MTOVKL.js → dispatch-runner-VVA4SRRH.js} +90 -61
  103. package/dist/{docs-FLJTIDSE.js → docs-7LQ23DLM.js} +8 -8
  104. package/dist/doctor-TWBWFK5V.js +165 -0
  105. package/dist/eval-IJ5VEZDJ.js +4483 -0
  106. package/dist/{evidence-JZNBUOQZ.js → evidence-L5APPXNV.js} +68 -61
  107. package/dist/{evolve-FJVC4KKI.js → evolve-RGNKFJ52.js} +47 -40
  108. package/dist/{extensions-IQL36S7K.js → extensions-7WYWUX5A.js} +13 -7
  109. package/dist/{fleet-BDKYJFCP.js → fleet-6CNVBZZP.js} +113 -76
  110. package/dist/{fleet-commands-ZFIWZSB3.js → fleet-commands-L2SXSYEI.js} +10 -10
  111. package/dist/{fleet-graph-Y6HPXIVF.js → fleet-graph-2J3OOIPO.js} +17 -15
  112. package/dist/{fleet-preflight-BHSNPBMH.js → fleet-preflight-CZRJ4JP5.js} +5 -6
  113. package/dist/{fleet-validate-BIYREGIK.js → fleet-validate-C5RI6DP7.js} +20 -19
  114. package/dist/{init-LQUB5COQ.js → init-VBN2ACVA.js} +70 -63
  115. package/dist/{library-NJAHIGG4.js → library-JHGUMLY2.js} +22 -20
  116. package/dist/{memory-OG6HOYKM.js → memory-K4OQIYWG.js} +49 -42
  117. package/dist/{models-5ZG5XY7J.js → models-2NCZUWDD.js} +35 -29
  118. package/dist/{monitor-TJ7AMTGB.js → monitor-MMVTJABD.js} +64 -45
  119. package/dist/{orchestrator-WZYB54DM.js → orchestrator-ZKBPCHW6.js} +1971 -520
  120. package/dist/{paths-XUC7GS6E.js → paths-DBXMZMDU.js} +5 -5
  121. package/dist/registry-LG64LTF4.js +11 -0
  122. package/dist/{reset-PXQT45IY.js → reset-DD5JGOY3.js} +11 -11
  123. package/dist/{run-FQ74YF62.js → run-QEGNX7FL.js} +89 -83
  124. package/dist/{share-FW7SVCL3.js → share-JKD3BQMW.js} +20 -18
  125. package/dist/{skills-7E7IRB3R.js → skills-LMQIKDOZ.js} +23 -21
  126. package/dist/{skills-eval-LI75W6OK.js → skills-eval-I7X2774U.js} +59 -52
  127. package/dist/{steer-GGWFUJUD.js → steer-CF5TDANS.js} +3 -3
  128. package/dist/support-I7LOJLIF.js +38 -0
  129. package/dist/{targets-4CIFKCTW.js → targets-RUSR6B5Z.js} +77 -42
  130. package/dist/{terminal-lease-WUZY7ZV5.js → terminal-lease-QYVORFR4.js} +6 -4
  131. package/dist/{trace-PNCASAXC.js → trace-ODOQIVIW.js} +61 -6
  132. package/dist/{uninstall-7FV7IP4E.js → uninstall-ZJF5H5ZN.js} +8 -8
  133. package/dist/{upgrade-K2HVIVMQ.js → upgrade-XANW3FXB.js} +29 -26
  134. package/dist/{usage-GTZELZQX.js → usage-4H7ZRXQT.js} +110 -61
  135. package/dist/{verifiers-RLAHT27O.js → verifiers-UZXNBZEB.js} +13 -13
  136. package/dist/{verify-BX3BRKH5.js → verify-BVKWTNDL.js} +9 -9
  137. package/dist/{wiki-generate-ASIFASCN.js → wiki-generate-MY7WV2QI.js} +76 -69
  138. package/dist/worker/entry.js +69 -66
  139. package/docs/alcf-provider.md +1 -1
  140. package/docs/architecture.md +1 -1
  141. package/docs/artifact-versions.md +11 -5
  142. package/docs/built-in-agents.md +1 -1
  143. package/docs/capacity-and-scheduling.md +23 -2
  144. package/docs/commands-and-modes.md +2 -2
  145. package/docs/configuration-and-targets.md +37 -5
  146. package/docs/context-engine.md +63 -4
  147. package/docs/documentation-coverage.md +3 -3
  148. package/docs/documentation-guide.md +1 -1
  149. package/docs/environment-variables.md +2 -0
  150. package/docs/eval-runner.md +262 -11
  151. package/docs/evals-internal.md +72 -2
  152. package/docs/evidence-and-memory.md +77 -12
  153. package/docs/evolution.md +1 -1
  154. package/docs/extensions-and-sharing.md +3 -1
  155. package/docs/fleet-dispatch.md +34 -9
  156. package/docs/glossary.md +21 -1
  157. package/docs/installation-and-lifecycle.md +1 -1
  158. package/docs/middleware-and-components.md +1 -1
  159. package/docs/model-catalog.md +1 -1
  160. package/docs/observability.md +54 -3
  161. package/docs/proactive-memory.md +127 -14
  162. package/docs/prompt-envelope-and-tools.md +22 -2
  163. package/docs/provider-adapter-cookbook.md +1 -1
  164. package/docs/release-cut-checklist.md +60 -41
  165. package/docs/safety-model.md +1 -1
  166. package/docs/scientific-validation.md +1 -1
  167. package/docs/skills-marketplace.md +1 -1
  168. package/docs/tool-usage.md +1 -1
  169. package/docs/trace-store.md +1 -1
  170. package/docs/troubleshooting.md +87 -0
  171. package/docs/tui-design.md +1 -1
  172. package/docs/worker-dispatch-mechanics.md +1 -1
  173. package/package.json +2 -2
  174. package/src/cli/agents.ts +1 -1
  175. package/src/cli/argv.ts +5 -0
  176. package/src/cli/config-inspect.ts +33 -6
  177. package/src/cli/config.ts +1 -1
  178. package/src/cli/configure.ts +107 -23
  179. package/src/cli/doctor-state-size.ts +82 -0
  180. package/src/cli/doctor.ts +7 -1
  181. package/src/cli/eval.ts +80 -16
  182. package/src/cli/evidence.ts +30 -25
  183. package/src/cli/extensions.ts +5 -1
  184. package/src/cli/fleet-preflight.ts +2 -12
  185. package/src/cli/fleet.ts +32 -3
  186. package/src/cli/shared.ts +1 -0
  187. package/src/cli/targets.ts +45 -11
  188. package/src/cli/trace.ts +63 -4
  189. package/src/cli/usage.ts +63 -14
  190. package/src/cli/validate-model.ts +60 -5
  191. package/src/core/bus-events.ts +54 -1
  192. package/src/core/cache-telemetry.ts +42 -0
  193. package/src/core/commit-attribution.ts +4 -4
  194. package/src/core/config.ts +18 -0
  195. package/src/core/defaults.ts +36 -6
  196. package/src/core/endpoint-key.ts +27 -0
  197. package/src/core/path-boundary.ts +100 -0
  198. package/src/core/residency-target-key.ts +25 -0
  199. package/src/core/response-schema.ts +36 -2
  200. package/src/domains/agents/extension.ts +2 -11
  201. package/src/domains/agents/fleet-contract.ts +30 -12
  202. package/src/domains/agents/recipe.ts +7 -1
  203. package/src/domains/agents/registry.ts +73 -5
  204. package/src/domains/agents/result-contract.ts +128 -17
  205. package/src/domains/agents/write-boundary.ts +15 -50
  206. package/src/domains/config/classify.ts +3 -0
  207. package/src/domains/context/codewiki/coordinator.ts +12 -4
  208. package/src/domains/context/project-rules.ts +51 -1
  209. package/src/domains/dispatch/admission.ts +40 -3
  210. package/src/domains/dispatch/assignment-reconcile.ts +22 -5
  211. package/src/domains/dispatch/assignment-store.ts +151 -14
  212. package/src/domains/dispatch/capacity-lease.ts +98 -9
  213. package/src/domains/dispatch/contract.ts +26 -1
  214. package/src/domains/dispatch/delegation-plan.ts +2 -5
  215. package/src/domains/dispatch/execution-plan.ts +44 -4
  216. package/src/domains/dispatch/execution-role.ts +9 -1
  217. package/src/domains/dispatch/extension.ts +309 -96
  218. package/src/domains/dispatch/fleet-run.ts +78 -4
  219. package/src/domains/dispatch/gate-role-prompts.ts +38 -0
  220. package/src/domains/dispatch/heartbeat.ts +32 -8
  221. package/src/domains/dispatch/index.ts +6 -1
  222. package/src/domains/dispatch/intent-requirements.ts +40 -0
  223. package/src/domains/dispatch/intent.ts +84 -8
  224. package/src/domains/dispatch/orphan-recovery.ts +5 -0
  225. package/src/domains/dispatch/path-scope.ts +370 -0
  226. package/src/domains/dispatch/receipt-integrity.ts +2 -1
  227. package/src/domains/dispatch/reservation-store.ts +116 -8
  228. package/src/domains/dispatch/state.ts +4 -0
  229. package/src/domains/dispatch/types.ts +14 -7
  230. package/src/domains/dispatch/validation.ts +6 -3
  231. package/src/domains/dispatch/worker-spawn.ts +25 -11
  232. package/src/domains/dispatch/write-boundary-enforcer.ts +62 -0
  233. package/src/domains/dispatch/write-boundary.ts +262 -22
  234. package/src/domains/eval/artifacts/store.ts +62 -0
  235. package/src/domains/eval/compare/behavioral.ts +224 -0
  236. package/src/domains/eval/compare/compare.ts +355 -2
  237. package/src/domains/eval/compare/envelope.ts +128 -0
  238. package/src/domains/eval/compare/gates.ts +24 -6
  239. package/src/domains/eval/compare/thresholds.ts +30 -3
  240. package/src/domains/eval/execution-provenance.ts +240 -0
  241. package/src/domains/eval/metrics/aggregate.ts +136 -0
  242. package/src/domains/eval/metrics/call-ledger-stream.ts +112 -0
  243. package/src/domains/eval/metrics/evidence.ts +79 -2
  244. package/src/domains/eval/metrics/tracked.ts +413 -0
  245. package/src/domains/eval/provenance.ts +117 -0
  246. package/src/domains/eval/reports/comparison.ts +128 -0
  247. package/src/domains/eval/reports/junit.ts +17 -3
  248. package/src/domains/eval/reports/markdown.ts +3 -3
  249. package/src/domains/eval/reports/text.ts +14 -0
  250. package/src/domains/eval/run-compare.ts +20 -0
  251. package/src/domains/eval/runners/clio-run.ts +139 -2
  252. package/src/domains/eval/runners/external-command.ts +28 -3
  253. package/src/domains/eval/schema/adapter.ts +111 -0
  254. package/src/domains/eval/schema/artifact.ts +20 -0
  255. package/src/domains/eval/schema/behavioral-metrics.ts +204 -0
  256. package/src/domains/eval/schema/behavioral.ts +520 -0
  257. package/src/domains/eval/schema/execution-envelope.ts +194 -0
  258. package/src/domains/eval/schema/serving.ts +74 -0
  259. package/src/domains/eval/schema/suite.ts +38 -8
  260. package/src/domains/eval/schema/validate.ts +58 -3
  261. package/src/domains/eval/schema/verdict.ts +237 -0
  262. package/src/domains/eval/suites/resolve.ts +2 -0
  263. package/src/domains/eval/suites/run.ts +264 -33
  264. package/src/domains/eval/verifiers/command.ts +2 -1
  265. package/src/domains/eval/workspaces/temp-copy.ts +145 -13
  266. package/src/domains/evidence/build.ts +68 -21
  267. package/src/domains/evidence/eval.ts +2 -12
  268. package/src/domains/evidence/findings-markdown.ts +33 -0
  269. package/src/domains/evidence/index.ts +21 -0
  270. package/src/domains/evidence/provenance.ts +46 -11
  271. package/src/domains/evidence/run-trust.ts +7 -113
  272. package/src/domains/evidence/trust-projection.ts +274 -0
  273. package/src/domains/evidence/trust-status.ts +145 -17
  274. package/src/domains/evidence/types.ts +4 -0
  275. package/src/domains/extensions/compatibility.ts +285 -0
  276. package/src/domains/extensions/discovery.ts +126 -4
  277. package/src/domains/extensions/resources.ts +21 -9
  278. package/src/domains/extensions/state.ts +18 -5
  279. package/src/domains/extensions/types.ts +6 -1
  280. package/src/domains/lifecycle/doctor.ts +209 -2
  281. package/src/domains/memory/index.ts +14 -0
  282. package/src/domains/memory/task-bank-promotion.ts +64 -0
  283. package/src/domains/memory/task-memory-policy.ts +77 -8
  284. package/src/domains/memory/task-memory-spend.ts +131 -0
  285. package/src/domains/memory/task-memory-status.ts +7 -0
  286. package/src/domains/memory/task-memory-telemetry.ts +2 -0
  287. package/src/domains/middleware/index.ts +1 -0
  288. package/src/domains/middleware/memory-intervention.ts +69 -5
  289. package/src/domains/middleware/memory-step-endpoint.ts +71 -0
  290. package/src/domains/observability/background-memory-usage.ts +140 -0
  291. package/src/domains/observability/cost.ts +1 -1
  292. package/src/domains/observability/index.ts +7 -0
  293. package/src/domains/observability/out-of-turn-usage.ts +51 -2
  294. package/src/domains/observability/trace-store.ts +192 -2
  295. package/src/domains/prompts/compiler.ts +100 -13
  296. package/src/domains/prompts/contract.ts +3 -5
  297. package/src/domains/providers/endpoint-capacity.ts +96 -0
  298. package/src/domains/providers/extension.ts +30 -2
  299. package/src/domains/providers/index.ts +10 -0
  300. package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +243 -1
  301. package/src/domains/providers/runtime-resolution.ts +8 -1
  302. package/src/domains/providers/runtimes/common/probe-helpers.ts +31 -9
  303. package/src/domains/providers/runtimes/local-native/llamacpp-anthropic.ts +1 -1
  304. package/src/domains/providers/runtimes/local-native/llamacpp-completion.ts +1 -1
  305. package/src/domains/providers/runtimes/local-native/llamacpp-embed.ts +1 -1
  306. package/src/domains/providers/runtimes/local-native/llamacpp-rerank.ts +1 -1
  307. package/src/domains/providers/runtimes/local-native/llamacpp.ts +4 -1
  308. package/src/domains/providers/runtimes/local-native/lmstudio.ts +4 -1
  309. package/src/domains/providers/runtimes/local-native/ollama-native.ts +6 -1
  310. package/src/domains/providers/types/capability-flags.ts +2 -0
  311. package/src/domains/providers/types/target-descriptor.ts +2 -0
  312. package/src/domains/resources/common-loader.ts +3 -0
  313. package/src/domains/resources/prompts/loader.ts +184 -17
  314. package/src/domains/safety/call-target.ts +52 -0
  315. package/src/domains/safety/policy-engine.ts +5 -5
  316. package/src/domains/safety/run-effects.ts +96 -2
  317. package/src/domains/safety/scope.ts +7 -12
  318. package/src/domains/session/context-accounting.ts +52 -1
  319. package/src/domains/session/context-ledger.ts +37 -13
  320. package/src/domains/session/index.ts +6 -0
  321. package/src/domains/session/prompt-cache.ts +140 -0
  322. package/src/domains/session/prompt-manifest.ts +42 -0
  323. package/src/engine/acp/adapter.ts +18 -3
  324. package/src/engine/acp/server.ts +4 -1
  325. package/src/engine/ai.ts +35 -0
  326. package/src/engine/apis/llamacpp-residency.ts +55 -3
  327. package/src/engine/apis/lmstudio.ts +25 -5
  328. package/src/engine/apis/ollama-native.ts +2 -1
  329. package/src/engine/apis/openai-completions.ts +80 -17
  330. package/src/engine/apis/residency-lock.ts +3 -1
  331. package/src/engine/apis/residency.ts +34 -1
  332. package/src/engine/prompt-templates.ts +18 -1
  333. package/src/engine/provider-payload.ts +29 -1
  334. package/src/engine/worker-runtime.ts +6 -3
  335. package/src/entry/orchestrator.ts +176 -30
  336. package/src/interactive/chat-loop-messages.ts +26 -7
  337. package/src/interactive/chat-loop.ts +318 -41
  338. package/src/interactive/chat-panel.ts +62 -8
  339. package/src/interactive/clio-editor.ts +45 -8
  340. package/src/interactive/context-activity.ts +5 -1
  341. package/src/interactive/context-meter.ts +1 -1
  342. package/src/interactive/context-overlay.ts +40 -10
  343. package/src/interactive/cost-overlay.ts +64 -6
  344. package/src/interactive/dispatch-board.ts +127 -5
  345. package/src/interactive/fleet-run-preview.ts +41 -15
  346. package/src/interactive/handoff-round.ts +41 -2
  347. package/src/interactive/interactive-application.ts +24 -1
  348. package/src/interactive/interactive-event-projection.ts +14 -0
  349. package/src/interactive/interactive-input-runtime.ts +8 -0
  350. package/src/interactive/interactive-presentation.ts +4 -0
  351. package/src/interactive/interactive-shell.ts +20 -17
  352. package/src/interactive/interactive-slash-runtime.ts +27 -4
  353. package/src/interactive/memory-overlay.ts +8 -0
  354. package/src/interactive/mutation-preview.ts +295 -0
  355. package/src/interactive/overlay-general-openers.ts +16 -0
  356. package/src/interactive/overlay-key-routing.ts +38 -0
  357. package/src/interactive/overlay-lifecycle.ts +38 -5
  358. package/src/interactive/overlay-permission-lifecycle.ts +22 -2
  359. package/src/interactive/overlay-session-lifecycle.ts +73 -9
  360. package/src/interactive/overlays/ask-user.ts +91 -19
  361. package/src/interactive/overlays/help-reference.ts +4 -0
  362. package/src/interactive/overlays/prompts.ts +11 -1
  363. package/src/interactive/overlays/settings.ts +176 -48
  364. package/src/interactive/permission-hint.ts +34 -2
  365. package/src/interactive/permission-overlay.ts +159 -9
  366. package/src/interactive/prewarm.ts +197 -0
  367. package/src/interactive/render-trace.ts +162 -15
  368. package/src/interactive/renderers/tool-execution.ts +4 -0
  369. package/src/interactive/side-question.ts +58 -1
  370. package/src/interactive/slash-commands.ts +7 -2
  371. package/src/interactive/status/controller.ts +11 -0
  372. package/src/interactive/status/state-machine.ts +54 -2
  373. package/src/interactive/status/types.ts +7 -0
  374. package/src/interactive/terminal-lease.ts +2 -0
  375. package/src/interactive/turn-context.ts +299 -31
  376. package/src/interactive/turn-persistence.ts +14 -4
  377. package/src/interactive/turn-prewarm.ts +364 -0
  378. package/src/interactive/turn-queues.ts +7 -4
  379. package/src/interactive/turn-runtime.ts +8 -1
  380. package/src/interactive/turn-state.ts +23 -0
  381. package/src/interactive/view/artifacts.ts +42 -9
  382. package/src/interactive/view/view-overlay.ts +43 -6
  383. package/src/interactive/worker-receipts.ts +14 -2
  384. package/src/interactive/worker-stream.ts +8 -0
  385. package/src/tools/ask-user.ts +43 -2
  386. package/src/tools/dispatch-admission.ts +12 -13
  387. package/src/tools/dispatch-arguments.ts +27 -0
  388. package/src/tools/dispatch-plan.ts +46 -9
  389. package/src/tools/dispatch-runner.ts +48 -13
  390. package/src/tools/dispatch-scout.ts +1 -1
  391. package/src/tools/monitor.ts +13 -0
  392. package/src/tools/registry.ts +16 -0
  393. package/src/tools/worker-evidence.ts +19 -13
  394. package/src/worker/spec-contract.ts +2 -1
  395. package/dist/chunk-AOCYTWAV.js +0 -449
  396. package/dist/chunk-HWUFFB6L.js +0 -83
  397. package/dist/chunk-R346GLFC.js +0 -31
  398. package/dist/chunk-ZGH7FGS5.js +0 -1079
  399. package/dist/doctor-RN4YKO2X.js +0 -87
  400. package/dist/eval-RUBJVSNQ.js +0 -2557
@@ -1,10 +1,10 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  steerToolSurface
4
- } from "./chunk-WEH5XRJQ.js";
4
+ } from "./chunk-WIE7ZOSW.js";
5
5
  import "./chunk-5B2AEOW5.js";
6
6
  import "./chunk-CGKSTWHD.js";
7
- import "./chunk-FCSXB6T2.js";
7
+ import "./chunk-UOSL25KY.js";
8
8
  import "./chunk-YXLYO42X.js";
9
9
  import {
10
10
  init_esm_shims
@@ -74,4 +74,4 @@ function createSteerTool(deps) {
74
74
  export {
75
75
  createSteerTool
76
76
  };
77
- //# sourceMappingURL=steer-GGWFUJUD.js.map
77
+ //# sourceMappingURL=steer-CF5TDANS.js.map
@@ -0,0 +1,38 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ buildProviderSupportEntry,
4
+ compareProviderSupportEntries,
5
+ configuredTargetsForRuntime,
6
+ defaultModelForRuntime,
7
+ describeRuntimeModels,
8
+ listKnownModelsForRuntime,
9
+ listProviderSupportEntries,
10
+ resolveProviderReference,
11
+ runtimeModelListSource,
12
+ supportGroupLabel
13
+ } from "./chunk-774ILSRL.js";
14
+ import "./chunk-EQ63NRB7.js";
15
+ import "./chunk-SST6Z5JA.js";
16
+ import "./chunk-IKCO5N3L.js";
17
+ import "./chunk-3I7MS7N2.js";
18
+ import "./chunk-APJ265NV.js";
19
+ import "./chunk-BNAZZHFG.js";
20
+ import "./chunk-WEPFGWHJ.js";
21
+ import "./chunk-NUGM5KR6.js";
22
+ import "./chunk-VO2LKSTM.js";
23
+ import "./chunk-UOSL25KY.js";
24
+ import "./chunk-YXLYO42X.js";
25
+ import "./chunk-3R73A4XB.js";
26
+ export {
27
+ buildProviderSupportEntry,
28
+ compareProviderSupportEntries,
29
+ configuredTargetsForRuntime,
30
+ defaultModelForRuntime,
31
+ describeRuntimeModels,
32
+ listKnownModelsForRuntime,
33
+ listProviderSupportEntries,
34
+ resolveProviderReference,
35
+ runtimeModelListSource,
36
+ supportGroupLabel
37
+ };
38
+ //# sourceMappingURL=support-I7LOJLIF.js.map
@@ -1,51 +1,55 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import "./chunk-JTSEDYVQ.js";
2
+ import "./chunk-DG4M6ZUE.js";
3
3
  import {
4
4
  ensureClioState
5
- } from "./chunk-3HAPLH5M.js";
5
+ } from "./chunk-T3Z6VAAF.js";
6
6
  import {
7
7
  ConfigDomainModule,
8
8
  loadDomains
9
- } from "./chunk-BMWK7ZIZ.js";
10
- import "./chunk-YD734TPH.js";
9
+ } from "./chunk-465CC7FK.js";
11
10
  import "./chunk-DR52UMZW.js";
12
- import "./chunk-C4JBQ5SR.js";
13
- import "./chunk-2SFS6XQE.js";
14
- import "./chunk-ZWLZP4ZT.js";
11
+ import "./chunk-AD7Y7STJ.js";
12
+ import "./chunk-AMKHQW3C.js";
13
+ import "./chunk-FALJGAWU.js";
14
+ import "./chunk-BVDVID7E.js";
15
+ import "./chunk-3DPEIQKN.js";
16
+ import "./chunk-5QKCQQ3E.js";
17
+ import "./chunk-RAPCMZL4.js";
15
18
  import "./chunk-CGKSTWHD.js";
16
19
  import "./chunk-XPLRXC72.js";
17
20
  import {
18
21
  runConfigureCommand,
19
22
  runTargetRemove,
20
23
  runTargetRename
21
- } from "./chunk-LADCF22A.js";
22
- import "./chunk-SROCI7ZU.js";
23
- import "./chunk-DOOEX22V.js";
24
+ } from "./chunk-3V5AYSEQ.js";
24
25
  import "./chunk-2STGEDFV.js";
25
26
  import {
26
27
  column,
27
28
  terminalColumns,
28
- truncate
29
+ truncate,
30
+ wrapPlain
29
31
  } from "./chunk-2IR2NMPA.js";
30
- import "./chunk-465YSENW.js";
32
+ import "./chunk-IFBNV6H6.js";
33
+ import "./chunk-QQ7EKM72.js";
34
+ import "./chunk-56KB5IJP.js";
31
35
  import {
32
36
  printError,
33
37
  printOk
34
- } from "./chunk-PPAMZ32Z.js";
38
+ } from "./chunk-XK56QHLX.js";
35
39
  import {
36
40
  source_default
37
41
  } from "./chunk-5TSRNF4G.js";
38
42
  import {
39
43
  ProvidersDomainModule,
40
- getRuntimeRegistry,
44
+ endpointCapacityForStatus,
41
45
  isDispatchEligibleRuntime,
42
- isOrchestratorEligibleRuntime,
43
- registerBuiltinRuntimes
44
- } from "./chunk-VQNODYQ4.js";
46
+ isOrchestratorEligibleRuntime
47
+ } from "./chunk-MIX5N5AC.js";
45
48
  import "./chunk-CFGTUFWB.js";
46
- import "./chunk-JRIO5UD2.js";
49
+ import "./chunk-LU7P4LHA.js";
50
+ import "./chunk-AEYBF3TB.js";
47
51
  import "./chunk-IHXBNWMM.js";
48
- import "./chunk-GEYXPTRF.js";
52
+ import "./chunk-B5CSFE7B.js";
49
53
  import {
50
54
  bindAgentProfileInSettings,
51
55
  readSettings,
@@ -53,29 +57,35 @@ import {
53
57
  setFleetProfileInSettings,
54
58
  updateSettings,
55
59
  useTargetInSettings
56
- } from "./chunk-UHXRNZ2J.js";
60
+ } from "./chunk-PNY46YEY.js";
61
+ import "./chunk-FQ4SKYE4.js";
62
+ import "./chunk-ZGVHUX3M.js";
63
+ import "./chunk-RKRLDWD3.js";
64
+ import "./chunk-KV2AOLDF.js";
65
+ import "./chunk-6EJMN2Y3.js";
66
+ import "./chunk-IWHMRKLL.js";
67
+ import {
68
+ registerBuiltinRuntimes
69
+ } from "./chunk-JEQQR47K.js";
57
70
  import {
58
71
  THINKING_LEVELS
59
- } from "./chunk-4DGYLA73.js";
72
+ } from "./chunk-XDOQXGFO.js";
60
73
  import "./chunk-LL4KHSZI.js";
61
- import "./chunk-SST6Z5JA.js";
62
- import "./chunk-FO5ZOVUY.js";
63
- import "./chunk-R346GLFC.js";
64
- import "./chunk-D4MDIG46.js";
65
- import "./chunk-FQ4SKYE4.js";
66
74
  import "./chunk-4ZG3XFUR.js";
75
+ import "./chunk-774ILSRL.js";
76
+ import "./chunk-EQ63NRB7.js";
77
+ import "./chunk-SST6Z5JA.js";
67
78
  import "./chunk-IKCO5N3L.js";
68
79
  import "./chunk-3I7MS7N2.js";
69
- import "./chunk-FCSXB6T2.js";
70
80
  import "./chunk-APJ265NV.js";
71
- import "./chunk-YXLYO42X.js";
72
81
  import "./chunk-BNAZZHFG.js";
73
- import "./chunk-6EJMN2Y3.js";
74
82
  import "./chunk-WEPFGWHJ.js";
75
- import "./chunk-X2KV5FXT.js";
76
- import "./chunk-ZGVHUX3M.js";
77
- import "./chunk-OB5HIGJY.js";
78
- import "./chunk-IWHMRKLL.js";
83
+ import {
84
+ getRuntimeRegistry
85
+ } from "./chunk-NUGM5KR6.js";
86
+ import "./chunk-VO2LKSTM.js";
87
+ import "./chunk-UOSL25KY.js";
88
+ import "./chunk-YXLYO42X.js";
79
89
  import {
80
90
  init_esm_shims
81
91
  } from "./chunk-3R73A4XB.js";
@@ -812,16 +822,26 @@ function tableWidths(rows, width) {
812
822
  function formatTargetTable(rows, width, paintHealth = (cell) => cell) {
813
823
  const widths = tableWidths(rows, width);
814
824
  const line = (cells) => cells.join(" ".repeat(TABLE_GAP)).trimEnd();
825
+ const formatted = rows.map((row) => {
826
+ const cells = TABLE_COLUMNS.map((key) => column(row[key], widths[key]));
827
+ const plain = line(cells);
828
+ const rendered = plain.length > width ? truncate(plain, width) : line(cells.map((cell, index) => TABLE_COLUMNS[index] === "health" ? paintHealth(cell, row) : cell));
829
+ const diagnosticFits = !row.diagnostic || plain.length <= width && widths.notes >= row.diagnostic.length;
830
+ const details = diagnosticFits ? [] : targetDiagnosticDetails(row.diagnostic ?? "", width);
831
+ return { rendered, details };
832
+ });
815
833
  return {
816
834
  header: truncate(line(TABLE_COLUMNS.map((key, index) => column(HEADER[index] ?? key, widths[key]))), width),
817
- rows: rows.map((row) => {
818
- const cells = TABLE_COLUMNS.map((key) => column(row[key], widths[key]));
819
- const plain = line(cells);
820
- if (plain.length > width) return truncate(plain, width);
821
- return line(cells.map((cell, index) => TABLE_COLUMNS[index] === "health" ? paintHealth(cell, row) : cell));
822
- })
835
+ rows: formatted.map(({ rendered }) => rendered),
836
+ details: formatted.map(({ details }) => details)
823
837
  };
824
838
  }
839
+ function targetDiagnosticDetails(diagnostic, width) {
840
+ const indent = 2;
841
+ return wrapPlain(`reason: ${diagnostic}`, Math.max(8, width - indent), indent).map(
842
+ (line, index) => index === 0 ? `${" ".repeat(indent)}${line}` : line
843
+ );
844
+ }
825
845
  function renderTable(providers, entries) {
826
846
  const sorted = [...entries].sort(compareStatusByTier);
827
847
  const table = formatTargetTable(
@@ -842,10 +862,13 @@ function renderTable(providers, entries) {
842
862
  `);
843
863
  }
844
864
  process.stdout.write(`${table.rows[index] ?? ""}
865
+ `);
866
+ for (const detail of table.details[index] ?? []) process.stdout.write(`${detail}
845
867
  `);
846
868
  }
847
869
  }
848
870
  function targetTableRow(providers, status) {
871
+ const diagnostic = degradedHealthDiagnostic(status);
849
872
  return {
850
873
  id: status.target.id,
851
874
  tier: statusTier(status),
@@ -855,7 +878,8 @@ function targetTableRow(providers, status) {
855
878
  model: status.target.defaultModel ?? "-",
856
879
  health: status.health.status,
857
880
  caps: capabilityBadges(status.capabilities),
858
- notes: formatNotes(status)
881
+ notes: formatNotes(status),
882
+ ...diagnostic ? { diagnostic } : {}
859
883
  };
860
884
  }
861
885
  function healthColor(status) {
@@ -909,6 +933,10 @@ function formatContextWindow(status) {
909
933
  }
910
934
  function formatNotes(status) {
911
935
  const parts = [];
936
+ const diagnostic = degradedHealthDiagnostic(status);
937
+ if (diagnostic) parts.push(diagnostic);
938
+ const endpoint = endpointCapacityForStatus(status);
939
+ if (endpoint) parts.push(`slots ${endpoint.limit}`);
912
940
  if (status.target.gateway) parts.push("gateway");
913
941
  if (status.runtime?.auth === "oauth") parts.push("oauth");
914
942
  if (status.runtime?.auth === "claude-cli") parts.push("claude-cli");
@@ -919,6 +947,9 @@ function formatNotes(status) {
919
947
  if (status.probeNotes && status.probeNotes.length > 0) parts.push(`note: ${status.probeNotes.join("; ")}`);
920
948
  return parts.join(" ");
921
949
  }
950
+ function degradedHealthDiagnostic(status) {
951
+ return status.health.status === "degraded" && status.health.lastError ? status.health.lastError : null;
952
+ }
922
953
  function statusTier(status) {
923
954
  return status.runtime?.tier ?? "unknown";
924
955
  }
@@ -969,6 +1000,8 @@ function serializeStatus(status, extras = {
969
1000
  detectedReasoning: extras.detectedReasoning,
970
1001
  reasoningCandidateModelId: extras.candidateModelId
971
1002
  };
1003
+ const endpointCapacity = endpointCapacityForStatus(status);
1004
+ if (endpointCapacity !== null) out.endpointCapacity = endpointCapacity;
972
1005
  if (status.contextWindowProvenance !== void 0) {
973
1006
  out.contextWindowProvenance = status.contextWindowProvenance;
974
1007
  }
@@ -994,8 +1027,10 @@ function serializeStatus(status, extras = {
994
1027
  }
995
1028
  export {
996
1029
  formatContextWindow,
1030
+ formatNotes,
997
1031
  formatTargetTable,
998
1032
  residentModelsSummary,
999
- runTargetsCommand
1033
+ runTargetsCommand,
1034
+ targetTableRow
1000
1035
  };
1001
- //# sourceMappingURL=targets-4CIFKCTW.js.map
1036
+ //# sourceMappingURL=targets-RUSR6B5Z.js.map
@@ -10,12 +10,12 @@ import {
10
10
  createKeybindingManager,
11
11
  createProcessInteractiveShell,
12
12
  matchesKey
13
- } from "./chunk-5C3AQNDW.js";
13
+ } from "./chunk-NNNWO6F2.js";
14
14
  import {
15
15
  getTerminationCoordinator
16
- } from "./chunk-X2KV5FXT.js";
16
+ } from "./chunk-BVDVID7E.js";
17
17
  import "./chunk-ZGVHUX3M.js";
18
- import "./chunk-OB5HIGJY.js";
18
+ import "./chunk-RKRLDWD3.js";
19
19
  import {
20
20
  init_esm_shims
21
21
  } from "./chunk-3R73A4XB.js";
@@ -112,6 +112,8 @@ function createProcessTerminalLease(options) {
112
112
  getThinkingLabel: () => editorChrome.getThinkingLabel(),
113
113
  isStreaming: () => editorChrome.isStreaming?.() ?? false,
114
114
  isAwaitingApproval: () => editorChrome.isAwaitingApproval?.() ?? false,
115
+ getPermissionInspection: () => editorChrome.getPermissionInspection?.() ?? "none",
116
+ getTurnPreparation: () => editorChrome.getTurnPreparation?.() ?? "idle",
115
117
  willEnterSteer: (text) => editorChrome.willEnterSteer?.(text) ?? false,
116
118
  getSubmitKeyLabel: () => editorChrome.getSubmitKeyLabel?.() ?? "Enter",
117
119
  getNewlineKeyLabel: () => editorChrome.getNewlineKeyLabel?.() ?? "Shift+Enter"
@@ -394,4 +396,4 @@ export {
394
396
  createProcessTerminalLease,
395
397
  instantShellEnabled
396
398
  };
397
- //# sourceMappingURL=terminal-lease-WUZY7ZV5.js.map
399
+ //# sourceMappingURL=terminal-lease-QYVORFR4.js.map
@@ -1,9 +1,12 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
+ DEFAULT_TRACE_RETENTION_POLICY,
3
4
  TRACE_EVENT_POLL_LIMIT,
4
5
  TraceReader,
6
+ TraceStore,
7
+ resolveTraceRetentionPolicy,
5
8
  traceDatabasePath
6
- } from "./chunk-HFSBBKSQ.js";
9
+ } from "./chunk-YW7UVM5V.js";
7
10
  import "./chunk-4BJ5BYCE.js";
8
11
  import "./chunk-3I7MS7N2.js";
9
12
  import {
@@ -24,11 +27,15 @@ var HELP = `Usage:
24
27
  clio-coder trace phases <runId> [--db PATH]
25
28
  clio-coder trace tail <runId> [--follow] [--db PATH]
26
29
  clio-coder trace procs <runId> [--db PATH]
30
+ clio-coder trace prune [--max-age-days N] [--max-bytes N] [--db PATH] [--json]
27
31
  clio-coder trace sql <SELECT query> [--db PATH]
28
32
  clio-coder trace ui [--db PATH] [--port N] source checkout only
29
33
 
30
34
  The viewer ships with the repository, not the npm package, so from an installed
31
35
  Clio the subcommands above are the way in. They read the same database.
36
+ Pruning keeps ${DEFAULT_TRACE_RETENTION_POLICY.maxAgeDays} days and at most ${DEFAULT_TRACE_RETENTION_POLICY.maxBytes} bytes by default. Set
37
+ CLIO_CODER_TRACE_RETENTION_DAYS or CLIO_CODER_TRACE_MAX_BYTES to change the automatic
38
+ policy; prune flags override those values for one command.
32
39
  `;
33
40
  function parseTraceArgs(args) {
34
41
  const positional = [];
@@ -38,11 +45,13 @@ function parseTraceArgs(args) {
38
45
  let limit = 50;
39
46
  let port = 0;
40
47
  let json = false;
48
+ let maxAgeDays;
49
+ let maxBytes;
41
50
  for (let index = 0; index < args.length; index += 1) {
42
51
  const arg = args[index];
43
52
  if (arg === "--follow") follow = true;
44
53
  else if (arg === "--json") json = true;
45
- else if (arg === "--db" || arg === "--limit" || arg === "--port") {
54
+ else if (arg === "--db" || arg === "--limit" || arg === "--port" || arg === "--max-age-days" || arg === "--max-bytes") {
46
55
  const value = args[index + 1];
47
56
  if (value === void 0) throw new Error(`${arg} requires a value`);
48
57
  index += 1;
@@ -50,18 +59,23 @@ function parseTraceArgs(args) {
50
59
  db = resolve(value);
51
60
  dbExplicit = true;
52
61
  } else if (arg === "--limit") limit = parseInteger(value, "--limit", 1, 500);
53
- else port = parseInteger(value, "--port", 0, 65535);
62
+ else if (arg === "--port") port = parseInteger(value, "--port", 0, 65535);
63
+ else if (arg === "--max-age-days") maxAgeDays = parseInteger(value, arg, 1, 36500);
64
+ else maxBytes = parseInteger(value, arg, 1024 * 1024, Number.MAX_SAFE_INTEGER);
54
65
  } else if (arg?.startsWith("--db=")) {
55
66
  db = resolve(arg.slice(5));
56
67
  dbExplicit = true;
57
68
  } else if (arg?.startsWith("--limit=")) limit = parseInteger(arg.slice(8), "--limit", 1, 500);
58
69
  else if (arg?.startsWith("--port=")) port = parseInteger(arg.slice(7), "--port", 0, 65535);
70
+ else if (arg?.startsWith("--max-age-days=")) maxAgeDays = parseInteger(arg.slice(15), "--max-age-days", 1, 36500);
71
+ else if (arg?.startsWith("--max-bytes="))
72
+ maxBytes = parseInteger(arg.slice(12), "--max-bytes", 1024 * 1024, Number.MAX_SAFE_INTEGER);
59
73
  else if (arg?.startsWith("-")) throw new Error(`unknown trace flag: ${arg}`);
60
74
  else if (arg !== void 0) positional.push(arg);
61
75
  }
62
- return { positional, db, dbExplicit, follow, limit, port, json };
76
+ return { positional, db, dbExplicit, follow, limit, port, json, maxAgeDays, maxBytes };
63
77
  }
64
- var TRACE_COMMANDS = /* @__PURE__ */ new Set(["runs", "phases", "tail", "procs", "sql", "ui"]);
78
+ var TRACE_COMMANDS = /* @__PURE__ */ new Set(["runs", "phases", "tail", "procs", "prune", "sql", "ui"]);
65
79
  var TRACE_COMMANDS_NEEDING_RUN_ID = /* @__PURE__ */ new Set(["phases", "tail", "procs"]);
66
80
  function invocationError(command, runId) {
67
81
  if (!TRACE_COMMANDS.has(command)) {
@@ -99,6 +113,7 @@ ${HELP}`);
99
113
  }
100
114
  if (command === "ui") return runTraceUi(parsed.db, parsed.port);
101
115
  if (!existsSync(parsed.db)) return missingDatabase(parsed);
116
+ if (command === "prune") return runTracePrune(parsed);
102
117
  let reader;
103
118
  try {
104
119
  reader = new TraceReader(parsed.db);
@@ -151,6 +166,46 @@ ${HELP}`);
151
166
  reader.close();
152
167
  }
153
168
  }
169
+ function runTracePrune(parsed) {
170
+ let policy;
171
+ try {
172
+ policy = resolveTraceRetentionPolicy({
173
+ ...parsed.maxAgeDays === void 0 ? {} : { maxAgeDays: parsed.maxAgeDays },
174
+ ...parsed.maxBytes === void 0 ? {} : { maxBytes: parsed.maxBytes }
175
+ });
176
+ } catch (error) {
177
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}
178
+ `);
179
+ return 1;
180
+ }
181
+ let store;
182
+ try {
183
+ store = new TraceStore(parsed.db, { retention: policy });
184
+ } catch (error) {
185
+ process.stderr.write(`trace database: ${error instanceof Error ? error.message : String(error)}
186
+ `);
187
+ return 1;
188
+ }
189
+ try {
190
+ const result = store.prune(policy);
191
+ if (parsed.json) {
192
+ process.stdout.write(`${JSON.stringify({ policy, ...result }, null, 2)}
193
+ `);
194
+ } else {
195
+ process.stdout.write(
196
+ `trace prune: removed ${result.runsRemoved.toLocaleString("en-US")} runs and ${result.rowsRemoved.toLocaleString("en-US")} rows; reclaimed ${result.bytesRemoved.toLocaleString("en-US")} bytes; VACUUM ${result.vacuumed ? "ran" : "not needed"}; protected ${result.protectedRuns.toLocaleString("en-US")} live runs
197
+ `
198
+ );
199
+ }
200
+ return 0;
201
+ } catch (error) {
202
+ process.stderr.write(`${error instanceof Error ? error.message : String(error)}
203
+ `);
204
+ return 1;
205
+ } finally {
206
+ store.close();
207
+ }
208
+ }
154
209
  async function tail(reader, runId, follow) {
155
210
  let cursor = 0;
156
211
  let idleTerminalPolls = 0;
@@ -278,4 +333,4 @@ function jsonBigInt(_key, value) {
278
333
  export {
279
334
  runTraceCommand
280
335
  };
281
- //# sourceMappingURL=trace-PNCASAXC.js.map
336
+ //# sourceMappingURL=trace-ODOQIVIW.js.map
@@ -3,27 +3,27 @@ import {
3
3
  removePath,
4
4
  reportRemovalFailures
5
5
  } from "./chunk-SVNXH4L2.js";
6
- import "./chunk-465YSENW.js";
6
+ import "./chunk-IFBNV6H6.js";
7
7
  import {
8
8
  printError,
9
9
  printHeader,
10
10
  printOk
11
- } from "./chunk-PPAMZ32Z.js";
11
+ } from "./chunk-XK56QHLX.js";
12
12
  import "./chunk-5TSRNF4G.js";
13
- import "./chunk-JRIO5UD2.js";
13
+ import {
14
+ resolvePackageRoot
15
+ } from "./chunk-IWHMRKLL.js";
16
+ import "./chunk-EQ63NRB7.js";
14
17
  import "./chunk-SST6Z5JA.js";
15
18
  import "./chunk-IKCO5N3L.js";
16
19
  import "./chunk-3I7MS7N2.js";
17
20
  import "./chunk-APJ265NV.js";
18
- import "./chunk-YXLYO42X.js";
19
21
  import {
20
22
  resetXdgCache,
21
23
  resolveClioDirs
22
24
  } from "./chunk-BNAZZHFG.js";
23
25
  import "./chunk-WEPFGWHJ.js";
24
- import {
25
- resolvePackageRoot
26
- } from "./chunk-IWHMRKLL.js";
26
+ import "./chunk-YXLYO42X.js";
27
27
  import {
28
28
  init_esm_shims
29
29
  } from "./chunk-3R73A4XB.js";
@@ -330,4 +330,4 @@ export {
330
330
  projectContextInventory,
331
331
  runUninstallCommand
332
332
  };
333
- //# sourceMappingURL=uninstall-7FV7IP4E.js.map
333
+ //# sourceMappingURL=uninstall-ZJF5H5ZN.js.map
@@ -2,58 +2,61 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  LifecycleDomainModule,
4
4
  listMigrations
5
- } from "./chunk-JTSEDYVQ.js";
5
+ } from "./chunk-DG4M6ZUE.js";
6
6
  import {
7
7
  readStateInfo
8
- } from "./chunk-3HAPLH5M.js";
8
+ } from "./chunk-T3Z6VAAF.js";
9
9
  import {
10
10
  ConfigDomainModule,
11
11
  loadDomains
12
- } from "./chunk-BMWK7ZIZ.js";
13
- import "./chunk-YD734TPH.js";
12
+ } from "./chunk-465CC7FK.js";
14
13
  import "./chunk-DR52UMZW.js";
15
- import "./chunk-C4JBQ5SR.js";
16
- import "./chunk-2SFS6XQE.js";
17
- import "./chunk-ZWLZP4ZT.js";
14
+ import "./chunk-AD7Y7STJ.js";
15
+ import "./chunk-AMKHQW3C.js";
16
+ import "./chunk-FALJGAWU.js";
17
+ import "./chunk-BVDVID7E.js";
18
+ import "./chunk-3DPEIQKN.js";
19
+ import "./chunk-5QKCQQ3E.js";
20
+ import "./chunk-RAPCMZL4.js";
18
21
  import "./chunk-CGKSTWHD.js";
19
22
  import {
20
23
  getVersionInfo
21
24
  } from "./chunk-XPLRXC72.js";
22
- import "./chunk-SROCI7ZU.js";
25
+ import "./chunk-IFBNV6H6.js";
26
+ import "./chunk-QQ7EKM72.js";
23
27
  import {
24
28
  initializeClioHome
25
- } from "./chunk-DOOEX22V.js";
26
- import "./chunk-465YSENW.js";
29
+ } from "./chunk-56KB5IJP.js";
27
30
  import {
28
31
  printError,
29
32
  printHeader,
30
33
  printOk
31
- } from "./chunk-PPAMZ32Z.js";
34
+ } from "./chunk-XK56QHLX.js";
32
35
  import "./chunk-5TSRNF4G.js";
33
- import "./chunk-JRIO5UD2.js";
36
+ import "./chunk-LU7P4LHA.js";
34
37
  import "./chunk-IHXBNWMM.js";
35
- import "./chunk-UHXRNZ2J.js";
36
- import "./chunk-4DGYLA73.js";
37
- import "./chunk-LL4KHSZI.js";
38
- import "./chunk-SST6Z5JA.js";
39
- import "./chunk-FO5ZOVUY.js";
40
- import "./chunk-R346GLFC.js";
41
- import "./chunk-D4MDIG46.js";
38
+ import "./chunk-B5CSFE7B.js";
39
+ import "./chunk-PNY46YEY.js";
42
40
  import "./chunk-FQ4SKYE4.js";
41
+ import "./chunk-ZGVHUX3M.js";
42
+ import "./chunk-RKRLDWD3.js";
43
+ import "./chunk-KV2AOLDF.js";
44
+ import "./chunk-6EJMN2Y3.js";
45
+ import "./chunk-IWHMRKLL.js";
46
+ import "./chunk-XDOQXGFO.js";
47
+ import "./chunk-LL4KHSZI.js";
43
48
  import "./chunk-4ZG3XFUR.js";
49
+ import "./chunk-EQ63NRB7.js";
50
+ import "./chunk-SST6Z5JA.js";
44
51
  import "./chunk-IKCO5N3L.js";
45
52
  import "./chunk-3I7MS7N2.js";
46
53
  import "./chunk-APJ265NV.js";
47
- import "./chunk-YXLYO42X.js";
48
54
  import {
49
55
  clioStateDir
50
56
  } from "./chunk-BNAZZHFG.js";
51
- import "./chunk-6EJMN2Y3.js";
52
57
  import "./chunk-WEPFGWHJ.js";
53
- import "./chunk-X2KV5FXT.js";
54
- import "./chunk-ZGVHUX3M.js";
55
- import "./chunk-OB5HIGJY.js";
56
- import "./chunk-IWHMRKLL.js";
58
+ import "./chunk-NUGM5KR6.js";
59
+ import "./chunk-YXLYO42X.js";
57
60
  import {
58
61
  init_esm_shims
59
62
  } from "./chunk-3R73A4XB.js";
@@ -342,4 +345,4 @@ async function runUpgradeCommand(argv) {
342
345
  export {
343
346
  runUpgradeCommand
344
347
  };
345
- //# sourceMappingURL=upgrade-K2HVIVMQ.js.map
348
+ //# sourceMappingURL=upgrade-XANW3FXB.js.map