openpond-sdk 0.10.0 → 0.11.2

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 (263) hide show
  1. package/dist/advanced-refiner-evaluations.js +42 -0
  2. package/dist/advanced-refiner-evaluations.js.map +7 -0
  3. package/dist/candidate-evaluations.js +25 -0
  4. package/dist/candidate-evaluations.js.map +7 -0
  5. package/dist/{chunk-W5TXWVFS.js → chunk-2JKV5OJO.js} +88 -59
  6. package/dist/chunk-2JKV5OJO.js.map +7 -0
  7. package/dist/{chunk-2ZJRG3KL.js → chunk-2NSNBED7.js} +7 -3
  8. package/dist/chunk-2NSNBED7.js.map +7 -0
  9. package/dist/{chunk-Y4NGWGTA.js → chunk-4NZW4LFB.js} +268 -264
  10. package/dist/chunk-4NZW4LFB.js.map +7 -0
  11. package/dist/{chunk-DSGGM2ME.js → chunk-4SZKRRTO.js} +2 -2
  12. package/dist/chunk-6FQKRY5K.js +445 -0
  13. package/dist/chunk-6FQKRY5K.js.map +7 -0
  14. package/dist/chunk-7Q7I6FAT.js +139 -0
  15. package/dist/chunk-7Q7I6FAT.js.map +7 -0
  16. package/dist/chunk-CPEOFPPF.js +632 -0
  17. package/dist/chunk-CPEOFPPF.js.map +7 -0
  18. package/dist/chunk-G3FWDZMZ.js +267 -0
  19. package/dist/chunk-G3FWDZMZ.js.map +7 -0
  20. package/dist/chunk-GDJRGRHA.js +144 -0
  21. package/dist/chunk-GDJRGRHA.js.map +7 -0
  22. package/dist/chunk-HKAR3VPB.js +65 -0
  23. package/dist/chunk-HKAR3VPB.js.map +7 -0
  24. package/dist/{chunk-32H2EJRA.js → chunk-JEUHIQWF.js} +10 -7
  25. package/dist/chunk-JEUHIQWF.js.map +7 -0
  26. package/dist/chunk-KQWCXW3A.js +294 -0
  27. package/dist/chunk-KQWCXW3A.js.map +7 -0
  28. package/dist/chunk-LFH4EKWH.js +1408 -0
  29. package/dist/chunk-LFH4EKWH.js.map +7 -0
  30. package/dist/{chunk-DT7FRNIZ.js → chunk-MW2N3BX5.js} +4 -3
  31. package/dist/{chunk-DT7FRNIZ.js.map → chunk-MW2N3BX5.js.map} +2 -2
  32. package/dist/{chunk-I3TQTXKB.js → chunk-QVCMFQKA.js} +6 -6
  33. package/dist/{chunk-I3TQTXKB.js.map → chunk-QVCMFQKA.js.map} +1 -1
  34. package/dist/{chunk-I2YM3UY4.js → chunk-RIX56CJL.js} +9 -6
  35. package/dist/chunk-RIX56CJL.js.map +7 -0
  36. package/dist/{chunk-PJ2VLNJF.js → chunk-SGRYMU4C.js} +2 -2
  37. package/dist/chunk-SLS3GFPG.js +125 -0
  38. package/dist/chunk-SLS3GFPG.js.map +7 -0
  39. package/dist/chunk-SVU4RZ4K.js +70 -0
  40. package/dist/chunk-SVU4RZ4K.js.map +7 -0
  41. package/dist/chunk-SXTC2GT6.js +160 -0
  42. package/dist/chunk-SXTC2GT6.js.map +7 -0
  43. package/dist/chunk-T4APHDES.js +74 -0
  44. package/dist/chunk-T4APHDES.js.map +7 -0
  45. package/dist/chunk-UNMOEI2K.js +587 -0
  46. package/dist/chunk-UNMOEI2K.js.map +7 -0
  47. package/dist/chunk-VC5OV5AS.js +174 -0
  48. package/dist/chunk-VC5OV5AS.js.map +7 -0
  49. package/dist/{chunk-7B44TQZD.js → chunk-WX22WN33.js} +13 -7
  50. package/dist/chunk-WX22WN33.js.map +7 -0
  51. package/dist/{chunk-JCPLAIZL.js → chunk-XCH27NHJ.js} +106 -76
  52. package/dist/chunk-XCH27NHJ.js.map +7 -0
  53. package/dist/chunk-XEUOJ5WF.js +31 -0
  54. package/dist/chunk-XEUOJ5WF.js.map +7 -0
  55. package/dist/chunk-YCQVVFE5.js +37 -0
  56. package/dist/chunk-YCQVVFE5.js.map +7 -0
  57. package/dist/chunk-YTGRET2L.js +604 -0
  58. package/dist/chunk-YTGRET2L.js.map +7 -0
  59. package/dist/connected-evidence.js +97 -0
  60. package/dist/connected-evidence.js.map +7 -0
  61. package/dist/dataset-commerce.js +773 -0
  62. package/dist/dataset-commerce.js.map +7 -0
  63. package/dist/dataset-workspaces.js +45 -80
  64. package/dist/dataset-workspaces.js.map +4 -4
  65. package/dist/experiment-evaluation-schedules.js +48 -0
  66. package/dist/experiment-evaluation-schedules.js.map +7 -0
  67. package/dist/experiment-improvements.js +52 -0
  68. package/dist/experiment-improvements.js.map +7 -0
  69. package/dist/experiments.js +48 -90
  70. package/dist/experiments.js.map +3 -3
  71. package/dist/human-review.js +13 -0
  72. package/dist/human-review.js.map +7 -0
  73. package/dist/index.js +221 -14
  74. package/dist/index.js.map +2 -2
  75. package/dist/learning.js +1 -1
  76. package/dist/model-starter-attempts.js +2 -2
  77. package/dist/model-starter-catalog.js +9 -4
  78. package/dist/model-starter-catalog.js.map +1 -1
  79. package/dist/model-starters.js +9 -4
  80. package/dist/model-taskset-runs.js +3 -3
  81. package/dist/post-training.js +47 -0
  82. package/dist/post-training.js.map +7 -0
  83. package/dist/taskset-drafts.js +33 -21
  84. package/dist/taskset-drafts.js.map +2 -2
  85. package/dist/taskset-packages.js +28 -558
  86. package/dist/taskset-packages.js.map +4 -4
  87. package/dist/training-bundle.js +61 -20
  88. package/dist/training-bundle.js.map +2 -2
  89. package/dist/training-projects.js +1 -1
  90. package/dist/training.js +7 -2
  91. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +2682 -0
  92. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -0
  93. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +1079 -0
  94. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -0
  95. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +845 -0
  96. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -0
  97. package/dist/types/packages/sdk/src/claude-code-runtime.d.ts +51 -0
  98. package/dist/types/packages/sdk/src/claude-code-runtime.d.ts.map +1 -0
  99. package/dist/types/packages/sdk/src/connected-collection-status.d.ts +47 -0
  100. package/dist/types/packages/sdk/src/connected-collection-status.d.ts.map +1 -0
  101. package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts +15 -0
  102. package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts.map +1 -0
  103. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +52 -0
  104. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -0
  105. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +2502 -0
  106. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -0
  107. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +235 -0
  108. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts.map +1 -0
  109. package/dist/types/packages/sdk/src/connected-evidence-http.d.ts +6 -0
  110. package/dist/types/packages/sdk/src/connected-evidence-http.d.ts.map +1 -0
  111. package/dist/types/packages/sdk/src/connected-evidence.d.ts +8 -0
  112. package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -0
  113. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +690 -0
  114. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -0
  115. package/dist/types/packages/sdk/src/connected-sync.d.ts +282 -0
  116. package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -0
  117. package/dist/types/packages/sdk/src/dataset-commerce-contracts.d.ts +230 -0
  118. package/dist/types/packages/sdk/src/dataset-commerce-contracts.d.ts.map +1 -0
  119. package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts +114 -0
  120. package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts.map +1 -0
  121. package/dist/types/packages/sdk/src/dataset-commerce-responses.d.ts +608 -0
  122. package/dist/types/packages/sdk/src/dataset-commerce-responses.d.ts.map +1 -0
  123. package/dist/types/packages/sdk/src/dataset-commerce.d.ts +575 -0
  124. package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -0
  125. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +772 -120
  126. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  127. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +293 -38
  128. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  129. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +294 -40
  130. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  131. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +17 -0
  132. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -0
  133. package/dist/types/packages/sdk/src/experiment-client.d.ts +3513 -52
  134. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  135. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +1017 -1
  136. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  137. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +2780 -0
  138. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -0
  139. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +24 -0
  140. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts.map +1 -1
  141. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +5724 -0
  142. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -0
  143. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +13024 -0
  144. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts.map +1 -0
  145. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +1361 -0
  146. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts.map +1 -0
  147. package/dist/types/packages/sdk/src/experiment-improvements.d.ts +4 -0
  148. package/dist/types/packages/sdk/src/experiment-improvements.d.ts.map +1 -0
  149. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +262 -0
  150. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  151. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +1388 -1
  152. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  153. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +5 -2
  154. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -1
  155. package/dist/types/packages/sdk/src/experiments.d.ts +3 -0
  156. package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
  157. package/dist/types/packages/sdk/src/grader-inspection.d.ts +307 -5
  158. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  159. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +238 -0
  160. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  161. package/dist/types/packages/sdk/src/human-review-client.d.ts +1267 -0
  162. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -0
  163. package/dist/types/packages/sdk/src/human-review.d.ts +3 -0
  164. package/dist/types/packages/sdk/src/human-review.d.ts.map +1 -0
  165. package/dist/types/packages/sdk/src/index.d.ts +10 -0
  166. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  167. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +181 -0
  168. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  169. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +63 -4
  170. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +90 -5
  172. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  173. package/dist/types/packages/sdk/src/model-batch-review.d.ts +55 -13
  174. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  175. package/dist/types/packages/sdk/src/model-learning-policy.d.ts +370 -1
  176. package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
  177. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +363 -19
  178. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +234 -12
  180. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +78 -1
  182. package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
  183. package/dist/types/packages/sdk/src/model-starters.d.ts +466 -13
  184. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  185. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +312 -4
  186. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  187. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +78 -1
  188. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
  189. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +1282 -4
  190. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  191. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +1285 -5
  192. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  193. package/dist/types/packages/sdk/src/post-training.d.ts +3529 -0
  194. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -0
  195. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1127 -0
  196. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -0
  197. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +1398 -0
  198. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -0
  199. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +157 -24
  200. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  201. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +111 -18
  202. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  203. package/dist/types/packages/sdk/src/taskset-authored-validation.d.ts.map +1 -1
  204. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +438 -0
  205. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -0
  206. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +292 -38
  207. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  208. package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -1
  209. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +661 -103
  210. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  211. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +227 -20
  212. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  213. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +14 -14
  214. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +17 -17
  215. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +147 -20
  216. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  217. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +696 -42
  218. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  219. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +256 -36
  220. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  221. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +292 -38
  222. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  223. package/dist/types/packages/sdk/src/taskset-drafts.d.ts +2 -0
  224. package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -1
  225. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1494 -26
  226. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  227. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +746 -12
  228. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  229. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +77 -3
  230. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
  231. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +101 -11
  232. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  233. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +459 -39
  234. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  235. package/dist/types/packages/sdk/src/training-acceptance.d.ts +10 -10
  236. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
  237. package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +1 -1
  238. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +376 -42
  239. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  240. package/dist/types/packages/sdk/src/training-preparations.d.ts +3930 -0
  241. package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
  242. package/dist/types/packages/sdk/src/training-project-client.d.ts +776 -8
  243. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  244. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +1161 -11
  245. package/dist/types/packages/sdk/src/training-project-contracts.d.ts.map +1 -1
  246. package/dist/types/packages/sdk/src/training.d.ts +2655 -24
  247. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  248. package/package.json +35 -3
  249. package/dist/chunk-2ZJRG3KL.js.map +0 -7
  250. package/dist/chunk-32H2EJRA.js.map +0 -7
  251. package/dist/chunk-7B44TQZD.js.map +0 -7
  252. package/dist/chunk-I2YM3UY4.js.map +0 -7
  253. package/dist/chunk-JA3KFK3U.js +0 -580
  254. package/dist/chunk-JA3KFK3U.js.map +0 -7
  255. package/dist/chunk-JCPLAIZL.js.map +0 -7
  256. package/dist/chunk-LGEF4S5I.js +0 -1229
  257. package/dist/chunk-LGEF4S5I.js.map +0 -7
  258. package/dist/chunk-PRRUBH2B.js +0 -314
  259. package/dist/chunk-PRRUBH2B.js.map +0 -7
  260. package/dist/chunk-W5TXWVFS.js.map +0 -7
  261. package/dist/chunk-Y4NGWGTA.js.map +0 -7
  262. /package/dist/{chunk-DSGGM2ME.js.map → chunk-4SZKRRTO.js.map} +0 -0
  263. /package/dist/{chunk-PJ2VLNJF.js.map → chunk-SGRYMU4C.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/model-starter-execution.ts", "../src/model-taskset-resources.ts", "../src/model-taskset-derivation.ts", "../src/taskset-package-learning.ts", "../src/taskset-package-files.ts", "../src/taskset-package-execution.ts", "../src/taskset-package-contracts.ts", "../src/model-taskset-authoring-lineage.ts"],
4
- "sourcesContent": ["import { z } from \"zod\";\nimport { EnvironmentReleaseSchema, VerifierSetReleaseSchema } from \"@openpond/evals\";\nimport { JavaScriptEnvironmentDefinitionSchema, assertJavaScriptEnvironmentDefinition } from \"@openpond/evals/javascript-environment\";\nimport { createLearningTextAsset, learningRef, sealLearningContent, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\nimport type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { canonicalJson } from \"./protocol.js\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nexport {\n NativeHarnessExperimentAttemptSchema,\n verifyNativeHarnessExperimentAttempt,\n type NativeHarnessExperimentAttempt,\n} from \"@openpond/evals/experiments\";\n\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ModelStarterEnvironmentAttemptSchema = /* @__PURE__ */ (() => z.object({\n schemaVersion: z.literal(\"openpond.javascriptEnvironmentAttempt.v1\"), taskId: z.string(),\n status: z.enum([\"completed\", \"budget_exhausted\", \"cancelled\", \"timed_out\", \"policy_failure\", \"environment_failure\"]),\n output: z.string().nullable(), collected: z.boolean(), environmentCleanupComplete: z.boolean(),\n snapshot: z.object({ definition: ModelProjectVersionedRefSchema, inputHash: HashSchema, seed: z.number().int(), initialStateHash: HashSchema, finalStateHash: HashSchema, state: z.record(z.string(), z.unknown()), events: z.array(z.record(z.string(), z.unknown())) }).strict().nullable(),\n messages: z.array(z.unknown()), error: z.string().nullable(), contentHash: HashSchema,\n}).strict())();\n\n/** Validate an owner-recorded runtime artifact against the admitted task.\n * Provenance/ownership of the artifact remains the execution host's concern. */\nexport function verifyModelStarterEnvironmentAttempt(value: unknown, context: { taskId: string; input: Record<string, unknown>; seed: number; javascript: z.infer<typeof ModelProjectVersionedRefSchema> }) {\n assertBoundedTaskJson(value, 16_777_216);\n const result = ModelStarterEnvironmentAttemptSchema.parse(value);\n const { contentHash, ...content } = result;\n if (sealLearningContent(content).contentHash !== contentHash || result.taskId !== context.taskId || (result.snapshot && (\n !equal(result.snapshot.definition, context.javascript) || result.snapshot.inputHash !== sealLearningContent(context.input).contentHash || result.snapshot.seed !== context.seed || result.snapshot.finalStateHash !== sealLearningContent(result.snapshot.state).contentHash\n ))) throw new Error(\"Starter environment attempt differs from its admitted task or recorded bytes.\");\n return result;\n}\n\nexport const ModelStarterExecutionSchema = z.object({\n environment: EnvironmentReleaseSchema,\n verifierSet: VerifierSetReleaseSchema,\n javascript: JavaScriptEnvironmentDefinitionSchema,\n}).strict();\nexport type ModelStarterExecution = z.infer<typeof ModelStarterExecutionSchema>;\nexport const ModelStarterToolFixtureScriptSchema = z.object({\n actions: z.array(z.object({ name: z.string().min(1).max(64), arguments: z.record(z.string(), z.unknown()) }).strict()).max(1_000),\n}).strict();\nexport type ModelStarterExecutionContext = Pick<TasksetRelease, \"environment\" | \"environmentRelease\" | \"verifierSetRelease\" | \"tools\" | \"capabilities\" | \"policy\" | \"graders\" | \"tasks\">;\n\n/** Derivable from immutable Taskset refs, without putting private code in its metadata. */\nexport function modelStarterExecutionAssetId(context: Pick<ModelStarterExecutionContext, \"environmentRelease\" | \"verifierSetRelease\">): string {\n if (!context.environmentRelease || !context.verifierSetRelease) throw new Error(\"Starter execution release references are missing.\");\n return `starter-execution-${sealLearningContent({ environment: context.environmentRelease, verifiers: context.verifierSetRelease }).contentHash}`;\n}\n\n/** Persist alongside the package's private assets in the same creation transaction.\n * The existing authored-text resource bound also applies to this small closure. */\nexport function createModelStarterExecutionAsset(value: ModelStarterExecution): LearningTextAsset {\n const execution = ModelStarterExecutionSchema.parse(value);\n assertExecutionIntegrity(execution);\n const id = modelStarterExecutionAssetId({ environmentRelease: { id: execution.environment.id, contentHash: execution.environment.contentHash }, verifierSetRelease: { id: execution.verifierSet.id, contentHash: execution.verifierSet.contentHash } });\n const generated = createLearningTextAsset({ text: canonicalJson(execution), path: \"environment/execution.json\", mediaType: \"application/json\", visibility: \"host_private\" });\n const { contentHash: _hash, ...content } = generated;\n return sealLearningContent({ ...content, id, asset: { ...content.asset, id } });\n}\n\n/** The caller owns and verifies the Taskset manifest; this verifies its private\n * resource graph. Passing selected immutable task rows permits bounded hydration. */\nexport function resolveModelStarterExecutionAsset(context: ModelStarterExecutionContext, asset: LearningTextAsset, assets: LearningTextAsset[]): ModelStarterExecution {\n if (asset.id !== modelStarterExecutionAssetId(context) || asset.asset.visibility !== \"host_private\" || asset.asset.mediaType !== \"application/json\") throw new Error(\"Starter execution asset differs from its Taskset references.\");\n const execution = ModelStarterExecutionSchema.parse(JSON.parse(verifyLearningTextAsset(asset, asset.asset)));\n validateModelStarterExecution(execution, context, assets);\n return execution;\n}\n\nfunction equal(left: unknown, right: unknown): boolean {\n return sealLearningContent({ value: left }).contentHash === sealLearningContent({ value: right }).contentHash;\n}\n\nfunction assertExecutionIntegrity(execution: ModelStarterExecution): void {\n assertJavaScriptEnvironmentDefinition(execution.javascript);\n for (const resource of [execution.environment, execution.verifierSet]) {\n const { contentHash, ...content } = resource;\n if (sealLearningContent(content).contentHash !== contentHash) throw new Error(`Starter execution resource integrity failed: ${resource.id}.`);\n }\n if (!equal(execution.environment.metadata.javascriptEnvironment, learningRef(execution.javascript))) throw new Error(\"Starter execution resources differ from its declared task context.\");\n}\n\n/** Close executable dependencies before a host persists or runs a package. */\nexport function validateModelStarterExecution(\n execution: ModelStarterExecution | undefined,\n taskset: ModelStarterExecutionContext,\n assets: LearningTextAsset[],\n): void {\n if (!execution) {\n if (taskset.environment.entrypoint === \"openpond.javascript-environment.v1\") throw new Error(\"Starter JavaScript execution resources are missing.\");\n return;\n }\n const { environment, verifierSet, javascript } = execution;\n assertExecutionIntegrity(execution);\n if (!equal(taskset.environmentRelease, { id: environment.id, contentHash: environment.contentHash }) ||\n !equal(taskset.verifierSetRelease, { id: verifierSet.id, contentHash: verifierSet.contentHash }) ||\n !equal(environment.contract, taskset.environment) || !equal(verifierSet.graders, taskset.graders) ||\n !equal(taskset.tools, javascript.tools) || !equal(environment.metadata.javascriptEnvironment, learningRef(javascript))) {\n throw new Error(\"Starter execution resources differ from its declared task context.\");\n }\n const contract = environment.contract;\n if (contract.entrypoint !== \"openpond.javascript-environment.v1\" || contract.kind !== \"agent\" ||\n !contract.stateful || !contract.deterministicSeeds || contract.networkPolicy !== \"none\" ||\n new Set(contract.lifecycle).size !== 5 || taskset.capabilities.length || taskset.policy.connectedAppScopes.length) {\n throw new Error(\"Starter JavaScript environment declares unsupported host capabilities.\");\n }\n for (const reference of [javascript.module, environment.actionSchemaRef, environment.observationSchemaRef, environment.stateSchemaRef]) {\n if (!reference) continue;\n const asset = assets.find(asset => asset.id === reference.id);\n if (!asset) throw new Error(`Starter environment asset is missing: ${reference.id}.`);\n verifyLearningTextAsset(asset, reference);\n }\n for (const task of taskset.tasks) {\n const asset = assets.find(asset => asset.id === task.privilegedContextRef);\n if (!asset || asset.asset.visibility !== \"host_private\" || asset.asset.mediaType !== \"application/json\") {\n throw new Error(`Starter private initial state is missing: ${task.id}.`);\n }\n const state: unknown = JSON.parse(verifyLearningTextAsset(asset, asset.asset));\n if (!state || typeof state !== \"object\" || Array.isArray(state)) throw new Error(`Starter initial state must be a JSON object: ${task.id}.`);\n assertBoundedTaskJson(state, javascript.maxStateBytes);\n }\n}\n", "import { z } from \"zod\";\nimport { EnvironmentReleaseSchema, VerifierSetReleaseSchema, verifyEnvironmentRelease, verifyVerifierSetRelease } from \"@openpond/evals\";\nimport { createLearningTextAsset, sealLearningContent, verifyLearningTextAsset, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { canonicalJson } from \"./protocol.js\";\n\nexport const ModelTasksetExecutionResourcesSchema = z.object({ environment: EnvironmentReleaseSchema, verifierSet: VerifierSetReleaseSchema }).strict();\ntype Resources = z.infer<typeof ModelTasksetExecutionResourcesSchema>;\ntype Context = Pick<TasksetRelease, \"environmentRelease\" | \"verifierSetRelease\" | \"environment\" | \"graders\">;\n\n/** Private resource identity follows the exact published execution references. */\nexport function modelTasksetExecutionResourcesAssetId(context: Pick<Context, \"environmentRelease\" | \"verifierSetRelease\">): string {\n if (!context.environmentRelease || !context.verifierSetRelease) throw new Error(\"Taskset execution references are missing.\");\n return `taskset-execution-${sealLearningContent({ environment: context.environmentRelease, verifiers: context.verifierSetRelease }).contentHash}`;\n}\n\nexport function createModelTasksetExecutionResourcesAsset(value: Resources): LearningTextAsset {\n const resources = ModelTasksetExecutionResourcesSchema.parse({ environment: value.environment, verifierSet: value.verifierSet });\n assertIntegrity(resources);\n const id = modelTasksetExecutionResourcesAssetId({ environmentRelease: { id: resources.environment.id, contentHash: resources.environment.contentHash }, verifierSetRelease: { id: resources.verifierSet.id, contentHash: resources.verifierSet.contentHash } });\n const { contentHash: _hash, ...asset } = createLearningTextAsset({ text: canonicalJson(resources), path: \"environment/resources.json\", mediaType: \"application/json\", visibility: \"host_private\" });\n return sealLearningContent({ ...asset, id, asset: { ...asset.asset, id } });\n}\n\n/** Resolve text or tool execution resources without trusting an asset's ID alone. */\nexport function resolveModelTasksetExecutionResourcesAsset(context: Context, asset: LearningTextAsset): Resources {\n if (asset.id !== modelTasksetExecutionResourcesAssetId(context) || asset.asset.visibility !== \"host_private\" || asset.asset.mediaType !== \"application/json\") throw new Error(\"Taskset execution asset differs from its published references.\");\n const resources = ModelTasksetExecutionResourcesSchema.parse(JSON.parse(verifyLearningTextAsset(asset, asset.asset)));\n assertIntegrity(resources);\n if (asset.id !== createModelTasksetExecutionResourcesAsset(resources).id || canonicalJson(context.environment) !== canonicalJson(resources.environment.contract) || canonicalJson(context.graders) !== canonicalJson(resources.verifierSet.graders)) throw new Error(\"Taskset differs from its execution resources.\");\n return resources;\n}\n\nfunction assertIntegrity(resources: Resources): void {\n if (!verifyEnvironmentRelease(resources.environment) || !verifyVerifierSetRelease(resources.verifierSet)) throw new Error(\"Taskset execution resource integrity failed.\");\n}\n", "import { z } from \"zod\";\nimport { createEnvironmentRelease, createVerifierSetRelease, verifyEnvironmentRelease, verifyVerifierSetRelease } from \"@openpond/evals\";\nimport { LearningTextAssetSchema, TaskDefinitionSchema, assertLearningContentHash, learningRef, sameLearningRef, sealLearningContent, verifyLearningTextAsset } from \"@openpond/evals/learning\";\nimport { RewardBindingSchema, RewardReleaseSchema, compileBoundGraders } from \"@openpond/evals/rewards\";\nimport { TasksetReleaseSchema, assertTasksetRelease } from \"@openpond/evals/tasksets\";\nimport { validateTaskValue } from \"@openpond/evals/task-schema\";\n\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { ModelStarterExecutionSchema, validateModelStarterExecution } from \"./model-starter-execution.js\";\nimport { ModelTasksetExecutionResourcesSchema } from \"./model-taskset-resources.js\";\n\nconst OwnerSchema = z.object({ scopeId: z.string().trim().min(1).max(500), modelId: z.string().trim().min(1).max(500) }).strict();\nexport const ModelTasksetDerivationSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelTasksetDerivation.v1\"),\n owner: OwnerSchema,\n root: ModelProjectVersionedRefSchema,\n parent: ModelProjectVersionedRefSchema,\n}).strict();\n\n/** Immutable executable resources, independent of a catalog listing. */\nexport const ModelTasksetPackageSchema = z.object({\n taskset: TasksetReleaseSchema,\n taskDefinition: TaskDefinitionSchema,\n rewardBinding: RewardBindingSchema,\n rewards: z.array(RewardReleaseSchema).min(1).max(100),\n assets: z.array(LearningTextAssetSchema).max(1_000),\n executionResources: ModelTasksetExecutionResourcesSchema.optional(),\n execution: ModelStarterExecutionSchema.optional(),\n instructionMode: z.literal(\"per_task\").optional(),\n}).strict();\nexport type ModelTasksetPackage = z.infer<typeof ModelTasksetPackageSchema>;\n\nconst same = (left: unknown, right: unknown) => sealLearningContent({ value: left }).contentHash === sealLearningContent({ value: right }).contentHash;\nconst identity = (owner: z.infer<typeof OwnerSchema>, root: z.infer<typeof ModelProjectVersionedRefSchema>) => `model-taskset-${sealLearningContent({ owner, root }).contentHash}`;\n\n/** Hosts authorize the source and owner, upload immutable files, then commit\n * this result together with the model CAS and operation receipt. This pure\n * compiler neither allocates a new identity on retry nor changes a consumer. */\nexport function deriveModelTaskset(input: {\n owner: z.input<typeof OwnerSchema>;\n source: ModelTasksetPackage;\n rewardBinding: z.infer<typeof RewardBindingSchema>;\n rewards: z.infer<typeof RewardReleaseSchema>[];\n assets: z.infer<typeof LearningTextAssetSchema>[];\n}): ModelTasksetPackage {\n return compileModelTasksetReward({ ...input, source: validateModelTasksetPackage(input.source) });\n}\n\n/** Internal compiler shared by validated bound and ordinary source admission.\n * The source Taskset is always the real parent, never a synthetic bound copy. */\nexport function compileModelTasksetReward(input: {\n owner: z.input<typeof OwnerSchema>;\n source: Pick<ModelTasksetPackage, \"taskset\" | \"taskDefinition\" | \"executionResources\" | \"execution\" | \"instructionMode\">;\n rewardBinding: z.infer<typeof RewardBindingSchema>;\n rewards: z.infer<typeof RewardReleaseSchema>[];\n assets: z.infer<typeof LearningTextAssetSchema>[];\n edits?: Pick<ModelTasksetPackage, \"taskset\" | \"taskDefinition\" | \"executionResources\" | \"execution\">;\n}): ModelTasksetPackage {\n const owner = OwnerSchema.parse(input.owner);\n const source = input.source;\n const edited = input.edits ?? source;\n const previous = source.taskset.metadata.modelTasksetDerivation === undefined ? null : ModelTasksetDerivationSchema.parse(source.taskset.metadata.modelTasksetDerivation);\n if (previous && source.taskset.id !== identity(previous.owner, previous.root)) throw new Error(\"Derived Taskset identity differs from its ownership lineage.\");\n const owned = previous && same(previous.owner, owner);\n const root = owned ? previous.root : learningRef(source.taskset);\n const id = owned ? source.taskset.id : identity(owner, root);\n const revision = owned ? source.taskset.revision + 1 : 1;\n const rewardBinding = RewardBindingSchema.parse(input.rewardBinding);\n const rewards = input.rewards.map(reward => RewardReleaseSchema.parse(reward));\n const graders = compileBoundGraders(rewardBinding, rewards);\n if (rewardBinding.recipeRef) throw new Error(\"Resolve the Reward recipe into one standalone binding before deriving a Taskset.\");\n const policy = { ...edited.taskset.policy, hiddenGraderRefs: graders.filter(grader => grader.privileged).map(grader => grader.id) };\n const previousResources = edited.executionResources ?? edited.execution;\n const environment = previousResources?.environment ?? createEnvironmentRelease({\n schemaVersion: \"openpond.environmentRelease.v1\", id: `${id}-environment`, revision: 1,\n contract: edited.taskset.environment, actionSchemaRef: null, observationSchemaRef: null, stateSchemaRef: null,\n artifactCollection: { maxArtifacts: 100_000, maxTotalBytes: 250_000_000 }, adapterConformanceHashes: {}, metadata: {},\n });\n const verifierSet = createVerifierSetRelease({\n schemaVersion: \"openpond.verifierSetRelease.v1\", id: `${id}-verifiers`, revision, graders,\n isolation: previousResources?.verifierSet.isolation ?? { processBoundary: \"isolated_process\", networkPolicy: \"none\", defaultTimeoutMs: Math.min(edited.taskset.environment.defaultTimeoutMs, 300_000) },\n calibrationReceiptRefs: [], metadata: previousResources ? { sourceVerifierSet: learningRef(previousResources.verifierSet) } : {},\n });\n const executionResources = { environment, verifierSet };\n const execution = edited.execution ? { ...edited.execution, verifierSet } : undefined;\n const { contentHash: _taskHash, ...taskContent } = edited.taskset;\n const { contentHash: _definitionHash, ...definitionContent } = edited.taskDefinition;\n const taskExecution = { ...definitionContent.execution, policy, environmentRelease: { id: environment.id, contentHash: environment.contentHash }, verifierSetRelease: { id: verifierSet.id, contentHash: verifierSet.contentHash } };\n const taskDefinition = TaskDefinitionSchema.parse(sealLearningContent({ ...definitionContent, id: `${id}-definition`, revision, rewardBinding: learningRef(rewardBinding), execution: taskExecution }));\n const authoring = source.taskset.metadata.starterAuthoring ?? source.taskset.metadata.ordinaryAuthoring;\n const graderFixtures = authoring && typeof authoring === \"object\" && !Array.isArray(authoring) && \"graderFixtures\" in authoring ? authoring.graderFixtures : undefined;\n // Keep provenance through exact lineage. Source package qualifications and\n // privacy attestations describe different bytes and must not be copied.\n const taskset = TasksetReleaseSchema.parse(sealLearningContent({\n ...taskContent, ...taskExecution, id, revision, graders,\n metadata: {\n starter: { taskDefinition: learningRef(taskDefinition), rewardBinding: learningRef(rewardBinding) },\n rewardExecution: { binding: rewardBinding, rewards },\n ...(graderFixtures === undefined ? {} : { starterAuthoring: { graderFixtures } }),\n ...(edited.taskset.metadata.environmentResources === undefined ? {} : { environmentResources: edited.taskset.metadata.environmentResources }),\n modelTasksetDerivation: { schemaVersion: \"openpond.modelTasksetDerivation.v1\", owner, root, parent: learningRef(source.taskset) },\n },\n }));\n return validateModelTasksetPackage({ taskset, taskDefinition, rewardBinding, rewards, assets: input.assets, executionResources, ...(execution ? { execution } : {}), ...(source.instructionMode ? { instructionMode: source.instructionMode } : {}) });\n}\n\nexport function validateModelTasksetPackage(value: unknown): ModelTasksetPackage {\n const result = ModelTasksetPackageSchema.parse(value);\n const { taskset, taskDefinition, rewardBinding, rewards, assets, execution } = result;\n for (const resource of [taskset, taskDefinition, rewardBinding, ...rewards, ...assets]) assertLearningContentHash(resource);\n assertTasksetRelease(taskset);\n if (rewardBinding.recipeRef) throw new Error(\"Resolve the Reward recipe into one standalone binding before deriving a Taskset.\");\n if (!sameLearningRef(taskDefinition.rewardBinding, learningRef(rewardBinding))) throw new Error(\"Taskset definition differs from its Reward binding.\");\n const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = taskset;\n if (!same(taskDefinition.execution, { policy, environment, ...(environmentRelease ? { environmentRelease } : {}), tools, capabilities, ...(verifierSetRelease ? { verifierSetRelease } : {}) })) throw new Error(\"Taskset definition differs from its execution resources.\");\n if (!same(taskset.graders, compileBoundGraders(rewardBinding, rewards))) throw new Error(\"Taskset graders differ from its Reward binding.\");\n if (taskset.metadata.starter !== undefined) {\n const metadata = z.object({ taskDefinition: ModelProjectVersionedRefSchema, rewardBinding: ModelProjectVersionedRefSchema }).passthrough().parse(taskset.metadata.starter);\n if (!sameLearningRef(metadata.taskDefinition, learningRef(taskDefinition)) || !sameLearningRef(metadata.rewardBinding, learningRef(rewardBinding))) throw new Error(\"Taskset metadata differs from its immutable grading resources.\");\n }\n if (taskset.metadata.rewardExecution !== undefined && !same(taskset.metadata.rewardExecution, { binding: rewardBinding, rewards })) throw new Error(\"Taskset embedded Rewards differ from its immutable grading resources.\");\n if (taskset.metadata.rewardBinding !== undefined && !sameLearningRef(ModelProjectVersionedRefSchema.parse(taskset.metadata.rewardBinding), learningRef(rewardBinding))) throw new Error(\"Taskset Reward reference differs from its immutable grading resources.\");\n const resources = result.executionResources ?? execution;\n if (taskset.environmentRelease && !resources) throw new Error(\"Deriving a Taskset requires its pinned execution resources.\");\n if (resources && (!verifyEnvironmentRelease(resources.environment) || !verifyVerifierSetRelease(resources.verifierSet) ||\n !same(taskset.environmentRelease, { id: resources.environment.id, contentHash: resources.environment.contentHash }) ||\n !same(taskset.verifierSetRelease, { id: resources.verifierSet.id, contentHash: resources.verifierSet.contentHash }) ||\n !same(taskset.environment, resources.environment.contract) || !same(taskset.graders, resources.verifierSet.graders))) throw new Error(\"Taskset differs from its pinned execution resources.\");\n validateModelStarterExecution(execution, taskset, assets);\n if (new Set(assets.map(asset => asset.id)).size !== assets.length) throw new Error(\"Taskset asset identities must be unique.\");\n for (const asset of assets) verifyLearningTextAsset(asset, asset.asset);\n for (const reference of resources ? [resources.environment.actionSchemaRef, resources.environment.observationSchemaRef, resources.environment.stateSchemaRef] : []) {\n if (!reference) continue;\n const asset = assets.find(asset => asset.id === reference.id);\n if (!asset) throw new Error(`Taskset environment asset is missing: ${reference.id}.`);\n verifyLearningTextAsset(asset, reference);\n }\n for (const task of taskset.tasks) {\n if (taskDefinition.requiredOutputs && !same(task.requiredOutputs, taskDefinition.requiredOutputs)) throw new Error(`Taskset outputs differ from its reviewed definition: ${task.id}.`);\n if ((result.instructionMode !== \"per_task\" && task.policyVisibleContext.instructions !== taskDefinition.instructions) || !validateTaskValue(taskDefinition.inputSchema, task.input).valid ||\n (task.expectedOutput !== null && !validateTaskValue(taskDefinition.outputSchema, task.expectedOutput).valid)) throw new Error(`Taskset task differs from its declared format: ${task.id}.`);\n if (task.privilegedContextRef && !assets.some(asset => asset.id === task.privilegedContextRef && asset.asset.visibility === \"host_private\")) throw new Error(`Taskset private context is missing: ${task.id}.`);\n }\n for (const reward of rewards) {\n const implementation = reward.implementation;\n const references = [...reward.assets, ...(\"verifierRef\" in implementation ? [implementation.verifierRef] : []), ...(\"rubricRef\" in implementation ? [implementation.rubricRef] : []), ...(\"inputContract\" in implementation ? [implementation.inputContract] : [])];\n for (const reference of references) {\n const asset = assets.find(asset => asset.id === reference.id);\n if (!asset || reference.visibility === \"policy\") throw new Error(`Taskset Reward requires its private asset: ${reference.id}.`);\n verifyLearningTextAsset(asset, reference);\n }\n }\n return result;\n}\n", "import { z } from \"zod\";\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { TaskBatchSchema, TaskEvidenceSchema, TaskAdmissionDecisionSchema, LearningSourceSchema, LearningTextAssetSchema,\n assertLearningContentHash, compileTaskBatch, learningRef, sameLearningRef, taskBatchPackageMetadata, verifyLearningTextAsset } from \"@openpond/evals/learning\";\nimport type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { canonicalJson } from \"./training.js\";\n\n/** Review snapshots travel with their exact batch; importing them is not a\n * new local admission or permission to train. */\nexport const TasksetPackageLearningResourcesSchema = z.object({\n batch: TaskBatchSchema,\n evidence: z.array(TaskEvidenceSchema).min(1).max(10_000),\n decisions: z.array(TaskAdmissionDecisionSchema).min(1).max(10_000),\n sources: z.array(LearningSourceSchema).min(1).max(10_000),\n assets: z.array(LearningTextAssetSchema).max(1_000),\n}).strict();\nexport type TasksetPackageLearningResources = z.infer<typeof TasksetPackageLearningResourcesSchema>;\n\nexport function learningPackageContextFiles(resources: TasksetPackageLearningResources) {\n return resources.evidence.filter(evidence => evidence.submission.evaluatorContext !== null).map(evidence => {\n const text = canonicalJson(evidence.submission.evaluatorContext);\n const bytes = new TextEncoder().encode(text);\n return { asset: { id: `task-evidence:${evidence.contentHash}`, path: `learning/context/${evidence.contentHash}.json`,\n contentHash: sha256(bytes), sizeBytes: bytes.byteLength, mediaType: \"application/json\", visibility: \"host_private\" as const },\n base64: btoa(Array.from(bytes, byte => String.fromCharCode(byte)).join(\"\")) };\n });\n}\n\nexport function validateTasksetLearningResources(taskset: TasksetRelease, input: unknown) {\n const resources = TasksetPackageLearningResourcesSchema.parse(input);\n const metadata = taskBatchPackageMetadata(taskset);\n if (!sameLearningRef(learningRef(resources.batch), metadata.batch)) throw new Error(\"Taskset learning batch differs from its admission metadata.\");\n for (const collection of [resources.evidence, resources.decisions, resources.sources, resources.assets]) {\n const identities = new Set<string>();\n for (const resource of collection) {\n assertLearningContentHash(resource);\n const key = `${resource.id}:${resource.revision}`;\n if (identities.has(key)) throw new Error(\"Taskset learning resource identities must be unique.\");\n identities.add(key);\n }\n }\n if (resources.evidence.length !== resources.batch.examples.length || resources.decisions.length !== resources.batch.examples.length) throw new Error(\"Taskset learning snapshots must match the admitted batch inventory.\");\n for (const evidence of resources.evidence) {\n const source = resources.sources.find(source => sameLearningRef(learningRef(source), evidence.source));\n if (!source || !sameLearningRef(source.taskDefinition, learningRef(metadata.definition))) throw new Error(\"Taskset evidence source differs from its task definition.\");\n }\n if (resources.sources.some(source => !resources.evidence.some(evidence => sameLearningRef(evidence.source, learningRef(source))))) throw new Error(\"Taskset package includes an unrelated learning source.\");\n const rewardAssets = metadata.rewards.flatMap(reward => [...reward.assets,\n ...(reward.implementation.kind === \"custom_verifier\" ? [reward.implementation.verifierRef]\n : reward.implementation.kind === \"model_judge\" || reward.implementation.kind === \"human\" ? [reward.implementation.rubricRef] : []),\n ...(\"inputContract\" in reward.implementation ? [reward.implementation.inputContract] : []),\n ]);\n for (const ref of rewardAssets) {\n const asset = resources.assets.find(asset => asset.id === ref.id);\n if (!asset) throw new Error(\"Taskset learning Reward asset is missing.\");\n verifyLearningTextAsset(asset, ref);\n }\n if (resources.assets.some(asset => !rewardAssets.some(ref => ref.id === asset.id))) throw new Error(\"Taskset package includes an unrelated learning asset.\");\n const compiled = compileTaskBatch({ batch: resources.batch, definition: metadata.definition, binding: metadata.binding,\n rewards: metadata.rewards, evidence: resources.evidence, decisions: resources.decisions });\n const compiledMetadata = taskBatchPackageMetadata(compiled);\n if (contentHash(compiledMetadata) !== contentHash(metadata)) throw new Error(\"Taskset admission metadata differs from its reviewed snapshots.\");\n const execution = (release: TasksetRelease) => ({ policy: release.policy, environment: release.environment, tools: release.tools });\n if (contentHash(execution(compiled)) !== contentHash(execution(taskset))) throw new Error(\"Taskset execution differs from its reviewed task definition.\");\n const taskContent = (task: TasksetRelease[\"tasks\"][number]) => ({ id: task.id, clusterKey: task.clusterKey, split: task.split,\n input: task.input, expectedOutput: task.expectedOutput, policyVisibleContext: task.policyVisibleContext,\n privilegedContextRef: task.privilegedContextRef, artifactRefs: task.artifactRefs, requiredOutputs: task.requiredOutputs ?? [], tags: task.tags });\n if (contentHash(compiled.tasks.map(taskContent)) !== contentHash(taskset.tasks.map(taskContent))) throw new Error(\"Taskset rows differ from their reviewed evidence.\");\n return resources;\n}\n", "import { z } from \"zod\";\nimport { ImmutableAssetRefSchema, sha256 } from \"@openpond/harness\";\n\n/** The limit covers the entire decoded JSON envelope, including base64. */\nexport const MAX_TASKSET_PACKAGE_BYTES = 64 * 1024 * 1024;\nexport const TasksetPackageFileSchema = z.object({\n asset: ImmutableAssetRefSchema,\n base64: z.string().max(Math.ceil(MAX_TASKSET_PACKAGE_BYTES / 3) * 4),\n}).strict();\nexport type TasksetPackageFile = z.infer<typeof TasksetPackageFileSchema>;\n\nexport function decodeTasksetPackageFile(value: TasksetPackageFile): Uint8Array {\n const file = TasksetPackageFileSchema.parse(value);\n const raw = atob(file.base64);\n if (btoa(raw) !== file.base64) throw new Error(`Taskset asset ${file.asset.id} has noncanonical base64.`);\n const bytes = Uint8Array.from(raw, character => character.charCodeAt(0));\n if (bytes.byteLength !== file.asset.sizeBytes || sha256(bytes) !== file.asset.contentHash) throw new Error(`Taskset asset ${file.asset.id} differs from its immutable bytes.`);\n return bytes;\n}\n", "import type { TasksetRelease } from \"@openpond/evals/tasksets\";\nimport { LearningTextAssetSchema, sealLearningContent, type LearningTextAsset } from \"@openpond/evals/learning\";\nimport { createModelStarterExecutionAsset, modelStarterExecutionAssetId, ModelStarterExecutionSchema, validateModelStarterExecution, type ModelStarterExecution } from \"./model-starter-execution.js\";\nimport { decodeTasksetPackageFile, type TasksetPackageFile } from \"./taskset-package-files.js\";\n\n/** Resolve the same private execution graph for bound and ordinary packages.\n * Package admission separately validates the enclosing release and file graph. */\nexport function resolveTasksetPackageExecution(input: {\n taskset: TasksetRelease;\n files: TasksetPackageFile[];\n modelResources?: { execution?: ModelStarterExecution };\n}): { execution: ModelStarterExecution; assets: LearningTextAsset[] } | null {\n if (input.taskset.environment.entrypoint !== \"openpond.javascript-environment.v1\") return null;\n const byId = new Map(input.files.map(file => [file.asset.id, file]));\n const read = (id: string): LearningTextAsset => {\n const file = byId.get(id);\n if (!file) throw new Error(`Taskset environment asset is missing: ${id}.`);\n if (file.asset.sizeBytes > 524_288) throw new Error(\"Taskset environment source exceeds the authored asset limit.\");\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(decodeTasksetPackageFile(file));\n return LearningTextAssetSchema.parse(sealLearningContent({ schemaVersion: \"openpond.learningTextAsset.v1\", id, revision: 1, asset: file.asset, text }));\n };\n let execution: ModelStarterExecution;\n if (input.modelResources) {\n if (!input.modelResources.execution) throw new Error(\"Bound Taskset JavaScript execution resources are missing.\");\n execution = ModelStarterExecutionSchema.parse(input.modelResources.execution);\n } else {\n const declaration = read(modelStarterExecutionAssetId(input.taskset));\n if (declaration.asset.visibility !== \"host_private\" || declaration.asset.mediaType !== \"application/json\" || declaration.asset.path !== \"environment/execution.json\") throw new Error(\"Taskset execution declaration must be private JSON at environment/execution.json.\");\n execution = ModelStarterExecutionSchema.parse(JSON.parse(declaration.text));\n }\n const ids = new Set([execution.javascript.module.id,\n ...[execution.environment.actionSchemaRef, execution.environment.observationSchemaRef, execution.environment.stateSchemaRef].flatMap(ref => ref ? [ref.id] : []),\n ...input.taskset.tasks.flatMap(task => task.privilegedContextRef ? [task.privilegedContextRef] : []),\n ]);\n const assets = [...ids].map(read);\n validateModelStarterExecution(execution, input.taskset, assets);\n return { execution, assets };\n}\n\n/** Regenerate the declaration when publication reseals its execution releases. */\nexport function createTasksetPackageExecutionFile(execution: ModelStarterExecution): TasksetPackageFile {\n const asset = createModelStarterExecutionAsset(execution);\n const bytes = new TextEncoder().encode(asset.text);\n let raw = \"\";\n for (const byte of bytes) raw += String.fromCharCode(byte);\n return { asset: asset.asset, base64: btoa(raw) };\n}\n", "import { z } from \"zod\";\nimport { contentHash, type ImmutableAssetRef } from \"@openpond/harness\";\nimport { EnvironmentReleaseSchema, VerifierSetReleaseSchema, verifyEnvironmentRelease, verifyVerifierSetRelease } from \"@openpond/evals\";\nimport { assertTasksetRelease, TasksetReleaseSchema } from \"@openpond/evals/tasksets\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\nimport { ModelTasksetPackageSchema, validateModelTasksetPackage } from \"./model-taskset-derivation.js\";\nimport { taskBatchPackageMetadata } from \"@openpond/evals/learning\";\nimport { TasksetPackageLearningResourcesSchema, learningPackageContextFiles, validateTasksetLearningResources } from \"./taskset-package-learning.js\";\nimport { assertModelTasksetAuthoring } from \"./model-taskset-authoring-lineage.js\";\nimport { resolveTasksetPackageExecution } from \"./taskset-package-execution.js\";\nimport { MAX_TASKSET_PACKAGE_BYTES, TasksetPackageFileSchema, decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nexport { MAX_TASKSET_PACKAGE_BYTES, TasksetPackageFileSchema, decodeTasksetPackageFile } from \"./taskset-package-files.js\";\nexport { resolveTasksetPackageExecution, createTasksetPackageExecutionFile } from \"./taskset-package-execution.js\";\n\nconst BoundModelResourcesSchema = ModelTasksetPackageSchema.omit({ taskset: true, executionResources: true });\nexport const TasksetPackageContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetPackage.v1\"),\n taskset: TasksetReleaseSchema,\n environment: EnvironmentReleaseSchema,\n verifierSet: VerifierSetReleaseSchema,\n files: z.array(TasksetPackageFileSchema).max(10_000),\n modelResources: BoundModelResourcesSchema.optional(),\n learningResources: TasksetPackageLearningResourcesSchema.optional(),\n}).strict();\nexport const TasksetPackageSchema = TasksetPackageContentSchema.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) }).strict();\nexport type TasksetPackage = z.infer<typeof TasksetPackageSchema>;\n\n/** The selected binding belongs to the package's declared authoring graph. */\nexport function tasksetPackageRewardBinding(value: TasksetPackage) {\n return value.learningResources ? taskBatchPackageMetadata(value.taskset).binding : value.modelResources?.rewardBinding ?? null;\n}\n\n/** Instructions follow the admitted authoring graph. An ordinary package with\n * no instructions declares an empty prompt, never its display name. */\nexport function resolveTasksetPackageInstructions(value: Pick<TasksetPackage, \"taskset\" | \"modelResources\" | \"learningResources\">): string {\n if (value.learningResources) return taskBatchPackageMetadata(value.taskset).definition.instructions;\n if (value.modelResources) return value.modelResources.taskDefinition.instructions;\n const authoring = z.object({ instructions: z.string().max(20_000).optional() }).passthrough()\n .parse(value.taskset.metadata.ordinaryAuthoring ?? {});\n return authoring.instructions ?? \"\";\n}\n\n/** Admission verifies the complete declared dependency graph, not readiness or\n * permission to execute it. Hosts separately authorize the workspace/project. */\nexport function validateTasksetPackage(value: unknown): TasksetPackage {\n assertBoundedTaskJson(value, MAX_TASKSET_PACKAGE_BYTES);\n const result = TasksetPackageSchema.parse(value);\n const { contentHash: hash, ...content } = result;\n if (contentHash(content) !== hash) throw new Error(\"Taskset package content hash differs from its bytes.\");\n const { taskset, environment, verifierSet } = result;\n assertTasksetRelease(taskset);\n const authoring = assertModelTasksetAuthoring(taskset);\n if (authoring && (result.modelResources || result.learningResources)) throw new Error(\"Taskset package cannot declare competing authoring graphs.\");\n if (!verifyEnvironmentRelease(environment) || !verifyVerifierSetRelease(verifierSet)\n || !same(taskset.environmentRelease, { id: environment.id, contentHash: environment.contentHash })\n || !same(taskset.verifierSetRelease, { id: verifierSet.id, contentHash: verifierSet.contentHash })\n || !same(taskset.environment, environment.contract) || !same(taskset.graders, verifierSet.graders)) {\n throw new Error(\"Taskset package execution releases do not match its Taskset.\");\n }\n const files = new Map<string, z.infer<typeof TasksetPackageFileSchema>>();\n for (const file of result.files) {\n if (files.has(file.asset.id)) throw new Error(`Duplicate Taskset asset identity: ${file.asset.id}.`);\n decodeTasksetPackageFile(file);\n files.set(file.asset.id, file);\n }\n function requireAsset(ref: ImmutableAssetRef) {\n const file = files.get(ref.id);\n if (!file || !same(file.asset, ref)) throw new Error(`Taskset package asset is missing or mismatched: ${ref.id}.`);\n }\n for (const task of taskset.tasks) {\n for (const asset of task.artifactRefs) requireAsset(asset);\n for (const output of task.requiredOutputs ?? []) if (output.schemaRef) requireAsset(output.schemaRef);\n if (task.privilegedContextRef && files.get(task.privilegedContextRef)?.asset.visibility !== \"host_private\") {\n throw new Error(`Taskset package private context is missing: ${task.id}.`);\n }\n }\n for (const ref of [environment.actionSchemaRef, environment.observationSchemaRef, environment.stateSchemaRef]) if (ref) requireAsset(ref);\n for (const grader of taskset.graders) {\n const ref = \"verifierRef\" in grader ? grader.verifierRef : \"rubricRef\" in grader ? grader.rubricRef : null;\n if (ref) {\n requireAsset(ref);\n if (ref.visibility === \"policy\") throw new Error(`Taskset grader asset must be private: ${ref.id}.`);\n }\n }\n if (taskset.metrics?.customAggregator) {\n const aggregator = taskset.metrics.customAggregator;\n const modules = result.files.filter(file => file.asset.path === aggregator.module);\n if (modules.length !== 1 || modules[0]!.asset.contentHash !== aggregator.contentHash || modules[0]!.asset.sizeBytes > 524_288 || modules[0]!.asset.visibility === \"policy\") {\n throw new Error(\"Taskset metric module is missing or mismatched, public, or exceeds the source limit.\");\n }\n }\n for (const declarations of [taskset.metadata.environmentResources, environment.metadata.resources]) {\n if (declarations === undefined) continue;\n for (const resource of z.array(z.object({ path: z.string().min(1) }).passthrough()).parse(declarations)) {\n if (!result.files.some(file => file.asset.path === resource.path)) throw new Error(`Taskset environment resource is missing: ${resource.path}.`);\n }\n }\n if (result.learningResources) {\n if (result.modelResources) throw new Error(\"Taskset package cannot declare competing authoring graphs.\");\n const learning = validateTasksetLearningResources(taskset, result.learningResources);\n for (const expected of learningPackageContextFiles(learning)) {\n if (!same(files.get(expected.asset.id), expected)) throw new Error(\"Taskset private context differs from its reviewed evidence.\");\n }\n for (const asset of learning.assets) requireAsset(asset.asset);\n } else if (result.modelResources) {\n const model = validateModelTasksetPackage({ ...result.modelResources, taskset, executionResources: { environment, verifierSet } });\n for (const asset of model.assets) requireAsset(asset.asset);\n } else if ([\"starter\", \"rewardBinding\", \"rewardExecution\", \"modelTasksetDerivation\", \"learning\"].some(key => taskset.metadata[key] !== undefined)) {\n throw new Error(\"Bound Taskset publication requires its complete model resources.\");\n }\n resolveTasksetPackageExecution(result);\n resolveTasksetPackageInstructions(result);\n return result;\n}\n\nexport function createTasksetPackage(value: z.input<typeof TasksetPackageContentSchema>): TasksetPackage {\n assertBoundedTaskJson(value, MAX_TASKSET_PACKAGE_BYTES);\n const content = TasksetPackageContentSchema.parse(value);\n return validateTasksetPackage({ ...content, contentHash: contentHash(content) });\n}\n\nfunction same(left: unknown, right: unknown): boolean {\n return contentHash({ value: left }) === contentHash({ value: right });\n}\n", "import { contentHash } from \"@openpond/harness\";\nimport { sameLearningRef } from \"@openpond/evals/learning\";\nimport { ModelTasksetAuthoringSchema } from \"./model-taskset-authoring-contracts.js\";\n\nexport function modelAuthoredTasksetId(lineage: { owner: unknown; root: unknown }) {\n return `model-authored-taskset-${contentHash({ owner: lineage.owner, root: lineage.root })}`;\n}\n\n/** Ownership metadata must describe this exact immutable revision. */\nexport function assertModelTasksetAuthoring(taskset: { id: string; revision: number; metadata: Record<string, unknown> }) {\n if (taskset.metadata.modelTasksetAuthoring === undefined) return null;\n const lineage = ModelTasksetAuthoringSchema.parse(taskset.metadata.modelTasksetAuthoring);\n if (taskset.id !== modelAuthoredTasksetId(lineage)\n || (taskset.revision === 1 ? !sameLearningRef(lineage.parent, lineage.root)\n : lineage.parent.id !== taskset.id || lineage.parent.revision !== taskset.revision - 1)) {\n throw new Error(\"Authored Taskset revision differs from its ownership lineage.\");\n }\n return lineage;\n}\n"],
5
- "mappings": "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",
6
- "names": ["contentHash", "asset", "z", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "createLearningTextAsset", "sealLearningContent", "verifyLearningTextAsset", "z", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "sealLearningContent", "createLearningTextAsset", "verifyLearningTextAsset", "z", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "learningRef", "sealLearningContent", "verifyLearningTextAsset", "z", "sealLearningContent", "learningRef", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "verifyLearningTextAsset", "asset", "z", "LearningTextAssetSchema", "assertLearningContentHash", "learningRef", "sameLearningRef", "verifyLearningTextAsset", "z", "LearningTextAssetSchema", "sameLearningRef", "learningRef", "assertLearningContentHash", "source", "asset", "verifyLearningTextAsset", "z", "z", "LearningTextAssetSchema", "sealLearningContent", "LearningTextAssetSchema", "sealLearningContent", "z", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "assertTasksetRelease", "TasksetReleaseSchema", "assertBoundedTaskJson", "taskBatchPackageMetadata", "sameLearningRef", "sameLearningRef", "z", "TasksetReleaseSchema", "EnvironmentReleaseSchema", "VerifierSetReleaseSchema", "taskBatchPackageMetadata", "assertBoundedTaskJson", "assertTasksetRelease", "verifyEnvironmentRelease", "verifyVerifierSetRelease", "same"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/training-acceptance.ts", "../src/training.ts", "../src/training-preparations.ts", "../src/training-harness-sources.ts", "../src/training-candidate-decisions.ts", "../src/training-evaluation-results.ts", "../src/training-grading-plan.ts", "../src/training-evaluation-source.ts"],
4
- "sourcesContent": ["import { z } from \"zod\";\nimport { assertAcceptanceGroupSnapshot, AcceptanceGroupSnapshotSchema } from \"@openpond/evals/learning\";\nimport { ModelProjectImmutableRefSchema } from \"./model-projects.js\";\nimport { OpenPondProtocolError } from \"./protocol.js\";\n\nconst Id = z.string().trim().min(1).max(240);\nexport const TrainingAcceptanceGroupReferenceSchema = ModelProjectImmutableRefSchema.extend({ revision: z.number().int().positive() }).strict();\nexport const TrainingAcceptanceGroupSummarySchema = TrainingAcceptanceGroupReferenceSchema.extend({\n teamId: Id, jobId: Id,\n plan: ModelProjectImmutableRefSchema,\n baseline: ModelProjectImmutableRefSchema,\n candidate: ModelProjectImmutableRefSchema,\n state: AcceptanceGroupSnapshotSchema.shape.state,\n updatedAt: z.string().datetime(),\n}).strict();\nexport const TrainingAcceptanceGroupPageSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingAcceptanceGroupPage.v1\"),\n teamId: Id, jobId: Id, groups: z.array(TrainingAcceptanceGroupSummarySchema).max(100), nextCursor: Id.nullable(),\n}).strict();\nexport const TrainingAcceptanceGroupQuerySchema = z.object({\n cursor: Id.optional(), limit: z.number().int().min(1).max(100).default(25),\n}).strict();\nexport type TrainingAcceptanceGroupReference = z.infer<typeof TrainingAcceptanceGroupReferenceSchema>;\nexport type TrainingAcceptanceGroupSummary = z.infer<typeof TrainingAcceptanceGroupSummarySchema>;\nexport type TrainingAcceptanceGroupPage = z.infer<typeof TrainingAcceptanceGroupPageSchema>;\nexport type TrainingAcceptanceGroupQuery = z.input<typeof TrainingAcceptanceGroupQuerySchema>;\nexport type TrainingAcceptanceTarget = { teamId: string; jobId: string };\n\n/** Read retained evidence. These operations do not create, retry or dispatch checks. */\nexport function createTrainingAcceptanceClient(request: (path: string, init?: RequestInit) => Promise<unknown>) {\n const route = (target: TrainingAcceptanceTarget) => {\n Id.parse(target.teamId);\n return `/v1/training/jobs/${encodeURIComponent(Id.parse(target.jobId))}/acceptance-groups`;\n };\n return {\n async acceptanceGroups(target: TrainingAcceptanceTarget, input: TrainingAcceptanceGroupQuery = {}) {\n const query = TrainingAcceptanceGroupQuerySchema.parse(input);\n const params = new URLSearchParams({ limit: String(query.limit) });\n if (query.cursor) params.set(\"cursor\", query.cursor);\n const page = TrainingAcceptanceGroupPageSchema.parse(await request(`${route(target)}?${params}`));\n if (page.teamId !== target.teamId || page.jobId !== target.jobId || page.groups.length > query.limit ||\n page.groups.some(group => group.teamId !== target.teamId || group.jobId !== target.jobId || (query.cursor && group.id <= query.cursor)) ||\n new Set(page.groups.map(group => group.id)).size !== page.groups.length ||\n (page.nextCursor !== null && page.nextCursor !== page.groups.at(-1)?.id))\n throw new OpenPondProtocolError(\"acceptance_group_scope_mismatch\", \"Acceptance groups do not match the requested workspace, job or cursor.\");\n return page;\n },\n async acceptanceGroup(target: TrainingAcceptanceTarget, groupId: string, expected?: TrainingAcceptanceGroupReference) {\n const reference = expected ? TrainingAcceptanceGroupReferenceSchema.parse({ id: expected.id, revision: expected.revision, contentHash: expected.contentHash }) : null;\n if (reference && reference.id !== groupId) throw new OpenPondProtocolError(\"acceptance_group_identity_mismatch\", \"The retained group reference differs from the requested group.\");\n const suffix = reference ? `?revision=${reference.revision}` : \"\";\n const snapshot = assertAcceptanceGroupSnapshot(await request(`${route(target)}/${encodeURIComponent(Id.parse(groupId))}${suffix}`));\n if (snapshot.manifest.teamId !== target.teamId || snapshot.manifest.trainingJob.id !== target.jobId || snapshot.manifest.id !== groupId ||\n (reference && (snapshot.revision !== reference.revision || snapshot.contentHash !== reference.contentHash)))\n throw new OpenPondProtocolError(\"acceptance_group_identity_mismatch\", \"Acceptance evidence does not match the requested workspace, job or retained revision.\");\n return snapshot;\n },\n };\n}\n", "import { createTrainingAcceptanceClient } from \"./training-acceptance.js\";\nexport { TrainingAcceptanceGroupReferenceSchema, TrainingAcceptanceGroupSummarySchema, TrainingAcceptanceGroupPageSchema, TrainingAcceptanceGroupQuerySchema, type TrainingAcceptanceGroupReference, type TrainingAcceptanceGroupSummary, type TrainingAcceptanceGroupPage, type TrainingAcceptanceGroupQuery, type TrainingAcceptanceTarget } from \"./training-acceptance.js\";\nimport { z } from \"zod\";\nimport { createTrainingPreparationClient } from \"./training-preparations.js\";\nexport { TrainingPreparationRequestSchema, TrainingPreparationPlanContentSchema, TrainingPreparationPlanSchema, TrainingPreparationReceiptSchema, TrainingPreparationControlSchema, parseAndVerifyTrainingPreparationReceipt, type TrainingPreparationRequest, type TrainingPreparationPlan, type TrainingPreparationReceipt, type TrainingPreparationControl } from \"./training-preparations.js\";\nexport { TrainingPreparationListQuerySchema, TrainingPreparationPageSchema, type TrainingPreparationListQuery, type TrainingPreparationPage } from \"./training-preparations.js\";\nimport { createTrainingHarnessSourceClient } from \"./training-harness-sources.js\";\nexport { TrainingHarnessSourcePublicationSchema } from \"./training-harness-sources.js\";\nimport { createTrainingCandidateDecisionClient } from \"./training-candidate-decisions.js\";\nexport { TrainingCandidateDecisionRequestSchema, TrainingCandidateDecisionSchema, trainingCandidateDecisionHash, parseAndVerifyTrainingCandidateDecision, type TrainingCandidateDecisionRequest, type TrainingCandidateDecision, type TrainingCandidateDecisionTarget } from \"./training-candidate-decisions.js\";\nimport { parseAndVerifyTrainingEvaluationTaskPage } from \"./training-evaluation-results.js\";\n\nexport { deterministicTrainingRewardSource } from \"./training-grading-plan.js\";\nexport { TRAINING_EVALUATION_SOURCE_PATH, TrainingEvaluationSourceSchema, assertTrainingEvaluationIsolation, trainingEvaluationSourceRef, type TrainingEvaluationSource } from \"./training-evaluation-source.js\";\nexport { TrainingEvaluationTaskResultSchema, TrainingEvaluationTaskPageSchema, trainingEvaluationTaskPageHash, parseAndVerifyTrainingEvaluationTaskPage, type TrainingEvaluationTaskResult, type TrainingEvaluationTaskPage } from \"./training-evaluation-results.js\";\n\nimport {\n ModelProjectBaseModelSchema,\n ModelProjectImmutableRefSchema,\n ModelProjectRecipeDocumentSchema,\n ModelProjectVersionedRefSchema,\n} from \"./model-projects.js\";\nimport {\n OPENPOND_TRAINING_MEDIA_TYPE,\n TRAINING_API_RESPONSE_MAX_BYTES,\n TRAINING_INPUT_ARTIFACT_MAX_BYTES,\n TRAINING_JOB_SUBMISSION_MAX_BYTES,\n OpenPondProtocolError,\n assertCanonicalPayloadSize,\n canonicalSha256,\n parseBoundedJson,\n} from \"./protocol.js\";\n\nexport {\n OPENPOND_TRAINING_MEDIA_TYPE,\n OPENPOND_TRAINING_PROTOCOL_MAJOR,\n TRAINING_API_RESPONSE_MAX_BYTES,\n TRAINING_INPUT_ARTIFACT_MAX_BYTES,\n TRAINING_JOB_SUBMISSION_MAX_BYTES,\n OpenPondProtocolError,\n assertCanonicalPayloadSize,\n canonicalJson,\n canonicalJsonByteLength,\n canonicalSha256,\n parseBoundedJson,\n} from \"./protocol.js\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst TimestampSchema = z.string().datetime({ offset: true });\n\n/**\n * Stages a content-addressed immutable input before Job admission. The payload\n * is deliberately opaque to the transport contract: its declared kind owns\n * the executable schema, while the envelope provides bounded bytes,\n * idempotency, and a stable manifest lookup key.\n */\nexport const TrainingInputArtifactUploadSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingInputArtifactUpload.v2\"),\n kind: z.enum([\"portable_training_bundle\", \"reward_model_dataset\"]),\n idempotencyKey: z.string().trim().min(1).max(500),\n sourceManifest: ModelProjectImmutableRefSchema,\n payload: z.unknown(),\n contentHash: HashSchema,\n })\n .strict();\n\nexport const TrainingInputArtifactSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingInputArtifact.v2\"),\n kind: z.enum([\"portable_training_bundle\", \"reward_model_dataset\"]),\n sourceManifest: ModelProjectImmutableRefSchema,\n artifactRef: z.string().trim().min(1).max(2_000),\n contentHash: HashSchema,\n sizeBytes: z.number().int().positive(),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport async function trainingInputArtifactUploadHash(\n upload: Omit<TrainingInputArtifactUpload, \"contentHash\"> | TrainingInputArtifactUpload,\n): Promise<string> {\n const { contentHash: _contentHash, ...content } = upload as TrainingInputArtifactUpload;\n return canonicalSha256(content);\n}\n\nexport async function parseAndVerifyTrainingInputArtifactUpload(\n value: unknown,\n): Promise<TrainingInputArtifactUpload> {\n assertCanonicalPayloadSize(\n value,\n TRAINING_INPUT_ARTIFACT_MAX_BYTES,\n \"Training input artifact\",\n );\n const parsed = TrainingInputArtifactUploadSchema.parse(value);\n const expectedHash = await trainingInputArtifactUploadHash(parsed);\n if (parsed.contentHash !== expectedHash) {\n throw new OpenPondProtocolError(\n \"content_hash_mismatch\",\n `Training input artifact contentHash ${parsed.contentHash} does not match ${expectedHash}.`,\n );\n }\n return parsed;\n}\n\nexport const TrainingJobKindSchema = z.enum([\n \"reward_model_train\",\n \"policy_optimize\",\n]);\n\nexport const TrainingJobStateSchema = z.enum([\n \"queued\",\n \"admitting\",\n \"provisioning\",\n \"running\",\n \"stopping\",\n \"cancelling\",\n \"succeeded\",\n \"failed\",\n \"cancelled\",\n]);\n\nexport const TrainingCapabilityRequirementSchema = z\n .object({\n id: IdSchema,\n version: z.string().trim().min(1).max(200).nullable().default(null),\n required: z.boolean().default(true),\n })\n .strict();\n\nexport const TrainingJobSourceSchema = z\n .object({\n modelProject: z\n .object({\n id: IdSchema,\n portableProjectId: IdSchema,\n revision: z.number().int().positive(),\n contentHash: HashSchema,\n })\n .strict(),\n harnessRunManifest: ModelProjectImmutableRefSchema,\n harnessRelease: ModelProjectImmutableRefSchema,\n taskset: ModelProjectVersionedRefSchema,\n tasksetRelease: ModelProjectImmutableRefSchema,\n evaluation: z.object({\n taskset: ModelProjectVersionedRefSchema,\n dataset: ModelProjectImmutableRefSchema,\n }).strict().nullable().optional(),\n dataset: ModelProjectImmutableRefSchema,\n evidenceSets: z.array(ModelProjectImmutableRefSchema).max(10_000),\n })\n .strict();\n\nexport const RewardModelTrainingRequestSchema = z\n .object({\n kind: z.literal(\"reward_model_train\"),\n baseModel: ModelProjectBaseModelSchema,\n preferenceDatasetRelease: ModelProjectImmutableRefSchema,\n processorRelease: ModelProjectImmutableRefSchema,\n recipe: z\n .object({\n schemaVersion: z.literal(\"openpond.rewardModelRecipe.v1\"),\n method: z.literal(\"reward_model\"),\n parameterization: z.literal(\"lora_with_scalar_head\"),\n })\n .catchall(z.unknown()),\n })\n .strict();\n\nconst DeterministicRewardSourceSchema = z\n .object({\n kind: z.literal(\"deterministic\"),\n grader: ModelProjectImmutableRefSchema,\n composer: ModelProjectImmutableRefSchema.nullable().default(null),\n })\n .strict();\n\nconst LearnedRewardSourceSchema = z\n .object({\n kind: z.literal(\"learned_reward\"),\n rewardModelVersion: ModelProjectImmutableRefSchema,\n qualificationReport: ModelProjectImmutableRefSchema.nullable().default(null),\n evaluationReferences: z\n .array(ModelProjectImmutableRefSchema)\n .max(1_000)\n .default([]),\n scorerArtifact: z\n .object({\n artifactRef: z.string().trim().min(1).max(2_000),\n contentHash: HashSchema,\n executionReceipt: ModelProjectImmutableRefSchema,\n })\n .strict(),\n processorRelease: ModelProjectImmutableRefSchema,\n rewardComposerRelease: ModelProjectImmutableRefSchema,\n })\n .strict();\n\nexport const PolicyOptimizationRequestSchema = z\n .object({\n kind: z.literal(\"policy_optimize\"),\n baseModel: ModelProjectBaseModelSchema,\n recipe: ModelProjectRecipeDocumentSchema,\n rewardSource: z.discriminatedUnion(\"kind\", [\n DeterministicRewardSourceSchema,\n LearnedRewardSourceSchema,\n ]),\n resumeFrom: ModelProjectImmutableRefSchema.nullable().default(null),\n })\n .strict();\n\nexport const TrainingJobRequestSchema = z.discriminatedUnion(\"kind\", [\n RewardModelTrainingRequestSchema,\n PolicyOptimizationRequestSchema,\n]);\n\nexport const TrainingJobApprovalSchema = z\n .object({\n approvalHash: HashSchema,\n approvedAt: TimestampSchema,\n exportApproved: z.boolean(),\n maximumSpendUsd: z.number().nonnegative(),\n retentionDays: z.number().int().nonnegative().nullable(),\n region: z.string().trim().min(1).max(200).nullable().default(null),\n })\n .strict();\n\nexport const TrainingJobSubmissionSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobSubmission.v2\"),\n idempotencyKey: z.string().trim().min(1).max(500),\n name: z.string().trim().min(1).max(200),\n source: TrainingJobSourceSchema,\n job: TrainingJobRequestSchema,\n requestedCapabilities: z\n .array(TrainingCapabilityRequirementSchema)\n .max(1_000),\n placementObjective: z.enum([\"fast\", \"balanced\", \"economical\"]),\n budget: z\n .object({\n maximumSpendUsd: z.number().nonnegative(),\n maximumWallSeconds: z.number().int().positive(),\n })\n .strict(),\n approval: TrainingJobApprovalSchema,\n contentHash: HashSchema,\n })\n .strict()\n .superRefine((submission, context) => {\n if (submission.approval.maximumSpendUsd !== submission.budget.maximumSpendUsd) {\n context.addIssue({\n code: \"custom\",\n path: [\"approval\", \"maximumSpendUsd\"],\n message: \"Approved spend must equal the immutable Job budget.\",\n });\n }\n });\n\nexport async function trainingJobSubmissionHash(\n submission: Omit<TrainingJobSubmission, \"contentHash\"> | TrainingJobSubmission,\n): Promise<string> {\n const { contentHash: _contentHash, ...content } = submission as TrainingJobSubmission;\n return canonicalSha256(content);\n}\n\nexport async function parseAndVerifyTrainingJobSubmission(\n value: unknown,\n): Promise<TrainingJobSubmission> {\n assertCanonicalPayloadSize(\n value,\n TRAINING_JOB_SUBMISSION_MAX_BYTES,\n \"Training Job submission\",\n );\n const parsed = TrainingJobSubmissionSchema.parse(value);\n const expectedHash = await trainingJobSubmissionHash(parsed);\n if (parsed.contentHash !== expectedHash) {\n throw new OpenPondProtocolError(\n \"content_hash_mismatch\",\n `Training Job contentHash ${parsed.contentHash} does not match ${expectedHash}.`,\n );\n }\n return parsed;\n}\n\nexport const TrainingJobSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJob.v2\"),\n id: IdSchema,\n teamId: IdSchema,\n kind: TrainingJobKindSchema,\n modelProjectId: IdSchema,\n portableProjectId: IdSchema,\n sourceProjectRevision: z.number().int().positive(),\n submissionHash: HashSchema,\n state: TrainingJobStateSchema,\n phase: z.string().trim().min(1).max(200),\n version: z.number().int().nonnegative(),\n progress: z.number().min(0).max(1),\n rolloutProgress: z\n .object({\n groupsCompleted: z.number().int().nonnegative(),\n groupsTarget: z.number().int().nonnegative(),\n optimizerUpdatesApplied: z.number().int().nonnegative(),\n optimizerUpdatesSkipped: z.number().int().nonnegative(),\n })\n .strict(),\n accruedSpendUsd: z.number().nonnegative(),\n terminalReason: z.string().trim().min(1).max(5_000).nullable(),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n completedAt: TimestampSchema.nullable(),\n })\n .strict();\n\nexport const TrainingJobPageSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobPage.v2\"),\n jobs: z.array(TrainingJobSchema).max(1_000),\n nextCursor: z.string().trim().min(1).max(2_000).nullable(),\n })\n .strict();\n\nexport const TrainingJobEventSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobEvent.v2\"),\n id: IdSchema,\n jobId: IdSchema,\n sequence: z.number().int().nonnegative(),\n type: IdSchema,\n phase: z.string().trim().min(1).max(200),\n message: z.string().trim().min(1).max(5_000).nullable(),\n data: z.record(z.string(), z.unknown()).default({}),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport const TrainingJobLogSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobLog.v2\"),\n jobId: IdSchema,\n sequence: z.number().int().nonnegative(),\n level: z.enum([\"debug\", \"info\", \"warning\", \"error\"]),\n message: z.string().max(20_000),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport const TrainingJobControlRequestSchema = z\n .object({ expectedVersion: z.number().int().nonnegative() })\n .strict();\n\nexport const TrainingJobOutputSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobOutput.v2\"),\n id: IdSchema,\n jobId: IdSchema,\n kind: z.enum([\n \"checkpoint\",\n \"adapter\",\n \"scorer\",\n \"metrics\",\n \"evaluation\",\n \"trace\",\n \"receipt\",\n ]),\n artifactRef: z.string().trim().min(1).max(2_000),\n contentHash: HashSchema,\n sizeBytes: z.number().int().nonnegative(),\n metadata: z.record(z.string(), z.unknown()).default({}),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport const TrainingExecutionReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingExecutionReceipt.v2\"),\n id: IdSchema,\n teamId: IdSchema,\n jobId: IdSchema,\n submissionHash: HashSchema,\n manifestHash: HashSchema,\n recipeHash: HashSchema,\n capabilityHash: HashSchema,\n runtimeRelease: ModelProjectImmutableRefSchema,\n inputs: z.array(ModelProjectImmutableRefSchema).max(10_000),\n outputs: z.array(ModelProjectImmutableRefSchema).max(10_000),\n spendUsd: z.number().nonnegative(),\n durationSeconds: z.number().nonnegative(),\n cleanupComplete: z.boolean(),\n issuer: IdSchema,\n issuedAt: TimestampSchema,\n signature: z.string().trim().min(1).max(10_000).nullable(),\n })\n .strict();\n\nexport async function trainingExecutionReceiptHash(\n receipt: TrainingExecutionReceipt,\n): Promise<string> {\n return canonicalSha256(TrainingExecutionReceiptSchema.parse(receipt));\n}\n\nexport async function parseAndVerifyTrainingExecutionReceipt(\n value: unknown,\n expected: {\n id: string;\n contentHash: string;\n teamId?: string;\n jobId?: string;\n requireCleanup?: boolean;\n },\n): Promise<TrainingExecutionReceipt> {\n const receipt = TrainingExecutionReceiptSchema.parse(value);\n const expectedId = IdSchema.parse(expected.id);\n const expectedHash = HashSchema.parse(expected.contentHash);\n const actualHash = await trainingExecutionReceiptHash(receipt);\n if (receipt.id !== expectedId || actualHash !== expectedHash) {\n throw new OpenPondProtocolError(\n \"execution_receipt_mismatch\",\n \"The execution receipt identity or canonical content hash did not match.\",\n );\n }\n if (expected.teamId !== undefined && receipt.teamId !== IdSchema.parse(expected.teamId)) {\n throw new OpenPondProtocolError(\n \"execution_receipt_team_mismatch\",\n \"The execution receipt belongs to a different team.\",\n );\n }\n if (expected.jobId !== undefined && receipt.jobId !== IdSchema.parse(expected.jobId)) {\n throw new OpenPondProtocolError(\n \"execution_receipt_job_mismatch\",\n \"The execution receipt belongs to a different Training Job.\",\n );\n }\n if ((expected.requireCleanup ?? true) && !receipt.cleanupComplete) {\n throw new OpenPondProtocolError(\n \"execution_cleanup_incomplete\",\n \"The execution receipt does not attest complete terminal cleanup.\",\n );\n }\n return receipt;\n}\n\nexport const TrainingJobOutputsSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobOutputs.v2\"),\n outputs: z.array(TrainingJobOutputSchema).max(10_000),\n receipt: TrainingExecutionReceiptSchema.nullable(),\n })\n .strict();\n\nexport const TrainingApiErrorSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingApiError.v2\"),\n code: z.string().trim().min(1).max(200),\n message: z.string().trim().min(1).max(5_000),\n retryable: z.boolean().default(false),\n requestId: z.string().trim().min(1).max(500).nullable().default(null),\n details: z.record(z.string(), z.unknown()).default({}),\n })\n .strict();\n\nexport class OpenPondTrainingApiError extends Error {\n readonly status: number;\n readonly code: string;\n readonly retryable: boolean;\n readonly requestId: string | null;\n readonly details: Record<string, unknown>;\n\n constructor(status: number, error: z.infer<typeof TrainingApiErrorSchema>) {\n super(error.message);\n this.name = \"OpenPondTrainingApiError\";\n this.status = status;\n this.code = error.code;\n this.retryable = error.retryable;\n this.requestId = error.requestId;\n this.details = error.details;\n }\n}\n\nexport const TrainingCapabilitiesSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingCapabilities.v2\"),\n capabilityHash: HashSchema,\n jobKinds: z.array(TrainingJobKindSchema),\n methods: z.array(z.string().trim().min(1).max(200)),\n placements: z.array(\n z.enum([\"local\", \"remote\", \"colocated\", \"provider_native\"]),\n ),\n controls: z\n .object({\n cancel: z.boolean(),\n stopAfterGroup: z.boolean(),\n resumeFromCheckpoint: z.boolean(),\n })\n .strict(),\n limits: z\n .object({\n maximumSpendUsd: z.number().nonnegative(),\n maximumWallSeconds: z.number().int().positive(),\n maximumArtifactBytes: z.number().int().positive(),\n })\n .strict(),\n checkedAt: TimestampSchema,\n expiresAt: TimestampSchema,\n })\n .strict();\n\nexport type TrainingJobSubmission = z.infer<\n typeof TrainingJobSubmissionSchema\n>;\nexport type TrainingInputArtifactUpload = z.infer<\n typeof TrainingInputArtifactUploadSchema\n>;\nexport type TrainingInputArtifact = z.infer<typeof TrainingInputArtifactSchema>;\nexport type TrainingJob = z.infer<typeof TrainingJobSchema>;\nexport type TrainingJobPage = z.infer<typeof TrainingJobPageSchema>;\nexport type TrainingJobEvent = z.infer<typeof TrainingJobEventSchema>;\nexport type TrainingJobLog = z.infer<typeof TrainingJobLogSchema>;\nexport type TrainingJobOutput = z.infer<typeof TrainingJobOutputSchema>;\nexport type TrainingJobOutputs = z.infer<typeof TrainingJobOutputsSchema>;\nexport type TrainingExecutionReceipt = z.infer<\n typeof TrainingExecutionReceiptSchema\n>;\nexport type TrainingCapabilities = z.infer<typeof TrainingCapabilitiesSchema>;\n\nfunction headersRecord(headers: HeadersInit | undefined): Record<string, string> {\n const result: Record<string, string> = {};\n new Headers(headers).forEach((value, key) => {\n result[key] = value;\n });\n return result;\n}\n\nexport function createTrainingClient(input: {\n baseUrl: string;\n fetch?: typeof fetch;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n}) {\n const fetchImpl = input.fetch ?? fetch;\n const baseUrl = input.baseUrl.replace(/\\/$/, \"\");\n\n async function request(pathname: string, init?: RequestInit, responseLimit = TRAINING_API_RESPONSE_MAX_BYTES): Promise<unknown> {\n const readOnly = init?.method === undefined || init.method.toUpperCase() === \"GET\";\n const maximumAttempts = readOnly ? 3 : 1;\n for (let attempt = 1; attempt <= maximumAttempts; attempt += 1) {\n let response: Response;\n try {\n const configuredHeaders =\n typeof input.headers === \"function\"\n ? await input.headers()\n : (input.headers ?? {});\n response = await fetchImpl(`${baseUrl}${pathname}`, {\n ...init,\n headers: {\n accept: OPENPOND_TRAINING_MEDIA_TYPE,\n ...(init?.body ? { \"content-type\": OPENPOND_TRAINING_MEDIA_TYPE } : {}),\n ...headersRecord(configuredHeaders),\n ...headersRecord(init?.headers),\n },\n });\n } catch (error) {\n if (\n attempt === maximumAttempts ||\n init?.signal?.aborted ||\n !trainingReadFailureIsRetryable(null, error)\n ) {\n throw error;\n }\n await new Promise((resolve) => setTimeout(resolve, 250 * 2 ** (attempt - 1)));\n continue;\n }\n const body = parseBoundedJson(\n await response.text(),\n responseLimit,\n \"Training API response\",\n );\n if (response.ok) return body;\n const error = trainingApiError(body, response.status);\n if (\n attempt === maximumAttempts ||\n !trainingReadFailureIsRetryable(response.status, error)\n ) {\n throw error;\n }\n await new Promise((resolve) => setTimeout(resolve, 250 * 2 ** (attempt - 1)));\n }\n throw new OpenPondProtocolError(\n \"training_read_retry_exhausted\",\n \"Training read retry loop exhausted without a response.\",\n );\n }\n\n return {\n ...createTrainingPreparationClient(request),\n ...createTrainingAcceptanceClient(request),\n ...createTrainingHarnessSourceClient(request),\n ...createTrainingCandidateDecisionClient(request),\n async capabilities() {\n return TrainingCapabilitiesSchema.parse(\n unwrapObject(await request(\"/v1/training/capabilities\"), \"capabilities\"),\n );\n },\n async stageArtifact(upload: TrainingInputArtifactUpload) {\n const parsed = await parseAndVerifyTrainingInputArtifactUpload(upload);\n return TrainingInputArtifactSchema.parse(\n unwrapObject(\n await request(\"/v1/training/artifacts\", {\n method: \"POST\",\n body: JSON.stringify(parsed),\n }),\n \"artifact\",\n ),\n );\n },\n async createJob(submission: TrainingJobSubmission) {\n const parsed = await parseAndVerifyTrainingJobSubmission(submission);\n return TrainingJobSchema.parse(\n unwrapObject(\n await request(\"/v1/training/jobs\", {\n method: \"POST\",\n body: JSON.stringify(parsed),\n }),\n \"job\",\n ),\n );\n },\n async listJobs(options: {\n modelProjectId?: string;\n cursor?: string;\n limit?: number;\n } = {}) {\n const parameters = new URLSearchParams();\n if (options.modelProjectId) {\n parameters.set(\"modelProjectId\", IdSchema.parse(options.modelProjectId));\n }\n if (options.cursor) {\n parameters.set(\"cursor\", z.string().trim().min(1).max(2_000).parse(options.cursor));\n }\n if (options.limit !== undefined) {\n parameters.set(\n \"limit\",\n String(z.number().int().min(1).max(1_000).parse(options.limit)),\n );\n }\n const query = parameters.size > 0 ? `?${parameters.toString()}` : \"\";\n return TrainingJobPageSchema.parse(\n await request(`/v1/training/jobs${query}`),\n );\n },\n async getJob(jobId: string) {\n return TrainingJobSchema.parse(\n unwrapObject(\n await request(`/v1/training/jobs/${encodeURIComponent(IdSchema.parse(jobId))}`),\n \"job\",\n ),\n );\n },\n async cancelJob(jobId: string, expectedVersion: number) {\n const control = TrainingJobControlRequestSchema.parse({ expectedVersion });\n return TrainingJobSchema.parse(\n unwrapObject(\n await request(\n `/v1/training/jobs/${encodeURIComponent(IdSchema.parse(jobId))}/cancel`,\n { method: \"POST\", body: JSON.stringify(control) },\n ),\n \"job\",\n ),\n );\n },\n async stopAfterGroup(jobId: string, expectedVersion: number) {\n const control = TrainingJobControlRequestSchema.parse({ expectedVersion });\n return TrainingJobSchema.parse(\n unwrapObject(\n await request(\n `/v1/training/jobs/${encodeURIComponent(IdSchema.parse(jobId))}/stop-after-group`,\n { method: \"POST\", body: JSON.stringify(control) },\n ),\n \"job\",\n ),\n );\n },\n async events(jobId: string) {\n return z\n .array(TrainingJobEventSchema)\n .parse(\n unwrapObject(\n await request(\n `/v1/training/jobs/${encodeURIComponent(IdSchema.parse(jobId))}/events`,\n ),\n \"events\",\n ),\n );\n },\n async outputs(jobId: string) {\n return TrainingJobOutputsSchema.parse(\n await request(\n `/v1/training/jobs/${encodeURIComponent(IdSchema.parse(jobId))}/outputs`,\n ),\n );\n },\n async evaluationTasks(\n jobId: string,\n evaluation: { id: string; contentHash: string },\n options: { cursor?: string; limit?: number } = {},\n ) {\n const id = IdSchema.parse(jobId);\n const reference = ModelProjectImmutableRefSchema.parse(evaluation);\n const parameters = new URLSearchParams();\n const cursor = options.cursor === undefined ? undefined : z.string().regex(/^[1-9]\\d*$/).parse(options.cursor);\n const offset = cursor === undefined ? 0 : z.number().int().min(1).max(9_999).parse(Number(cursor));\n if (cursor !== undefined) parameters.set(\"cursor\", cursor);\n if (options.limit !== undefined) parameters.set(\"limit\", String(z.number().int().min(1).max(100).parse(options.limit)));\n const query = parameters.size ? `?${parameters.toString()}` : \"\";\n return parseAndVerifyTrainingEvaluationTaskPage(\n await request(`/v1/training/jobs/${encodeURIComponent(id)}/evaluations/${encodeURIComponent(reference.id)}/tasks${query}`),\n { jobId: id, evaluation: reference, offset },\n );\n },\n async logs(jobId: string) {\n return z.array(TrainingJobLogSchema).max(100_000).parse(\n unwrapObject(\n await request(\n `/v1/training/jobs/${encodeURIComponent(IdSchema.parse(jobId))}/logs`,\n ),\n \"logs\",\n ),\n );\n },\n };\n}\n\nfunction trainingReadFailureIsRetryable(status: number | null, error: unknown): boolean {\n if (status !== null) {\n return status === 408 || status === 429 || status >= 500;\n }\n if (error instanceof OpenPondTrainingApiError) return error.retryable;\n if (error instanceof OpenPondProtocolError) {\n return error.code === \"invalid_error_response\";\n }\n return error instanceof TypeError;\n}\n\nfunction unwrapObject(value: unknown, key: string): unknown {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return value;\n return key in value ? (value as Record<string, unknown>)[key] : value;\n}\n\nfunction trainingApiError(value: unknown, status: number): Error {\n const parsed = TrainingApiErrorSchema.safeParse(value);\n if (parsed.success) {\n return new OpenPondTrainingApiError(status, parsed.data);\n }\n return new OpenPondProtocolError(\n \"invalid_error_response\",\n `Training request failed with HTTP ${status} and an invalid error envelope.`,\n );\n}\n", "import { z } from \"zod\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { TrainingJobSourceSchema } from \"./training.js\";\nimport { canonicalSha256, OpenPondProtocolError } from \"./protocol.js\";\n\nconst Id = z.string().trim().min(1).max(191);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\n\n/** Manual training compiles an already reviewed batch. It creates no recurring policy. */\nexport const TrainingPreparationRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingPreparationRequest.v1\"),\n teamId: Id,\n operationId: Id,\n projectId: Id.nullable(),\n configuration: z.object({ id: Id, expectedRevision: z.number().int().positive(), expectedEtag: Hash }).strict(),\n batch: ModelProjectVersionedRefSchema,\n name: z.string().trim().min(1).max(191),\n maximumSpendUsd: z.number().finite().positive().max(1_000_000),\n}).strict();\nexport const TrainingPreparationPlanContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingPreparationPlan.v1\"),\n id: Id,\n creatorUserId: Id,\n request: TrainingPreparationRequestSchema,\n requestHash: Hash,\n source: z.lazy(() => TrainingJobSourceSchema),\n submissionHash: Hash,\n createdAt: z.string().datetime({ offset: true }),\n}).strict();\nexport const TrainingPreparationPlanSchema = TrainingPreparationPlanContentSchema.extend({ contentHash: Hash }).strict();\nexport const TrainingPreparationReceiptSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingPreparationReceipt.v1\"),\n plan: TrainingPreparationPlanSchema,\n revision: z.number().int().positive(),\n state: z.enum([\"prepared\", \"submitted\", \"cancelled\"]),\n jobId: Id.nullable(),\n}).strict().superRefine((value, context) => {\n if ((value.state === \"submitted\") !== Boolean(value.jobId)) context.addIssue({ code: \"custom\", path: [\"jobId\"], message: \"Only submitted preparations identify a job.\" });\n});\nexport const TrainingPreparationControlSchema = z.object({\n teamId: Id, planHash: Hash, expectedRevision: z.number().int().positive(),\n}).strict();\nexport const TrainingPreparationListQuerySchema = z.object({\n projectId: Id.optional(),\n state: z.enum([\"prepared\", \"submitted\", \"cancelled\"]).optional(),\n afterId: Id.optional(),\n limit: z.number().int().min(1).max(100).default(25),\n}).strict();\nexport const TrainingPreparationPageSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingPreparationPage.v1\"),\n teamId: Id,\n items: z.array(TrainingPreparationReceiptSchema).max(100),\n nextCursor: Id.nullable(),\n}).strict();\nexport type TrainingPreparationRequest = z.infer<typeof TrainingPreparationRequestSchema>;\nexport type TrainingPreparationPlan = z.infer<typeof TrainingPreparationPlanSchema>;\nexport type TrainingPreparationReceipt = z.infer<typeof TrainingPreparationReceiptSchema>;\nexport type TrainingPreparationControl = z.infer<typeof TrainingPreparationControlSchema>;\nexport type TrainingPreparationListQuery = z.input<typeof TrainingPreparationListQuerySchema>;\nexport type TrainingPreparationPage = z.infer<typeof TrainingPreparationPageSchema>;\n\nexport async function parseAndVerifyTrainingPreparationReceipt(value: unknown) {\n const receipt = TrainingPreparationReceiptSchema.parse(value);\n const { contentHash, ...plan } = receipt.plan;\n if (await canonicalSha256(plan) !== contentHash || await canonicalSha256(plan.request) !== plan.requestHash\n || plan.source.modelProject.id !== plan.request.configuration.id) {\n throw new OpenPondProtocolError(\"training_preparation_mismatch\", \"The prepared training inputs changed.\");\n }\n return receipt;\n}\n\nexport function createTrainingPreparationClient(request: (path: string, init?: RequestInit) => Promise<unknown>) {\n async function read(value: unknown, teamId: string, id?: string) {\n const receipt = await parseAndVerifyTrainingPreparationReceipt(value);\n if (receipt.plan.request.teamId !== teamId || (id && receipt.plan.id !== id))\n throw new OpenPondProtocolError(\"training_preparation_scope_mismatch\", \"The training preparation belongs to a different workspace or request.\");\n return receipt;\n }\n return {\n /** Discover the authenticated user's retained preparations without creating jobs. */\n async listPreparations(teamId: string, input: TrainingPreparationListQuery = {}) {\n const scope = Id.parse(teamId);\n const query = TrainingPreparationListQuerySchema.parse(input);\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(query)) params.set(key, String(value));\n const page = TrainingPreparationPageSchema.parse(await request(`/v1/training/preparations?${params}`));\n if (page.teamId !== scope || page.items.length > query.limit\n || new Set(page.items.map(item => item.plan.id)).size !== page.items.length\n || (page.nextCursor !== null && (page.nextCursor !== page.items.at(-1)?.plan.id || page.nextCursor === query.afterId))) {\n throw new OpenPondProtocolError(\"training_preparation_page_mismatch\", \"The preparation page does not match its workspace or cursor.\");\n }\n const items = await Promise.all(page.items.map(async item => {\n const receipt = await read(item, scope);\n if ((query.projectId && receipt.plan.request.projectId !== query.projectId)\n || (query.state && receipt.state !== query.state)) {\n throw new OpenPondProtocolError(\"training_preparation_page_mismatch\", \"A preparation does not match the requested Project or state.\");\n }\n return receipt;\n }));\n return { ...page, items };\n },\n async prepareRun(input: TrainingPreparationRequest) {\n const parsed = TrainingPreparationRequestSchema.parse(input);\n const receipt = await read(await request(\"/v1/training/preparations\", { method: \"POST\", body: JSON.stringify(parsed) }), parsed.teamId);\n if (receipt.plan.requestHash !== await canonicalSha256(parsed))\n throw new OpenPondProtocolError(\"training_preparation_request_mismatch\", \"The preparation does not match the requested run.\");\n return receipt;\n },\n async getPreparation(teamId: string, id: string) {\n return read(await request(`/v1/training/preparations/${encodeURIComponent(Id.parse(id))}`), Id.parse(teamId), id);\n },\n async startPreparation(id: string, input: TrainingPreparationControl) {\n const parsed = TrainingPreparationControlSchema.parse(input);\n const receipt = await read(await request(`/v1/training/preparations/${encodeURIComponent(Id.parse(id))}/start`, { method: \"POST\", body: JSON.stringify(parsed) }), parsed.teamId, id);\n if (receipt.plan.contentHash !== parsed.planHash || receipt.state !== \"submitted\")\n throw new OpenPondProtocolError(\"training_preparation_start_mismatch\", \"The submitted run does not match the approved preparation.\");\n return receipt;\n },\n async cancelPreparation(id: string, input: TrainingPreparationControl) {\n const parsed = TrainingPreparationControlSchema.parse(input);\n const receipt = await read(await request(`/v1/training/preparations/${encodeURIComponent(Id.parse(id))}/cancel`, { method: \"POST\", body: JSON.stringify(parsed) }), parsed.teamId, id);\n if (receipt.plan.contentHash !== parsed.planHash || receipt.state !== \"cancelled\")\n throw new OpenPondProtocolError(\"training_preparation_cancel_mismatch\", \"The preparation cancellation could not be verified.\");\n return receipt;\n },\n };\n}\n", "import { z } from \"zod\";\nimport { ImmutableReleaseRefSchema, validateHarnessSourcePackage, type HarnessSourcePackage, type ImmutableReleaseRef } from \"@openpond/harness\";\nimport { assertCanonicalPayloadSize, TRAINING_INPUT_ARTIFACT_MAX_BYTES } from \"./protocol.js\";\n\nexport const TrainingHarnessSourcePublicationSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingHarnessSourcePublication.v1\"),\n harnessRelease: ImmutableReleaseRefSchema,\n sourcePackageHash: z.string().regex(/^[a-f0-9]{64}$/),\n sizeBytes: z.number().int().positive().max(TRAINING_INPUT_ARTIFACT_MAX_BYTES),\n}).strict();\n\n/** Publication stores immutable source only; it never starts training. */\nexport function createTrainingHarnessSourceClient(request: (path: string, init?: RequestInit, responseLimit?: number) => Promise<unknown>) {\n const route = (reference: ImmutableReleaseRef) => {\n const ref = ImmutableReleaseRefSchema.parse(reference);\n return `/v1/training/harness-sources/${encodeURIComponent(ref.id)}/${ref.contentHash}`;\n };\n return {\n async publishHarnessSource(value: HarnessSourcePackage) {\n assertCanonicalPayloadSize(value, TRAINING_INPUT_ARTIFACT_MAX_BYTES, \"Training Harness source\");\n const source = validateHarnessSourcePackage(value);\n const portability = source.agentSnapshot.portability;\n if (!portability.portable || portability.blockers.length || portability.localOnlyAssetRefs.length || portability.hostPrivateAssetRefs.length || source.harnessRelease.files.some(file => file.visibility !== \"policy\")) {\n throw new Error(\"Hosted training Harness publication requires portable, policy-visible source.\");\n }\n const result = TrainingHarnessSourcePublicationSchema.parse(await request(route({ id: source.harnessRelease.id, contentHash: source.harnessRelease.contentHash }), { method: \"PUT\", body: JSON.stringify(source) }));\n if (result.harnessRelease.id !== source.harnessRelease.id || result.harnessRelease.contentHash !== source.harnessRelease.contentHash || result.sourcePackageHash !== source.contentHash) {\n throw new Error(\"Published Harness source differs from the selected immutable package.\");\n }\n return result;\n },\n async getHarnessSource(reference: ImmutableReleaseRef) {\n const value = await request(route(reference), undefined, TRAINING_INPUT_ARTIFACT_MAX_BYTES);\n assertCanonicalPayloadSize(value, TRAINING_INPUT_ARTIFACT_MAX_BYTES, \"Training Harness source\");\n return validateHarnessSourcePackage(value, reference);\n },\n };\n}\n", "import { z } from \"zod\";\nimport { ModelProjectImmutableRefSchema } from \"./model-projects.js\";\nimport {\n OpenPondProtocolError,\n assertCanonicalPayloadSize,\n canonicalSha256,\n} from \"./protocol.js\";\n\nconst IdSchema = /* @__PURE__ */ (() => z.string().trim().min(1).max(500))();\nconst HashSchema = /* @__PURE__ */ (() => z.string().regex(/^[a-f0-9]{64}$/))();\n\n/** A reviewed candidate decision never activates serving or alters training evidence. */\nexport const TrainingCandidateDecisionRequestSchema = /* @__PURE__ */ (() => z.object({\n schemaVersion: z.literal(\"openpond.trainingCandidateDecisionRequest.v1\"),\n teamId: IdSchema,\n jobId: IdSchema,\n artifact: ModelProjectImmutableRefSchema,\n evaluation: ModelProjectImmutableRefSchema,\n executionReceipt: ModelProjectImmutableRefSchema,\n decision: z.enum([\"accepted\", \"rejected\"]),\n reason: z.string().trim().min(1).max(5_000),\n idempotencyKey: IdSchema,\n expectedDecision: ModelProjectImmutableRefSchema.nullable(),\n}).strict())();\n\n/** Append-only, authenticated hosted record. Hash verification is not a signature. */\nexport const TrainingCandidateDecisionSchema = /* @__PURE__ */ (() => z.object({\n schemaVersion: z.literal(\"openpond.trainingCandidateDecision.v1\"),\n id: IdSchema,\n request: TrainingCandidateDecisionRequestSchema,\n revision: z.number().int().positive(),\n actor: z.object({ userId: IdSchema, kind: z.enum([\"user\", \"api_key\", \"agent_delegate\"]), id: IdSchema }).strict(),\n decidedAt: z.string().datetime({ offset: true }),\n contentHash: HashSchema,\n}).strict().superRefine((value, context) => {\n if ((value.revision === 1) !== (value.request.expectedDecision === null)) {\n context.addIssue({ code: \"custom\", path: [\"revision\"], message: \"A first decision has no predecessor; later decisions must reference the prior decision.\" });\n }\n if (value.request.expectedDecision?.id === value.id) {\n context.addIssue({ code: \"custom\", path: [\"request\", \"expectedDecision\"], message: \"A decision cannot supersede itself.\" });\n }\n}))();\n\nexport type TrainingCandidateDecisionRequest = z.infer<typeof TrainingCandidateDecisionRequestSchema>;\nexport type TrainingCandidateDecision = z.infer<typeof TrainingCandidateDecisionSchema>;\nexport type TrainingCandidateDecisionTarget = Pick<TrainingCandidateDecisionRequest, \"teamId\" | \"jobId\" | \"artifact\">;\n\nexport async function trainingCandidateDecisionHash(\n value: Omit<TrainingCandidateDecision, \"contentHash\"> | TrainingCandidateDecision,\n): Promise<string> {\n const { contentHash: _contentHash, ...content } = value as TrainingCandidateDecision;\n return canonicalSha256(content);\n}\n\nexport async function parseAndVerifyTrainingCandidateDecision(\n value: unknown,\n expected: TrainingCandidateDecisionTarget & { request?: TrainingCandidateDecisionRequest },\n): Promise<TrainingCandidateDecision> {\n assertCanonicalPayloadSize(value, 32_768, \"Training candidate decision\");\n const parsed = TrainingCandidateDecisionSchema.parse(value);\n if (parsed.contentHash !== await trainingCandidateDecisionHash(parsed)) {\n throw new OpenPondProtocolError(\"content_hash_mismatch\", \"Training candidate decision content hash does not match.\");\n }\n if (parsed.request.teamId !== expected.teamId || parsed.request.jobId !== expected.jobId\n || parsed.request.artifact.id !== expected.artifact.id\n || parsed.request.artifact.contentHash !== expected.artifact.contentHash) {\n throw new OpenPondProtocolError(\"candidate_decision_identity_mismatch\", \"Training candidate decision belongs to a different team, Job or artifact.\");\n }\n if (expected.request && await canonicalSha256(parsed.request) !== await canonicalSha256(TrainingCandidateDecisionRequestSchema.parse(expected.request))) {\n throw new OpenPondProtocolError(\"candidate_decision_request_mismatch\", \"Training candidate decision does not match the submitted review.\");\n }\n return parsed;\n}\n\nexport function createTrainingCandidateDecisionClient(\n request: (path: string, init?: RequestInit) => Promise<unknown>,\n) {\n function route(target: TrainingCandidateDecisionTarget) {\n return `/v1/training/jobs/${encodeURIComponent(IdSchema.parse(target.jobId))}/candidates/${encodeURIComponent(ModelProjectImmutableRefSchema.parse(target.artifact).id)}/decision`;\n }\n return {\n async candidateDecision(\n target: TrainingCandidateDecisionTarget,\n options: { decision?: { id: string; contentHash: string } } = {},\n ): Promise<TrainingCandidateDecision | null> {\n IdSchema.parse(target.teamId);\n const reference = options.decision ? ModelProjectImmutableRefSchema.parse(options.decision) : undefined;\n const query = reference ? `?decisionId=${encodeURIComponent(reference.id)}` : \"\";\n const response = z.object({ decision: z.unknown().nullable() }).strict().parse(await request(`${route(target)}${query}`));\n if (response.decision === null && !reference) return null;\n const decision = await parseAndVerifyTrainingCandidateDecision(response.decision, target);\n if (reference && (decision.id !== reference.id || decision.contentHash !== reference.contentHash)) {\n throw new OpenPondProtocolError(\"candidate_decision_identity_mismatch\", \"Training candidate decision does not match the requested history entry.\");\n }\n return decision;\n },\n async recordCandidateDecision(input: TrainingCandidateDecisionRequest): Promise<TrainingCandidateDecision> {\n const parsed = TrainingCandidateDecisionRequestSchema.parse(input);\n const response = await request(route(parsed), { method: \"POST\", body: JSON.stringify(parsed) });\n return parseAndVerifyTrainingCandidateDecision(response, { ...parsed, request: parsed });\n },\n };\n}\n", "import { z } from \"zod\";\nimport { ModelProjectImmutableRefSchema, ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport {\n OpenPondProtocolError,\n TRAINING_API_RESPONSE_MAX_BYTES,\n assertCanonicalPayloadSize,\n canonicalSha256,\n} from \"./protocol.js\";\n\nconst IdSchema = /* @__PURE__ */ (() => z.string().trim().min(1).max(500))();\nconst HashSchema = /* @__PURE__ */ (() => z.string().regex(/^[a-f0-9]{64}$/))();\n\n/** Reviewer-facing evidence only: never a worker response or training sample. */\nexport const TrainingEvaluationTaskResultSchema = /* @__PURE__ */ (() => z.object({\n taskId: IdSchema,\n taskSha256: HashSchema,\n resultSha256: HashSchema,\n input: z.object({\n instruction: z.string().max(1_000_000),\n context: z.record(z.string(), z.unknown()),\n }).strict(),\n output: z.string().max(1_000_000),\n outputSha256: HashSchema,\n score: z.number().finite().min(0).max(1),\n evidence: z.object({\n kind: z.enum([\"worker_command\", \"hosted_trace\", \"local_trace\"]),\n id: IdSchema,\n }).strict(),\n}).strict())();\n\n/** Supplements an existing evaluation; does not replace its terminal receipt. */\nexport const TrainingEvaluationTaskPageSchema = /* @__PURE__ */ (() => z.object({\n schemaVersion: z.literal(\"openpond.trainingEvaluationTaskPage.v1\"),\n jobId: IdSchema,\n teamId: IdSchema,\n evaluation: ModelProjectImmutableRefSchema,\n kind: z.enum([\"baseline\", \"candidate\"]),\n policyVersion: z.number().int().nonnegative(),\n taskset: ModelProjectVersionedRefSchema,\n panelSha256: HashSchema,\n offset: z.number().int().nonnegative(),\n total: z.number().int().min(1).max(10_000),\n tasks: z.array(TrainingEvaluationTaskResultSchema).min(1).max(100),\n nextCursor: z.string().regex(/^[1-9]\\d*$/).nullable(),\n contentHash: HashSchema,\n}).strict().superRefine((page, context) => {\n const end = page.offset + page.tasks.length;\n const expectedCursor = end < page.total ? String(end) : null;\n if (end > page.total || page.nextCursor !== expectedCursor) {\n context.addIssue({ code: \"custom\", path: [\"nextCursor\"], message: \"Evaluation pagination must cover consecutive task positions.\" });\n }\n if (new Set(page.tasks.map((task) => task.taskId)).size !== page.tasks.length) {\n context.addIssue({ code: \"custom\", path: [\"tasks\"], message: \"Evaluation task identities must be unique.\" });\n }\n}))();\n\nexport type TrainingEvaluationTaskResult = z.infer<typeof TrainingEvaluationTaskResultSchema>;\nexport type TrainingEvaluationTaskPage = z.infer<typeof TrainingEvaluationTaskPageSchema>;\n\nexport async function trainingEvaluationTaskPageHash(\n value: Omit<TrainingEvaluationTaskPage, \"contentHash\"> | TrainingEvaluationTaskPage,\n): Promise<string> {\n const { contentHash: _contentHash, ...content } = value as TrainingEvaluationTaskPage;\n return canonicalSha256(content);\n}\n\nexport async function parseAndVerifyTrainingEvaluationTaskPage(\n value: unknown,\n expected: {\n jobId: string;\n evaluation: { id: string; contentHash: string };\n offset?: number;\n teamId?: string;\n },\n): Promise<TrainingEvaluationTaskPage> {\n assertCanonicalPayloadSize(value, TRAINING_API_RESPONSE_MAX_BYTES, \"Training evaluation task page\");\n const page = TrainingEvaluationTaskPageSchema.parse(value);\n const reference = ModelProjectImmutableRefSchema.parse(expected.evaluation);\n if (page.jobId !== IdSchema.parse(expected.jobId)\n || page.evaluation.id !== reference.id\n || page.evaluation.contentHash !== reference.contentHash\n || page.offset !== (expected.offset ?? 0)\n || (expected.teamId !== undefined && page.teamId !== IdSchema.parse(expected.teamId))) {\n throw new OpenPondProtocolError(\"evaluation_page_identity_mismatch\", \"Evaluation results differ from the requested Job, evaluation, or page.\");\n }\n if (await trainingEvaluationTaskPageHash(page) !== page.contentHash) {\n throw new OpenPondProtocolError(\"evaluation_page_hash_mismatch\", \"Evaluation task page content hash did not match.\");\n }\n for (const task of page.tasks) {\n if (await canonicalSha256(task.output) !== task.outputSha256) {\n throw new OpenPondProtocolError(\"evaluation_output_hash_mismatch\", \"A retained evaluation output hash did not match.\");\n }\n }\n return page;\n}\n", "import { z } from \"zod\";\nimport { compileBoundGraders, RewardBindingSchema, RewardReleaseSchema } from \"@openpond/evals/rewards\";\nimport { canonicalSha256 } from \"./protocol.js\";\n\nconst GradersSchema = z.array(z.object({ id: z.string().trim().min(1) }).catchall(z.unknown())).min(1).max(1_000);\nconst RewardExecutionSchema = z.object({\n binding: RewardBindingSchema,\n rewards: z.array(RewardReleaseSchema).min(1).max(100),\n}).strict();\n\n/**\n * The grader reference identifies the entire executed set, including order and\n * configuration. A bound plan additionally identifies its immutable composer,\n * whose sources pin roles, normalization, gates and required-score semantics.\n * Callers must obtain these inputs from their verified immutable bundle.\n */\nexport async function deterministicTrainingRewardSource(input: {\n graders: unknown;\n rewardExecution?: unknown;\n}) {\n const execution = input.rewardExecution ? RewardExecutionSchema.parse(input.rewardExecution) : null;\n const graders = GradersSchema.parse(execution\n ? compileBoundGraders(execution.binding, execution.rewards)\n : input.graders);\n if (new Set(graders.map(grader => grader.id)).size !== graders.length) {\n throw new Error(\"Training grader identities must be unique.\");\n }\n const hash = await canonicalSha256({ schemaVersion: \"openpond.trainingGraderSet.v1\", graders });\n return {\n kind: \"deterministic\" as const,\n grader: { id: `training-graders-${hash.slice(0, 32)}`, contentHash: hash },\n composer: execution ? { id: execution.binding.id, contentHash: execution.binding.contentHash } : null,\n };\n}\n", "import { z } from \"zod\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { canonicalSha256 } from \"./protocol.js\";\n\nexport const TRAINING_EVALUATION_SOURCE_PATH = \"evaluation-source.json\";\n\nconst TaskIdentitySchema = z.object({\n id: z.string().trim().min(1),\n clusterKey: z.string().trim().min(1),\n split: z.enum([\"train\", \"validation\", \"frozen_eval\"]),\n}).passthrough();\n\n/** Evaluator-only payload. The enclosing resolved bundle pins every byte. */\nexport const TrainingEvaluationSourceSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingEvaluationSource.v1\"),\n taskset: ModelProjectVersionedRefSchema,\n tasks: z.array(TaskIdentitySchema).min(1).max(10_000),\n assets: z.array(z.object({\n path: z.string().trim().min(1).max(2_000),\n sha256: z.string().regex(/^[a-f0-9]{64}$/),\n sizeBytes: z.number().int().nonnegative(),\n encoding: z.literal(\"base64\"),\n content: z.string().max(32 * 1024 * 1024),\n }).strict()).max(10_000),\n}).strict().superRefine((source, context) => {\n const ids = new Set<string>();\n source.tasks.forEach((task, index) => {\n if (task.split === \"train\") context.addIssue({ code: \"custom\", path: [\"tasks\", index, \"split\"], message: \"Evaluation sources require held-out tasks.\" });\n if (ids.has(task.id)) context.addIssue({ code: \"custom\", path: [\"tasks\", index, \"id\"], message: \"Evaluation task identities must be unique.\" });\n ids.add(task.id);\n });\n});\n\nexport type TrainingEvaluationSource = z.infer<typeof TrainingEvaluationSourceSchema>;\n\nexport function assertTrainingEvaluationIsolation(trainingTasks: unknown, evaluationTasks: unknown): void {\n const training = z.array(TaskIdentitySchema).min(1).max(10_000).parse(trainingTasks);\n const evaluation = z.array(TaskIdentitySchema).min(1).max(10_000).parse(evaluationTasks);\n const trainIds = new Set<string>();\n const trainFamilies = new Set<string>();\n for (const task of training) {\n if (task.split !== \"train\") throw new Error(\"The training population contains a held-out task.\");\n if (trainIds.has(task.id)) throw new Error(\"Training task identities must be unique.\");\n trainIds.add(task.id);\n trainFamilies.add(task.clusterKey);\n }\n const evaluationIds = new Set<string>();\n for (const task of evaluation) {\n if (task.split === \"train\") throw new Error(\"The evaluation population contains a training task.\");\n if (evaluationIds.has(task.id)) throw new Error(\"Evaluation task identities must be unique.\");\n if (trainIds.has(task.id) || trainFamilies.has(task.clusterKey)) {\n throw new Error(\"Training and evaluation tasks or families overlap.\");\n }\n evaluationIds.add(task.id);\n }\n}\n\nexport async function trainingEvaluationSourceRef(input: unknown) {\n const source = TrainingEvaluationSourceSchema.parse(input);\n const hash = await canonicalSha256(source);\n return { taskset: source.taskset, dataset: { id: `training-evaluation-${hash.slice(0, 32)}`, contentHash: hash } };\n}\n"],
5
- "mappings": "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",
6
- "names": ["z", "z", "Id", "z", "z", "z", "z", "z", "z", "IdSchema", "z", "HashSchema", "z", "z", "z", "z", "IdSchema", "z", "HashSchema", "error"]
7
- }