@orion-agents/orion-code 0.1.2 → 0.1.4-2

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 (552) hide show
  1. package/README.md +98 -4
  2. package/README.zh-CN.md +116 -5
  3. package/dist/agents/coder.d.ts.map +1 -1
  4. package/dist/agents/coder.js.map +1 -1
  5. package/dist/agents/fork.d.ts +12 -4
  6. package/dist/agents/fork.d.ts.map +1 -1
  7. package/dist/agents/fork.js +28 -32
  8. package/dist/agents/fork.js.map +1 -1
  9. package/dist/agents/leader.d.ts.map +1 -1
  10. package/dist/agents/leader.js.map +1 -1
  11. package/dist/agents/worker-pool.d.ts.map +1 -1
  12. package/dist/agents/worker-pool.js +38 -29
  13. package/dist/agents/worker-pool.js.map +1 -1
  14. package/dist/cli.d.ts +1 -1
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +0 -1
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/context-commands.d.ts +4 -0
  19. package/dist/commands/context-commands.d.ts.map +1 -0
  20. package/dist/commands/context-commands.js +52 -0
  21. package/dist/commands/context-commands.js.map +1 -0
  22. package/dist/commands/context-tool-command-handlers.d.ts +13 -0
  23. package/dist/commands/context-tool-command-handlers.d.ts.map +1 -0
  24. package/dist/commands/context-tool-command-handlers.js +573 -0
  25. package/dist/commands/context-tool-command-handlers.js.map +1 -0
  26. package/dist/commands/core-command-handlers.d.ts +12 -0
  27. package/dist/commands/core-command-handlers.d.ts.map +1 -0
  28. package/dist/commands/core-command-handlers.js +798 -0
  29. package/dist/commands/core-command-handlers.js.map +1 -0
  30. package/dist/commands/diagnostic-command-handlers.d.ts +14 -0
  31. package/dist/commands/diagnostic-command-handlers.d.ts.map +1 -0
  32. package/dist/commands/diagnostic-command-handlers.js +1043 -0
  33. package/dist/commands/diagnostic-command-handlers.js.map +1 -0
  34. package/dist/commands/diagnostic-commands.d.ts +4 -0
  35. package/dist/commands/diagnostic-commands.d.ts.map +1 -0
  36. package/dist/commands/diagnostic-commands.js +132 -0
  37. package/dist/commands/diagnostic-commands.js.map +1 -0
  38. package/dist/commands/index.d.ts +7 -8
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +34 -3448
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/legacy-commands.d.ts +4 -0
  43. package/dist/commands/legacy-commands.d.ts.map +1 -0
  44. package/dist/commands/legacy-commands.js +44 -0
  45. package/dist/commands/legacy-commands.js.map +1 -0
  46. package/dist/commands/model-command-handlers.d.ts +13 -0
  47. package/dist/commands/model-command-handlers.d.ts.map +1 -0
  48. package/dist/commands/model-command-handlers.js +314 -0
  49. package/dist/commands/model-command-handlers.js.map +1 -0
  50. package/dist/commands/model-commands.d.ts +4 -0
  51. package/dist/commands/model-commands.d.ts.map +1 -0
  52. package/dist/commands/model-commands.js +52 -0
  53. package/dist/commands/model-commands.js.map +1 -0
  54. package/dist/commands/session-command-handlers.d.ts +9 -0
  55. package/dist/commands/session-command-handlers.d.ts.map +1 -0
  56. package/dist/commands/session-command-handlers.js +566 -0
  57. package/dist/commands/session-command-handlers.js.map +1 -0
  58. package/dist/commands/session-commands.d.ts +4 -0
  59. package/dist/commands/session-commands.d.ts.map +1 -0
  60. package/dist/commands/session-commands.js +78 -0
  61. package/dist/commands/session-commands.js.map +1 -0
  62. package/dist/commands/system-commands.d.ts +4 -0
  63. package/dist/commands/system-commands.d.ts.map +1 -0
  64. package/dist/commands/system-commands.js +92 -0
  65. package/dist/commands/system-commands.js.map +1 -0
  66. package/dist/commands/target-command.d.ts.map +1 -1
  67. package/dist/commands/target-command.js +29 -2
  68. package/dist/commands/target-command.js.map +1 -1
  69. package/dist/commands/tool-commands.d.ts +4 -0
  70. package/dist/commands/tool-commands.d.ts.map +1 -0
  71. package/dist/commands/tool-commands.js +49 -0
  72. package/dist/commands/tool-commands.js.map +1 -0
  73. package/dist/commands/types.d.ts +7 -5
  74. package/dist/commands/types.d.ts.map +1 -1
  75. package/dist/commands/types.js.map +1 -1
  76. package/dist/commands/workflow-command-handlers.d.ts +7 -0
  77. package/dist/commands/workflow-command-handlers.d.ts.map +1 -0
  78. package/dist/commands/workflow-command-handlers.js +35 -0
  79. package/dist/commands/workflow-command-handlers.js.map +1 -0
  80. package/dist/commands/workflow-commands.d.ts +4 -0
  81. package/dist/commands/workflow-commands.d.ts.map +1 -0
  82. package/dist/commands/workflow-commands.js +92 -0
  83. package/dist/commands/workflow-commands.js.map +1 -0
  84. package/dist/core/checkpoint.d.ts +12 -4
  85. package/dist/core/checkpoint.d.ts.map +1 -1
  86. package/dist/core/checkpoint.js +114 -28
  87. package/dist/core/checkpoint.js.map +1 -1
  88. package/dist/core/cost-tracker.d.ts +5 -1
  89. package/dist/core/cost-tracker.d.ts.map +1 -1
  90. package/dist/core/cost-tracker.js +12 -2
  91. package/dist/core/cost-tracker.js.map +1 -1
  92. package/dist/core/warn-dedup.d.ts +3 -0
  93. package/dist/core/warn-dedup.d.ts.map +1 -1
  94. package/dist/core/warn-dedup.js +6 -6
  95. package/dist/core/warn-dedup.js.map +1 -1
  96. package/dist/framework/index.d.ts +1 -1
  97. package/dist/framework/index.d.ts.map +1 -1
  98. package/dist/framework/index.js.map +1 -1
  99. package/dist/framework/prompt.d.ts +2 -2
  100. package/dist/framework/query.d.ts +5 -2
  101. package/dist/framework/query.d.ts.map +1 -1
  102. package/dist/framework/query.js +58 -10
  103. package/dist/framework/query.js.map +1 -1
  104. package/dist/framework/store.d.ts +4 -4
  105. package/dist/framework/tool-scheduler.d.ts +67 -4
  106. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  107. package/dist/framework/tool-scheduler.js +271 -50
  108. package/dist/framework/tool-scheduler.js.map +1 -1
  109. package/dist/framework/tool.d.ts +36 -2
  110. package/dist/framework/tool.d.ts.map +1 -1
  111. package/dist/framework/tool.js +29 -1
  112. package/dist/framework/tool.js.map +1 -1
  113. package/dist/harness/assembler.d.ts.map +1 -1
  114. package/dist/harness/assembler.js +4 -2
  115. package/dist/harness/assembler.js.map +1 -1
  116. package/dist/harness/evidence.d.ts.map +1 -1
  117. package/dist/harness/evidence.js +3 -2
  118. package/dist/harness/evidence.js.map +1 -1
  119. package/dist/harness/safety.d.ts +11 -1
  120. package/dist/harness/safety.d.ts.map +1 -1
  121. package/dist/harness/safety.js +112 -16
  122. package/dist/harness/safety.js.map +1 -1
  123. package/dist/index.d.ts +1 -4
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js.map +1 -1
  126. package/dist/init.d.ts +4 -8
  127. package/dist/init.d.ts.map +1 -1
  128. package/dist/init.js +4 -4
  129. package/dist/init.js.map +1 -1
  130. package/dist/ink-ui/App.d.ts +2 -2
  131. package/dist/ink-ui/components/Markdown.d.ts.map +1 -1
  132. package/dist/ink-ui/components/Markdown.js.map +1 -1
  133. package/dist/ink-ui/components/PixelHorseBanner.d.ts +2 -2
  134. package/dist/ink-ui/components/StatusLine.d.ts +2 -2
  135. package/dist/ink-ui/launch.d.ts +2 -2
  136. package/dist/ink-ui/screens/ReplScreen.d.ts +3 -2
  137. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  138. package/dist/ink-ui/screens/ReplScreen.js +65 -0
  139. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  140. package/dist/memory/embeddings.d.ts.map +1 -1
  141. package/dist/memory/embeddings.js +3 -2
  142. package/dist/memory/embeddings.js.map +1 -1
  143. package/dist/memory/relevant-finder.d.ts +2 -1
  144. package/dist/memory/relevant-finder.d.ts.map +1 -1
  145. package/dist/memory/relevant-finder.js +17 -8
  146. package/dist/memory/relevant-finder.js.map +1 -1
  147. package/dist/memory/semantic-config.d.ts +9 -0
  148. package/dist/memory/semantic-config.d.ts.map +1 -0
  149. package/dist/memory/semantic-config.js +16 -0
  150. package/dist/memory/semantic-config.js.map +1 -0
  151. package/dist/memory/semantic-search.d.ts +1 -6
  152. package/dist/memory/semantic-search.d.ts.map +1 -1
  153. package/dist/memory/semantic-search.js +5 -16
  154. package/dist/memory/semantic-search.js.map +1 -1
  155. package/dist/memory/storage.d.ts +23 -0
  156. package/dist/memory/storage.d.ts.map +1 -1
  157. package/dist/memory/storage.js +109 -8
  158. package/dist/memory/storage.js.map +1 -1
  159. package/dist/memory/vector-store.d.ts +12 -0
  160. package/dist/memory/vector-store.d.ts.map +1 -1
  161. package/dist/memory/vector-store.js +139 -18
  162. package/dist/memory/vector-store.js.map +1 -1
  163. package/dist/migration/command.d.ts.map +1 -1
  164. package/dist/migration/command.js +0 -1
  165. package/dist/migration/command.js.map +1 -1
  166. package/dist/migration/migrate.d.ts.map +1 -1
  167. package/dist/migration/migrate.js +43 -109
  168. package/dist/migration/migrate.js.map +1 -1
  169. package/dist/migration/types.d.ts +0 -1
  170. package/dist/migration/types.d.ts.map +1 -1
  171. package/dist/print-ui/launch.d.ts +11 -3
  172. package/dist/print-ui/launch.d.ts.map +1 -1
  173. package/dist/print-ui/launch.js +25 -0
  174. package/dist/print-ui/launch.js.map +1 -1
  175. package/dist/product/environment.d.ts +3 -5
  176. package/dist/product/environment.d.ts.map +1 -1
  177. package/dist/product/environment.js +4 -32
  178. package/dist/product/environment.js.map +1 -1
  179. package/dist/product/index.d.ts +1 -1
  180. package/dist/product/index.d.ts.map +1 -1
  181. package/dist/product/index.js +1 -3
  182. package/dist/product/index.js.map +1 -1
  183. package/dist/product/paths.d.ts.map +1 -1
  184. package/dist/product/paths.js +12 -0
  185. package/dist/product/paths.js.map +1 -1
  186. package/dist/runtime/agent-runtime-controller.d.ts +3 -2
  187. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  188. package/dist/runtime/agent-runtime-controller.js +24 -3
  189. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  190. package/dist/runtime/agent-runtime-protocol.d.ts +16 -1
  191. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  192. package/dist/runtime/agent-runtime-protocol.js +12 -0
  193. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  194. package/dist/runtime/chat-checkpoint.d.ts +17 -0
  195. package/dist/runtime/chat-checkpoint.d.ts.map +1 -0
  196. package/dist/runtime/chat-checkpoint.js +108 -0
  197. package/dist/runtime/chat-checkpoint.js.map +1 -0
  198. package/dist/runtime/chat-controller.d.ts +16 -46
  199. package/dist/runtime/chat-controller.d.ts.map +1 -1
  200. package/dist/runtime/chat-controller.js +212 -1051
  201. package/dist/runtime/chat-controller.js.map +1 -1
  202. package/dist/runtime/chat-presentation.d.ts +60 -0
  203. package/dist/runtime/chat-presentation.d.ts.map +1 -0
  204. package/dist/runtime/chat-presentation.js +537 -0
  205. package/dist/runtime/chat-presentation.js.map +1 -0
  206. package/dist/runtime/chat-trace.d.ts +52 -0
  207. package/dist/runtime/chat-trace.d.ts.map +1 -0
  208. package/dist/runtime/chat-trace.js +234 -0
  209. package/dist/runtime/chat-trace.js.map +1 -0
  210. package/dist/runtime/chat-workspace.d.ts +22 -0
  211. package/dist/runtime/chat-workspace.d.ts.map +1 -0
  212. package/dist/runtime/chat-workspace.js +154 -0
  213. package/dist/runtime/chat-workspace.js.map +1 -0
  214. package/dist/runtime/goals/accounting.js +1 -1
  215. package/dist/runtime/goals/accounting.js.map +1 -1
  216. package/dist/runtime/goals/completion-audit.d.ts.map +1 -1
  217. package/dist/runtime/goals/completion-audit.js +5 -4
  218. package/dist/runtime/goals/completion-audit.js.map +1 -1
  219. package/dist/runtime/goals/coordinator.d.ts +3 -0
  220. package/dist/runtime/goals/coordinator.d.ts.map +1 -1
  221. package/dist/runtime/goals/coordinator.js +30 -2
  222. package/dist/runtime/goals/coordinator.js.map +1 -1
  223. package/dist/runtime/goals/prompt.d.ts +1 -1
  224. package/dist/runtime/goals/prompt.d.ts.map +1 -1
  225. package/dist/runtime/goals/prompt.js +3 -2
  226. package/dist/runtime/goals/prompt.js.map +1 -1
  227. package/dist/runtime/goals/tools.d.ts +21 -8
  228. package/dist/runtime/goals/tools.d.ts.map +1 -1
  229. package/dist/runtime/goals/tools.js +152 -21
  230. package/dist/runtime/goals/tools.js.map +1 -1
  231. package/dist/runtime/goals/types.d.ts +6 -0
  232. package/dist/runtime/goals/types.d.ts.map +1 -1
  233. package/dist/runtime/goals/types.js.map +1 -1
  234. package/dist/runtime/loop-budget.d.ts +2 -2
  235. package/dist/runtime/model-coordinator.d.ts.map +1 -1
  236. package/dist/runtime/model-coordinator.js.map +1 -1
  237. package/dist/runtime/subagents/child-executor-guard.d.ts.map +1 -1
  238. package/dist/runtime/subagents/child-executor-guard.js +4 -0
  239. package/dist/runtime/subagents/child-executor-guard.js.map +1 -1
  240. package/dist/runtime/subagents/index.d.ts +10 -3
  241. package/dist/runtime/subagents/index.d.ts.map +1 -1
  242. package/dist/runtime/subagents/index.js +25 -1
  243. package/dist/runtime/subagents/index.js.map +1 -1
  244. package/dist/runtime/subagents/policy.d.ts +1 -1
  245. package/dist/runtime/subagents/policy.d.ts.map +1 -1
  246. package/dist/runtime/subagents/policy.js.map +1 -1
  247. package/dist/runtime/subagents/presets.d.ts +2 -2
  248. package/dist/runtime/subagents/provider-gate.d.ts.map +1 -1
  249. package/dist/runtime/subagents/provider-gate.js +0 -1
  250. package/dist/runtime/subagents/provider-gate.js.map +1 -1
  251. package/dist/runtime/subagents/research-artifact.d.ts +101 -0
  252. package/dist/runtime/subagents/research-artifact.d.ts.map +1 -0
  253. package/dist/runtime/subagents/research-artifact.js +210 -0
  254. package/dist/runtime/subagents/research-artifact.js.map +1 -0
  255. package/dist/runtime/subagents/research-citation.d.ts +66 -0
  256. package/dist/runtime/subagents/research-citation.d.ts.map +1 -0
  257. package/dist/runtime/subagents/research-citation.js +185 -0
  258. package/dist/runtime/subagents/research-citation.js.map +1 -0
  259. package/dist/runtime/subagents/research-contract.d.ts +83 -0
  260. package/dist/runtime/subagents/research-contract.d.ts.map +1 -0
  261. package/dist/runtime/subagents/research-contract.js +337 -0
  262. package/dist/runtime/subagents/research-contract.js.map +1 -0
  263. package/dist/runtime/subagents/research-quality.d.ts +47 -0
  264. package/dist/runtime/subagents/research-quality.d.ts.map +1 -0
  265. package/dist/runtime/subagents/research-quality.js +125 -0
  266. package/dist/runtime/subagents/research-quality.js.map +1 -0
  267. package/dist/runtime/subagents/research-renderer.d.ts +95 -0
  268. package/dist/runtime/subagents/research-renderer.d.ts.map +1 -0
  269. package/dist/runtime/subagents/research-renderer.js +186 -0
  270. package/dist/runtime/subagents/research-renderer.js.map +1 -0
  271. package/dist/runtime/subagents/research-types.d.ts +105 -0
  272. package/dist/runtime/subagents/research-types.d.ts.map +1 -0
  273. package/dist/runtime/subagents/research-types.js +16 -0
  274. package/dist/runtime/subagents/research-types.js.map +1 -0
  275. package/dist/runtime/subagents/result-parser.d.ts +1 -5
  276. package/dist/runtime/subagents/result-parser.d.ts.map +1 -1
  277. package/dist/runtime/subagents/result-parser.js +5 -72
  278. package/dist/runtime/subagents/result-parser.js.map +1 -1
  279. package/dist/runtime/subagents/runtime-integration.d.ts +13 -7
  280. package/dist/runtime/subagents/runtime-integration.d.ts.map +1 -1
  281. package/dist/runtime/subagents/runtime-integration.js +112 -2
  282. package/dist/runtime/subagents/runtime-integration.js.map +1 -1
  283. package/dist/runtime/subagents/supervisor.d.ts +15 -1
  284. package/dist/runtime/subagents/supervisor.d.ts.map +1 -1
  285. package/dist/runtime/subagents/supervisor.js +58 -3
  286. package/dist/runtime/subagents/supervisor.js.map +1 -1
  287. package/dist/runtime/subagents/tool.d.ts +2 -2
  288. package/dist/runtime/subagents/tool.d.ts.map +1 -1
  289. package/dist/runtime/subagents/tool.js +129 -9
  290. package/dist/runtime/subagents/tool.js.map +1 -1
  291. package/dist/runtime/subagents/types.d.ts +20 -0
  292. package/dist/runtime/subagents/types.d.ts.map +1 -1
  293. package/dist/runtime/subagents/types.js.map +1 -1
  294. package/dist/runtime/subagents/web-research-adapter.d.ts +85 -0
  295. package/dist/runtime/subagents/web-research-adapter.d.ts.map +1 -0
  296. package/dist/runtime/subagents/web-research-adapter.js +328 -0
  297. package/dist/runtime/subagents/web-research-adapter.js.map +1 -0
  298. package/dist/runtime/turn-controller.d.ts.map +1 -1
  299. package/dist/runtime/turn-controller.js +3 -1
  300. package/dist/runtime/turn-controller.js.map +1 -1
  301. package/dist/runtime/ui-events.d.ts +25 -8
  302. package/dist/runtime/ui-events.d.ts.map +1 -1
  303. package/dist/runtime/ui-events.js.map +1 -1
  304. package/dist/runtime/ui-view-model.d.ts +40 -0
  305. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  306. package/dist/runtime/ui-view-model.js +126 -0
  307. package/dist/runtime/ui-view-model.js.map +1 -1
  308. package/dist/services/agent-runner.d.ts +5 -2
  309. package/dist/services/agent-runner.d.ts.map +1 -1
  310. package/dist/services/agent-runner.js +18 -18
  311. package/dist/services/agent-runner.js.map +1 -1
  312. package/dist/services/atomic-write.d.ts +9 -1
  313. package/dist/services/atomic-write.d.ts.map +1 -1
  314. package/dist/services/atomic-write.js +55 -2
  315. package/dist/services/atomic-write.js.map +1 -1
  316. package/dist/services/auth/auth.d.ts +11 -7
  317. package/dist/services/auth/auth.d.ts.map +1 -1
  318. package/dist/services/auth/auth.js +133 -34
  319. package/dist/services/auth/auth.js.map +1 -1
  320. package/dist/services/auth/aws.d.ts +2 -0
  321. package/dist/services/auth/aws.d.ts.map +1 -1
  322. package/dist/services/auth/aws.js +126 -12
  323. package/dist/services/auth/aws.js.map +1 -1
  324. package/dist/services/auth/index.d.ts +1 -1
  325. package/dist/services/auth/index.d.ts.map +1 -1
  326. package/dist/services/auth/index.js +2 -1
  327. package/dist/services/auth/index.js.map +1 -1
  328. package/dist/services/auto-fix/autoFixConfig.d.ts +0 -3
  329. package/dist/services/auto-fix/autoFixConfig.d.ts.map +1 -1
  330. package/dist/services/auto-fix/autoFixConfig.js +25 -8
  331. package/dist/services/auto-fix/autoFixConfig.js.map +1 -1
  332. package/dist/services/auto-fix/autoFixHook.d.ts +7 -0
  333. package/dist/services/auto-fix/autoFixHook.d.ts.map +1 -1
  334. package/dist/services/auto-fix/autoFixHook.js +10 -1
  335. package/dist/services/auto-fix/autoFixHook.js.map +1 -1
  336. package/dist/services/compact/auto-compact.d.ts +2 -0
  337. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  338. package/dist/services/compact/auto-compact.js +15 -1
  339. package/dist/services/compact/auto-compact.js.map +1 -1
  340. package/dist/services/compact/compact.d.ts.map +1 -1
  341. package/dist/services/compact/compact.js +9 -11
  342. package/dist/services/compact/compact.js.map +1 -1
  343. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  344. package/dist/services/compact/summary-generator.js +28 -4
  345. package/dist/services/compact/summary-generator.js.map +1 -1
  346. package/dist/services/compact/tool-call-groups.d.ts +19 -0
  347. package/dist/services/compact/tool-call-groups.d.ts.map +1 -0
  348. package/dist/services/compact/tool-call-groups.js +105 -0
  349. package/dist/services/compact/tool-call-groups.js.map +1 -0
  350. package/dist/services/concurrent-sessions.d.ts +4 -0
  351. package/dist/services/concurrent-sessions.d.ts.map +1 -1
  352. package/dist/services/concurrent-sessions.js +76 -21
  353. package/dist/services/concurrent-sessions.js.map +1 -1
  354. package/dist/services/config-dir.d.ts.map +1 -1
  355. package/dist/services/config-dir.js +19 -5
  356. package/dist/services/config-dir.js.map +1 -1
  357. package/dist/services/config.d.ts +6 -4
  358. package/dist/services/config.d.ts.map +1 -1
  359. package/dist/services/config.js +16 -72
  360. package/dist/services/config.js.map +1 -1
  361. package/dist/services/doctor.d.ts +2 -2
  362. package/dist/services/doctor.js.map +1 -1
  363. package/dist/services/file-glob.d.ts.map +1 -1
  364. package/dist/services/file-glob.js +22 -2
  365. package/dist/services/file-glob.js.map +1 -1
  366. package/dist/services/file-lock.d.ts +7 -0
  367. package/dist/services/file-lock.d.ts.map +1 -0
  368. package/dist/services/file-lock.js +139 -0
  369. package/dist/services/file-lock.js.map +1 -0
  370. package/dist/services/global-config.d.ts +33 -0
  371. package/dist/services/global-config.d.ts.map +1 -1
  372. package/dist/services/global-config.js +67 -4
  373. package/dist/services/global-config.js.map +1 -1
  374. package/dist/services/goal-storage.d.ts.map +1 -1
  375. package/dist/services/goal-storage.js +52 -19
  376. package/dist/services/goal-storage.js.map +1 -1
  377. package/dist/services/llm.d.ts +12 -0
  378. package/dist/services/llm.d.ts.map +1 -1
  379. package/dist/services/llm.js +166 -69
  380. package/dist/services/llm.js.map +1 -1
  381. package/dist/services/mcp/transports.d.ts +0 -1
  382. package/dist/services/mcp/transports.d.ts.map +1 -1
  383. package/dist/services/mcp/transports.js +12 -13
  384. package/dist/services/mcp/transports.js.map +1 -1
  385. package/dist/services/model-catalog.d.ts +2 -0
  386. package/dist/services/model-catalog.d.ts.map +1 -1
  387. package/dist/services/model-catalog.js +25 -15
  388. package/dist/services/model-catalog.js.map +1 -1
  389. package/dist/services/model-context.d.ts +8 -0
  390. package/dist/services/model-context.d.ts.map +1 -1
  391. package/dist/services/model-context.js +147 -7
  392. package/dist/services/model-context.js.map +1 -1
  393. package/dist/services/model-registry.d.ts.map +1 -1
  394. package/dist/services/model-registry.js +32 -0
  395. package/dist/services/model-registry.js.map +1 -1
  396. package/dist/services/provider-resilience/coordinator.d.ts +9 -4
  397. package/dist/services/provider-resilience/coordinator.d.ts.map +1 -1
  398. package/dist/services/provider-resilience/coordinator.js +88 -21
  399. package/dist/services/provider-resilience/coordinator.js.map +1 -1
  400. package/dist/services/provider-resilience/error-classifier.d.ts +1 -0
  401. package/dist/services/provider-resilience/error-classifier.d.ts.map +1 -1
  402. package/dist/services/provider-resilience/error-classifier.js +50 -29
  403. package/dist/services/provider-resilience/error-classifier.js.map +1 -1
  404. package/dist/services/provider-resilience/index.d.ts +3 -3
  405. package/dist/services/provider-resilience/index.d.ts.map +1 -1
  406. package/dist/services/provider-resilience/index.js +3 -1
  407. package/dist/services/provider-resilience/index.js.map +1 -1
  408. package/dist/services/provider-resilience/request-gate.d.ts +6 -0
  409. package/dist/services/provider-resilience/request-gate.d.ts.map +1 -1
  410. package/dist/services/provider-resilience/request-gate.js +24 -9
  411. package/dist/services/provider-resilience/request-gate.js.map +1 -1
  412. package/dist/services/provider-resilience/stream-recovery.d.ts +1 -1
  413. package/dist/services/provider-resilience/stream-recovery.d.ts.map +1 -1
  414. package/dist/services/provider-resilience/stream-recovery.js +1 -1
  415. package/dist/services/provider-resilience/stream-recovery.js.map +1 -1
  416. package/dist/services/provider-resilience/types.d.ts +9 -0
  417. package/dist/services/provider-resilience/types.d.ts.map +1 -1
  418. package/dist/services/provider-resilience/types.js.map +1 -1
  419. package/dist/services/redaction.d.ts.map +1 -1
  420. package/dist/services/redaction.js +29 -1
  421. package/dist/services/redaction.js.map +1 -1
  422. package/dist/services/session-index.d.ts.map +1 -1
  423. package/dist/services/session-index.js +75 -44
  424. package/dist/services/session-index.js.map +1 -1
  425. package/dist/services/session-memory/sessionMemory.d.ts.map +1 -1
  426. package/dist/services/session-memory/sessionMemory.js +6 -3
  427. package/dist/services/session-memory/sessionMemory.js.map +1 -1
  428. package/dist/services/session-storage.d.ts +8 -0
  429. package/dist/services/session-storage.d.ts.map +1 -1
  430. package/dist/services/session-storage.js +105 -27
  431. package/dist/services/session-storage.js.map +1 -1
  432. package/dist/services/storage-maintenance.d.ts.map +1 -1
  433. package/dist/services/storage-maintenance.js +62 -9
  434. package/dist/services/storage-maintenance.js.map +1 -1
  435. package/dist/services/task-manager.d.ts +9 -4
  436. package/dist/services/task-manager.d.ts.map +1 -1
  437. package/dist/services/task-manager.js +18 -4
  438. package/dist/services/task-manager.js.map +1 -1
  439. package/dist/services/tool-allowlist.d.ts +100 -0
  440. package/dist/services/tool-allowlist.d.ts.map +1 -0
  441. package/dist/services/tool-allowlist.js +250 -0
  442. package/dist/services/tool-allowlist.js.map +1 -0
  443. package/dist/services/usage-state.d.ts +1 -0
  444. package/dist/services/usage-state.d.ts.map +1 -1
  445. package/dist/services/usage-state.js +81 -45
  446. package/dist/services/usage-state.js.map +1 -1
  447. package/dist/services/verification-profile.d.ts.map +1 -1
  448. package/dist/services/verification-profile.js +23 -3
  449. package/dist/services/verification-profile.js.map +1 -1
  450. package/dist/services/web-search-adapters.d.ts.map +1 -1
  451. package/dist/services/web-search-adapters.js +48 -18
  452. package/dist/services/web-search-adapters.js.map +1 -1
  453. package/dist/services/web-search-mcp.d.ts.map +1 -1
  454. package/dist/services/web-search-mcp.js +27 -11
  455. package/dist/services/web-search-mcp.js.map +1 -1
  456. package/dist/services/workspace-diff.d.ts +14 -0
  457. package/dist/services/workspace-diff.d.ts.map +1 -1
  458. package/dist/services/workspace-diff.js +60 -11
  459. package/dist/services/workspace-diff.js.map +1 -1
  460. package/dist/services/yaml-config.d.ts.map +1 -1
  461. package/dist/services/yaml-config.js +2 -1
  462. package/dist/services/yaml-config.js.map +1 -1
  463. package/dist/skills/loader.d.ts.map +1 -1
  464. package/dist/skills/loader.js +26 -11
  465. package/dist/skills/loader.js.map +1 -1
  466. package/dist/skills/runtime.d.ts +3 -3
  467. package/dist/skills/runtime.d.ts.map +1 -1
  468. package/dist/skills/runtime.js +37 -4
  469. package/dist/skills/runtime.js.map +1 -1
  470. package/dist/skills/types.d.ts +1 -1
  471. package/dist/skills/types.d.ts.map +1 -1
  472. package/dist/terminal-ui/launch.d.ts +36 -8
  473. package/dist/terminal-ui/launch.d.ts.map +1 -1
  474. package/dist/terminal-ui/launch.js +171 -1
  475. package/dist/terminal-ui/launch.js.map +1 -1
  476. package/dist/terminal-ui/raw-editor.js.map +1 -1
  477. package/dist/tools/bash_security.d.ts +58 -18
  478. package/dist/tools/bash_security.d.ts.map +1 -1
  479. package/dist/tools/bash_security.js +587 -80
  480. package/dist/tools/bash_security.js.map +1 -1
  481. package/dist/tools/git.d.ts +8 -4
  482. package/dist/tools/git.d.ts.map +1 -1
  483. package/dist/tools/git.js +518 -18
  484. package/dist/tools/git.js.map +1 -1
  485. package/dist/tools/index.d.ts +14 -4
  486. package/dist/tools/index.d.ts.map +1 -1
  487. package/dist/tools/index.js +292 -49
  488. package/dist/tools/index.js.map +1 -1
  489. package/dist/tools/lsp.d.ts +74 -6
  490. package/dist/tools/lsp.d.ts.map +1 -1
  491. package/dist/tools/lsp.js +24 -5
  492. package/dist/tools/lsp.js.map +1 -1
  493. package/dist/tools/mcp.d.ts +19 -6
  494. package/dist/tools/mcp.d.ts.map +1 -1
  495. package/dist/tools/mcp.js +143 -26
  496. package/dist/tools/mcp.js.map +1 -1
  497. package/dist/tools/plan.d.ts +4 -4
  498. package/dist/tools/sandbox.d.ts +141 -0
  499. package/dist/tools/sandbox.d.ts.map +1 -0
  500. package/dist/tools/sandbox.js +500 -0
  501. package/dist/tools/sandbox.js.map +1 -0
  502. package/dist/tools/todo.d.ts +3 -3
  503. package/dist/tools/web.d.ts +15 -4
  504. package/dist/tools/web.d.ts.map +1 -1
  505. package/dist/tools/web.js +346 -61
  506. package/dist/tools/web.js.map +1 -1
  507. package/dist/tui-core/frame.js.map +1 -1
  508. package/dist/tui-ui/launch.d.ts +3 -3
  509. package/dist/tui-ui/launch.d.ts.map +1 -1
  510. package/dist/tui-ui/launch.js +46 -8
  511. package/dist/tui-ui/launch.js.map +1 -1
  512. package/dist/tui-ui/layout.d.ts.map +1 -1
  513. package/dist/tui-ui/layout.js +64 -0
  514. package/dist/tui-ui/layout.js.map +1 -1
  515. package/dist/tui-ui/runner.d.ts +6 -0
  516. package/dist/tui-ui/runner.d.ts.map +1 -1
  517. package/dist/tui-ui/runner.js +82 -1
  518. package/dist/tui-ui/runner.js.map +1 -1
  519. package/dist/tui-ui/state.d.ts +28 -2
  520. package/dist/tui-ui/state.d.ts.map +1 -1
  521. package/dist/tui-ui/state.js +48 -7
  522. package/dist/tui-ui/state.js.map +1 -1
  523. package/dist/tui-ui/terminal-image.d.ts +3 -13
  524. package/dist/tui-ui/terminal-image.d.ts.map +1 -1
  525. package/dist/tui-ui/terminal-image.js +5 -160
  526. package/dist/tui-ui/terminal-image.js.map +1 -1
  527. package/dist/ui/markdown.js.map +1 -1
  528. package/dist/utils/debug-log.d.ts +52 -0
  529. package/dist/utils/debug-log.d.ts.map +1 -0
  530. package/dist/utils/debug-log.js +94 -0
  531. package/dist/utils/debug-log.js.map +1 -0
  532. package/dist/utils/errors.d.ts +25 -0
  533. package/dist/utils/errors.d.ts.map +1 -0
  534. package/dist/utils/errors.js +47 -0
  535. package/dist/utils/errors.js.map +1 -0
  536. package/dist/utils/json.d.ts +6 -0
  537. package/dist/utils/json.d.ts.map +1 -0
  538. package/dist/utils/json.js +66 -0
  539. package/dist/utils/json.js.map +1 -0
  540. package/dist/utils/mask.d.ts +35 -0
  541. package/dist/utils/mask.d.ts.map +1 -0
  542. package/dist/utils/mask.js +52 -0
  543. package/dist/utils/mask.js.map +1 -0
  544. package/dist/utils/observability.d.ts +22 -0
  545. package/dist/utils/observability.d.ts.map +1 -0
  546. package/dist/utils/observability.js +80 -0
  547. package/dist/utils/observability.js.map +1 -0
  548. package/dist/utils/token-estimate.d.ts +8 -0
  549. package/dist/utils/token-estimate.d.ts.map +1 -1
  550. package/dist/utils/token-estimate.js +30 -17
  551. package/dist/utils/token-estimate.js.map +1 -1
  552. package/package.json +9 -7
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ /**
3
+ * Orion Code - project-scoped tool allowlist rule engine.
4
+ *
5
+ * Contract (v0.1.3-2 §1.3 / P1-B / P1-E)
6
+ * ======================================
7
+ *
8
+ * Scope
9
+ * -----
10
+ * Rules live in `ProjectConfig.allowedTools` (`~/.orion-code/orion.json` →
11
+ * `projects["<absolute project path>"].allowedTools`). This is intentionally a
12
+ * *project* field: it is never promoted to a global switch, so a rule written for
13
+ * one repository can never widen permissions in another one.
14
+ *
15
+ * Grammar
16
+ * -------
17
+ * rule := [effect ":"] tool [ "(" pattern ")" ]
18
+ * effect := "allow" | "ask" | "deny" (default: "allow")
19
+ * tool := exact tool name (e.g. `exec_command`, `write_file`) or `*`
20
+ * pattern := glob over the tool's canonical subject; `*` = any run of chars,
21
+ * `?` = exactly one char. Everything else is literal.
22
+ *
23
+ * Tool names are the *real* runtime names (`exec_command`, `read_file`,
24
+ * `write_file`, `edit_file`, `web_fetch`, ...). There is no `Bash(...)` alias.
25
+ *
26
+ * Canonical subject
27
+ * -----------------
28
+ * The subject is the first non-empty string argument found in
29
+ * {@link SUBJECT_ARG_KEYS} order, with runs of whitespace collapsed. For
30
+ * `exec_command` that is the command line, for file tools the path, for web
31
+ * tools the URL. A rule without a pattern matches any subject.
32
+ *
33
+ * Precedence (most restrictive wins, order in the array is irrelevant)
34
+ * -------------------------------------------------------------------
35
+ * deny > ask > allow
36
+ *
37
+ * A rule with a pattern whose subject cannot be determined matches only for the
38
+ * restrictive effects (`deny`, `ask`); `allow` fails closed and does not match.
39
+ *
40
+ * Safety envelope (enforced by the scheduler, documented here)
41
+ * -----------------------------------------------------------
42
+ * `allow` can only downgrade an interactive confirmation to auto-approval. It
43
+ * can never override `checkPermissions() === 'deny'`, never escape plan mode's
44
+ * read-only guarantee, and never auto-approve a tool whose `isDestructive(args)`
45
+ * is true. `deny` and `ask` apply to every tool call regardless of the tool's own
46
+ * policy, so a project can always tighten but never silently loosen the gates.
47
+ *
48
+ * Compatibility
49
+ * -------------
50
+ * Unparseable entries are ignored and reported through `invalid` so callers can
51
+ * surface them; a malformed rule never becomes a silent allow. Configs written
52
+ * before this engine existed contain plain tool names, which keep their natural
53
+ * meaning ("auto-approve this tool").
54
+ */
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.SUBJECT_ARG_KEYS = void 0;
57
+ exports.parseAllowlistRules = parseAllowlistRules;
58
+ exports.describeAllowlistSubject = describeAllowlistSubject;
59
+ exports.matchAllowlistRules = matchAllowlistRules;
60
+ exports.createAllowlistEvaluator = createAllowlistEvaluator;
61
+ exports.resolveProjectToolAllowlist = resolveProjectToolAllowlist;
62
+ const global_config_1 = require("./global-config");
63
+ // ============================================================================
64
+ // Parsing
65
+ // ============================================================================
66
+ const EFFECT_PREFIX = /^(allow|ask|deny)\s*:\s*/i;
67
+ const TOOL_NAME_RE = /^[A-Za-z0-9_*][A-Za-z0-9_.-]*$/;
68
+ const EFFECT_RANK = { allow: 0, ask: 1, deny: 2 };
69
+ /** Argument keys probed, in order, to derive a rule-matching subject. */
70
+ exports.SUBJECT_ARG_KEYS = [
71
+ 'command',
72
+ 'file_path',
73
+ 'path',
74
+ 'url',
75
+ 'pattern',
76
+ 'query',
77
+ ];
78
+ /**
79
+ * Anchored glob match implemented without regular expressions.
80
+ *
81
+ * A compiled `^...$` RegExp built from a `*`-heavy glob is a catastrophic
82
+ * backtracking (ReDoS) hazard: patterns come from user configuration while
83
+ * subjects come from model-produced tool arguments, so neither side is a
84
+ * trusted constant. The two-pointer algorithm below keeps a single backtrack
85
+ * anchor for the most recent `*`, which bounds the work at
86
+ * O(pattern x subject) with O(1) extra state and no recursion.
87
+ *
88
+ * Comparison walks code points, so an astral character counts as exactly one
89
+ * `?`. `*` spans any run of characters including newlines.
90
+ */
91
+ function globMatches(pattern, subject) {
92
+ const p = Array.from(pattern);
93
+ const s = Array.from(subject);
94
+ let pi = 0;
95
+ let si = 0;
96
+ let starPi = -1;
97
+ let starSi = 0;
98
+ while (si < s.length) {
99
+ const token = pi < p.length ? p[pi] : undefined;
100
+ if (token === '*') {
101
+ starPi = pi;
102
+ starSi = si;
103
+ pi += 1;
104
+ }
105
+ else if (token === '?' || (token !== undefined && token === s[si])) {
106
+ pi += 1;
107
+ si += 1;
108
+ }
109
+ else if (starPi >= 0) {
110
+ // Let the most recent `*` swallow one more character and retry.
111
+ starSi += 1;
112
+ si = starSi;
113
+ pi = starPi + 1;
114
+ }
115
+ else {
116
+ return false;
117
+ }
118
+ }
119
+ while (pi < p.length && p[pi] === '*')
120
+ pi += 1;
121
+ return pi === p.length;
122
+ }
123
+ function parseAllowlistRule(entry) {
124
+ const source = entry.trim();
125
+ if (!source || source.startsWith('#'))
126
+ return undefined;
127
+ let rest = source;
128
+ let effect = 'allow';
129
+ const prefix = rest.match(EFFECT_PREFIX);
130
+ if (prefix) {
131
+ effect = prefix[1].toLowerCase();
132
+ rest = rest.slice(prefix[0].length).trim();
133
+ }
134
+ if (!rest)
135
+ return undefined;
136
+ let tool = rest;
137
+ let pattern;
138
+ const open = rest.indexOf('(');
139
+ if (open >= 0) {
140
+ if (!rest.endsWith(')'))
141
+ return undefined;
142
+ tool = rest.slice(0, open).trim();
143
+ pattern = rest.slice(open + 1, -1).trim();
144
+ // `tool()` is meaningless: an empty glob would only match an empty subject
145
+ // and is far more likely to be a typo than an intentional rule.
146
+ if (!pattern)
147
+ return undefined;
148
+ }
149
+ if (!TOOL_NAME_RE.test(tool))
150
+ return undefined;
151
+ if (tool.includes('*') && tool !== '*')
152
+ return undefined;
153
+ return { source, effect, tool, pattern };
154
+ }
155
+ /** Parse raw `allowedTools` entries. Invalid entries are reported, never applied. */
156
+ function parseAllowlistRules(entries) {
157
+ const rules = [];
158
+ const invalid = [];
159
+ if (!entries)
160
+ return { rules, invalid };
161
+ for (const entry of entries) {
162
+ if (typeof entry !== 'string') {
163
+ invalid.push(String(entry));
164
+ continue;
165
+ }
166
+ const trimmed = entry.trim();
167
+ if (!trimmed || trimmed.startsWith('#'))
168
+ continue;
169
+ const rule = parseAllowlistRule(entry);
170
+ if (rule) {
171
+ rules.push(rule);
172
+ }
173
+ else {
174
+ invalid.push(trimmed);
175
+ }
176
+ }
177
+ return { rules, invalid };
178
+ }
179
+ // ============================================================================
180
+ // Matching
181
+ // ============================================================================
182
+ /** Derive the canonical subject a pattern is matched against. */
183
+ function describeAllowlistSubject(_toolName, args) {
184
+ if (!args)
185
+ return undefined;
186
+ for (const key of exports.SUBJECT_ARG_KEYS) {
187
+ const value = args[key];
188
+ if (typeof value === 'string') {
189
+ const normalized = value.replace(/\s+/g, ' ').trim();
190
+ if (normalized)
191
+ return normalized;
192
+ }
193
+ }
194
+ return undefined;
195
+ }
196
+ function ruleMatches(rule, toolName, subject) {
197
+ if (rule.tool !== '*' && rule.tool !== toolName)
198
+ return false;
199
+ if (rule.pattern === undefined)
200
+ return true;
201
+ if (subject === undefined) {
202
+ // Unknown subject: restrictive rules still apply (fail closed), permissive
203
+ // ones do not (never auto-approve something we could not inspect).
204
+ return rule.effect !== 'allow';
205
+ }
206
+ return globMatches(rule.pattern, subject);
207
+ }
208
+ /**
209
+ * Evaluate a tool call against parsed rules.
210
+ * Returns the most restrictive matching rule, or undefined when nothing matched.
211
+ */
212
+ function matchAllowlistRules(rules, toolName, args) {
213
+ if (rules.length === 0)
214
+ return undefined;
215
+ const subject = describeAllowlistSubject(toolName, args);
216
+ let winner;
217
+ for (const rule of rules) {
218
+ if (!ruleMatches(rule, toolName, subject))
219
+ continue;
220
+ if (!winner || EFFECT_RANK[rule.effect] > EFFECT_RANK[winner.effect]) {
221
+ winner = rule;
222
+ if (winner.effect === 'deny')
223
+ break;
224
+ }
225
+ }
226
+ return winner ? { effect: winner.effect, rule: winner.source } : undefined;
227
+ }
228
+ /** Build a pure evaluator from parsed rules. Returns undefined when there is nothing to enforce. */
229
+ function createAllowlistEvaluator(rules) {
230
+ if (rules.length === 0)
231
+ return undefined;
232
+ const frozen = [...rules];
233
+ return (toolName, args) => matchAllowlistRules(frozen, toolName, args ?? {});
234
+ }
235
+ /**
236
+ * Load and compile the allowlist for a project path.
237
+ * Missing/empty configuration yields no evaluator, i.e. unchanged behaviour.
238
+ */
239
+ function resolveProjectToolAllowlist(projectPath) {
240
+ let entries;
241
+ try {
242
+ entries = (0, global_config_1.getProjectConfig)(projectPath).allowedTools;
243
+ }
244
+ catch {
245
+ entries = undefined;
246
+ }
247
+ const parsed = parseAllowlistRules(entries);
248
+ return { ...parsed, evaluator: createAllowlistEvaluator(parsed.rules) };
249
+ }
250
+ //# sourceMappingURL=tool-allowlist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-allowlist.js","sourceRoot":"","sources":["../../src/services/tool-allowlist.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,7 @@ export interface UsageLedgerSummary {
45
45
  providerCost: number;
46
46
  estimatedCost: number;
47
47
  recordCount: number;
48
+ droppedCorruptLines: number;
48
49
  bySource: Record<CostSource, {
49
50
  cost: number;
50
51
  count: number;
@@ -1 +1 @@
1
- {"version":3,"file":"usage-state.d.ts","sourceRoot":"","sources":["../../src/services/usage-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1E;AAgGD,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAoBpD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,qBAAoB,GAAG,kBAAkB,CAqBpF;AA0DD,wBAAgB,cAAc,IAAI,UAAU,CAc3C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAQtD;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,GAClD,UAAU,CAUZ;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMnE;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,gBAAgB,CAqBlB"}
1
+ {"version":3,"file":"usage-state.d.ts","sourceRoot":"","sources":["../../src/services/usage-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGpE,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,CAAC,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1E;AAyHD,wBAAgB,eAAe,IAAI,gBAAgB,EAAE,CAEpD;AAED,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAuBrF;AA0DD,wBAAgB,cAAc,IAAI,UAAU,CAgB3C;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAUtD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,GAAG,UAAU,CAchG;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKnE;AA6BD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACzD,gBAAgB,CAwBlB"}
@@ -18,7 +18,9 @@ exports.appendUsageRecord = appendUsageRecord;
18
18
  const fs_1 = require("fs");
19
19
  const crypto_1 = require("crypto");
20
20
  const atomic_write_1 = require("./atomic-write");
21
+ const file_lock_1 = require("./file-lock");
21
22
  const config_dir_1 = require("./config-dir");
23
+ const debug_log_1 = require("../utils/debug-log");
22
24
  const USAGE_SCHEMA_VERSION = 2;
23
25
  function nowIso() {
24
26
  return new Date().toISOString();
@@ -42,9 +44,9 @@ function hasLegacyUsageFields(value) {
42
44
  if (!value || typeof value !== 'object')
43
45
  return false;
44
46
  const record = value;
45
- return (record.totalSessions !== undefined
46
- || record.totalTokens !== undefined
47
- || record.totalCost !== undefined);
47
+ return (record.totalSessions !== undefined ||
48
+ record.totalTokens !== undefined ||
49
+ record.totalCost !== undefined);
48
50
  }
49
51
  function emptyLedgerSummary() {
50
52
  return {
@@ -55,6 +57,7 @@ function emptyLedgerSummary() {
55
57
  providerCost: 0,
56
58
  estimatedCost: 0,
57
59
  recordCount: 0,
60
+ droppedCorruptLines: 0,
58
61
  bySource: {
59
62
  provider: { cost: 0, count: 0 },
60
63
  configured: { cost: 0, count: 0 },
@@ -65,10 +68,7 @@ function emptyLedgerSummary() {
65
68
  };
66
69
  }
67
70
  function isCostSource(value) {
68
- return value === 'provider'
69
- || value === 'configured'
70
- || value === 'builtin'
71
- || value === 'fallback';
71
+ return (value === 'provider' || value === 'configured' || value === 'builtin' || value === 'fallback');
72
72
  }
73
73
  function normalizeLedgerEntry(value) {
74
74
  if (!value || typeof value !== 'object')
@@ -95,34 +95,42 @@ function normalizeLedgerEntry(value) {
95
95
  ...(typeof entry.taskId === 'string' ? { taskId: entry.taskId } : {}),
96
96
  };
97
97
  }
98
- function loadUsageLedger() {
98
+ function readUsageLedger() {
99
99
  const path = (0, config_dir_1.getUsageLedgerPath)();
100
100
  if (!(0, fs_1.existsSync)(path))
101
- return [];
101
+ return { entries: [], droppedCorruptLines: 0 };
102
102
  const entries = [];
103
103
  const seen = new Set();
104
- for (const line of (0, fs_1.readFileSync)(path, 'utf-8').split('\n')) {
104
+ let droppedCorruptLines = 0;
105
+ const lines = (0, fs_1.readFileSync)(path, 'utf-8').split('\n');
106
+ for (const [index, line] of lines.entries()) {
105
107
  if (!line.trim())
106
108
  continue;
107
109
  try {
108
110
  const entry = normalizeLedgerEntry(JSON.parse(line));
109
111
  if (!entry)
110
- continue;
112
+ throw new Error('ledger entry failed validation');
111
113
  const dedupeKey = entry.requestId || entry.id;
112
114
  if (seen.has(dedupeKey))
113
115
  continue;
114
116
  seen.add(dedupeKey);
115
117
  entries.push(entry);
116
118
  }
117
- catch {
118
- // Ignore a corrupt or interrupted trailing line; earlier records remain valid.
119
+ catch (error) {
120
+ droppedCorruptLines++;
121
+ (0, debug_log_1.debugError)('usage-state.ledgerLine', error, `${path}:${index + 1}`);
119
122
  }
120
123
  }
121
- return entries;
124
+ return { entries, droppedCorruptLines };
122
125
  }
123
- function summarizeUsageLedger(entries = loadUsageLedger()) {
126
+ function loadUsageLedger() {
127
+ return readUsageLedger().entries;
128
+ }
129
+ function summarizeUsageLedger(entries) {
130
+ const read = entries ? { entries, droppedCorruptLines: 0 } : readUsageLedger();
124
131
  const summary = emptyLedgerSummary();
125
- for (const entry of entries) {
132
+ summary.droppedCorruptLines = read.droppedCorruptLines;
133
+ for (const entry of read.entries) {
126
134
  summary.promptTokens += entry.promptTokens;
127
135
  summary.completionTokens += entry.completionTokens;
128
136
  summary.totalTokens += entry.totalTokens;
@@ -189,47 +197,72 @@ function stripLegacyUsageFields() {
189
197
  function loadUsageState() {
190
198
  (0, config_dir_1.ensureConfigDir)();
191
199
  const existing = readJsonFile((0, config_dir_1.getUsageStatePath)());
192
- let stored = normalizeStoredUsage(existing);
193
- if (!existing) {
194
- const legacy = readJsonFile((0, config_dir_1.getGlobalConfigPath)());
195
- if (hasLegacyUsageFields(legacy))
196
- stored = normalizeStoredUsage(legacy);
197
- }
198
- const state = buildUsageState(stored);
199
- writeUsageState(state);
200
- stripLegacyUsageFields();
201
- return state;
200
+ if (existing)
201
+ return buildUsageState(normalizeStoredUsage(existing));
202
+ const legacy = readJsonFile((0, config_dir_1.getGlobalConfigPath)());
203
+ if (!hasLegacyUsageFields(legacy))
204
+ return buildUsageState(normalizeStoredUsage(null));
205
+ return withUsageStateLock(() => {
206
+ const current = readJsonFile((0, config_dir_1.getUsageStatePath)());
207
+ if (current)
208
+ return buildUsageState(normalizeStoredUsage(current));
209
+ const state = buildUsageState(normalizeStoredUsage(legacy));
210
+ writeUsageState(state);
211
+ stripLegacyUsageFields();
212
+ return state;
213
+ });
202
214
  }
203
215
  function saveUsageState(state) {
204
- const normalized = buildUsageState({
205
- totalSessions: toNonNegativeNumber(state.totalSessions),
206
- baselineTokens: toNonNegativeNumber(state.baselineTokens),
207
- baselineCost: toNonNegativeNumber(state.baselineCost),
208
- updatedAt: nowIso(),
216
+ withUsageStateLock(() => {
217
+ const normalized = buildUsageState({
218
+ totalSessions: toNonNegativeNumber(state.totalSessions),
219
+ baselineTokens: toNonNegativeNumber(state.baselineTokens),
220
+ baselineCost: toNonNegativeNumber(state.baselineCost),
221
+ updatedAt: nowIso(),
222
+ });
223
+ writeUsageState(normalized);
209
224
  });
210
- writeUsageState(normalized);
211
225
  }
212
226
  function updateUsageState(updates) {
213
- const current = loadUsageState();
214
- const next = buildUsageState({
215
- totalSessions: toNonNegativeNumber(updates.totalSessions ?? current.totalSessions),
216
- baselineTokens: toNonNegativeNumber(updates.baselineTokens ?? current.baselineTokens),
217
- baselineCost: toNonNegativeNumber(updates.baselineCost ?? current.baselineCost),
218
- updatedAt: nowIso(),
227
+ return withUsageStateLock(() => {
228
+ const current = buildUsageState(normalizeStoredUsage(readJsonFile((0, config_dir_1.getUsageStatePath)()) ?? readJsonFile((0, config_dir_1.getGlobalConfigPath)())));
229
+ const next = buildUsageState({
230
+ totalSessions: toNonNegativeNumber(updates.totalSessions ?? current.totalSessions),
231
+ baselineTokens: toNonNegativeNumber(updates.baselineTokens ?? current.baselineTokens),
232
+ baselineCost: toNonNegativeNumber(updates.baselineCost ?? current.baselineCost),
233
+ updatedAt: nowIso(),
234
+ });
235
+ writeUsageState(next);
236
+ return next;
219
237
  });
220
- writeUsageState(next);
221
- return next;
222
238
  }
223
239
  function incrementSessionCount() {
224
- const state = loadUsageState();
225
- updateUsageState({ totalSessions: state.totalSessions + 1 });
240
+ updateUsageBaseline(state => ({ totalSessions: state.totalSessions + 1 }));
226
241
  }
227
242
  /** Compatibility API: adds non-ledger counters to the pre-ledger baseline. */
228
243
  function updateTokenStats(tokens, cost) {
229
- const state = loadUsageState();
230
- updateUsageState({
244
+ updateUsageBaseline(state => ({
231
245
  baselineTokens: state.baselineTokens + Math.max(0, tokens),
232
246
  baselineCost: state.baselineCost + Math.max(0, cost),
247
+ }));
248
+ }
249
+ function withUsageStateLock(operation) {
250
+ (0, config_dir_1.ensureConfigDir)();
251
+ return (0, file_lock_1.withFileLockSync)((0, config_dir_1.getUsageStatePath)(), operation);
252
+ }
253
+ function updateUsageBaseline(update) {
254
+ return withUsageStateLock(() => {
255
+ const stored = normalizeStoredUsage(readJsonFile((0, config_dir_1.getUsageStatePath)()) ?? readJsonFile((0, config_dir_1.getGlobalConfigPath)()));
256
+ const current = buildUsageState(stored);
257
+ const changes = update(current);
258
+ const next = buildUsageState({
259
+ totalSessions: toNonNegativeNumber(changes.totalSessions ?? current.totalSessions),
260
+ baselineTokens: toNonNegativeNumber(changes.baselineTokens ?? current.baselineTokens),
261
+ baselineCost: toNonNegativeNumber(changes.baselineCost ?? current.baselineCost),
262
+ updatedAt: nowIso(),
263
+ });
264
+ writeUsageState(next);
265
+ return next;
233
266
  });
234
267
  }
235
268
  function appendUsageRecord(record, context = {}) {
@@ -251,7 +284,10 @@ function appendUsageRecord(record, context = {}) {
251
284
  ...(record.agentId ? { agentId: record.agentId } : {}),
252
285
  ...(record.taskId ? { taskId: record.taskId } : {}),
253
286
  };
254
- (0, fs_1.appendFileSync)((0, config_dir_1.getUsageLedgerPath)(), `${JSON.stringify(entry)}\n`, { encoding: 'utf-8', mode: 0o600 });
287
+ (0, fs_1.appendFileSync)((0, config_dir_1.getUsageLedgerPath)(), `${JSON.stringify(entry)}\n`, {
288
+ encoding: 'utf-8',
289
+ mode: 0o600,
290
+ });
255
291
  return entry;
256
292
  }
257
293
  //# sourceMappingURL=usage-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usage-state.js","sourceRoot":"","sources":["../../src/services/usage-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-state.js","sourceRoot":"","sources":["../../src/services/usage-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verification-profile.d.ts","sourceRoot":"","sources":["../../src/services/verification-profile.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,2BAA2B,CA2DlF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,SAAI,GAAG,OAAO,CAE1E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAE1E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAuBjF;AAkCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAS9D;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,yBAAyB,GAAG,IAAI,CAUnC;AA4BD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,yBAAyB,EAAE,GACnC,mBAAmB,CAgCrB;AAwBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAiFlG"}
1
+ {"version":3,"file":"verification-profile.d.ts","sourceRoot":"","sources":["../../src/services/verification-profile.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACxC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,2BAA2B,CA2DlF;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,SAAI,GAAG,OAAO,CAE1E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAE1E;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAuBjF;AAkCD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAS9D;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,yBAAyB,GAAG,IAAI,CAUnC;AA4BD,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,yBAAyB,EAAE,GACnC,mBAAmB,CAoDrB;AAwBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAiFlG"}
@@ -174,9 +174,23 @@ function passedCommandCoversExpected(passed, expected) {
174
174
  return false;
175
175
  }
176
176
  function summarizeVerificationState(profile, results) {
177
- const commandsRun = [...new Set(results.map(result => normalizeCommand(result.command)))];
178
- const passedCommands = [...new Set(results.filter(result => result.success).map(result => normalizeCommand(result.command)))];
179
- const failedCommands = [...new Set(results.filter(result => !result.success).map(result => normalizeCommand(result.command)))];
177
+ // `results` is a turn-scoped accumulator, not a per-command state map. Fold
178
+ // it down to the *latest* outcome per normalized command before deriving the
179
+ // gate: otherwise the ordinary build -> fail -> fix -> rebuild -> pass loop
180
+ // leaves the command in both `passedCommands` and `failedCommands`, and
181
+ // `claimAllowed` stays false for the rest of the turn even though everything
182
+ // now passes. The full history is still available to callers for display.
183
+ const latestByCommand = new Map();
184
+ for (const result of results) {
185
+ latestByCommand.set(normalizeCommand(result.command), result);
186
+ }
187
+ const commandsRun = [...latestByCommand.keys()];
188
+ const passedCommands = [...latestByCommand.entries()]
189
+ .filter(([, result]) => result.success)
190
+ .map(([command]) => command);
191
+ const failedCommands = [...latestByCommand.entries()]
192
+ .filter(([, result]) => !result.success)
193
+ .map(([command]) => command);
180
194
  const expectedCommands = profile.commands.map(normalizeCommand);
181
195
  const missingCommands = expectedCommands.filter(command => !passedCommands.some(passed => passedCommandCoversExpected(passed, command)));
182
196
  let skippedReason;
@@ -192,6 +206,12 @@ function summarizeVerificationState(profile, results) {
192
206
  else if (missingCommands.length > 0) {
193
207
  skippedReason = 'Some expected verification commands have not passed yet.';
194
208
  }
209
+ else if (failedCommands.length > 0) {
210
+ // Every expected command passed but some other verification command is
211
+ // still red. Say so explicitly — the caller used to fall back to
212
+ // "verification checks not run", which contradicts what the user just saw.
213
+ skippedReason = `Verification command(s) still failing: ${failedCommands.join(', ')}.`;
214
+ }
195
215
  return {
196
216
  profile: profile.profile,
197
217
  required: profile.required,
@@ -1 +1 @@
1
- {"version":3,"file":"verification-profile.js","sourceRoot":"","sources":["../../src/services/verification-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-profile.js","sourceRoot":"","sources":["../../src/services/verification-profile.ts"],"names":[],"mappings":"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"}