agent-hitch 0.2.9 → 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 (410) 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/client.js +34 -1
  162. package/dist/src/daemon/client.js.map +1 -1
  163. package/dist/src/daemon/execution-observation.js +38 -0
  164. package/dist/src/daemon/execution-observation.js.map +1 -0
  165. package/dist/src/daemon/http.js +57 -0
  166. package/dist/src/daemon/http.js.map +1 -0
  167. package/dist/src/daemon/inference-prepare.js +47 -0
  168. package/dist/src/daemon/inference-prepare.js.map +1 -0
  169. package/dist/src/daemon/scheduler.js +4 -1
  170. package/dist/src/daemon/scheduler.js.map +1 -1
  171. package/dist/src/daemon/server.js +80 -82
  172. package/dist/src/daemon/server.js.map +1 -1
  173. package/dist/src/daemon/worker-observation.js +34 -0
  174. package/dist/src/daemon/worker-observation.js.map +1 -0
  175. package/dist/src/daemon/worker-ownership.js +71 -0
  176. package/dist/src/daemon/worker-ownership.js.map +1 -0
  177. package/dist/src/daemon/worker-routes.js +83 -15
  178. package/dist/src/daemon/worker-routes.js.map +1 -1
  179. package/dist/src/domain/execution-observation.js +2 -0
  180. package/dist/src/domain/execution-observation.js.map +1 -0
  181. package/dist/src/domain/index.js +1 -0
  182. package/dist/src/domain/index.js.map +1 -1
  183. package/dist/src/domain/inference.js +2 -0
  184. package/dist/src/domain/inference.js.map +1 -0
  185. package/dist/src/domain/runs.js.map +1 -1
  186. package/dist/src/domain/training.js +2 -0
  187. package/dist/src/domain/training.js.map +1 -0
  188. package/dist/src/domain/validation.js +11 -0
  189. package/dist/src/domain/validation.js.map +1 -1
  190. package/dist/src/domain/verifier-source.js +2 -0
  191. package/dist/src/domain/verifier-source.js.map +1 -0
  192. package/dist/src/domain/worker-recovery.js +2 -0
  193. package/dist/src/domain/worker-recovery.js.map +1 -0
  194. package/dist/src/evals/eval-logical-plan.js +8 -1
  195. package/dist/src/evals/eval-logical-plan.js.map +1 -1
  196. package/dist/src/evals/execution-leases.js +15 -2
  197. package/dist/src/evals/execution-leases.js.map +1 -1
  198. package/dist/src/evals/execution-plan.js +11 -1
  199. package/dist/src/evals/execution-plan.js.map +1 -1
  200. package/dist/src/evals/harbor-bridge-error.js +8 -0
  201. package/dist/src/evals/harbor-bridge-error.js.map +1 -1
  202. package/dist/src/evals/index.js +19 -0
  203. package/dist/src/evals/index.js.map +1 -1
  204. package/dist/src/evals/model-capture-plan.js +12 -0
  205. package/dist/src/evals/model-capture-plan.js.map +1 -1
  206. package/dist/src/evals/model-capture-runtime.js +25 -0
  207. package/dist/src/evals/model-capture-runtime.js.map +1 -1
  208. package/dist/src/evals/physical-work-plan.js +57 -0
  209. package/dist/src/evals/physical-work-plan.js.map +1 -0
  210. package/dist/src/evals/preparation-rerun.js +6 -0
  211. package/dist/src/evals/preparation-rerun.js.map +1 -1
  212. package/dist/src/evals/recovery.js +8 -1
  213. package/dist/src/evals/recovery.js.map +1 -1
  214. package/dist/src/evals/regrade-evidence.js +4 -4
  215. package/dist/src/evals/regrade-evidence.js.map +1 -1
  216. package/dist/src/evals/remote-execution-ownership.js +50 -0
  217. package/dist/src/evals/remote-execution-ownership.js.map +1 -0
  218. package/dist/src/evals/remote-infrastructure-retry.js +2 -0
  219. package/dist/src/evals/remote-infrastructure-retry.js.map +1 -1
  220. package/dist/src/evals/remote-lease-release.js +58 -0
  221. package/dist/src/evals/remote-lease-release.js.map +1 -0
  222. package/dist/src/evals/remote-rerun-execution.js +85 -0
  223. package/dist/src/evals/remote-rerun-execution.js.map +1 -0
  224. package/dist/src/evals/remote-trial.js +6 -0
  225. package/dist/src/evals/remote-trial.js.map +1 -0
  226. package/dist/src/evals/remote-verifier-assessment.js +85 -0
  227. package/dist/src/evals/remote-verifier-assessment.js.map +1 -0
  228. package/dist/src/evals/remote-verifier-contract.js +43 -0
  229. package/dist/src/evals/remote-verifier-contract.js.map +1 -0
  230. package/dist/src/evals/remote-verifier-execution.js +105 -0
  231. package/dist/src/evals/remote-verifier-execution.js.map +1 -0
  232. package/dist/src/evals/remote-verifier-journal.js +21 -0
  233. package/dist/src/evals/remote-verifier-journal.js.map +1 -0
  234. package/dist/src/evals/remote-verifier-outcome.js +51 -0
  235. package/dist/src/evals/remote-verifier-outcome.js.map +1 -0
  236. package/dist/src/evals/remote-verifier-rerun.js +134 -0
  237. package/dist/src/evals/remote-verifier-rerun.js.map +1 -0
  238. package/dist/src/evals/remote-verifier-selection.js +61 -0
  239. package/dist/src/evals/remote-verifier-selection.js.map +1 -0
  240. package/dist/src/evals/remote-verifier-source.js +33 -0
  241. package/dist/src/evals/remote-verifier-source.js.map +1 -0
  242. package/dist/src/evals/remote-worker-cleanup.js +46 -0
  243. package/dist/src/evals/remote-worker-cleanup.js.map +1 -0
  244. package/dist/src/evals/request.js +58 -1
  245. package/dist/src/evals/request.js.map +1 -1
  246. package/dist/src/evals/rerun-completion.js +39 -0
  247. package/dist/src/evals/rerun-completion.js.map +1 -0
  248. package/dist/src/evals/rerun-resume.js +70 -0
  249. package/dist/src/evals/rerun-resume.js.map +1 -0
  250. package/dist/src/evals/rerun-state.js +25 -0
  251. package/dist/src/evals/rerun-state.js.map +1 -0
  252. package/dist/src/evals/rerun-types.js.map +1 -1
  253. package/dist/src/evals/rerun.js +90 -46
  254. package/dist/src/evals/rerun.js.map +1 -1
  255. package/dist/src/evals/service.js +59 -5
  256. package/dist/src/evals/service.js.map +1 -1
  257. package/dist/src/evals/verifier-only-rerun.js +2 -16
  258. package/dist/src/evals/verifier-only-rerun.js.map +1 -1
  259. package/dist/src/evals/verifier-rerun-result.js +24 -0
  260. package/dist/src/evals/verifier-rerun-result.js.map +1 -0
  261. package/dist/src/evals/verifier-source-import.js +48 -0
  262. package/dist/src/evals/verifier-source-import.js.map +1 -0
  263. package/dist/src/evals/verifier-source.js +139 -0
  264. package/dist/src/evals/verifier-source.js.map +1 -0
  265. package/dist/src/foundation/base64.js +19 -0
  266. package/dist/src/foundation/base64.js.map +1 -0
  267. package/dist/src/foundation/config.js +10 -0
  268. package/dist/src/foundation/config.js.map +1 -1
  269. package/dist/src/foundation/credential-redaction.js +22 -9
  270. package/dist/src/foundation/credential-redaction.js.map +1 -1
  271. package/dist/src/foundation/index.js +1 -0
  272. package/dist/src/foundation/index.js.map +1 -1
  273. package/dist/src/foundation/process-identity.js +13 -9
  274. package/dist/src/foundation/process-identity.js.map +1 -1
  275. package/dist/src/inference/daemon-capacity.js +41 -0
  276. package/dist/src/inference/daemon-capacity.js.map +1 -0
  277. package/dist/src/inference/device-reservation.js +58 -0
  278. package/dist/src/inference/device-reservation.js.map +1 -0
  279. package/dist/src/inference/doctor.js +95 -0
  280. package/dist/src/inference/doctor.js.map +1 -0
  281. package/dist/src/inference/generation-recovery.js +83 -0
  282. package/dist/src/inference/generation-recovery.js.map +1 -0
  283. package/dist/src/inference/index.js +24 -0
  284. package/dist/src/inference/index.js.map +1 -0
  285. package/dist/src/inference/lock.js +331 -0
  286. package/dist/src/inference/lock.js.map +1 -0
  287. package/dist/src/inference/managed-launcher.js +35 -0
  288. package/dist/src/inference/managed-launcher.js.map +1 -0
  289. package/dist/src/inference/manifest.js +262 -0
  290. package/dist/src/inference/manifest.js.map +1 -0
  291. package/dist/src/inference/materialize.js +66 -0
  292. package/dist/src/inference/materialize.js.map +1 -0
  293. package/dist/src/inference/model-location.js +34 -0
  294. package/dist/src/inference/model-location.js.map +1 -0
  295. package/dist/src/inference/model-store.js +439 -0
  296. package/dist/src/inference/model-store.js.map +1 -0
  297. package/dist/src/inference/node-client.js +167 -0
  298. package/dist/src/inference/node-client.js.map +1 -0
  299. package/dist/src/inference/node-registry.js +79 -0
  300. package/dist/src/inference/node-registry.js.map +1 -0
  301. package/dist/src/inference/observation.js +79 -0
  302. package/dist/src/inference/observation.js.map +1 -0
  303. package/dist/src/inference/preflight.js +132 -0
  304. package/dist/src/inference/preflight.js.map +1 -0
  305. package/dist/src/inference/process-sglang.js +169 -0
  306. package/dist/src/inference/process-sglang.js.map +1 -0
  307. package/dist/src/inference/protocol-probe.js +29 -0
  308. package/dist/src/inference/protocol-probe.js.map +1 -0
  309. package/dist/src/inference/remote-model-store.js +24 -0
  310. package/dist/src/inference/remote-model-store.js.map +1 -0
  311. package/dist/src/inference/runtime-catalog.js +41 -0
  312. package/dist/src/inference/runtime-catalog.js.map +1 -0
  313. package/dist/src/inference/runtime-store.js +93 -0
  314. package/dist/src/inference/runtime-store.js.map +1 -0
  315. package/dist/src/inference/service-attachment.js +46 -0
  316. package/dist/src/inference/service-attachment.js.map +1 -0
  317. package/dist/src/inference/service-inspection.js +38 -0
  318. package/dist/src/inference/service-inspection.js.map +1 -0
  319. package/dist/src/inference/sglang.js +279 -0
  320. package/dist/src/inference/sglang.js.map +1 -0
  321. package/dist/src/inference/supervisor.js +460 -0
  322. package/dist/src/inference/supervisor.js.map +1 -0
  323. package/dist/src/model-access/environment.js +28 -0
  324. package/dist/src/model-access/environment.js.map +1 -0
  325. package/dist/src/model-access/index.js +4 -0
  326. package/dist/src/model-access/index.js.map +1 -1
  327. package/dist/src/model-access/local-gateway-request.js +139 -0
  328. package/dist/src/model-access/local-gateway-request.js.map +1 -0
  329. package/dist/src/model-access/local-gateway.js +323 -0
  330. package/dist/src/model-access/local-gateway.js.map +1 -0
  331. package/dist/src/model-access/proxy.js +90 -5
  332. package/dist/src/model-access/proxy.js.map +1 -1
  333. package/dist/src/model-access/remote-model.js +58 -0
  334. package/dist/src/model-access/remote-model.js.map +1 -0
  335. package/dist/src/model-access/training.js +115 -0
  336. package/dist/src/model-access/training.js.map +1 -0
  337. package/dist/src/runs/adapter-process.js +2 -2
  338. package/dist/src/runs/adapter-process.js.map +1 -1
  339. package/dist/src/runs/executor-types.js +2 -0
  340. package/dist/src/runs/executor-types.js.map +1 -0
  341. package/dist/src/runs/executor.js +54 -34
  342. package/dist/src/runs/executor.js.map +1 -1
  343. package/dist/src/runs/index.js +1 -0
  344. package/dist/src/runs/index.js.map +1 -1
  345. package/dist/src/runs/local-inference-environment.js +59 -0
  346. package/dist/src/runs/local-inference-environment.js.map +1 -0
  347. package/dist/src/runs/local-inference-run.js +53 -0
  348. package/dist/src/runs/local-inference-run.js.map +1 -0
  349. package/dist/src/runs/outcome.js +22 -0
  350. package/dist/src/runs/outcome.js.map +1 -1
  351. package/dist/src/runs/records.js +9 -0
  352. package/dist/src/runs/records.js.map +1 -1
  353. package/dist/src/runs/request.js +58 -3
  354. package/dist/src/runs/request.js.map +1 -1
  355. package/dist/src/runs/training-evidence.js +22 -0
  356. package/dist/src/runs/training-evidence.js.map +1 -0
  357. package/dist/src/runs/training-runtime.js +20 -0
  358. package/dist/src/runs/training-runtime.js.map +1 -0
  359. package/dist/src/workers/execution-observation.js +32 -0
  360. package/dist/src/workers/execution-observation.js.map +1 -0
  361. package/dist/src/workers/index.js +2 -0
  362. package/dist/src/workers/index.js.map +1 -1
  363. package/dist/src/workers/remote-harbor-ownership.js +266 -0
  364. package/dist/src/workers/remote-harbor-ownership.js.map +1 -0
  365. package/dist/src/workers/remote-harbor-verifier.js +76 -0
  366. package/dist/src/workers/remote-harbor-verifier.js.map +1 -0
  367. package/dist/src/workers/remote-harbor-work-spec.js +66 -10
  368. package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
  369. package/dist/src/workers/remote-harbor-worker.js +56 -49
  370. package/dist/src/workers/remote-harbor-worker.js.map +1 -1
  371. package/dist/src/workers/remote-worker-host.js +33 -0
  372. package/dist/src/workers/remote-worker-host.js.map +1 -0
  373. package/docs/local-model-inference-spec.zh-CN.md +666 -0
  374. package/docs/schemas/controller-runtime-observation.schema.json +21 -0
  375. package/docs/schemas/eval-execution-plan.schema.json +1 -0
  376. package/docs/schemas/eval-request.schema.json +3 -1
  377. package/docs/schemas/execution-lease.schema.json +95 -1
  378. package/docs/schemas/execution-provider-status.schema.json +162 -28
  379. package/docs/schemas/inference-execution-evidence.schema.json +487 -0
  380. package/docs/schemas/inference-lock.schema.json +487 -0
  381. package/docs/schemas/inference-runtime-manifest.schema.json +156 -0
  382. package/docs/schemas/inference-service-record.schema.json +227 -0
  383. package/docs/schemas/local-inference-selection.schema.json +98 -0
  384. package/docs/schemas/local-model-manifest.schema.json +43 -0
  385. package/docs/schemas/model-node-binding.schema.json +34 -0
  386. package/docs/schemas/model-node-generation-release.schema.json +46 -0
  387. package/docs/schemas/ordered-eval-control.schema.json +39 -0
  388. package/docs/schemas/remote-execution-lease-grant.schema.json +45 -0
  389. package/docs/schemas/remote-harbor-work-spec.schema.json +325 -0
  390. package/docs/schemas/remote-model-binding.schema.json +21 -0
  391. package/docs/schemas/remote-physical-execution.schema.json +108 -0
  392. package/docs/schemas/remote-result-envelope.schema.json +9 -3
  393. package/docs/schemas/remote-tree-envelope.schema.json +17 -3
  394. package/docs/schemas/remote-verifier-result.schema.json +203 -0
  395. package/docs/schemas/remote-verifier-source.schema.json +52 -0
  396. package/docs/schemas/remote-verifier-work.schema.json +125 -0
  397. package/docs/schemas/remote-work-offer.schema.json +170 -34
  398. package/docs/schemas/remote-worker-execution-admission.schema.json +214 -0
  399. package/docs/schemas/remote-worker-generation-cleanup.schema.json +199 -0
  400. package/docs/schemas/remote-worker-registration.schema.json +226 -25
  401. package/docs/schemas/run-manifest.schema.json +211 -44
  402. package/docs/schemas/run-request.schema.json +2 -1
  403. package/docs/schemas/training-external-binding.schema.json +26 -0
  404. package/integrations/harbor/hitch_harbor_agent.py +241 -13
  405. package/integrations/harbor/hitch_harbor_environment.py +22 -1
  406. package/integrations/harbor/hitch_host_credentials.py +354 -0
  407. package/integrations/harbor/hitch_private_exec.py +150 -0
  408. package/integrations/model-call/cli.js +13 -5
  409. package/integrations/training-tool/cli.js +72 -0
  410. package/package.json +8 -2
@@ -0,0 +1,203 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hitch.local/schemas/remote-verifier-result.schema.json",
4
+ "title": "Hitch remote verifier-only result V2",
5
+ "description": "Scoring evidence bound to the sealed verifier descriptor and original execution epoch. The controller verifies the candidate source, resource limits, runtime repair and scores before atomic assessment publication. Maximum encoded envelope size: 64 MiB.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "kind",
11
+ "eval_id",
12
+ "work_id",
13
+ "lease_id",
14
+ "lease_epoch",
15
+ "verifier_work_digest",
16
+ "outcome",
17
+ "evidence"
18
+ ],
19
+ "properties": {
20
+ "schema_version": {
21
+ "const": "2"
22
+ },
23
+ "kind": {
24
+ "const": "verifier-only-result"
25
+ },
26
+ "eval_id": {
27
+ "type": "string",
28
+ "pattern": "^eval_[a-f0-9]{32}$"
29
+ },
30
+ "work_id": {
31
+ "type": "string",
32
+ "pattern": "^work_[a-f0-9]{32}$"
33
+ },
34
+ "lease_id": {
35
+ "type": "string",
36
+ "pattern": "^lease_[a-f0-9]{32}$"
37
+ },
38
+ "lease_epoch": {
39
+ "type": "integer",
40
+ "minimum": 1
41
+ },
42
+ "verifier_work_digest": {
43
+ "type": "string",
44
+ "pattern": "^sha256:[a-f0-9]{64}$"
45
+ },
46
+ "outcome": {
47
+ "type": "object",
48
+ "additionalProperties": false,
49
+ "required": [
50
+ "trial",
51
+ "backend",
52
+ "execution",
53
+ "config_digest",
54
+ "controller_runtime_id"
55
+ ],
56
+ "properties": {
57
+ "trial": {
58
+ "type": "object",
59
+ "required": [
60
+ "trial_name"
61
+ ],
62
+ "not": {
63
+ "required": [
64
+ "config"
65
+ ]
66
+ },
67
+ "properties": {
68
+ "trial_name": {
69
+ "type": "string",
70
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,255}$"
71
+ },
72
+ "agent_setup": {
73
+ "type": "null"
74
+ },
75
+ "agent_execution": {
76
+ "type": "null"
77
+ }
78
+ }
79
+ },
80
+ "backend": {
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": [
84
+ "process_exit_code",
85
+ "signal"
86
+ ],
87
+ "properties": {
88
+ "process_exit_code": {
89
+ "type": [
90
+ "integer",
91
+ "null"
92
+ ],
93
+ "minimum": 0,
94
+ "maximum": 255
95
+ },
96
+ "signal": {
97
+ "type": [
98
+ "string",
99
+ "null"
100
+ ],
101
+ "pattern": "^SIG[A-Z0-9]{1,24}$"
102
+ }
103
+ }
104
+ },
105
+ "execution": {
106
+ "$ref": "execution-evidence.schema.json"
107
+ },
108
+ "config_digest": {
109
+ "type": "string",
110
+ "pattern": "^sha256:[a-f0-9]{64}$"
111
+ },
112
+ "controller_runtime_id": {
113
+ "type": "string",
114
+ "pattern": "^sha256:[a-f0-9]{64}$"
115
+ },
116
+ "runtime_repair": {
117
+ "type": "object",
118
+ "additionalProperties": false,
119
+ "required": [
120
+ "schema_version",
121
+ "kind",
122
+ "source_runtime_id",
123
+ "replacement_runtime_id",
124
+ "path",
125
+ "source_sha256",
126
+ "replacement_sha256",
127
+ "unchanged_file_count"
128
+ ],
129
+ "properties": {
130
+ "schema_version": {
131
+ "const": "1"
132
+ },
133
+ "kind": {
134
+ "const": "verifier-environment-runtime-repair"
135
+ },
136
+ "source_runtime_id": {
137
+ "type": "string",
138
+ "pattern": "^sha256:[a-f0-9]{64}$"
139
+ },
140
+ "replacement_runtime_id": {
141
+ "type": "string",
142
+ "pattern": "^sha256:[a-f0-9]{64}$"
143
+ },
144
+ "source_sha256": {
145
+ "type": "string",
146
+ "pattern": "^sha256:[a-f0-9]{64}$"
147
+ },
148
+ "replacement_sha256": {
149
+ "type": "string",
150
+ "pattern": "^sha256:[a-f0-9]{64}$"
151
+ },
152
+ "path": {
153
+ "const": "integrations/harbor/hitch_harbor_environment.py"
154
+ },
155
+ "unchanged_file_count": {
156
+ "type": "integer",
157
+ "minimum": 0
158
+ }
159
+ }
160
+ }
161
+ }
162
+ },
163
+ "evidence": {
164
+ "allOf": [
165
+ {
166
+ "$ref": "remote-tree-envelope.schema.json"
167
+ },
168
+ {
169
+ "properties": {
170
+ "symlinks": {
171
+ "maxItems": 0
172
+ },
173
+ "directories": {
174
+ "contains": {
175
+ "properties": {
176
+ "path": {
177
+ "const": "verifier"
178
+ }
179
+ }
180
+ },
181
+ "items": {
182
+ "properties": {
183
+ "path": {
184
+ "pattern": "^verifier(/.+)?$"
185
+ }
186
+ }
187
+ }
188
+ },
189
+ "files": {
190
+ "items": {
191
+ "properties": {
192
+ "path": {
193
+ "pattern": "^verifier/.+$"
194
+ }
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ ]
201
+ }
202
+ }
203
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hitch.local/schemas/remote-verifier-source.schema.json",
4
+ "title": "Hitch remote verifier source V2",
5
+ "description": "Optional original-candidate evidence transport. Runtime verifies negotiated work version, original trial/runtime/run identity and all source digests before import.",
6
+ "type": "object", "additionalProperties": false, "required": ["manifest"],
7
+ "properties": {
8
+ "manifest": { "$ref": "#/$defs/manifest" },
9
+ "tree": { "allOf": [{ "$ref": "remote-tree-envelope.schema.json" }, {
10
+ "required": ["directories"],
11
+ "properties": {
12
+ "symlinks": { "maxItems": 0 },
13
+ "directories": { "contains": { "properties": { "path": { "const": "artifacts" } } },
14
+ "items": { "properties": { "path": { "pattern": "^artifacts(/.+)?$" } } } },
15
+ "files": { "contains": { "properties": { "path": { "const": "benchmark-lifecycle.json" } } },
16
+ "items": { "properties": { "path": { "pattern": "^(artifacts/.+|benchmark-lifecycle\\.json|hitch-final-response\\.json|regrade-config\\.json)$" } } } }
17
+ }
18
+ }] }
19
+ },
20
+ "allOf": [{
21
+ "if": { "properties": { "manifest": { "properties": { "status": { "const": "available" } } } } },
22
+ "then": { "required": ["tree"] }, "else": { "not": { "required": ["tree"] } }
23
+ }, {
24
+ "if": { "properties": { "manifest": { "required": ["regrade_config_digest"] } } },
25
+ "then": { "required": ["tree"], "properties": { "tree": { "properties": { "files": { "contains": { "properties": { "path": { "const": "regrade-config.json" } } } } } } } },
26
+ "else": { "properties": { "tree": { "properties": { "files": { "items": { "properties": { "path": { "not": { "const": "regrade-config.json" } } } } } } } } }
27
+ }],
28
+ "$defs": {
29
+ "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
30
+ "manifest": {
31
+ "type": "object", "additionalProperties": false,
32
+ "required": ["schema_version", "task_id", "trial_id", "run_id", "controller_runtime_id", "source_result_digest", "status"],
33
+ "properties": {
34
+ "schema_version": { "const": "2" }, "task_id": { "type": "string", "minLength": 1, "maxLength": 512 },
35
+ "trial_id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,255}$" },
36
+ "run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
37
+ "controller_runtime_id": { "$ref": "#/$defs/sha256" }, "source_result_digest": { "$ref": "#/$defs/sha256" }, "original_result_digest": { "$ref": "#/$defs/sha256" },
38
+ "status": { "enum": ["available", "unavailable"] },
39
+ "source_bundle_digest": { "$ref": "#/$defs/sha256" }, "source_config_digest": { "$ref": "#/$defs/sha256" }, "regrade_config_digest": { "$ref": "#/$defs/sha256" },
40
+ "task_digest": { "$ref": "#/$defs/sha256" }, "artifacts_digest": { "$ref": "#/$defs/sha256" }, "snapshot_digest": { "$ref": "#/$defs/sha256" },
41
+ "reason": { "enum": ["unsupported-task", "source-unavailable", "source-too-large"] }
42
+ },
43
+ "allOf": [{
44
+ "if": { "properties": { "status": { "const": "available" } } },
45
+ "then": { "required": ["source_bundle_digest", "source_config_digest", "task_digest", "artifacts_digest", "snapshot_digest"], "not": { "required": ["reason"] } },
46
+ "else": { "required": ["reason"], "not": { "anyOf": [
47
+ { "required": ["source_bundle_digest"] }, { "required": ["source_config_digest"] }, { "required": ["task_digest"] }, { "required": ["artifacts_digest"] }, { "required": ["snapshot_digest"] }, { "required": ["regrade_config_digest"] }
48
+ ] } }
49
+ }]
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hitch.local/schemas/remote-verifier-work.schema.json",
4
+ "title": "Hitch remote verifier-only work V2",
5
+ "description": "Sealed original-candidate scoring inputs. Runtime additionally validates all candidate, source, assessment, logical slot and digest relationships. Public dispatch remains gated until assessment import and recovery are wired.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "kind",
11
+ "assessment_id",
12
+ "source_ref",
13
+ "source_manifest",
14
+ "source_trial",
15
+ "candidate_result",
16
+ "candidate_result_digest",
17
+ "canonical_bundle_digest",
18
+ "verifier_runtime_id"
19
+ ],
20
+ "properties": {
21
+ "schema_version": {
22
+ "const": "2"
23
+ },
24
+ "kind": {
25
+ "const": "verifier-only"
26
+ },
27
+ "assessment_id": {
28
+ "type": "string",
29
+ "pattern": "^assessment_[a-f0-9]{32}$"
30
+ },
31
+ "source_ref": {
32
+ "allOf": [
33
+ {
34
+ "$ref": "eval-trial-reference.schema.json"
35
+ },
36
+ {
37
+ "required": [
38
+ "run_id",
39
+ "invalid_reason"
40
+ ],
41
+ "not": {
42
+ "anyOf": [
43
+ {
44
+ "required": [
45
+ "run_group"
46
+ ]
47
+ },
48
+ {
49
+ "required": [
50
+ "assessment"
51
+ ]
52
+ }
53
+ ]
54
+ },
55
+ "properties": {
56
+ "observation_status": {
57
+ "const": "invalid"
58
+ },
59
+ "invalid_reason": {
60
+ "enum": [
61
+ "verifier_infrastructure_failure",
62
+ "verifier_result_missing"
63
+ ]
64
+ }
65
+ }
66
+ }
67
+ ]
68
+ },
69
+ "source_manifest": {
70
+ "allOf": [
71
+ {
72
+ "$ref": "remote-verifier-source.schema.json#/$defs/manifest"
73
+ },
74
+ {
75
+ "required": [
76
+ "regrade_config_digest",
77
+ "original_result_digest"
78
+ ],
79
+ "properties": {
80
+ "status": {
81
+ "const": "available"
82
+ }
83
+ }
84
+ }
85
+ ]
86
+ },
87
+ "source_trial": {
88
+ "type": "object",
89
+ "required": [
90
+ "id",
91
+ "trial_name",
92
+ "agent_result"
93
+ ],
94
+ "not": {
95
+ "required": [
96
+ "config"
97
+ ]
98
+ }
99
+ },
100
+ "candidate_result": {
101
+ "type": "object",
102
+ "required": [
103
+ "run_id",
104
+ "status"
105
+ ],
106
+ "properties": {
107
+ "status": {
108
+ "const": "succeeded"
109
+ }
110
+ }
111
+ },
112
+ "candidate_result_digest": {
113
+ "type": "string",
114
+ "pattern": "^sha256:[a-f0-9]{64}$"
115
+ },
116
+ "canonical_bundle_digest": {
117
+ "type": "string",
118
+ "pattern": "^sha256:[a-f0-9]{64}$"
119
+ },
120
+ "verifier_runtime_id": {
121
+ "type": "string",
122
+ "pattern": "^sha256:[a-f0-9]{64}$"
123
+ }
124
+ }
125
+ }
@@ -4,54 +4,190 @@
4
4
  "title": "Hitch remote work offer V1",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["schema_version", "offer_id", "nonce", "generation", "worker_id", "lease", "work", "state", "issued_at", "expires_at"],
7
+ "required": [
8
+ "schema_version",
9
+ "offer_id",
10
+ "nonce",
11
+ "generation",
12
+ "worker_id",
13
+ "lease",
14
+ "work",
15
+ "state",
16
+ "issued_at",
17
+ "expires_at"
18
+ ],
8
19
  "properties": {
9
- "schema_version": { "const": "1" },
10
- "offer_id": { "type": "string", "pattern": "^offer_[a-f0-9]{32}$" },
11
- "nonce": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
12
- "generation": { "type": "integer", "minimum": 1 },
13
- "worker_id": { "type": "string", "pattern": "^worker_[a-z0-9][a-z0-9_-]{0,62}$" },
14
- "lease": { "$ref": "execution-lease.schema.json" },
15
- "work": { "$ref": "eval-execution-plan.schema.json#/properties/work_items/items" },
20
+ "schema_version": {
21
+ "const": "1"
22
+ },
23
+ "offer_id": {
24
+ "type": "string",
25
+ "pattern": "^offer_[a-f0-9]{32}$"
26
+ },
27
+ "nonce": {
28
+ "type": "string",
29
+ "pattern": "^[a-f0-9]{64}$"
30
+ },
31
+ "generation": {
32
+ "type": "integer",
33
+ "minimum": 1
34
+ },
35
+ "worker_id": {
36
+ "type": "string",
37
+ "pattern": "^worker_[a-z0-9][a-z0-9_-]{0,62}$"
38
+ },
39
+ "lease": {
40
+ "$ref": "execution-lease.schema.json"
41
+ },
42
+ "work": {
43
+ "$ref": "eval-execution-plan.schema.json#/properties/work_items/items"
44
+ },
16
45
  "inputs": {
17
- "type": "array", "minItems": 1, "maxItems": 4,
18
- "items": { "$ref": "#/$defs/inputRef" }
19
- },
20
- "state": { "enum": ["offered", "accepted", "rejected", "cancel-requested", "completed", "release-requested", "released", "expired"] },
21
- "issued_at": { "type": "string", "format": "date-time" },
22
- "expires_at": { "type": "string", "format": "date-time" },
23
- "accepted_at": { "type": "string", "format": "date-time" },
24
- "completed_at": { "type": "string", "format": "date-time" },
25
- "released_at": { "type": "string", "format": "date-time" },
26
- "rejection_code": { "type": "string", "minLength": 1 },
27
- "accept_receipt_digest": { "$ref": "#/$defs/sha256" },
28
- "terminal_receipt_digest": { "$ref": "#/$defs/sha256" },
29
- "release_receipt_digest": { "$ref": "#/$defs/sha256" },
46
+ "type": "array",
47
+ "minItems": 1,
48
+ "maxItems": 4,
49
+ "items": {
50
+ "$ref": "#/$defs/inputRef"
51
+ }
52
+ },
53
+ "state": {
54
+ "enum": [
55
+ "offered",
56
+ "accepted",
57
+ "rejected",
58
+ "cancel-requested",
59
+ "completed",
60
+ "release-requested",
61
+ "released",
62
+ "expired"
63
+ ]
64
+ },
65
+ "issued_at": {
66
+ "type": "string",
67
+ "format": "date-time"
68
+ },
69
+ "expires_at": {
70
+ "type": "string",
71
+ "format": "date-time"
72
+ },
73
+ "accepted_at": {
74
+ "type": "string",
75
+ "format": "date-time"
76
+ },
77
+ "completed_at": {
78
+ "type": "string",
79
+ "format": "date-time"
80
+ },
81
+ "released_at": {
82
+ "type": "string",
83
+ "format": "date-time"
84
+ },
85
+ "rejection_code": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ },
89
+ "accept_receipt_digest": {
90
+ "$ref": "#/$defs/sha256"
91
+ },
92
+ "terminal_receipt_digest": {
93
+ "$ref": "#/$defs/sha256"
94
+ },
95
+ "release_receipt_digest": {
96
+ "$ref": "#/$defs/sha256"
97
+ },
30
98
  "terminal": {
31
- "type": "object", "additionalProperties": false, "required": ["status", "artifacts", "sent_at"],
99
+ "type": "object",
100
+ "additionalProperties": false,
101
+ "required": [
102
+ "status",
103
+ "artifacts",
104
+ "sent_at"
105
+ ],
32
106
  "properties": {
33
- "status": { "enum": ["succeeded", "failed", "cancelled"] },
34
- "artifacts": { "type": "array", "items": { "$ref": "#/$defs/artifactRef" } },
35
- "sent_at": { "type": "string", "format": "date-time" }
107
+ "status": {
108
+ "enum": [
109
+ "succeeded",
110
+ "failed",
111
+ "cancelled"
112
+ ]
113
+ },
114
+ "artifacts": {
115
+ "type": "array",
116
+ "items": {
117
+ "$ref": "#/$defs/artifactRef"
118
+ }
119
+ },
120
+ "sent_at": {
121
+ "type": "string",
122
+ "format": "date-time"
123
+ }
36
124
  }
37
125
  }
38
126
  },
39
127
  "$defs": {
40
- "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
128
+ "sha256": {
129
+ "type": "string",
130
+ "pattern": "^sha256:[a-f0-9]{64}$"
131
+ },
41
132
  "artifactRef": {
42
- "type": "object", "additionalProperties": false, "required": ["kind", "digest", "size"],
133
+ "type": "object",
134
+ "additionalProperties": false,
135
+ "required": [
136
+ "kind",
137
+ "digest",
138
+ "size"
139
+ ],
43
140
  "properties": {
44
- "kind": { "enum": ["result-bundle", "diagnostic"] }, "digest": { "$ref": "#/$defs/sha256" },
45
- "size": { "type": "integer", "minimum": 0, "maximum": 536870912 }
141
+ "kind": {
142
+ "enum": [
143
+ "result-bundle",
144
+ "diagnostic"
145
+ ]
146
+ },
147
+ "digest": {
148
+ "$ref": "#/$defs/sha256"
149
+ },
150
+ "size": {
151
+ "type": "integer",
152
+ "minimum": 0,
153
+ "maximum": 536870912
154
+ }
46
155
  }
47
156
  },
48
157
  "inputRef": {
49
- "type": "object", "additionalProperties": false, "required": ["kind", "format", "digest", "size"],
158
+ "type": "object",
159
+ "additionalProperties": false,
160
+ "required": [
161
+ "kind",
162
+ "format",
163
+ "digest",
164
+ "size"
165
+ ],
50
166
  "properties": {
51
- "kind": { "enum": ["work-spec", "harness-artifact", "controller-runtime", "task-input"] },
52
- "format": { "enum": ["json", "hitch-tree-v1"] },
53
- "digest": { "$ref": "#/$defs/sha256" },
54
- "size": { "type": "integer", "minimum": 1, "maximum": 268435456 }
167
+ "kind": {
168
+ "enum": [
169
+ "work-spec",
170
+ "harness-artifact",
171
+ "controller-runtime",
172
+ "task-input",
173
+ "verifier-source",
174
+ "verifier-runtime"
175
+ ]
176
+ },
177
+ "format": {
178
+ "enum": [
179
+ "json",
180
+ "hitch-tree-v1"
181
+ ]
182
+ },
183
+ "digest": {
184
+ "$ref": "#/$defs/sha256"
185
+ },
186
+ "size": {
187
+ "type": "integer",
188
+ "minimum": 1,
189
+ "maximum": 268435456
190
+ }
55
191
  }
56
192
  }
57
193
  }