@iowarp/clio-coder 0.3.4 → 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 (265) hide show
  1. package/CHANGELOG.md +37 -2
  2. package/CONTRIBUTING.md +6 -6
  3. package/README.md +2 -2
  4. package/dist/{acp-S5R4RR5B.js → acp-2BEHC4DL.js} +4 -4
  5. package/dist/{agents-P6DMMVZY.js → agents-LNNFTM53.js} +13 -11
  6. package/dist/assets/codewiki.json +1 -1
  7. package/dist/{auth-2XCZLPKS.js → auth-KXXFI2VS.js} +6 -6
  8. package/dist/{chunk-YCWGATWI.js → chunk-24I7BN55.js} +2 -2
  9. package/dist/{chunk-EKMEHE4H.js → chunk-33YXPOE3.js} +2 -3
  10. package/dist/chunk-3BPUFZDL.js +37 -0
  11. package/dist/{chunk-WPQLXFOZ.js → chunk-43AOLP7E.js} +2 -2
  12. package/dist/{chunk-N4CZJQRK.js → chunk-5JGRAMKL.js} +4 -4
  13. package/dist/{chunk-BRXQQJFP.js → chunk-6US73PDB.js} +568 -47
  14. package/dist/{chunk-K6WL7QZT.js → chunk-6XXKFVSN.js} +2 -2
  15. package/dist/{chunk-QQK64KLB.js → chunk-CJUB2JJ2.js} +138 -20
  16. package/dist/{chunk-HV5X7OR2.js → chunk-CKXWIANG.js} +12 -12
  17. package/dist/{chunk-UZHIZC5S.js → chunk-CYQKWTG3.js} +61 -76
  18. package/dist/{chunk-QWU7ZBO7.js → chunk-DJVECN66.js} +204 -45
  19. package/dist/{chunk-ZWMF7253.js → chunk-E2ER4LJF.js} +304 -9
  20. package/dist/{chunk-7RXG6QRZ.js → chunk-EKY57CSP.js} +2 -75
  21. package/dist/{chunk-EDRHSCIE.js → chunk-EYPA3EGJ.js} +10 -2
  22. package/dist/{chunk-TTNYS3EA.js → chunk-G7MUEIGA.js} +1 -1
  23. package/dist/{chunk-BPGS2WCQ.js → chunk-GEYXPTRF.js} +2 -1
  24. package/dist/{chunk-BEY543CS.js → chunk-GOXNB3AO.js} +5 -2
  25. package/dist/{chunk-G4BMMOKF.js → chunk-HVDIIIQW.js} +2 -2
  26. package/dist/chunk-HWUFFB6L.js +83 -0
  27. package/dist/{chunk-35MKKU5R.js → chunk-K7T3E2SR.js} +15 -8
  28. package/dist/{chunk-VAWWTKDP.js → chunk-KHSFENX2.js} +2 -2
  29. package/dist/chunk-LCGCVYZ4.js +57 -0
  30. package/dist/{chunk-X6COSD2O.js → chunk-LYF7OHWH.js} +41 -14
  31. package/dist/{chunk-POHLU5DW.js → chunk-M6L6IDJG.js} +3 -3
  32. package/dist/{chunk-X4RCMKVQ.js → chunk-NDINPTJ4.js} +2 -2
  33. package/dist/{chunk-5M54SPOL.js → chunk-ODFEOB4F.js} +161 -5
  34. package/dist/{chunk-3JLKSKD7.js → chunk-OH3TOQTB.js} +5 -1
  35. package/dist/{chunk-MEQ45TQ4.js → chunk-PBTHKCPN.js} +18 -4
  36. package/dist/{chunk-ED4KHGC3.js → chunk-PPAMZ32Z.js} +9 -2
  37. package/dist/{chunk-QQL5RT5M.js → chunk-QM3F2GKX.js} +94 -36
  38. package/dist/{chunk-A2GZF7DC.js → chunk-QNQHSOLF.js} +4 -4
  39. package/dist/{chunk-KRPY7NTG.js → chunk-R46L2BIR.js} +3 -3
  40. package/dist/{chunk-BP4OYD6A.js → chunk-RY3LY4J5.js} +20 -2
  41. package/dist/{chunk-34475P3I.js → chunk-TSHXZTOQ.js} +5 -4
  42. package/dist/{chunk-VJWL6YS5.js → chunk-UUVG37B4.js} +2 -2
  43. package/dist/{chunk-2TZWSW76.js → chunk-WHGPSPT5.js} +2 -2
  44. package/dist/{chunk-TW3WDMVS.js → chunk-WHJYKASB.js} +2 -2
  45. package/dist/{chunk-YHZX5GEU.js → chunk-XAKHZX5N.js} +2 -2
  46. package/dist/{chunk-HXG4IURW.js → chunk-XE2VEJHX.js} +2 -2
  47. package/dist/{chunk-3HZ5RWN2.js → chunk-XF5N4U5A.js} +7 -6
  48. package/dist/{chunk-ZYKPLLNQ.js → chunk-XXQNGV4M.js} +590 -32
  49. package/dist/{chunk-4JUF2NNX.js → chunk-XYDYPRZI.js} +4 -4
  50. package/dist/{chunk-VMNQ6OZA.js → chunk-ZRGEBJ4T.js} +971 -794
  51. package/dist/{chunk-2LZI5CAG.js → chunk-ZXF4XRKW.js} +75 -33
  52. package/dist/{chunk-VSNATDE6.js → chunk-ZZMN5OM4.js} +2 -2
  53. package/dist/cli/index.js +31 -31
  54. package/dist/{clio-J5JIOIDS.js → clio-M2KGYUFZ.js} +2 -2
  55. package/dist/{code-nav-AXCXSBHX.js → code-nav-GQNL7XA6.js} +5 -5
  56. package/dist/codewiki/build-worker.js +4 -4
  57. package/dist/{components-KELWS457.js → components-5TTYYX6G.js} +3 -3
  58. package/dist/{config-OEBMIN2U.js → config-XUUYQIWO.js} +27 -25
  59. package/dist/{configure-PUQOSIXQ.js → configure-IHJ7YOMV.js} +7 -7
  60. package/dist/{context-URSXPBCK.js → context-74JLXAWD.js} +12 -12
  61. package/dist/{context-MGSE4Z2T.js → context-75MIWW3U.js} +24 -22
  62. package/dist/{context-EKDCKUUZ.js → context-ZQ7SIFJV.js} +8 -7
  63. package/dist/{context-clear-KDAJRNUK.js → context-clear-GYKWNUML.js} +24 -22
  64. package/dist/{context-index-BZ4UYMTC.js → context-index-SSR5ECNE.js} +3 -3
  65. package/dist/{context-working-set-SBKMPPI2.js → context-working-set-UX5KEP4J.js} +11 -10
  66. package/dist/{dispatch-runner-MSWN72NK.js → dispatch-runner-GIJBHNFL.js} +21 -20
  67. package/dist/{docs-2C2LTVT2.js → docs-6FZSCG5B.js} +3 -3
  68. package/dist/{doctor-7BSE27PJ.js → doctor-SVJ5BZCW.js} +4 -4
  69. package/dist/{eval-IZGDOO4H.js → eval-CG6LLBLD.js} +47 -232
  70. package/dist/{evidence-SR7WXB5B.js → evidence-ZYFIEN42.js} +19 -18
  71. package/dist/{evolve-K7VE2CBX.js → evolve-QGEXEMDW.js} +19 -18
  72. package/dist/{extensions-QVDOHDGJ.js → extensions-ADGNCJJD.js} +3 -3
  73. package/dist/{fleet-7XMJNQNF.js → fleet-S5R4ZOQY.js} +49 -30
  74. package/dist/{fleet-preflight-AQNAH644.js → fleet-preflight-BHSNPBMH.js} +2 -2
  75. package/dist/{init-JGNPAYXT.js → init-5DRU55YR.js} +31 -29
  76. package/dist/memory-7YKKR6UC.js +467 -0
  77. package/dist/{models-ZMMLFJNN.js → models-ZPOLRU2C.js} +10 -10
  78. package/dist/{monitor-2F3T5KHP.js → monitor-US5F5YGZ.js} +33 -18
  79. package/dist/{orchestrator-ORHT43JB.js → orchestrator-E2AL4T5N.js} +1092 -659
  80. package/dist/{paths-UXLN5YYZ.js → paths-E7KYAQWE.js} +3 -3
  81. package/dist/{reset-NXGTYNUO.js → reset-KZ652EK6.js} +3 -3
  82. package/dist/{run-RF4WJGMT.js → run-SRNBKDWD.js} +52 -40
  83. package/dist/{share-UT3W6E4M.js → share-CGZE33UP.js} +3 -3
  84. package/dist/{skills-PSACKC5Q.js → skills-S2X4DLY5.js} +4 -4
  85. package/dist/{skills-eval-WJSI55RZ.js → skills-eval-W2GGIC4R.js} +19 -18
  86. package/dist/{targets-PIIRAOYS.js → targets-54SWINWB.js} +14 -12
  87. package/dist/{terminal-lease-ULWXWNVY.js → terminal-lease-SAIF2OGY.js} +5 -4
  88. package/dist/{uninstall-FZCQCDKC.js → uninstall-BVLWXKBT.js} +3 -3
  89. package/dist/{upgrade-346TZ6AV.js → upgrade-JKAR27XC.js} +8 -8
  90. package/dist/{usage-6KKXR32N.js → usage-MSAWCLX4.js} +60 -27
  91. package/dist/{verifiers-4UUM6TEE.js → verifiers-NCBTHHN2.js} +60 -54
  92. package/dist/{wiki-generate-7STOCIFZ.js → wiki-generate-GUSOQ6ZP.js} +30 -28
  93. package/dist/worker/entry.js +69 -58
  94. package/dist/{workspace-G4ZWUIPR.js → workspace-ZJ6BFM3Q.js} +4 -4
  95. package/docs/README.md +3 -3
  96. package/docs/acp.md +1 -1
  97. package/docs/alcf-provider.md +1 -1
  98. package/docs/architecture.md +2 -2
  99. package/docs/artifact-placement.md +1 -2
  100. package/docs/artifact-versions.md +1 -1
  101. package/docs/built-in-agents.md +1 -1
  102. package/docs/capacity-and-scheduling.md +1 -1
  103. package/docs/commands-and-modes.md +9 -7
  104. package/docs/configuration-and-targets.md +12 -1
  105. package/docs/context-engine.md +4 -2
  106. package/docs/context-working-set.md +4 -4
  107. package/docs/development-pipeline.md +1 -1
  108. package/docs/documentation-coverage.md +3 -3
  109. package/docs/documentation-guide.md +2 -2
  110. package/docs/eval-runner.md +1 -1
  111. package/docs/evals-internal.md +4 -45
  112. package/docs/evidence-and-memory.md +67 -7
  113. package/docs/evolution.md +1 -1
  114. package/docs/exit-codes-and-output.md +1 -1
  115. package/docs/extensions-and-sharing.md +2 -2
  116. package/docs/fleet-dispatch.md +28 -2
  117. package/docs/installation-and-lifecycle.md +2 -2
  118. package/docs/middleware-and-components.md +19 -2
  119. package/docs/model-catalog.md +1 -1
  120. package/docs/observability.md +3 -3
  121. package/docs/proactive-memory.md +26 -16
  122. package/docs/prompt-envelope-and-tools.md +4 -2
  123. package/docs/provider-adapter-cookbook.md +1 -1
  124. package/docs/release-cut-checklist.md +38 -35
  125. package/docs/safety-model.md +29 -7
  126. package/docs/scientific-validation.md +3 -3
  127. package/docs/session-lifecycle.md +1 -1
  128. package/docs/skills-marketplace.md +1 -1
  129. package/docs/tool-usage.md +2 -2
  130. package/docs/trace-store.md +1 -1
  131. package/docs/troubleshooting.md +1 -1
  132. package/docs/tui-design.md +38 -4
  133. package/docs/worker-dispatch-mechanics.md +1 -1
  134. package/package.json +7 -4
  135. package/src/cli/agents.ts +2 -3
  136. package/src/cli/argv.ts +14 -1
  137. package/src/cli/fleet.ts +15 -0
  138. package/src/cli/index.ts +1 -1
  139. package/src/cli/memory.ts +272 -10
  140. package/src/cli/modes/json-stream.ts +2 -2
  141. package/src/cli/modes/print.ts +12 -1
  142. package/src/cli/run.ts +22 -2
  143. package/src/cli/targets.ts +12 -3
  144. package/src/cli/usage.ts +55 -7
  145. package/src/core/bus-events.ts +3 -0
  146. package/src/core/response-model-id.ts +134 -0
  147. package/src/core/toml.ts +62 -0
  148. package/src/core/workspace-files.ts +0 -1
  149. package/src/domains/agents/builtins/architect.md +1 -1
  150. package/src/domains/agents/catalog.ts +5 -4
  151. package/src/domains/agents/recipe.ts +54 -14
  152. package/src/domains/agents/result-contract.ts +7 -4
  153. package/src/domains/context/bootstrap.ts +36 -27
  154. package/src/domains/context/project-metadata.ts +19 -63
  155. package/src/domains/context/prompt-context.ts +8 -0
  156. package/src/domains/context/working-set/policies/index.ts +3 -4
  157. package/src/domains/dispatch/budget-envelope.ts +396 -0
  158. package/src/domains/dispatch/contract.ts +2 -0
  159. package/src/domains/dispatch/extension.ts +81 -27
  160. package/src/domains/dispatch/orphan-recovery.ts +1 -0
  161. package/src/domains/dispatch/receipt-integrity.ts +4 -0
  162. package/src/domains/dispatch/state.ts +1 -0
  163. package/src/domains/dispatch/types.ts +10 -3
  164. package/src/domains/dispatch/validation.ts +14 -0
  165. package/src/domains/dispatch/worker-spawn.ts +14 -3
  166. package/src/domains/eval/metrics/evidence.ts +0 -116
  167. package/src/domains/eval/metrics/invariants.ts +1 -1
  168. package/src/domains/eval/runners/clio-run.ts +1 -10
  169. package/src/domains/eval/runners/external-command.ts +2 -29
  170. package/src/domains/eval/schema/suite.ts +0 -7
  171. package/src/domains/eval/suites/run.ts +1 -7
  172. package/src/domains/memory/index.ts +22 -0
  173. package/src/domains/memory/operations.ts +58 -1
  174. package/src/domains/memory/promotion.ts +281 -0
  175. package/src/domains/memory/prompt-section.ts +25 -5
  176. package/src/domains/memory/proposal.ts +51 -7
  177. package/src/domains/memory/task-bank.ts +3 -2
  178. package/src/domains/memory/task-memory-handoff.ts +181 -24
  179. package/src/domains/memory/task-memory-policy.ts +3 -1
  180. package/src/domains/memory/types.ts +37 -0
  181. package/src/domains/memory/validate.ts +178 -0
  182. package/src/domains/middleware/memory-intervention.ts +35 -25
  183. package/src/domains/middleware/runtime.ts +6 -0
  184. package/src/domains/middleware/skills-reminder.ts +19 -4
  185. package/src/domains/middleware/stalled-turn.ts +43 -1
  186. package/src/domains/middleware/types.ts +10 -0
  187. package/src/domains/observability/contract.ts +6 -1
  188. package/src/domains/observability/cost.ts +20 -4
  189. package/src/domains/observability/extension.ts +2 -2
  190. package/src/domains/providers/index.ts +3 -0
  191. package/src/domains/providers/model-discovery.ts +9 -0
  192. package/src/domains/providers/runtime-resolution.ts +38 -1
  193. package/src/domains/providers/runtimes/common/probe-helpers.ts +97 -16
  194. package/src/domains/providers/types/context-window-slots.ts +18 -0
  195. package/src/domains/providers/types/runtime-descriptor.ts +3 -1
  196. package/src/domains/safety/call-target.ts +211 -14
  197. package/src/domains/safety/decision-presentation.ts +268 -0
  198. package/src/domains/safety/redaction.ts +73 -0
  199. package/src/domains/session/context-ledger.ts +10 -1
  200. package/src/domains/session/decision-board.ts +4 -0
  201. package/src/domains/session/entries.ts +3 -0
  202. package/src/domains/session/history.ts +68 -19
  203. package/src/domains/session/usage.ts +24 -7
  204. package/src/engine/acp/event-mapper.ts +7 -0
  205. package/src/engine/acp/server.ts +29 -2
  206. package/src/engine/apis/lmstudio.ts +25 -4
  207. package/src/engine/apis/openai-completions.ts +147 -22
  208. package/src/engine/claude/sdk-runtime.ts +8 -2
  209. package/src/engine/claude/tool-safety.ts +13 -0
  210. package/src/engine/loop-guard.ts +27 -3
  211. package/src/engine/worker-events.ts +4 -3
  212. package/src/engine/worker-runtime.ts +59 -54
  213. package/src/entry/orchestrator.ts +18 -1
  214. package/src/interactive/chat-loop-messages.ts +22 -0
  215. package/src/interactive/chat-loop.ts +13 -0
  216. package/src/interactive/chat-renderer.ts +19 -3
  217. package/src/interactive/clio-editor.ts +44 -7
  218. package/src/interactive/context-overlay.ts +43 -5
  219. package/src/interactive/cost-overlay.ts +39 -8
  220. package/src/interactive/dispatch-board.ts +212 -35
  221. package/src/interactive/footer/widgets.ts +13 -0
  222. package/src/interactive/interactive-application.ts +6 -1
  223. package/src/interactive/interactive-input-runtime.ts +11 -1
  224. package/src/interactive/interactive-presentation.ts +11 -1
  225. package/src/interactive/memory-overlay.ts +89 -4
  226. package/src/interactive/overlay-ask-user-lifecycle.ts +1 -1
  227. package/src/interactive/overlay-frame.ts +5 -2
  228. package/src/interactive/overlay-general-openers.ts +40 -1
  229. package/src/interactive/overlay-key-routing.ts +41 -1
  230. package/src/interactive/overlay-lifecycle.ts +11 -4
  231. package/src/interactive/overlay-permission-lifecycle.ts +23 -8
  232. package/src/interactive/overlay-transitions.ts +11 -0
  233. package/src/interactive/overlays/ask-user.ts +74 -30
  234. package/src/interactive/overlays/decisions.ts +3 -1
  235. package/src/interactive/permission-hint.ts +35 -0
  236. package/src/interactive/permission-overlay.ts +95 -45
  237. package/src/interactive/renderers/tool-execution.ts +19 -49
  238. package/src/interactive/session-last-turn.ts +8 -1
  239. package/src/interactive/session-usage-reseed.ts +36 -10
  240. package/src/interactive/slash-commands.ts +2 -2
  241. package/src/interactive/status/summary.ts +5 -0
  242. package/src/interactive/status/types.ts +5 -0
  243. package/src/interactive/terminal-lease.ts +1 -0
  244. package/src/interactive/turn-context.ts +96 -23
  245. package/src/interactive/turn-middleware.ts +1 -0
  246. package/src/interactive/turn-runtime.ts +37 -8
  247. package/src/interactive/turn-state.ts +3 -0
  248. package/src/interactive/worker-progress.ts +440 -0
  249. package/src/interactive/worker-stream.ts +51 -110
  250. package/src/tools/agent-tools.ts +28 -3
  251. package/src/tools/ask-user.ts +21 -1
  252. package/src/tools/context/index.ts +2 -2
  253. package/src/tools/dispatch-arguments.ts +8 -0
  254. package/src/tools/dispatch-event-text.ts +19 -0
  255. package/src/tools/dispatch.ts +24 -1
  256. package/src/tools/monitor.ts +15 -0
  257. package/src/tools/registry.ts +15 -5
  258. package/src/tools/result-disposition.ts +156 -0
  259. package/src/tools/result-shaping.ts +59 -1
  260. package/src/tools/verify/authoring.ts +55 -54
  261. package/src/tools/worker-evidence.ts +19 -0
  262. package/src/worker/spec-contract.ts +43 -3
  263. package/dist/chunk-EFADSJET.js +0 -18
  264. package/dist/memory-4ALKDJ4Q.js +0 -246
  265. package/src/domains/eval/metrics/chaos-stream.ts +0 -93
@@ -4,19 +4,22 @@ import {
4
4
  } from "./chunk-HC4CLZ2Y.js";
5
5
  import {
6
6
  loadMemoryRecordsSync
7
- } from "./chunk-BRXQQJFP.js";
8
- import "./chunk-QQL5RT5M.js";
7
+ } from "./chunk-6US73PDB.js";
8
+ import "./chunk-QM3F2GKX.js";
9
9
  import {
10
+ addResponseModelIdObservationCount,
11
+ emptyResponseModelIdObservationCounts,
10
12
  ledgerUsageCalls,
11
13
  listSessionLedgerRefs,
12
14
  parseSessionEntries,
13
- readAuditRows
14
- } from "./chunk-QQK64KLB.js";
15
+ readAuditRows,
16
+ responseModelIdObservationCountsLabel
17
+ } from "./chunk-CJUB2JJ2.js";
15
18
  import "./chunk-QKMUKYO7.js";
16
- import "./chunk-3JLKSKD7.js";
17
- import "./chunk-34475P3I.js";
19
+ import "./chunk-OH3TOQTB.js";
20
+ import "./chunk-TSHXZTOQ.js";
18
21
  import "./chunk-TXOTCRLG.js";
19
- import "./chunk-G4BMMOKF.js";
22
+ import "./chunk-HVDIIIQW.js";
20
23
  import "./chunk-MFFY33HR.js";
21
24
  import {
22
25
  loadSkills
@@ -24,10 +27,10 @@ import {
24
27
  import "./chunk-2SFS6XQE.js";
25
28
  import "./chunk-ZWLZP4ZT.js";
26
29
  import "./chunk-W6GROXXM.js";
27
- import "./chunk-2TZWSW76.js";
28
- import "./chunk-ZYKPLLNQ.js";
29
- import "./chunk-WPQLXFOZ.js";
30
- import "./chunk-7RXG6QRZ.js";
30
+ import "./chunk-WHGPSPT5.js";
31
+ import "./chunk-XXQNGV4M.js";
32
+ import "./chunk-43AOLP7E.js";
33
+ import "./chunk-EKY57CSP.js";
31
34
  import "./chunk-22NAGB7X.js";
32
35
  import "./chunk-AOCYTWAV.js";
33
36
  import "./chunk-MV3K5QF2.js";
@@ -37,22 +40,23 @@ import "./chunk-FYYLNIL5.js";
37
40
  import "./chunk-UL3WSD3F.js";
38
41
  import "./chunk-OQE5J4C6.js";
39
42
  import "./chunk-ECH6PKUQ.js";
40
- import "./chunk-BEY543CS.js";
41
- import "./chunk-5M54SPOL.js";
43
+ import "./chunk-GOXNB3AO.js";
44
+ import "./chunk-HWUFFB6L.js";
45
+ import "./chunk-ODFEOB4F.js";
42
46
  import "./chunk-OZNBF4L3.js";
43
47
  import "./chunk-4BJ5BYCE.js";
44
48
  import "./chunk-6XLNIQDB.js";
45
49
  import "./chunk-5B2AEOW5.js";
46
50
  import "./chunk-CGKSTWHD.js";
47
- import "./chunk-YHZX5GEU.js";
48
- import "./chunk-EKMEHE4H.js";
49
- import "./chunk-YCWGATWI.js";
51
+ import "./chunk-XAKHZX5N.js";
52
+ import "./chunk-33YXPOE3.js";
53
+ import "./chunk-24I7BN55.js";
50
54
  import {
51
55
  formatColumns,
52
56
  printError
53
- } from "./chunk-ED4KHGC3.js";
57
+ } from "./chunk-PPAMZ32Z.js";
54
58
  import "./chunk-5TSRNF4G.js";
55
- import "./chunk-QWU7ZBO7.js";
59
+ import "./chunk-DJVECN66.js";
56
60
  import "./chunk-CFGTUFWB.js";
57
61
  import "./chunk-AD2SYQYC.js";
58
62
  import "./chunk-4OC57DA6.js";
@@ -63,7 +67,7 @@ import "./chunk-FQ4SKYE4.js";
63
67
  import "./chunk-IKCO5N3L.js";
64
68
  import "./chunk-3I7MS7N2.js";
65
69
  import "./chunk-IHXBNWMM.js";
66
- import "./chunk-BPGS2WCQ.js";
70
+ import "./chunk-GEYXPTRF.js";
67
71
  import "./chunk-SST6Z5JA.js";
68
72
  import {
69
73
  cwdHash
@@ -80,7 +84,7 @@ import {
80
84
  import "./chunk-6EJMN2Y3.js";
81
85
  import "./chunk-WEPFGWHJ.js";
82
86
  import "./chunk-ZGVHUX3M.js";
83
- import "./chunk-TTNYS3EA.js";
87
+ import "./chunk-G7MUEIGA.js";
84
88
  import "./chunk-7CR24IG7.js";
85
89
  import "./chunk-IWHMRKLL.js";
86
90
  import {
@@ -127,6 +131,9 @@ function emptyUsageTotals() {
127
131
  costUsd: 0
128
132
  };
129
133
  }
134
+ function addResponseModelIdObservation(counts, call) {
135
+ addResponseModelIdObservationCount(counts, call.responseModelIdObservation, call.apiCalls ?? 1);
136
+ }
130
137
  function addUsageCall(totals, call) {
131
138
  totals.apiCalls += call.apiCalls ?? 1;
132
139
  totals.input += call.input;
@@ -314,12 +321,16 @@ async function runUsageCommand(argv) {
314
321
  for (const session of sessions) {
315
322
  for (const call of session.usageCalls) {
316
323
  addUsageCall(usageTotals, call);
317
- const key = `${call.providerId}::${call.modelId}`;
324
+ const key = `${call.providerId}::${call.attributedModelId}`;
318
325
  const entry = usageByModel.get(key) ?? {
319
326
  providerId: call.providerId,
320
- modelId: call.modelId,
327
+ attributedModelId: call.attributedModelId,
328
+ requestedModelIds: /* @__PURE__ */ new Set(),
329
+ responseModelIdObservationCounts: emptyResponseModelIdObservationCounts(),
321
330
  totals: emptyUsageTotals()
322
331
  };
332
+ entry.requestedModelIds.add(call.requestedModelId);
333
+ addResponseModelIdObservation(entry.responseModelIdObservationCounts, call);
323
334
  addUsageCall(entry.totals, call);
324
335
  usageByModel.set(key, entry);
325
336
  }
@@ -396,7 +407,15 @@ async function runUsageCommand(argv) {
396
407
  if (presence.sessionsPresent) {
397
408
  emit({ kind: "fact", fact: "tokens", ...usageTotals });
398
409
  for (const row of usageRows) {
399
- emit({ kind: "fact", fact: "model-usage", providerId: row.providerId, modelId: row.modelId, ...row.totals });
410
+ emit({
411
+ kind: "fact",
412
+ fact: "model-usage",
413
+ providerId: row.providerId,
414
+ attributedModelId: row.attributedModelId,
415
+ requestedModelIds: [...row.requestedModelIds].sort(),
416
+ responseModelIdObservationCounts: row.responseModelIdObservationCounts,
417
+ ...row.totals
418
+ });
400
419
  }
401
420
  }
402
421
  for (const [tool, totals] of topTools) emit({ kind: "fact", fact: "top-tool", tool, ...totals });
@@ -452,14 +471,28 @@ async function runUsageCommand(argv) {
452
471
  }
453
472
  if (usageRows.length > 0) {
454
473
  out("");
455
- out(" tokens by model (from session ledgers, provider-reported)");
474
+ out(" tokens by attributed model (from session ledgers and provider-reported usage)");
456
475
  process.stdout.write(
457
476
  indent(
458
477
  formatColumns([
459
- ["provider", "model", "calls", "input", "output", "cache read", "reasoning", "tokens", "cost"],
478
+ [
479
+ "provider",
480
+ "attributed model",
481
+ "requested model ids",
482
+ "response model id observation",
483
+ "calls",
484
+ "input",
485
+ "output",
486
+ "cache read",
487
+ "reasoning",
488
+ "tokens",
489
+ "cost"
490
+ ],
460
491
  ...usageRows.map((row) => [
461
492
  row.providerId,
462
- row.modelId,
493
+ row.attributedModelId,
494
+ [...row.requestedModelIds].sort().join(","),
495
+ responseModelIdObservationCountsLabel(row.responseModelIdObservationCounts),
463
496
  String(row.totals.apiCalls),
464
497
  String(row.totals.input),
465
498
  String(row.totals.output),
@@ -801,4 +834,4 @@ export {
801
834
  inWindow,
802
835
  runUsageCommand
803
836
  };
804
- //# sourceMappingURL=usage-6KKXR32N.js.map
837
+ //# sourceMappingURL=usage-MSAWCLX4.js.map
@@ -1,4 +1,8 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ parseTomlDocument,
4
+ tomlTableAt
5
+ } from "./chunk-LCGCVYZ4.js";
2
6
  import {
3
7
  discoverDeclaredChecksAtRoot,
4
8
  verifyTool
@@ -24,7 +28,7 @@ import "./chunk-CGKSTWHD.js";
24
28
  import {
25
29
  printError,
26
30
  printOk
27
- } from "./chunk-ED4KHGC3.js";
31
+ } from "./chunk-PPAMZ32Z.js";
28
32
  import "./chunk-5TSRNF4G.js";
29
33
  import {
30
34
  SAFE_EXEC_DEFAULT_TIMEOUT_MS,
@@ -166,8 +170,13 @@ function cargoProposals(workspaceRoot, diagnostics) {
166
170
  diagnostics.push(`${relative}: ${text.message}; Cargo discovery skipped.`);
167
171
  return [];
168
172
  }
169
- const workspace = /^\s*\[workspace(?:\]|\.)/mu.test(text);
170
- const packageManifest = /^\s*\[package\]/mu.test(text);
173
+ const document = parseTomlDocument(text);
174
+ if (document === null) {
175
+ diagnostics.push(`${relative}: invalid TOML; Cargo discovery skipped.`);
176
+ return [];
177
+ }
178
+ const workspace = tomlTableAt(document, ["workspace"]) !== null;
179
+ const packageManifest = tomlTableAt(document, ["package"]) !== null;
171
180
  if (!workspace && !packageManifest) {
172
181
  diagnostics.push(`${relative}: no [package] or [workspace] declaration was found; Cargo discovery skipped.`);
173
182
  return [];
@@ -240,71 +249,68 @@ function cmakeProposals(workspaceRoot, diagnostics) {
240
249
  if (proposals.length === 0) diagnostics.push(`${relative}: no visible buildPresets or testPresets were declared.`);
241
250
  return proposals;
242
251
  }
243
- function tomlSections(text) {
244
- const sections = /* @__PURE__ */ new Map();
245
- let active = "";
246
- for (const line of text.split(/\r?\n/u)) {
247
- const header = /^\s*\[([^\]]+)\]\s*(?:#.*)?$/u.exec(line);
248
- if (header?.[1] !== void 0) {
249
- active = header[1].trim();
250
- if (!sections.has(active)) sections.set(active, []);
251
- continue;
252
- }
253
- if (active.length > 0) sections.get(active)?.push(line);
254
- }
255
- return sections;
256
- }
257
- function declaredScriptName(line) {
258
- const match = /^\s*(?:"([^"]+)"|'([^']+)'|([A-Za-z0-9_.:-]+))\s*=\s*(?:"[^"]+"|'[^']+')\s*(?:#.*)?$/u.exec(line);
259
- return match?.[1] ?? match?.[2] ?? match?.[3] ?? null;
260
- }
261
252
  function pythonProposals(workspaceRoot, diagnostics) {
262
253
  const proposals = [];
263
254
  const pyprojectPath = "pyproject.toml";
264
255
  const pyproject = regularFileText(path.join(workspaceRoot, pyprojectPath), workspaceRoot);
265
256
  if (pyproject instanceof Error) diagnostics.push(`${pyprojectPath}: ${pyproject.message}; Python discovery skipped.`);
266
257
  if (typeof pyproject === "string") {
267
- const sections = tomlSections(pyproject);
268
- for (const [section, module, id, description, tags2] of [
269
- ["tool.pytest.ini_options", "pytest", "python-pytest", "Run the declared pytest suite", ["python", "test"]],
270
- ["tool.tox", "tox", "python-tox", "Run the declared tox environments", ["python", "test"]],
271
- ["tool.nox", "nox", "python-nox", "Run the declared nox sessions", ["python", "test"]]
272
- ]) {
273
- if (!sections.has(section)) continue;
274
- proposals.push({
275
- preferredId: id,
276
- description,
277
- command: ["python", "-m", module],
278
- cwd: ".",
279
- timeoutMs: SAFE_EXEC_DEFAULT_TIMEOUT_MS,
280
- tags: [...tags2],
281
- provenance: {
282
- kind: "python-runner",
283
- path: pyprojectPath,
284
- detail: `[${section}]`,
285
- authority: "toolchain-defined"
286
- }
287
- });
288
- }
289
- for (const section of ["project.scripts", "tool.poetry.scripts"]) {
290
- for (const line of sections.get(section) ?? []) {
291
- const name = declaredScriptName(line);
292
- if (name === null || !isVerificationScriptName(name)) continue;
258
+ const document = parseTomlDocument(pyproject);
259
+ if (document === null) {
260
+ diagnostics.push(`${pyprojectPath}: invalid TOML; Python discovery skipped.`);
261
+ } else {
262
+ for (const [path2, section, module, id, description, tags2] of [
263
+ [
264
+ ["tool", "pytest", "ini_options"],
265
+ "tool.pytest.ini_options",
266
+ "pytest",
267
+ "python-pytest",
268
+ "Run the declared pytest suite",
269
+ ["python", "test"]
270
+ ],
271
+ [["tool", "tox"], "tool.tox", "tox", "python-tox", "Run the declared tox environments", ["python", "test"]],
272
+ [["tool", "nox"], "tool.nox", "nox", "python-nox", "Run the declared nox sessions", ["python", "test"]]
273
+ ]) {
274
+ if (tomlTableAt(document, path2) === null) continue;
293
275
  proposals.push({
294
- preferredId: `python-${slug(name, "check")}`,
295
- description: `Run declared Python entry point '${name}'`,
296
- command: [name],
276
+ preferredId: id,
277
+ description,
278
+ command: ["python", "-m", module],
297
279
  cwd: ".",
298
280
  timeoutMs: SAFE_EXEC_DEFAULT_TIMEOUT_MS,
299
- tags: [slug(name.split(/[:.-]/u)[0] ?? "python", "python"), "python"],
281
+ tags: [...tags2],
300
282
  provenance: {
301
283
  kind: "python-runner",
302
284
  path: pyprojectPath,
303
- detail: `[${section}] entry '${name}'`,
304
- authority: "project-declared"
285
+ detail: `[${section}]`,
286
+ authority: "toolchain-defined"
305
287
  }
306
288
  });
307
289
  }
290
+ for (const [path2, section] of [
291
+ [["project", "scripts"], "project.scripts"],
292
+ [["tool", "poetry", "scripts"], "tool.poetry.scripts"]
293
+ ]) {
294
+ const scripts = tomlTableAt(document, path2);
295
+ if (scripts === null) continue;
296
+ for (const [name, target] of Object.entries(scripts)) {
297
+ if (typeof target !== "string" || !isVerificationScriptName(name)) continue;
298
+ proposals.push({
299
+ preferredId: `python-${slug(name, "check")}`,
300
+ description: `Run declared Python entry point '${name}'`,
301
+ command: [name],
302
+ cwd: ".",
303
+ timeoutMs: SAFE_EXEC_DEFAULT_TIMEOUT_MS,
304
+ tags: [slug(name.split(/[:.-]/u)[0] ?? "python", "python"), "python"],
305
+ provenance: {
306
+ kind: "python-runner",
307
+ path: pyprojectPath,
308
+ detail: `[${section}] entry '${name}'`,
309
+ authority: "project-declared"
310
+ }
311
+ });
312
+ }
313
+ }
308
314
  }
309
315
  }
310
316
  for (const [relative, marker, module, id, description] of [
@@ -1211,4 +1217,4 @@ async function runVerifiersCommand(argv) {
1211
1217
  export {
1212
1218
  runVerifiersCommand
1213
1219
  };
1214
- //# sourceMappingURL=verifiers-4UUM6TEE.js.map
1220
+ //# sourceMappingURL=verifiers-NCBTHHN2.js.map
@@ -5,18 +5,18 @@ import {
5
5
  import {
6
6
  SchedulingDomainModule,
7
7
  createPromptsDomainModule
8
- } from "./chunk-3HZ5RWN2.js";
8
+ } from "./chunk-XF5N4U5A.js";
9
9
  import {
10
10
  AgentsDomainModule,
11
11
  SafetyDomainModule
12
- } from "./chunk-X6COSD2O.js";
12
+ } from "./chunk-LYF7OHWH.js";
13
13
  import {
14
14
  ConfigDomainModule,
15
15
  loadDomains
16
- } from "./chunk-KRPY7NTG.js";
16
+ } from "./chunk-R46L2BIR.js";
17
17
  import {
18
18
  createObservabilityDomainModule
19
- } from "./chunk-35MKKU5R.js";
19
+ } from "./chunk-K7T3E2SR.js";
20
20
  import "./chunk-HC4CLZ2Y.js";
21
21
  import "./chunk-HFSBBKSQ.js";
22
22
  import "./chunk-E25LMLRW.js";
@@ -24,26 +24,27 @@ import {
24
24
  ContextDomainModule,
25
25
  buildWikiPagePrompt,
26
26
  buildWikiPlanPrompt
27
- } from "./chunk-UZHIZC5S.js";
27
+ } from "./chunk-CYQKWTG3.js";
28
+ import "./chunk-LCGCVYZ4.js";
28
29
  import "./chunk-5WIGXA4T.js";
29
- import "./chunk-BRXQQJFP.js";
30
+ import "./chunk-6US73PDB.js";
30
31
  import {
31
32
  DispatchDomainModule
32
- } from "./chunk-QQL5RT5M.js";
33
+ } from "./chunk-QM3F2GKX.js";
33
34
  import {
34
35
  SessionDomainModule
35
- } from "./chunk-QQK64KLB.js";
36
+ } from "./chunk-CJUB2JJ2.js";
36
37
  import "./chunk-QKMUKYO7.js";
37
- import "./chunk-3JLKSKD7.js";
38
- import "./chunk-34475P3I.js";
38
+ import "./chunk-OH3TOQTB.js";
39
+ import "./chunk-TSHXZTOQ.js";
39
40
  import "./chunk-TXOTCRLG.js";
40
- import "./chunk-G4BMMOKF.js";
41
+ import "./chunk-HVDIIIQW.js";
41
42
  import {
42
43
  MAX_PAGE_ATTEMPTS,
43
44
  pendingPages,
44
45
  readAuthoredWikiPlan,
45
46
  writeWikiPlanFile
46
- } from "./chunk-X4RCMKVQ.js";
47
+ } from "./chunk-NDINPTJ4.js";
47
48
  import "./chunk-MVVUPGPW.js";
48
49
  import {
49
50
  ResourcesDomainModule
@@ -54,13 +55,13 @@ import "./chunk-ZWLZP4ZT.js";
54
55
  import "./chunk-W6GROXXM.js";
55
56
  import {
56
57
  MiddlewareDomainModule
57
- } from "./chunk-2LZI5CAG.js";
58
+ } from "./chunk-ZXF4XRKW.js";
58
59
  import "./chunk-IR4CFBFN.js";
59
60
  import "./chunk-UOV2BYIW.js";
60
- import "./chunk-2TZWSW76.js";
61
- import "./chunk-ZYKPLLNQ.js";
62
- import "./chunk-WPQLXFOZ.js";
63
- import "./chunk-7RXG6QRZ.js";
61
+ import "./chunk-WHGPSPT5.js";
62
+ import "./chunk-XXQNGV4M.js";
63
+ import "./chunk-43AOLP7E.js";
64
+ import "./chunk-EKY57CSP.js";
64
65
  import "./chunk-22NAGB7X.js";
65
66
  import "./chunk-AOCYTWAV.js";
66
67
  import "./chunk-MV3K5QF2.js";
@@ -71,8 +72,9 @@ import "./chunk-UL3WSD3F.js";
71
72
  import "./chunk-VG7TBQIY.js";
72
73
  import "./chunk-OQE5J4C6.js";
73
74
  import "./chunk-ECH6PKUQ.js";
74
- import "./chunk-BEY543CS.js";
75
- import "./chunk-5M54SPOL.js";
75
+ import "./chunk-GOXNB3AO.js";
76
+ import "./chunk-HWUFFB6L.js";
77
+ import "./chunk-ODFEOB4F.js";
76
78
  import "./chunk-OZNBF4L3.js";
77
79
  import "./chunk-4BJ5BYCE.js";
78
80
  import "./chunk-6XLNIQDB.js";
@@ -80,15 +82,15 @@ import "./chunk-5B2AEOW5.js";
80
82
  import {
81
83
  ToolNames
82
84
  } from "./chunk-CGKSTWHD.js";
83
- import "./chunk-POHLU5DW.js";
84
- import "./chunk-YHZX5GEU.js";
85
- import "./chunk-VJWL6YS5.js";
85
+ import "./chunk-M6L6IDJG.js";
86
+ import "./chunk-XAKHZX5N.js";
87
+ import "./chunk-UUVG37B4.js";
86
88
  import "./chunk-LBMZMYH2.js";
87
- import "./chunk-EKMEHE4H.js";
89
+ import "./chunk-33YXPOE3.js";
88
90
  import {
89
91
  ProvidersDomainModule,
90
92
  canonicalizeWireModelId
91
- } from "./chunk-QWU7ZBO7.js";
93
+ } from "./chunk-DJVECN66.js";
92
94
  import "./chunk-CFGTUFWB.js";
93
95
  import "./chunk-AD2SYQYC.js";
94
96
  import "./chunk-4OC57DA6.js";
@@ -99,7 +101,7 @@ import "./chunk-FQ4SKYE4.js";
99
101
  import "./chunk-IKCO5N3L.js";
100
102
  import "./chunk-3I7MS7N2.js";
101
103
  import "./chunk-IHXBNWMM.js";
102
- import "./chunk-BPGS2WCQ.js";
104
+ import "./chunk-GEYXPTRF.js";
103
105
  import "./chunk-SST6Z5JA.js";
104
106
  import "./chunk-FO5ZOVUY.js";
105
107
  import "./chunk-R346GLFC.js";
@@ -110,9 +112,9 @@ import "./chunk-YXLYO42X.js";
110
112
  import "./chunk-BNAZZHFG.js";
111
113
  import "./chunk-6EJMN2Y3.js";
112
114
  import "./chunk-WEPFGWHJ.js";
113
- import "./chunk-HXG4IURW.js";
115
+ import "./chunk-XE2VEJHX.js";
114
116
  import "./chunk-ZGVHUX3M.js";
115
- import "./chunk-TTNYS3EA.js";
117
+ import "./chunk-G7MUEIGA.js";
116
118
  import "./chunk-JVCV3ICN.js";
117
119
  import "./chunk-7CR24IG7.js";
118
120
  import "./chunk-IWHMRKLL.js";
@@ -435,4 +437,4 @@ export {
435
437
  resolveDocumenterModelId,
436
438
  runWikiDispatch
437
439
  };
438
- //# sourceMappingURL=wiki-generate-7STOCIFZ.js.map
440
+ //# sourceMappingURL=wiki-generate-GUSOQ6ZP.js.map