@iowarp/clio-coder 0.3.6 → 0.3.8

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 (323) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +22 -6
  3. package/dist/{acp-2BEHC4DL.js → acp-U67UHUK2.js} +14 -14
  4. package/dist/{agents-LNNFTM53.js → agents-YU6SGALZ.js} +42 -35
  5. package/dist/assets/codewiki.json +1 -1
  6. package/dist/{auth-KXXFI2VS.js → auth-5ZPJOIVG.js} +32 -24
  7. package/dist/builtins-C6JMZVV6.js +17 -0
  8. package/dist/{chunk-E25LMLRW.js → chunk-26LEYJZH.js} +2 -2
  9. package/dist/{chunk-TSHXZTOQ.js → chunk-2HEJ2F35.js} +5 -5
  10. package/dist/{chunk-PBTHKCPN.js → chunk-2HFZQUHL.js} +7 -7
  11. package/dist/{chunk-FO5ZOVUY.js → chunk-3BINW3FP.js} +5 -5
  12. package/dist/{chunk-4OC57DA6.js → chunk-4DGYLA73.js} +53 -2
  13. package/dist/{chunk-CKXWIANG.js → chunk-4SPRNWDE.js} +18 -16
  14. package/dist/{chunk-E2ER4LJF.js → chunk-5C3AQNDW.js} +25 -1
  15. package/dist/{chunk-XF5N4U5A.js → chunk-5DHKRSMQ.js} +9 -8
  16. package/dist/{chunk-43AOLP7E.js → chunk-5FR74PWO.js} +2 -1
  17. package/dist/{chunk-EKY57CSP.js → chunk-5H3GB5BO.js} +68 -772
  18. package/dist/{chunk-6XXKFVSN.js → chunk-5Q2VVUKB.js} +4 -4
  19. package/dist/{chunk-DJVECN66.js → chunk-7RFXX52T.js} +295 -3705
  20. package/dist/{chunk-ZXF4XRKW.js → chunk-7RGZWPB6.js} +158 -8
  21. package/dist/{chunk-FYYLNIL5.js → chunk-A2NJGIB3.js} +2 -2
  22. package/dist/{chunk-XXQNGV4M.js → chunk-A3WNZD3P.js} +548 -72
  23. package/dist/{chunk-VEZEGCGW.js → chunk-B5CSFE7B.js} +23 -21
  24. package/dist/{chunk-2SFS6XQE.js → chunk-DGSYXYMX.js} +3 -2
  25. package/dist/chunk-DR52UMZW.js +21 -0
  26. package/dist/{chunk-ZWLZP4ZT.js → chunk-DYIM5TJT.js} +98 -12
  27. package/dist/{chunk-QKMUKYO7.js → chunk-E77JEWSD.js} +270 -125
  28. package/dist/{chunk-LYF7OHWH.js → chunk-EMYUUSFG.js} +12 -467
  29. package/dist/{chunk-4VP4KH3K.js → chunk-EQ63NRB7.js} +8 -8
  30. package/dist/chunk-FBVTI2TJ.js +518 -0
  31. package/dist/{chunk-R46L2BIR.js → chunk-FHJEP5SW.js} +19 -25
  32. package/dist/{chunk-WR67VIZY.js → chunk-GN57SG4G.js} +66 -8
  33. package/dist/{chunk-RD5U66HV.js → chunk-GPIEI3LY.js} +9 -9
  34. package/dist/{chunk-PCZJO5TI.js → chunk-GU2UIAFZ.js} +13 -178
  35. package/dist/chunk-GWS3VEIW.js +195 -0
  36. package/dist/chunk-H7IXIC72.js +103 -0
  37. package/dist/{chunk-3BPUFZDL.js → chunk-HLE42MG7.js} +3 -3
  38. package/dist/{chunk-24I7BN55.js → chunk-IFBNV6H6.js} +3 -3
  39. package/dist/{chunk-QNQHSOLF.js → chunk-IGWKHNIQ.js} +114 -55
  40. package/dist/chunk-IIZWH4XA.js +172 -0
  41. package/dist/{chunk-AD2SYQYC.js → chunk-IJ7RPIYJ.js} +124 -6
  42. package/dist/chunk-J3YUBZWY.js +382 -0
  43. package/dist/{chunk-5JGRAMKL.js → chunk-JOZYP4GM.js} +8 -6
  44. package/dist/{chunk-OH3TOQTB.js → chunk-K4XHGFR5.js} +751 -15
  45. package/dist/{chunk-EYPA3EGJ.js → chunk-KTYTFRMB.js} +178 -14
  46. package/dist/chunk-LU7P4LHA.js +33 -0
  47. package/dist/chunk-ME6CCNFO.js +108 -0
  48. package/dist/chunk-MXKJU4JB.js +1100 -0
  49. package/dist/{chunk-RY3LY4J5.js → chunk-N22QMJKY.js} +21 -18
  50. package/dist/chunk-NMPKI6XL.js +3006 -0
  51. package/dist/chunk-NUGM5KR6.js +165 -0
  52. package/dist/{chunk-22NAGB7X.js → chunk-P43ETTHK.js} +5 -94
  53. package/dist/{chunk-NILBFAPG.js → chunk-PMDBGQSJ.js} +2 -2
  54. package/dist/chunk-PT7HYKEM.js +165 -0
  55. package/dist/chunk-RVG5JXAL.js +41 -0
  56. package/dist/{chunk-GEYXPTRF.js → chunk-RWSI4YD7.js} +2 -2
  57. package/dist/{chunk-4BPJXDWC.js → chunk-TANS5ZJS.js} +35 -19
  58. package/dist/{verifiers-NCBTHHN2.js → chunk-TB5666IT.js} +67 -324
  59. package/dist/{chunk-QM3F2GKX.js → chunk-TLQJPP24.js} +7927 -8088
  60. package/dist/{chunk-G7MUEIGA.js → chunk-TT36MB5S.js} +2 -1
  61. package/dist/chunk-TTHACPOM.js +961 -0
  62. package/dist/{chunk-6US73PDB.js → chunk-TYPGUK6W.js} +7 -7
  63. package/dist/{chunk-MFFY33HR.js → chunk-U6MBIEMB.js} +554 -209
  64. package/dist/chunk-VAWNZU7Z.js +242 -0
  65. package/dist/{chunk-IR4CFBFN.js → chunk-VCBR6CU7.js} +12 -12
  66. package/dist/{chunk-WHJYKASB.js → chunk-VHN4MY6O.js} +2 -2
  67. package/dist/{chunk-XYDYPRZI.js → chunk-VWZOAB7K.js} +10 -10
  68. package/dist/{chunk-ZRGEBJ4T.js → chunk-WLFILSD5.js} +48 -48
  69. package/dist/{chunk-K7T3E2SR.js → chunk-WNIJTQQK.js} +12 -11
  70. package/dist/{chunk-CYQKWTG3.js → chunk-WSB3FPX7.js} +68 -20
  71. package/dist/{chunk-KHSFENX2.js → chunk-WWCZ5F23.js} +116 -14
  72. package/dist/{chunk-XE2VEJHX.js → chunk-WXY7KU3G.js} +2 -2
  73. package/dist/{chunk-PPAMZ32Z.js → chunk-XK56QHLX.js} +6 -1
  74. package/dist/{chunk-KOHPCX4K.js → chunk-XWSF374K.js} +5 -5
  75. package/dist/{chunk-CJUB2JJ2.js → chunk-YS5VLNH5.js} +10 -10
  76. package/dist/{chunk-ZZMN5OM4.js → chunk-ZNLWCMVZ.js} +2 -2
  77. package/dist/{chunk-WHGPSPT5.js → chunk-ZVJ5BLO2.js} +2 -2
  78. package/dist/cli/index.js +33 -31
  79. package/dist/{clio-M2KGYUFZ.js → clio-QVTYJ57A.js} +10 -10
  80. package/dist/{code-nav-GQNL7XA6.js → code-nav-FGGFIE7L.js} +5 -5
  81. package/dist/codewiki/build-worker.js +4 -4
  82. package/dist/{components-5TTYYX6G.js → components-ZFA3SAER.js} +9 -9
  83. package/dist/{config-XUUYQIWO.js → config-LW5IJFQN.js} +65 -55
  84. package/dist/{configure-IHJ7YOMV.js → configure-7XIZCOU4.js} +29 -24
  85. package/dist/{context-75MIWW3U.js → context-L3WL3X7K.js} +54 -43
  86. package/dist/{context-ZQ7SIFJV.js → context-N52ZA626.js} +30 -14
  87. package/dist/{context-74JLXAWD.js → context-Y6Y7QPR6.js} +12 -12
  88. package/dist/{context-clear-GYKWNUML.js → context-clear-MBQRLSDQ.js} +54 -43
  89. package/dist/{context-index-SSR5ECNE.js → context-index-HVMFQHK3.js} +5 -5
  90. package/dist/{context-working-set-UX5KEP4J.js → context-working-set-GS6DSO7F.js} +18 -18
  91. package/dist/{dispatch-runner-GIJBHNFL.js → dispatch-runner-22ZCNOM3.js} +367 -79
  92. package/dist/{docs-6FZSCG5B.js → docs-7LQ23DLM.js} +9 -9
  93. package/dist/{doctor-SVJ5BZCW.js → doctor-M7YEDGAE.js} +27 -23
  94. package/dist/{eval-CG6LLBLD.js → eval-BEC2WHDA.js} +73 -20
  95. package/dist/{evidence-ZYFIEN42.js → evidence-REJUMSKM.js} +70 -59
  96. package/dist/{evolve-QGEXEMDW.js → evolve-PY5ZBA5K.js} +50 -39
  97. package/dist/{extensions-ADGNCJJD.js → extensions-HVKU65YU.js} +7 -7
  98. package/dist/{fleet-S5R4ZOQY.js → fleet-7WZEWRFA.js} +236 -377
  99. package/dist/fleet-commands-UVHWM76J.js +70 -0
  100. package/dist/fleet-graph-6ULH7PES.js +125 -0
  101. package/dist/fleet-new-RDVJLHHH.js +48 -0
  102. package/dist/{fleet-preflight-BHSNPBMH.js → fleet-preflight-J53T6CCE.js} +5 -5
  103. package/dist/fleet-validate-72PC4SLA.js +79 -0
  104. package/dist/{init-5DRU55YR.js → init-OG3TPGQG.js} +69 -57
  105. package/dist/library-CNTMPLRF.js +217 -0
  106. package/dist/{memory-7YKKR6UC.js → memory-6IS7F275.js} +52 -41
  107. package/dist/{models-ZPOLRU2C.js → models-ENRJDA5W.js} +37 -31
  108. package/dist/{monitor-US5F5YGZ.js → monitor-XLDVO7TN.js} +79 -42
  109. package/dist/{orchestrator-E2AL4T5N.js → orchestrator-6KSPYRHA.js} +4126 -762
  110. package/dist/{paths-E7KYAQWE.js → paths-DBXMZMDU.js} +6 -6
  111. package/dist/registry-LG64LTF4.js +11 -0
  112. package/dist/{reset-KZ652EK6.js → reset-RZ4ER727.js} +12 -12
  113. package/dist/{run-SRNBKDWD.js → run-Y2CNK5RU.js} +89 -76
  114. package/dist/{share-CGZE33UP.js → share-A55GYP6Z.js} +37 -13
  115. package/dist/{skills-S2X4DLY5.js → skills-ALC5J6AT.js} +29 -13
  116. package/dist/{skills-eval-W2GGIC4R.js → skills-eval-JPBEBYQU.js} +60 -48
  117. package/dist/support-MIETYA5E.js +38 -0
  118. package/dist/{targets-54SWINWB.js → targets-VGNXIR3S.js} +46 -36
  119. package/dist/{terminal-lease-SAIF2OGY.js → terminal-lease-WOBR64YA.js} +4 -4
  120. package/dist/{uninstall-BVLWXKBT.js → uninstall-ZJF5H5ZN.js} +9 -9
  121. package/dist/{upgrade-JKAR27XC.js → upgrade-FUSUAGHR.js} +31 -28
  122. package/dist/{usage-MSAWCLX4.js → usage-N4MKVHKD.js} +140 -68
  123. package/dist/verifiers-YAWOJ3H2.js +336 -0
  124. package/dist/{verify-X5HDROLA.js → verify-LTDHYBGY.js} +10 -9
  125. package/dist/{wiki-generate-GUSOQ6ZP.js → wiki-generate-6M7GHTBJ.js} +75 -62
  126. package/dist/worker/entry.js +67 -57
  127. package/docs/README.md +3 -2
  128. package/docs/acp.md +1 -1
  129. package/docs/alcf-provider.md +1 -1
  130. package/docs/architecture.md +2 -2
  131. package/docs/artifact-versions.md +11 -6
  132. package/docs/built-in-agents.md +26 -2
  133. package/docs/capacity-and-scheduling.md +1 -1
  134. package/docs/commands-and-modes.md +83 -3
  135. package/docs/configuration-and-targets.md +86 -4
  136. package/docs/context-engine.md +1 -1
  137. package/docs/development-pipeline.md +1 -1
  138. package/docs/dispatch-architecture-rationale.md +1 -1
  139. package/docs/documentation-coverage.md +3 -3
  140. package/docs/documentation-guide.md +3 -3
  141. package/docs/eval-runner.md +1 -1
  142. package/docs/evals-internal.md +1 -1
  143. package/docs/evidence-and-memory.md +74 -10
  144. package/docs/evolution.md +1 -1
  145. package/docs/exit-codes-and-output.md +4 -1
  146. package/docs/extensions-and-sharing.md +6 -2
  147. package/docs/fleet-demo-runbook.md +2 -2
  148. package/docs/fleet-dispatch.md +228 -16
  149. package/docs/git-commit-provenance.md +2 -2
  150. package/docs/glossary.md +22 -2
  151. package/docs/installation-and-lifecycle.md +2 -2
  152. package/docs/middleware-and-components.md +2 -1
  153. package/docs/model-catalog.md +1 -1
  154. package/docs/observability.md +56 -9
  155. package/docs/proactive-memory.md +1 -1
  156. package/docs/prompt-envelope-and-tools.md +4 -2
  157. package/docs/provider-adapter-cookbook.md +1 -1
  158. package/docs/release-cut-checklist.md +83 -65
  159. package/docs/resource-library.md +59 -0
  160. package/docs/safety-model.md +2 -2
  161. package/docs/scientific-validation.md +3 -3
  162. package/docs/session-lifecycle.md +37 -1
  163. package/docs/skills-marketplace.md +16 -3
  164. package/docs/tool-usage.md +14 -7
  165. package/docs/trace-store.md +1 -1
  166. package/docs/troubleshooting.md +1 -1
  167. package/docs/tui-design.md +1 -1
  168. package/docs/worker-dispatch-mechanics.md +3 -3
  169. package/package.json +1 -2
  170. package/src/cli/argv.ts +5 -0
  171. package/src/cli/configure.ts +107 -23
  172. package/src/cli/doctor.ts +5 -1
  173. package/src/cli/evidence.ts +30 -25
  174. package/src/cli/fleet-commands.ts +37 -0
  175. package/src/cli/fleet-graph.ts +102 -0
  176. package/src/cli/fleet-new.ts +36 -0
  177. package/src/cli/fleet-preflight.ts +111 -0
  178. package/src/cli/fleet-validate.ts +30 -0
  179. package/src/cli/fleet.ts +173 -335
  180. package/src/cli/index.ts +3 -1
  181. package/src/cli/library.ts +190 -0
  182. package/src/cli/share.ts +13 -1
  183. package/src/cli/shared.ts +1 -0
  184. package/src/cli/targets.ts +4 -1
  185. package/src/cli/usage.ts +111 -19
  186. package/src/cli/validate-model.ts +60 -5
  187. package/src/core/bus-events.ts +29 -0
  188. package/src/core/commit-attribution.ts +4 -4
  189. package/src/core/config.ts +130 -0
  190. package/src/core/defaults.ts +81 -0
  191. package/src/core/path-boundary.ts +100 -0
  192. package/src/domains/agents/builtins/architect.md +1 -0
  193. package/src/domains/agents/builtins/oracle.md +33 -0
  194. package/src/domains/agents/catalog.ts +13 -1
  195. package/src/domains/agents/extension.ts +2 -11
  196. package/src/domains/agents/fleet-contract.ts +304 -24
  197. package/src/domains/agents/index.ts +14 -0
  198. package/src/domains/agents/recipe.ts +7 -1
  199. package/src/domains/agents/registry.ts +73 -5
  200. package/src/domains/agents/result-contract.ts +360 -15
  201. package/src/domains/agents/write-boundary.ts +15 -50
  202. package/src/domains/config/classify.ts +4 -0
  203. package/src/domains/context/project-rules.ts +51 -1
  204. package/src/domains/dispatch/active-route-planner.ts +14 -0
  205. package/src/domains/dispatch/assignment-reconcile.ts +22 -5
  206. package/src/domains/dispatch/assignment-store.ts +151 -14
  207. package/src/domains/dispatch/backoff.ts +2 -1
  208. package/src/domains/dispatch/capability-match.ts +1 -0
  209. package/src/domains/dispatch/checkout-writer-lease.ts +175 -0
  210. package/src/domains/dispatch/contract.ts +48 -0
  211. package/src/domains/dispatch/delegation-plan.ts +164 -0
  212. package/src/domains/dispatch/execution-plan.ts +76 -5
  213. package/src/domains/dispatch/execution-role.ts +12 -2
  214. package/src/domains/dispatch/execution-scheduler.ts +183 -67
  215. package/src/domains/dispatch/extension.ts +412 -74
  216. package/src/domains/dispatch/fleet-gate.ts +14 -0
  217. package/src/domains/dispatch/fleet-plan.ts +63 -3
  218. package/src/domains/dispatch/fleet-run.ts +791 -0
  219. package/src/domains/dispatch/gate-role-prompts.ts +47 -0
  220. package/src/domains/dispatch/host-verification.ts +178 -0
  221. package/src/domains/dispatch/index.ts +41 -1
  222. package/src/domains/dispatch/intent-requirements.ts +40 -0
  223. package/src/domains/dispatch/intent.ts +235 -0
  224. package/src/domains/dispatch/path-scope.ts +370 -0
  225. package/src/domains/dispatch/receipt-integrity.ts +9 -4
  226. package/src/domains/dispatch/state.ts +36 -3
  227. package/src/domains/dispatch/types.ts +64 -12
  228. package/src/domains/dispatch/validation.ts +69 -6
  229. package/src/domains/dispatch/write-boundary-enforcer.ts +45 -0
  230. package/src/domains/dispatch/write-boundary.ts +201 -22
  231. package/src/domains/eval/metrics/evidence.ts +79 -2
  232. package/src/domains/eval/runners/clio-run.ts +12 -2
  233. package/src/domains/evidence/build.ts +69 -11
  234. package/src/domains/evidence/index.ts +21 -0
  235. package/src/domains/evidence/provenance.ts +46 -11
  236. package/src/domains/evidence/trust-projection.ts +274 -0
  237. package/src/domains/evidence/trust-status.ts +155 -18
  238. package/src/domains/evidence/types.ts +4 -0
  239. package/src/domains/extensions/discovery.ts +88 -1
  240. package/src/domains/extensions/resources.ts +20 -8
  241. package/src/domains/extensions/state.ts +6 -2
  242. package/src/domains/extensions/types.ts +4 -1
  243. package/src/domains/lifecycle/doctor.ts +140 -1
  244. package/src/domains/middleware/index.ts +15 -0
  245. package/src/domains/middleware/watchdog.ts +281 -0
  246. package/src/domains/observability/contract.ts +3 -1
  247. package/src/domains/observability/cost.ts +12 -1
  248. package/src/domains/observability/extension.ts +2 -2
  249. package/src/domains/observability/index.ts +10 -0
  250. package/src/domains/observability/out-of-turn-usage.ts +223 -0
  251. package/src/domains/prompts/contract.ts +3 -5
  252. package/src/domains/providers/extension.ts +30 -2
  253. package/src/domains/resources/common-loader.ts +3 -0
  254. package/src/domains/resources/index.ts +20 -0
  255. package/src/domains/resources/library.ts +326 -0
  256. package/src/domains/resources/prompts/loader.ts +119 -14
  257. package/src/domains/resources/skills/marketplace.ts +37 -12
  258. package/src/domains/safety/policy-engine.ts +5 -5
  259. package/src/domains/safety/run-effects.ts +64 -1
  260. package/src/domains/safety/scope.ts +7 -12
  261. package/src/domains/session/handoff.ts +629 -0
  262. package/src/domains/share/archive.ts +67 -2
  263. package/src/engine/acp/server.ts +4 -1
  264. package/src/engine/prompt-templates.ts +18 -1
  265. package/src/engine/worker-runtime.ts +6 -3
  266. package/src/entry/orchestrator.ts +37 -0
  267. package/src/interactive/bus-notices.ts +26 -0
  268. package/src/interactive/chat-loop.ts +235 -1
  269. package/src/interactive/chat-renderer.ts +22 -0
  270. package/src/interactive/cost-overlay.ts +31 -3
  271. package/src/interactive/council-dispatch.ts +30 -0
  272. package/src/interactive/council-grid.ts +213 -0
  273. package/src/interactive/council.ts +99 -0
  274. package/src/interactive/dispatch-board.ts +311 -17
  275. package/src/interactive/fleet-run-preview.ts +307 -0
  276. package/src/interactive/footer/notifications.ts +219 -0
  277. package/src/interactive/handoff-round.ts +56 -0
  278. package/src/interactive/interactive-application.ts +43 -1
  279. package/src/interactive/interactive-event-projection.ts +23 -1
  280. package/src/interactive/interactive-slash-runtime.ts +52 -2
  281. package/src/interactive/interactive-subscriptions.ts +14 -2
  282. package/src/interactive/oracle.ts +179 -0
  283. package/src/interactive/overlay-ask-user-lifecycle.ts +6 -0
  284. package/src/interactive/overlay-general-openers.ts +190 -1
  285. package/src/interactive/overlay-key-routing.ts +17 -1
  286. package/src/interactive/overlay-lifecycle.ts +41 -1
  287. package/src/interactive/overlay-permission-lifecycle.ts +10 -0
  288. package/src/interactive/overlay-resource-openers.ts +11 -3
  289. package/src/interactive/overlay-session-lifecycle.ts +234 -2
  290. package/src/interactive/overlays/fleet-run-approval.ts +208 -0
  291. package/src/interactive/overlays/handoff-review.ts +185 -0
  292. package/src/interactive/overlays/library-install-confirm.ts +151 -0
  293. package/src/interactive/overlays/list-overlay.ts +168 -2
  294. package/src/interactive/overlays/settings.ts +221 -30
  295. package/src/interactive/overlays/side-question.ts +139 -0
  296. package/src/interactive/overlays/skills-hub.ts +401 -15
  297. package/src/interactive/side-question.ts +171 -0
  298. package/src/interactive/slash-commands.ts +439 -7
  299. package/src/interactive/slash-spec.ts +19 -6
  300. package/src/interactive/theme/tokens.ts +30 -0
  301. package/src/interactive/turn-middleware.ts +15 -1
  302. package/src/interactive/view/artifacts.ts +42 -9
  303. package/src/interactive/view/view-overlay.ts +15 -3
  304. package/src/interactive/watchdog-run.ts +75 -0
  305. package/src/interactive/worker-receipts.ts +14 -2
  306. package/src/interactive/worker-share.ts +56 -1
  307. package/src/interactive/worker-stream.ts +15 -0
  308. package/src/tools/bootstrap.ts +3 -0
  309. package/src/tools/compete-worktrees.ts +13 -79
  310. package/src/tools/dispatch-admission.ts +251 -18
  311. package/src/tools/dispatch-arguments.ts +84 -1
  312. package/src/tools/dispatch-plan.ts +165 -6
  313. package/src/tools/dispatch-runner.ts +364 -23
  314. package/src/tools/dispatch-types.ts +20 -1
  315. package/src/tools/dispatch.ts +72 -2
  316. package/src/tools/monitor.ts +29 -0
  317. package/src/tools/profiles.ts +18 -4
  318. package/src/tools/task-worktree.ts +238 -0
  319. package/src/tools/verify/authoring.ts +61 -1
  320. package/src/tools/verify/scripts.ts +62 -0
  321. package/src/tools/worker-evidence.ts +21 -14
  322. package/src/worker/spec-contract.ts +3 -1
  323. package/dist/chunk-HC4CLZ2Y.js +0 -68
@@ -0,0 +1,38 @@
1
+ import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import {
3
+ buildProviderSupportEntry,
4
+ compareProviderSupportEntries,
5
+ configuredTargetsForRuntime,
6
+ defaultModelForRuntime,
7
+ describeRuntimeModels,
8
+ listKnownModelsForRuntime,
9
+ listProviderSupportEntries,
10
+ resolveProviderReference,
11
+ runtimeModelListSource,
12
+ supportGroupLabel
13
+ } from "./chunk-IIZWH4XA.js";
14
+ import "./chunk-EQ63NRB7.js";
15
+ import "./chunk-SST6Z5JA.js";
16
+ import "./chunk-IKCO5N3L.js";
17
+ import "./chunk-3I7MS7N2.js";
18
+ import "./chunk-APJ265NV.js";
19
+ import "./chunk-BNAZZHFG.js";
20
+ import "./chunk-WEPFGWHJ.js";
21
+ import "./chunk-NUGM5KR6.js";
22
+ import "./chunk-PT7HYKEM.js";
23
+ import "./chunk-FCSXB6T2.js";
24
+ import "./chunk-YXLYO42X.js";
25
+ import "./chunk-3R73A4XB.js";
26
+ export {
27
+ buildProviderSupportEntry,
28
+ compareProviderSupportEntries,
29
+ configuredTargetsForRuntime,
30
+ defaultModelForRuntime,
31
+ describeRuntimeModels,
32
+ listKnownModelsForRuntime,
33
+ listProviderSupportEntries,
34
+ resolveProviderReference,
35
+ runtimeModelListSource,
36
+ supportGroupLabel
37
+ };
38
+ //# sourceMappingURL=support-MIETYA5E.js.map
@@ -1,47 +1,51 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
- import "./chunk-6XXKFVSN.js";
2
+ import "./chunk-5Q2VVUKB.js";
3
3
  import {
4
4
  ensureClioState
5
- } from "./chunk-KHSFENX2.js";
5
+ } from "./chunk-WWCZ5F23.js";
6
6
  import {
7
7
  ConfigDomainModule,
8
8
  loadDomains
9
- } from "./chunk-R46L2BIR.js";
10
- import "./chunk-E25LMLRW.js";
11
- import "./chunk-4BPJXDWC.js";
12
- import "./chunk-2SFS6XQE.js";
13
- import "./chunk-ZWLZP4ZT.js";
9
+ } from "./chunk-FHJEP5SW.js";
10
+ import "./chunk-DR52UMZW.js";
11
+ import "./chunk-TANS5ZJS.js";
12
+ import "./chunk-DGSYXYMX.js";
13
+ import "./chunk-26LEYJZH.js";
14
+ import "./chunk-WXY7KU3G.js";
15
+ import "./chunk-DYIM5TJT.js";
14
16
  import "./chunk-CGKSTWHD.js";
15
17
  import "./chunk-XPLRXC72.js";
16
18
  import {
17
19
  runConfigureCommand,
18
20
  runTargetRemove,
19
21
  runTargetRename
20
- } from "./chunk-QNQHSOLF.js";
21
- import "./chunk-RD5U66HV.js";
22
- import "./chunk-KOHPCX4K.js";
22
+ } from "./chunk-IGWKHNIQ.js";
23
23
  import "./chunk-2STGEDFV.js";
24
24
  import {
25
25
  column,
26
26
  terminalColumns,
27
27
  truncate
28
28
  } from "./chunk-2IR2NMPA.js";
29
- import "./chunk-24I7BN55.js";
29
+ import "./chunk-IFBNV6H6.js";
30
+ import "./chunk-GPIEI3LY.js";
31
+ import "./chunk-XWSF374K.js";
30
32
  import {
31
33
  printError,
32
34
  printOk
33
- } from "./chunk-PPAMZ32Z.js";
35
+ } from "./chunk-XK56QHLX.js";
34
36
  import {
35
37
  source_default
36
38
  } from "./chunk-5TSRNF4G.js";
37
39
  import {
38
40
  ProvidersDomainModule,
39
- getRuntimeRegistry,
40
41
  isDispatchEligibleRuntime,
41
- isOrchestratorEligibleRuntime,
42
- registerBuiltinRuntimes
43
- } from "./chunk-DJVECN66.js";
42
+ isOrchestratorEligibleRuntime
43
+ } from "./chunk-7RFXX52T.js";
44
44
  import "./chunk-CFGTUFWB.js";
45
+ import "./chunk-LU7P4LHA.js";
46
+ import "./chunk-RWSI4YD7.js";
47
+ import "./chunk-IHXBNWMM.js";
48
+ import "./chunk-B5CSFE7B.js";
45
49
  import {
46
50
  bindAgentProfileInSettings,
47
51
  readSettings,
@@ -49,32 +53,36 @@ import {
49
53
  setFleetProfileInSettings,
50
54
  updateSettings,
51
55
  useTargetInSettings
52
- } from "./chunk-AD2SYQYC.js";
56
+ } from "./chunk-IJ7RPIYJ.js";
57
+ import "./chunk-FQ4SKYE4.js";
58
+ import "./chunk-ZGVHUX3M.js";
59
+ import "./chunk-TT36MB5S.js";
60
+ import "./chunk-3BINW3FP.js";
61
+ import "./chunk-R346GLFC.js";
62
+ import "./chunk-6EJMN2Y3.js";
63
+ import "./chunk-IWHMRKLL.js";
64
+ import {
65
+ registerBuiltinRuntimes
66
+ } from "./chunk-NMPKI6XL.js";
53
67
  import {
54
68
  THINKING_LEVELS
55
- } from "./chunk-4OC57DA6.js";
69
+ } from "./chunk-4DGYLA73.js";
56
70
  import "./chunk-LL4KHSZI.js";
57
- import "./chunk-4VP4KH3K.js";
58
- import "./chunk-VEZEGCGW.js";
59
- import "./chunk-FQ4SKYE4.js";
71
+ import "./chunk-4ZG3XFUR.js";
72
+ import "./chunk-IIZWH4XA.js";
73
+ import "./chunk-EQ63NRB7.js";
74
+ import "./chunk-SST6Z5JA.js";
60
75
  import "./chunk-IKCO5N3L.js";
61
76
  import "./chunk-3I7MS7N2.js";
62
- import "./chunk-IHXBNWMM.js";
63
- import "./chunk-GEYXPTRF.js";
64
- import "./chunk-SST6Z5JA.js";
65
- import "./chunk-FO5ZOVUY.js";
66
- import "./chunk-R346GLFC.js";
67
- import "./chunk-4ZG3XFUR.js";
68
- import "./chunk-FCSXB6T2.js";
69
77
  import "./chunk-APJ265NV.js";
70
- import "./chunk-YXLYO42X.js";
71
78
  import "./chunk-BNAZZHFG.js";
72
- import "./chunk-6EJMN2Y3.js";
73
79
  import "./chunk-WEPFGWHJ.js";
74
- import "./chunk-XE2VEJHX.js";
75
- import "./chunk-ZGVHUX3M.js";
76
- import "./chunk-G7MUEIGA.js";
77
- import "./chunk-IWHMRKLL.js";
80
+ import {
81
+ getRuntimeRegistry
82
+ } from "./chunk-NUGM5KR6.js";
83
+ import "./chunk-PT7HYKEM.js";
84
+ import "./chunk-FCSXB6T2.js";
85
+ import "./chunk-YXLYO42X.js";
78
86
  import {
79
87
  init_esm_shims
80
88
  } from "./chunk-3R73A4XB.js";
@@ -913,6 +921,7 @@ function formatNotes(status) {
913
921
  if (status.runtime?.auth === "claude-cli") parts.push("claude-cli");
914
922
  if (status.capabilities.contextWindow > 0) parts.push(formatContextWindow(status));
915
923
  if (!status.available && status.reason) parts.push(status.reason);
924
+ if (status.health.status === "degraded" && status.health.lastError) parts.push(status.health.lastError);
916
925
  const residency = residentModelsSummary(status.discoveredModelStates);
917
926
  if (residency) parts.push(residency);
918
927
  if (status.probeNotes && status.probeNotes.length > 0) parts.push(`note: ${status.probeNotes.join("; ")}`);
@@ -995,6 +1004,7 @@ export {
995
1004
  formatContextWindow,
996
1005
  formatTargetTable,
997
1006
  residentModelsSummary,
998
- runTargetsCommand
1007
+ runTargetsCommand,
1008
+ targetTableRow
999
1009
  };
1000
- //# sourceMappingURL=targets-54SWINWB.js.map
1010
+ //# sourceMappingURL=targets-VGNXIR3S.js.map
@@ -10,12 +10,12 @@ import {
10
10
  createKeybindingManager,
11
11
  createProcessInteractiveShell,
12
12
  matchesKey
13
- } from "./chunk-E2ER4LJF.js";
13
+ } from "./chunk-5C3AQNDW.js";
14
14
  import {
15
15
  getTerminationCoordinator
16
- } from "./chunk-XE2VEJHX.js";
16
+ } from "./chunk-WXY7KU3G.js";
17
17
  import "./chunk-ZGVHUX3M.js";
18
- import "./chunk-G7MUEIGA.js";
18
+ import "./chunk-TT36MB5S.js";
19
19
  import {
20
20
  init_esm_shims
21
21
  } from "./chunk-3R73A4XB.js";
@@ -394,4 +394,4 @@ export {
394
394
  createProcessTerminalLease,
395
395
  instantShellEnabled
396
396
  };
397
- //# sourceMappingURL=terminal-lease-SAIF2OGY.js.map
397
+ //# sourceMappingURL=terminal-lease-WOBR64YA.js.map
@@ -3,27 +3,27 @@ import {
3
3
  removePath,
4
4
  reportRemovalFailures
5
5
  } from "./chunk-SVNXH4L2.js";
6
- import "./chunk-24I7BN55.js";
6
+ import "./chunk-IFBNV6H6.js";
7
7
  import {
8
8
  printError,
9
9
  printHeader,
10
10
  printOk
11
- } from "./chunk-PPAMZ32Z.js";
11
+ } from "./chunk-XK56QHLX.js";
12
12
  import "./chunk-5TSRNF4G.js";
13
- import "./chunk-4VP4KH3K.js";
13
+ import {
14
+ resolvePackageRoot
15
+ } from "./chunk-IWHMRKLL.js";
16
+ import "./chunk-EQ63NRB7.js";
17
+ import "./chunk-SST6Z5JA.js";
14
18
  import "./chunk-IKCO5N3L.js";
15
19
  import "./chunk-3I7MS7N2.js";
16
- import "./chunk-SST6Z5JA.js";
17
20
  import "./chunk-APJ265NV.js";
18
- import "./chunk-YXLYO42X.js";
19
21
  import {
20
22
  resetXdgCache,
21
23
  resolveClioDirs
22
24
  } from "./chunk-BNAZZHFG.js";
23
25
  import "./chunk-WEPFGWHJ.js";
24
- import {
25
- resolvePackageRoot
26
- } from "./chunk-IWHMRKLL.js";
26
+ import "./chunk-YXLYO42X.js";
27
27
  import {
28
28
  init_esm_shims
29
29
  } from "./chunk-3R73A4XB.js";
@@ -330,4 +330,4 @@ export {
330
330
  projectContextInventory,
331
331
  runUninstallCommand
332
332
  };
333
- //# sourceMappingURL=uninstall-BVLWXKBT.js.map
333
+ //# sourceMappingURL=uninstall-ZJF5H5ZN.js.map
@@ -2,57 +2,60 @@ import { createRequire as __clioCreateRequire } from "node:module"; const requir
2
2
  import {
3
3
  LifecycleDomainModule,
4
4
  listMigrations
5
- } from "./chunk-6XXKFVSN.js";
5
+ } from "./chunk-5Q2VVUKB.js";
6
6
  import {
7
7
  readStateInfo
8
- } from "./chunk-KHSFENX2.js";
8
+ } from "./chunk-WWCZ5F23.js";
9
9
  import {
10
10
  ConfigDomainModule,
11
11
  loadDomains
12
- } from "./chunk-R46L2BIR.js";
13
- import "./chunk-E25LMLRW.js";
14
- import "./chunk-4BPJXDWC.js";
15
- import "./chunk-2SFS6XQE.js";
16
- import "./chunk-ZWLZP4ZT.js";
12
+ } from "./chunk-FHJEP5SW.js";
13
+ import "./chunk-DR52UMZW.js";
14
+ import "./chunk-TANS5ZJS.js";
15
+ import "./chunk-DGSYXYMX.js";
16
+ import "./chunk-26LEYJZH.js";
17
+ import "./chunk-WXY7KU3G.js";
18
+ import "./chunk-DYIM5TJT.js";
17
19
  import "./chunk-CGKSTWHD.js";
18
20
  import {
19
21
  getVersionInfo
20
22
  } from "./chunk-XPLRXC72.js";
21
- import "./chunk-RD5U66HV.js";
23
+ import "./chunk-IFBNV6H6.js";
24
+ import "./chunk-GPIEI3LY.js";
22
25
  import {
23
26
  initializeClioHome
24
- } from "./chunk-KOHPCX4K.js";
25
- import "./chunk-24I7BN55.js";
27
+ } from "./chunk-XWSF374K.js";
26
28
  import {
27
29
  printError,
28
30
  printHeader,
29
31
  printOk
30
- } from "./chunk-PPAMZ32Z.js";
32
+ } from "./chunk-XK56QHLX.js";
31
33
  import "./chunk-5TSRNF4G.js";
32
- import "./chunk-AD2SYQYC.js";
33
- import "./chunk-4OC57DA6.js";
34
- import "./chunk-LL4KHSZI.js";
35
- import "./chunk-4VP4KH3K.js";
36
- import "./chunk-VEZEGCGW.js";
37
- import "./chunk-FQ4SKYE4.js";
38
- import "./chunk-IKCO5N3L.js";
39
- import "./chunk-3I7MS7N2.js";
34
+ import "./chunk-LU7P4LHA.js";
40
35
  import "./chunk-IHXBNWMM.js";
41
- import "./chunk-SST6Z5JA.js";
42
- import "./chunk-FO5ZOVUY.js";
36
+ import "./chunk-B5CSFE7B.js";
37
+ import "./chunk-IJ7RPIYJ.js";
38
+ import "./chunk-FQ4SKYE4.js";
39
+ import "./chunk-ZGVHUX3M.js";
40
+ import "./chunk-TT36MB5S.js";
41
+ import "./chunk-3BINW3FP.js";
43
42
  import "./chunk-R346GLFC.js";
43
+ import "./chunk-6EJMN2Y3.js";
44
+ import "./chunk-IWHMRKLL.js";
45
+ import "./chunk-4DGYLA73.js";
46
+ import "./chunk-LL4KHSZI.js";
44
47
  import "./chunk-4ZG3XFUR.js";
48
+ import "./chunk-EQ63NRB7.js";
49
+ import "./chunk-SST6Z5JA.js";
50
+ import "./chunk-IKCO5N3L.js";
51
+ import "./chunk-3I7MS7N2.js";
45
52
  import "./chunk-APJ265NV.js";
46
- import "./chunk-YXLYO42X.js";
47
53
  import {
48
54
  clioStateDir
49
55
  } from "./chunk-BNAZZHFG.js";
50
- import "./chunk-6EJMN2Y3.js";
51
56
  import "./chunk-WEPFGWHJ.js";
52
- import "./chunk-XE2VEJHX.js";
53
- import "./chunk-ZGVHUX3M.js";
54
- import "./chunk-G7MUEIGA.js";
55
- import "./chunk-IWHMRKLL.js";
57
+ import "./chunk-NUGM5KR6.js";
58
+ import "./chunk-YXLYO42X.js";
56
59
  import {
57
60
  init_esm_shims
58
61
  } from "./chunk-3R73A4XB.js";
@@ -341,4 +344,4 @@ async function runUpgradeCommand(argv) {
341
344
  export {
342
345
  runUpgradeCommand
343
346
  };
344
- //# sourceMappingURL=upgrade-JKAR27XC.js.map
347
+ //# sourceMappingURL=upgrade-FUSUAGHR.js.map
@@ -1,11 +1,19 @@
1
1
  import { createRequire as __clioCreateRequire } from "node:module"; const require = __clioCreateRequire(import.meta.url);
2
+ import "./chunk-U6MBIEMB.js";
3
+ import "./chunk-FBVTI2TJ.js";
4
+ import "./chunk-DR52UMZW.js";
2
5
  import {
3
- readEvidenceIndex
4
- } from "./chunk-HC4CLZ2Y.js";
6
+ loadSkills
7
+ } from "./chunk-TANS5ZJS.js";
8
+ import "./chunk-DGSYXYMX.js";
9
+ import {
10
+ readEvidenceIndex,
11
+ readOutOfTurnUsageRows
12
+ } from "./chunk-GWS3VEIW.js";
5
13
  import {
6
14
  loadMemoryRecordsSync
7
- } from "./chunk-6US73PDB.js";
8
- import "./chunk-QM3F2GKX.js";
15
+ } from "./chunk-TYPGUK6W.js";
16
+ import "./chunk-TLQJPP24.js";
9
17
  import {
10
18
  addResponseModelIdObservationCount,
11
19
  emptyResponseModelIdObservationCounts,
@@ -14,79 +22,84 @@ import {
14
22
  parseSessionEntries,
15
23
  readAuditRows,
16
24
  responseModelIdObservationCountsLabel
17
- } from "./chunk-CJUB2JJ2.js";
18
- import "./chunk-QKMUKYO7.js";
19
- import "./chunk-OH3TOQTB.js";
20
- import "./chunk-TSHXZTOQ.js";
25
+ } from "./chunk-YS5VLNH5.js";
26
+ import "./chunk-K4XHGFR5.js";
27
+ import "./chunk-MXKJU4JB.js";
28
+ import "./chunk-J3YUBZWY.js";
29
+ import "./chunk-RVG5JXAL.js";
30
+ import "./chunk-W6GROXXM.js";
31
+ import "./chunk-E77JEWSD.js";
32
+ import "./chunk-DYIM5TJT.js";
33
+ import "./chunk-2HEJ2F35.js";
21
34
  import "./chunk-TXOTCRLG.js";
22
35
  import "./chunk-HVDIIIQW.js";
23
- import "./chunk-MFFY33HR.js";
24
- import {
25
- loadSkills
26
- } from "./chunk-4BPJXDWC.js";
27
- import "./chunk-2SFS6XQE.js";
28
- import "./chunk-ZWLZP4ZT.js";
29
- import "./chunk-W6GROXXM.js";
30
- import "./chunk-WHGPSPT5.js";
31
- import "./chunk-XXQNGV4M.js";
32
- import "./chunk-43AOLP7E.js";
33
- import "./chunk-EKY57CSP.js";
34
- import "./chunk-22NAGB7X.js";
35
- import "./chunk-AOCYTWAV.js";
36
- import "./chunk-MV3K5QF2.js";
37
- import "./chunk-CMZWFGD2.js";
38
- import "./chunk-I4HZDVNP.js";
39
- import "./chunk-FYYLNIL5.js";
40
- import "./chunk-UL3WSD3F.js";
36
+ import "./chunk-ZVJ5BLO2.js";
37
+ import "./chunk-A3WNZD3P.js";
38
+ import "./chunk-5FR74PWO.js";
39
+ import "./chunk-P43ETTHK.js";
40
+ import "./chunk-H7IXIC72.js";
41
+ import "./chunk-5H3GB5BO.js";
42
+ import "./chunk-A2NJGIB3.js";
41
43
  import "./chunk-OQE5J4C6.js";
42
- import "./chunk-ECH6PKUQ.js";
43
44
  import "./chunk-GOXNB3AO.js";
44
45
  import "./chunk-HWUFFB6L.js";
46
+ import "./chunk-TTHACPOM.js";
47
+ import "./chunk-AOCYTWAV.js";
48
+ import "./chunk-MV3K5QF2.js";
49
+ import "./chunk-UL3WSD3F.js";
45
50
  import "./chunk-ODFEOB4F.js";
46
51
  import "./chunk-OZNBF4L3.js";
47
52
  import "./chunk-4BJ5BYCE.js";
53
+ import "./chunk-ECH6PKUQ.js";
54
+ import "./chunk-CMZWFGD2.js";
55
+ import "./chunk-I4HZDVNP.js";
48
56
  import "./chunk-6XLNIQDB.js";
49
57
  import "./chunk-5B2AEOW5.js";
50
58
  import "./chunk-CGKSTWHD.js";
51
59
  import "./chunk-XAKHZX5N.js";
52
60
  import "./chunk-33YXPOE3.js";
53
- import "./chunk-24I7BN55.js";
61
+ import "./chunk-7CR24IG7.js";
62
+ import "./chunk-IFBNV6H6.js";
54
63
  import {
55
64
  formatColumns,
56
65
  printError
57
- } from "./chunk-PPAMZ32Z.js";
66
+ } from "./chunk-XK56QHLX.js";
58
67
  import "./chunk-5TSRNF4G.js";
59
- import "./chunk-DJVECN66.js";
68
+ import "./chunk-7RFXX52T.js";
60
69
  import "./chunk-CFGTUFWB.js";
61
- import "./chunk-AD2SYQYC.js";
62
- import "./chunk-4OC57DA6.js";
63
- import "./chunk-LL4KHSZI.js";
64
- import "./chunk-4VP4KH3K.js";
65
- import "./chunk-VEZEGCGW.js";
66
- import "./chunk-FQ4SKYE4.js";
67
- import "./chunk-IKCO5N3L.js";
68
- import "./chunk-3I7MS7N2.js";
70
+ import "./chunk-LU7P4LHA.js";
71
+ import "./chunk-RWSI4YD7.js";
69
72
  import "./chunk-IHXBNWMM.js";
70
- import "./chunk-GEYXPTRF.js";
71
- import "./chunk-SST6Z5JA.js";
73
+ import "./chunk-B5CSFE7B.js";
74
+ import "./chunk-IJ7RPIYJ.js";
75
+ import "./chunk-FQ4SKYE4.js";
76
+ import "./chunk-ZGVHUX3M.js";
77
+ import "./chunk-TT36MB5S.js";
72
78
  import {
73
79
  cwdHash
74
- } from "./chunk-FO5ZOVUY.js";
80
+ } from "./chunk-3BINW3FP.js";
75
81
  import "./chunk-R346GLFC.js";
82
+ import "./chunk-6EJMN2Y3.js";
83
+ import "./chunk-IWHMRKLL.js";
84
+ import "./chunk-NMPKI6XL.js";
85
+ import "./chunk-4DGYLA73.js";
86
+ import "./chunk-LL4KHSZI.js";
76
87
  import "./chunk-4ZG3XFUR.js";
77
- import "./chunk-FCSXB6T2.js";
88
+ import "./chunk-IIZWH4XA.js";
89
+ import "./chunk-EQ63NRB7.js";
90
+ import "./chunk-SST6Z5JA.js";
91
+ import "./chunk-IKCO5N3L.js";
92
+ import "./chunk-3I7MS7N2.js";
78
93
  import "./chunk-APJ265NV.js";
79
- import "./chunk-YXLYO42X.js";
80
94
  import {
81
95
  clioDataDir,
82
96
  clioStateDir
83
97
  } from "./chunk-BNAZZHFG.js";
84
- import "./chunk-6EJMN2Y3.js";
85
98
  import "./chunk-WEPFGWHJ.js";
86
- import "./chunk-ZGVHUX3M.js";
87
- import "./chunk-G7MUEIGA.js";
88
- import "./chunk-7CR24IG7.js";
89
- import "./chunk-IWHMRKLL.js";
99
+ import "./chunk-NUGM5KR6.js";
100
+ import "./chunk-PT7HYKEM.js";
101
+ import "./chunk-FCSXB6T2.js";
102
+ import "./chunk-YXLYO42X.js";
90
103
  import {
91
104
  init_esm_shims
92
105
  } from "./chunk-3R73A4XB.js";
@@ -98,9 +111,10 @@ import { join, resolve } from "node:path";
98
111
  var HELP = `clio-coder usage report [--repo <path>] [--days <n>] [--json]
99
112
 
100
113
  Cross-session usage analyzer (experimental, read-only). Reads the local usage
101
- archive (receipts, session ledgers, audit rows, evidence index, memory store)
102
- and reports facts plus improvement opportunities, every line citing ids and
103
- counts. Nothing is written or stored; suggestions are printed only.
114
+ archive (receipts, session ledgers, the out-of-turn usage store, audit rows,
115
+ evidence index, memory store) and reports facts plus improvement opportunities,
116
+ every line citing ids and counts. Nothing is written or stored; suggestions are
117
+ printed only.
104
118
 
105
119
  Flags:
106
120
  --repo <path> restrict sessions (and runs via the run ledger) to one repo
@@ -134,6 +148,35 @@ function emptyUsageTotals() {
134
148
  function addResponseModelIdObservation(counts, call) {
135
149
  addResponseModelIdObservationCount(counts, call.responseModelIdObservation, call.apiCalls ?? 1);
136
150
  }
151
+ function emptyCallOrigins() {
152
+ return { rows: 0, sideQuestions: 0, handoffs: 0 };
153
+ }
154
+ function turnsOf(origins) {
155
+ return origins.rows - origins.sideQuestions - origins.handoffs;
156
+ }
157
+ function hasLabelledCall(origins) {
158
+ return origins.sideQuestions > 0 || origins.handoffs > 0;
159
+ }
160
+ function addOutOfTurnRow(origins, row) {
161
+ origins.rows += 1;
162
+ if (row.label === "side-question") origins.sideQuestions += 1;
163
+ else origins.handoffs += 1;
164
+ }
165
+ function outOfTurnUsageCall(row) {
166
+ return {
167
+ providerId: row.target,
168
+ attributedModelId: row.attributedModelId,
169
+ requestedModelId: row.attributedModelId,
170
+ responseModelIdObservation: { state: "not-observed" },
171
+ input: row.usage.input,
172
+ output: row.usage.output,
173
+ cacheRead: row.usage.cacheRead,
174
+ cacheWrite: row.usage.cacheWrite,
175
+ reasoningTokens: row.usage.reasoning,
176
+ totalTokens: row.usage.totalTokens,
177
+ costUsd: row.usage.costUsd
178
+ };
179
+ }
137
180
  function addUsageCall(totals, call) {
138
181
  totals.apiCalls += call.apiCalls ?? 1;
139
182
  totals.input += call.input;
@@ -245,6 +288,11 @@ async function runUsageCommand(argv) {
245
288
  (receipt) => repoRunIds === null || repoRunIds.has(receipt.runId)
246
289
  );
247
290
  const sessions = await readSessions(stateDir, windowStart, now, repoHash, diagnostics);
291
+ const outOfTurn = readOutOfTurnUsageRows(stateDir);
292
+ for (const error of outOfTurn.errors) diagnostics.notes.push(error);
293
+ const outOfTurnRows = outOfTurn.rows.filter(
294
+ (row) => inWindow(row.timestamp, windowStart, now) && (repoHash === void 0 || row.repoIdentity === repoHash)
295
+ );
248
296
  const auditRows = await readAuditRows(stateDir);
249
297
  diagnostics.malformedAuditRows = auditRows.errors.length;
250
298
  const auditInWindow = auditRows.rows.filter((row) => row.ts !== null && inWindow(row.ts, windowStart, now));
@@ -318,23 +366,33 @@ async function runUsageCommand(argv) {
318
366
  }
319
367
  const usageByModel = /* @__PURE__ */ new Map();
320
368
  const usageTotals = emptyUsageTotals();
369
+ const callOrigins = emptyCallOrigins();
370
+ const foldCall = (call) => {
371
+ addUsageCall(usageTotals, call);
372
+ const key = `${call.providerId}::${call.attributedModelId}`;
373
+ const entry = usageByModel.get(key) ?? {
374
+ providerId: call.providerId,
375
+ attributedModelId: call.attributedModelId,
376
+ requestedModelIds: /* @__PURE__ */ new Set(),
377
+ responseModelIdObservationCounts: emptyResponseModelIdObservationCounts(),
378
+ totals: emptyUsageTotals()
379
+ };
380
+ entry.requestedModelIds.add(call.requestedModelId);
381
+ addResponseModelIdObservation(entry.responseModelIdObservationCounts, call);
382
+ addUsageCall(entry.totals, call);
383
+ usageByModel.set(key, entry);
384
+ };
321
385
  for (const session of sessions) {
322
386
  for (const call of session.usageCalls) {
323
- addUsageCall(usageTotals, call);
324
- const key = `${call.providerId}::${call.attributedModelId}`;
325
- const entry = usageByModel.get(key) ?? {
326
- providerId: call.providerId,
327
- attributedModelId: call.attributedModelId,
328
- requestedModelIds: /* @__PURE__ */ new Set(),
329
- responseModelIdObservationCounts: emptyResponseModelIdObservationCounts(),
330
- totals: emptyUsageTotals()
331
- };
332
- entry.requestedModelIds.add(call.requestedModelId);
333
- addResponseModelIdObservation(entry.responseModelIdObservationCounts, call);
334
- addUsageCall(entry.totals, call);
335
- usageByModel.set(key, entry);
387
+ foldCall(call);
388
+ callOrigins.rows += 1;
336
389
  }
337
390
  }
391
+ for (const row of outOfTurnRows) {
392
+ foldCall(outOfTurnUsageCall(row));
393
+ addOutOfTurnRow(callOrigins, row);
394
+ }
395
+ const usageMeasurable = presence.sessionsPresent || outOfTurnRows.length > 0;
338
396
  const usageRows = [...usageByModel.values()].sort(
339
397
  (a, b) => b.totals.totalTokens - a.totals.totalTokens || a.providerId.localeCompare(b.providerId)
340
398
  );
@@ -404,8 +462,17 @@ async function runUsageCommand(argv) {
404
462
  if (presence.receiptsPresent) emit({ kind: "fact", fact: "dispatch-runs", value: receipts.length });
405
463
  else emit({ kind: "fact", fact: "receipt-store-missing", path: presence.receiptsPath });
406
464
  emit({ kind: "fact", fact: "audit-tool-calls", value: auditToolCalls.length, blocked: auditBlocked.length });
407
- if (presence.sessionsPresent) {
408
- emit({ kind: "fact", fact: "tokens", ...usageTotals });
465
+ if (usageMeasurable) {
466
+ emit({
467
+ kind: "fact",
468
+ fact: "tokens",
469
+ ...usageTotals,
470
+ ...hasLabelledCall(callOrigins) ? {
471
+ turns: turnsOf(callOrigins),
472
+ sideQuestions: callOrigins.sideQuestions,
473
+ handoffs: callOrigins.handoffs
474
+ } : {}
475
+ });
409
476
  for (const row of usageRows) {
410
477
  emit({
411
478
  kind: "fact",
@@ -463,10 +530,15 @@ async function runUsageCommand(argv) {
463
530
  out(` receipt store missing at ${presence.receiptsPath}`);
464
531
  }
465
532
  out(` audited tool calls in window: ${auditToolCalls.length} (${auditBlocked.length} blocked/denied)`);
466
- if (presence.sessionsPresent) {
533
+ if (usageMeasurable) {
467
534
  out(
468
535
  ` tokens in window: ${usageTotals.totalTokens} over ${usageTotals.apiCalls} model calls (input ${usageTotals.input}, output ${usageTotals.output}, cache read ${usageTotals.cacheRead}, cache write ${usageTotals.cacheWrite}, reasoning ${usageTotals.reasoningTokens})`
469
536
  );
537
+ if (hasLabelledCall(callOrigins)) {
538
+ out(` turns in window: ${turnsOf(callOrigins)}`);
539
+ if (callOrigins.sideQuestions > 0) out(` side questions in window: ${callOrigins.sideQuestions}`);
540
+ if (callOrigins.handoffs > 0) out(` handoffs in window: ${callOrigins.handoffs}`);
541
+ }
470
542
  out(` provider-reported cost in window: $${usageTotals.costUsd.toFixed(4)}`);
471
543
  }
472
544
  if (usageRows.length > 0) {
@@ -834,4 +906,4 @@ export {
834
906
  inWindow,
835
907
  runUsageCommand
836
908
  };
837
- //# sourceMappingURL=usage-MSAWCLX4.js.map
909
+ //# sourceMappingURL=usage-N4MKVHKD.js.map