@iowarp/clio-coder 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +1 -1
  3. package/dist/{acp-H2NGRPWO.js → acp-WNAYYF4F.js} +4 -5
  4. package/dist/{agents-TL5LLUQP.js → agents-3OKXHLOI.js} +33 -31
  5. package/dist/assets/codewiki.json +1 -1
  6. package/dist/{auth-E5SW4HMS.js → auth-VKNNMGPU.js} +10 -11
  7. package/dist/{builtins-IA7V7FUC.js → builtins-WGALA46I.js} +4 -4
  8. package/dist/{chunk-F5JHEYZM.js → chunk-23L32XTI.js} +10 -7
  9. package/dist/{chunk-DWUOQKRU.js → chunk-25QBEXRS.js} +2 -2
  10. package/dist/{chunk-LLDJM5XK.js → chunk-26QSH3EJ.js} +2 -2
  11. package/dist/{chunk-N2Z7HLVY.js → chunk-2ASED4PZ.js} +10 -10
  12. package/dist/{chunk-MCEPRMZW.js → chunk-2CU2H6KE.js} +2 -2
  13. package/dist/chunk-2DSOYNFC.js +108 -0
  14. package/dist/{chunk-LDJG7DW3.js → chunk-2ZSONWVL.js} +4 -4
  15. package/dist/{chunk-GI7YYQ3F.js → chunk-36CT5VVL.js} +324 -41
  16. package/dist/{chunk-4UVU7BJ5.js → chunk-3GY4F45V.js} +2 -2
  17. package/dist/{chunk-PUVDKJ2Y.js → chunk-3ODX73FK.js} +3 -5
  18. package/dist/{chunk-IUE3Y34X.js → chunk-3UNOLWNZ.js} +2 -2
  19. package/dist/{chunk-6PTFB5VS.js → chunk-3UUXNFEX.js} +8 -4
  20. package/dist/{chunk-2APPQIER.js → chunk-4M6Z5QVF.js} +4 -4
  21. package/dist/{chunk-K6BSR66V.js → chunk-4NSRCOYP.js} +4 -1
  22. package/dist/{chunk-JGRC33J2.js → chunk-54X7T7DK.js} +12 -3
  23. package/dist/{chunk-YQWYVTMC.js → chunk-5636DCO5.js} +4 -4
  24. package/dist/{chunk-7E7I3WLS.js → chunk-57XXR6DR.js} +23 -22
  25. package/dist/{chunk-7ZYNNDKC.js → chunk-5TUB6SLS.js} +2 -2
  26. package/dist/{chunk-VW6DOEDG.js → chunk-6OSVSQL5.js} +11 -2
  27. package/dist/{chunk-L47TF46W.js → chunk-6PAZTBPA.js} +14 -2
  28. package/dist/{chunk-XIVNBFZS.js → chunk-6Q3CYFD3.js} +34 -16
  29. package/dist/{chunk-RSJ25QSL.js → chunk-6QOTUPRG.js} +155 -36
  30. package/dist/{chunk-JKKCYP3C.js → chunk-6UINWWS6.js} +10 -4
  31. package/dist/{chunk-WBKFA554.js → chunk-72YIHOZQ.js} +2 -2
  32. package/dist/{chunk-PAJQJ7BS.js → chunk-75W7L2E2.js} +246 -697
  33. package/dist/{chunk-RRNP2ANY.js → chunk-7UGL4MB5.js} +4 -4
  34. package/dist/{chunk-EKCHAPYA.js → chunk-AUPNRN7C.js} +2 -2
  35. package/dist/{chunk-ZDN3Y73Y.js → chunk-BJVFZO5U.js} +6 -48
  36. package/dist/{chunk-IWT4SF4R.js → chunk-CUSRQKPU.js} +64 -2
  37. package/dist/{chunk-SKHCAU7K.js → chunk-DQOVN6KV.js} +3 -2
  38. package/dist/{chunk-ZWPRK62N.js → chunk-DT3LWJOB.js} +4 -4
  39. package/dist/chunk-DXKJURES.js +671 -0
  40. package/dist/{chunk-BEPZRGGU.js → chunk-EL24TAU4.js} +2 -2
  41. package/dist/{chunk-OML5D5V5.js → chunk-ELWDPP3Y.js} +5 -5
  42. package/dist/{chunk-NDINPTJ4.js → chunk-ELZVTCGV.js} +5 -4
  43. package/dist/chunk-EXLD33WO.js +381 -0
  44. package/dist/{chunk-IJNZMHLA.js → chunk-FEAXX7B6.js} +2 -2
  45. package/dist/{chunk-TM6LQDI3.js → chunk-FFUPXJC4.js} +74 -323
  46. package/dist/chunk-GX5WYQO4.js +59 -0
  47. package/dist/chunk-I2DWJ4GM.js +390 -0
  48. package/dist/{chunk-TXOTCRLG.js → chunk-I5FWO7L5.js} +5 -5
  49. package/dist/chunk-IRXAATOX.js +539 -0
  50. package/dist/chunk-IXIY2H4R.js +44 -0
  51. package/dist/{chunk-KK4JZPBQ.js → chunk-IZXGRF7P.js} +76 -10
  52. package/dist/{chunk-5TSRNF4G.js → chunk-JCI2ROMZ.js} +164 -6
  53. package/dist/{chunk-INY6HTFL.js → chunk-JEIYHLOR.js} +2 -2
  54. package/dist/{chunk-MUW2BDDH.js → chunk-JQLNNIKT.js} +2 -2
  55. package/dist/{chunk-XPWWI35G.js → chunk-JSD46VO2.js} +19 -8
  56. package/dist/{chunk-VA5FNYMT.js → chunk-JT2RFCC5.js} +39 -2
  57. package/dist/{chunk-V2ANDPVT.js → chunk-K6T2ZAMZ.js} +168 -6
  58. package/dist/{chunk-B4OAX3SI.js → chunk-KFV5L5SK.js} +13 -6
  59. package/dist/{chunk-JEQ3XTHC.js → chunk-LLXSDWXS.js} +2 -2
  60. package/dist/{chunk-E3TPLWFX.js → chunk-LTIKRKFL.js} +3 -3
  61. package/dist/{chunk-NIQJ66N4.js → chunk-N56KALIC.js} +17 -17
  62. package/dist/{chunk-JDAY6FIL.js → chunk-NAI6ZFCY.js} +13 -9
  63. package/dist/{chunk-AF4YM7Z4.js → chunk-NRO2BJRH.js} +2490 -2182
  64. package/dist/{chunk-WRBAGUNF.js → chunk-NXIMQY5W.js} +2 -2
  65. package/dist/{chunk-I7ZPNEJM.js → chunk-NXYCB2VD.js} +5 -5
  66. package/dist/chunk-ODGTEFFI.js +50 -0
  67. package/dist/{chunk-2VIKGWFZ.js → chunk-OEJSLEPW.js} +2 -2
  68. package/dist/{chunk-KKOJXO6R.js → chunk-OMQNJVKW.js} +4 -2
  69. package/dist/{chunk-54CBCGIR.js → chunk-Q4WO54TA.js} +132 -77
  70. package/dist/{chunk-B4VEBZKF.js → chunk-QUFRYSWI.js} +12 -6
  71. package/dist/{chunk-42FMPA75.js → chunk-QZWQA4DE.js} +2 -2
  72. package/dist/{chunk-HEQY7ZFI.js → chunk-RAY4OVGZ.js} +2 -2
  73. package/dist/{chunk-G76U63X4.js → chunk-RQCKCSRL.js} +7 -7
  74. package/dist/{chunk-64I3JVYM.js → chunk-RXTN6AKH.js} +2 -2
  75. package/dist/{chunk-UPZU6GE4.js → chunk-RZDWV63N.js} +3 -3
  76. package/dist/{chunk-2UH2KFUP.js → chunk-S6PYF2XF.js} +2 -2
  77. package/dist/{chunk-JSC3U7TI.js → chunk-TOIVGRUX.js} +2 -2
  78. package/dist/{chunk-7DRAWPTZ.js → chunk-TQAHXW6Y.js} +1 -1
  79. package/dist/{chunk-JIEGK6UF.js → chunk-U6TMQNSI.js} +48 -4
  80. package/dist/{chunk-AX2THNSA.js → chunk-UEPWCCTY.js} +4 -4
  81. package/dist/{chunk-QWGDJJYJ.js → chunk-USR47QNF.js} +4 -4
  82. package/dist/{chunk-Y3CBHOR6.js → chunk-V6HJFQZE.js} +2 -2
  83. package/dist/chunk-V76WTFTW.js +318 -0
  84. package/dist/{chunk-NMJXSHBJ.js → chunk-W54I7H25.js} +2 -2
  85. package/dist/{chunk-2UG5F4C5.js → chunk-XULDXHTN.js} +24 -12
  86. package/dist/chunk-XXYSBZIQ.js +283 -0
  87. package/dist/{chunk-MWUZBSAQ.js → chunk-Y55JBDO5.js} +331 -51
  88. package/dist/{chunk-W6RRQCPQ.js → chunk-YD5GIKET.js} +4 -4
  89. package/dist/{chunk-CE5AX47J.js → chunk-YECAMM3D.js} +2 -2
  90. package/dist/{chunk-WCXUNS7U.js → chunk-YNFKXPEC.js} +6 -6
  91. package/dist/cli/index.js +36 -35
  92. package/dist/{clio-CMMK4KRR.js → clio-QLICPCF5.js} +2 -2
  93. package/dist/{code-nav-MDZNQS33.js → code-nav-IJR2DBPR.js} +6 -6
  94. package/dist/{components-UCUQ4QXW.js → components-2TGAI2RC.js} +3 -4
  95. package/dist/{config-SVM5P5YI.js → config-IUA6OYNS.js} +52 -47
  96. package/dist/{configure-LE3IK2TJ.js → configure-VEPX4NMX.js} +14 -15
  97. package/dist/{context-VNCR7KAG.js → context-2DKHWH2T.js} +23 -23
  98. package/dist/{context-2OHRKS42.js → context-4MPR7WKB.js} +48 -42
  99. package/dist/{context-E3VC7RX5.js → context-BOYF5EJM.js} +11 -11
  100. package/dist/{context-clear-BW4O37TG.js → context-clear-S4ZJCQUX.js} +48 -42
  101. package/dist/{context-working-set-VDS25HXZ.js → context-working-set-3I3FYX6Y.js} +8 -8
  102. package/dist/detail-A7JAVSIG.js +98 -0
  103. package/dist/{dispatch-runner-5AHT53RF.js → dispatch-runner-RJ5I2F2O.js} +71 -58
  104. package/dist/{docs-PD3EXDKU.js → docs-SPOV3BAN.js} +3 -5
  105. package/dist/{doctor-WNNVO6FY.js → doctor-DKICC2SN.js} +54 -31
  106. package/dist/{eval-7G7SGAYO.js → eval-OQOQUDHK.js} +47 -56
  107. package/dist/{evidence-VD6736FQ.js → evidence-4DQ25GUQ.js} +53 -150
  108. package/dist/evidence-4F5USFKH.js +208 -0
  109. package/dist/{evolve-AL3NGVRL.js → evolve-GSS52E5J.js} +44 -41
  110. package/dist/{extensions-MOVJ32NM.js → extensions-G7MFLYHT.js} +4 -5
  111. package/dist/{fleet-QZHUMAGI.js → fleet-Q37YHHAQ.js} +74 -68
  112. package/dist/{fleet-commands-BAYT5FJZ.js → fleet-commands-G7E4N7SM.js} +14 -11
  113. package/dist/{fleet-decisions-IREVMRU4.js → fleet-decisions-O7M6QBA2.js} +6 -6
  114. package/dist/{fleet-graph-YCTT3HTI.js → fleet-graph-TOUBW6OW.js} +13 -13
  115. package/dist/{fleet-inspect-QVJTDAVB.js → fleet-inspect-SW33JJNI.js} +43 -39
  116. package/dist/{fleet-preflight-25QAFPK4.js → fleet-preflight-CV2655TW.js} +2 -3
  117. package/dist/{fleet-validate-5O57AAJ7.js → fleet-validate-KESZX2YH.js} +16 -16
  118. package/dist/{fleet-verify-CPH2W2T6.js → fleet-verify-UQPMTVE3.js} +42 -38
  119. package/dist/{fleet-view-SWBR3VGQ.js → fleet-view-MN2VG4MR.js} +43 -39
  120. package/dist/{init-J477LKZH.js → init-PXEXQSBF.js} +60 -54
  121. package/dist/{interop-3FCM6XLG.js → interop-ZG5T62U3.js} +6 -7
  122. package/dist/inventory-C26CFDRR.js +101 -0
  123. package/dist/{library-QUQEIUG6.js → library-B2W4N74O.js} +16 -17
  124. package/dist/{memory-SGGSEP65.js → memory-YCANYS5A.js} +45 -42
  125. package/dist/{models-HEKUAXXK.js → models-GERTU3YI.js} +20 -22
  126. package/dist/{monitor-HKU57TYQ.js → monitor-CPNIUULB.js} +50 -44
  127. package/dist/{orchestrator-VDFAEFAI.js → orchestrator-J4BSH4WQ.js} +491 -1182
  128. package/dist/{panes-DN2SSFOH.js → panes-BOHAEGYC.js} +3 -3
  129. package/dist/{panes-TALGNPZT.js → panes-NXSLDQZ2.js} +5 -6
  130. package/dist/{paths-NBMFAIEZ.js → paths-VSUWNC22.js} +3 -4
  131. package/dist/{reset-EAJFFJVB.js → reset-TNWTB5LU.js} +5 -6
  132. package/dist/{resources-OVKSEFVE.js → resources-4PXNMD5G.js} +14 -14
  133. package/dist/{run-7DP7ZF2J.js → run-D6XJ34CN.js} +79 -83
  134. package/dist/{share-WML67FT3.js → share-2NWMJJEE.js} +14 -15
  135. package/dist/{skills-SG662R2K.js → skills-KR7WON5G.js} +18 -19
  136. package/dist/{skills-eval-VVZEUU46.js → skills-eval-O2ZNOLDS.js} +49 -46
  137. package/dist/{skills-inventory-I2E23GET.js → skills-inventory-ZZOUBK7O.js} +14 -14
  138. package/dist/{slash-commands-S7MBJDQK.js → slash-commands-ZXPJD64J.js} +32 -23
  139. package/dist/{steer-2LQOMCPB.js → steer-XA25PSCS.js} +3 -3
  140. package/dist/{support-CC2UJBJ6.js → support-7EMVWYG2.js} +2 -2
  141. package/dist/{targets-4QC3HIEW.js → targets-OMH2XCSN.js} +25 -27
  142. package/dist/tasks-IPAGMEIX.js +36 -0
  143. package/dist/{terminal-lease-TUHIJ6Y2.js → terminal-lease-C2J3JYRE.js} +4 -4
  144. package/dist/{tools-TFGJICCU.js → tools-EFFEAIDP.js} +5 -6
  145. package/dist/{uninstall-5PEVOE5B.js → uninstall-HALS6BLF.js} +7 -8
  146. package/dist/{upgrade-M4WXY6KN.js → upgrade-MS72RJEP.js} +14 -11
  147. package/dist/{usage-N7ZNVLEM.js → usage-NHG6MCJM.js} +60 -51
  148. package/dist/{verifiers-DJTP4XX6.js → verifiers-7AUNVXDY.js} +150 -17
  149. package/dist/{verify-RWE4PPEK.js → verify-FWYGPKMR.js} +12 -10
  150. package/dist/{web-fetch-MPARV2K7.js → web-fetch-V4FKSDAV.js} +4 -4
  151. package/dist/{wiki-generate-C7IQOXSP.js → wiki-generate-743CIGJW.js} +63 -56
  152. package/dist/{with-panes-4GCGSL7J.js → with-panes-BDQEWBRT.js} +2 -2
  153. package/dist/worker/entry.js +36 -33
  154. package/docs/README.md +3 -2
  155. package/docs/architecture/acp.md +17 -0
  156. package/docs/architecture/artifact-versions.md +1 -1
  157. package/docs/architecture/dispatch-typed-intent.md +1 -1
  158. package/docs/architecture/evidence-and-memory.md +1 -1
  159. package/docs/architecture/observability.md +7 -1
  160. package/docs/architecture/prompt-envelope-and-tools.md +15 -5
  161. package/docs/architecture/safety-model.md +10 -17
  162. package/docs/architecture/tui-design.md +1 -1
  163. package/docs/guide/built-in-agents.md +8 -8
  164. package/docs/guide/commands-and-modes.md +17 -2
  165. package/docs/guide/configuration-and-targets.md +3 -1
  166. package/docs/guide/configuration-reference.md +10 -5
  167. package/docs/guide/environment-variables.md +2 -2
  168. package/docs/guide/tool-usage.md +78 -3
  169. package/docs/history/config-knobs-audit.md +2 -2
  170. package/docs/process/development-pipeline.md +6 -1
  171. package/docs/process/git-commit-provenance.md +15 -0
  172. package/docs/process/release-cut-checklist.md +207 -0
  173. package/docs/process/scientific-validation.md +18 -17
  174. package/evals/behavioral-machinery-support.ts +1 -0
  175. package/evals/behavioral-machinery.yaml +1 -1
  176. package/package.json +1 -1
  177. package/skills/coding/coding-standards/SKILL.md +14 -4
  178. package/skills/context/context-handoff/SKILL.md +3 -3
  179. package/skills/context/context-prime/SKILL.md +3 -3
  180. package/skills/planning/architecture/SKILL.md +5 -5
  181. package/skills/planning/backlog/SKILL.md +4 -4
  182. package/skills/planning/prd/SKILL.md +4 -3
  183. package/skills/planning/product-intent/SKILL.md +8 -8
  184. package/skills/planning/tech-spec/SKILL.md +4 -4
  185. package/skills/registry.yaml +32 -32
  186. package/skills/research/arxiv-literature/SKILL.md +3 -3
  187. package/skills/research/experiment-protocol/SKILL.md +3 -3
  188. package/skills/research/scientific-debugging/SKILL.md +3 -2
  189. package/skills/research/scientific-modernization/SKILL.md +3 -3
  190. package/skills/skill-marketplace.json +16 -16
  191. package/skills/workflow/cut-it/SKILL.md +3 -4
  192. package/skills/workflow/design-council/SKILL.md +5 -10
  193. package/skills/workflow/grill-me/SKILL.md +14 -15
  194. package/skills/workflow/workflow-distiller/SKILL.md +4 -4
  195. package/src/cli/args.ts +0 -8
  196. package/src/cli/configure.ts +2 -1
  197. package/src/cli/doctor-state-size.ts +1 -12
  198. package/src/cli/doctor-validation-contract.ts +28 -0
  199. package/src/cli/doctor.ts +5 -0
  200. package/src/cli/evidence-detail.ts +1 -75
  201. package/src/cli/evidence-inventory.ts +1 -167
  202. package/src/cli/index.ts +2 -0
  203. package/src/cli/run.ts +0 -2
  204. package/src/cli/targets.ts +1 -1
  205. package/src/cli/tasks.ts +84 -0
  206. package/src/cli/upgrade.ts +10 -5
  207. package/src/cli/usage.ts +6 -0
  208. package/src/cli/verifiers.ts +147 -1
  209. package/src/cli/wiki-generate.ts +1 -0
  210. package/src/core/commit-attribution.ts +41 -1
  211. package/src/core/git-commit-attribution.ts +46 -3
  212. package/src/core/run-overrides.ts +0 -5
  213. package/src/core/skill-activation.ts +3 -0
  214. package/src/core/tool-names.ts +5 -2
  215. package/src/domains/agents/builtins/architect.md +1 -1
  216. package/src/domains/agents/builtins/coder.md +1 -1
  217. package/src/domains/agents/builtins/documenter.md +1 -1
  218. package/src/domains/agents/builtins/git-master.md +1 -1
  219. package/src/domains/agents/builtins/provenance.md +7 -7
  220. package/src/domains/agents/builtins/tester.md +1 -1
  221. package/src/domains/agents/builtins/verifier.md +2 -2
  222. package/src/domains/agents/builtins/wiki-writer.md +4 -3
  223. package/src/domains/context/extension.ts +31 -7
  224. package/src/domains/context/refresh.ts +3 -0
  225. package/src/domains/context/wiki/frontmatter.ts +5 -2
  226. package/src/domains/context/wiki/generate.ts +6 -0
  227. package/src/domains/context/wiki/prompts.ts +43 -0
  228. package/src/domains/dispatch/active-route-planner.ts +4 -0
  229. package/src/domains/dispatch/code-step.ts +11 -4
  230. package/src/domains/dispatch/contract.ts +31 -7
  231. package/src/domains/dispatch/execution-scheduler.ts +2 -0
  232. package/src/domains/dispatch/extension.ts +50 -27
  233. package/src/domains/dispatch/fleet-commit-attribution.ts +5 -0
  234. package/src/domains/dispatch/fleet-run.ts +1 -0
  235. package/src/domains/dispatch/host-verification.ts +114 -13
  236. package/src/domains/dispatch/intent.ts +28 -18
  237. package/src/domains/dispatch/orphan-recovery.ts +2 -0
  238. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  239. package/src/domains/dispatch/reservation-store.ts +5 -3
  240. package/src/domains/dispatch/state.ts +15 -2
  241. package/src/domains/dispatch/types.ts +17 -2
  242. package/src/domains/eval/runners/clio-run.ts +12 -9
  243. package/src/domains/eval/runners/context-index.ts +2 -7
  244. package/src/domains/eval/runners/context-init.ts +3 -6
  245. package/src/domains/eval/runners/external-command.ts +29 -11
  246. package/src/domains/evidence/build.ts +102 -15
  247. package/src/domains/evidence/detail.ts +69 -0
  248. package/src/domains/evidence/eval.ts +13 -1
  249. package/src/domains/evidence/finish-contract-map.ts +5 -1
  250. package/src/domains/evidence/inventory.ts +167 -0
  251. package/src/domains/evidence/store.ts +16 -0
  252. package/src/domains/evidence/types.ts +12 -0
  253. package/src/domains/extensions/resources.ts +7 -0
  254. package/src/domains/middleware/marketplace-offer.ts +20 -1
  255. package/src/domains/middleware/runtime.ts +7 -3
  256. package/src/domains/mux/detect.ts +3 -6
  257. package/src/domains/observability/accountability.ts +15 -1
  258. package/src/domains/observability/contract.ts +52 -7
  259. package/src/domains/observability/evidence-index.ts +10 -0
  260. package/src/domains/observability/extension.ts +9 -5
  261. package/src/domains/observability/projection.ts +394 -45
  262. package/src/{interactive → domains/observability}/worker-progress.ts +3 -3
  263. package/src/domains/prompts/fragments/operating/contract.md +2 -0
  264. package/src/domains/prompts/fragments/wiki/page.md +8 -0
  265. package/src/domains/providers/model-discovery.ts +1 -4
  266. package/src/domains/providers/models/local-models/clio-coder-local-coding-targets.yaml +16 -14
  267. package/src/domains/providers/runtimes/claude/claude-code.ts +9 -0
  268. package/src/domains/providers/support.ts +1 -1
  269. package/src/domains/providers/types/runtime-descriptor.ts +1 -1
  270. package/src/domains/safety/action-classifier.ts +7 -0
  271. package/src/domains/safety/default-path-policy.ts +2 -0
  272. package/src/domains/safety/finish-contract-registration.ts +29 -14
  273. package/src/domains/safety/finish-contract.ts +252 -40
  274. package/src/domains/safety/index.ts +20 -1
  275. package/src/domains/safety/policy-engine.ts +26 -6
  276. package/src/domains/safety/rigor.ts +53 -39
  277. package/src/domains/safety/validation-contract.ts +388 -0
  278. package/src/domains/session/archive-readers.ts +10 -1
  279. package/src/domains/session/decision-board.ts +101 -2
  280. package/src/domains/session/entries.ts +44 -7
  281. package/src/domains/session/extension.ts +4 -4
  282. package/src/domains/session/handoff.ts +2 -1
  283. package/src/domains/session/manager.ts +2 -3
  284. package/src/domains/session/task-board.ts +14 -1
  285. package/src/domains/session/tree/fork.ts +1 -2
  286. package/src/domains/session/tree/navigator.ts +1 -1
  287. package/src/domains/user-tasks/acceptance.ts +56 -0
  288. package/src/domains/user-tasks/active-acceptance.ts +40 -0
  289. package/src/domains/user-tasks/store.ts +34 -3
  290. package/src/engine/acp/adapter.ts +24 -6
  291. package/src/engine/acp/server.ts +21 -4
  292. package/src/engine/acp/transport.ts +53 -8
  293. package/src/engine/acp/types.ts +4 -0
  294. package/src/engine/apis/ollama-native.ts +15 -0
  295. package/src/engine/claude/subprocess-runtime.ts +107 -60
  296. package/src/engine/external-subprocess.ts +12 -4
  297. package/src/entry/orchestrator.ts +11 -2
  298. package/src/interactive/dispatch-board.ts +46 -717
  299. package/src/interactive/fleet-run-preview.ts +2 -1
  300. package/src/interactive/interactive-application.ts +3 -2
  301. package/src/interactive/interactive-presentation.ts +55 -12
  302. package/src/interactive/interactive-slash-runtime.ts +2 -1
  303. package/src/interactive/oracle.ts +5 -2
  304. package/src/interactive/overlays/fleet-run-approval.ts +3 -2
  305. package/src/interactive/overlays/message-picker.ts +2 -2
  306. package/src/interactive/overlays/settings.ts +2 -2
  307. package/src/interactive/overlays/tree-selector.ts +2 -2
  308. package/src/interactive/renderers/branch-summary.ts +1 -1
  309. package/src/interactive/slash-autocomplete.ts +4 -6
  310. package/src/interactive/slash-commands.ts +25 -39
  311. package/src/interactive/slash-spec.ts +28 -0
  312. package/src/interactive/view/artifacts.ts +2 -0
  313. package/src/interactive/worker-stream.ts +7 -3
  314. package/src/tools/bootstrap.ts +4 -0
  315. package/src/tools/builtin-tool-catalog.ts +31 -0
  316. package/src/tools/compete-worktrees.ts +7 -1
  317. package/src/tools/core-bootstrap.ts +16 -0
  318. package/src/tools/decide.ts +136 -0
  319. package/src/tools/dispatch-admission.ts +21 -0
  320. package/src/tools/dispatch-plan.ts +5 -2
  321. package/src/tools/dispatch-runner.ts +15 -1
  322. package/src/tools/dispatch-types.ts +6 -0
  323. package/src/tools/evidence.ts +96 -0
  324. package/src/tools/limitation.ts +76 -0
  325. package/src/tools/policy.ts +9 -0
  326. package/src/tools/presentation.ts +3 -0
  327. package/src/tools/registry.ts +1 -1
  328. package/src/tools/result-shaping.ts +17 -5
  329. package/src/tools/task-worktree.ts +13 -3
  330. package/src/tools/tasks.ts +10 -1
  331. package/src/tools/verify/authoring.ts +170 -83
  332. package/src/tools/verify/catalog.ts +122 -5
  333. package/src/tools/verify/index.ts +2 -1
  334. package/src/tools/verify/numeric.ts +298 -0
  335. package/src/tools/verify/perf.ts +143 -0
  336. package/src/tools/verify/scripts.ts +229 -2
  337. package/dist/chunk-7DICMOS6.js +0 -313
  338. package/dist/chunk-RVG5JXAL.js +0 -41
  339. package/dist/chunk-T56WDKA5.js +0 -183
  340. package/dist/chunk-VPKWYKEY.js +0 -169
@@ -1,22 +1,22 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  discoverAgentRecipes
4
- } from "./chunk-RRNP2ANY.js";
4
+ } from "./chunk-7UGL4MB5.js";
5
5
  import {
6
6
  compileFleetExecutionPlan
7
- } from "./chunk-E3TPLWFX.js";
7
+ } from "./chunk-LTIKRKFL.js";
8
8
  import {
9
9
  loadFleetCommands,
10
10
  loadFleetContract,
11
11
  renderFleetPrompt
12
- } from "./chunk-2VIKGWFZ.js";
12
+ } from "./chunk-OEJSLEPW.js";
13
13
  import {
14
14
  requestExecutionRole,
15
15
  withAttemptRole
16
16
  } from "./chunk-H7IXIC72.js";
17
17
  import {
18
18
  normalizeAgentSpec
19
- } from "./chunk-B4OAX3SI.js";
19
+ } from "./chunk-KFV5L5SK.js";
20
20
  import {
21
21
  readSettings
22
22
  } from "./chunk-GHS5EBTQ.js";
@@ -105,4 +105,4 @@ function inspectFleet(name, vars) {
105
105
  export {
106
106
  inspectFleet
107
107
  };
108
- //# sourceMappingURL=chunk-OML5D5V5.js.map
108
+ //# sourceMappingURL=chunk-ELWDPP3Y.js.map
@@ -20,7 +20,7 @@ var import_yaml = __toESM(require_dist(), 1);
20
20
  import { existsSync } from "node:fs";
21
21
  import { isAbsolute, join, normalize, relative } from "node:path";
22
22
  var FRONTMATTER_BLOCK = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/;
23
- var LIST_FIELDS = ["sources", "symbols", "tests", "invariants", "validate"];
23
+ var LIST_FIELDS = ["sources", "symbols", "tests", "invariants", "validate", "decisions"];
24
24
  var SUMMARY_MAX_CHARS = 240;
25
25
  function isRecord(value) {
26
26
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -92,7 +92,8 @@ ${block}`, { schema: "core", uniqueKeys: true });
92
92
  symbols: stringList(authored.symbols),
93
93
  tests: [],
94
94
  invariants: stringList(authored.invariants),
95
- validate: stringList(authored.validate)
95
+ validate: stringList(authored.validate),
96
+ ...authored.decisions === void 0 ? {} : { decisions: stringList(authored.decisions) }
96
97
  };
97
98
  const unresolvedPaths = [];
98
99
  for (const field of ["sources", "tests"]) {
@@ -113,7 +114,7 @@ function renderList(name, values) {
113
114
  function renderFrontmatter(metadata) {
114
115
  const lines = [`title: ${JSON.stringify(metadata.title)}`];
115
116
  if (metadata.summary.length > 0) lines.push(`summary: ${JSON.stringify(metadata.summary)}`);
116
- for (const field of LIST_FIELDS) lines.push(...renderList(field, metadata[field]));
117
+ for (const field of LIST_FIELDS) lines.push(...renderList(field, metadata[field] ?? []));
117
118
  return `---
118
119
  ${lines.join("\n")}
119
120
  ---
@@ -638,4 +639,4 @@ export {
638
639
  wikiStaleness,
639
640
  wikiStalenessAsync
640
641
  };
641
- //# sourceMappingURL=chunk-NDINPTJ4.js.map
642
+ //# sourceMappingURL=chunk-ELZVTCGV.js.map
@@ -0,0 +1,381 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ discoverDeclaredChecksAtRoot,
4
+ discoverDeclaredProjectEntriesAtRoot
5
+ } from "./chunk-K6T2ZAMZ.js";
6
+ import {
7
+ printError
8
+ } from "./chunk-JCI2ROMZ.js";
9
+ import {
10
+ DISPATCH_INTENT_TIMEOUT_MIN_MS,
11
+ normalizeIntentExpectedOutputs,
12
+ normalizeIntentVerification
13
+ } from "./chunk-IRXAATOX.js";
14
+ import {
15
+ packageDeclaredCheck
16
+ } from "./chunk-DXKJURES.js";
17
+ import {
18
+ CLIO_PROJECT_DIR
19
+ } from "./chunk-GYV6VZOC.js";
20
+ import {
21
+ atomicWrite
22
+ } from "./chunk-HAXOFFRH.js";
23
+ import {
24
+ init_esm_shims
25
+ } from "./chunk-3R73A4XB.js";
26
+
27
+ // src/cli/tasks.ts
28
+ init_esm_shims();
29
+
30
+ // src/domains/user-tasks/store.ts
31
+ init_esm_shims();
32
+ import { existsSync, readFileSync } from "node:fs";
33
+ import { join } from "node:path";
34
+
35
+ // src/domains/user-tasks/acceptance.ts
36
+ init_esm_shims();
37
+ function normalizeUserTaskAcceptance(raw) {
38
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
39
+ throw new Error("acceptance must be an object");
40
+ }
41
+ const value = raw;
42
+ if (Object.keys(value).some((key) => key !== "expectedOutputs" && key !== "verification")) {
43
+ throw new Error("acceptance contains an unknown field");
44
+ }
45
+ if (!Array.isArray(value.expectedOutputs) || !Array.isArray(value.verification)) {
46
+ throw new Error("acceptance requires expectedOutputs and verification arrays");
47
+ }
48
+ const checks = /* @__PURE__ */ new Map();
49
+ const rawVerification = value.verification.map((entry) => {
50
+ if (entry === null || typeof entry !== "object" || Array.isArray(entry)) {
51
+ throw new Error("acceptance verification must contain check and timeoutMs");
52
+ }
53
+ const item = entry;
54
+ if (Object.keys(item).some((key) => key !== "check" && key !== "timeoutMs")) {
55
+ throw new Error("acceptance verification contains an unknown field");
56
+ }
57
+ if (typeof item.check !== "string" || typeof item.timeoutMs !== "number" || !Number.isSafeInteger(item.timeoutMs) || item.timeoutMs <= 0) {
58
+ throw new Error("acceptance verification requires a check and a positive integer timeoutMs");
59
+ }
60
+ checks.set(item.check.trim(), {
61
+ id: item.check.trim(),
62
+ timeoutMs: Math.max(DISPATCH_INTENT_TIMEOUT_MIN_MS, item.timeoutMs, checks.get(item.check.trim())?.timeoutMs ?? 0)
63
+ });
64
+ return { check: item.check, timeout_ms: item.timeoutMs };
65
+ });
66
+ const expectedOutputs = normalizeIntentExpectedOutputs(value.expectedOutputs);
67
+ if (!Array.isArray(expectedOutputs))
68
+ throw new Error(expectedOutputs.ok ? "invalid acceptance outputs" : expectedOutputs.message);
69
+ const verification = normalizeIntentVerification(rawVerification, checks);
70
+ if (!Array.isArray(verification))
71
+ throw new Error(verification.ok ? "invalid acceptance verification" : verification.message);
72
+ return { expectedOutputs, verification };
73
+ }
74
+
75
+ // src/domains/user-tasks/store.ts
76
+ var USER_TASKS_FILE_VERSION = 1;
77
+ var USER_TASKS_RELATIVE_PATH = `${CLIO_PROJECT_DIR}/user-tasks.json`;
78
+ var UserTasksStoreError = class extends Error {
79
+ constructor(message, options) {
80
+ super(message, options);
81
+ this.name = "UserTasksStoreError";
82
+ }
83
+ };
84
+ var USER_TASK_STATUSES = ["open", "handed", "picked", "done", "dropped"];
85
+ var FILE_KEYS = /* @__PURE__ */ new Set(["version", "nextId", "tasks"]);
86
+ var TASK_KEYS = /* @__PURE__ */ new Set([
87
+ "id",
88
+ "title",
89
+ "note",
90
+ "acceptance",
91
+ "status",
92
+ "createdAt",
93
+ "updatedAt",
94
+ "handedSessionId",
95
+ "boardTaskId"
96
+ ]);
97
+ function isRecord(value) {
98
+ return typeof value === "object" && value !== null && !Array.isArray(value);
99
+ }
100
+ function hasOnlyKeys(value, allowed) {
101
+ return Object.keys(value).every((key) => allowed.has(key));
102
+ }
103
+ function isOptionalString(value) {
104
+ return value === void 0 || typeof value === "string";
105
+ }
106
+ function isUserTask(value) {
107
+ if (!isRecord(value) || !hasOnlyKeys(value, TASK_KEYS)) return false;
108
+ if (value.acceptance !== void 0) {
109
+ try {
110
+ normalizeUserTaskAcceptance(value.acceptance);
111
+ } catch {
112
+ return false;
113
+ }
114
+ }
115
+ return typeof value.id === "string" && /^u[1-9]\d*$/.test(value.id) && typeof value.title === "string" && value.title.trim().length > 0 && typeof value.status === "string" && USER_TASK_STATUSES.includes(value.status) && typeof value.createdAt === "string" && typeof value.updatedAt === "string" && isOptionalString(value.note) && isOptionalString(value.handedSessionId) && isOptionalString(value.boardTaskId);
116
+ }
117
+ function parseFile(body, path) {
118
+ let parsed;
119
+ try {
120
+ parsed = JSON.parse(body);
121
+ } catch (error) {
122
+ throw new UserTasksStoreError(`user tasks file is corrupt JSON: ${path}`, { cause: error });
123
+ }
124
+ if (!isRecord(parsed) || !hasOnlyKeys(parsed, FILE_KEYS)) {
125
+ throw new UserTasksStoreError(`user tasks file has an invalid top-level shape: ${path}`);
126
+ }
127
+ if (parsed.version !== USER_TASKS_FILE_VERSION || !Number.isSafeInteger(parsed.nextId) || parsed.nextId < 1 || !Array.isArray(parsed.tasks) || !parsed.tasks.every(isUserTask)) {
128
+ throw new UserTasksStoreError(`user tasks file failed schema validation: ${path}`);
129
+ }
130
+ const ids = /* @__PURE__ */ new Set();
131
+ let maxId = 0;
132
+ for (const task of parsed.tasks) {
133
+ if (ids.has(task.id)) throw new UserTasksStoreError(`user tasks file contains duplicate id ${task.id}: ${path}`);
134
+ ids.add(task.id);
135
+ maxId = Math.max(maxId, Number(task.id.slice(1)));
136
+ }
137
+ if (parsed.nextId <= maxId) {
138
+ throw new UserTasksStoreError(`user tasks file nextId would reuse an existing id: ${path}`);
139
+ }
140
+ return {
141
+ version: USER_TASKS_FILE_VERSION,
142
+ nextId: parsed.nextId,
143
+ tasks: parsed.tasks.map(copyTask)
144
+ };
145
+ }
146
+ function copyTask(task) {
147
+ return { ...task, ...task.acceptance ? { acceptance: normalizeUserTaskAcceptance(task.acceptance) } : {} };
148
+ }
149
+ function initialFile() {
150
+ return { version: USER_TASKS_FILE_VERSION, nextId: 1, tasks: [] };
151
+ }
152
+ function createUserTasksStore(deps) {
153
+ const path = join(deps.cwd, USER_TASKS_RELATIVE_PATH);
154
+ const exists = deps.exists ?? existsSync;
155
+ const read = deps.read ?? ((target) => readFileSync(target, "utf8"));
156
+ const write = deps.write ?? ((target, body) => atomicWrite(target, body));
157
+ const now = () => (deps.now?.() ?? /* @__PURE__ */ new Date()).toISOString();
158
+ const load = () => {
159
+ if (!exists(path)) return initialFile();
160
+ try {
161
+ return parseFile(read(path), path);
162
+ } catch (error) {
163
+ if (error instanceof UserTasksStoreError) throw error;
164
+ throw new UserTasksStoreError(`could not read user tasks file: ${path}`, { cause: error });
165
+ }
166
+ };
167
+ const save = (file) => {
168
+ try {
169
+ write(path, `${JSON.stringify(file, null, 2)}
170
+ `);
171
+ } catch (error) {
172
+ throw new UserTasksStoreError(`could not write user tasks file: ${path}`, { cause: error });
173
+ }
174
+ };
175
+ const mutate = (id, allowed, status, sessionId) => {
176
+ const file = load();
177
+ const index = file.tasks.findIndex((task) => task.id === id);
178
+ const current = file.tasks[index];
179
+ if (!current) throw new UserTasksStoreError(`operator task ${id} was not found`);
180
+ if (!allowed.includes(current.status)) {
181
+ throw new UserTasksStoreError(`operator task ${id} is ${current.status}; it cannot move to ${status}`);
182
+ }
183
+ const updated = { ...current, status, updatedAt: now() };
184
+ if (status === "handed" && sessionId) updated.handedSessionId = sessionId;
185
+ file.tasks[index] = updated;
186
+ save(file);
187
+ return copyTask(updated);
188
+ };
189
+ const recordLink = (id, status, sessionId, boardTaskId) => {
190
+ const file = load();
191
+ const index = file.tasks.findIndex((task) => task.id === id);
192
+ const current = file.tasks[index];
193
+ if (!current) throw new UserTasksStoreError(`operator task ${id} was not found`);
194
+ if (current.status === "done" || current.status === "dropped") {
195
+ throw new UserTasksStoreError(`operator task ${id} is ${current.status}; it cannot move to ${status}`);
196
+ }
197
+ const updated = {
198
+ ...current,
199
+ status,
200
+ updatedAt: now(),
201
+ handedSessionId: sessionId,
202
+ boardTaskId
203
+ };
204
+ file.tasks[index] = updated;
205
+ save(file);
206
+ return copyTask(updated);
207
+ };
208
+ return {
209
+ path,
210
+ snapshot() {
211
+ return load().tasks.map(copyTask);
212
+ },
213
+ get(id) {
214
+ const task = load().tasks.find((candidate) => candidate.id === id);
215
+ return task ? copyTask(task) : null;
216
+ },
217
+ add(title, note, acceptance) {
218
+ const normalizedAcceptance = acceptance === void 0 ? void 0 : normalizeAcceptance(acceptance);
219
+ const normalizedTitle = title.trim();
220
+ if (normalizedTitle.length === 0) throw new UserTasksStoreError("operator task title cannot be empty");
221
+ const normalizedNote = note?.trim();
222
+ const file = load();
223
+ const timestamp = now();
224
+ const task = {
225
+ id: `u${file.nextId}`,
226
+ title: normalizedTitle,
227
+ ...normalizedNote ? { note: normalizedNote } : {},
228
+ ...normalizedAcceptance ? { acceptance: normalizedAcceptance } : {},
229
+ status: "open",
230
+ createdAt: timestamp,
231
+ updatedAt: timestamp
232
+ };
233
+ file.nextId += 1;
234
+ file.tasks.push(task);
235
+ save(file);
236
+ return copyTask(task);
237
+ },
238
+ setAcceptance(id, acceptance) {
239
+ const normalized = normalizeAcceptance(acceptance);
240
+ const file = load();
241
+ const task = file.tasks.find((item) => item.id === id);
242
+ if (!task) throw new UserTasksStoreError(`operator task ${id} was not found`);
243
+ task.acceptance = normalized;
244
+ task.updatedAt = now();
245
+ save(file);
246
+ return copyTask(task);
247
+ },
248
+ hand(id, sessionId) {
249
+ return mutate(id, ["open"], "handed", sessionId);
250
+ },
251
+ done(id) {
252
+ return mutate(id, ["open", "handed", "picked"], "done");
253
+ },
254
+ drop(id) {
255
+ return mutate(id, ["open", "handed", "picked"], "dropped");
256
+ },
257
+ recordPicked(id, sessionId, boardTaskId) {
258
+ return recordLink(id, "picked", sessionId, boardTaskId);
259
+ },
260
+ recordDone(id, sessionId, boardTaskId) {
261
+ return recordLink(id, "done", sessionId, boardTaskId);
262
+ },
263
+ reconcile(links, sessionId) {
264
+ const file = load();
265
+ let changed = false;
266
+ for (const [index, current] of file.tasks.entries()) {
267
+ if (current.status === "done" || current.status === "dropped") continue;
268
+ const candidates = links.filter((link2) => link2.userTaskId === current.id);
269
+ const completed = candidates.find((link2) => link2.status === "completed");
270
+ const open = candidates.find((link2) => link2.status === "active" || link2.status === "pending");
271
+ const link = completed ?? open;
272
+ if (link) {
273
+ const status = completed ? "done" : "picked";
274
+ if (current.status !== status || current.boardTaskId !== link.boardTaskId || current.handedSessionId !== sessionId) {
275
+ file.tasks[index] = {
276
+ ...current,
277
+ status,
278
+ boardTaskId: link.boardTaskId,
279
+ handedSessionId: sessionId,
280
+ updatedAt: now()
281
+ };
282
+ changed = true;
283
+ }
284
+ continue;
285
+ }
286
+ if (current.status === "picked" && current.handedSessionId === sessionId) {
287
+ const repaired = { ...current, status: "handed", updatedAt: now() };
288
+ delete repaired.boardTaskId;
289
+ file.tasks[index] = repaired;
290
+ changed = true;
291
+ }
292
+ }
293
+ if (changed) save(file);
294
+ return file.tasks.map(copyTask);
295
+ }
296
+ };
297
+ }
298
+ function normalizeAcceptance(raw) {
299
+ try {
300
+ return normalizeUserTaskAcceptance(raw);
301
+ } catch (error) {
302
+ throw new UserTasksStoreError(error instanceof Error ? error.message : String(error), { cause: error });
303
+ }
304
+ }
305
+
306
+ // src/cli/tasks.ts
307
+ function acceptanceFromTaskFlags(cwd, expectedOutputs, verify) {
308
+ if (expectedOutputs.length === 0 && verify.length === 0) return void 0;
309
+ const discovery = discoverDeclaredChecksAtRoot(cwd, void 0);
310
+ if (!discovery.ok) throw new Error(discovery.reason);
311
+ const checks = new Map(
312
+ discovery.sources.flatMap((source) => source.checks.map((check) => [check.id, check]))
313
+ );
314
+ for (const entry of discoverDeclaredProjectEntriesAtRoot(cwd)) {
315
+ if (entry.kind === "package-script" && !checks.has(entry.id))
316
+ checks.set(entry.id, packageDeclaredCheck(entry.id, entry.path, ".", []));
317
+ }
318
+ const verification = verify.map((value) => {
319
+ const suffix = checks.has(value) ? null : /^(.*):([0-9]+)$/.exec(value);
320
+ const check = suffix?.[1] ?? value;
321
+ if (!checks.has(check))
322
+ throw new Error(
323
+ `Unknown verification check '${check}'. Known ids: ${[...checks.keys()].sort().join(", ") || "(none)"}`
324
+ );
325
+ return { check, ...suffix ? { timeout_ms: Number(suffix[2]) } : {} };
326
+ });
327
+ const outputs = normalizeIntentExpectedOutputs(expectedOutputs);
328
+ if (!Array.isArray(outputs)) throw new Error(outputs.ok ? "invalid expected outputs" : outputs.message);
329
+ const normalized = normalizeIntentVerification(verification, checks);
330
+ if (!Array.isArray(normalized)) throw new Error(normalized.ok ? "invalid verification" : normalized.message);
331
+ return { expectedOutputs: outputs, verification: normalized };
332
+ }
333
+ var HELP = `Usage:
334
+ clio-coder tasks [list]
335
+ clio-coder tasks add [--expect <path>] [--verify <checkId>[:timeoutMs]] <text>
336
+ clio-coder tasks hand|done|drop <uN>
337
+
338
+ --expect and --verify are repeatable. Check ids must be declared in package.json or .clio-coder/verifiers.yaml.`;
339
+ function runTasksCommand(args) {
340
+ try {
341
+ if (args.includes("--help") || args.includes("-h")) {
342
+ console.log(HELP);
343
+ return 0;
344
+ }
345
+ const store = createUserTasksStore({ cwd: process.cwd() });
346
+ const [action = "list", ...rest] = args;
347
+ if (action === "add") {
348
+ const expected = [], verify = [], title = [];
349
+ for (let index = 0; index < rest.length; index++) {
350
+ const token = rest[index] ?? "";
351
+ if (token === "--") {
352
+ title.push(...rest.slice(index + 1));
353
+ break;
354
+ }
355
+ if (token === "--expect" || token === "--verify") {
356
+ const value = rest[++index];
357
+ if (!value || value.startsWith("--")) throw new Error(`${token} requires a value`);
358
+ (token === "--expect" ? expected : verify).push(value);
359
+ } else if (token.startsWith("--")) throw new Error(`Unknown flag ${token}`);
360
+ else title.push(token);
361
+ }
362
+ const task = store.add(title.join(" "), void 0, acceptanceFromTaskFlags(process.cwd(), expected, verify));
363
+ console.log(`logged operator task ${task.id}: ${task.title}`);
364
+ } else if (action === "list" && rest.length === 0) {
365
+ console.log(JSON.stringify(store.snapshot(), null, 2));
366
+ } else if ((action === "hand" || action === "done" || action === "drop") && rest.length === 1) {
367
+ console.log(JSON.stringify(store[action](rest[0] ?? ""), null, 2));
368
+ } else throw new Error(HELP);
369
+ return 0;
370
+ } catch (error) {
371
+ printError(error instanceof Error ? error.message : String(error));
372
+ return 1;
373
+ }
374
+ }
375
+
376
+ export {
377
+ createUserTasksStore,
378
+ acceptanceFromTaskFlags,
379
+ runTasksCommand
380
+ };
381
+ //# sourceMappingURL=chunk-EXLD33WO.js.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
2
  import {
3
3
  appendOutOfTurnUsageRow
4
- } from "./chunk-VA5FNYMT.js";
4
+ } from "./chunk-JT2RFCC5.js";
5
5
  import {
6
6
  extractReasoningTokens
7
7
  } from "./chunk-NZMNUPZZ.js";
@@ -98,4 +98,4 @@ export {
98
98
  recordFailedCompactionCalls,
99
99
  summarizeFailedCompactionUsage
100
100
  };
101
- //# sourceMappingURL=chunk-IJNZMHLA.js.map
101
+ //# sourceMappingURL=chunk-FEAXX7B6.js.map