@iowarp/clio-coder 0.3.3 → 0.3.6

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 (370) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/CONTRIBUTING.md +7 -7
  3. package/README.md +3 -3
  4. package/dist/{acp-P2AQILE2.js → acp-2BEHC4DL.js} +9 -8
  5. package/dist/{agents-72W3BI7I.js → agents-LNNFTM53.js} +29 -24
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-5TWEIYDN.js → auth-KXXFI2VS.js} +14 -10
  8. package/dist/{chunk-GGXXDWE4.js → chunk-22NAGB7X.js} +2 -2
  9. package/dist/{chunk-YCWGATWI.js → chunk-24I7BN55.js} +2 -2
  10. package/dist/{chunk-EKMEHE4H.js → chunk-33YXPOE3.js} +2 -3
  11. package/dist/chunk-3BPUFZDL.js +37 -0
  12. package/dist/chunk-43AOLP7E.js +375 -0
  13. package/dist/{chunk-ZDOOVTXZ.js → chunk-4OC57DA6.js} +27 -4
  14. package/dist/{chunk-6SGHMWE3.js → chunk-5JGRAMKL.js} +5 -5
  15. package/dist/{chunk-V6RTAOC2.js → chunk-6US73PDB.js} +572 -51
  16. package/dist/{chunk-5UFT4SUX.js → chunk-6XXKFVSN.js} +3 -3
  17. package/dist/{chunk-A3CYT5EX.js → chunk-AD2SYQYC.js} +55 -2
  18. package/dist/chunk-AOCYTWAV.js +449 -0
  19. package/dist/chunk-CFGTUFWB.js +67 -0
  20. package/dist/chunk-CJUB2JJ2.js +1478 -0
  21. package/dist/{chunk-FNTMWMX5.js → chunk-CKXWIANG.js} +14 -12
  22. package/dist/{chunk-PIWWS5BL.js → chunk-CYQKWTG3.js} +63 -78
  23. package/dist/{chunk-LZSJBIVT.js → chunk-DJVECN66.js} +271 -762
  24. package/dist/{chunk-CBCAPZAA.js → chunk-E25LMLRW.js} +2 -2
  25. package/dist/{chunk-ZWMF7253.js → chunk-E2ER4LJF.js} +304 -9
  26. package/dist/{chunk-STBPMHSX.js → chunk-EKY57CSP.js} +51 -84
  27. package/dist/{chunk-DUYJ5IO6.js → chunk-EYPA3EGJ.js} +12 -4
  28. package/dist/{chunk-M6SHUN7Q.js → chunk-FO5ZOVUY.js} +2 -2
  29. package/dist/chunk-FYYLNIL5.js +313 -0
  30. package/dist/{chunk-OQ33BKR3.js → chunk-G7MUEIGA.js} +3 -60
  31. package/dist/chunk-GEYXPTRF.js +613 -0
  32. package/dist/chunk-GOXNB3AO.js +261 -0
  33. package/dist/{chunk-G4BMMOKF.js → chunk-HVDIIIQW.js} +2 -2
  34. package/dist/chunk-HWUFFB6L.js +83 -0
  35. package/dist/{chunk-4XUGQOHA.js → chunk-K7T3E2SR.js} +15 -8
  36. package/dist/chunk-K7VKOLQQ.js +15 -0
  37. package/dist/{chunk-UFIIWP2H.js → chunk-KHSFENX2.js} +8 -8
  38. package/dist/{chunk-BMEMKKIT.js → chunk-KOHPCX4K.js} +2 -2
  39. package/dist/chunk-LCGCVYZ4.js +57 -0
  40. package/dist/chunk-LL4KHSZI.js +22 -0
  41. package/dist/{chunk-PAJK6MAQ.js → chunk-LYF7OHWH.js} +42 -15
  42. package/dist/{chunk-POHLU5DW.js → chunk-M6L6IDJG.js} +3 -3
  43. package/dist/{chunk-5UUP6MWO.js → chunk-MV3K5QF2.js} +5 -436
  44. package/dist/{chunk-X4RCMKVQ.js → chunk-NDINPTJ4.js} +2 -2
  45. package/dist/{chunk-TZK7PACC.js → chunk-NILBFAPG.js} +14 -8
  46. package/dist/chunk-ODFEOB4F.js +1082 -0
  47. package/dist/{chunk-AGYYIBLL.js → chunk-OH3TOQTB.js} +6 -2
  48. package/dist/chunk-OZNBF4L3.js +23 -0
  49. package/dist/{chunk-DSELYM6W.js → chunk-PBTHKCPN.js} +30 -10
  50. package/dist/{verify-375KUB3Y.js → chunk-PCZJO5TI.js} +127 -42
  51. package/dist/{chunk-ED4KHGC3.js → chunk-PPAMZ32Z.js} +9 -2
  52. package/dist/{chunk-SRDMMSEP.js → chunk-QM3F2GKX.js} +1063 -1645
  53. package/dist/{chunk-X6IAEBZR.js → chunk-QNQHSOLF.js} +7 -7
  54. package/dist/{chunk-OC7FIQPC.js → chunk-R46L2BIR.js} +10 -7
  55. package/dist/{chunk-2TLUCQVG.js → chunk-RD5U66HV.js} +3 -3
  56. package/dist/{chunk-6N5PTWMY.js → chunk-RY3LY4J5.js} +50 -13
  57. package/dist/{chunk-OKGUZO2U.js → chunk-SPULKLCF.js} +4 -3
  58. package/dist/{chunk-OOJYHWRB.js → chunk-TSHXZTOQ.js} +6 -5
  59. package/dist/chunk-TZSKNMZG.js +434 -0
  60. package/dist/{chunk-7MNJORFF.js → chunk-UL3WSD3F.js} +6 -1
  61. package/dist/{chunk-VJWL6YS5.js → chunk-UUVG37B4.js} +2 -2
  62. package/dist/{chunk-COU2UHX6.js → chunk-VEZEGCGW.js} +170 -2
  63. package/dist/chunk-W6GROXXM.js +69 -0
  64. package/dist/{chunk-OAO4GE4M.js → chunk-WHGPSPT5.js} +2 -2
  65. package/dist/chunk-WHJYKASB.js +677 -0
  66. package/dist/{chunk-ORBHGJC5.js → chunk-WR67VIZY.js} +3 -3
  67. package/dist/{chunk-YHZX5GEU.js → chunk-XAKHZX5N.js} +2 -2
  68. package/dist/{chunk-TZTZS7QK.js → chunk-XE2VEJHX.js} +5 -3
  69. package/dist/{chunk-LM5TQCJZ.js → chunk-XF5N4U5A.js} +8 -7
  70. package/dist/{chunk-LWLEKMDQ.js → chunk-XXQNGV4M.js} +1073 -552
  71. package/dist/{chunk-KZWTDYJF.js → chunk-XYDYPRZI.js} +7 -7
  72. package/dist/chunk-ZGVHUX3M.js +66 -0
  73. package/dist/{chunk-LW6DSM3M.js → chunk-ZRGEBJ4T.js} +1192 -1119
  74. package/dist/{chunk-2DJ2KNFG.js → chunk-ZXF4XRKW.js} +202 -40
  75. package/dist/chunk-ZZMN5OM4.js +122 -0
  76. package/dist/cli/index.js +34 -30
  77. package/dist/{clio-JOU4FXVA.js → clio-M2KGYUFZ.js} +7 -6
  78. package/dist/{code-nav-7AX6FYE6.js → code-nav-GQNL7XA6.js} +8 -6
  79. package/dist/codewiki/build-worker.js +4 -4
  80. package/dist/{components-KELWS457.js → components-5TTYYX6G.js} +3 -3
  81. package/dist/{config-XCDVKR23.js → config-XUUYQIWO.js} +47 -35
  82. package/dist/{configure-4GAP54ZW.js → configure-IHJ7YOMV.js} +18 -15
  83. package/dist/{context-77FM5DV5.js → context-74JLXAWD.js} +18 -10
  84. package/dist/{context-4UOGGLQ5.js → context-75MIWW3U.js} +41 -29
  85. package/dist/{context-5VKGUVJJ.js → context-ZQ7SIFJV.js} +85 -9
  86. package/dist/{context-clear-XXJRLCJJ.js → context-clear-GYKWNUML.js} +41 -29
  87. package/dist/{context-index-BZ4UYMTC.js → context-index-SSR5ECNE.js} +3 -3
  88. package/dist/context-working-set-UX5KEP4J.js +1553 -0
  89. package/dist/{dispatch-runner-QPRDDBDX.js → dispatch-runner-GIJBHNFL.js} +47 -32
  90. package/dist/{docs-2C2LTVT2.js → docs-6FZSCG5B.js} +3 -3
  91. package/dist/{doctor-HR46URBJ.js → doctor-SVJ5BZCW.js} +12 -12
  92. package/dist/{eval-XSSNATB4.js → eval-CG6LLBLD.js} +54 -238
  93. package/dist/{evidence-6HG2PY2B.js → evidence-ZYFIEN42.js} +57 -28
  94. package/dist/{evolve-K7YU3NCY.js → evolve-QGEXEMDW.js} +36 -25
  95. package/dist/{extensions-QVDOHDGJ.js → extensions-ADGNCJJD.js} +3 -3
  96. package/dist/{fleet-VY3HHKN6.js → fleet-S5R4ZOQY.js} +73 -44
  97. package/dist/{fleet-preflight-DDN536IT.js → fleet-preflight-BHSNPBMH.js} +3 -3
  98. package/dist/{init-JYGXI3FK.js → init-5DRU55YR.js} +49 -37
  99. package/dist/memory-7YKKR6UC.js +467 -0
  100. package/dist/{models-I5QWSEOM.js → models-ZPOLRU2C.js} +24 -21
  101. package/dist/{monitor-GE4ID3IA.js → monitor-US5F5YGZ.js} +73 -46
  102. package/dist/{orchestrator-EM5MC3HM.js → orchestrator-E2AL4T5N.js} +1624 -1007
  103. package/dist/{paths-UXLN5YYZ.js → paths-E7KYAQWE.js} +3 -3
  104. package/dist/{reset-L2FQEE3E.js → reset-KZ652EK6.js} +6 -5
  105. package/dist/{run-ZU3QMZPZ.js → run-SRNBKDWD.js} +76 -54
  106. package/dist/{share-S5BZQC5I.js → share-CGZE33UP.js} +7 -6
  107. package/dist/{skills-X5VXCRNQ.js → skills-S2X4DLY5.js} +4 -4
  108. package/dist/{skills-eval-WKIHWTHR.js → skills-eval-W2GGIC4R.js} +40 -29
  109. package/dist/{targets-SNCPI2NR.js → targets-54SWINWB.js} +28 -23
  110. package/dist/{terminal-lease-BNAHVHBS.js → terminal-lease-SAIF2OGY.js} +6 -4
  111. package/dist/{uninstall-FZCQCDKC.js → uninstall-BVLWXKBT.js} +3 -3
  112. package/dist/{upgrade-JQHHPQ4K.js → upgrade-JKAR27XC.js} +20 -19
  113. package/dist/{usage-OR4O5SMZ.js → usage-MSAWCLX4.js} +79 -36
  114. package/dist/verifiers-NCBTHHN2.js +1220 -0
  115. package/dist/verify-X5HDROLA.js +25 -0
  116. package/dist/{wiki-generate-UEXP2ARI.js → wiki-generate-GUSOQ6ZP.js} +50 -37
  117. package/dist/worker/entry.js +90 -70
  118. package/dist/{workspace-G4ZWUIPR.js → workspace-ZJ6BFM3Q.js} +4 -4
  119. package/docs/README.md +8 -7
  120. package/docs/acp.md +1 -1
  121. package/docs/alcf-provider.md +1 -1
  122. package/docs/architecture.md +2 -2
  123. package/docs/artifact-placement.md +1 -2
  124. package/docs/artifact-versions.md +1 -1
  125. package/docs/built-in-agents.md +1 -1
  126. package/docs/capacity-and-scheduling.md +1 -1
  127. package/docs/commands-and-modes.md +60 -26
  128. package/docs/config-knobs-audit.md +1 -2
  129. package/docs/configuration-and-targets.md +26 -1
  130. package/docs/context-engine.md +67 -13
  131. package/docs/context-working-set.md +194 -0
  132. package/docs/development-pipeline.md +1 -1
  133. package/docs/documentation-coverage.md +6 -6
  134. package/docs/documentation-guide.md +7 -6
  135. package/docs/environment-variables.md +2 -1
  136. package/docs/eval-runner.md +1 -1
  137. package/docs/evals-internal.md +4 -32
  138. package/docs/evidence-and-memory.md +139 -7
  139. package/docs/evolution.md +1 -1
  140. package/docs/exit-codes-and-output.md +1 -1
  141. package/docs/extensions-and-sharing.md +2 -2
  142. package/docs/fleet-dispatch.md +49 -8
  143. package/docs/glossary.md +21 -1
  144. package/docs/installation-and-lifecycle.md +2 -2
  145. package/docs/middleware-and-components.md +19 -2
  146. package/docs/model-catalog.md +7 -9
  147. package/docs/observability.md +4 -4
  148. package/docs/proactive-memory.md +26 -16
  149. package/docs/prompt-envelope-and-tools.md +7 -5
  150. package/docs/provider-adapter-cookbook.md +1 -1
  151. package/docs/release-cut-checklist.md +43 -40
  152. package/docs/safety-model.md +49 -8
  153. package/docs/scientific-validation.md +21 -3
  154. package/docs/session-lifecycle.md +3 -3
  155. package/docs/skills-marketplace.md +1 -1
  156. package/docs/tool-usage.md +79 -12
  157. package/docs/trace-store.md +1 -1
  158. package/docs/troubleshooting.md +1 -1
  159. package/docs/tui-design.md +38 -4
  160. package/docs/worker-dispatch-mechanics.md +11 -1
  161. package/package.json +13 -13
  162. package/skills/meta/clio-test/SKILL.md +20 -17
  163. package/skills/meta/clio-test/evals.md +3 -3
  164. package/skills/meta/clio-test/references/harness.md +35 -6
  165. package/skills/meta/clio-test/references/test-map.md +20 -10
  166. package/skills/registry.yaml +2 -2
  167. package/skills/skill-marketplace.json +1 -1
  168. package/src/cli/agents.ts +2 -3
  169. package/src/cli/argv.ts +14 -1
  170. package/src/cli/context-working-set.ts +513 -0
  171. package/src/cli/context.ts +8 -0
  172. package/src/cli/evidence.ts +20 -2
  173. package/src/cli/fleet.ts +15 -0
  174. package/src/cli/index.ts +5 -1
  175. package/src/cli/memory.ts +272 -10
  176. package/src/cli/modes/json-stream.ts +2 -2
  177. package/src/cli/modes/print.ts +12 -1
  178. package/src/cli/run.ts +22 -2
  179. package/src/cli/targets.ts +12 -3
  180. package/src/cli/usage.ts +55 -7
  181. package/src/cli/verifiers.ts +325 -0
  182. package/src/core/bash-exec.ts +39 -14
  183. package/src/core/bus-events.ts +22 -4
  184. package/src/core/config.ts +54 -0
  185. package/src/core/defaults.ts +50 -3
  186. package/src/core/response-model-id.ts +134 -0
  187. package/src/core/toml.ts +62 -0
  188. package/src/core/verification-scripts.ts +6 -0
  189. package/src/core/workspace-files.ts +0 -1
  190. package/src/domains/agents/builtins/architect.md +1 -1
  191. package/src/domains/agents/builtins/verifier.md +3 -0
  192. package/src/domains/agents/catalog.ts +5 -4
  193. package/src/domains/agents/recipe.ts +54 -14
  194. package/src/domains/agents/result-contract.ts +7 -4
  195. package/src/domains/config/classify.ts +1 -0
  196. package/src/domains/context/bootstrap.ts +36 -27
  197. package/src/domains/context/project-metadata.ts +19 -63
  198. package/src/domains/context/prompt-context.ts +8 -0
  199. package/src/domains/context/working-set/contract.ts +161 -0
  200. package/src/domains/context/working-set/defaults.ts +28 -0
  201. package/src/domains/context/working-set/engine.ts +203 -0
  202. package/src/domains/context/working-set/fold.ts +62 -0
  203. package/src/domains/context/working-set/horizon.ts +38 -0
  204. package/src/domains/context/working-set/marker.ts +103 -0
  205. package/src/domains/context/working-set/path-index.ts +436 -0
  206. package/src/domains/context/working-set/payload.ts +152 -0
  207. package/src/domains/context/working-set/policies/age-horizon.ts +55 -0
  208. package/src/domains/context/working-set/policies/index.ts +20 -0
  209. package/src/domains/context/working-set/policies/structural.ts +160 -0
  210. package/src/domains/context/working-set/project.ts +132 -0
  211. package/src/domains/context/working-set/protect.ts +109 -0
  212. package/src/domains/context/working-set/recall.ts +177 -0
  213. package/src/domains/context/working-set/replay/controls.ts +112 -0
  214. package/src/domains/context/working-set/replay/load-clio.ts +199 -0
  215. package/src/domains/context/working-set/replay/metrics.ts +185 -0
  216. package/src/domains/context/working-set/replay/reference-graph.ts +79 -0
  217. package/src/domains/context/working-set/replay/report.ts +139 -0
  218. package/src/domains/context/working-set/replay/runner.ts +325 -0
  219. package/src/domains/context/working-set/replay/synthetic.ts +422 -0
  220. package/src/domains/context/working-set/replay/trace.ts +21 -0
  221. package/src/domains/context/working-set/visible.ts +54 -0
  222. package/src/domains/dispatch/budget-envelope.ts +396 -0
  223. package/src/domains/dispatch/contract.ts +2 -0
  224. package/src/domains/dispatch/extension.ts +81 -27
  225. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  226. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  227. package/src/domains/dispatch/state.ts +1 -0
  228. package/src/domains/dispatch/types.ts +10 -3
  229. package/src/domains/dispatch/validation.ts +14 -0
  230. package/src/domains/dispatch/worker-spawn.ts +14 -3
  231. package/src/domains/eval/metrics/evidence.ts +0 -116
  232. package/src/domains/eval/metrics/invariants.ts +1 -1
  233. package/src/domains/eval/runners/clio-run.ts +1 -10
  234. package/src/domains/eval/runners/external-command.ts +2 -29
  235. package/src/domains/eval/schema/suite.ts +0 -7
  236. package/src/domains/eval/suites/run.ts +1 -7
  237. package/src/domains/evidence/build.ts +112 -45
  238. package/src/domains/evidence/eval.ts +24 -7
  239. package/src/domains/evidence/index.ts +53 -0
  240. package/src/domains/evidence/ordering.ts +12 -0
  241. package/src/domains/evidence/run-trust.ts +221 -0
  242. package/src/domains/evidence/store.ts +46 -6
  243. package/src/domains/evidence/trust-status.ts +854 -0
  244. package/src/domains/evidence/types.ts +26 -0
  245. package/src/domains/memory/index.ts +22 -0
  246. package/src/domains/memory/operations.ts +58 -1
  247. package/src/domains/memory/promotion.ts +281 -0
  248. package/src/domains/memory/prompt-section.ts +25 -5
  249. package/src/domains/memory/proposal.ts +51 -7
  250. package/src/domains/memory/task-bank.ts +3 -2
  251. package/src/domains/memory/task-memory-handoff.ts +181 -24
  252. package/src/domains/memory/task-memory-policy.ts +3 -1
  253. package/src/domains/memory/types.ts +37 -0
  254. package/src/domains/memory/validate.ts +178 -0
  255. package/src/domains/middleware/memory-intervention.ts +38 -25
  256. package/src/domains/middleware/runtime.ts +6 -0
  257. package/src/domains/middleware/skills-reminder.ts +19 -4
  258. package/src/domains/middleware/stalled-turn.ts +208 -5
  259. package/src/domains/middleware/types.ts +10 -0
  260. package/src/domains/observability/contract.ts +6 -1
  261. package/src/domains/observability/cost.ts +20 -4
  262. package/src/domains/observability/extension.ts +2 -2
  263. package/src/domains/providers/index.ts +3 -0
  264. package/src/domains/providers/model-discovery.ts +9 -0
  265. package/src/domains/providers/runtime-resolution.ts +38 -1
  266. package/src/domains/providers/runtimes/common/probe-helpers.ts +97 -16
  267. package/src/domains/providers/types/context-window-slots.ts +18 -0
  268. package/src/domains/providers/types/runtime-descriptor.ts +3 -1
  269. package/src/domains/safety/autonomy.ts +1 -1
  270. package/src/domains/safety/call-target.ts +211 -14
  271. package/src/domains/safety/decision-presentation.ts +268 -0
  272. package/src/domains/safety/default-path-policy.ts +8 -0
  273. package/src/domains/safety/finish-contract.ts +4 -3
  274. package/src/domains/safety/policy-engine.ts +48 -6
  275. package/src/domains/safety/redaction.ts +73 -0
  276. package/src/domains/session/compaction/compact.ts +23 -1
  277. package/src/domains/session/compaction/cut-point.ts +2 -0
  278. package/src/domains/session/compaction/tokens.ts +16 -1
  279. package/src/domains/session/context-ledger.ts +12 -1
  280. package/src/domains/session/decision-board.ts +4 -0
  281. package/src/domains/session/entries.ts +110 -1
  282. package/src/domains/session/history.ts +68 -19
  283. package/src/domains/session/manager.ts +9 -2
  284. package/src/domains/session/migrations/index.ts +22 -3
  285. package/src/domains/session/usage.ts +24 -7
  286. package/src/engine/acp/event-mapper.ts +7 -0
  287. package/src/engine/acp/server.ts +32 -2
  288. package/src/engine/agent.ts +18 -1
  289. package/src/engine/apis/lmstudio.ts +25 -4
  290. package/src/engine/apis/openai-completions.ts +147 -22
  291. package/src/engine/claude/sdk-runtime.ts +8 -2
  292. package/src/engine/claude/tool-safety.ts +13 -0
  293. package/src/engine/loop-guard.ts +27 -3
  294. package/src/engine/session.ts +9 -3
  295. package/src/engine/worker-events.ts +4 -3
  296. package/src/engine/worker-runtime.ts +59 -54
  297. package/src/entry/orchestrator.ts +34 -5
  298. package/src/interactive/chat-loop-messages.ts +40 -6
  299. package/src/interactive/chat-loop.ts +13 -0
  300. package/src/interactive/chat-panel.ts +17 -1
  301. package/src/interactive/chat-renderer.ts +49 -24
  302. package/src/interactive/clio-editor.ts +44 -7
  303. package/src/interactive/context-meter.ts +10 -0
  304. package/src/interactive/context-overlay.ts +120 -7
  305. package/src/interactive/context-recall-command.ts +110 -0
  306. package/src/interactive/cost-overlay.ts +39 -8
  307. package/src/interactive/dispatch-board.ts +212 -35
  308. package/src/interactive/footer/widgets.ts +13 -0
  309. package/src/interactive/interactive-application.ts +6 -1
  310. package/src/interactive/interactive-input-runtime.ts +11 -1
  311. package/src/interactive/interactive-presentation.ts +11 -1
  312. package/src/interactive/interactive-slash-runtime.ts +37 -1
  313. package/src/interactive/memory-overlay.ts +89 -4
  314. package/src/interactive/model-session-replay.ts +21 -0
  315. package/src/interactive/overlay-ask-user-lifecycle.ts +1 -1
  316. package/src/interactive/overlay-frame.ts +5 -2
  317. package/src/interactive/overlay-general-openers.ts +46 -1
  318. package/src/interactive/overlay-key-routing.ts +41 -1
  319. package/src/interactive/overlay-lifecycle.ts +11 -4
  320. package/src/interactive/overlay-permission-lifecycle.ts +23 -8
  321. package/src/interactive/overlay-session-lifecycle.ts +8 -4
  322. package/src/interactive/overlay-transitions.ts +11 -0
  323. package/src/interactive/overlays/ask-user.ts +74 -30
  324. package/src/interactive/overlays/decisions.ts +3 -1
  325. package/src/interactive/permission-hint.ts +35 -0
  326. package/src/interactive/permission-overlay.ts +95 -45
  327. package/src/interactive/renderers/tool-execution.ts +37 -51
  328. package/src/interactive/session-last-turn.ts +8 -1
  329. package/src/interactive/session-transcript.ts +2 -2
  330. package/src/interactive/session-usage-reseed.ts +36 -10
  331. package/src/interactive/slash-commands.ts +31 -4
  332. package/src/interactive/status/summary.ts +5 -0
  333. package/src/interactive/status/types.ts +5 -0
  334. package/src/interactive/terminal-lease.ts +1 -0
  335. package/src/interactive/turn-context.ts +333 -110
  336. package/src/interactive/turn-middleware.ts +7 -6
  337. package/src/interactive/turn-runtime.ts +37 -8
  338. package/src/interactive/turn-state.ts +3 -0
  339. package/src/interactive/worker-progress.ts +440 -0
  340. package/src/interactive/worker-stream.ts +51 -110
  341. package/src/tools/agent-tools.ts +39 -7
  342. package/src/tools/ask-user.ts +21 -1
  343. package/src/tools/bash.ts +144 -82
  344. package/src/tools/builtin-tool-catalog.ts +11 -5
  345. package/src/tools/context/index.ts +107 -5
  346. package/src/tools/context/surface.ts +3 -2
  347. package/src/tools/core-bootstrap.ts +21 -0
  348. package/src/tools/dispatch-arguments.ts +8 -0
  349. package/src/tools/dispatch-event-text.ts +19 -0
  350. package/src/tools/dispatch-runner.ts +9 -7
  351. package/src/tools/dispatch.ts +24 -1
  352. package/src/tools/monitor.ts +43 -20
  353. package/src/tools/registry.ts +72 -10
  354. package/src/tools/result-disposition.ts +706 -0
  355. package/src/tools/result-shaping.ts +321 -20
  356. package/src/tools/safe-exec.ts +2 -0
  357. package/src/tools/verify/authoring.ts +1120 -0
  358. package/src/tools/verify/catalog.ts +346 -0
  359. package/src/tools/verify/index.ts +13 -3
  360. package/src/tools/verify/scripts.ts +135 -37
  361. package/src/tools/verify/surface.ts +9 -5
  362. package/src/tools/worker-evidence.ts +54 -12
  363. package/src/worker/spec-contract.ts +43 -3
  364. package/dist/chunk-J7CWMCQD.js +0 -255
  365. package/dist/chunk-T6YILFSB.js +0 -80
  366. package/dist/chunk-VAKQQHWR.js +0 -434
  367. package/dist/chunk-VPAYEGVX.js +0 -184
  368. package/dist/chunk-XBXAASKX.js +0 -18
  369. package/dist/memory-WFZMGYHX.js +0 -236
  370. package/src/domains/eval/metrics/chaos-stream.ts +0 -93
@@ -1,236 +0,0 @@
1
- import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import {
3
- approveMemoryRecord,
4
- loadMemoryRecords,
5
- memoryStatus,
6
- proposeMemoryFromEvidence,
7
- pruneStaleMemory,
8
- rejectMemoryRecord
9
- } from "./chunk-V6RTAOC2.js";
10
- import "./chunk-SRDMMSEP.js";
11
- import "./chunk-4BJ5BYCE.js";
12
- import "./chunk-QKMUKYO7.js";
13
- import "./chunk-AGYYIBLL.js";
14
- import "./chunk-OOJYHWRB.js";
15
- import "./chunk-TXOTCRLG.js";
16
- import "./chunk-G4BMMOKF.js";
17
- import "./chunk-OAO4GE4M.js";
18
- import "./chunk-LWLEKMDQ.js";
19
- import "./chunk-STBPMHSX.js";
20
- import "./chunk-GGXXDWE4.js";
21
- import "./chunk-5UUP6MWO.js";
22
- import "./chunk-CMZWFGD2.js";
23
- import "./chunk-I4HZDVNP.js";
24
- import "./chunk-7MNJORFF.js";
25
- import "./chunk-OQE5J4C6.js";
26
- import "./chunk-ECH6PKUQ.js";
27
- import "./chunk-T6YILFSB.js";
28
- import "./chunk-VAKQQHWR.js";
29
- import "./chunk-6XLNIQDB.js";
30
- import "./chunk-5B2AEOW5.js";
31
- import "./chunk-CGKSTWHD.js";
32
- import "./chunk-YHZX5GEU.js";
33
- import "./chunk-EKMEHE4H.js";
34
- import "./chunk-YCWGATWI.js";
35
- import {
36
- printError,
37
- printOk
38
- } from "./chunk-ED4KHGC3.js";
39
- import "./chunk-5TSRNF4G.js";
40
- import "./chunk-LZSJBIVT.js";
41
- import "./chunk-A3CYT5EX.js";
42
- import "./chunk-ZDOOVTXZ.js";
43
- import "./chunk-4VP4KH3K.js";
44
- import "./chunk-M6SHUN7Q.js";
45
- import "./chunk-R346GLFC.js";
46
- import "./chunk-COU2UHX6.js";
47
- import "./chunk-FQ4SKYE4.js";
48
- import "./chunk-IKCO5N3L.js";
49
- import "./chunk-3I7MS7N2.js";
50
- import "./chunk-IHXBNWMM.js";
51
- import "./chunk-SST6Z5JA.js";
52
- import "./chunk-4ZG3XFUR.js";
53
- import "./chunk-APJ265NV.js";
54
- import "./chunk-FCSXB6T2.js";
55
- import "./chunk-YXLYO42X.js";
56
- import {
57
- clioDataDir
58
- } from "./chunk-BNAZZHFG.js";
59
- import "./chunk-6EJMN2Y3.js";
60
- import "./chunk-WEPFGWHJ.js";
61
- import "./chunk-OQ33BKR3.js";
62
- import "./chunk-7CR24IG7.js";
63
- import "./chunk-IWHMRKLL.js";
64
- import {
65
- init_esm_shims
66
- } from "./chunk-3R73A4XB.js";
67
-
68
- // src/cli/memory.ts
69
- init_esm_shims();
70
- var HELP = `clio-coder memory list
71
- clio-coder memory propose --from-evidence <evidenceId>
72
- clio-coder memory approve <memoryId>
73
- clio-coder memory reject <memoryId>
74
- clio-coder memory prune --stale
75
-
76
- Manage scoped, approved, evidence-linked local memory records.
77
- `;
78
- function parseMemoryArgs(args) {
79
- const parsed = { stale: false, help: false };
80
- for (let index = 0; index < args.length; index += 1) {
81
- const arg = args[index];
82
- if (arg === void 0) continue;
83
- if (arg === "--help" || arg === "-h") {
84
- parsed.help = true;
85
- continue;
86
- }
87
- if (parsed.command === void 0) {
88
- if (arg === "list" || arg === "propose" || arg === "approve" || arg === "reject" || arg === "prune") {
89
- parsed.command = arg;
90
- continue;
91
- }
92
- throw new Error(`unknown memory command: ${arg}`);
93
- }
94
- if (parsed.command === "propose") {
95
- if (arg === "--from-evidence") {
96
- const value = args[index + 1];
97
- if (value === void 0 || value.startsWith("-")) throw new Error("--from-evidence requires an evidence id");
98
- parsed.evidenceId = value;
99
- index += 1;
100
- continue;
101
- }
102
- throw new Error(`unknown memory propose argument: ${arg}`);
103
- }
104
- if (parsed.command === "approve" || parsed.command === "reject") {
105
- if (parsed.memoryId === void 0 && !arg.startsWith("-")) {
106
- parsed.memoryId = arg;
107
- continue;
108
- }
109
- throw new Error(`unexpected memory ${parsed.command} argument: ${arg}`);
110
- }
111
- if (parsed.command === "prune") {
112
- if (arg === "--stale") {
113
- parsed.stale = true;
114
- continue;
115
- }
116
- throw new Error(`unknown memory prune argument: ${arg}`);
117
- }
118
- throw new Error(`unexpected memory argument: ${arg}`);
119
- }
120
- if (parsed.help) return parsed;
121
- if (parsed.command === void 0) throw new Error("memory requires list, propose, approve, reject, or prune");
122
- if (parsed.command === "propose" && parsed.evidenceId === void 0) {
123
- throw new Error("propose requires --from-evidence <evidenceId>");
124
- }
125
- if ((parsed.command === "approve" || parsed.command === "reject") && parsed.memoryId === void 0) {
126
- throw new Error(`${parsed.command} requires a memory id`);
127
- }
128
- if (parsed.command === "prune" && !parsed.stale) throw new Error("prune requires --stale");
129
- if (parsed.command === "list" && (parsed.evidenceId !== void 0 || parsed.memoryId !== void 0 || parsed.stale)) {
130
- throw new Error("list does not accept extra arguments");
131
- }
132
- return parsed;
133
- }
134
- async function runMemoryCommand(args) {
135
- let parsed;
136
- try {
137
- parsed = parseMemoryArgs(args);
138
- } catch (error) {
139
- printError(error instanceof Error ? error.message : String(error));
140
- process.stderr.write(HELP);
141
- return 2;
142
- }
143
- if (parsed.help) {
144
- process.stdout.write(HELP);
145
- return 0;
146
- }
147
- const dataDir = clioDataDir();
148
- try {
149
- if (parsed.command === "list") {
150
- renderMemoryList(await loadMemoryRecords(dataDir));
151
- return 0;
152
- }
153
- if (parsed.command === "propose") {
154
- const evidenceId = parsed.evidenceId;
155
- if (evidenceId === void 0) {
156
- printError("propose requires --from-evidence <evidenceId>");
157
- return 2;
158
- }
159
- const result = await proposeMemoryFromEvidence(dataDir, evidenceId);
160
- renderProposal(result.record, result.created);
161
- return 0;
162
- }
163
- if (parsed.command === "approve") {
164
- const memoryId = parsed.memoryId;
165
- if (memoryId === void 0) {
166
- printError("approve requires a memory id");
167
- return 2;
168
- }
169
- const record = await approveMemoryRecord(dataDir, memoryId);
170
- printOk(`approved ${record.id}`);
171
- return 0;
172
- }
173
- if (parsed.command === "reject") {
174
- const memoryId = parsed.memoryId;
175
- if (memoryId === void 0) {
176
- printError("reject requires a memory id");
177
- return 2;
178
- }
179
- const record = await rejectMemoryRecord(dataDir, memoryId);
180
- printOk(`rejected ${record.id}`);
181
- return 0;
182
- }
183
- if (parsed.command === "prune") {
184
- const pruned = await pruneStaleMemory(dataDir);
185
- printOk(`pruned ${pruned.length} stale memory record${pruned.length === 1 ? "" : "s"}`);
186
- return 0;
187
- }
188
- printError("memory requires list, propose, approve, reject, or prune");
189
- return 2;
190
- } catch (error) {
191
- printError(error instanceof Error ? error.message : String(error));
192
- return 1;
193
- }
194
- }
195
- function renderProposal(record, created) {
196
- process.stdout.write(`memory: ${record.id}
197
- `);
198
- process.stdout.write(`status: ${created ? "proposed" : memoryStatus(record)}
199
- `);
200
- process.stdout.write(`scope: ${record.scope}
201
- `);
202
- process.stdout.write(`key: ${record.key}
203
- `);
204
- process.stdout.write(`evidence: ${record.evidenceRefs.join(", ")}
205
- `);
206
- process.stdout.write(`confidence: ${record.confidence.toFixed(2)}
207
- `);
208
- process.stdout.write(`lesson: ${record.lesson}
209
- `);
210
- }
211
- function renderMemoryList(records) {
212
- process.stdout.write(`${records.length} memory record${records.length === 1 ? "" : "s"}
213
- `);
214
- if (records.length === 0) return;
215
- process.stdout.write("\n");
216
- for (const record of records) {
217
- process.stdout.write(
218
- [
219
- record.id.padEnd(21),
220
- memoryStatus(record).padEnd(10),
221
- record.scope.padEnd(13),
222
- `confidence=${record.confidence.toFixed(2)}`.padEnd(16),
223
- `evidence=${record.evidenceRefs.join(",")}`
224
- ].join("")
225
- );
226
- process.stdout.write("\n");
227
- process.stdout.write(` key: ${record.key}
228
- `);
229
- process.stdout.write(` lesson: ${record.lesson}
230
- `);
231
- }
232
- }
233
- export {
234
- runMemoryCommand
235
- };
236
- //# sourceMappingURL=memory-WFZMGYHX.js.map
@@ -1,93 +0,0 @@
1
- export interface EvalChaosMarker {
2
- seed: number;
3
- faultInjected: boolean;
4
- exitCode: number;
5
- orphanedChildren: number;
6
- }
7
-
8
- export interface EvalChaosObservation {
9
- markerCount: number;
10
- marker: EvalChaosMarker | null;
11
- }
12
-
13
- export interface EvalChaosFold {
14
- /** Feed a raw stdout chunk; partial trailing lines are held until completed. */
15
- push(chunk: string): void;
16
- observation(): EvalChaosObservation;
17
- }
18
-
19
- export const EMPTY_CHAOS_OBSERVATION: EvalChaosObservation = { markerCount: 0, marker: null };
20
-
21
- /** Fold the SIGINT harness marker from stdout before bounded artifact truncation can erase it. */
22
- export function createChaosFold(): EvalChaosFold {
23
- let markerCount = 0;
24
- let marker: EvalChaosMarker | null = null;
25
- let pending = "";
26
-
27
- const consume = (line: string): void => {
28
- if (line.trim().length === 0) return;
29
- let parsed: unknown;
30
- try {
31
- parsed = JSON.parse(line) as unknown;
32
- } catch {
33
- return;
34
- }
35
- if (!isRecord(parsed) || parsed.type !== "clio_soak_chaos") return;
36
- markerCount += 1;
37
- marker = parseChaosMarker(parsed);
38
- };
39
-
40
- return {
41
- push(chunk: string): void {
42
- pending += chunk;
43
- for (;;) {
44
- const newline = pending.indexOf("\n");
45
- if (newline === -1) break;
46
- consume(pending.slice(0, newline).replace(/\r$/u, ""));
47
- pending = pending.slice(newline + 1);
48
- }
49
- },
50
- observation(): EvalChaosObservation {
51
- if (pending.length > 0) {
52
- consume(pending.replace(/\r$/u, ""));
53
- pending = "";
54
- }
55
- return { markerCount, marker: marker === null ? null : { ...marker } };
56
- },
57
- };
58
- }
59
-
60
- export function addChaosObservations(left: EvalChaosObservation, right: EvalChaosObservation): EvalChaosObservation {
61
- const markerCount = left.markerCount + right.markerCount;
62
- return {
63
- markerCount,
64
- marker: markerCount === 1 ? (left.marker ?? right.marker) : null,
65
- };
66
- }
67
-
68
- /** Emit canonical metrics only for one fully valid marker; every other shape is unmeasured. */
69
- export function chaosMetricEntries(observation: EvalChaosObservation): Record<string, number | boolean> {
70
- if (observation.markerCount !== 1 || observation.marker === null) return {};
71
- return {
72
- "chaos.seed": observation.marker.seed,
73
- "chaos.faultInjected": observation.marker.faultInjected,
74
- "chaos.exitCode": observation.marker.exitCode,
75
- "process.orphanedChildren": observation.marker.orphanedChildren,
76
- };
77
- }
78
-
79
- export function parseChaosMarker(event: Record<string, unknown>): EvalChaosMarker | null {
80
- if (event.type !== "clio_soak_chaos") return null;
81
- const { seed, faultInjected, exitCode, orphanedChildren } = event;
82
- if (!isFiniteInteger(seed) || typeof faultInjected !== "boolean" || !isFiniteInteger(exitCode)) return null;
83
- if (!isFiniteInteger(orphanedChildren) || orphanedChildren < 0) return null;
84
- return { seed, faultInjected, exitCode, orphanedChildren };
85
- }
86
-
87
- function isFiniteInteger(value: unknown): value is number {
88
- return typeof value === "number" && Number.isFinite(value) && Number.isInteger(value);
89
- }
90
-
91
- function isRecord(value: unknown): value is Record<string, unknown> {
92
- return typeof value === "object" && value !== null && !Array.isArray(value);
93
- }