agent-hitch 0.2.8 → 0.2.10

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 (414) hide show
  1. package/README.md +206 -137
  2. package/README.zh-CN.md +193 -119
  3. package/dist/scripts/canary-native-training.js +221 -0
  4. package/dist/scripts/canary-native-training.js.map +1 -0
  5. package/dist/scripts/canary-remote-training.js +246 -0
  6. package/dist/scripts/canary-remote-training.js.map +1 -0
  7. package/dist/scripts/canary-remote-verifier.js +124 -0
  8. package/dist/scripts/canary-remote-verifier.js.map +1 -0
  9. package/dist/scripts/canary-worker-host.js +113 -0
  10. package/dist/scripts/canary-worker-host.js.map +1 -0
  11. package/dist/scripts/canary-worker-peer.js +188 -0
  12. package/dist/scripts/canary-worker-peer.js.map +1 -0
  13. package/dist/scripts/check-architecture.js +4 -3
  14. package/dist/scripts/check-architecture.js.map +1 -1
  15. package/dist/src/adapters/catalog.js +2 -1
  16. package/dist/src/adapters/catalog.js.map +1 -1
  17. package/dist/src/adapters/providers/codex.js +65 -2
  18. package/dist/src/adapters/providers/codex.js.map +1 -1
  19. package/dist/src/adapters/providers/model-call.js +17 -1
  20. package/dist/src/adapters/providers/model-call.js.map +1 -1
  21. package/dist/src/adapters/providers/training-tool.js +29 -0
  22. package/dist/src/adapters/providers/training-tool.js.map +1 -0
  23. package/dist/src/artifacts/index.js +1 -1
  24. package/dist/src/artifacts/index.js.map +1 -1
  25. package/dist/src/artifacts/store.js +15 -10
  26. package/dist/src/artifacts/store.js.map +1 -1
  27. package/dist/src/backends/harbor/backend.js +24 -15
  28. package/dist/src/backends/harbor/backend.js.map +1 -1
  29. package/dist/src/backends/harbor/bridge-environment.js +12 -0
  30. package/dist/src/backends/harbor/bridge-environment.js.map +1 -0
  31. package/dist/src/backends/harbor/environment-config.js +2 -2
  32. package/dist/src/backends/harbor/environment-config.js.map +1 -1
  33. package/dist/src/backends/harbor/host-credential-helper.js +81 -0
  34. package/dist/src/backends/harbor/host-credential-helper.js.map +1 -0
  35. package/dist/src/backends/harbor/index.js +3 -0
  36. package/dist/src/backends/harbor/index.js.map +1 -1
  37. package/dist/src/backends/harbor/model-proxy-config.js +18 -1
  38. package/dist/src/backends/harbor/model-proxy-config.js.map +1 -1
  39. package/dist/src/backends/harbor/observation.js +61 -0
  40. package/dist/src/backends/harbor/observation.js.map +1 -0
  41. package/dist/src/backends/harbor/portable-regrade.js +150 -0
  42. package/dist/src/backends/harbor/portable-regrade.js.map +1 -0
  43. package/dist/src/backends/harbor/process.js +26 -5
  44. package/dist/src/backends/harbor/process.js.map +1 -1
  45. package/dist/src/backends/harbor/regrade.js +4 -1
  46. package/dist/src/backends/harbor/regrade.js.map +1 -1
  47. package/dist/src/backends/harbor/supervisor.js +22 -0
  48. package/dist/src/backends/harbor/supervisor.js.map +1 -1
  49. package/dist/src/backends/harbor/tools.js +2 -0
  50. package/dist/src/backends/harbor/tools.js.map +1 -1
  51. package/dist/src/backends/index.js +3 -0
  52. package/dist/src/backends/index.js.map +1 -1
  53. package/dist/src/cli/arguments.js +33 -0
  54. package/dist/src/cli/arguments.js.map +1 -1
  55. package/dist/src/cli/commands/capabilities.js +14 -1
  56. package/dist/src/cli/commands/capabilities.js.map +1 -1
  57. package/dist/src/cli/commands/daemon.js +19 -0
  58. package/dist/src/cli/commands/daemon.js.map +1 -1
  59. package/dist/src/cli/commands/eval.js +38 -10
  60. package/dist/src/cli/commands/eval.js.map +1 -1
  61. package/dist/src/cli/commands/local.js +130 -0
  62. package/dist/src/cli/commands/local.js.map +1 -0
  63. package/dist/src/cli/commands/model-node.js +26 -0
  64. package/dist/src/cli/commands/model-node.js.map +1 -0
  65. package/dist/src/cli/commands/models.js +72 -0
  66. package/dist/src/cli/commands/models.js.map +1 -0
  67. package/dist/src/cli/commands/run.js +36 -1
  68. package/dist/src/cli/commands/run.js.map +1 -1
  69. package/dist/src/cli/commands/training.js +32 -0
  70. package/dist/src/cli/commands/training.js.map +1 -0
  71. package/dist/src/cli/commands/worker.js +30 -2
  72. package/dist/src/cli/commands/worker.js.map +1 -1
  73. package/dist/src/cli/main.js +8 -0
  74. package/dist/src/cli/main.js.map +1 -1
  75. package/dist/src/cli/output.js +24 -2
  76. package/dist/src/cli/output.js.map +1 -1
  77. package/dist/src/control-plane/eval-records.js +2 -0
  78. package/dist/src/control-plane/eval-records.js.map +1 -1
  79. package/dist/src/control-plane/eval-recovery.js +7 -1
  80. package/dist/src/control-plane/eval-recovery.js.map +1 -1
  81. package/dist/src/control-plane/eval-scheduler.js +24 -50
  82. package/dist/src/control-plane/eval-scheduler.js.map +1 -1
  83. package/dist/src/control-plane/eval-submission-persist.js +30 -0
  84. package/dist/src/control-plane/eval-submission-persist.js.map +1 -0
  85. package/dist/src/control-plane/execution-observation-contract.js +60 -0
  86. package/dist/src/control-plane/execution-observation-contract.js.map +1 -0
  87. package/dist/src/control-plane/index.js +10 -0
  88. package/dist/src/control-plane/index.js.map +1 -1
  89. package/dist/src/control-plane/inference-manager.js +357 -0
  90. package/dist/src/control-plane/inference-manager.js.map +1 -0
  91. package/dist/src/control-plane/managed-gateway-receipt.js +26 -0
  92. package/dist/src/control-plane/managed-gateway-receipt.js.map +1 -0
  93. package/dist/src/control-plane/managed-service-recovery.js +158 -0
  94. package/dist/src/control-plane/managed-service-recovery.js.map +1 -0
  95. package/dist/src/control-plane/model-capture-planning.js +15 -1
  96. package/dist/src/control-plane/model-capture-planning.js.map +1 -1
  97. package/dist/src/control-plane/ordered-eval-control.js +221 -0
  98. package/dist/src/control-plane/ordered-eval-control.js.map +1 -0
  99. package/dist/src/control-plane/remote-backend-result.js +18 -0
  100. package/dist/src/control-plane/remote-backend-result.js.map +1 -0
  101. package/dist/src/control-plane/remote-execution-lease.js +15 -0
  102. package/dist/src/control-plane/remote-execution-lease.js.map +1 -0
  103. package/dist/src/control-plane/remote-execution-observation.js +108 -0
  104. package/dist/src/control-plane/remote-execution-observation.js.map +1 -0
  105. package/dist/src/control-plane/remote-model-routes.js +107 -0
  106. package/dist/src/control-plane/remote-model-routes.js.map +1 -0
  107. package/dist/src/control-plane/remote-observation-reporter.js +37 -0
  108. package/dist/src/control-plane/remote-observation-reporter.js.map +1 -0
  109. package/dist/src/control-plane/remote-offer-contract.js +48 -0
  110. package/dist/src/control-plane/remote-offer-contract.js.map +1 -0
  111. package/dist/src/control-plane/remote-rerun-journal.js +61 -0
  112. package/dist/src/control-plane/remote-rerun-journal.js.map +1 -0
  113. package/dist/src/control-plane/remote-result-transport.js +55 -9
  114. package/dist/src/control-plane/remote-result-transport.js.map +1 -1
  115. package/dist/src/control-plane/remote-verifier-import.js +52 -0
  116. package/dist/src/control-plane/remote-verifier-import.js.map +1 -0
  117. package/dist/src/control-plane/remote-verifier-result.js +61 -0
  118. package/dist/src/control-plane/remote-verifier-result.js.map +1 -0
  119. package/dist/src/control-plane/remote-verifier-source-transport.js +68 -0
  120. package/dist/src/control-plane/remote-verifier-source-transport.js.map +1 -0
  121. package/dist/src/control-plane/remote-work-coordinator.js +103 -47
  122. package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
  123. package/dist/src/control-plane/remote-work-inputs.js +26 -5
  124. package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
  125. package/dist/src/control-plane/remote-work-recovery.js +123 -34
  126. package/dist/src/control-plane/remote-work-recovery.js.map +1 -1
  127. package/dist/src/control-plane/remote-worker-artifacts.js +10 -7
  128. package/dist/src/control-plane/remote-worker-artifacts.js.map +1 -1
  129. package/dist/src/control-plane/remote-worker-cleanup.js +104 -0
  130. package/dist/src/control-plane/remote-worker-cleanup.js.map +1 -0
  131. package/dist/src/control-plane/remote-worker-client.js +156 -14
  132. package/dist/src/control-plane/remote-worker-client.js.map +1 -1
  133. package/dist/src/control-plane/remote-worker-codecs.js +160 -0
  134. package/dist/src/control-plane/remote-worker-codecs.js.map +1 -0
  135. package/dist/src/control-plane/remote-worker-generation-recovery.js +67 -0
  136. package/dist/src/control-plane/remote-worker-generation-recovery.js.map +1 -0
  137. package/dist/src/control-plane/remote-worker-ownership.js +51 -0
  138. package/dist/src/control-plane/remote-worker-ownership.js.map +1 -0
  139. package/dist/src/control-plane/remote-worker-protocol.js +85 -119
  140. package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
  141. package/dist/src/control-plane/remote-worker-runner.js +95 -18
  142. package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
  143. package/dist/src/control-plane/remote-workers.js +33 -5
  144. package/dist/src/control-plane/remote-workers.js.map +1 -1
  145. package/dist/src/control-plane/rerun-recovery.js +89 -0
  146. package/dist/src/control-plane/rerun-recovery.js.map +1 -0
  147. package/dist/src/control-plane/rerun-scheduler.js +70 -96
  148. package/dist/src/control-plane/rerun-scheduler.js.map +1 -1
  149. package/dist/src/control-plane/rerun-source.js +57 -0
  150. package/dist/src/control-plane/rerun-source.js.map +1 -0
  151. package/dist/src/control-plane/worker-model-relay.js +76 -0
  152. package/dist/src/control-plane/worker-model-relay.js.map +1 -0
  153. package/dist/src/controller-runtime/hash.js +3 -0
  154. package/dist/src/controller-runtime/hash.js.map +1 -1
  155. package/dist/src/controller-runtime/index.js +2 -0
  156. package/dist/src/controller-runtime/index.js.map +1 -1
  157. package/dist/src/controller-runtime/observation.js +29 -0
  158. package/dist/src/controller-runtime/observation.js.map +1 -0
  159. package/dist/src/controller-runtime/resident.js +22 -0
  160. package/dist/src/controller-runtime/resident.js.map +1 -0
  161. package/dist/src/daemon/auth.js +7 -2
  162. package/dist/src/daemon/auth.js.map +1 -1
  163. package/dist/src/daemon/client.js +34 -1
  164. package/dist/src/daemon/client.js.map +1 -1
  165. package/dist/src/daemon/execution-observation.js +38 -0
  166. package/dist/src/daemon/execution-observation.js.map +1 -0
  167. package/dist/src/daemon/http.js +57 -0
  168. package/dist/src/daemon/http.js.map +1 -0
  169. package/dist/src/daemon/inference-prepare.js +47 -0
  170. package/dist/src/daemon/inference-prepare.js.map +1 -0
  171. package/dist/src/daemon/scheduler.js +4 -1
  172. package/dist/src/daemon/scheduler.js.map +1 -1
  173. package/dist/src/daemon/server.js +80 -82
  174. package/dist/src/daemon/server.js.map +1 -1
  175. package/dist/src/daemon/worker-observation.js +34 -0
  176. package/dist/src/daemon/worker-observation.js.map +1 -0
  177. package/dist/src/daemon/worker-ownership.js +71 -0
  178. package/dist/src/daemon/worker-ownership.js.map +1 -0
  179. package/dist/src/daemon/worker-routes.js +83 -15
  180. package/dist/src/daemon/worker-routes.js.map +1 -1
  181. package/dist/src/domain/execution-observation.js +2 -0
  182. package/dist/src/domain/execution-observation.js.map +1 -0
  183. package/dist/src/domain/index.js +1 -0
  184. package/dist/src/domain/index.js.map +1 -1
  185. package/dist/src/domain/inference.js +2 -0
  186. package/dist/src/domain/inference.js.map +1 -0
  187. package/dist/src/domain/runs.js.map +1 -1
  188. package/dist/src/domain/training.js +2 -0
  189. package/dist/src/domain/training.js.map +1 -0
  190. package/dist/src/domain/validation.js +11 -0
  191. package/dist/src/domain/validation.js.map +1 -1
  192. package/dist/src/domain/verifier-source.js +2 -0
  193. package/dist/src/domain/verifier-source.js.map +1 -0
  194. package/dist/src/domain/worker-recovery.js +2 -0
  195. package/dist/src/domain/worker-recovery.js.map +1 -0
  196. package/dist/src/evals/eval-logical-plan.js +8 -1
  197. package/dist/src/evals/eval-logical-plan.js.map +1 -1
  198. package/dist/src/evals/execution-leases.js +15 -2
  199. package/dist/src/evals/execution-leases.js.map +1 -1
  200. package/dist/src/evals/execution-plan.js +11 -1
  201. package/dist/src/evals/execution-plan.js.map +1 -1
  202. package/dist/src/evals/harbor-bridge-error.js +9 -0
  203. package/dist/src/evals/harbor-bridge-error.js.map +1 -1
  204. package/dist/src/evals/index.js +19 -0
  205. package/dist/src/evals/index.js.map +1 -1
  206. package/dist/src/evals/model-capture-plan.js +12 -0
  207. package/dist/src/evals/model-capture-plan.js.map +1 -1
  208. package/dist/src/evals/model-capture-runtime.js +25 -0
  209. package/dist/src/evals/model-capture-runtime.js.map +1 -1
  210. package/dist/src/evals/physical-work-plan.js +57 -0
  211. package/dist/src/evals/physical-work-plan.js.map +1 -0
  212. package/dist/src/evals/preparation-rerun.js +6 -0
  213. package/dist/src/evals/preparation-rerun.js.map +1 -1
  214. package/dist/src/evals/recovery.js +8 -1
  215. package/dist/src/evals/recovery.js.map +1 -1
  216. package/dist/src/evals/regrade-evidence.js +4 -4
  217. package/dist/src/evals/regrade-evidence.js.map +1 -1
  218. package/dist/src/evals/remote-execution-ownership.js +50 -0
  219. package/dist/src/evals/remote-execution-ownership.js.map +1 -0
  220. package/dist/src/evals/remote-infrastructure-retry.js +2 -0
  221. package/dist/src/evals/remote-infrastructure-retry.js.map +1 -1
  222. package/dist/src/evals/remote-lease-release.js +58 -0
  223. package/dist/src/evals/remote-lease-release.js.map +1 -0
  224. package/dist/src/evals/remote-rerun-execution.js +85 -0
  225. package/dist/src/evals/remote-rerun-execution.js.map +1 -0
  226. package/dist/src/evals/remote-trial.js +6 -0
  227. package/dist/src/evals/remote-trial.js.map +1 -0
  228. package/dist/src/evals/remote-verifier-assessment.js +85 -0
  229. package/dist/src/evals/remote-verifier-assessment.js.map +1 -0
  230. package/dist/src/evals/remote-verifier-contract.js +43 -0
  231. package/dist/src/evals/remote-verifier-contract.js.map +1 -0
  232. package/dist/src/evals/remote-verifier-execution.js +105 -0
  233. package/dist/src/evals/remote-verifier-execution.js.map +1 -0
  234. package/dist/src/evals/remote-verifier-journal.js +21 -0
  235. package/dist/src/evals/remote-verifier-journal.js.map +1 -0
  236. package/dist/src/evals/remote-verifier-outcome.js +51 -0
  237. package/dist/src/evals/remote-verifier-outcome.js.map +1 -0
  238. package/dist/src/evals/remote-verifier-rerun.js +134 -0
  239. package/dist/src/evals/remote-verifier-rerun.js.map +1 -0
  240. package/dist/src/evals/remote-verifier-selection.js +61 -0
  241. package/dist/src/evals/remote-verifier-selection.js.map +1 -0
  242. package/dist/src/evals/remote-verifier-source.js +33 -0
  243. package/dist/src/evals/remote-verifier-source.js.map +1 -0
  244. package/dist/src/evals/remote-worker-cleanup.js +46 -0
  245. package/dist/src/evals/remote-worker-cleanup.js.map +1 -0
  246. package/dist/src/evals/request.js +58 -1
  247. package/dist/src/evals/request.js.map +1 -1
  248. package/dist/src/evals/rerun-completion.js +39 -0
  249. package/dist/src/evals/rerun-completion.js.map +1 -0
  250. package/dist/src/evals/rerun-inputs.js +54 -0
  251. package/dist/src/evals/rerun-inputs.js.map +1 -1
  252. package/dist/src/evals/rerun-resume.js +70 -0
  253. package/dist/src/evals/rerun-resume.js.map +1 -0
  254. package/dist/src/evals/rerun-state.js +25 -0
  255. package/dist/src/evals/rerun-state.js.map +1 -0
  256. package/dist/src/evals/rerun-types.js.map +1 -1
  257. package/dist/src/evals/rerun.js +94 -101
  258. package/dist/src/evals/rerun.js.map +1 -1
  259. package/dist/src/evals/service.js +59 -5
  260. package/dist/src/evals/service.js.map +1 -1
  261. package/dist/src/evals/verifier-only-rerun.js +2 -16
  262. package/dist/src/evals/verifier-only-rerun.js.map +1 -1
  263. package/dist/src/evals/verifier-rerun-result.js +24 -0
  264. package/dist/src/evals/verifier-rerun-result.js.map +1 -0
  265. package/dist/src/evals/verifier-source-import.js +48 -0
  266. package/dist/src/evals/verifier-source-import.js.map +1 -0
  267. package/dist/src/evals/verifier-source.js +139 -0
  268. package/dist/src/evals/verifier-source.js.map +1 -0
  269. package/dist/src/foundation/base64.js +19 -0
  270. package/dist/src/foundation/base64.js.map +1 -0
  271. package/dist/src/foundation/config.js +10 -0
  272. package/dist/src/foundation/config.js.map +1 -1
  273. package/dist/src/foundation/credential-redaction.js +22 -9
  274. package/dist/src/foundation/credential-redaction.js.map +1 -1
  275. package/dist/src/foundation/index.js +1 -0
  276. package/dist/src/foundation/index.js.map +1 -1
  277. package/dist/src/foundation/process-identity.js +13 -9
  278. package/dist/src/foundation/process-identity.js.map +1 -1
  279. package/dist/src/inference/daemon-capacity.js +41 -0
  280. package/dist/src/inference/daemon-capacity.js.map +1 -0
  281. package/dist/src/inference/device-reservation.js +58 -0
  282. package/dist/src/inference/device-reservation.js.map +1 -0
  283. package/dist/src/inference/doctor.js +95 -0
  284. package/dist/src/inference/doctor.js.map +1 -0
  285. package/dist/src/inference/generation-recovery.js +83 -0
  286. package/dist/src/inference/generation-recovery.js.map +1 -0
  287. package/dist/src/inference/index.js +24 -0
  288. package/dist/src/inference/index.js.map +1 -0
  289. package/dist/src/inference/lock.js +331 -0
  290. package/dist/src/inference/lock.js.map +1 -0
  291. package/dist/src/inference/managed-launcher.js +35 -0
  292. package/dist/src/inference/managed-launcher.js.map +1 -0
  293. package/dist/src/inference/manifest.js +262 -0
  294. package/dist/src/inference/manifest.js.map +1 -0
  295. package/dist/src/inference/materialize.js +66 -0
  296. package/dist/src/inference/materialize.js.map +1 -0
  297. package/dist/src/inference/model-location.js +34 -0
  298. package/dist/src/inference/model-location.js.map +1 -0
  299. package/dist/src/inference/model-store.js +439 -0
  300. package/dist/src/inference/model-store.js.map +1 -0
  301. package/dist/src/inference/node-client.js +167 -0
  302. package/dist/src/inference/node-client.js.map +1 -0
  303. package/dist/src/inference/node-registry.js +79 -0
  304. package/dist/src/inference/node-registry.js.map +1 -0
  305. package/dist/src/inference/observation.js +79 -0
  306. package/dist/src/inference/observation.js.map +1 -0
  307. package/dist/src/inference/preflight.js +132 -0
  308. package/dist/src/inference/preflight.js.map +1 -0
  309. package/dist/src/inference/process-sglang.js +169 -0
  310. package/dist/src/inference/process-sglang.js.map +1 -0
  311. package/dist/src/inference/protocol-probe.js +29 -0
  312. package/dist/src/inference/protocol-probe.js.map +1 -0
  313. package/dist/src/inference/remote-model-store.js +24 -0
  314. package/dist/src/inference/remote-model-store.js.map +1 -0
  315. package/dist/src/inference/runtime-catalog.js +41 -0
  316. package/dist/src/inference/runtime-catalog.js.map +1 -0
  317. package/dist/src/inference/runtime-store.js +93 -0
  318. package/dist/src/inference/runtime-store.js.map +1 -0
  319. package/dist/src/inference/service-attachment.js +46 -0
  320. package/dist/src/inference/service-attachment.js.map +1 -0
  321. package/dist/src/inference/service-inspection.js +38 -0
  322. package/dist/src/inference/service-inspection.js.map +1 -0
  323. package/dist/src/inference/sglang.js +279 -0
  324. package/dist/src/inference/sglang.js.map +1 -0
  325. package/dist/src/inference/supervisor.js +460 -0
  326. package/dist/src/inference/supervisor.js.map +1 -0
  327. package/dist/src/model-access/environment.js +28 -0
  328. package/dist/src/model-access/environment.js.map +1 -0
  329. package/dist/src/model-access/index.js +4 -0
  330. package/dist/src/model-access/index.js.map +1 -1
  331. package/dist/src/model-access/local-gateway-request.js +139 -0
  332. package/dist/src/model-access/local-gateway-request.js.map +1 -0
  333. package/dist/src/model-access/local-gateway.js +323 -0
  334. package/dist/src/model-access/local-gateway.js.map +1 -0
  335. package/dist/src/model-access/proxy.js +90 -5
  336. package/dist/src/model-access/proxy.js.map +1 -1
  337. package/dist/src/model-access/remote-model.js +58 -0
  338. package/dist/src/model-access/remote-model.js.map +1 -0
  339. package/dist/src/model-access/training.js +115 -0
  340. package/dist/src/model-access/training.js.map +1 -0
  341. package/dist/src/runs/adapter-process.js +2 -2
  342. package/dist/src/runs/adapter-process.js.map +1 -1
  343. package/dist/src/runs/executor-types.js +2 -0
  344. package/dist/src/runs/executor-types.js.map +1 -0
  345. package/dist/src/runs/executor.js +54 -34
  346. package/dist/src/runs/executor.js.map +1 -1
  347. package/dist/src/runs/index.js +1 -0
  348. package/dist/src/runs/index.js.map +1 -1
  349. package/dist/src/runs/local-inference-environment.js +59 -0
  350. package/dist/src/runs/local-inference-environment.js.map +1 -0
  351. package/dist/src/runs/local-inference-run.js +53 -0
  352. package/dist/src/runs/local-inference-run.js.map +1 -0
  353. package/dist/src/runs/outcome.js +22 -0
  354. package/dist/src/runs/outcome.js.map +1 -1
  355. package/dist/src/runs/records.js +9 -0
  356. package/dist/src/runs/records.js.map +1 -1
  357. package/dist/src/runs/request.js +58 -3
  358. package/dist/src/runs/request.js.map +1 -1
  359. package/dist/src/runs/training-evidence.js +22 -0
  360. package/dist/src/runs/training-evidence.js.map +1 -0
  361. package/dist/src/runs/training-runtime.js +20 -0
  362. package/dist/src/runs/training-runtime.js.map +1 -0
  363. package/dist/src/workers/execution-observation.js +32 -0
  364. package/dist/src/workers/execution-observation.js.map +1 -0
  365. package/dist/src/workers/index.js +2 -0
  366. package/dist/src/workers/index.js.map +1 -1
  367. package/dist/src/workers/remote-harbor-ownership.js +266 -0
  368. package/dist/src/workers/remote-harbor-ownership.js.map +1 -0
  369. package/dist/src/workers/remote-harbor-verifier.js +76 -0
  370. package/dist/src/workers/remote-harbor-verifier.js.map +1 -0
  371. package/dist/src/workers/remote-harbor-work-spec.js +66 -10
  372. package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
  373. package/dist/src/workers/remote-harbor-worker.js +56 -49
  374. package/dist/src/workers/remote-harbor-worker.js.map +1 -1
  375. package/dist/src/workers/remote-worker-host.js +33 -0
  376. package/dist/src/workers/remote-worker-host.js.map +1 -0
  377. package/docs/local-model-inference-spec.zh-CN.md +666 -0
  378. package/docs/schemas/controller-runtime-observation.schema.json +21 -0
  379. package/docs/schemas/eval-execution-plan.schema.json +1 -0
  380. package/docs/schemas/eval-request.schema.json +3 -1
  381. package/docs/schemas/execution-lease.schema.json +95 -1
  382. package/docs/schemas/execution-provider-status.schema.json +162 -28
  383. package/docs/schemas/inference-execution-evidence.schema.json +487 -0
  384. package/docs/schemas/inference-lock.schema.json +487 -0
  385. package/docs/schemas/inference-runtime-manifest.schema.json +156 -0
  386. package/docs/schemas/inference-service-record.schema.json +227 -0
  387. package/docs/schemas/local-inference-selection.schema.json +98 -0
  388. package/docs/schemas/local-model-manifest.schema.json +43 -0
  389. package/docs/schemas/model-node-binding.schema.json +34 -0
  390. package/docs/schemas/model-node-generation-release.schema.json +46 -0
  391. package/docs/schemas/ordered-eval-control.schema.json +39 -0
  392. package/docs/schemas/remote-execution-lease-grant.schema.json +45 -0
  393. package/docs/schemas/remote-harbor-work-spec.schema.json +325 -0
  394. package/docs/schemas/remote-model-binding.schema.json +21 -0
  395. package/docs/schemas/remote-physical-execution.schema.json +108 -0
  396. package/docs/schemas/remote-result-envelope.schema.json +9 -3
  397. package/docs/schemas/remote-tree-envelope.schema.json +17 -3
  398. package/docs/schemas/remote-verifier-result.schema.json +203 -0
  399. package/docs/schemas/remote-verifier-source.schema.json +52 -0
  400. package/docs/schemas/remote-verifier-work.schema.json +125 -0
  401. package/docs/schemas/remote-work-offer.schema.json +170 -34
  402. package/docs/schemas/remote-worker-execution-admission.schema.json +214 -0
  403. package/docs/schemas/remote-worker-generation-cleanup.schema.json +199 -0
  404. package/docs/schemas/remote-worker-registration.schema.json +226 -25
  405. package/docs/schemas/run-manifest.schema.json +211 -44
  406. package/docs/schemas/run-request.schema.json +2 -1
  407. package/docs/schemas/training-external-binding.schema.json +26 -0
  408. package/integrations/harbor/hitch_harbor_agent.py +366 -38
  409. package/integrations/harbor/hitch_harbor_environment.py +22 -1
  410. package/integrations/harbor/hitch_host_credentials.py +354 -0
  411. package/integrations/harbor/hitch_private_exec.py +150 -0
  412. package/integrations/model-call/cli.js +13 -5
  413. package/integrations/training-tool/cli.js +72 -0
  414. package/package.json +8 -2
@@ -1,3 +1,4 @@
1
+ import { parseModelNodeBinding } from "../domain/index.js";
1
2
  export const DEFAULT_EVAL_TIMEOUT_MS = 15 * 60 * 1_000;
2
3
  export const DEFAULT_EVAL_SETUP_TIMEOUT_MS = 30 * 60 * 1_000;
3
4
  export const DEFAULT_INFRASTRUCTURE_RETRIES = 1;
@@ -20,7 +21,7 @@ export async function validateEvalRequest(input) {
20
21
  const allowed = new Set([
21
22
  "schema_version", "backend", "dataset", "harness_ref", "model", "attempts",
22
23
  "max_concurrent", "infrastructure_retries", "infrastructure_retry_backoff_ms",
23
- "timeout_ms", "setup_timeout_ms", "agent_args", "pass_env",
24
+ "timeout_ms", "setup_timeout_ms", "agent_args", "pass_env", "local_inference", "training_binding",
24
25
  ]);
25
26
  const unexpected = Object.keys(input).find((field) => !allowed.has(field));
26
27
  if (unexpected)
@@ -53,6 +54,14 @@ export async function validateEvalRequest(input) {
53
54
  if (input.pass_env !== undefined && (!Array.isArray(input.pass_env) || input.pass_env.some((value) => typeof value !== "string"))) {
54
55
  throw invalidInput("pass_env must be an array of strings");
55
56
  }
57
+ const localInference = validateEvalLocalInference(input.local_inference, typeof input.model === "string" ? input.model : "");
58
+ const training = input.training_binding === undefined ? undefined : parseTrainingBinding(input.training_binding);
59
+ if (training && (localInference || input.model !== `training/${training.bindingId}` || attempts !== 1 || infrastructureRetries !== 0
60
+ || reference.harness_id !== "training-tool" || input.agent_args?.length || input.pass_env?.length)) {
61
+ throw invalidInput("training-external requires training-tool, one logical attempt, zero automatic retries, no argument/env overrides, and its exact training/<bindingId> model");
62
+ }
63
+ if (!training && String(input.model).startsWith("training/"))
64
+ throw invalidInput("training models require an explicit training binding");
56
65
  const agentArgs = Array.isArray(input.agent_args) ? [...input.agent_args] : [];
57
66
  if (benchmark.manifest) {
58
67
  await assertStandardBenchmarkCandidate(input.dataset.trim(), benchmark.manifest, reference.harness_id, agentArgs);
@@ -76,6 +85,53 @@ export async function validateEvalRequest(input) {
76
85
  pass_env: [...new Set(Array.isArray(input.pass_env) ? input.pass_env : [])],
77
86
  benchmark_id: benchmark.benchmark_id,
78
87
  benchmark_revision: benchmark.benchmark_revision,
88
+ ...(localInference ? { local_inference: localInference } : {}),
89
+ ...(training ? { training_binding: training } : {}),
90
+ };
91
+ }
92
+ function validateEvalLocalInference(value, model) {
93
+ const localModel = model.startsWith("local/");
94
+ if (!localModel) {
95
+ if (value !== undefined)
96
+ throw invalidInput("--device, --local-profile, --inference and --offline require a local/<name> model");
97
+ return undefined;
98
+ }
99
+ if (value === undefined)
100
+ return { model, device: "auto", profile: "baseline", offline: false };
101
+ if (!value || typeof value !== "object" || Array.isArray(value))
102
+ throw invalidInput("local_inference must be an object");
103
+ const record = value;
104
+ const allowed = new Set(["model", "device", "profile", "inference_id", "offline", "model_node"]);
105
+ const unexpected = Object.keys(record).find((field) => !allowed.has(field));
106
+ if (unexpected)
107
+ throw invalidInput(`local_inference has unknown field: ${unexpected}`);
108
+ if (record.model !== undefined && record.model !== model)
109
+ throw invalidInput("local_inference.model must match model");
110
+ const modelNode = record.model_node === undefined ? undefined : parseModelNodeBinding(record.model_node);
111
+ if (modelNode && record.inference_id === undefined)
112
+ throw new TypeError("model-node selection requires a planned inference lock");
113
+ const normalizedNodeSelection = modelNode && (record.device === undefined || record.device === "auto") && (record.profile === undefined || record.profile === "baseline");
114
+ if (record.inference_id !== undefined && !normalizedNodeSelection && (record.device !== undefined || record.profile !== undefined)) {
115
+ throw invalidInput("--inference cannot be combined with --device or --local-profile");
116
+ }
117
+ const device = record.device ?? "auto";
118
+ const profile = record.profile ?? "baseline";
119
+ if (!new Set(["auto", "cpu", "cuda", "metal"]).has(String(device)))
120
+ throw invalidInput("local_inference.device must be auto, cpu, cuda, or metal");
121
+ if (profile !== "baseline" && profile !== "throughput")
122
+ throw invalidInput("local_inference.profile must be baseline or throughput");
123
+ if (record.offline !== undefined && typeof record.offline !== "boolean")
124
+ throw invalidInput("local_inference.offline must be a boolean");
125
+ if (record.inference_id !== undefined && (typeof record.inference_id !== "string" || !/^sha256:[a-f0-9]{64}$/.test(record.inference_id))) {
126
+ throw invalidInput("local_inference.inference_id must be a SHA-256 digest");
127
+ }
128
+ return {
129
+ model,
130
+ device: device,
131
+ profile,
132
+ offline: record.offline === true,
133
+ ...(modelNode ? { model_node: modelNode } : {}),
134
+ ...(record.inference_id === undefined ? {} : { inference_id: record.inference_id }),
79
135
  };
80
136
  }
81
137
  export async function resolveBenchmarkReference(dataset) {
@@ -173,4 +229,5 @@ import { assertExactLocalGitEvalReference, parseHarnessReference } from "../revi
173
229
  import { workspaceDigest } from "../workspaces/index.js";
174
230
  import { loadBenchmarkAdapterManifest } from "./benchmark-adapter-manifest.js";
175
231
  import { assertStandardBenchmarkCandidate } from "./benchmark-candidate.js";
232
+ import { parseTrainingBinding } from "../model-access/index.js";
176
233
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/evals/request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/evals/request.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { rm } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { HitchError, atomicWriteJSON, readJSON, sha256JSON } from "../foundation/index.js";
4
+ import { evalRerunSemantics } from "./rerun-types.js";
5
+ const file = (directory) => path.join(directory, "completion-pending.json");
6
+ export async function stageRemoteRerunCompletion(evalDirectory, directory, result) {
7
+ const source = await readJSON(path.join(evalDirectory, "result.json"));
8
+ if (source.status !== result.eval_status)
9
+ throw invalid();
10
+ await atomicWriteJSON(file(directory), { schema_version: "2", result, result_digest: sha256JSON(result), source_result_digest: sha256JSON(source) });
11
+ }
12
+ export async function readRemoteRerunCompletion(directory, evalId, rerunId) {
13
+ const record = await readJSON(file(directory), null);
14
+ if (!record)
15
+ return null;
16
+ const result = record.result;
17
+ const request = await readJSON(path.join(directory, "request.json"), null);
18
+ if (record.schema_version !== "2" || !result || record.result_digest !== sha256JSON(result)
19
+ || typeof record.source_result_digest !== "string" || !/^sha256:[a-f0-9]{64}$/.test(record.source_result_digest)
20
+ || result.schema_version !== "1" || result.kind !== "eval-rerun" || result.eval_id !== evalId || result.rerun_id !== rerunId
21
+ || !["candidate-restart", "verifier-only"].includes(result.rerun_type) || result.status !== "completed" || !["succeeded", "failed"].includes(result.eval_status)
22
+ || sha256JSON(result.semantics) !== sha256JSON(evalRerunSemantics(result.rerun_type))
23
+ || !Number.isFinite(Date.parse(result.completed_at)) || !request || request.schema_version !== "1"
24
+ || request.eval_id !== evalId || request.rerun_id !== rerunId || request.rerun_type !== result.rerun_type
25
+ || sha256JSON(request.semantics) !== sha256JSON(result.semantics)
26
+ || sha256JSON(request.trials) !== sha256JSON(result.selected_trials) || sha256JSON(request.tasks) !== sha256JSON(result.selected_tasks))
27
+ throw invalid();
28
+ return record;
29
+ }
30
+ export async function acknowledgeRemoteRerunCompletion(directory, result) {
31
+ const record = await readRemoteRerunCompletion(directory, result.eval_id, result.rerun_id);
32
+ if (!record)
33
+ return;
34
+ if (record.result_digest !== sha256JSON(result))
35
+ throw invalid();
36
+ await rm(file(directory));
37
+ }
38
+ function invalid() { return new HitchError("remote rerun completion differs from its frozen result or selection", { code: "execution_state_ambiguous", exitCode: 12 }); }
39
+ //# sourceMappingURL=rerun-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rerun-completion.js","sourceRoot":"","sources":["../../../src/evals/rerun-completion.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,60 @@ import { HitchError, readJSON } from "../foundation/index.js";
5
5
  import { loadHarborArtifact } from "./harbor-artifact-builder.js";
6
6
  import { validateEvalRequest } from "./request.js";
7
7
  import { frozenRerunBenchmark } from "./verifier-only-rerun.js";
8
+ export function parseRerunPlan(value, evalId, request) {
9
+ if (!value || typeof value !== "object" || Array.isArray(value))
10
+ throw unavailable("eval plan is missing");
11
+ const plan = value;
12
+ if (plan.eval_id !== evalId || plan.schema_version !== "1") {
13
+ throw unavailable("eval rerun requires a schema v1 plan");
14
+ }
15
+ if (!Number.isSafeInteger(plan.attempts) || plan.attempts < 1 || plan.attempts !== request.attempts) {
16
+ throw unavailable("eval request and attempt plan differ");
17
+ }
18
+ let attemptExecution;
19
+ if (plan.attempt_execution === undefined && plan.attempts === 1) {
20
+ attemptExecution = "legacy-single-attempt-v1";
21
+ }
22
+ else if (plan.attempt_execution === "harbor-attempt-shards-v1") {
23
+ attemptExecution = "harbor-attempt-shards-v1";
24
+ }
25
+ else if (plan.attempt_execution === "harbor-task-slots-v1") {
26
+ attemptExecution = "harbor-task-slots-v1";
27
+ }
28
+ else if (plan.attempt_execution === undefined) {
29
+ throw new HitchError("eval was created without explicit logical-attempt identity; create a new eval with agent-hitch >= 0.2.5", { code: "eval_rerun_legacy_attempt_identity", exitCode: 2 });
30
+ }
31
+ else {
32
+ throw unavailable(`unsupported eval attempt execution: ${String(plan.attempt_execution)}`);
33
+ }
34
+ if (plan.dataset !== request.dataset || plan.benchmark_id !== request.benchmark_id
35
+ || plan.benchmark_revision !== request.benchmark_revision)
36
+ throw unavailable("eval request and plan identity differ");
37
+ if (!Array.isArray(plan.tasks) || plan.tasks.length === 0 || plan.tasks.some((task) => typeof task !== "string" || task.length === 0)) {
38
+ throw unavailable("eval rerun requires a frozen local task plan");
39
+ }
40
+ const preparedArtifacts = Array.isArray(plan.prepared_artifacts)
41
+ ? plan.prepared_artifacts.filter((entry) => Boolean(entry) && typeof entry === "object" && !Array.isArray(entry))
42
+ : plan.prepared_artifact && typeof plan.prepared_artifact === "object" && !Array.isArray(plan.prepared_artifact)
43
+ ? [plan.prepared_artifact]
44
+ : [];
45
+ if (!plan.candidate || typeof plan.candidate !== "object" || Array.isArray(plan.candidate)
46
+ || preparedArtifacts.length === 0 || Array.isArray(plan.prepared_artifacts) && preparedArtifacts.length !== plan.prepared_artifacts.length
47
+ || !plan.controller_runtime || typeof plan.controller_runtime !== "object" || Array.isArray(plan.controller_runtime)) {
48
+ throw unavailable("eval plan is incomplete");
49
+ }
50
+ return {
51
+ tasks: [...plan.tasks],
52
+ attempts: plan.attempts,
53
+ attemptExecution,
54
+ candidate: plan.candidate,
55
+ preparedArtifacts,
56
+ controllerRuntime: plan.controller_runtime,
57
+ ...(plan.local_source_transport && typeof plan.local_source_transport === "object" && !Array.isArray(plan.local_source_transport)
58
+ ? { localSourceTransport: plan.local_source_transport }
59
+ : {}),
60
+ };
61
+ }
8
62
  export async function loadRerunResolvedRevision(evalDirectory, plan) {
9
63
  const resolution = await readJSON(path.join(evalDirectory, "resolution.json"));
10
64
  if (!resolution || resolution.identity !== requiredString(plan.candidate.revision_identity, "candidate revision identity")
@@ -1 +1 @@
1
- {"version":3,"file":"rerun-inputs.js","sourceRoot":"","sources":["../../../src/evals/rerun-inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rerun-inputs.js","sourceRoot":"","sources":["../../../src/evals/rerun-inputs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import path from "node:path";
2
+ import { HitchError, readJSON, sha256JSON } from "../foundation/index.js";
3
+ import { candidateRestartWorkItem } from "./physical-work-plan.js";
4
+ import { evalRerunSemantics } from "./rerun-types.js";
5
+ import { slotKey, sortSlots, uniqueTasks } from "./rerun-slots.js";
6
+ import { readExecutionLeases } from "./execution-leases.js";
7
+ /** Restore the original selection; recovered publications must not select a new batch. */
8
+ export async function restoreRemoteRerunSelection(input) {
9
+ const type = input.rerunType ?? "candidate-restart";
10
+ const saved = await readJSON(path.join(input.directory, "request.json"), null);
11
+ if (!saved || saved.schema_version !== "1" || saved.eval_id !== input.evalId || saved.rerun_id !== input.rerunId
12
+ || !["candidate-restart", "verifier-only"].includes(type) || saved.rerun_type !== type
13
+ || saved.verifier_runtime_id !== input.verifierRuntimeId || saved.mode !== input.selector.mode
14
+ || sha256JSON(saved.semantics) !== sha256JSON(evalRerunSemantics(type))
15
+ || !Number.isSafeInteger(saved.base_generation) || saved.base_generation < 0
16
+ || saved.base_generation > input.progress.generation
17
+ || typeof saved.created_at !== "string" || !Number.isFinite(Date.parse(saved.created_at))
18
+ || !Array.isArray(saved.trials))
19
+ throw ambiguous("remote rerun has no valid frozen selection");
20
+ const trials = saved.trials.map(value => {
21
+ if (!value || typeof value !== "object" || Array.isArray(value))
22
+ throw ambiguous("remote rerun selected trial is invalid");
23
+ const slot = value;
24
+ if (Object.keys(slot).length !== 2 || typeof slot.task_id !== "string" || !input.tasks.includes(slot.task_id)
25
+ || !Number.isSafeInteger(slot.attempt) || slot.attempt < 1 || slot.attempt > input.attempts)
26
+ throw ambiguous("remote rerun selected trial differs from the frozen plan");
27
+ return { task_id: slot.task_id, attempt: slot.attempt };
28
+ });
29
+ if (new Set(trials.map(slotKey)).size !== trials.length || sha256JSON(trials) !== sha256JSON(sortSlots(trials))
30
+ || sha256JSON(saved.tasks) !== sha256JSON(uniqueTasks(trials))
31
+ || input.selector.mode === "tasks" && sha256JSON([...new Set(input.selector.taskNames)].sort()) !== sha256JSON(uniqueTasks(trials))) {
32
+ throw ambiguous("remote rerun selected tasks do not match its original request");
33
+ }
34
+ return { trials, startedAt: saved.created_at };
35
+ }
36
+ /** Inspect every work journal before starting a model service or dispatching anything. */
37
+ export async function remoteRerunNeedsExecution(input) {
38
+ const leases = await readExecutionLeases(input.evalDirectory);
39
+ let needsExecution = false;
40
+ for (const slot of input.slots) {
41
+ const logical = input.plan.slots.find(item => item.task_id === slot.task_id && item.attempt === slot.attempt);
42
+ const source = logical && input.plan.work_items.find(item => item.slots.includes(logical.slot_id));
43
+ if (!source || source.slots.length !== 1 || source.task_ids.length !== 1)
44
+ throw ambiguous("remote rerun selection has no single-task physical source");
45
+ const work = candidateRestartWorkItem(source, input.rerunId);
46
+ const identity = { schema_version: "1", rerun_id: input.rerunId, source_work_id: source.work_id,
47
+ work_id: work.work_id, plan_digest: sha256JSON(input.plan), request_digest: sha256JSON(input.request) };
48
+ const journal = await readJSON(path.join(input.directory, "remote-work", `${work.work_id}.json`), null);
49
+ if (!journal) {
50
+ needsExecution = true;
51
+ continue;
52
+ }
53
+ if (journal.state === "not-started" && sha256JSON(journal.identity) === sha256JSON(identity) && !journal.result
54
+ && leases.some(lease => lease.lease_id === journal.lease_id && lease.work_id === work.work_id
55
+ && lease.provider === input.plan.provider && lease.state === "released")) {
56
+ needsExecution = true;
57
+ continue;
58
+ }
59
+ if (sha256JSON(journal.identity) !== sha256JSON(identity) || journal.state !== "completed" || !journal.result
60
+ || !leases.some(lease => lease.lease_id === journal.result.leaseId && lease.work_id === work.work_id
61
+ && lease.provider === input.plan.provider && lease.state === "released"))
62
+ throw ambiguous("remote rerun work needs a matching collected result and confirmed lease release");
63
+ if (journal.result.run.backend.process_exit_code !== 0 || journal.result.run.rawResult === null) {
64
+ throw new HitchError("recovered remote Harbor rerun failed before producing a complete result", { code: "eval_rerun_harbor_failed", exitCode: 13 });
65
+ }
66
+ }
67
+ return needsExecution;
68
+ }
69
+ function ambiguous(message) { return new HitchError(message, { code: "execution_state_ambiguous", exitCode: 12 }); }
70
+ //# sourceMappingURL=rerun-resume.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rerun-resume.js","sourceRoot":"","sources":["../../../src/evals/rerun-resume.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { SCHEMA_VERSION, atomicWriteJSON } from "../foundation/index.js";
2
+ import { evalRerunSemantics } from "./rerun-types.js";
3
+ import { sortSlots } from "./rerun-slots.js";
4
+ export async function writeRerunState(file, input) {
5
+ await atomicWriteJSON(file, {
6
+ schema_version: SCHEMA_VERSION,
7
+ rerun_id: input.rerunId,
8
+ eval_id: input.evalId,
9
+ rerun_type: input.rerunType,
10
+ semantics: evalRerunSemantics(input.rerunType),
11
+ status: input.status,
12
+ tasks: [...input.tasks],
13
+ ...(input.trials ? { trials: sortSlots(input.trials) } : {}),
14
+ repaired_tasks: [...input.repairedTasks],
15
+ ...(input.repairedTrials ? { repaired_trials: sortSlots(input.repairedTrials) } : {}),
16
+ ...(input.evalStatus ? { eval_status: input.evalStatus } : {}),
17
+ ...(input.remainingInvalidTasks ? { remaining_invalid_tasks: [...input.remainingInvalidTasks] } : {}),
18
+ ...(input.remainingInvalidTrials ? { remaining_invalid_trials: sortSlots(input.remainingInvalidTrials) } : {}),
19
+ ...(input.errorCode ? { error: { code: input.errorCode } } : {}),
20
+ started_at: input.startedAt,
21
+ ...(input.completedAt ? { completed_at: input.completedAt } : {}),
22
+ updated_at: input.completedAt ?? new Date().toISOString(),
23
+ });
24
+ }
25
+ //# sourceMappingURL=rerun-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rerun-state.js","sourceRoot":"","sources":["../../../src/evals/rerun-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,KAenD;IACC,MAAM,eAAe,CAAC,IAAI,EAAE;QAC1B,cAAc,EAAE,cAAc;QAC9B,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC;QAC9C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACvB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC;QACxC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,GAAG,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,UAAU,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC1D,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rerun-types.js","sourceRoot":"","sources":["../../../src/evals/rerun-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,cAAc;CACN,CAAC;AAyDX,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAsB,CAAC,EAAE,CAAC;QACpF,MAAM,YAAY,CAAC,qCAAqC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACzI,KAAK,kBAAkB;YACrB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACvI,KAAK,mBAAmB;YACtB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC7I,KAAK,eAAe;YAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;QACpI,KAAK,cAAc;YACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACxH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAmB;IAC9D,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO;IAChG,MAAM,WAAW,GAA8H;QAC7I,kBAAkB,EAAE;YAClB,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,qJAAqJ;SAC/J;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,wLAAwL;SAClM;KACF,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"rerun-types.js","sourceRoot":"","sources":["../../../src/evals/rerun-types.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,eAAe;IACf,cAAc;CACN,CAAC;AA8DX,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAsB,CAAC,EAAE,CAAC;QACpF,MAAM,YAAY,CAAC,qCAAqC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,KAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAmB;IACpD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB;YACtB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACzI,KAAK,kBAAkB;YACrB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACvI,KAAK,mBAAmB;YACtB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,cAAc,EAAE,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC7I,KAAK,eAAe;YAClB,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;QACpI,KAAK,cAAc;YACjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IACxH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAmB;IAC9D,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,eAAe;QAAE,OAAO;IAChG,MAAM,WAAW,GAA8H;QAC7I,kBAAkB,EAAE;YAClB,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,qJAAqJ;SAC/J;QACD,mBAAmB,EAAE;YACnB,IAAI,EAAE,oCAAoC;YAC1C,OAAO,EAAE,wLAAwL;SAClM;KACF,CAAC;IACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7E,CAAC"}