voratiq 0.1.0-beta.2 → 0.1.0-beta.21

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 (527) hide show
  1. package/README.md +41 -29
  2. package/dist/agents/launch/chat.d.ts +23 -0
  3. package/dist/agents/launch/chat.js +44 -0
  4. package/dist/agents/launch/environment.d.ts +8 -0
  5. package/dist/{commands/run/agents/workspace-prep.js → agents/launch/environment.js} +5 -27
  6. package/dist/agents/launch/prompt.d.ts +6 -0
  7. package/dist/agents/launch/prompt.js +12 -0
  8. package/dist/agents/launch/provider-state.d.ts +39 -0
  9. package/dist/agents/launch/provider-state.js +103 -0
  10. package/dist/agents/runtime/auth.d.ts +27 -0
  11. package/dist/agents/runtime/auth.js +72 -0
  12. package/dist/agents/runtime/chat.d.ts +5 -0
  13. package/dist/agents/runtime/chat.js +7 -0
  14. package/dist/agents/runtime/errors.d.ts +27 -0
  15. package/dist/agents/runtime/errors.js +51 -0
  16. package/dist/{commands/run/agents → agents/runtime}/failures.d.ts +0 -1
  17. package/dist/agents/runtime/failures.js +136 -0
  18. package/dist/agents/runtime/harness.d.ts +2 -0
  19. package/dist/agents/runtime/harness.js +119 -0
  20. package/dist/{commands/run/agents/sandbox-launcher.d.ts → agents/runtime/launcher.d.ts} +18 -6
  21. package/dist/{commands/run/agents/sandbox-launcher.js → agents/runtime/launcher.js} +17 -39
  22. package/dist/{commands/run/agents/workspace-prep.d.ts → agents/runtime/manifest.d.ts} +6 -6
  23. package/dist/agents/runtime/manifest.js +34 -0
  24. package/dist/agents/runtime/policy.d.ts +32 -0
  25. package/dist/agents/runtime/policy.js +240 -0
  26. package/dist/agents/runtime/registry.d.ts +4 -0
  27. package/dist/agents/runtime/registry.js +54 -0
  28. package/dist/{commands/run → agents/runtime}/sandbox.d.ts +8 -2
  29. package/dist/{commands/run → agents/runtime}/sandbox.js +28 -67
  30. package/dist/agents/runtime/shim/run-agent-shim.d.ts +1 -0
  31. package/dist/agents/runtime/shim/run-agent-shim.js +276 -0
  32. package/dist/agents/runtime/types.d.ts +91 -0
  33. package/dist/{commands/run/agents → agents/runtime}/watchdog.d.ts +4 -3
  34. package/dist/{commands/run/agents → agents/runtime}/watchdog.js +155 -26
  35. package/dist/auth/providers/codex.js +7 -2
  36. package/dist/auth/providers/gemini.js +14 -6
  37. package/dist/auth/providers/types.d.ts +1 -0
  38. package/dist/auth/providers/utils.d.ts +0 -1
  39. package/dist/auth/providers/utils.js +1 -49
  40. package/dist/bin.js +369 -71
  41. package/dist/cli/apply.d.ts +4 -0
  42. package/dist/cli/apply.js +28 -9
  43. package/dist/cli/auto.d.ts +32 -0
  44. package/dist/cli/auto.js +232 -0
  45. package/dist/cli/contract.d.ts +328 -0
  46. package/dist/cli/contract.js +480 -0
  47. package/dist/cli/errors.d.ts +3 -0
  48. package/dist/cli/errors.js +21 -3
  49. package/dist/cli/init.d.ts +5 -0
  50. package/dist/cli/init.js +34 -6
  51. package/dist/cli/list.d.ts +6 -4
  52. package/dist/cli/list.js +39 -16
  53. package/dist/cli/mcp.d.ts +2 -0
  54. package/dist/cli/mcp.js +16 -0
  55. package/dist/cli/message.d.ts +28 -0
  56. package/dist/cli/message.js +147 -0
  57. package/dist/cli/operator-envelope.d.ts +180 -0
  58. package/dist/cli/operator-envelope.js +425 -0
  59. package/dist/cli/output.d.ts +15 -1
  60. package/dist/cli/output.js +153 -5
  61. package/dist/cli/prune.d.ts +7 -3
  62. package/dist/cli/prune.js +57 -12
  63. package/dist/cli/reduce.d.ts +29 -0
  64. package/dist/cli/reduce.js +211 -0
  65. package/dist/cli/root-launcher.d.ts +4 -0
  66. package/dist/cli/root-launcher.js +15 -0
  67. package/dist/cli/run.d.ts +27 -1
  68. package/dist/cli/run.js +108 -16
  69. package/dist/cli/spec.d.ts +31 -0
  70. package/dist/cli/spec.js +180 -0
  71. package/dist/cli/verify.d.ts +35 -0
  72. package/dist/cli/verify.js +297 -0
  73. package/dist/commands/apply/command.d.ts +2 -0
  74. package/dist/commands/apply/command.js +145 -6
  75. package/dist/commands/apply/errors.d.ts +43 -4
  76. package/dist/commands/apply/errors.js +100 -22
  77. package/dist/commands/apply/types.d.ts +2 -1
  78. package/dist/commands/auto/command.d.ts +145 -0
  79. package/dist/commands/auto/command.js +433 -0
  80. package/dist/commands/auto/errors.d.ts +19 -0
  81. package/dist/commands/auto/errors.js +19 -0
  82. package/dist/commands/auto/validation.d.ts +14 -0
  83. package/dist/commands/auto/validation.js +90 -0
  84. package/dist/commands/fetch.d.ts +2 -2
  85. package/dist/commands/fetch.js +4 -4
  86. package/dist/commands/init/agents.d.ts +2 -1
  87. package/dist/commands/init/agents.js +66 -63
  88. package/dist/commands/init/command.js +300 -16
  89. package/dist/commands/init/types.d.ts +18 -7
  90. package/dist/commands/interactive/lifecycle.d.ts +15 -0
  91. package/dist/commands/interactive/lifecycle.js +141 -0
  92. package/dist/commands/list/command.d.ts +10 -3
  93. package/dist/commands/list/command.js +597 -40
  94. package/dist/commands/message/command.d.ts +23 -0
  95. package/dist/commands/message/command.js +215 -0
  96. package/dist/commands/message/errors.d.ts +9 -0
  97. package/dist/commands/message/errors.js +20 -0
  98. package/dist/commands/message/lifecycle.d.ts +14 -0
  99. package/dist/commands/message/lifecycle.js +128 -0
  100. package/dist/commands/prune/command.d.ts +2 -1
  101. package/dist/commands/prune/command.js +61 -10
  102. package/dist/commands/prune/errors.d.ts +1 -1
  103. package/dist/commands/prune/errors.js +5 -5
  104. package/dist/commands/prune/types.d.ts +21 -0
  105. package/dist/commands/reduce/command.d.ts +26 -0
  106. package/dist/commands/reduce/command.js +145 -0
  107. package/dist/commands/reduce/errors.d.ts +17 -0
  108. package/dist/commands/reduce/errors.js +32 -0
  109. package/dist/commands/reduce/targets.d.ts +11 -0
  110. package/dist/commands/reduce/targets.js +271 -0
  111. package/dist/commands/root-launcher/command.d.ts +31 -0
  112. package/dist/commands/root-launcher/command.js +233 -0
  113. package/dist/commands/run/command.d.ts +6 -1
  114. package/dist/commands/run/command.js +70 -40
  115. package/dist/commands/run/lifecycle.d.ts +7 -5
  116. package/dist/commands/run/lifecycle.js +45 -23
  117. package/dist/commands/run/record-init.d.ts +4 -1
  118. package/dist/commands/run/record-init.js +5 -2
  119. package/dist/commands/run/shim/run-agent-shim.d.ts +2 -1
  120. package/dist/commands/run/shim/run-agent-shim.js +4 -219
  121. package/dist/commands/run/validation.d.ts +2 -3
  122. package/dist/commands/run/validation.js +54 -25
  123. package/dist/commands/shared/max-parallel.d.ts +5 -0
  124. package/dist/commands/shared/max-parallel.js +15 -0
  125. package/dist/commands/shared/preview.d.ts +10 -0
  126. package/dist/commands/shared/preview.js +60 -0
  127. package/dist/commands/shared/resolve-reduction-competitors.d.ts +15 -0
  128. package/dist/commands/shared/resolve-reduction-competitors.js +13 -0
  129. package/dist/commands/shared/resolve-stage-competitors.d.ts +19 -0
  130. package/dist/commands/shared/resolve-stage-competitors.js +171 -0
  131. package/dist/commands/shared/session-id.d.ts +1 -0
  132. package/dist/commands/shared/session-id.js +1 -0
  133. package/dist/commands/spec/command.d.ts +22 -0
  134. package/dist/commands/spec/command.js +330 -0
  135. package/dist/commands/spec/errors.d.ts +11 -0
  136. package/dist/commands/spec/errors.js +23 -0
  137. package/dist/commands/verify/agents.d.ts +8 -0
  138. package/dist/commands/verify/agents.js +29 -0
  139. package/dist/commands/verify/command.d.ts +23 -0
  140. package/dist/commands/verify/command.js +168 -0
  141. package/dist/commands/verify/lifecycle.d.ts +14 -0
  142. package/dist/commands/verify/lifecycle.js +229 -0
  143. package/dist/commands/verify/max-parallel.d.ts +7 -0
  144. package/dist/commands/verify/max-parallel.js +15 -0
  145. package/dist/commands/verify/targets.d.ts +18 -0
  146. package/dist/commands/verify/targets.js +420 -0
  147. package/dist/competition/command-adapter.d.ts +35 -0
  148. package/dist/competition/command-adapter.js +20 -0
  149. package/dist/competition/core.d.ts +41 -0
  150. package/dist/competition/core.js +181 -0
  151. package/dist/competition/shared/extra-context.d.ts +14 -0
  152. package/dist/competition/shared/extra-context.js +100 -0
  153. package/dist/competition/shared/preflight.d.ts +11 -0
  154. package/dist/competition/shared/preflight.js +39 -0
  155. package/dist/competition/shared/prompt-helpers.d.ts +16 -0
  156. package/dist/competition/shared/prompt-helpers.js +27 -0
  157. package/dist/competition/shared/prune.d.ts +1 -0
  158. package/dist/competition/shared/prune.js +4 -0
  159. package/dist/competition/shared/sandbox-policy.d.ts +9 -0
  160. package/dist/competition/shared/sandbox-policy.js +7 -0
  161. package/dist/competition/shared/teardown.d.ts +36 -0
  162. package/dist/competition/shared/teardown.js +101 -0
  163. package/dist/configs/agents/defaults.d.ts +31 -2
  164. package/dist/configs/agents/defaults.js +346 -30
  165. package/dist/configs/agents/errors.js +14 -11
  166. package/dist/configs/agents/loader.d.ts +11 -1
  167. package/dist/configs/agents/loader.js +71 -4
  168. package/dist/configs/agents/types.js +2 -2
  169. package/dist/configs/environment/detect.js +9 -4
  170. package/dist/configs/environment/errors.js +4 -4
  171. package/dist/configs/environment/loader.d.ts +1 -1
  172. package/dist/configs/environment/loader.js +3 -3
  173. package/dist/configs/orchestration/bootstrap.d.ts +16 -0
  174. package/dist/configs/orchestration/bootstrap.js +122 -0
  175. package/dist/configs/orchestration/errors.d.ts +15 -0
  176. package/dist/configs/orchestration/errors.js +28 -0
  177. package/dist/configs/orchestration/loader.d.ts +9 -0
  178. package/dist/configs/orchestration/loader.js +148 -0
  179. package/dist/configs/orchestration/types.d.ts +102 -0
  180. package/dist/configs/orchestration/types.js +65 -0
  181. package/dist/configs/sandbox/defaults.js +14 -4
  182. package/dist/configs/sandbox/errors.d.ts +1 -1
  183. package/dist/configs/sandbox/errors.js +1 -1
  184. package/dist/configs/sandbox/loader.js +6 -4
  185. package/dist/configs/sandbox/schemas.js +4 -2
  186. package/dist/configs/settings/loader.d.ts +7 -0
  187. package/dist/configs/settings/loader.js +81 -0
  188. package/dist/configs/settings/types.d.ts +47 -0
  189. package/dist/configs/settings/types.js +23 -0
  190. package/dist/configs/verification/errors.d.ts +11 -0
  191. package/dist/configs/verification/errors.js +21 -0
  192. package/dist/configs/verification/loader.d.ts +8 -0
  193. package/dist/configs/verification/loader.js +43 -0
  194. package/dist/configs/verification/methods.d.ts +35 -0
  195. package/dist/configs/verification/methods.js +41 -0
  196. package/dist/configs/verification/programmatic-defaults.d.ts +10 -0
  197. package/dist/configs/verification/programmatic-defaults.js +42 -0
  198. package/dist/configs/verification/programmatic-detect.d.ts +10 -0
  199. package/dist/configs/{evals/detect.js → verification/programmatic-detect.js} +22 -33
  200. package/dist/configs/verification/types.d.ts +49 -0
  201. package/dist/configs/verification/types.js +45 -0
  202. package/dist/contracts/list.d.ts +207 -0
  203. package/dist/contracts/list.js +154 -0
  204. package/dist/domain/interactive/model/types.d.ts +104 -0
  205. package/dist/domain/interactive/model/types.js +83 -0
  206. package/dist/domain/interactive/persistence/adapter.d.ts +39 -0
  207. package/dist/domain/interactive/persistence/adapter.js +144 -0
  208. package/dist/domain/interactive/prompt.d.ts +3 -0
  209. package/dist/domain/interactive/prompt.js +7 -0
  210. package/dist/domain/message/competition/adapter.d.ts +36 -0
  211. package/dist/domain/message/competition/adapter.js +197 -0
  212. package/dist/domain/message/competition/prompt.d.ts +8 -0
  213. package/dist/domain/message/competition/prompt.js +29 -0
  214. package/dist/domain/message/model/mutators.d.ts +17 -0
  215. package/dist/domain/message/model/mutators.js +107 -0
  216. package/dist/domain/message/model/types.d.ts +100 -0
  217. package/dist/domain/message/model/types.js +87 -0
  218. package/dist/domain/message/persistence/adapter.d.ts +43 -0
  219. package/dist/domain/message/persistence/adapter.js +124 -0
  220. package/dist/domain/reduce/competition/adapter.d.ts +42 -0
  221. package/dist/domain/reduce/competition/adapter.js +826 -0
  222. package/dist/domain/reduce/competition/output-validation.d.ts +4 -0
  223. package/dist/domain/reduce/competition/output-validation.js +18 -0
  224. package/dist/domain/reduce/competition/prompt.d.ts +10 -0
  225. package/dist/domain/reduce/competition/prompt.js +96 -0
  226. package/dist/domain/reduce/competition/reduction.d.ts +9 -0
  227. package/dist/domain/reduce/competition/reduction.js +32 -0
  228. package/dist/domain/reduce/model/types.d.ts +122 -0
  229. package/dist/domain/reduce/model/types.js +84 -0
  230. package/dist/domain/reduce/persistence/adapter.d.ts +43 -0
  231. package/dist/domain/reduce/persistence/adapter.js +126 -0
  232. package/dist/domain/run/competition/adapter.d.ts +30 -0
  233. package/dist/domain/run/competition/adapter.js +39 -0
  234. package/dist/domain/run/competition/agent-execution.d.ts +20 -0
  235. package/dist/domain/run/competition/agent-execution.js +45 -0
  236. package/dist/domain/run/competition/agent-preparation.d.ts +12 -0
  237. package/dist/domain/run/competition/agent-preparation.js +24 -0
  238. package/dist/domain/run/competition/agents/artifacts.d.ts +17 -0
  239. package/dist/domain/run/competition/agents/artifacts.js +173 -0
  240. package/dist/{commands/run → domain/run/competition}/agents/lifecycle.d.ts +3 -3
  241. package/dist/{commands/run → domain/run/competition}/agents/lifecycle.js +84 -64
  242. package/dist/domain/run/competition/agents/post-processing.d.ts +12 -0
  243. package/dist/domain/run/competition/agents/post-processing.js +4 -0
  244. package/dist/domain/run/competition/agents/preparation.js +64 -0
  245. package/dist/{commands/run → domain/run/competition}/agents/run-context.d.ts +9 -16
  246. package/dist/{commands/run → domain/run/competition}/agents/run-context.js +22 -70
  247. package/dist/{commands/run → domain/run/competition}/agents/types.d.ts +10 -13
  248. package/dist/domain/run/competition/agents/workspace.d.ts +21 -0
  249. package/dist/domain/run/competition/agents/workspace.js +47 -0
  250. package/dist/{commands/run → domain/run/competition}/errors.d.ts +8 -1
  251. package/dist/{commands/run → domain/run/competition}/errors.js +39 -9
  252. package/dist/{commands/run → domain/run/competition}/phases.d.ts +1 -2
  253. package/dist/domain/run/competition/phases.js +1 -0
  254. package/dist/domain/run/competition/prompt.d.ts +7 -0
  255. package/dist/domain/run/competition/prompt.js +27 -0
  256. package/dist/{commands/run → domain/run/competition}/reports.d.ts +5 -3
  257. package/dist/{commands/run → domain/run/competition}/reports.js +7 -19
  258. package/dist/domain/run/competition/termination-state.d.ts +4 -0
  259. package/dist/domain/run/competition/termination-state.js +12 -0
  260. package/dist/{records → domain/run/model}/enhanced.d.ts +6 -7
  261. package/dist/{records → domain/run/model}/enhanced.js +11 -11
  262. package/dist/{records → domain/run/model}/errors.d.ts +1 -1
  263. package/dist/{records → domain/run/model}/errors.js +5 -5
  264. package/dist/{records → domain/run/model}/mutators.d.ts +4 -3
  265. package/dist/{records → domain/run/model}/mutators.js +58 -36
  266. package/dist/domain/run/model/types.d.ts +376 -0
  267. package/dist/domain/run/model/types.js +192 -0
  268. package/dist/{records/persistence.d.ts → domain/run/persistence/adapter.d.ts} +9 -3
  269. package/dist/domain/run/persistence/adapter.js +340 -0
  270. package/dist/domain/run/persistence/error-mapping.d.ts +2 -0
  271. package/dist/domain/run/persistence/error-mapping.js +17 -0
  272. package/dist/domain/shared/lifecycle.d.ts +54 -0
  273. package/dist/domain/shared/lifecycle.js +165 -0
  274. package/dist/domain/shared/token-usage.d.ts +21 -0
  275. package/dist/domain/shared/token-usage.js +38 -0
  276. package/dist/domain/spec/competition/adapter.d.ts +31 -0
  277. package/dist/domain/spec/competition/adapter.js +196 -0
  278. package/dist/domain/spec/competition/prompt.d.ts +11 -0
  279. package/dist/domain/spec/competition/prompt.js +44 -0
  280. package/dist/domain/spec/model/output.d.ts +13 -0
  281. package/dist/domain/spec/model/output.js +36 -0
  282. package/dist/domain/spec/model/types.d.ts +98 -0
  283. package/dist/domain/spec/model/types.js +84 -0
  284. package/dist/domain/spec/persistence/adapter.d.ts +51 -0
  285. package/dist/domain/spec/persistence/adapter.js +140 -0
  286. package/dist/domain/verify/blinding/aliases.d.ts +7 -0
  287. package/dist/domain/verify/blinding/aliases.js +23 -0
  288. package/dist/domain/verify/competition/adapter.d.ts +54 -0
  289. package/dist/domain/verify/competition/adapter.js +444 -0
  290. package/dist/domain/verify/competition/artifacts.d.ts +6 -0
  291. package/dist/domain/verify/competition/artifacts.js +7 -0
  292. package/dist/domain/verify/competition/blinding.d.ts +24 -0
  293. package/dist/domain/verify/competition/blinding.js +109 -0
  294. package/dist/domain/verify/competition/finalize.d.ts +11 -0
  295. package/dist/domain/verify/competition/finalize.js +65 -0
  296. package/dist/domain/verify/competition/programmatic.d.ts +15 -0
  297. package/dist/domain/verify/competition/programmatic.js +352 -0
  298. package/dist/domain/verify/competition/prompt.d.ts +19 -0
  299. package/dist/domain/verify/competition/prompt.js +63 -0
  300. package/dist/domain/verify/competition/rubric.d.ts +23 -0
  301. package/dist/domain/verify/competition/rubric.js +77 -0
  302. package/dist/domain/verify/competition/shared-layout.d.ts +121 -0
  303. package/dist/domain/verify/competition/shared-layout.js +365 -0
  304. package/dist/domain/verify/competition/target.d.ts +47 -0
  305. package/dist/domain/verify/competition/target.js +1 -0
  306. package/dist/domain/verify/model/mutators.d.ts +16 -0
  307. package/dist/domain/verify/model/mutators.js +126 -0
  308. package/dist/domain/verify/model/types.d.ts +408 -0
  309. package/dist/domain/verify/model/types.js +289 -0
  310. package/dist/domain/verify/persistence/adapter.d.ts +43 -0
  311. package/dist/domain/verify/persistence/adapter.js +126 -0
  312. package/dist/domain/verify/programmatic/runner.d.ts +22 -0
  313. package/dist/domain/verify/programmatic/runner.js +209 -0
  314. package/dist/domain/verify/rubric-result.d.ts +28 -0
  315. package/dist/domain/verify/rubric-result.js +121 -0
  316. package/dist/extra-context/contract.d.ts +17 -0
  317. package/dist/extra-context/contract.js +60 -0
  318. package/dist/interactive/index.d.ts +2 -0
  319. package/dist/interactive/index.js +1 -0
  320. package/dist/interactive/providers/launch.d.ts +23 -0
  321. package/dist/interactive/providers/launch.js +203 -0
  322. package/dist/interactive/providers/mcp.d.ts +13 -0
  323. package/dist/interactive/providers/mcp.js +547 -0
  324. package/dist/interactive/providers/shared.d.ts +2 -0
  325. package/dist/interactive/providers/shared.js +1 -0
  326. package/dist/interactive/providers.d.ts +3 -0
  327. package/dist/interactive/providers.js +3 -0
  328. package/dist/interactive/records.d.ts +2 -0
  329. package/dist/interactive/records.js +1 -0
  330. package/dist/interactive/substrate.d.ts +21 -0
  331. package/dist/interactive/substrate.js +522 -0
  332. package/dist/interactive/types.d.ts +101 -0
  333. package/dist/interactive/types.js +1 -0
  334. package/dist/mcp/server.d.ts +88 -0
  335. package/dist/mcp/server.js +790 -0
  336. package/dist/persistence/error-mapping.d.ts +19 -0
  337. package/dist/persistence/error-mapping.js +44 -0
  338. package/dist/persistence/errors.d.ts +26 -0
  339. package/dist/persistence/errors.js +49 -0
  340. package/dist/persistence/extra-context.d.ts +9 -0
  341. package/dist/persistence/extra-context.js +60 -0
  342. package/dist/{records → persistence}/history-lock.js +2 -2
  343. package/dist/persistence/record-path-schema.d.ts +3 -0
  344. package/dist/persistence/record-path-schema.js +16 -0
  345. package/dist/persistence/session-store.d.ts +92 -0
  346. package/dist/persistence/session-store.js +412 -0
  347. package/dist/policy/auto.d.ts +13 -0
  348. package/dist/policy/auto.js +22 -0
  349. package/dist/policy/index.d.ts +5 -0
  350. package/dist/policy/index.js +5 -0
  351. package/dist/policy/resolution.d.ts +6 -0
  352. package/dist/policy/resolution.js +23 -0
  353. package/dist/policy/result.d.ts +53 -0
  354. package/dist/policy/result.js +15 -0
  355. package/dist/policy/selector.d.ts +11 -0
  356. package/dist/policy/selector.js +57 -0
  357. package/dist/policy/verification.d.ts +77 -0
  358. package/dist/policy/verification.js +365 -0
  359. package/dist/policy/verifier-selection.d.ts +13 -0
  360. package/dist/policy/verifier-selection.js +78 -0
  361. package/dist/preflight/branch.d.ts +9 -0
  362. package/dist/preflight/branch.js +48 -0
  363. package/dist/preflight/errors.d.ts +3 -0
  364. package/dist/preflight/errors.js +10 -3
  365. package/dist/preflight/index.d.ts +13 -0
  366. package/dist/preflight/index.js +43 -8
  367. package/dist/render/interactions/confirmation.js +4 -2
  368. package/dist/render/transcripts/apply.js +9 -10
  369. package/dist/render/transcripts/auto.d.ts +27 -0
  370. package/dist/render/transcripts/auto.js +21 -0
  371. package/dist/render/transcripts/init.d.ts +4 -15
  372. package/dist/render/transcripts/init.js +71 -72
  373. package/dist/render/transcripts/list.d.ts +10 -1
  374. package/dist/render/transcripts/list.js +121 -15
  375. package/dist/render/transcripts/message.d.ts +72 -0
  376. package/dist/render/transcripts/message.js +362 -0
  377. package/dist/render/transcripts/prune.d.ts +7 -2
  378. package/dist/render/transcripts/prune.js +64 -17
  379. package/dist/render/transcripts/reduce.d.ts +74 -0
  380. package/dist/render/transcripts/reduce.js +395 -0
  381. package/dist/render/transcripts/root-launcher.d.ts +19 -0
  382. package/dist/render/transcripts/root-launcher.js +40 -0
  383. package/dist/render/transcripts/run.d.ts +35 -6
  384. package/dist/render/transcripts/run.js +241 -165
  385. package/dist/render/transcripts/shared.d.ts +2 -0
  386. package/dist/render/transcripts/shared.js +11 -4
  387. package/dist/render/transcripts/spec.d.ts +74 -0
  388. package/dist/render/transcripts/spec.js +394 -0
  389. package/dist/render/transcripts/stage-progress.d.ts +22 -0
  390. package/dist/render/transcripts/stage-progress.js +6 -0
  391. package/dist/render/transcripts/update-check.d.ts +2 -0
  392. package/dist/render/transcripts/update-check.js +22 -0
  393. package/dist/render/transcripts/verify.d.ts +74 -0
  394. package/dist/render/transcripts/verify.js +409 -0
  395. package/dist/render/utils/agents.d.ts +10 -9
  396. package/dist/render/utils/agents.js +30 -82
  397. package/dist/render/utils/badges.d.ts +3 -20
  398. package/dist/render/utils/badges.js +3 -36
  399. package/dist/render/utils/duration.d.ts +12 -0
  400. package/dist/render/utils/duration.js +37 -0
  401. package/dist/render/utils/interactive-frame.d.ts +6 -0
  402. package/dist/render/utils/interactive-frame.js +38 -0
  403. package/dist/render/utils/records.js +4 -4
  404. package/dist/render/utils/runs.d.ts +3 -9
  405. package/dist/render/utils/runs.js +16 -48
  406. package/dist/render/utils/stage-output.d.ts +20 -0
  407. package/dist/render/utils/stage-output.js +44 -0
  408. package/dist/render/utils/timezone.d.ts +2 -0
  409. package/dist/render/utils/timezone.js +42 -0
  410. package/dist/render/utils/transcript-shell.d.ts +66 -0
  411. package/dist/render/utils/transcript-shell.js +155 -0
  412. package/dist/render/utils/transcript.d.ts +7 -1
  413. package/dist/render/utils/transcript.js +12 -2
  414. package/dist/render/utils/wrap.d.ts +1 -0
  415. package/dist/render/utils/wrap.js +20 -0
  416. package/dist/status/colors.d.ts +2 -3
  417. package/dist/status/colors.js +3 -3
  418. package/dist/status/index.d.ts +108 -8
  419. package/dist/status/index.js +164 -5
  420. package/dist/update-check/checker.d.ts +24 -0
  421. package/dist/update-check/checker.js +130 -0
  422. package/dist/update-check/prompt.d.ts +25 -0
  423. package/dist/update-check/prompt.js +62 -0
  424. package/dist/update-check/semver.d.ts +17 -0
  425. package/dist/update-check/semver.js +36 -0
  426. package/dist/update-check/state-path.d.ts +8 -0
  427. package/dist/update-check/state-path.js +18 -0
  428. package/dist/utils/binaries.js +14 -8
  429. package/dist/utils/errors.d.ts +3 -1
  430. package/dist/utils/errors.js +3 -1
  431. package/dist/utils/git.d.ts +10 -0
  432. package/dist/utils/git.js +15 -3
  433. package/dist/utils/output.d.ts +5 -1
  434. package/dist/utils/output.js +4 -2
  435. package/dist/utils/process.d.ts +2 -1
  436. package/dist/utils/process.js +7 -3
  437. package/dist/utils/session-id.d.ts +1 -0
  438. package/dist/utils/session-id.js +22 -0
  439. package/dist/utils/slug.d.ts +2 -0
  440. package/dist/utils/slug.js +15 -0
  441. package/dist/utils/voratiq-cli-target.d.ts +9 -0
  442. package/dist/utils/voratiq-cli-target.js +58 -0
  443. package/dist/workspace/agents.d.ts +13 -16
  444. package/dist/workspace/agents.js +22 -147
  445. package/dist/workspace/chat/artifacts.d.ts +9 -0
  446. package/dist/workspace/chat/artifacts.js +82 -12
  447. package/dist/workspace/chat/native-usage.d.ts +13 -0
  448. package/dist/workspace/chat/native-usage.js +60 -0
  449. package/dist/workspace/chat/sources.d.ts +9 -5
  450. package/dist/workspace/chat/sources.js +89 -23
  451. package/dist/workspace/chat/token-usage-result.d.ts +23 -0
  452. package/dist/workspace/chat/token-usage-result.js +7 -0
  453. package/dist/workspace/chat/usage-extractor.d.ts +30 -0
  454. package/dist/workspace/chat/usage-extractor.js +461 -0
  455. package/dist/workspace/chat/usage-mappings.d.ts +20 -0
  456. package/dist/workspace/chat/usage-mappings.js +136 -0
  457. package/dist/workspace/credential-guard.js +1 -1
  458. package/dist/workspace/dependencies.js +4 -4
  459. package/dist/workspace/errors.d.ts +5 -0
  460. package/dist/workspace/errors.js +13 -3
  461. package/dist/workspace/layout.d.ts +17 -6
  462. package/dist/workspace/layout.js +51 -32
  463. package/dist/workspace/promotion.d.ts +32 -0
  464. package/dist/workspace/promotion.js +34 -0
  465. package/dist/workspace/prune.d.ts +1 -1
  466. package/dist/workspace/run.d.ts +1 -3
  467. package/dist/workspace/run.js +6 -15
  468. package/dist/workspace/setup.d.ts +8 -0
  469. package/dist/workspace/setup.js +359 -56
  470. package/dist/workspace/shim.js +1 -1
  471. package/dist/workspace/structure.d.ts +91 -26
  472. package/dist/workspace/structure.js +227 -43
  473. package/dist/workspace/templates.d.ts +9 -3
  474. package/dist/workspace/templates.js +26 -15
  475. package/dist/workspace/verification-defaults.d.ts +12 -0
  476. package/dist/workspace/verification-defaults.js +1017 -0
  477. package/package.json +30 -24
  478. package/dist/cli/review.d.ts +0 -12
  479. package/dist/cli/review.js +0 -33
  480. package/dist/commands/errors.d.ts +0 -4
  481. package/dist/commands/errors.js +0 -7
  482. package/dist/commands/init/evals.d.ts +0 -4
  483. package/dist/commands/init/evals.js +0 -219
  484. package/dist/commands/review/command.d.ts +0 -10
  485. package/dist/commands/review/command.js +0 -26
  486. package/dist/commands/run/agent-execution.d.ts +0 -19
  487. package/dist/commands/run/agent-execution.js +0 -63
  488. package/dist/commands/run/agents/auth-stage.d.ts +0 -23
  489. package/dist/commands/run/agents/auth-stage.js +0 -108
  490. package/dist/commands/run/agents/chat-preserver.d.ts +0 -9
  491. package/dist/commands/run/agents/chat-preserver.js +0 -35
  492. package/dist/commands/run/agents/eval-runner.d.ts +0 -19
  493. package/dist/commands/run/agents/eval-runner.js +0 -27
  494. package/dist/commands/run/agents/failures.js +0 -32
  495. package/dist/commands/run/agents/preparation.js +0 -123
  496. package/dist/commands/run/agents.d.ts +0 -14
  497. package/dist/commands/run/agents.js +0 -47
  498. package/dist/commands/run/prompts.d.ts +0 -4
  499. package/dist/commands/run/prompts.js +0 -16
  500. package/dist/commands/run/sandbox-registry.d.ts +0 -4
  501. package/dist/commands/run/sandbox-registry.js +0 -54
  502. package/dist/configs/evals/defaults.d.ts +0 -8
  503. package/dist/configs/evals/defaults.js +0 -28
  504. package/dist/configs/evals/detect.d.ts +0 -10
  505. package/dist/configs/evals/errors.d.ts +0 -16
  506. package/dist/configs/evals/errors.js +0 -29
  507. package/dist/configs/evals/loader.d.ts +0 -9
  508. package/dist/configs/evals/loader.js +0 -46
  509. package/dist/configs/evals/types.d.ts +0 -42
  510. package/dist/configs/evals/types.js +0 -74
  511. package/dist/evals/runner.d.ts +0 -16
  512. package/dist/evals/runner.js +0 -132
  513. package/dist/records/persistence.js +0 -469
  514. package/dist/records/types.d.ts +0 -255
  515. package/dist/records/types.js +0 -160
  516. package/dist/render/transcripts/review.d.ts +0 -2
  517. package/dist/render/transcripts/review.js +0 -36
  518. /package/dist/{commands/run → agents/runtime}/shim/agent-manifest.d.ts +0 -0
  519. /package/dist/{commands/run → agents/runtime}/shim/agent-manifest.js +0 -0
  520. /package/dist/{commands/run → agents/runtime/shim}/argv.d.ts +0 -0
  521. /package/dist/{commands/run → agents/runtime/shim}/argv.js +0 -0
  522. /package/dist/{commands/run/agents → agents/runtime}/types.js +0 -0
  523. /package/dist/{commands/run → domain/run/competition}/agents/preparation.d.ts +0 -0
  524. /package/dist/{commands/run/phases.js → domain/run/competition/agents/types.js} +0 -0
  525. /package/dist/{commands/run → domain/run/model}/id.d.ts +0 -0
  526. /package/dist/{commands/run → domain/run/model}/id.js +0 -0
  527. /package/dist/{records → persistence}/history-lock.d.ts +0 -0
@@ -1,30 +1,32 @@
1
- import { normalizeDiffStatistics } from "../../../utils/diff.js";
2
- import { finalizeAgentResult, } from "../reports.js";
1
+ import { finalizeAgentResult, } from "../../../../domain/run/competition/reports.js";
2
+ import { buildUnavailableTokenUsageResult, resolveTokenUsage, } from "../../../../domain/shared/token-usage.js";
3
+ import { normalizeDiffStatistics } from "../../../../utils/diff.js";
3
4
  export class AgentRunContext {
4
- state = {
5
- diffAttempted: false,
6
- diffCaptured: false,
7
- diffStatistics: undefined,
8
- };
5
+ state;
9
6
  status = "succeeded";
10
7
  commitSha;
11
- evalResults;
12
8
  errorMessage;
13
9
  watchdogMetadata;
14
10
  failFast;
15
11
  completedAt;
16
12
  startedAt;
17
- evalPlan;
18
13
  runId;
19
14
  agent;
20
15
  artifactState;
21
- evalWarnings = [];
22
16
  constructor(params) {
23
17
  this.agent = params.agent;
24
18
  this.runId = params.runId;
25
19
  this.startedAt = params.startedAt;
26
- this.evalPlan = params.evalPlan;
27
- this.evalResults = buildDefaultEvalResults(this.evalPlan);
20
+ this.state = {
21
+ diffAttempted: false,
22
+ diffCaptured: false,
23
+ diffStatistics: undefined,
24
+ tokenUsage: undefined,
25
+ tokenUsageResult: buildUnavailableTokenUsageResult({
26
+ provider: params.agent.provider,
27
+ modelId: params.agent.model,
28
+ }),
29
+ };
28
30
  this.artifactState = {
29
31
  diffAttempted: false,
30
32
  diffCaptured: false,
@@ -76,47 +78,20 @@ export class AgentRunContext {
76
78
  this.state.diffAttempted ||= result.diffAttempted;
77
79
  this.state.diffCaptured ||= result.diffCaptured;
78
80
  }
79
- applyEvaluations(results) {
80
- const defaults = buildDefaultEvalResults(this.evalPlan);
81
- const bySlug = new Map(results.map((evaluation) => [evaluation.slug, evaluation]));
82
- this.evalResults = defaults.map((fallback) => {
83
- const evaluation = bySlug.get(fallback.slug);
84
- return evaluation ?? fallback;
85
- });
86
- if (this.status === "failed") {
87
- return;
88
- }
89
- const hasErrored = this.evalResults.some((evaluation) => {
90
- return evaluation.status === "errored";
91
- });
92
- const hasFailed = this.evalResults.some((evaluation) => evaluation.status === "failed");
93
- if (hasErrored) {
94
- this.status = "errored";
95
- if (!this.errorMessage) {
96
- const erroredEval = this.evalResults.find((evaluation) => evaluation.status === "errored" && evaluation.error);
97
- if (erroredEval?.error) {
98
- this.errorMessage = erroredEval.error;
99
- }
100
- }
101
- return;
102
- }
103
- if (hasFailed) {
104
- this.status = "failed";
105
- }
106
- }
107
81
  markChatArtifact(format) {
108
82
  this.artifactState.chatCaptured = true;
109
83
  this.artifactState.chatFormat = format;
110
84
  }
111
- recordEvalWarnings(warnings) {
112
- this.evalWarnings.push(...warnings);
113
- }
114
85
  setWatchdogMetadata(metadata) {
115
86
  this.watchdogMetadata = metadata;
116
87
  }
117
88
  setFailFastTriggered(info) {
118
89
  this.failFast = info;
119
90
  }
91
+ setTokenUsageResult(result) {
92
+ this.state.tokenUsageResult = result;
93
+ this.state.tokenUsage = resolveTokenUsage(result);
94
+ }
120
95
  finalize() {
121
96
  this.setCompleted();
122
97
  const record = buildAgentRecord({
@@ -127,9 +102,8 @@ export class AgentRunContext {
127
102
  startedAt: this.startedAt,
128
103
  status: this.status,
129
104
  artifacts: this.artifactState,
130
- evalResults: this.evalResults,
131
- warnings: this.evalWarnings,
132
105
  diffStatistics: this.state.diffStatistics,
106
+ tokenUsage: this.state.tokenUsage,
133
107
  watchdog: this.watchdogMetadata,
134
108
  failFast: this.failFast,
135
109
  });
@@ -137,7 +111,6 @@ export class AgentRunContext {
137
111
  }
138
112
  /**
139
113
  * Build an early failure record for immediate UI surfacing when watchdog triggers.
140
- * Includes placeholder evals so the record satisfies agentInvocationRecordSchema.
141
114
  */
142
115
  buildEarlyFailureRecord(errorMessage) {
143
116
  return buildAgentRecord({
@@ -148,26 +121,16 @@ export class AgentRunContext {
148
121
  startedAt: this.startedAt,
149
122
  status: "failed",
150
123
  artifacts: this.artifactState,
151
- evalResults: this.evalResults,
152
- warnings: this.evalWarnings,
153
124
  diffStatistics: undefined,
125
+ tokenUsage: this.state.tokenUsage,
154
126
  watchdog: this.watchdogMetadata,
155
127
  failFast: this.failFast,
156
128
  });
157
129
  }
158
130
  }
159
- export function buildDefaultEvalResults(definitions) {
160
- return definitions.map(({ slug, command }) => ({
161
- slug,
162
- command,
163
- status: "skipped",
164
- }));
165
- }
166
131
  function buildAgentRecord(options) {
167
- const { agent, commitSha, completedAt, errorMessage, startedAt, status, artifacts, evalResults, warnings, diffStatistics, watchdog, failFast, } = options;
168
- const snapshots = toEvalSnapshots(evalResults);
132
+ const { agent, commitSha, completedAt, errorMessage, startedAt, status, artifacts, diffStatistics, tokenUsage, watchdog, failFast, } = options;
169
133
  const artifactState = Object.keys(artifacts).length > 0 ? artifacts : undefined;
170
- const normalizedWarnings = warnings.length > 0 ? Array.from(new Set(warnings)) : undefined;
171
134
  const normalizedDiffStatistics = normalizeDiffStatistics(diffStatistics);
172
135
  const record = {
173
136
  agentId: agent.id,
@@ -177,9 +140,8 @@ function buildAgentRecord(options) {
177
140
  status,
178
141
  commitSha,
179
142
  artifacts: artifactState,
180
- evals: snapshots,
181
143
  error: errorMessage,
182
- warnings: normalizedWarnings,
144
+ tokenUsage,
183
145
  watchdog,
184
146
  ...(failFast
185
147
  ? {
@@ -194,13 +156,3 @@ function buildAgentRecord(options) {
194
156
  }
195
157
  return record;
196
158
  }
197
- function toEvalSnapshots(results) {
198
- return results.map((evaluation) => ({
199
- slug: evaluation.slug,
200
- status: evaluation.status,
201
- command: evaluation.command,
202
- exitCode: evaluation.exitCode,
203
- hasLog: evaluation.logPath !== undefined,
204
- error: evaluation.error,
205
- }));
206
- }
@@ -1,17 +1,17 @@
1
- import type { AgentDefinition } from "../../../configs/agents/types.js";
2
- import type { EnvironmentConfig } from "../../../configs/environment/types.js";
3
- import type { EvalDefinition } from "../../../configs/evals/types.js";
4
- import type { AgentInvocationRecord } from "../../../records/types.js";
5
- import type { AgentWorkspacePaths } from "../../../workspace/layout.js";
6
- import type { AgentExecutionResult } from "../reports.js";
7
- import type { StagedAuthContext } from "./auth-stage.js";
1
+ import type { ResolvedExtraContextFile } from "../../../../competition/shared/extra-context.js";
2
+ import type { AgentDefinition } from "../../../../configs/agents/types.js";
3
+ import type { EnvironmentConfig } from "../../../../configs/environment/types.js";
4
+ import type { AgentExecutionResult } from "../../../../domain/run/competition/reports.js";
5
+ import type { AgentInvocationRecord } from "../../../../domain/run/model/types.js";
8
6
  import { AgentRunContext } from "./run-context.js";
7
+ import type { RunAgentWorkspacePaths } from "./workspace.js";
9
8
  export interface AgentExecutionContext {
10
9
  agent: AgentDefinition;
11
10
  baseRevisionSha: string;
12
11
  runId: string;
13
12
  root: string;
14
- evalPlan: readonly EvalDefinition[];
13
+ specContent: string;
14
+ extraContextFiles: readonly ResolvedExtraContextFile[];
15
15
  environment: EnvironmentConfig;
16
16
  }
17
17
  export interface AgentProgressCallbacks {
@@ -23,16 +23,13 @@ export interface AgentProgressCallbacks {
23
23
  export interface PreparedAgentExecution {
24
24
  agent: AgentDefinition;
25
25
  agentContext: AgentRunContext;
26
- workspacePaths: AgentWorkspacePaths;
27
- runtimeManifestPath: string;
26
+ workspacePaths: RunAgentWorkspacePaths;
28
27
  baseRevisionSha: string;
29
28
  root: string;
30
29
  runId: string;
31
- evalPlan: readonly EvalDefinition[];
30
+ prompt: string;
32
31
  environment: EnvironmentConfig;
33
- manifestEnv: Record<string, string>;
34
32
  progress?: AgentProgressCallbacks;
35
- authContext?: StagedAuthContext;
36
33
  }
37
34
  export type AgentPreparationOutcome = {
38
35
  status: "ready";
@@ -0,0 +1,21 @@
1
+ import type { AgentId } from "../../../../configs/agents/types.js";
2
+ import type { EnvironmentConfig } from "../../../../configs/environment/types.js";
3
+ import { type AgentWorkspacePaths } from "../../../../workspace/layout.js";
4
+ export declare const WORKSPACE_SUMMARY_FILENAME: ".summary.txt";
5
+ export interface RunAgentWorkspacePaths extends AgentWorkspacePaths {
6
+ diffPath: string;
7
+ summaryPath: string;
8
+ }
9
+ export declare function buildRunAgentWorkspace(options: {
10
+ root: string;
11
+ runId: string;
12
+ agentId: AgentId;
13
+ baseRevisionSha: string;
14
+ environment: EnvironmentConfig;
15
+ }): Promise<RunAgentWorkspacePaths>;
16
+ export declare function buildRunAgentWorkspacePaths(options: {
17
+ root: string;
18
+ runId: string;
19
+ agentId: AgentId;
20
+ corePaths: AgentWorkspacePaths;
21
+ }): RunAgentWorkspacePaths;
@@ -0,0 +1,47 @@
1
+ import { mkdir, writeFile } from "node:fs/promises";
2
+ import { dirname } from "node:path";
3
+ import { normalizePathForDisplay, resolvePath, } from "../../../../utils/path.js";
4
+ import { prepareAgentWorkspace } from "../../../../workspace/agents.js";
5
+ import { buildAgentWorkspacePaths, } from "../../../../workspace/layout.js";
6
+ import { getAgentSessionDiffPath, getAgentSessionSummaryPath, VORATIQ_RUN_DIR, } from "../../../../workspace/structure.js";
7
+ export const WORKSPACE_SUMMARY_FILENAME = ".summary.txt";
8
+ export async function buildRunAgentWorkspace(options) {
9
+ const { root, runId, agentId, baseRevisionSha, environment } = options;
10
+ const corePaths = buildAgentWorkspacePaths({
11
+ root,
12
+ runId,
13
+ agentId,
14
+ });
15
+ const workspacePaths = buildRunAgentWorkspacePaths({
16
+ root,
17
+ runId,
18
+ agentId,
19
+ corePaths,
20
+ });
21
+ await prepareAgentWorkspace({
22
+ paths: corePaths,
23
+ baseRevisionSha,
24
+ root,
25
+ agentId,
26
+ runId,
27
+ environment,
28
+ });
29
+ await ensureRunArtifactWorkspace(workspacePaths);
30
+ return workspacePaths;
31
+ }
32
+ async function ensureRunArtifactWorkspace(paths) {
33
+ await mkdir(dirname(paths.diffPath), { recursive: true });
34
+ await mkdir(dirname(paths.summaryPath), { recursive: true });
35
+ await writeFile(paths.diffPath, "", { encoding: "utf8" });
36
+ await writeFile(paths.summaryPath, "", { encoding: "utf8" });
37
+ }
38
+ export function buildRunAgentWorkspacePaths(options) {
39
+ const { root, runId, agentId, corePaths } = options;
40
+ const diffRelative = normalizePathForDisplay(getAgentSessionDiffPath(VORATIQ_RUN_DIR, runId, agentId));
41
+ const summaryRelative = normalizePathForDisplay(getAgentSessionSummaryPath(VORATIQ_RUN_DIR, runId, agentId));
42
+ return {
43
+ ...corePaths,
44
+ diffPath: resolvePath(root, diffRelative),
45
+ summaryPath: resolvePath(root, summaryRelative),
46
+ };
47
+ }
@@ -1,4 +1,6 @@
1
- import { DisplayableError, type HintedErrorOptions } from "../../utils/errors.js";
1
+ import { type PreflightIssue } from "../../../competition/shared/preflight.js";
2
+ import { DisplayableError, type HintedErrorOptions } from "../../../utils/errors.js";
3
+ export type { PreflightIssue } from "../../../competition/shared/preflight.js";
2
4
  export type RunErrorKind = "workspace-setup" | "agent-process" | "process-spawn" | "git-operation" | "run-report";
3
5
  export declare abstract class RunCommandError extends DisplayableError {
4
6
  abstract readonly kind: RunErrorKind;
@@ -47,6 +49,11 @@ export declare class AuthProviderStageError extends RunCommandError {
47
49
  readonly kind: "workspace-setup";
48
50
  constructor(detail: string);
49
51
  }
52
+ export declare class RunPreflightError extends RunCommandError {
53
+ readonly kind: "workspace-setup";
54
+ readonly issues: readonly PreflightIssue[];
55
+ constructor(issues: readonly PreflightIssue[], hintLines?: readonly string[]);
56
+ }
50
57
  export declare class NoAgentsEnabledError extends RunCommandError {
51
58
  readonly kind: "workspace-setup";
52
59
  constructor();
@@ -1,4 +1,5 @@
1
- import { DisplayableError, } from "../../utils/errors.js";
1
+ import { formatPreflightIssueLines, PREFLIGHT_HINT, } from "../../../competition/shared/preflight.js";
2
+ import { DisplayableError, } from "../../../utils/errors.js";
2
3
  export class RunCommandError extends DisplayableError {
3
4
  constructor(message, options = {}) {
4
5
  super(message, options);
@@ -14,7 +15,7 @@ export class AgentProcessError extends RunCommandError {
14
15
  kind = "agent-process";
15
16
  constructor(options = {}) {
16
17
  const { detail, exitCode } = options;
17
- const baseMessage = detail ?? "Agent process failed. Please review the logs.";
18
+ const baseMessage = detail ?? "Agent process failed.";
18
19
  const formattedMessage = typeof exitCode === "number"
19
20
  ? `${baseMessage} (exit code ${exitCode})`
20
21
  : baseMessage;
@@ -38,43 +39,72 @@ export class GitOperationError extends RunCommandError {
38
39
  export class RunDirectoryExistsError extends RunCommandError {
39
40
  kind = "workspace-setup";
40
41
  constructor(runId, displayPath) {
41
- super(`Run directory already exists for id ${runId}: ${displayPath}`);
42
+ super(`Run directory already exists for run \`${runId}\`: \`${displayPath}\`.`, {
43
+ hintLines: ["Remove the existing run directory and retry."],
44
+ });
42
45
  }
43
46
  }
44
47
  export class MissingAgentProviderError extends RunCommandError {
45
48
  kind = "workspace-setup";
46
49
  constructor(agentId) {
47
- super(`Agent "${agentId}" missing provider.`);
50
+ super(`Agent \`${agentId}\` is missing a provider.`, {
51
+ hintLines: ["Set `provider` for this agent in `agents.yaml`."],
52
+ });
48
53
  }
49
54
  }
50
55
  export class UnknownAuthProviderError extends RunCommandError {
51
56
  kind = "workspace-setup";
52
57
  constructor(providerId) {
53
- super(`Unknown auth provider "${providerId}".`);
58
+ super(`Unknown auth provider \`${providerId}\`.`, {
59
+ hintLines: ["Use a provider configured by Voratiq."],
60
+ });
54
61
  }
55
62
  }
56
63
  export class AuthProviderVerificationError extends RunCommandError {
57
64
  kind = "workspace-setup";
58
65
  constructor(detail) {
59
- super(detail);
66
+ super(detail, {
67
+ hintLines: ["Authenticate this provider, then retry."],
68
+ });
60
69
  }
61
70
  }
62
71
  export class AuthProviderStageError extends RunCommandError {
63
72
  kind = "workspace-setup";
64
73
  constructor(detail) {
65
- super(detail);
74
+ super(detail, {
75
+ hintLines: ["Verify provider credentials, then retry."],
76
+ });
77
+ }
78
+ }
79
+ const RUN_PREFLIGHT_UNLABELED_AGENT_IDS = ["settings"];
80
+ export class RunPreflightError extends RunCommandError {
81
+ kind = "workspace-setup";
82
+ issues;
83
+ constructor(issues, hintLines = [PREFLIGHT_HINT]) {
84
+ super("Preflight failed. Aborting run.", {
85
+ detailLines: formatPreflightIssueLines(issues, {
86
+ unlabeledAgentIds: RUN_PREFLIGHT_UNLABELED_AGENT_IDS,
87
+ }),
88
+ hintLines,
89
+ });
90
+ this.issues = Array.from(issues);
91
+ this.name = "RunPreflightError";
66
92
  }
67
93
  }
68
94
  export class NoAgentsEnabledError extends RunCommandError {
69
95
  kind = "workspace-setup";
70
96
  constructor() {
71
- super("No agents enabled in `.voratiq/agents.yaml`. Set `enabled: true` on at least one agent.");
97
+ super("No agents are enabled in `agents.yaml`.", {
98
+ hintLines: ["Set `enabled: true` on at least one agent."],
99
+ });
72
100
  }
73
101
  }
74
102
  export class RunProcessStreamError extends RunCommandError {
75
103
  kind = "process-spawn";
76
104
  constructor(detail) {
77
- super(detail);
105
+ super(detail, {
106
+ hintLines: ["Inspect `stderr.log` to diagnose the failure."],
107
+ });
78
108
  this.name = "RunProcessStreamError";
79
109
  }
80
110
  }
@@ -1,4 +1,4 @@
1
- import type { AgentInvocationRecord, AgentReport, RunRecord } from "../../records/types.js";
1
+ import type { AgentInvocationRecord, AgentReport, RunRecord } from "../../../domain/run/model/types.js";
2
2
  export interface RunRecordInitResult {
3
3
  readonly initialRecord: RunRecord;
4
4
  readonly recordPersisted: boolean;
@@ -7,5 +7,4 @@ export interface AgentExecutionPhaseResult {
7
7
  readonly agentRecords: AgentInvocationRecord[];
8
8
  readonly agentReports: AgentReport[];
9
9
  readonly hadAgentFailure: boolean;
10
- readonly hadEvalFailure: boolean;
11
10
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import { type ResolvedExtraContextFile } from "../../../competition/shared/extra-context.js";
2
+ export interface BuildRunPromptOptions {
3
+ specContent: string;
4
+ workspacePath: string;
5
+ extraContextFiles?: readonly ResolvedExtraContextFile[];
6
+ }
7
+ export declare function buildRunPrompt(options: BuildRunPromptOptions): string;
@@ -0,0 +1,27 @@
1
+ import { appendExtraContextPromptSection, } from "../../../competition/shared/extra-context.js";
2
+ import { appendConstraints, appendOutputRequirements, buildWorkspaceArtifactRequirements, } from "../../../competition/shared/prompt-helpers.js";
3
+ export function buildRunPrompt(options) {
4
+ const { specContent, workspacePath, extraContextFiles = [] } = options;
5
+ const lines = [
6
+ "Implement the following task:",
7
+ "",
8
+ "```",
9
+ specContent.trimEnd(),
10
+ "```",
11
+ ];
12
+ appendConstraints(lines, {
13
+ readAccess: workspacePath,
14
+ writeAccess: workspacePath,
15
+ });
16
+ appendExtraContextPromptSection(lines, extraContextFiles);
17
+ appendOutputRequirements(lines, [
18
+ "- When finished, clean the workspace of temporary files/dirs you created (e.g., `tmp`, `.tmp`, etc.) unless they are intended deliverables.",
19
+ ...buildWorkspaceArtifactRequirements([
20
+ {
21
+ instruction: "Then write a 1-2 sentence summary",
22
+ path: ".summary.txt",
23
+ },
24
+ ]),
25
+ ]);
26
+ return `${lines.join("\n")}\n`;
27
+ }
@@ -1,8 +1,11 @@
1
- import type { AgentInvocationRecord, AgentReport, RunRecord, RunReport } from "../../records/types.js";
1
+ import type { AgentInvocationRecord, AgentReport, ExtractedTokenUsage, RunRecord, RunReport } from "../../../domain/run/model/types.js";
2
+ import type { TokenUsageResult } from "../../../workspace/chat/token-usage-result.js";
2
3
  export interface AgentExecutionState {
3
4
  diffAttempted: boolean;
4
5
  diffCaptured: boolean;
5
6
  diffStatistics?: string;
7
+ tokenUsage?: ExtractedTokenUsage;
8
+ tokenUsageResult: TokenUsageResult;
6
9
  }
7
10
  export interface AgentExecutionResult {
8
11
  record: AgentInvocationRecord;
@@ -10,5 +13,4 @@ export interface AgentExecutionResult {
10
13
  }
11
14
  export declare function finalizeAgentResult(runId: string, record: AgentInvocationRecord, derivations: AgentExecutionState): AgentExecutionResult;
12
15
  export declare function toAgentReport(runId: string, record: AgentInvocationRecord, derivations: AgentExecutionState): AgentReport;
13
- export declare function hasEvalFailures(reports: AgentReport[]): boolean;
14
- export declare function toRunReport(record: RunRecord, agents: AgentReport[], hadAgentFailure: boolean, hadEvalFailure: boolean): RunReport;
16
+ export declare function toRunReport(record: RunRecord, agents: AgentReport[], hadAgentFailure: boolean): RunReport;
@@ -1,4 +1,4 @@
1
- import { buildAgentArtifactPaths, buildAgentEvalViews, getAgentDirectoryPath, getAgentManifestPath, } from "../../workspace/structure.js";
1
+ import { buildAgentArtifactPaths, getAgentDirectoryPath, getAgentManifestPath, } from "../../../workspace/structure.js";
2
2
  import { RunReportInvariantError } from "./errors.js";
3
3
  export function finalizeAgentResult(runId, record, derivations) {
4
4
  return {
@@ -7,9 +7,6 @@ export function finalizeAgentResult(runId, record, derivations) {
7
7
  };
8
8
  }
9
9
  export function toAgentReport(runId, record, derivations) {
10
- if (!record.evals) {
11
- throw new RunReportInvariantError(`Agent ${record.agentId} is missing evaluation results for status ${record.status}.`);
12
- }
13
10
  if (!record.startedAt || !record.completedAt) {
14
11
  throw new RunReportInvariantError(`Agent ${record.agentId} is missing lifecycle timestamps for status ${record.status}.`);
15
12
  }
@@ -21,15 +18,12 @@ export function toAgentReport(runId, record, derivations) {
21
18
  return {
22
19
  agentId: record.agentId,
23
20
  status: record.status,
21
+ tokenUsage: record.tokenUsage ?? derivations.tokenUsage,
22
+ tokenUsageResult: derivations.tokenUsageResult,
24
23
  runtimeManifestPath: getAgentManifestPath(runId, record.agentId),
25
24
  baseDirectory: getAgentDirectoryPath(runId, record.agentId),
26
25
  diffStatistics: derivations.diffStatistics,
27
26
  assets,
28
- evals: buildAgentEvalViews({
29
- runId,
30
- agentId: record.agentId,
31
- evals: record.evals,
32
- }),
33
27
  error: record.error,
34
28
  warnings: record.warnings,
35
29
  startedAt: record.startedAt,
@@ -38,26 +32,20 @@ export function toAgentReport(runId, record, derivations) {
38
32
  diffCaptured: derivations.diffCaptured,
39
33
  };
40
34
  }
41
- export function hasEvalFailures(reports) {
42
- return reports.some((report) => report.evals.some((evaluation) => evaluation.status === "failed" || evaluation.status === "errored"));
43
- }
44
- export function toRunReport(record, agents, hadAgentFailure, hadEvalFailure) {
45
- const derivedAgentFailure = agents.some((agent) => agent.status === "failed");
46
- const derivedEvalFailure = hasEvalFailures(agents);
35
+ export function toRunReport(record, agents, hadAgentFailure) {
36
+ const derivedAgentFailure = agents.some((agent) => agent.status === "failed" || agent.status === "errored");
47
37
  if (hadAgentFailure !== derivedAgentFailure) {
48
38
  throw new RunReportInvariantError(`RunReport mismatch: hadAgentFailure (${hadAgentFailure}) does not match derived value (${derivedAgentFailure}).`);
49
39
  }
50
- if (hadEvalFailure !== derivedEvalFailure) {
51
- throw new RunReportInvariantError(`RunReport mismatch: hadEvalFailure (${hadEvalFailure}) does not match derived value (${derivedEvalFailure}).`);
52
- }
53
40
  return {
54
41
  runId: record.runId,
55
42
  spec: record.spec,
56
43
  status: record.status,
57
44
  createdAt: record.createdAt,
45
+ startedAt: record.startedAt,
46
+ completedAt: record.completedAt,
58
47
  baseRevisionSha: record.baseRevisionSha,
59
48
  agents,
60
49
  hadAgentFailure: derivedAgentFailure,
61
- hadEvalFailure: derivedEvalFailure,
62
50
  };
63
51
  }
@@ -0,0 +1,4 @@
1
+ import type { RunStatus } from "../../../status/index.js";
2
+ export declare const RUN_ABORT_WARNING = "Run aborted before agent completed.";
3
+ export declare function setActiveTerminationStatus(runId: string, status: RunStatus | undefined): void;
4
+ export declare function getActiveTerminationStatus(runId: string): RunStatus | undefined;
@@ -0,0 +1,12 @@
1
+ export const RUN_ABORT_WARNING = "Run aborted before agent completed.";
2
+ const activeTerminationStatuses = new Map();
3
+ export function setActiveTerminationStatus(runId, status) {
4
+ if (status === undefined) {
5
+ activeTerminationStatuses.delete(runId);
6
+ return;
7
+ }
8
+ activeTerminationStatuses.set(runId, status);
9
+ }
10
+ export function getActiveTerminationStatus(runId) {
11
+ return activeTerminationStatuses.get(runId);
12
+ }
@@ -1,8 +1,5 @@
1
- import { type AgentArtifactPaths } from "../workspace/structure.js";
2
- import type { AgentEvalSnapshot, AgentStatus, RunApplyStatus, RunRecord, RunSpecDescriptor } from "./types.js";
3
- export type AgentEvalEnhanced = AgentEvalSnapshot & {
4
- logPath?: string;
5
- };
1
+ import { type AgentArtifactPaths } from "../../../workspace/structure.js";
2
+ import type { AgentStatus, ExtractedTokenUsage, RunApplyStatus, RunAutoOutcome, RunRecord, RunSpecDescriptor } from "./types.js";
6
3
  export interface AgentInvocationEnhanced {
7
4
  agentId: string;
8
5
  model: string;
@@ -13,22 +10,24 @@ export interface AgentInvocationEnhanced {
13
10
  runtimeManifestPath: string;
14
11
  baseDirectory: string;
15
12
  assets: AgentArtifactPaths;
16
- evals: AgentEvalEnhanced[];
17
13
  diffStatistics?: string;
14
+ tokenUsage?: ExtractedTokenUsage;
18
15
  error?: string;
19
16
  warnings?: string[];
20
17
  }
21
18
  export interface RunRecordEnhanced {
22
19
  runId: string;
23
20
  createdAt: string;
21
+ startedAt?: string;
22
+ completedAt?: string;
24
23
  status: RunRecord["status"];
25
24
  baseRevisionSha: string;
26
25
  rootPath: string;
27
26
  spec: RunSpecDescriptor;
28
- promptPath: string;
29
27
  agents: AgentInvocationEnhanced[];
30
28
  deletedAt?: string | null;
31
29
  applyStatus?: RunApplyStatus;
30
+ auto?: RunAutoOutcome;
32
31
  }
33
32
  export interface BuildRunRecordViewOptions {
34
33
  workspaceRoot?: string;
@@ -1,10 +1,9 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
- import { normalizeDiffStatistics } from "../utils/diff.js";
4
- import { isFileSystemError } from "../utils/fs.js";
5
- import { buildAgentArtifactPaths, buildAgentEvalViews, getAgentDirectoryPath, getAgentManifestPath, getRunPromptPath, } from "../workspace/structure.js";
3
+ import { normalizeDiffStatistics } from "../../../utils/diff.js";
4
+ import { isFileSystemError } from "../../../utils/fs.js";
5
+ import { buildAgentArtifactPaths, getAgentDirectoryPath, getAgentManifestPath, } from "../../../workspace/structure.js";
6
6
  export function buildRunRecordEnhanced(record) {
7
- const promptPath = getRunPromptPath(record.runId);
8
7
  const agents = (record.agents ?? []).map((agent) => {
9
8
  const baseDirectory = getAgentDirectoryPath(record.runId, agent.agentId);
10
9
  const runtimeManifestPath = getAgentManifestPath(record.runId, agent.agentId);
@@ -13,11 +12,6 @@ export function buildRunRecordEnhanced(record) {
13
12
  agentId: agent.agentId,
14
13
  artifacts: agent.artifacts,
15
14
  });
16
- const evals = buildAgentEvalViews({
17
- runId: record.runId,
18
- agentId: agent.agentId,
19
- evals: agent.evals,
20
- });
21
15
  const enhancedAgent = {
22
16
  agentId: agent.agentId,
23
17
  model: agent.model,
@@ -25,7 +19,6 @@ export function buildRunRecordEnhanced(record) {
25
19
  runtimeManifestPath,
26
20
  baseDirectory,
27
21
  assets,
28
- evals,
29
22
  };
30
23
  const normalizedDiff = normalizeDiffStatistics(agent.diffStatistics);
31
24
  if (normalizedDiff) {
@@ -46,16 +39,20 @@ export function buildRunRecordEnhanced(record) {
46
39
  if (Array.isArray(agent.warnings) && agent.warnings.length > 0) {
47
40
  enhancedAgent.warnings = [...agent.warnings];
48
41
  }
42
+ if (agent.tokenUsage) {
43
+ enhancedAgent.tokenUsage = agent.tokenUsage;
44
+ }
49
45
  return enhancedAgent;
50
46
  });
51
47
  const enhanced = {
52
48
  runId: record.runId,
53
49
  createdAt: record.createdAt,
50
+ startedAt: record.startedAt,
51
+ completedAt: record.completedAt,
54
52
  status: record.status,
55
53
  baseRevisionSha: record.baseRevisionSha,
56
54
  rootPath: record.rootPath,
57
55
  spec: record.spec,
58
- promptPath,
59
56
  agents,
60
57
  };
61
58
  if (Object.prototype.hasOwnProperty.call(record, "deletedAt")) {
@@ -64,6 +61,9 @@ export function buildRunRecordEnhanced(record) {
64
61
  if (record.applyStatus) {
65
62
  enhanced.applyStatus = record.applyStatus;
66
63
  }
64
+ if (record.auto) {
65
+ enhanced.auto = record.auto;
66
+ }
67
67
  return enhanced;
68
68
  }
69
69
  export async function buildRunRecordView(record, options = {}) {