agent-hitch 0.2.9 → 0.2.11

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 (427) hide show
  1. package/README.md +208 -138
  2. package/README.zh-CN.md +195 -120
  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 +15 -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/verifier.js +54 -3
  72. package/dist/src/cli/commands/verifier.js.map +1 -1
  73. package/dist/src/cli/commands/worker.js +30 -2
  74. package/dist/src/cli/commands/worker.js.map +1 -1
  75. package/dist/src/cli/main.js +8 -0
  76. package/dist/src/cli/main.js.map +1 -1
  77. package/dist/src/cli/output.js +26 -2
  78. package/dist/src/cli/output.js.map +1 -1
  79. package/dist/src/control-plane/eval-records.js +2 -0
  80. package/dist/src/control-plane/eval-records.js.map +1 -1
  81. package/dist/src/control-plane/eval-recovery.js +7 -1
  82. package/dist/src/control-plane/eval-recovery.js.map +1 -1
  83. package/dist/src/control-plane/eval-scheduler.js +24 -50
  84. package/dist/src/control-plane/eval-scheduler.js.map +1 -1
  85. package/dist/src/control-plane/eval-submission-persist.js +30 -0
  86. package/dist/src/control-plane/eval-submission-persist.js.map +1 -0
  87. package/dist/src/control-plane/execution-observation-contract.js +60 -0
  88. package/dist/src/control-plane/execution-observation-contract.js.map +1 -0
  89. package/dist/src/control-plane/index.js +10 -0
  90. package/dist/src/control-plane/index.js.map +1 -1
  91. package/dist/src/control-plane/inference-manager.js +357 -0
  92. package/dist/src/control-plane/inference-manager.js.map +1 -0
  93. package/dist/src/control-plane/managed-gateway-receipt.js +26 -0
  94. package/dist/src/control-plane/managed-gateway-receipt.js.map +1 -0
  95. package/dist/src/control-plane/managed-service-recovery.js +158 -0
  96. package/dist/src/control-plane/managed-service-recovery.js.map +1 -0
  97. package/dist/src/control-plane/model-capture-planning.js +15 -1
  98. package/dist/src/control-plane/model-capture-planning.js.map +1 -1
  99. package/dist/src/control-plane/ordered-eval-control.js +221 -0
  100. package/dist/src/control-plane/ordered-eval-control.js.map +1 -0
  101. package/dist/src/control-plane/remote-backend-result.js +18 -0
  102. package/dist/src/control-plane/remote-backend-result.js.map +1 -0
  103. package/dist/src/control-plane/remote-execution-lease.js +15 -0
  104. package/dist/src/control-plane/remote-execution-lease.js.map +1 -0
  105. package/dist/src/control-plane/remote-execution-observation.js +108 -0
  106. package/dist/src/control-plane/remote-execution-observation.js.map +1 -0
  107. package/dist/src/control-plane/remote-model-routes.js +107 -0
  108. package/dist/src/control-plane/remote-model-routes.js.map +1 -0
  109. package/dist/src/control-plane/remote-observation-reporter.js +37 -0
  110. package/dist/src/control-plane/remote-observation-reporter.js.map +1 -0
  111. package/dist/src/control-plane/remote-offer-contract.js +48 -0
  112. package/dist/src/control-plane/remote-offer-contract.js.map +1 -0
  113. package/dist/src/control-plane/remote-rerun-journal.js +61 -0
  114. package/dist/src/control-plane/remote-rerun-journal.js.map +1 -0
  115. package/dist/src/control-plane/remote-result-transport.js +55 -9
  116. package/dist/src/control-plane/remote-result-transport.js.map +1 -1
  117. package/dist/src/control-plane/remote-verifier-import.js +52 -0
  118. package/dist/src/control-plane/remote-verifier-import.js.map +1 -0
  119. package/dist/src/control-plane/remote-verifier-result.js +61 -0
  120. package/dist/src/control-plane/remote-verifier-result.js.map +1 -0
  121. package/dist/src/control-plane/remote-verifier-source-transport.js +68 -0
  122. package/dist/src/control-plane/remote-verifier-source-transport.js.map +1 -0
  123. package/dist/src/control-plane/remote-work-coordinator.js +103 -47
  124. package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
  125. package/dist/src/control-plane/remote-work-inputs.js +26 -5
  126. package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
  127. package/dist/src/control-plane/remote-work-recovery.js +123 -34
  128. package/dist/src/control-plane/remote-work-recovery.js.map +1 -1
  129. package/dist/src/control-plane/remote-worker-artifacts.js +10 -7
  130. package/dist/src/control-plane/remote-worker-artifacts.js.map +1 -1
  131. package/dist/src/control-plane/remote-worker-cleanup.js +104 -0
  132. package/dist/src/control-plane/remote-worker-cleanup.js.map +1 -0
  133. package/dist/src/control-plane/remote-worker-client.js +156 -14
  134. package/dist/src/control-plane/remote-worker-client.js.map +1 -1
  135. package/dist/src/control-plane/remote-worker-codecs.js +160 -0
  136. package/dist/src/control-plane/remote-worker-codecs.js.map +1 -0
  137. package/dist/src/control-plane/remote-worker-generation-recovery.js +67 -0
  138. package/dist/src/control-plane/remote-worker-generation-recovery.js.map +1 -0
  139. package/dist/src/control-plane/remote-worker-ownership.js +51 -0
  140. package/dist/src/control-plane/remote-worker-ownership.js.map +1 -0
  141. package/dist/src/control-plane/remote-worker-protocol.js +85 -119
  142. package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
  143. package/dist/src/control-plane/remote-worker-runner.js +95 -18
  144. package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
  145. package/dist/src/control-plane/remote-workers.js +33 -5
  146. package/dist/src/control-plane/remote-workers.js.map +1 -1
  147. package/dist/src/control-plane/rerun-recovery.js +89 -0
  148. package/dist/src/control-plane/rerun-recovery.js.map +1 -0
  149. package/dist/src/control-plane/rerun-scheduler.js +70 -96
  150. package/dist/src/control-plane/rerun-scheduler.js.map +1 -1
  151. package/dist/src/control-plane/rerun-source.js +57 -0
  152. package/dist/src/control-plane/rerun-source.js.map +1 -0
  153. package/dist/src/control-plane/worker-model-relay.js +76 -0
  154. package/dist/src/control-plane/worker-model-relay.js.map +1 -0
  155. package/dist/src/controller-runtime/hash.js +3 -0
  156. package/dist/src/controller-runtime/hash.js.map +1 -1
  157. package/dist/src/controller-runtime/index.js +2 -0
  158. package/dist/src/controller-runtime/index.js.map +1 -1
  159. package/dist/src/controller-runtime/observation.js +29 -0
  160. package/dist/src/controller-runtime/observation.js.map +1 -0
  161. package/dist/src/controller-runtime/resident.js +22 -0
  162. package/dist/src/controller-runtime/resident.js.map +1 -0
  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 +8 -0
  203. package/dist/src/evals/harbor-bridge-error.js.map +1 -1
  204. package/dist/src/evals/index.js +20 -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-resume.js +70 -0
  251. package/dist/src/evals/rerun-resume.js.map +1 -0
  252. package/dist/src/evals/rerun-state.js +25 -0
  253. package/dist/src/evals/rerun-state.js.map +1 -0
  254. package/dist/src/evals/rerun-types.js.map +1 -1
  255. package/dist/src/evals/rerun.js +90 -46
  256. package/dist/src/evals/rerun.js.map +1 -1
  257. package/dist/src/evals/service.js +59 -5
  258. package/dist/src/evals/service.js.map +1 -1
  259. package/dist/src/evals/verifier-artifacts.js +98 -153
  260. package/dist/src/evals/verifier-artifacts.js.map +1 -1
  261. package/dist/src/evals/verifier-diagnostic-repair.js +276 -0
  262. package/dist/src/evals/verifier-diagnostic-repair.js.map +1 -0
  263. package/dist/src/evals/verifier-only-rerun.js +2 -16
  264. package/dist/src/evals/verifier-only-rerun.js.map +1 -1
  265. package/dist/src/evals/verifier-rerun-result.js +24 -0
  266. package/dist/src/evals/verifier-rerun-result.js.map +1 -0
  267. package/dist/src/evals/verifier-source-import.js +48 -0
  268. package/dist/src/evals/verifier-source-import.js.map +1 -0
  269. package/dist/src/evals/verifier-source.js +139 -0
  270. package/dist/src/evals/verifier-source.js.map +1 -0
  271. package/dist/src/foundation/base64.js +19 -0
  272. package/dist/src/foundation/base64.js.map +1 -0
  273. package/dist/src/foundation/config.js +10 -0
  274. package/dist/src/foundation/config.js.map +1 -1
  275. package/dist/src/foundation/credential-redaction.js +22 -9
  276. package/dist/src/foundation/credential-redaction.js.map +1 -1
  277. package/dist/src/foundation/index.js +1 -0
  278. package/dist/src/foundation/index.js.map +1 -1
  279. package/dist/src/foundation/process-identity.js +13 -9
  280. package/dist/src/foundation/process-identity.js.map +1 -1
  281. package/dist/src/inference/daemon-capacity.js +41 -0
  282. package/dist/src/inference/daemon-capacity.js.map +1 -0
  283. package/dist/src/inference/device-reservation.js +58 -0
  284. package/dist/src/inference/device-reservation.js.map +1 -0
  285. package/dist/src/inference/doctor.js +95 -0
  286. package/dist/src/inference/doctor.js.map +1 -0
  287. package/dist/src/inference/generation-recovery.js +83 -0
  288. package/dist/src/inference/generation-recovery.js.map +1 -0
  289. package/dist/src/inference/index.js +24 -0
  290. package/dist/src/inference/index.js.map +1 -0
  291. package/dist/src/inference/lock.js +331 -0
  292. package/dist/src/inference/lock.js.map +1 -0
  293. package/dist/src/inference/managed-launcher.js +35 -0
  294. package/dist/src/inference/managed-launcher.js.map +1 -0
  295. package/dist/src/inference/manifest.js +262 -0
  296. package/dist/src/inference/manifest.js.map +1 -0
  297. package/dist/src/inference/materialize.js +66 -0
  298. package/dist/src/inference/materialize.js.map +1 -0
  299. package/dist/src/inference/model-location.js +34 -0
  300. package/dist/src/inference/model-location.js.map +1 -0
  301. package/dist/src/inference/model-store.js +439 -0
  302. package/dist/src/inference/model-store.js.map +1 -0
  303. package/dist/src/inference/node-client.js +167 -0
  304. package/dist/src/inference/node-client.js.map +1 -0
  305. package/dist/src/inference/node-registry.js +79 -0
  306. package/dist/src/inference/node-registry.js.map +1 -0
  307. package/dist/src/inference/observation.js +79 -0
  308. package/dist/src/inference/observation.js.map +1 -0
  309. package/dist/src/inference/preflight.js +132 -0
  310. package/dist/src/inference/preflight.js.map +1 -0
  311. package/dist/src/inference/process-sglang.js +169 -0
  312. package/dist/src/inference/process-sglang.js.map +1 -0
  313. package/dist/src/inference/protocol-probe.js +29 -0
  314. package/dist/src/inference/protocol-probe.js.map +1 -0
  315. package/dist/src/inference/remote-model-store.js +24 -0
  316. package/dist/src/inference/remote-model-store.js.map +1 -0
  317. package/dist/src/inference/runtime-catalog.js +41 -0
  318. package/dist/src/inference/runtime-catalog.js.map +1 -0
  319. package/dist/src/inference/runtime-store.js +93 -0
  320. package/dist/src/inference/runtime-store.js.map +1 -0
  321. package/dist/src/inference/service-attachment.js +46 -0
  322. package/dist/src/inference/service-attachment.js.map +1 -0
  323. package/dist/src/inference/service-inspection.js +38 -0
  324. package/dist/src/inference/service-inspection.js.map +1 -0
  325. package/dist/src/inference/sglang.js +279 -0
  326. package/dist/src/inference/sglang.js.map +1 -0
  327. package/dist/src/inference/supervisor.js +460 -0
  328. package/dist/src/inference/supervisor.js.map +1 -0
  329. package/dist/src/model-access/environment.js +28 -0
  330. package/dist/src/model-access/environment.js.map +1 -0
  331. package/dist/src/model-access/index.js +4 -0
  332. package/dist/src/model-access/index.js.map +1 -1
  333. package/dist/src/model-access/local-gateway-request.js +139 -0
  334. package/dist/src/model-access/local-gateway-request.js.map +1 -0
  335. package/dist/src/model-access/local-gateway.js +323 -0
  336. package/dist/src/model-access/local-gateway.js.map +1 -0
  337. package/dist/src/model-access/proxy.js +90 -5
  338. package/dist/src/model-access/proxy.js.map +1 -1
  339. package/dist/src/model-access/remote-model.js +58 -0
  340. package/dist/src/model-access/remote-model.js.map +1 -0
  341. package/dist/src/model-access/training.js +115 -0
  342. package/dist/src/model-access/training.js.map +1 -0
  343. package/dist/src/runs/adapter-process.js +2 -2
  344. package/dist/src/runs/adapter-process.js.map +1 -1
  345. package/dist/src/runs/executor-types.js +2 -0
  346. package/dist/src/runs/executor-types.js.map +1 -0
  347. package/dist/src/runs/executor.js +54 -34
  348. package/dist/src/runs/executor.js.map +1 -1
  349. package/dist/src/runs/index.js +4 -2
  350. package/dist/src/runs/index.js.map +1 -1
  351. package/dist/src/runs/local-inference-environment.js +59 -0
  352. package/dist/src/runs/local-inference-environment.js.map +1 -0
  353. package/dist/src/runs/local-inference-run.js +53 -0
  354. package/dist/src/runs/local-inference-run.js.map +1 -0
  355. package/dist/src/runs/outcome.js +22 -0
  356. package/dist/src/runs/outcome.js.map +1 -1
  357. package/dist/src/runs/records.js +9 -0
  358. package/dist/src/runs/records.js.map +1 -1
  359. package/dist/src/runs/request.js +58 -3
  360. package/dist/src/runs/request.js.map +1 -1
  361. package/dist/src/runs/training-evidence.js +22 -0
  362. package/dist/src/runs/training-evidence.js.map +1 -0
  363. package/dist/src/runs/training-runtime.js +20 -0
  364. package/dist/src/runs/training-runtime.js.map +1 -0
  365. package/dist/src/runs/verifier-diagnostic-storage.js +237 -0
  366. package/dist/src/runs/verifier-diagnostic-storage.js.map +1 -0
  367. package/dist/src/runs/verifier-diagnostic-supplement.js +228 -0
  368. package/dist/src/runs/verifier-diagnostic-supplement.js.map +1 -0
  369. package/dist/src/runs/verifier-evidence.js +119 -118
  370. package/dist/src/runs/verifier-evidence.js.map +1 -1
  371. package/dist/src/trajectories/providers/deepseek.js +52 -38
  372. package/dist/src/trajectories/providers/deepseek.js.map +1 -1
  373. package/dist/src/trajectories/store.js +17 -0
  374. package/dist/src/trajectories/store.js.map +1 -1
  375. package/dist/src/workers/execution-observation.js +32 -0
  376. package/dist/src/workers/execution-observation.js.map +1 -0
  377. package/dist/src/workers/index.js +2 -0
  378. package/dist/src/workers/index.js.map +1 -1
  379. package/dist/src/workers/remote-harbor-ownership.js +266 -0
  380. package/dist/src/workers/remote-harbor-ownership.js.map +1 -0
  381. package/dist/src/workers/remote-harbor-verifier.js +76 -0
  382. package/dist/src/workers/remote-harbor-verifier.js.map +1 -0
  383. package/dist/src/workers/remote-harbor-work-spec.js +66 -10
  384. package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
  385. package/dist/src/workers/remote-harbor-worker.js +56 -49
  386. package/dist/src/workers/remote-harbor-worker.js.map +1 -1
  387. package/dist/src/workers/remote-worker-host.js +33 -0
  388. package/dist/src/workers/remote-worker-host.js.map +1 -0
  389. package/docs/local-model-inference-spec.zh-CN.md +666 -0
  390. package/docs/schemas/controller-runtime-observation.schema.json +21 -0
  391. package/docs/schemas/eval-execution-plan.schema.json +1 -0
  392. package/docs/schemas/eval-request.schema.json +3 -1
  393. package/docs/schemas/execution-lease.schema.json +95 -1
  394. package/docs/schemas/execution-provider-status.schema.json +162 -28
  395. package/docs/schemas/inference-execution-evidence.schema.json +487 -0
  396. package/docs/schemas/inference-lock.schema.json +487 -0
  397. package/docs/schemas/inference-runtime-manifest.schema.json +156 -0
  398. package/docs/schemas/inference-service-record.schema.json +227 -0
  399. package/docs/schemas/local-inference-selection.schema.json +98 -0
  400. package/docs/schemas/local-model-manifest.schema.json +43 -0
  401. package/docs/schemas/model-node-binding.schema.json +34 -0
  402. package/docs/schemas/model-node-generation-release.schema.json +46 -0
  403. package/docs/schemas/ordered-eval-control.schema.json +39 -0
  404. package/docs/schemas/remote-execution-lease-grant.schema.json +45 -0
  405. package/docs/schemas/remote-harbor-work-spec.schema.json +325 -0
  406. package/docs/schemas/remote-model-binding.schema.json +21 -0
  407. package/docs/schemas/remote-physical-execution.schema.json +108 -0
  408. package/docs/schemas/remote-result-envelope.schema.json +9 -3
  409. package/docs/schemas/remote-tree-envelope.schema.json +17 -3
  410. package/docs/schemas/remote-verifier-result.schema.json +203 -0
  411. package/docs/schemas/remote-verifier-source.schema.json +52 -0
  412. package/docs/schemas/remote-verifier-work.schema.json +125 -0
  413. package/docs/schemas/remote-work-offer.schema.json +170 -34
  414. package/docs/schemas/remote-worker-execution-admission.schema.json +214 -0
  415. package/docs/schemas/remote-worker-generation-cleanup.schema.json +199 -0
  416. package/docs/schemas/remote-worker-registration.schema.json +226 -25
  417. package/docs/schemas/run-manifest.schema.json +211 -44
  418. package/docs/schemas/run-request.schema.json +2 -1
  419. package/docs/schemas/training-external-binding.schema.json +26 -0
  420. package/docs/schemas/verifier-diagnostic-page.schema.json +97 -0
  421. package/integrations/harbor/hitch_harbor_agent.py +241 -13
  422. package/integrations/harbor/hitch_harbor_environment.py +22 -1
  423. package/integrations/harbor/hitch_host_credentials.py +354 -0
  424. package/integrations/harbor/hitch_private_exec.py +150 -0
  425. package/integrations/model-call/cli.js +13 -5
  426. package/integrations/training-tool/cli.js +72 -0
  427. package/package.json +8 -2
@@ -0,0 +1,325 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hitch.local/schemas/remote-harbor-work-spec.schema.json",
4
+ "title": "Hitch remote Harbor work spec V1/V2",
5
+ "description": "The worker additionally validates equality with its offer and the complete request/plan/model graph before execution.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "request",
11
+ "plan",
12
+ "work",
13
+ "resolution",
14
+ "harness_artifact",
15
+ "controller_runtime",
16
+ "task"
17
+ ],
18
+ "properties": {
19
+ "schema_version": {
20
+ "enum": [
21
+ "1",
22
+ "2"
23
+ ]
24
+ },
25
+ "request": {
26
+ "allOf": [
27
+ {
28
+ "$ref": "eval-request.schema.json"
29
+ },
30
+ {
31
+ "properties": {
32
+ "dataset": {
33
+ "const": "task-input"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ },
39
+ "plan": {
40
+ "$ref": "eval-execution-plan.schema.json"
41
+ },
42
+ "work": {
43
+ "$ref": "eval-execution-plan.schema.json#/properties/work_items/items"
44
+ },
45
+ "resolution": {
46
+ "$ref": "resolved-revision.schema.json"
47
+ },
48
+ "harness_artifact": {
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "required": [
52
+ "directory",
53
+ "artifact_id",
54
+ "artifact_integrity",
55
+ "entrypoint_integrity",
56
+ "harness_id",
57
+ "revision_identity",
58
+ "adapter_version",
59
+ "recipe_version",
60
+ "platform",
61
+ "node_version",
62
+ "source_type"
63
+ ],
64
+ "properties": {
65
+ "directory": {
66
+ "const": "harness-artifact"
67
+ },
68
+ "artifact_id": {
69
+ "$ref": "#/$defs/sha256"
70
+ },
71
+ "artifact_integrity": {
72
+ "$ref": "#/$defs/sha256"
73
+ },
74
+ "entrypoint_integrity": {
75
+ "$ref": "#/$defs/sha256"
76
+ },
77
+ "harness_id": {
78
+ "$ref": "#/$defs/text"
79
+ },
80
+ "revision_identity": {
81
+ "$ref": "#/$defs/sha256"
82
+ },
83
+ "adapter_version": {
84
+ "$ref": "#/$defs/text"
85
+ },
86
+ "recipe_version": {
87
+ "$ref": "#/$defs/text"
88
+ },
89
+ "platform": {
90
+ "$ref": "#/$defs/text"
91
+ },
92
+ "node_version": {
93
+ "$ref": "#/$defs/text"
94
+ },
95
+ "source_type": {
96
+ "$ref": "#/$defs/text"
97
+ }
98
+ }
99
+ },
100
+ "controller_runtime": {
101
+ "type": "object",
102
+ "additionalProperties": false,
103
+ "required": [
104
+ "runtime_id",
105
+ "directory"
106
+ ],
107
+ "properties": {
108
+ "runtime_id": {
109
+ "$ref": "#/$defs/sha256"
110
+ },
111
+ "directory": {
112
+ "const": "controller-runtime"
113
+ }
114
+ }
115
+ },
116
+ "task": {
117
+ "type": "object",
118
+ "additionalProperties": false,
119
+ "required": [
120
+ "task_id",
121
+ "directory"
122
+ ],
123
+ "properties": {
124
+ "task_id": {
125
+ "$ref": "#/$defs/text"
126
+ },
127
+ "directory": {
128
+ "const": "task-input"
129
+ }
130
+ }
131
+ },
132
+ "credential_names": {
133
+ "type": "array",
134
+ "uniqueItems": true,
135
+ "maxItems": 256,
136
+ "items": {
137
+ "type": "string",
138
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
139
+ }
140
+ },
141
+ "model_binding": {
142
+ "$ref": "remote-model-binding.schema.json"
143
+ },
144
+ "physical_execution": {
145
+ "$ref": "remote-physical-execution.schema.json"
146
+ },
147
+ "verifier_source": {
148
+ "const": "2"
149
+ },
150
+ "verifier_only": {
151
+ "$ref": "remote-verifier-work.schema.json"
152
+ }
153
+ },
154
+ "allOf": [
155
+ {
156
+ "if": {
157
+ "properties": {
158
+ "schema_version": {
159
+ "const": "2"
160
+ }
161
+ }
162
+ },
163
+ "then": {
164
+ "required": [
165
+ "credential_names"
166
+ ],
167
+ "anyOf": [
168
+ {
169
+ "required": [
170
+ "model_binding"
171
+ ]
172
+ },
173
+ {
174
+ "required": [
175
+ "physical_execution"
176
+ ]
177
+ },
178
+ {
179
+ "required": [
180
+ "verifier_source"
181
+ ]
182
+ }
183
+ ]
184
+ },
185
+ "else": {
186
+ "not": {
187
+ "anyOf": [
188
+ {
189
+ "required": [
190
+ "model_binding"
191
+ ]
192
+ },
193
+ {
194
+ "required": [
195
+ "physical_execution"
196
+ ]
197
+ },
198
+ {
199
+ "required": [
200
+ "verifier_source"
201
+ ]
202
+ },
203
+ {
204
+ "required": [
205
+ "verifier_only"
206
+ ]
207
+ }
208
+ ]
209
+ },
210
+ "properties": {
211
+ "request": {
212
+ "not": {
213
+ "anyOf": [
214
+ {
215
+ "required": [
216
+ "training_binding"
217
+ ]
218
+ },
219
+ {
220
+ "required": [
221
+ "local_inference"
222
+ ]
223
+ }
224
+ ]
225
+ }
226
+ }
227
+ }
228
+ }
229
+ },
230
+ {
231
+ "if": {
232
+ "required": [
233
+ "model_binding"
234
+ ]
235
+ },
236
+ "then": {
237
+ "properties": {
238
+ "credential_names": {
239
+ "maxItems": 0
240
+ },
241
+ "request": {
242
+ "properties": {
243
+ "pass_env": {
244
+ "maxItems": 0
245
+ }
246
+ }
247
+ }
248
+ }
249
+ }
250
+ },
251
+ {
252
+ "if": {
253
+ "required": [
254
+ "verifier_only"
255
+ ]
256
+ },
257
+ "then": {
258
+ "required": [
259
+ "physical_execution",
260
+ "credential_names"
261
+ ],
262
+ "properties": {
263
+ "schema_version": {
264
+ "const": "2"
265
+ },
266
+ "physical_execution": {
267
+ "properties": {
268
+ "kind": {
269
+ "const": "verifier-only"
270
+ }
271
+ }
272
+ },
273
+ "credential_names": {
274
+ "maxItems": 0
275
+ },
276
+ "request": {
277
+ "not": {
278
+ "required": [
279
+ "training_binding"
280
+ ]
281
+ }
282
+ }
283
+ },
284
+ "not": {
285
+ "anyOf": [
286
+ {
287
+ "required": [
288
+ "model_binding"
289
+ ]
290
+ },
291
+ {
292
+ "required": [
293
+ "verifier_source"
294
+ ]
295
+ }
296
+ ]
297
+ }
298
+ },
299
+ "else": {
300
+ "properties": {
301
+ "physical_execution": {
302
+ "properties": {
303
+ "kind": {
304
+ "not": {
305
+ "const": "verifier-only"
306
+ }
307
+ }
308
+ }
309
+ }
310
+ }
311
+ }
312
+ }
313
+ ],
314
+ "$defs": {
315
+ "sha256": {
316
+ "type": "string",
317
+ "pattern": "^sha256:[a-f0-9]{64}$"
318
+ },
319
+ "text": {
320
+ "type": "string",
321
+ "minLength": 1,
322
+ "maxLength": 4096
323
+ }
324
+ }
325
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hitch.local/schemas/remote-model-binding.schema.json",
4
+ "title": "Hitch remote worker public model binding V2",
5
+ "oneOf": [
6
+ {
7
+ "type": "object", "additionalProperties": false, "required": ["schema_version", "kind", "training"],
8
+ "properties": { "schema_version": { "const": "2" }, "kind": { "const": "training-external" }, "training": { "$ref": "training-external-binding.schema.json" } }
9
+ },
10
+ {
11
+ "type": "object", "additionalProperties": false, "required": ["schema_version", "kind", "inference_id", "model_id", "model_node", "api", "max_output_tokens"],
12
+ "properties": {
13
+ "schema_version": { "const": "2" }, "kind": { "const": "managed-inference" },
14
+ "inference_id": { "$ref": "#/$defs/sha256" }, "model_id": { "$ref": "#/$defs/sha256" },
15
+ "model_node": { "$ref": "model-node-binding.schema.json" }, "api": { "enum": ["responses", "chat-completions"] },
16
+ "max_output_tokens": { "type": "integer", "minimum": 1 }
17
+ }
18
+ }
19
+ ],
20
+ "$defs": { "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" } }
21
+ }
@@ -0,0 +1,108 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hitch.local/schemas/remote-physical-execution.schema.json",
4
+ "title": "Hitch remote physical execution V2",
5
+ "description": "Derives a physical work ID from an unchanged frozen logical plan. The worker additionally verifies all work fields against the original source and rejects training slot reruns.",
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "required": [
11
+ "schema_version",
12
+ "kind",
13
+ "source_work_id",
14
+ "rerun_id"
15
+ ],
16
+ "properties": {
17
+ "schema_version": {
18
+ "const": "2"
19
+ },
20
+ "kind": {
21
+ "const": "candidate-restart"
22
+ },
23
+ "source_work_id": {
24
+ "$ref": "#/$defs/workId"
25
+ },
26
+ "rerun_id": {
27
+ "type": "string",
28
+ "pattern": "^rerun_[a-f0-9]{32}$"
29
+ }
30
+ }
31
+ },
32
+ {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": [
36
+ "schema_version",
37
+ "kind",
38
+ "source_work_id",
39
+ "retry_index",
40
+ "trigger_trial_ids"
41
+ ],
42
+ "properties": {
43
+ "schema_version": {
44
+ "const": "2"
45
+ },
46
+ "kind": {
47
+ "const": "physical-infrastructure-retry"
48
+ },
49
+ "source_work_id": {
50
+ "$ref": "#/$defs/workId"
51
+ },
52
+ "retry_index": {
53
+ "type": "integer",
54
+ "minimum": 1
55
+ },
56
+ "trigger_trial_ids": {
57
+ "type": "array",
58
+ "minItems": 1,
59
+ "maxItems": 10000,
60
+ "uniqueItems": true,
61
+ "description": "Sorted in UTF-8 byte order.",
62
+ "items": {
63
+ "type": "string",
64
+ "minLength": 1,
65
+ "maxLength": 4096,
66
+ "pattern": "^[^\\u0000\\r\\n]+$"
67
+ }
68
+ }
69
+ }
70
+ },
71
+ {
72
+ "type": "object",
73
+ "additionalProperties": false,
74
+ "required": [
75
+ "schema_version",
76
+ "kind",
77
+ "source_work_id",
78
+ "rerun_id",
79
+ "assessment_id"
80
+ ],
81
+ "properties": {
82
+ "schema_version": {
83
+ "const": "2"
84
+ },
85
+ "kind": {
86
+ "const": "verifier-only"
87
+ },
88
+ "source_work_id": {
89
+ "$ref": "#/$defs/workId"
90
+ },
91
+ "rerun_id": {
92
+ "type": "string",
93
+ "pattern": "^rerun_[a-f0-9]{32}$"
94
+ },
95
+ "assessment_id": {
96
+ "type": "string",
97
+ "pattern": "^assessment_[a-f0-9]{32}$"
98
+ }
99
+ }
100
+ }
101
+ ],
102
+ "$defs": {
103
+ "workId": {
104
+ "type": "string",
105
+ "pattern": "^work_[a-f0-9]{32}$"
106
+ }
107
+ }
108
+ }
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://agent-hitch.local/schemas/remote-result-envelope.schema.json",
4
- "title": "Hitch remote result envelope V1",
4
+ "title": "Hitch remote result envelope V1/V2",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "required": ["schema_version", "eval_id", "work_id", "lease_id", "lease_epoch", "trial", "files"],
8
8
  "properties": {
9
- "schema_version": { "const": "1" },
9
+ "schema_version": { "enum": ["1", "2"] },
10
+ "verifier_source": { "$ref": "remote-verifier-source.schema.json" },
10
11
  "eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
11
12
  "work_id": { "type": "string", "pattern": "^work_[a-f0-9]{32}$" },
12
13
  "lease_id": { "type": "string", "pattern": "^lease_[a-f0-9]{32}$" },
@@ -28,5 +29,10 @@
28
29
  }
29
30
  }
30
31
  }
31
- }
32
+ },
33
+ "allOf": [{
34
+ "if": { "properties": { "schema_version": { "const": "2" } } },
35
+ "then": { "required": ["verifier_source"] },
36
+ "else": { "not": { "required": ["verifier_source"] } }
37
+ }]
32
38
  }
@@ -2,24 +2,38 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://agent-hitch.local/schemas/remote-tree-envelope.schema.json",
4
4
  "title": "Hitch remote tree envelope V1",
5
+ "description": "The runtime also validates canonical paths, order, unique entries, total limits, safe symlink targets and file digests.",
5
6
  "type": "object",
6
7
  "additionalProperties": false,
7
8
  "required": ["schema_version", "files"],
8
9
  "properties": {
9
10
  "schema_version": { "const": "1" },
11
+ "directories": { "type": "array", "maxItems": 100000, "items": {
12
+ "type": "object", "additionalProperties": false, "required": ["path", "mode"],
13
+ "properties": { "path": { "type": "string", "minLength": 1 }, "mode": { "type": "integer", "minimum": 256, "maximum": 511 } }
14
+ } },
15
+ "symlinks": { "type": "array", "maxItems": 100000, "items": {
16
+ "type": "object", "additionalProperties": false, "required": ["path", "target"],
17
+ "properties": { "path": { "type": "string", "minLength": 1 }, "target": { "type": "string", "minLength": 1 } }
18
+ } },
10
19
  "files": {
11
- "type": "array", "minItems": 1, "maxItems": 100000,
20
+ "type": "array", "maxItems": 100000,
12
21
  "items": {
13
22
  "type": "object", "additionalProperties": false,
14
23
  "required": ["path", "mode", "size", "sha256", "content_base64"],
15
24
  "properties": {
16
25
  "path": { "type": "string", "minLength": 1 },
17
- "mode": { "enum": [420, 493] },
26
+ "mode": { "type": "integer", "minimum": 256, "maximum": 511 },
18
27
  "size": { "type": "integer", "minimum": 0, "maximum": 268435456 },
19
28
  "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
20
29
  "content_base64": { "type": "string", "contentEncoding": "base64" }
21
30
  }
22
31
  }
23
32
  }
24
- }
33
+ },
34
+ "anyOf": [
35
+ { "properties": { "files": { "minItems": 1 } } },
36
+ { "required": ["directories"], "properties": { "directories": { "minItems": 1 } } },
37
+ { "required": ["symlinks"], "properties": { "symlinks": { "minItems": 1 } } }
38
+ ]
25
39
  }