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
@@ -10,11 +10,16 @@ import { attemptDirectoryName, formatSlot, invalidTrialSlots, selectRerunTrialSl
10
10
  import { summarizeTrialRefs } from "./result-helpers.js";
11
11
  import { importEvalTrialRun, importEvalTrialRuns, TrialBundlePendingError, validateEvalTrialReferences } from "./trial-import.js";
12
12
  import { collectOnlyEvalRerun } from "./collect-only-rerun.js";
13
- import { loadPersistedRerunRequest, loadRerunLocalTransport, loadRerunPreparedArtifacts, loadRerunResolvedRevision } from "./rerun-inputs.js";
13
+ import { loadPersistedRerunRequest, loadRerunLocalTransport, loadRerunPreparedArtifacts, loadRerunResolvedRevision, parseRerunPlan } from "./rerun-inputs.js";
14
14
  import { parseEvalExecutionPlan } from "./execution-plan.js";
15
15
  import { startEvalModelCaptureRuntime } from "./model-capture-runtime.js";
16
16
  import { verifierOnlyEvalRerun } from "./verifier-only-rerun.js";
17
+ import { remoteVerifierOnlyEvalRerun } from "./remote-verifier-rerun.js";
17
18
  import { restartIncompleteEval } from "./preparation-rerun.js";
19
+ import { writeRerunState } from "./rerun-state.js";
20
+ import { assertRemoteRerunQuiescent, executeRemoteRerunGroup } from "./remote-rerun-execution.js";
21
+ import { remoteRerunNeedsExecution, restoreRemoteRerunSelection } from "./rerun-resume.js";
22
+ import { stageRemoteRerunCompletion } from "./rerun-completion.js";
18
23
  export { selectRerunTasks, selectRerunTrialSlots } from "./rerun-slots.js";
19
24
  export async function rerunEval(options) {
20
25
  if (!options.root)
@@ -32,7 +37,7 @@ export async function rerunEval(options) {
32
37
  return withFileLock(path.join(evalDirectory, "reruns"), "active", () => rerunEvalLocked({ ...options, rerunId, rerunType, evalId, evalDirectory }), { timeoutCode: "eval_rerun_active", timeoutExitCode: 2, ...(options.signal ? { signal: options.signal } : {}) });
33
38
  }
34
39
  async function rerunEvalLocked(options) {
35
- const startedAt = new Date().toISOString();
40
+ let startedAt = new Date().toISOString();
36
41
  const rerunId = options.rerunId;
37
42
  const rerunDirectory = path.join(options.evalDirectory, "reruns", rerunId);
38
43
  const statePath = path.join(rerunDirectory, "state.json");
@@ -44,6 +49,19 @@ async function rerunEvalLocked(options) {
44
49
  if (requestValue === null)
45
50
  throw new HitchError(`eval not found: ${options.evalId}`, { code: "eval_not_found", exitCode: 3 });
46
51
  const request = await loadPersistedRerunRequest(requestValue, options.evalDirectory);
52
+ if (request.training_binding)
53
+ throw new HitchError("training slots are repaired by the frozen Gear batch coordinator, not eval rerun", { code: "training_rerun_fenced", exitCode: 12 });
54
+ const submission = await readJSON(path.join(options.evalDirectory, "submission.json"), null);
55
+ if (options.resumeRemoteRerun && (!["candidate-restart", "verifier-only"].includes(options.rerunType) || !submission?.execution?.provider
56
+ || submission.execution.provider === "local-docker"))
57
+ throw unavailable("only a reconciled remote rerun can restore its selection");
58
+ if (submission?.execution?.provider && submission.execution.provider !== "local-docker" && options.rerunType !== "collect-only") {
59
+ await assertRemoteRerunQuiescent(options.evalDirectory, submission.execution.provider);
60
+ }
61
+ if (submission?.execution?.provider && submission.execution.provider !== "local-docker" && options.rerunType !== "collect-only"
62
+ && (!["candidate-restart", "verifier-only"].includes(options.rerunType) || !options.remoteWorkExecutor || options.executionWorker?.provider !== submission.execution.provider)) {
63
+ throw new HitchError("remote candidate/verifier rerun requires worker dispatch; local fallback is not supported", { code: "remote_rerun_unavailable", exitCode: 12 });
64
+ }
47
65
  if (options.maxConcurrentOverride !== undefined && (!Number.isSafeInteger(options.maxConcurrentOverride)
48
66
  || options.maxConcurrentOverride < 1 || options.maxConcurrentOverride > request.max_concurrent)) {
49
67
  throw invalidInput("eval rerun concurrency override is invalid");
@@ -60,24 +78,30 @@ async function rerunEvalLocked(options) {
60
78
  const previousResult = await readJSON(path.join(options.evalDirectory, "result.json"), null);
61
79
  if (previousResult?.status === "cancelled")
62
80
  throw new HitchError("cancelled eval cannot be rerun", { code: "eval_rerun_cancelled", exitCode: 2 });
63
- const selectedTrials = selectRerunTrialSlots(plan.tasks, plan.attempts, progress, options.selector, {
81
+ const restored = options.resumeRemoteRerun ? await restoreRemoteRerunSelection({ directory: rerunDirectory,
82
+ evalId: options.evalId, rerunId, selector: options.selector, tasks: plan.tasks, attempts: plan.attempts, progress,
83
+ rerunType: options.rerunType, ...(options.verifierRuntimeId ? { verifierRuntimeId: options.verifierRuntimeId } : {}) }) : undefined;
84
+ if (restored)
85
+ startedAt = restored.startedAt;
86
+ const selectedTrials = restored?.trials ?? selectRerunTrialSlots(plan.tasks, plan.attempts, progress, options.selector, {
64
87
  // Each executable recovery mode validates its own source prerequisites.
65
88
  allowVerifierFailures: options.rerunType === "candidate-restart" || options.rerunType === "collect-only" || options.rerunType === "verifier-only",
66
89
  });
67
90
  const selectedTasks = uniqueTasks(selectedTrials);
68
- await atomicWriteJSON(path.join(rerunDirectory, "request.json"), {
69
- schema_version: SCHEMA_VERSION,
70
- rerun_id: rerunId,
71
- eval_id: options.evalId,
72
- rerun_type: options.rerunType,
73
- ...(options.verifierRuntimeId ? { verifier_runtime_id: options.verifierRuntimeId } : {}),
74
- semantics: evalRerunSemantics(options.rerunType),
75
- mode: options.selector.mode,
76
- tasks: selectedTasks,
77
- trials: selectedTrials,
78
- base_generation: progress.generation,
79
- created_at: startedAt,
80
- });
91
+ if (!restored)
92
+ await atomicWriteJSON(path.join(rerunDirectory, "request.json"), {
93
+ schema_version: SCHEMA_VERSION,
94
+ rerun_id: rerunId,
95
+ eval_id: options.evalId,
96
+ rerun_type: options.rerunType,
97
+ ...(options.verifierRuntimeId ? { verifier_runtime_id: options.verifierRuntimeId } : {}),
98
+ semantics: evalRerunSemantics(options.rerunType),
99
+ mode: options.selector.mode,
100
+ tasks: selectedTasks,
101
+ trials: selectedTrials,
102
+ base_generation: progress.generation,
103
+ created_at: startedAt,
104
+ });
81
105
  await writeRerunState(statePath, {
82
106
  rerunId,
83
107
  evalId: options.evalId,
@@ -92,21 +116,49 @@ async function rerunEvalLocked(options) {
92
116
  const repaired = new Map();
93
117
  const backendRuns = [];
94
118
  let captureRuntime;
119
+ let inferenceLease;
95
120
  try {
96
- if (options.rerunType === "verifier-only")
97
- return await verifierOnlyEvalRerun({ ...options, rerunDirectory, startedAt, request, plan, progress, previousResult, selectedTrials });
121
+ if (options.rerunType === "verifier-only") {
122
+ const execute = submission?.execution?.provider && submission.execution.provider !== "local-docker" ? remoteVerifierOnlyEvalRerun : verifierOnlyEvalRerun;
123
+ return await execute({ ...options, rerunDirectory, startedAt, request, plan, progress, previousResult, selectedTrials });
124
+ }
98
125
  if (options.rerunType === "collect-only")
99
126
  return collectOnlyEvalRerun({ root: options.root, evalId: options.evalId, evalDirectory: options.evalDirectory, rerunId, rerunDirectory, startedAt, request, plan, progress, previousResult, selectedTrials, env: options.env ?? process.env, ...(options.signal ? { signal: options.signal } : {}) });
100
127
  if (selectedTrials.length > 0) {
101
128
  const executionPlan = parseEvalExecutionPlan(await readJSON(path.join(options.evalDirectory, "execution-plan.json")));
102
129
  if (executionPlan.eval_id !== options.evalId)
103
130
  throw unavailable("eval execution plan identity changed");
104
- captureRuntime = await startEvalModelCaptureRuntime({
105
- plan: executionPlan.model_capture ?? defaultModelCapturePlan(),
106
- evalId: options.evalId,
107
- evalDirectory: rerunDirectory,
108
- env: options.env ?? process.env,
109
- });
131
+ const remote = executionPlan.provider !== "local-docker";
132
+ if (remote && (!options.remoteWorkExecutor || options.executionWorker?.provider !== executionPlan.provider))
133
+ throw unavailable("remote rerun has no executor for its frozen provider");
134
+ const needsExecution = !remote || await remoteRerunNeedsExecution({ evalDirectory: options.evalDirectory, directory: rerunDirectory,
135
+ rerunId, plan: executionPlan, request, slots: selectedTrials });
136
+ if (request.local_inference && needsExecution) {
137
+ if (!options.inferenceCoordinator)
138
+ throw new HitchError("local eval rerun inference requires the Hitch daemon", { code: "inference_route_unavailable", exitCode: 12 });
139
+ const inferenceId = plan.candidate.inference_id;
140
+ if (typeof inferenceId !== "string" || !/^sha256:[a-f0-9]{64}$/.test(inferenceId)) {
141
+ throw new HitchError("source eval has no valid local inference identity", { code: "inference_lock_mismatch", exitCode: 12 });
142
+ }
143
+ inferenceLease = await options.inferenceCoordinator.acquire({
144
+ run_id: `run_${rerunId.slice("rerun_".length)}`,
145
+ harness_ref: request.harness_ref,
146
+ selection: { ...request.local_inference, inference_id: inferenceId },
147
+ cache_scope_owner: `${options.evalId}:${rerunId}`,
148
+ evidence_owner: { kind: "eval", eval_id: options.evalId, rerun_id: rerunId },
149
+ ...(options.signal ? { signal: options.signal } : {}),
150
+ });
151
+ }
152
+ if (needsExecution)
153
+ captureRuntime = await startEvalModelCaptureRuntime({
154
+ plan: executionPlan.model_capture ?? defaultModelCapturePlan(),
155
+ evalId: options.evalId,
156
+ evalDirectory: rerunDirectory,
157
+ env: options.env ?? process.env,
158
+ ...(inferenceLease ? { managedInference: {
159
+ binding: inferenceLease.binding, credential: inferenceLease.credential, modelId: inferenceLease.lock.model_id,
160
+ } } : {}),
161
+ });
110
162
  const activeCaptureRuntime = captureRuntime;
111
163
  const resolvedRevision = await loadRerunResolvedRevision(options.evalDirectory, plan);
112
164
  const preparedArtifacts = await loadRerunPreparedArtifacts(options.root, plan);
@@ -116,7 +168,7 @@ async function rerunEvalLocked(options) {
116
168
  || runtime.manifest_digest !== requiredString(plan.controllerRuntime.manifest_digest, "plan controller runtime digest")) {
117
169
  throw unavailable("controller runtime identity changed");
118
170
  }
119
- const localTransport = await loadRerunLocalTransport(options.evalDirectory, plan, resolvedRevision, options.env, options.signal);
171
+ const localTransport = remote ? undefined : await loadRerunLocalTransport(options.evalDirectory, plan, resolvedRevision, options.env, options.signal);
120
172
  const groups = groupRerunSlotsByArtifact(selectedTrials, executionPlan, [...preparedArtifacts.keys()]);
121
173
  for (const { logicalAttempt, slots, artifactId, splitAttempt } of groups) {
122
174
  if (options.signal?.aborted)
@@ -148,9 +200,9 @@ async function rerunEvalLocked(options) {
148
200
  });
149
201
  const previousGeneration = progress.generation;
150
202
  progress = replaceInvalidEvalProgressTrial(progress, ref);
203
+ repaired.set(key, slot);
151
204
  if (progress.generation === previousGeneration)
152
205
  return;
153
- repaired.set(key, slot);
154
206
  await writeEvalProgress(options.evalDirectory, progress);
155
207
  await writeRerunState(statePath, {
156
208
  rerunId,
@@ -164,6 +216,16 @@ async function rerunEvalLocked(options) {
164
216
  startedAt,
165
217
  });
166
218
  };
219
+ if (remote) {
220
+ backendRuns.push(...await executeRemoteRerunGroup({
221
+ root: options.root, evalId: validateEvalId(options.evalId), evalDirectory: options.evalDirectory, rerunId, rerunDirectory,
222
+ request, plan: executionPlan, slots, resolvedRevision,
223
+ artifact: preparedArtifacts.get(artifactId) ?? (() => { throw unavailable(`rerun artifact is unavailable: ${artifactId}`); })(),
224
+ runtimeDirectory: runtime.directory, runtimeId: runtime.runtime_id, executor: options.remoteWorkExecutor,
225
+ ...(inferenceLease ? { inferenceLease } : {}), ...(options.signal ? { signal: options.signal } : {}), publish,
226
+ }));
227
+ continue;
228
+ }
167
229
  const backendRun = await runHarborBackend({
168
230
  evalId: options.evalId,
169
231
  evalDirectory: options.evalDirectory,
@@ -262,6 +324,8 @@ async function rerunEvalLocked(options) {
262
324
  started_at: startedAt,
263
325
  completed_at: completedAt,
264
326
  };
327
+ if (submission?.execution?.provider && submission.execution.provider !== "local-docker")
328
+ await stageRemoteRerunCompletion(options.evalDirectory, rerunDirectory, output);
265
329
  await writeRerunState(statePath, {
266
330
  rerunId,
267
331
  evalId: options.evalId,
@@ -306,6 +370,7 @@ async function rerunEvalLocked(options) {
306
370
  }
307
371
  finally {
308
372
  await captureRuntime?.close().catch(() => undefined);
373
+ await inferenceLease?.release().catch(() => undefined);
309
374
  }
310
375
  }
311
376
  function defaultModelCapturePlan() {
@@ -335,60 +400,6 @@ export function groupRerunSlotsByArtifact(selected, plan, persistedArtifactIds)
335
400
  .map((group) => ({ ...group, slots: sortSlots(group.slots), splitAttempt: (perAttempt.get(group.logicalAttempt) ?? 0) > 1 }))
336
401
  .sort((left, right) => left.logicalAttempt - right.logicalAttempt || Buffer.compare(Buffer.from(left.artifactId), Buffer.from(right.artifactId)));
337
402
  }
338
- function parseRerunPlan(value, evalId, request) {
339
- if (!value || typeof value !== "object" || Array.isArray(value))
340
- throw unavailable("eval plan is missing");
341
- const plan = value;
342
- if (plan.eval_id !== evalId || plan.schema_version !== "1") {
343
- throw unavailable("eval rerun requires a schema v1 plan");
344
- }
345
- if (!Number.isSafeInteger(plan.attempts) || plan.attempts < 1 || plan.attempts !== request.attempts) {
346
- throw unavailable("eval request and attempt plan differ");
347
- }
348
- let attemptExecution;
349
- if (plan.attempt_execution === undefined && plan.attempts === 1) {
350
- attemptExecution = "legacy-single-attempt-v1";
351
- }
352
- else if (plan.attempt_execution === "harbor-attempt-shards-v1") {
353
- attemptExecution = "harbor-attempt-shards-v1";
354
- }
355
- else if (plan.attempt_execution === "harbor-task-slots-v1") {
356
- attemptExecution = "harbor-task-slots-v1";
357
- }
358
- else if (plan.attempt_execution === undefined) {
359
- 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 });
360
- }
361
- else {
362
- throw unavailable(`unsupported eval attempt execution: ${String(plan.attempt_execution)}`);
363
- }
364
- if (plan.dataset !== request.dataset || plan.benchmark_id !== request.benchmark_id
365
- || plan.benchmark_revision !== request.benchmark_revision)
366
- throw unavailable("eval request and plan identity differ");
367
- if (!Array.isArray(plan.tasks) || plan.tasks.length === 0 || plan.tasks.some((task) => typeof task !== "string" || task.length === 0)) {
368
- throw unavailable("eval rerun requires a frozen local task plan");
369
- }
370
- const preparedArtifacts = Array.isArray(plan.prepared_artifacts)
371
- ? plan.prepared_artifacts.filter((entry) => Boolean(entry) && typeof entry === "object" && !Array.isArray(entry))
372
- : plan.prepared_artifact && typeof plan.prepared_artifact === "object" && !Array.isArray(plan.prepared_artifact)
373
- ? [plan.prepared_artifact]
374
- : [];
375
- if (!plan.candidate || typeof plan.candidate !== "object" || Array.isArray(plan.candidate)
376
- || preparedArtifacts.length === 0 || Array.isArray(plan.prepared_artifacts) && preparedArtifacts.length !== plan.prepared_artifacts.length
377
- || !plan.controller_runtime || typeof plan.controller_runtime !== "object" || Array.isArray(plan.controller_runtime)) {
378
- throw unavailable("eval plan is incomplete");
379
- }
380
- return {
381
- tasks: [...plan.tasks],
382
- attempts: plan.attempts,
383
- attemptExecution,
384
- candidate: plan.candidate,
385
- preparedArtifacts,
386
- controllerRuntime: plan.controller_runtime,
387
- ...(plan.local_source_transport && typeof plan.local_source_transport === "object" && !Array.isArray(plan.local_source_transport)
388
- ? { localSourceTransport: plan.local_source_transport }
389
- : {}),
390
- };
391
- }
392
403
  async function finalizeRerun(evalDirectory, request, plan, progress, previousResult, backendRuns = []) {
393
404
  const remainingTrials = invalidTrialSlots(plan.tasks, plan.attempts, progress);
394
405
  const remaining = uniqueTasks(remainingTrials);
@@ -410,6 +421,9 @@ async function finalizeRerun(evalDirectory, request, plan, progress, previousRes
410
421
  })),
411
422
  } : {}),
412
423
  candidate: plan.candidate,
424
+ // An interrupted eval may never have written a result. The frozen plan
425
+ // remains the source of the candidate's local transport provenance.
426
+ ...(plan.localSourceTransport ? { local_source_transport: plan.localSourceTransport } : {}),
413
427
  dataset: request.dataset,
414
428
  benchmark_id: request.benchmark_id,
415
429
  benchmark_revision: request.benchmark_revision,
@@ -430,27 +444,6 @@ async function finalizeRerun(evalDirectory, request, plan, progress, previousRes
430
444
  await atomicWriteJSON(path.join(evalDirectory, "result.json"), result);
431
445
  return result;
432
446
  }
433
- async function writeRerunState(file, input) {
434
- await atomicWriteJSON(file, {
435
- schema_version: SCHEMA_VERSION,
436
- rerun_id: input.rerunId,
437
- eval_id: input.evalId,
438
- rerun_type: input.rerunType,
439
- semantics: evalRerunSemantics(input.rerunType),
440
- status: input.status,
441
- tasks: [...input.tasks],
442
- ...(input.trials ? { trials: sortSlots(input.trials) } : {}),
443
- repaired_tasks: [...input.repairedTasks],
444
- ...(input.repairedTrials ? { repaired_trials: sortSlots(input.repairedTrials) } : {}),
445
- ...(input.evalStatus ? { eval_status: input.evalStatus } : {}),
446
- ...(input.remainingInvalidTasks ? { remaining_invalid_tasks: [...input.remainingInvalidTasks] } : {}),
447
- ...(input.remainingInvalidTrials ? { remaining_invalid_trials: sortSlots(input.remainingInvalidTrials) } : {}),
448
- ...(input.errorCode ? { error: { code: input.errorCode } } : {}),
449
- started_at: input.startedAt,
450
- ...(input.completedAt ? { completed_at: input.completedAt } : {}),
451
- updated_at: input.completedAt ?? new Date().toISOString(),
452
- });
453
- }
454
447
  function requiredString(value, label) {
455
448
  if (typeof value !== "string" || value.length === 0)
456
449
  throw unavailable(`${label} is missing`);
@@ -1 +1 @@
1
- {"version":3,"file":"rerun.js","sourceRoot":"","sources":["../../../src/evals/rerun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rerun.js","sourceRoot":"","sources":["../../../src/evals/rerun.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ import { resolvedImageMapping } from "./environment-image-planning.js";
16
16
  import { assertBackendTrialSet, attemptDirectoryName, localSourceBackendFailure, transportSummary } from "./result-helpers.js";
17
17
  import { executePlannedHarborTasks } from "./planned-execution.js";
18
18
  import { assertEvalResumeState, executionPlanWorkState, loadEvalResumeState } from "./resume-state.js";
19
- import { modelCaptureDegradationEvent, resolveEvalModelCapturePlan } from "./model-capture-plan.js";
19
+ import { forceLocalInferenceCapturePlan, modelCaptureDegradationEvent, resolveEvalModelCapturePlan } from "./model-capture-plan.js";
20
20
  import { finalizeEvalResult } from "./eval-finalization.js";
21
21
  import { prepareHostHarborArtifactForTest } from "./prepared-harness.js";
22
22
  import { prepareHarborArtifact } from "./harbor-artifact-builder.js";
@@ -28,9 +28,11 @@ import { materializeEvalPlan, writeEvalPlanningCheckpoint } from "./eval-logical
28
28
  import { planTaskSchedulingHints, schedulingHintsFromPlan } from "./duration-estimator.js";
29
29
  import { buildCompletedEvalResult } from "./eval-result-builder.js";
30
30
  import { loadBenchmarkAdapterManifest } from "./benchmark-adapter-manifest.js";
31
- export async function runEval({ evalId = newEvalId(), request, root, env = process.env, harborExecutable, signal, onEvent, trialBundleGraceMs, precreated = false, replaceTerminal = false, normalizedRequest, maxConcurrentOverride, executionResources, executionResourceSource = "operator-default", executionStrategy = "legacy-attempt-shards", executionWorker, modelCapturePlan, workItemAdmission, remoteWorkExecutor, resumeExisting = false, onControlPhase, onWorkItemState, onWorkItemQueued, evolutionBaselineDurations, dockerResourceReaper, environmentBuildMode = "backend", environmentImageResolver, environmentImageBuilder, environmentImageManifestLoader, harborArtifactBuilder }) {
31
+ export async function runEval({ evalId = newEvalId(), request, root, env = process.env, harborExecutable, signal, onEvent, trialBundleGraceMs, precreated = false, replaceTerminal = false, normalizedRequest, maxConcurrentOverride, executionResources, executionResourceSource = "operator-default", executionStrategy = "legacy-attempt-shards", executionWorker, modelCapturePlan, workItemAdmission, remoteWorkExecutor, inferenceCoordinator, inferenceRerunId, resumeExisting = false, onControlPhase, onWorkItemState, onWorkItemQueued, evolutionBaselineDurations, dockerResourceReaper, environmentBuildMode = "backend", environmentImageResolver, environmentImageBuilder, environmentImageManifestLoader, harborArtifactBuilder }) {
32
32
  if (!root)
33
33
  throw invalidInput("a Hitch state root is required for eval");
34
+ if (inferenceRerunId && !/^rerun_[a-f0-9]{32}$/.test(inferenceRerunId))
35
+ throw invalidInput("invalid inference repair scope");
34
36
  evalId = validateEvalId(evalId);
35
37
  const persistedRequest = normalizedRequest || await validateEvalRequest(request);
36
38
  if (maxConcurrentOverride !== undefined && (!Number.isSafeInteger(maxConcurrentOverride) || maxConcurrentOverride < 1 || maxConcurrentOverride > persistedRequest.max_concurrent)) {
@@ -47,6 +49,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
47
49
  let progress = null;
48
50
  let schedulerSummary;
49
51
  let captureRuntime;
52
+ let inferenceLease;
50
53
  let failureStage = "planning";
51
54
  try {
52
55
  const planningStartedAt = Date.now();
@@ -103,13 +106,48 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
103
106
  if (resume)
104
107
  startedAt = new Date(resume.progress.started_at);
105
108
  const capture = resolveEvalModelCapturePlan({ requested: modelCapturePlan, resumed: resume?.executionPlan.model_capture, resuming: Boolean(resume) });
109
+ if (normalized.training_binding) {
110
+ if (localTaskIds?.length !== 1 || standardDataset) {
111
+ throw new HitchError("training-external requires one enumerable Harbor dataset task", { code: "training_topology_unsupported", exitCode: 12 });
112
+ }
113
+ capture.plan = forceLocalInferenceCapturePlan(capture.plan, remoteWorkExecutor ? "in-sandbox" : "host-side");
114
+ capture.persist = true;
115
+ }
116
+ if (normalized.local_inference) {
117
+ capture.plan = forceLocalInferenceCapturePlan(capture.plan, remoteWorkExecutor ? "in-sandbox" : "host-side");
118
+ capture.persist = true;
119
+ if (!inferenceCoordinator)
120
+ throw new HitchError("local eval inference requires the Hitch daemon", { code: "inference_route_unavailable", exitCode: 12 });
121
+ const resumedInferenceId = resume?.plan.candidate?.inference_id;
122
+ if (resumedInferenceId !== undefined && (typeof resumedInferenceId !== "string" || !/^sha256:[a-f0-9]{64}$/.test(resumedInferenceId))) {
123
+ throw new HitchError("persisted local inference identity is invalid", { code: "inference_lock_mismatch", exitCode: 12 });
124
+ }
125
+ inferenceLease = await inferenceCoordinator.acquire({
126
+ run_id: inferenceRerunId ? `run_${inferenceRerunId.slice("rerun_".length)}` : `run_${evalId.slice("eval_".length)}`,
127
+ harness_ref: normalized.harness_ref,
128
+ selection: resumedInferenceId
129
+ ? { ...normalized.local_inference, inference_id: resumedInferenceId }
130
+ : normalized.local_inference,
131
+ cache_scope_owner: inferenceRerunId ? `${evalId}:${inferenceRerunId}` : evalId,
132
+ evidence_owner: { kind: "eval", eval_id: evalId, ...(inferenceRerunId ? { rerun_id: inferenceRerunId } : {}) },
133
+ ...(signal ? { signal } : {}),
134
+ on_event: (event) => sink.emit(event),
135
+ });
136
+ }
106
137
  const multipleRuntimeContracts = localPlanning.taskRuntimeContracts.length > 1;
107
138
  const logicalPlan = {
108
139
  schema_version: SCHEMA_VERSION,
109
140
  kind: "eval-logical-plan",
110
141
  eval_id: evalId,
111
142
  backend: "harbor",
112
- candidate: { id: "candidate-1", requested_harness_ref: normalized.harness_ref, harness_ref: lockedHarnessRef(resolvedRevision), harness_id: resolvedRevision.harness_id, revision_identity: resolvedRevision.identity, model: normalized.model || null },
143
+ candidate: {
144
+ id: "candidate-1", requested_harness_ref: normalized.harness_ref,
145
+ harness_ref: lockedHarnessRef(resolvedRevision), harness_id: resolvedRevision.harness_id,
146
+ revision_identity: resolvedRevision.identity, model: normalized.model || null,
147
+ ...(inferenceLease ? { inference_id: inferenceLease.lock.inference_id } : {}),
148
+ ...(inferenceLease?.lock.model_node ? { model_node: inferenceLease.lock.model_node } : {}),
149
+ ...(normalized.training_binding ? { training_binding: normalized.training_binding } : {}),
150
+ },
113
151
  dataset: normalized.dataset,
114
152
  benchmark_id: normalized.benchmark_id,
115
153
  benchmark_revision: normalized.benchmark_revision,
@@ -119,6 +157,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
119
157
  : "harbor-attempt-shards-v1",
120
158
  max_concurrent: normalized.max_concurrent,
121
159
  ...(capture.persist ? { model_capture: capture.plan } : {}),
160
+ ...(normalized.training_binding ? { training_binding: normalized.training_binding } : {}),
122
161
  infrastructure_retries: normalized.infrastructure_retries,
123
162
  infrastructure_retry_backoff_ms: normalized.infrastructure_retry_backoff_ms,
124
163
  ...(localTaskIds === null ? {} : { tasks: localTaskIds }),
@@ -144,7 +183,13 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
144
183
  const preparedAssignments = prepared.assignments;
145
184
  const preparedArtifact = prepared.primary;
146
185
  const preparedArtifacts = prepared.artifactsById;
147
- const activeCaptureRuntime = await startEvalModelCaptureRuntime({ plan: capture.plan, evalId, evalDirectory, env });
186
+ const activeCaptureRuntime = await startEvalModelCaptureRuntime({
187
+ plan: capture.plan, evalId, evalDirectory, env,
188
+ ...(normalized.training_binding ? { trainingBinding: normalized.training_binding } : {}),
189
+ ...(inferenceLease ? { managedInference: {
190
+ binding: inferenceLease.binding, credential: inferenceLease.credential, modelId: inferenceLease.lock.model_id,
191
+ } } : {}),
192
+ });
148
193
  captureRuntime = activeCaptureRuntime;
149
194
  capture.plan = activeCaptureRuntime.plan;
150
195
  const plan = materializeEvalPlan(logicalPlan, capture.persist ? capture.plan : undefined, preparedArtifactPlanFields(preparedAssignments));
@@ -171,6 +216,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
171
216
  candidate: {
172
217
  revisionIdentity: resolvedRevision.identity,
173
218
  artifactId: preparedArtifact.artifact_id,
219
+ ...(inferenceLease ? { inferenceId: inferenceLease.lock.inference_id } : {}),
174
220
  artifactAssignments: preparedAssignments.map((entry) => ({
175
221
  taskIds: entry.taskIds,
176
222
  artifactId: entry.artifact.artifact_id,
@@ -272,7 +318,13 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
272
318
  ...(dockerResourceReaper ? { dockerResourceReaper } : {}),
273
319
  ...(environmentImageManifestLoader ? { environmentImageManifestLoader } : {}),
274
320
  ...(activeCaptureRuntime.exporter ? { interactionCaptureExporter: activeCaptureRuntime.exporter } : {}),
275
- ...(remoteWorkExecutor ? { remoteWorkExecutor } : {}),
321
+ ...(remoteWorkExecutor ? { remoteWorkExecutor: (execution) => remoteWorkExecutor({
322
+ ...execution,
323
+ ...(inferenceLease ? { modelTarget: {
324
+ kind: "managed-inference", binding: inferenceLease.binding, credential: inferenceLease.credential,
325
+ modelId: inferenceLease.lock.model_id, maxOutputTokens: inferenceLease.lock.generation.max_output_tokens,
326
+ } } : {}),
327
+ }) } : {}),
276
328
  });
277
329
  progress = execution.progress;
278
330
  backendRuns.push(...execution.backendRuns.map((entry) => ({
@@ -466,6 +518,8 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
466
518
  }
467
519
  if (captureRuntime)
468
520
  await captureRuntime.close().catch((error) => sink.emit({ type: "interaction.capture.close-failed", code: error.code || "model_capture_close_failed" }));
521
+ if (inferenceLease)
522
+ await inferenceLease.release().catch((error) => sink.emit({ type: "inference.release.failed", code: error.code || "inference_release_failed" }));
469
523
  return finalizeEvalResult(evalDirectory, sink, result);
470
524
  }
471
525
  //# sourceMappingURL=service.js.map