openpond-sdk 0.12.3 → 0.12.4

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 (383) hide show
  1. package/dist/actions-local.js +2 -1
  2. package/dist/actions-local.js.map +1 -7
  3. package/dist/actions.js +2 -1
  4. package/dist/actions.js.map +1 -7
  5. package/dist/advanced-refiner-evaluations.js +13 -12
  6. package/dist/advanced-refiner-evaluations.js.map +1 -7
  7. package/dist/candidate-evaluations.js +9 -8
  8. package/dist/candidate-evaluations.js.map +1 -7
  9. package/dist/{chunk-VY5AFE7A.js → chunk-24N6A6SF.js} +4 -4
  10. package/dist/chunk-24N6A6SF.js.map +1 -0
  11. package/dist/{chunk-YCQVVFE5.js → chunk-3B5KSH3V.js} +2 -2
  12. package/dist/chunk-3B5KSH3V.js.map +1 -0
  13. package/dist/{chunk-2DMYAJLS.js → chunk-3DWPLYFJ.js} +2 -2
  14. package/dist/chunk-3DWPLYFJ.js.map +1 -0
  15. package/dist/{chunk-CTVKI3BV.js → chunk-53LLNDXF.js} +3 -3
  16. package/dist/chunk-53LLNDXF.js.map +1 -0
  17. package/dist/{chunk-36WJTS5V.js → chunk-B5XTGEBE.js} +25 -13
  18. package/dist/chunk-B5XTGEBE.js.map +1 -0
  19. package/dist/{chunk-HKWX624G.js → chunk-BVMR5OFW.js} +5 -5
  20. package/dist/chunk-BVMR5OFW.js.map +1 -0
  21. package/dist/{chunk-3KXDH6OB.js → chunk-CL3IOOVL.js} +1 -1
  22. package/dist/chunk-CL3IOOVL.js.map +1 -0
  23. package/dist/{chunk-FY7NHCEH.js → chunk-CMWZZZGW.js} +5 -5
  24. package/dist/chunk-CMWZZZGW.js.map +1 -0
  25. package/dist/{chunk-UPS52OPZ.js → chunk-DF2QXVZ3.js} +8 -8
  26. package/dist/chunk-DF2QXVZ3.js.map +1 -0
  27. package/dist/{chunk-AG5DDL7T.js → chunk-DH6O4JFB.js} +2 -2
  28. package/dist/chunk-DH6O4JFB.js.map +1 -0
  29. package/dist/{chunk-QEIT5VXJ.js → chunk-EFUT3XKW.js} +4 -4
  30. package/dist/chunk-EFUT3XKW.js.map +1 -0
  31. package/dist/{chunk-BSK3VLM3.js → chunk-ETX25FTB.js} +3 -3
  32. package/dist/chunk-ETX25FTB.js.map +1 -0
  33. package/dist/{chunk-MEKWESBF.js → chunk-FBZTDDRC.js} +2 -2
  34. package/dist/chunk-FBZTDDRC.js.map +1 -0
  35. package/dist/{chunk-CWXM57QR.js → chunk-GAIDBPFY.js} +5 -5
  36. package/dist/chunk-GAIDBPFY.js.map +1 -0
  37. package/dist/{chunk-YVUIHH6Z.js → chunk-GPQLBVQC.js} +1 -1
  38. package/dist/chunk-GPQLBVQC.js.map +1 -0
  39. package/dist/{chunk-KAE7AMYE.js → chunk-H3367ISL.js} +2 -2
  40. package/dist/chunk-H3367ISL.js.map +1 -0
  41. package/dist/{chunk-COPVBJPL.js → chunk-H3JZ3P5T.js} +2 -1
  42. package/dist/chunk-H3JZ3P5T.js.map +1 -0
  43. package/dist/{chunk-3LP7DNLQ.js → chunk-H4NTJFEE.js} +2 -2
  44. package/dist/chunk-H4NTJFEE.js.map +1 -0
  45. package/dist/{chunk-TCHAWJMB.js → chunk-HGXVOFCL.js} +2 -2
  46. package/dist/chunk-HGXVOFCL.js.map +1 -0
  47. package/dist/{chunk-CEZEVILU.js → chunk-HJ2AIAKX.js} +1 -1
  48. package/dist/chunk-HJ2AIAKX.js.map +1 -0
  49. package/dist/{chunk-K5WRVSOL.js → chunk-I54WQBXL.js} +8 -8
  50. package/dist/chunk-I54WQBXL.js.map +1 -0
  51. package/dist/{chunk-G6Y6CQYV.js → chunk-K5LWSWV7.js} +4 -4
  52. package/dist/chunk-K5LWSWV7.js.map +1 -0
  53. package/dist/{chunk-IWT6JUZD.js → chunk-L6EJX2VQ.js} +2 -2
  54. package/dist/chunk-L6EJX2VQ.js.map +1 -0
  55. package/dist/{chunk-XYQD4LDI.js → chunk-LHX7ENKZ.js} +3 -3
  56. package/dist/chunk-LHX7ENKZ.js.map +1 -0
  57. package/dist/{chunk-BFR3VC25.js → chunk-LR5CTOC5.js} +18 -18
  58. package/dist/chunk-LR5CTOC5.js.map +1 -0
  59. package/dist/chunk-MO4HAJZG.js +8709 -0
  60. package/dist/chunk-MO4HAJZG.js.map +1 -0
  61. package/dist/{chunk-T4APHDES.js → chunk-O6FKHAWN.js} +1 -1
  62. package/dist/chunk-O6FKHAWN.js.map +1 -0
  63. package/dist/{chunk-77N3QEIL.js → chunk-OR3TMIJN.js} +5 -5
  64. package/dist/chunk-OR3TMIJN.js.map +1 -0
  65. package/dist/{chunk-P27DQ65Z.js → chunk-OVGDDKO2.js} +1 -1
  66. package/dist/chunk-OVGDDKO2.js.map +1 -0
  67. package/dist/{chunk-O4GE6VTR.js → chunk-PWW5QKZS.js} +2 -2
  68. package/dist/chunk-PWW5QKZS.js.map +1 -0
  69. package/dist/{chunk-DUKW3R7O.js → chunk-Q4TKI2MV.js} +2 -2
  70. package/dist/chunk-Q4TKI2MV.js.map +1 -0
  71. package/dist/{chunk-QTJQIHDZ.js → chunk-QRS7Y3EM.js} +4 -3
  72. package/dist/chunk-QRS7Y3EM.js.map +1 -0
  73. package/dist/{chunk-TMUAKJWX.js → chunk-RRKRA237.js} +14 -5
  74. package/dist/chunk-RRKRA237.js.map +1 -0
  75. package/dist/{chunk-2U54EOXJ.js → chunk-TK3DXH7A.js} +1 -1
  76. package/dist/chunk-TK3DXH7A.js.map +1 -0
  77. package/dist/{chunk-CK3ONRRC.js → chunk-U7XWIOSB.js} +3 -3
  78. package/dist/chunk-U7XWIOSB.js.map +1 -0
  79. package/dist/{chunk-YUKV7RCD.js → chunk-VHGC44HA.js} +5 -5
  80. package/dist/chunk-VHGC44HA.js.map +1 -0
  81. package/dist/{chunk-ZJ3H3VS7.js → chunk-VN5V2E2S.js} +7 -5
  82. package/dist/chunk-VN5V2E2S.js.map +1 -0
  83. package/dist/{chunk-G53MA5XX.js → chunk-WMIKJGXW.js} +3 -3
  84. package/dist/chunk-WMIKJGXW.js.map +1 -0
  85. package/dist/{chunk-ROBAX5TN.js → chunk-WQFU635Q.js} +8 -6
  86. package/dist/chunk-WQFU635Q.js.map +1 -0
  87. package/dist/{chunk-TSMGMA6R.js → chunk-XON75UFN.js} +3 -3
  88. package/dist/chunk-XON75UFN.js.map +1 -0
  89. package/dist/chunk-YLJ4XMA6.js +35 -0
  90. package/dist/chunk-YLJ4XMA6.js.map +1 -0
  91. package/dist/{chunk-K3JCP4FO.js → chunk-Z252BNAZ.js} +1 -1
  92. package/dist/chunk-Z252BNAZ.js.map +1 -0
  93. package/dist/{chunk-MLPPSCDQ.js → chunk-ZHQK3MOM.js} +4 -4
  94. package/dist/chunk-ZHQK3MOM.js.map +1 -0
  95. package/dist/{chunk-6Q4I33CH.js → chunk-ZIFZFP5I.js} +5 -5
  96. package/dist/chunk-ZIFZFP5I.js.map +1 -0
  97. package/dist/connected-evidence.js +22 -21
  98. package/dist/connected-evidence.js.map +1 -7
  99. package/dist/dataset-commerce.js +2 -0
  100. package/dist/dataset-commerce.js.map +1 -7
  101. package/dist/dataset-marketplace.js +2 -0
  102. package/dist/dataset-marketplace.js.map +1 -7
  103. package/dist/dataset-workspaces.js +22 -21
  104. package/dist/dataset-workspaces.js.map +1 -7
  105. package/dist/experiment-evaluation-schedules.js +28 -27
  106. package/dist/experiment-evaluation-schedules.js.map +1 -7
  107. package/dist/experiment-improvements.js +12 -11
  108. package/dist/experiment-improvements.js.map +1 -7
  109. package/dist/experiments.js +26 -25
  110. package/dist/experiments.js.map +1 -7
  111. package/dist/human-review.js +3 -2
  112. package/dist/human-review.js.map +1 -7
  113. package/dist/index.js +98 -50
  114. package/dist/index.js.map +1 -7
  115. package/dist/learning.js +4 -3
  116. package/dist/learning.js.map +1 -7
  117. package/dist/model-batch-review.js +2 -1
  118. package/dist/model-batch-review.js.map +1 -7
  119. package/dist/model-projects.js +3 -2
  120. package/dist/model-projects.js.map +1 -7
  121. package/dist/model-starter-attempts.js +5 -4
  122. package/dist/model-starter-attempts.js.map +1 -7
  123. package/dist/model-starter-catalog.js +15 -14
  124. package/dist/model-starter-catalog.js.map +1 -7
  125. package/dist/model-starters.js +15 -14
  126. package/dist/model-starters.js.map +1 -7
  127. package/dist/model-taskset-authoring.js +2 -1
  128. package/dist/model-taskset-authoring.js.map +1 -7
  129. package/dist/model-taskset-runs.js +6 -5
  130. package/dist/model-taskset-runs.js.map +1 -7
  131. package/dist/post-training.js +9 -8
  132. package/dist/post-training.js.map +1 -7
  133. package/dist/profile-actions.js +3 -2
  134. package/dist/profile-actions.js.map +1 -7
  135. package/dist/project-actions.js +3 -2
  136. package/dist/project-actions.js.map +1 -7
  137. package/dist/refiner.js +3 -2
  138. package/dist/refiner.js.map +1 -7
  139. package/dist/taskset-catalog.js +2 -1
  140. package/dist/taskset-catalog.js.map +1 -7
  141. package/dist/taskset-drafts.js +19 -18
  142. package/dist/taskset-drafts.js.map +1 -7
  143. package/dist/taskset-packages.js +25 -22
  144. package/dist/taskset-packages.js.map +1 -7
  145. package/dist/training-bundle.js +44 -19
  146. package/dist/training-bundle.js.map +1 -7
  147. package/dist/training-projects.js +2 -1
  148. package/dist/training-projects.js.map +1 -7
  149. package/dist/training.js +11 -10
  150. package/dist/training.js.map +1 -7
  151. package/dist/types/packages/cloud/src/api/core.d.ts.map +1 -1
  152. package/dist/types/packages/cloud/src/sandbox/client-handles.d.ts.map +1 -1
  153. package/dist/types/packages/cloud/src/sandbox/client.d.ts.map +1 -1
  154. package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts.map +1 -1
  155. package/dist/types/packages/cloud/src/sandbox/types/runtime-profiles.d.ts.map +1 -1
  156. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +487 -487
  157. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -1
  158. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +375 -351
  159. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
  160. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +80 -54
  161. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
  162. package/dist/types/packages/sdk/src/connected-collection-status.d.ts +5 -5
  163. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +10 -10
  164. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +464 -460
  165. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
  166. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +23 -23
  167. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +77 -74
  168. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -1
  169. package/dist/types/packages/sdk/src/connected-sync.d.ts +30 -30
  170. package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/dataset-commerce-contracts.d.ts +14 -14
  172. package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts +5 -5
  173. package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts.map +1 -1
  174. package/dist/types/packages/sdk/src/dataset-commerce-responses.d.ts +82 -82
  175. package/dist/types/packages/sdk/src/dataset-commerce.d.ts +58 -58
  176. package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
  177. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +4 -4
  178. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/dataset-population.d.ts +10 -10
  180. package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +172 -172
  182. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +47 -47
  183. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
  184. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +90 -90
  185. package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts +7 -7
  186. package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts +26 -26
  187. package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts +8 -8
  188. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +111 -110
  189. package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -1
  190. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +896 -889
  191. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  192. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +225 -223
  193. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  194. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +226 -224
  195. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  196. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
  197. package/dist/types/packages/sdk/src/evaluation-project-context.d.ts +1 -1
  198. package/dist/types/packages/sdk/src/experiment-client.d.ts +2102 -2014
  199. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  200. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +165 -113
  201. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  202. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +587 -516
  203. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
  204. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts +5 -5
  205. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts.map +1 -1
  206. package/dist/types/packages/sdk/src/experiment-field-mappings.d.ts +8 -8
  207. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +16 -16
  208. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +2524 -2524
  209. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
  210. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +1557 -1557
  211. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +150 -150
  212. package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
  213. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +38 -25
  214. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  215. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +303 -243
  216. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  217. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +21 -21
  218. package/dist/types/packages/sdk/src/grader-inspection.d.ts +104 -104
  219. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  220. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +33 -20
  221. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  222. package/dist/types/packages/sdk/src/human-review-client.d.ts +288 -288
  223. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
  224. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  225. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts +15 -13
  226. package/dist/types/packages/sdk/src/learning-batch-assets.d.ts.map +1 -1
  227. package/dist/types/packages/sdk/src/learning-client.d.ts +5 -5
  228. package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
  229. package/dist/types/packages/sdk/src/learning-credentials.d.ts +4 -4
  230. package/dist/types/packages/sdk/src/learning-credentials.d.ts.map +1 -1
  231. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +69 -69
  232. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  233. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +65 -61
  234. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  235. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +74 -72
  236. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  237. package/dist/types/packages/sdk/src/model-batch-review.d.ts +96 -92
  238. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  239. package/dist/types/packages/sdk/src/model-learning-intent.d.ts +1 -1
  240. package/dist/types/packages/sdk/src/model-learning-policy.d.ts +247 -247
  241. package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
  242. package/dist/types/packages/sdk/src/model-projects.d.ts +324 -324
  243. package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
  244. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +187 -187
  245. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  246. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +181 -179
  247. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  248. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +40 -40
  249. package/dist/types/packages/sdk/src/model-starters.d.ts +291 -287
  250. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  251. package/dist/types/packages/sdk/src/model-taskset-authoring-contracts.d.ts +3 -3
  252. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +114 -112
  253. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  254. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +18 -18
  255. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +179 -127
  256. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  257. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +865 -833
  258. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  259. package/dist/types/packages/sdk/src/post-training.d.ts +438 -377
  260. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
  261. package/dist/types/packages/sdk/src/profile-actions.d.ts.map +1 -1
  262. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +150 -150
  263. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
  264. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +254 -251
  265. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
  266. package/dist/types/packages/sdk/src/project-actions.d.ts.map +1 -1
  267. package/dist/types/packages/sdk/src/protocol.d.ts.map +1 -1
  268. package/dist/types/packages/sdk/src/run-diagnostics.d.ts +3 -3
  269. package/dist/types/packages/sdk/src/task-design-contracts.d.ts +50 -50
  270. package/dist/types/packages/sdk/src/task-inventory.d.ts +4 -4
  271. package/dist/types/packages/sdk/src/task-inventory.d.ts.map +1 -1
  272. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +190 -189
  273. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  274. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +149 -148
  275. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  276. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts +15 -6
  277. package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
  278. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +64 -63
  279. package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -1
  280. package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
  281. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +245 -243
  282. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  283. package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -1
  284. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +744 -738
  285. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  286. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +133 -131
  287. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  288. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +80 -80
  289. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +34 -34
  290. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +119 -117
  291. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  292. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +500 -492
  293. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  294. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +236 -234
  295. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  296. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +228 -224
  297. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  298. package/dist/types/packages/sdk/src/taskset-intake.d.ts +1 -1
  299. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +4589 -4577
  300. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  301. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +2068 -2054
  302. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  303. package/dist/types/packages/sdk/src/taskset-package-files.d.ts +1 -1
  304. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +21 -21
  305. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +88 -86
  306. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  307. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +387 -383
  308. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  309. package/dist/types/packages/sdk/src/training-acceptance.d.ts +26 -26
  310. package/dist/types/packages/sdk/src/training-acceptance.d.ts.map +1 -1
  311. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +14 -10
  312. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -1
  313. package/dist/types/packages/sdk/src/training-bundle.d.ts +2 -0
  314. package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
  315. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
  316. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts.map +1 -1
  317. package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +3 -3
  318. package/dist/types/packages/sdk/src/training-evaluation-source.d.ts +1 -1
  319. package/dist/types/packages/sdk/src/training-evaluation-source.d.ts.map +1 -1
  320. package/dist/types/packages/sdk/src/training-grading-plan.d.ts.map +1 -1
  321. package/dist/types/packages/sdk/src/training-harness-sources.d.ts +14 -14
  322. package/dist/types/packages/sdk/src/training-harness-sources.d.ts.map +1 -1
  323. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +344 -340
  324. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  325. package/dist/types/packages/sdk/src/training-preparations.d.ts +700 -700
  326. package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
  327. package/dist/types/packages/sdk/src/training-project-client.d.ts +272 -272
  328. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  329. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +161 -161
  330. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +75 -71
  331. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -1
  332. package/dist/types/packages/sdk/src/training.d.ts +1442 -1416
  333. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  334. package/dist/types/packages/sdk/src/work.d.ts +4 -0
  335. package/dist/types/packages/sdk/src/work.d.ts.map +1 -1
  336. package/dist/types/packages/sdk/src/workflows.d.ts.map +1 -1
  337. package/dist/workflows.js +3 -2
  338. package/dist/workflows.js.map +1 -7
  339. package/package.json +3 -3
  340. package/dist/chunk-2DMYAJLS.js.map +0 -7
  341. package/dist/chunk-2U54EOXJ.js.map +0 -7
  342. package/dist/chunk-36WJTS5V.js.map +0 -7
  343. package/dist/chunk-3KXDH6OB.js.map +0 -7
  344. package/dist/chunk-3LP7DNLQ.js.map +0 -7
  345. package/dist/chunk-6Q4I33CH.js.map +0 -7
  346. package/dist/chunk-77N3QEIL.js.map +0 -7
  347. package/dist/chunk-AG5DDL7T.js.map +0 -7
  348. package/dist/chunk-BFR3VC25.js.map +0 -7
  349. package/dist/chunk-BSK3VLM3.js.map +0 -7
  350. package/dist/chunk-CEZEVILU.js.map +0 -7
  351. package/dist/chunk-CK3ONRRC.js.map +0 -7
  352. package/dist/chunk-COPVBJPL.js.map +0 -7
  353. package/dist/chunk-CTVKI3BV.js.map +0 -7
  354. package/dist/chunk-CWXM57QR.js.map +0 -7
  355. package/dist/chunk-DUKW3R7O.js.map +0 -7
  356. package/dist/chunk-FHCSDXIA.js +0 -1417
  357. package/dist/chunk-FHCSDXIA.js.map +0 -7
  358. package/dist/chunk-FY7NHCEH.js.map +0 -7
  359. package/dist/chunk-G53MA5XX.js.map +0 -7
  360. package/dist/chunk-G6Y6CQYV.js.map +0 -7
  361. package/dist/chunk-HKWX624G.js.map +0 -7
  362. package/dist/chunk-IWT6JUZD.js.map +0 -7
  363. package/dist/chunk-K3JCP4FO.js.map +0 -7
  364. package/dist/chunk-K5WRVSOL.js.map +0 -7
  365. package/dist/chunk-KAE7AMYE.js.map +0 -7
  366. package/dist/chunk-MEKWESBF.js.map +0 -7
  367. package/dist/chunk-MLPPSCDQ.js.map +0 -7
  368. package/dist/chunk-O4GE6VTR.js.map +0 -7
  369. package/dist/chunk-P27DQ65Z.js.map +0 -7
  370. package/dist/chunk-QEIT5VXJ.js.map +0 -7
  371. package/dist/chunk-QTJQIHDZ.js.map +0 -7
  372. package/dist/chunk-ROBAX5TN.js.map +0 -7
  373. package/dist/chunk-T4APHDES.js.map +0 -7
  374. package/dist/chunk-TCHAWJMB.js.map +0 -7
  375. package/dist/chunk-TMUAKJWX.js.map +0 -7
  376. package/dist/chunk-TSMGMA6R.js.map +0 -7
  377. package/dist/chunk-UPS52OPZ.js.map +0 -7
  378. package/dist/chunk-VY5AFE7A.js.map +0 -7
  379. package/dist/chunk-XYQD4LDI.js.map +0 -7
  380. package/dist/chunk-YCQVVFE5.js.map +0 -7
  381. package/dist/chunk-YUKV7RCD.js.map +0 -7
  382. package/dist/chunk-YVUIHH6Z.js.map +0 -7
  383. package/dist/chunk-ZJ3H3VS7.js.map +0 -7
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  CapabilityRequirementSchema,
3
3
  ToolDeclarationSchema
4
- } from "./chunk-DUKW3R7O.js";
4
+ } from "./chunk-Q4TKI2MV.js";
5
5
  import {
6
6
  ImmutableAssetRefSchema,
7
7
  contentHash,
8
8
  sha256
9
- } from "./chunk-COPVBJPL.js";
9
+ } from "./chunk-H3JZ3P5T.js";
10
10
 
11
11
  // src/taskset-authored-portable-release.ts
12
12
  import {
@@ -169,7 +169,7 @@ function projectPortableTaskRecord(task) {
169
169
  policyVisibleContext: task.policyVisibleContext,
170
170
  privilegedContextRef: task.privilegedContextRef,
171
171
  tags: task.tags,
172
- artifactRefs: task.assets === void 0 ? original.artifactRefs : task.assets.map((asset) => {
172
+ artifactRefs: task.assets === void 0 ? original.artifactRefs : task.assets.filter((asset) => original.artifactRefs.some((item) => item.id === asset.id) || !(task.requiredOutputs ?? []).some((output) => output.submissionMode === "structured_json" && output.schemaRef === asset.id)).map((asset) => {
173
173
  const previous = original.artifactRefs.find((item) => item.id === asset.id);
174
174
  return {
175
175
  id: asset.id,
@@ -185,7 +185,8 @@ function projectPortableTaskRecord(task) {
185
185
  return {
186
186
  path: output.path,
187
187
  mediaType: output.mediaType,
188
- schemaRef: previous?.schemaRef && previous.schemaRef.id === output.schemaRef ? previous.schemaRef : null,
188
+ ...output.submissionMode ? { submissionMode: output.submissionMode } : {},
189
+ schemaRef: previous?.schemaRef && previous.schemaRef.id === output.schemaRef ? previous.schemaRef : task.metadata.outputSchemaRefs?.[output.schemaRef ?? ""] ?? null,
189
190
  maxBytes: output.maxBytes ?? null,
190
191
  metadata: {
191
192
  ...output.metadata,
@@ -216,7 +217,8 @@ function projectPortableTaskRecord(task) {
216
217
  requiredOutputs: (task.requiredOutputs ?? []).map((output) => ({
217
218
  path: output.path,
218
219
  mediaType: output.mediaType,
219
- schemaRef: null,
220
+ ...output.submissionMode ? { submissionMode: output.submissionMode } : {},
221
+ schemaRef: task.metadata.outputSchemaRefs?.[output.schemaRef ?? ""] ?? null,
220
222
  maxBytes: output.maxBytes ?? null,
221
223
  metadata: {
222
224
  ...output.metadata,
@@ -383,4 +385,4 @@ export {
383
385
  portableTasksetTools,
384
386
  projectPortableTaskRecord
385
387
  };
386
- //# sourceMappingURL=chunk-ROBAX5TN.js.map
388
+ //# sourceMappingURL=chunk-WQFU635Q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/taskset-authored-portable-release.ts"],"sourcesContent":["import type { Taskset } from \"./taskset-authored-contracts.js\";\nimport type {\n GraderSpec,\n TaskDataRecord,\n} from \"./taskset-draft-core.js\";\nimport {\n TaskRecordSchema,\n GraderSpecSchema as PortableGraderSpecSchema,\n TasksetReleaseContentSchema,\n TasksetReleaseSchema,\n bindTasksetExecutionReleases,\n createEnvironmentRelease,\n createVerifierSetRelease,\n EnvironmentReleaseSchema,\n VerifierSetReleaseSchema,\n verifyEnvironmentRelease,\n verifyVerifierSetRelease,\n verifyPreferenceComparisonRelease,\n type EnvironmentContract,\n type GraderSpec as PortableGraderSpec,\n type PreferenceComparisonRelease,\n type TasksetRelease,\n} from \"@openpond/evals\";\nimport type {\n ImmutableAssetRef,\n ToolDeclaration,\n} from \"@openpond/harness\";\nimport {\n CapabilityRequirementSchema,\n ImmutableAssetRefSchema,\n ToolDeclarationSchema,\n} from \"@openpond/harness\";\n\nimport { contentHash, sha256 } from \"@openpond/harness\";\nimport { TaskBatchPackageMetadataSchema } from \"@openpond/evals/learning\";\nimport { compileBoundGraders, RewardBindingSchema, RewardReleaseSchema, type RewardBinding, type RewardRelease } from \"@openpond/evals/rewards\";\nimport { portableDeterministicCheck } from \"@openpond/evals/graders\";\n\nexport type TasksetRewardExecution = { binding: RewardBinding; rewards: RewardRelease[] };\n\nexport function resolvePortableTasksetRewardExecution(taskset: Taskset, supplied?: TasksetRewardExecution): TasksetRewardExecution | null {\n const learning = taskset.metadata.learning === undefined ? null : TaskBatchPackageMetadataSchema.parse(taskset.metadata.learning);\n const embedded = taskset.metadata.rewardExecution as { binding?: unknown; rewards?: unknown } | undefined;\n const execution = supplied ?? (embedded ? {\n binding: RewardBindingSchema.parse(embedded.binding),\n rewards: RewardReleaseSchema.array().parse(embedded.rewards),\n } : learning);\n if (taskset.metadata.rewardBinding !== undefined) {\n const reference = taskset.metadata.rewardBinding as Partial<RewardBinding> | null;\n if (!execution || !reference || reference.id !== execution.binding.id\n || reference.revision !== execution.binding.revision || reference.contentHash !== execution.binding.contentHash) {\n throw new Error(\"Portable Taskset requires its exact published Reward binding.\");\n }\n }\n if (execution) compileBoundGraders(execution.binding, execution.rewards);\n return execution ? { binding: execution.binding, rewards: execution.rewards } : null;\n}\n\nexport function materializePortableTasksetRelease(input: {\n taskset: Taskset;\n selectedTasks?: TaskDataRecord[];\n adapterId: string;\n admittedTasksetRelease?: TasksetRelease | null;\n rewardExecution?: TasksetRewardExecution;\n}): {\n environmentRelease: ReturnType<typeof createEnvironmentRelease>;\n verifierSetRelease: ReturnType<typeof createVerifierSetRelease>;\n tasksetRelease: TasksetRelease;\n} {\n const environment = portableEnvironment(input.taskset);\n const tools = portableTools(input.taskset);\n const learning = input.taskset.metadata.learning === undefined ? null : TaskBatchPackageMetadataSchema.parse(input.taskset.metadata.learning);\n const embedded = input.taskset.metadata.rewardExecution;\n const rewardExecution = resolvePortableTasksetRewardExecution(input.taskset, input.rewardExecution);\n const graders = rewardExecution ? compileBoundGraders(rewardExecution.binding, rewardExecution.rewards) : input.taskset.graders.map(portableGrader);\n const tasks = input.selectedTasks?.length\n ? input.selectedTasks\n : input.taskset.tasks;\n if (!tasks.length) throw new Error(\"A portable Taskset release requires at least one task.\");\n const pinned = input.taskset.environment.metadata.portableExecutionResources as { environment?: unknown; verifierSet?: unknown } | undefined;\n if (environment.entrypoint === \"openpond.javascript-environment.v1\" && !pinned) throw new Error(\"Tool Taskset publication requires its pinned execution resources.\");\n const environmentRelease = pinned ? EnvironmentReleaseSchema.parse(pinned.environment) : createEnvironmentRelease({\n schemaVersion: \"openpond.environmentRelease.v1\",\n id: `environment-release-${input.taskset.id}-r${input.taskset.revision}`,\n revision: input.taskset.revision,\n contract: environment,\n actionSchemaRef: null,\n observationSchemaRef: null,\n stateSchemaRef: null,\n artifactCollection: {\n maxArtifacts: 100_000,\n maxTotalBytes: 250_000_000,\n },\n adapterConformanceHashes: {\n [input.adapterId]: contentHash({ adapterId: input.adapterId, environment, tools }),\n },\n metadata: {\n sourceTasksetId: input.taskset.id,\n sourcePackageHash: input.taskset.metadata.sourcePackageHash ?? null,\n resources: input.taskset.environment.resources ?? [],\n },\n });\n const verifierSetRelease = pinned?.verifierSet !== undefined ? VerifierSetReleaseSchema.parse(pinned.verifierSet) : createVerifierSetRelease({\n schemaVersion: \"openpond.verifierSetRelease.v1\",\n id: `verifier-set-release-${input.taskset.id}-r${input.taskset.revision}`,\n revision: input.taskset.revision,\n graders,\n isolation: {\n processBoundary: \"isolated_process\",\n networkPolicy: \"none\",\n defaultTimeoutMs: Math.min(input.taskset.environment.defaultTimeoutMs, 300_000),\n },\n calibrationReceiptRefs: [],\n metadata: { sourceTasksetId: input.taskset.id },\n });\n if (!verifyEnvironmentRelease(environmentRelease) || !verifyVerifierSetRelease(verifierSetRelease) ||\n contentHash(environmentRelease.contract) !== contentHash(environment) || contentHash(verifierSetRelease.graders) !== contentHash(graders)) {\n throw new Error(\"Taskset execution resources differ from its declared environment or graders.\");\n }\n const tasksetContent = TasksetReleaseContentSchema.parse({\n schemaVersion: \"openpond.tasksetRelease.v2\",\n id: input.taskset.metadata.derivedPortableMetadata === undefined ? `taskset-release-${input.taskset.id}-r${input.taskset.revision}` : input.taskset.id,\n revision: input.taskset.revision,\n policy: {\n policyVisibleFields: input.taskset.policy.policyVisibleFields,\n privilegedFields: input.taskset.policy.privilegedFields,\n hiddenGraderRefs: input.taskset.policy.hiddenGraderRefs,\n connectedAppScopes: input.taskset.policy.connectedAppScopes,\n },\n environment,\n tools,\n capabilities: portableCapabilities(input.taskset),\n tasks: tasks.map(projectPortableTaskRecord),\n graders,\n ...(input.taskset.metrics ? { metrics: input.taskset.metrics } : {}),\n metadata: input.taskset.metadata.derivedPortableMetadata ?? {\n sourceTasksetId: input.taskset.id,\n sourceTasksetHash: input.taskset.contentHash,\n sourcePackageHash: input.taskset.metadata.sourcePackageHash ?? null,\n environmentResources: input.taskset.environment.resources ?? [],\n workAssetStagingPaths: Object.fromEntries(tasks.filter(task => task.assets?.some(asset => asset.stagingPath))\n .map(task => [task.id, Object.fromEntries((task.assets ?? []).filter(asset => asset.stagingPath)\n .map(asset => [asset.id, asset.stagingPath]))])),\n ordinaryAuthoring: {\n instructions: input.taskset.objective,\n graderSourceRewards: Object.fromEntries(input.taskset.graders.filter(grader => grader.metadata.sourceReward !== undefined).map(grader => [grader.id, grader.metadata.sourceReward])),\n graderOrigins: Object.fromEntries(input.taskset.graders.map(grader => [grader.id,\n grader.metadata.preparationOrigin === \"reused\" ? \"reused\" : grader.metadata.preparationOrigin === \"adapted\" || grader.metadata.adaptedFromReward ? \"adapted\" : \"authored\"])),\n graderFixtures: input.taskset.graderFixtures,\n judgeCalibrationFixtures: Object.fromEntries(input.taskset.graders\n .filter(grader => grader.kind === \"model_judge\")\n .map(grader => [grader.id, grader.calibrationFixtureRefs])),\n },\n ...(learning ? { learning } : {}),\n // A sealed batch already pins these resources in learning metadata.\n // Resolving that same binding at admission must not change its release.\n ...(rewardExecution && !learning && (input.rewardExecution || embedded) ? { rewardExecution: { binding: rewardExecution.binding, rewards: rewardExecution.rewards } } : {}),\n },\n });\n const draft = input.admittedTasksetRelease\n ? TasksetReleaseSchema.parse(input.admittedTasksetRelease)\n : TasksetReleaseSchema.parse({\n ...tasksetContent,\n contentHash: contentHash(tasksetContent),\n });\n const tasksetRelease = draft.environmentRelease\n ? assertReleaseBindings({ draft, environmentRelease, verifierSetRelease })\n : bindTasksetExecutionReleases({\n taskset: draft,\n environment: environmentRelease,\n verifierSet: verifierSetRelease,\n });\n return { environmentRelease, verifierSetRelease, tasksetRelease };\n}\n\n/**\n * Admits a published comparison policy against the exact portable Taskset\n * release it names. A comparison is deliberately not embedded in that release:\n * doing so would create a content-hash cycle between Taskset and comparison.\n */\nexport function projectPreferenceComparisonRelease(input: {\n tasksetRelease: TasksetRelease;\n preferenceComparison: PreferenceComparisonRelease;\n}): PreferenceComparisonRelease {\n if (!verifyPreferenceComparisonRelease(input.preferenceComparison)) {\n throw new Error(\"Preference comparison release failed immutable content verification.\");\n }\n const release = input.preferenceComparison;\n if (\n release.tasksetRelease.id !== input.tasksetRelease.id\n || release.tasksetRelease.contentHash !== input.tasksetRelease.contentHash\n ) {\n throw new Error(\"Preference comparison release must reference the admitted portable Taskset release.\");\n }\n return release;\n}\n\nexport function portableTasksetEnvironment(taskset: Taskset): EnvironmentContract {\n return portableEnvironment(taskset);\n}\n\nexport function portableTasksetTools(taskset: Taskset): ToolDeclaration[] {\n return portableTools(taskset);\n}\n\n/** Preserve immutable file/schema references while overlaying current edits. */\nexport function projectPortableTaskRecord(task: TaskDataRecord) {\n const admitted = task.metadata.portableTaskRecord;\n if (admitted !== undefined) {\n const original = TaskRecordSchema.parse(admitted);\n const projected = TaskRecordSchema.parse({\n ...original,\n id: task.id,\n clusterKey: task.clusterKey,\n split: task.split,\n input: task.input,\n expectedOutput: portableExpectedOutput(task),\n policyVisibleContext: task.policyVisibleContext,\n privilegedContextRef: task.privilegedContextRef,\n tags: task.tags,\n artifactRefs: task.assets === undefined ? original.artifactRefs : task.assets.filter(asset => original.artifactRefs.some(item => item.id === asset.id) || !(task.requiredOutputs ?? []).some(output => output.submissionMode === \"structured_json\" && output.schemaRef === asset.id)).map((asset) => {\n const previous = original.artifactRefs.find(item => item.id === asset.id);\n return {\n id: asset.id,\n path: previous?.path ?? `tasks/${segment(task.id)}/${asset.stagingPath ?? segment(asset.fileName)}`,\n contentHash: hash(asset.sha256),\n sizeBytes: asset.sizeBytes,\n mediaType: asset.mediaType,\n visibility: previous?.visibility ?? \"policy\",\n };\n }),\n requiredOutputs: task.requiredOutputs === undefined ? original.requiredOutputs : task.requiredOutputs.map((output) => {\n const previous = original.requiredOutputs?.find(item => item.path === output.path);\n return {\n path: output.path,\n mediaType: output.mediaType,\n ...(output.submissionMode ? { submissionMode: output.submissionMode } : {}),\n schemaRef: previous?.schemaRef && previous.schemaRef.id === output.schemaRef ? previous.schemaRef : (task.metadata.outputSchemaRefs as Record<string, ImmutableAssetRef> | undefined)?.[output.schemaRef ?? \"\"] ?? null,\n maxBytes: output.maxBytes ?? null,\n metadata: {\n ...output.metadata,\n ...(output.schemaRef && previous?.schemaRef?.id !== output.schemaRef\n ? { legacySchemaRef: output.schemaRef }\n : {}),\n },\n };\n }),\n });\n if (projected.requiredOutputs === undefined) delete projected.requiredOutputs;\n return projected;\n }\n return {\n id: task.id,\n clusterKey: task.clusterKey,\n split: task.split,\n input: task.input,\n expectedOutput: portableExpectedOutput(task),\n policyVisibleContext: task.policyVisibleContext,\n privilegedContextRef: task.privilegedContextRef,\n artifactRefs: (task.assets ?? []).map((item) => ({\n id: item.id,\n path: `tasks/${segment(task.id)}/${item.stagingPath ?? segment(item.fileName)}`,\n contentHash: hash(item.sha256),\n sizeBytes: item.sizeBytes,\n mediaType: item.mediaType,\n visibility: \"policy\" as const,\n })),\n requiredOutputs: (task.requiredOutputs ?? []).map((output) => ({\n path: output.path,\n mediaType: output.mediaType,\n ...(output.submissionMode ? { submissionMode: output.submissionMode } : {}),\n schemaRef: (task.metadata.outputSchemaRefs as Record<string, ImmutableAssetRef> | undefined)?.[output.schemaRef ?? \"\"] ?? null,\n maxBytes: output.maxBytes ?? null,\n metadata: {\n ...output.metadata,\n legacySchemaRef: output.schemaRef ?? null,\n },\n })),\n tags: task.tags,\n };\n}\n\nfunction portableExpectedOutput(\n task: TaskDataRecord,\n): Record<string, unknown> | null {\n if (!task.expectedOutput) return null;\n if (\"artifactRenderer\" in task.expectedOutput) {\n throw new Error(\n `Task ${task.id} embeds an artifact renderer. Put shared renderer configuration in Environment resources and reference it from the Scenario.`,\n );\n }\n return task.expectedOutput;\n}\n\nfunction portableEnvironment(taskset: Taskset): EnvironmentContract {\n const kind: EnvironmentContract[\"kind\"] = taskset.environment.kind === \"chat\"\n ? \"text\"\n : taskset.environment.kind === \"work\" ? \"work\"\n : taskset.environment.kind === \"program\" ? \"custom_program\" : \"agent\";\n return {\n protocolVersion: \"openpond.environment.v1\",\n kind,\n entrypoint: taskset.environment.entrypoint,\n stateful: taskset.environment.stateful,\n deterministicSeeds: taskset.environment.deterministicSeeds,\n lifecycle: [\"create\", \"reset\", \"step\", \"collect\", \"destroy\"],\n networkPolicy: taskset.environment.networkPolicy,\n defaultTimeoutMs: taskset.environment.defaultTimeoutMs,\n };\n}\n\nfunction portableTools(taskset: Taskset): ToolDeclaration[] {\n const admitted = taskset.environment.metadata.portableTools;\n if (admitted !== undefined) {\n return ToolDeclarationSchema.array().max(200).parse(admitted);\n }\n const bindings = taskset.environment.actionBindings ?? [];\n if (bindings.length) return bindings.map((binding) => ({\n name: binding.modelToolName,\n description: binding.description,\n inputSchema: binding.inputSchema,\n inputSchemaHash: hash(binding.actionSchemaHash),\n sideEffect: binding.sideEffect,\n timeoutMs: binding.timeoutMs,\n }));\n return taskset.environment.toolNames.map((name) => ({\n name,\n description: `Host-provided ${name} tool.`,\n inputSchema: {},\n inputSchemaHash: contentHash({}),\n sideEffect: \"write\" as const,\n timeoutMs: taskset.environment.defaultTimeoutMs,\n }));\n}\n\nfunction portableGrader(grader: GraderSpec): PortableGraderSpec {\n const base = {\n id: grader.id,\n ...(grader.taskIds ? { taskIds: grader.taskIds } : {}),\n version: grader.version,\n weight: grader.weight,\n hardGate: grader.hardGate,\n rewardEligible: grader.rewardEligible,\n privileged: grader.privileged,\n };\n if (grader.kind === \"model_judge\") return {\n ...base,\n kind: \"model_judge\",\n rubricRef: rubricAsset(grader),\n model: modelJudgeRef(grader),\n temperature: grader.temperature,\n calibrationStatus: grader.calibrationStatus,\n };\n if (grader.kind === \"custom_verifier\") {\n if (grader.metadata.portableVerifierRef === undefined) {\n throw new Error(`Custom verifier ${grader.id} requires its immutable executable asset before publication.`);\n }\n const imported = PortableGraderSpecSchema.safeParse(grader.metadata.portableGrader);\n // An omitted portable export means \"verify\". Preserve that encoding on an\n // unchanged import so executing it does not silently replace its release.\n const preserveDefault = imported.success && imported.data.kind === \"custom_verifier\"\n && imported.data.exportName === undefined && grader.exportName === \"verify\";\n return {\n ...base,\n kind: \"custom_verifier\",\n ...(grader.runtime === undefined ? {} : { runtime: grader.runtime }),\n verifierRef: ImmutableAssetRefSchema.parse(grader.metadata.portableVerifierRef),\n timeoutMs: grader.timeoutMs,\n ...(preserveDefault ? {} : { exportName: grader.exportName }),\n networkPolicy: \"none\",\n };\n }\n if (grader.kind === \"human\") return {\n ...base,\n kind: \"human\",\n rubricRef: rubricAsset(grader),\n reviewerRole: grader.reviewerRole,\n ...(grader.form ? { form: grader.form } : {}),\n };\n return {\n ...base,\n ...portableDeterministicCheck(grader),\n };\n}\n\nfunction portableCapabilities(taskset: Taskset) {\n const admitted = taskset.metadata.portableCapabilities;\n if (admitted !== undefined) {\n return CapabilityRequirementSchema.array().max(200).parse(admitted);\n }\n return [\n ...(taskset.capabilities.requiresTools\n ? [{ id: \"tools\", required: true, scopes: taskset.environment.toolNames }]\n : []),\n ...(taskset.capabilities.requiresState\n ? [{ id: \"local-state\", required: true, scopes: [] }]\n : []),\n ...(taskset.capabilities.requiresPrivilegedGrading\n ? [{ id: \"private-verifier\", required: true, scopes: taskset.policy.hiddenGraderRefs }]\n : []),\n ...taskset.policy.connectedAppScopes.map((scope) => ({\n id: `connected-app-${segment(scope)}`,\n required: true,\n scopes: [scope],\n })),\n ].map((requirement) => ({\n ...requirement,\n portability: requirement.id === \"local-state\" ? \"host_adapter\" as const : \"portable\" as const,\n }));\n}\n\nfunction assertReleaseBindings(input: {\n draft: TasksetRelease;\n environmentRelease: ReturnType<typeof createEnvironmentRelease>;\n verifierSetRelease: ReturnType<typeof createVerifierSetRelease>;\n}): TasksetRelease {\n if (\n input.draft.environmentRelease?.id !== input.environmentRelease.id\n || input.draft.environmentRelease.contentHash !== input.environmentRelease.contentHash\n ) {\n throw new Error(\"Admitted Taskset Release binds a different Environment Release.\");\n }\n if (\n input.draft.verifierSetRelease?.id !== input.verifierSetRelease.id\n || input.draft.verifierSetRelease.contentHash !== input.verifierSetRelease.contentHash\n ) {\n throw new Error(\"Admitted Taskset Release binds a different Verifier Set Release.\");\n }\n if (contentHash(input.draft.environment) !== contentHash(input.environmentRelease.contract)) {\n throw new Error(\"Admitted Taskset Environment differs from its bound Environment Release.\");\n }\n if (contentHash(input.draft.graders) !== contentHash(input.verifierSetRelease.graders)) {\n throw new Error(\"Admitted Taskset graders differ from its bound Verifier Set Release.\");\n }\n return input.draft;\n}\n\nfunction modelJudgeRef(grader: Extract<GraderSpec, { kind: \"model_judge\" }>) {\n const previous = grader.metadata.portableGrader === undefined ? null : PortableGraderSpecSchema.parse(grader.metadata.portableGrader);\n const revision = previous?.kind === \"model_judge\" && previous.model?.providerId === grader.judge.providerId && previous.model.modelId === grader.judge.modelId ? previous.model.revision : null;\n return { ...grader.judge, revision };\n}\n\nfunction rubricAsset(grader: Extract<GraderSpec, { kind: \"human\" | \"model_judge\" }>): ImmutableAssetRef {\n const contentHash = sha256(grader.rubric);\n const sizeBytes = new TextEncoder().encode(grader.rubric).byteLength;\n const reference = grader.metadata.portableRubricRef;\n if (reference !== undefined) {\n const asset = ImmutableAssetRefSchema.parse(reference);\n if (asset.contentHash !== contentHash || asset.sizeBytes !== sizeBytes || asset.visibility === \"policy\") throw new Error(\"Taskset rubric differs from its published private source.\");\n return asset;\n }\n return { id: `rubric-${grader.id}`, path: `graders/${segment(grader.id)}/rubric.md`, contentHash, sizeBytes, mediaType: \"text/markdown\", visibility: \"verifier\" };\n}\n\nfunction hash(value: string): string {\n return /^[a-f0-9]{64}$/.test(value) ? value : contentHash(value);\n}\n\nfunction segment(value: string): string {\n const normalized = value.trim().replace(/[^a-zA-Z0-9._-]+/g, \"-\")\n .replace(/^-+|-+$/g, \"\");\n return normalized || \"asset\";\n}\n"],"mappings":"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","names":["contentHash"]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  ExperimentScoringRequestSchema
3
- } from "./chunk-CTVKI3BV.js";
3
+ } from "./chunk-53LLNDXF.js";
4
4
  import {
5
5
  ImmutableReleaseRefSchema,
6
6
  contentHash
7
- } from "./chunk-COPVBJPL.js";
7
+ } from "./chunk-H3JZ3P5T.js";
8
8
 
9
9
  // src/experiment-improvement-contracts.ts
10
10
  import { z } from "zod";
@@ -141,4 +141,4 @@ export {
141
141
  verifyExperimentImprovementHumanOptions,
142
142
  sealExperimentImprovementHumanOptions
143
143
  };
144
- //# sourceMappingURL=chunk-TSMGMA6R.js.map
144
+ //# sourceMappingURL=chunk-XON75UFN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/experiment-improvement-contracts.ts"],"sourcesContent":["import { z } from \"zod\";\nimport {HumanComparisonSelectionsSchema,HumanComparisonProjectionSchema,verifyHumanComparisonProjection} from \"@openpond/evals/human-review\";\nimport { contentHash, ImmutableReleaseRefSchema } from \"@openpond/harness\";\nimport { ExperimentManifestSchema, ExperimentResultSchema, verifyExperimentEvidence, compareExperiments } from \"@openpond/evals/experiments\";\nimport {ExperimentScoringRequestSchema} from \"./experiment-scoring-contracts.js\";\nimport {ProfileExternalDatasetBindingSchema,verifyProfileExternalDatasetBinding} from \"@openpond/evals\";\nexport const ExperimentImprovementScoringSchema=z.object({sourcePass:ImmutableReleaseRefSchema,graders:ExperimentScoringRequestSchema.shape.graders,mappings:ExperimentScoringRequestSchema.shape.mappings,maximumCostUsd:z.number().finite().positive().max(10000)}).strict();\nexport const ExperimentImprovementTestRecipeSchema=z.object({externalDatasetBinding:ProfileExternalDatasetBindingSchema,scoring:ExperimentImprovementScoringSchema.optional(),modelId:z.string().min(1).max(300),maximumCostUsd:z.number().finite().positive().max(10000)}).strict();\nexport type ExperimentImprovementTestRecipe=z.infer<typeof ExperimentImprovementTestRecipeSchema>;\nconst OpenPondProfileRefSchema=z.object({source:z.enum([\"local\",\"github\",\"openpond_git\"]),repositoryId:z.string().trim().min(1),profileId:z.string().trim().min(1)}).strict();\nconst Id=z.string().min(1).max(240),Hash=z.string().regex(/^[a-f0-9]{64}$/);\nexport const ExperimentImprovementStateSchema=z.object({schemaVersion:z.literal(\"openpond.experimentImprovement.v1\"),id:Id,operationId:Id,requestHash:Hash,\n actorId:Id,teamId:Id,projectId:Id.nullable(),ownerWorkspaceId:Id,ownerRevision:z.number().int().nonnegative(),ownerSourceRevision:z.string().min(1).max(500),baseRelease:ImmutableReleaseRefSchema,\n profileRef:OpenPondProfileRefSchema,baseProfileSourceRevision:z.string().min(1).max(500),\n evidence:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),\n component:z.object({kind:z.enum([\"skill\",\"workflow\",\"agent\",\"instruction\"]),path:z.string().min(1).max(2000),workflowId:Id.optional()}).strict(),\n mode:z.enum([\"manual\",\"llm_assisted\"]),status:z.enum([\"draft\",\"authoring_queued\",\"authoring\",\"frozen\",\"testing\",\"ready_for_review\",\"adopting\",\"accepted\",\"rolled_back\",\"declined\",\"failed\",\"cancelled\"]),revision:z.number().int().positive(),\n limits:z.object({maximumCostUsd:z.number().finite().positive(),maximumAuthoringSteps:z.number().int().min(1).max(500),maximumDurationMs:z.number().int().min(1000).max(86400000)}).strict(),\n authoringSteps:z.number().int().nonnegative().max(500),\n work:z.object({sessionId:Id,turnId:Id,revision:z.number().int().positive(),startedAt:z.string().datetime()}).strict().nullable(),\n frozen:z.object({release:ImmutableReleaseRefSchema,sourceRevision:z.string().min(1).max(500),profileSourceRevision:z.string().min(1).max(500),authoringHash:Hash,partitionHash:Hash,executableSourceHash:Hash,protectedClosureHash:Hash,\n candidateRevision:z.number().int().positive(),diff:z.array(z.object({path:z.string(),before:Hash.nullable(),after:Hash.nullable()}).strict()).max(10000)}).strict().nullable(),\n test:z.object({recipe:ExperimentImprovementTestRecipeSchema,recipeHash:z.string().regex(/^[a-f0-9]{64}$/),baselineOperationId:z.string(),candidateOperationId:z.string(),cancelRequestedAt:z.string().datetime().nullable(),dispatching:z.object({kind:z.enum([\"baseline\",\"candidate\"]),token:Id,pid:z.number().int().positive(),processStart:z.string().nullable(),startedAt:z.string().datetime()}).strict().nullable()}).strict().nullable(),\n comparison:z.object({baseline:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),candidate:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),frozenHash:Hash,humanProjection:HumanComparisonProjectionSchema.optional()}).strict().nullable(),\n adoptionIntent:z.object({operationId:Id,expectedOwnerRevision:z.number().int().nonnegative(),frozenHash:Hash,humanProjection:HumanComparisonProjectionSchema.optional()}).strict().nullable(),\n acceptance:ImmutableReleaseRefSchema.nullable(),rollback:ImmutableReleaseRefSchema.nullable(),error:z.string().max(2000).nullable(),createdAt:z.string().datetime(),updatedAt:z.string().datetime(),contentHash:Hash}).strict();\nexport type ExperimentImprovementState=z.infer<typeof ExperimentImprovementStateSchema>;\nexport function verifyExperimentImprovementState(raw:unknown) {\n const value=ExperimentImprovementStateSchema.parse(raw),{contentHash:hash,...body}=value;\n if(contentHash(body)!==hash)throw new Error(\"Improvement state integrity failed.\");\n verifyExperimentEvidence(value.evidence);\n if(value.evidence.manifest.teamId!==value.teamId || value.evidence.result.status!==\"completed\" || !value.evidence.result.cases.some(row=>row.status===\"completed\"))throw new Error(\"Improvement requires usable completed owner evidence.\");\n if(value.test&&(contentHash(value.test.recipe)!==value.test.recipeHash||verifyProfileExternalDatasetBinding(value.test.recipe.externalDatasetBinding).profileId!==value.profileRef.profileId))throw new Error(\"The test recipe changed its exact selected Profile.\");\n if(value.comparison?.humanProjection){const projection=verifyHumanComparisonProjection(value.comparison.humanProjection);if(projection.teamId!==value.teamId||projection.projectId!==value.projectId||contentHash(projection.baseline)!==contentHash(value.comparison.baseline)||contentHash(projection.candidate)!==contentHash(value.comparison.candidate))throw new Error(\"Human comparison projection differs from its exact owner evidence.\");}\n if(value.comparison){verifyExperimentEvidence(value.comparison.baseline);verifyExperimentEvidence(value.comparison.candidate);\n if(!value.frozen||value.comparison.frozenHash!==contentHash(value.frozen)||!compareExperiments(value.comparison.baseline,value.comparison.candidate).comparable)throw new Error(\"Improvement comparison is not bound to a comparable frozen candidate.\");}\n if(value.status===\"ready_for_review\"&&(!value.frozen||!value.comparison))throw new Error(\"Improvement is missing qualification.\");\n if(value.status===\"adopting\"&&(!value.adoptionIntent||!value.frozen||value.adoptionIntent.frozenHash!==contentHash(value.frozen)))throw new Error(\"Improvement adoption intent is not bound to its tested revision.\");\n if(value.status===\"accepted\"&&(!value.acceptance||!value.comparison||!value.frozen))throw new Error(\"Improvement acceptance is missing its exact qualification receipt.\");\n if(value.status===\"rolled_back\"&&(!value.acceptance||!value.rollback))throw new Error(\"Profile rollback is missing its durable owner receipt.\");\n return value;\n}\nexport function sealExperimentImprovementState(input:Omit<ExperimentImprovementState,\"contentHash\">){return verifyExperimentImprovementState({...input,contentHash:contentHash(input)});}\n\nexport const ExperimentImprovementListSchema=z.object({states:z.array(ExperimentImprovementStateSchema).max(50),nextCursor:Id.nullable()}).strict();\nexport const StartExperimentImprovementSchema=z.object({operationId:Id,ownerWorkspaceId:Id,expectedOwnerRevision:z.number().int().nonnegative(),baseRelease:ImmutableReleaseRefSchema,\n profileRef:OpenPondProfileRefSchema,profileSourceRevision:z.string().min(1).max(500),projectId:Id.nullable(),evidence:ImmutableReleaseRefSchema,\n component:ExperimentImprovementStateSchema.shape.component,mode:ExperimentImprovementStateSchema.shape.mode,limits:ExperimentImprovementStateSchema.shape.limits}).strict();\nexport const ExperimentImprovementCommandSchema=z.discriminatedUnion(\"operation\",[\n z.object({operation:z.literal(\"list\"),limit:z.number().int().min(1).max(50).default(30),cursor:Id.optional()}).strict(),\n z.object({operation:z.literal(\"options\"),evidence:ImmutableReleaseRefSchema}).strict(),\n z.object({operation:z.literal(\"start\"),request:StartExperimentImprovementSchema}).strict(),\n z.object({operation:z.enum([\"read\",\"humanComparisonOptions\"]),id:Id}).strict(),\n z.object({operation:z.literal(\"instructions\"),id:Id}).strict(),\n z.object({operation:z.literal(\"edit\"),id:Id,revision:z.number().int().positive(),expectedFileHash:Hash,text:z.string().max(250000)}).strict(),\n z.object({operation:z.literal(\"mode\"),id:Id,revision:z.number().int().positive(),mode:z.enum([\"manual\",\"llm_assisted\"])}).strict(),\n z.object({operation:z.literal(\"author\"),id:Id,revision:z.number().int().positive(),modelId:Id,prompt:z.string().min(1).max(20000)}).strict(),\n z.object({operation:z.enum([\"freeze\",\"finishAuthoring\",\"useCandidate\",\"discard\",\"cancel\",\"rollback\"]),id:Id,revision:z.number().int().positive()}).strict(),\n z.object({operation:z.literal(\"test\"),id:Id,revision:z.number().int().positive(),recipe:ExperimentImprovementTestRecipeSchema}).strict(),\n z.object({operation:z.literal(\"compare\"),id:Id,revision:z.number().int().positive(),baseline:ImmutableReleaseRefSchema,candidate:ImmutableReleaseRefSchema,humanSelections:HumanComparisonSelectionsSchema.optional()}).strict(),\n]);\nexport type ExperimentImprovementCommand=z.input<typeof ExperimentImprovementCommandSchema>;\n\nexport const ExperimentImprovementOptionsSchema=z.object({teamId:Id,evidence:ImmutableReleaseRefSchema,scoring:ExperimentImprovementScoringSchema.optional(),profiles:z.array(z.object({id:Hash,name:z.string(),profileRef:OpenPondProfileRefSchema,ownerWorkspaceId:Id,ownerRevision:z.number().int().nonnegative(),baseRelease:ImmutableReleaseRefSchema,profileSourceRevision:z.string(),components:z.array(z.object({kind:z.enum([\"skill\",\"instruction\",\"agent\",\"workflow\"]),path:z.string(),agentId:z.string().optional(),workflowId:z.string().optional(),label:z.string(),binding:ProfileExternalDatasetBindingSchema}).strict()).max(500)}).strict()).max(100)}).strict();\n\nexport const ExperimentImprovementHumanOptionsSchema=z.object({candidateId:Id,actorId:Id,teamId:Id,projectId:Id.nullable(),candidateRevision:z.number().int().positive(),recipeHash:Hash,baseline:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),candidate:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),contentHash:Hash}).strict();\nexport type ExperimentImprovementHumanOptions=z.infer<typeof ExperimentImprovementHumanOptionsSchema>;\nexport function verifyExperimentImprovementHumanOptions(raw:unknown){const value=ExperimentImprovementHumanOptionsSchema.parse(raw),{contentHash:hash,...body}=value;if(contentHash(body)!==hash)throw new Error(\"Accepted Human discovery integrity failed.\");for(const lane of [value.baseline,value.candidate]){verifyExperimentEvidence(lane);if(lane.manifest.teamId!==value.teamId||lane.manifest.lineage?.humanProjection)throw new Error(\"Discovery must retain original owner evidence.\");}return value;}\nexport function sealExperimentImprovementHumanOptions(state:ExperimentImprovementState,pair:{baseline:{manifest:z.infer<typeof ExperimentManifestSchema>;result:z.infer<typeof ExperimentResultSchema>};candidate:{manifest:z.infer<typeof ExperimentManifestSchema>;result:z.infer<typeof ExperimentResultSchema>}}){if(!state.test||state.test.cancelRequestedAt)throw new Error(\"The paired test is unavailable.\");const body={candidateId:state.id,actorId:state.actorId,teamId:state.teamId,projectId:state.projectId,candidateRevision:state.revision,recipeHash:state.test.recipeHash,...pair};return verifyExperimentImprovementHumanOptions({...body,contentHash:contentHash(body)});}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,35 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __commonJS = (cb, mod) => function __require() {
8
+ try {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ } catch (e) {
11
+ throw mod = 0, e;
12
+ }
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+
31
+ export {
32
+ __commonJS,
33
+ __toESM
34
+ };
35
+ //# sourceMappingURL=chunk-YLJ4XMA6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -118,4 +118,4 @@ export {
118
118
  OpenPondTasksetCatalogError,
119
119
  OpenPondTasksetCatalogClient
120
120
  };
121
- //# sourceMappingURL=chunk-K3JCP4FO.js.map
121
+ //# sourceMappingURL=chunk-Z252BNAZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/taskset-catalog.ts"],"sourcesContent":["import { z } from \"zod\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const TasksetCatalogReleaseRefSchema = z.object({ id: IdSchema, revision: z.number().int().positive(), contentHash: HashSchema }).strict();\n\n/** Inventory metadata only. Task rows, evaluator source, and object locations\n * are resolved separately by an authorized package operation. */\nexport const HostedTasksetSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.hostedTasksetSummary.v1\"),\n id: IdSchema,\n teamId: IdSchema,\n release: TasksetCatalogReleaseRefSchema,\n name: z.string().min(1).max(500),\n description: z.string().max(20_000),\n taskCount: z.number().int().nonnegative(),\n buildIntent: z.string().min(1).max(100),\n methodHint: z.string().min(1).max(100).nullable(),\n packageBytes: z.number().int().nonnegative().nullable(),\n storedBytes: z.number().int().nonnegative().nullable(),\n createdAt: z.string().datetime({ offset: true }),\n}).strict();\nexport const TasksetCatalogQuerySchema = z.object({\n afterId: z.string().trim().min(1).max(2_000).optional(),\n limit: z.number().int().min(1).max(100).default(30),\n modelProjectId: IdSchema.optional(),\n projectId: IdSchema.optional(),\n search: z.string().trim().max(100).optional(),\n sort: z.enum([\"id\", \"name\", \"updated\"]).default(\"id\"),\n}).strict();\nexport const TasksetCatalogPageSchema = z.object({\n items: z.array(HostedTasksetSummarySchema).max(100),\n nextCursor: z.string().trim().min(1).max(2_000).nullable(),\n}).strict();\nexport const TasksetCatalogErrorSchema = z.object({\n code: z.string().min(1),\n message: z.string().min(1),\n}).strict();\nexport type HostedTasksetSummary = z.infer<typeof HostedTasksetSummarySchema>;\nexport type TasksetCatalogPage = z.infer<typeof TasksetCatalogPageSchema>;\n\nexport class OpenPondTasksetCatalogError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) {\n super(message);\n this.name = \"OpenPondTasksetCatalogError\";\n }\n}\n\nexport interface TasksetCatalogClientOptions {\n baseUrl: string;\n apiKey: string;\n teamId: string;\n fetch?: typeof globalThis.fetch;\n}\n\nexport class OpenPondTasksetCatalogClient {\n readonly #options: TasksetCatalogClientOptions;\n constructor(options: TasksetCatalogClientOptions) {\n if (!options.apiKey.trim() || !options.teamId.trim()) throw new Error(\"Taskset API key and workspace are required.\");\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Taskset base URL must be an HTTP(S) endpoint without credentials, query, or fragment.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n\n async list(query: z.input<typeof TasksetCatalogQuerySchema> = {}, options: { signal?: AbortSignal } = {}): Promise<TasksetCatalogPage> {\n const parsed = TasksetCatalogQuerySchema.parse(query);\n const search = new URLSearchParams({ limit: String(parsed.limit) });\n if (parsed.afterId) search.set(\"afterId\", parsed.afterId);\n if (parsed.modelProjectId) search.set(\"modelProjectId\", parsed.modelProjectId);\n if (parsed.projectId) search.set(\"projectId\", parsed.projectId);\n if (parsed.search !== undefined) search.set(\"search\", parsed.search);\n search.set(\"sort\", parsed.sort);\n const page = TasksetCatalogPageSchema.parse(await this.#request(`?${search}`, options.signal));\n if (page.items.length > parsed.limit || new Set(page.items.map(item => item.id)).size !== page.items.length || page.items.some((item) => item.teamId !== this.#options.teamId)) throw new OpenPondTasksetCatalogError(502, \"catalog_scope_mismatch\", \"Taskset inventory did not match the requested workspace or page size.\");\n return page;\n }\n\n async get(id: string, options: { signal?: AbortSignal } = {}): Promise<HostedTasksetSummary> {\n const parsed = IdSchema.parse(id);\n const item = HostedTasksetSummarySchema.parse(await this.#request(`/${encodeURIComponent(parsed)}`, options.signal));\n if (item.id !== parsed || item.teamId !== this.#options.teamId) throw new OpenPondTasksetCatalogError(502, \"catalog_identity_mismatch\", \"Taskset metadata did not match the requested identity.\");\n return item;\n }\n\n /** Resolve a saved portable reference without scanning inventory pages. */\n async resolve(release: z.infer<typeof TasksetCatalogReleaseRefSchema>, options: { signal?: AbortSignal } = {}): Promise<HostedTasksetSummary> {\n const parsed = TasksetCatalogReleaseRefSchema.parse(release);\n const item = HostedTasksetSummarySchema.parse(await this.#request(`/releases/${encodeURIComponent(parsed.id)}/${parsed.revision}/${parsed.contentHash}`, options.signal));\n if (item.teamId !== this.#options.teamId || item.release.id !== parsed.id || item.release.revision !== parsed.revision || item.release.contentHash !== parsed.contentHash) throw new OpenPondTasksetCatalogError(502, \"catalog_release_mismatch\", \"Taskset metadata did not match the requested immutable release.\");\n return item;\n }\n\n async #request(path: string, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/taskset-catalog${path}`, {\n headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, Accept: \"application/json\" },\n signal, redirect: \"error\",\n });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondTasksetCatalogError(response.status, \"empty_response\", \"Taskset catalog response was empty.\");\n const decoder = new TextDecoder();\n let bytes = 0;\n let text = \"\";\n try {\n while (true) {\n const chunk = await reader.read();\n if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 4_194_304) throw new OpenPondTasksetCatalogError(response.status, \"response_too_large\", \"Taskset catalog response exceeded 4 MiB.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const payload: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = TasksetCatalogErrorSchema.safeParse(payload);\n throw new OpenPondTasksetCatalogError(response.status, error.success ? error.data.code : \"invalid_error_response\", error.success ? error.data.message : `Taskset catalog request failed (${response.status}).`);\n }\n return payload;\n }\n}\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,IAAM,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACjD,IAAM,aAAa,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAC7C,IAAM,iCAAiC,EAAE,OAAO,EAAE,IAAI,UAAU,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,aAAa,WAAW,CAAC,EAAE,OAAO;AAIzI,IAAM,6BAA6B,EAAE,OAAO;AAAA,EACjD,eAAe,EAAE,QAAQ,kCAAkC;AAAA,EAC3D,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC/B,aAAa,EAAE,OAAO,EAAE,IAAI,GAAM;AAAA,EAClC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAChD,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,EACtD,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,EACrD,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AACjD,CAAC,EAAE,OAAO;AACH,IAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACtD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AAAA,EAClD,gBAAgB,SAAS,SAAS;AAAA,EAClC,WAAW,SAAS,SAAS;AAAA,EAC7B,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAC5C,MAAM,EAAE,KAAK,CAAC,MAAM,QAAQ,SAAS,CAAC,EAAE,QAAQ,IAAI;AACtD,CAAC,EAAE,OAAO;AACH,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,OAAO,EAAE,MAAM,0BAA0B,EAAE,IAAI,GAAG;AAAA,EAClD,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAC3D,CAAC,EAAE,OAAO;AACH,IAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACtB,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;AAC3B,CAAC,EAAE,OAAO;AAIH,IAAM,8BAAN,cAA0C,MAAM;AAAA,EACrD,YAAqB,QAAyB,MAAc,SAAiB;AAC3E,UAAM,OAAO;AADM;AAAyB;AAE5C,SAAK,OAAO;AAAA,EACd;AAAA,EAHqB;AAAA,EAAyB;AAIhD;AASO,IAAM,+BAAN,MAAmC;AAAA,EAC/B;AAAA,EACT,YAAY,SAAsC;AAChD,QAAI,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,QAAQ,OAAO,KAAK,EAAG,OAAM,IAAI,MAAM,6CAA6C;AACnH,UAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,KAAM,OAAM,IAAI,MAAM,uFAAuF;AAClN,SAAK,WAAW,EAAE,GAAG,SAAS,SAAS,IAAI,SAAS,EAAE,QAAQ,QAAQ,EAAE,EAAE;AAAA,EAC5E;AAAA,EAEA,MAAM,KAAK,QAAmD,CAAC,GAAG,UAAoC,CAAC,GAAgC;AACrI,UAAM,SAAS,0BAA0B,MAAM,KAAK;AACpD,UAAM,SAAS,IAAI,gBAAgB,EAAE,OAAO,OAAO,OAAO,KAAK,EAAE,CAAC;AAClE,QAAI,OAAO,QAAS,QAAO,IAAI,WAAW,OAAO,OAAO;AACxD,QAAI,OAAO,eAAgB,QAAO,IAAI,kBAAkB,OAAO,cAAc;AAC7E,QAAI,OAAO,UAAW,QAAO,IAAI,aAAa,OAAO,SAAS;AAC9D,QAAI,OAAO,WAAW,OAAW,QAAO,IAAI,UAAU,OAAO,MAAM;AACnE,WAAO,IAAI,QAAQ,OAAO,IAAI;AAC9B,UAAM,OAAO,yBAAyB,MAAM,MAAM,KAAK,SAAS,IAAI,MAAM,IAAI,QAAQ,MAAM,CAAC;AAC7F,QAAI,KAAK,MAAM,SAAS,OAAO,SAAS,IAAI,IAAI,KAAK,MAAM,IAAI,UAAQ,KAAK,EAAE,CAAC,EAAE,SAAS,KAAK,MAAM,UAAU,KAAK,MAAM,KAAK,CAAC,SAAS,KAAK,WAAW,KAAK,SAAS,MAAM,EAAG,OAAM,IAAI,4BAA4B,KAAK,0BAA0B,uEAAuE;AAC5T,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,IAAI,IAAY,UAAoC,CAAC,GAAkC;AAC3F,UAAM,SAAS,SAAS,MAAM,EAAE;AAChC,UAAM,OAAO,2BAA2B,MAAM,MAAM,KAAK,SAAS,IAAI,mBAAmB,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC;AACnH,QAAI,KAAK,OAAO,UAAU,KAAK,WAAW,KAAK,SAAS,OAAQ,OAAM,IAAI,4BAA4B,KAAK,6BAA6B,wDAAwD;AAChM,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,MAAM,QAAQ,SAAyD,UAAoC,CAAC,GAAkC;AAC5I,UAAM,SAAS,+BAA+B,MAAM,OAAO;AAC3D,UAAM,OAAO,2BAA2B,MAAM,MAAM,KAAK,SAAS,aAAa,mBAAmB,OAAO,EAAE,CAAC,IAAI,OAAO,QAAQ,IAAI,OAAO,WAAW,IAAI,QAAQ,MAAM,CAAC;AACxK,QAAI,KAAK,WAAW,KAAK,SAAS,UAAU,KAAK,QAAQ,OAAO,OAAO,MAAM,KAAK,QAAQ,aAAa,OAAO,YAAY,KAAK,QAAQ,gBAAgB,OAAO,YAAa,OAAM,IAAI,4BAA4B,KAAK,4BAA4B,iEAAiE;AACnT,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,SAAS,MAAc,QAAwC;AACnE,UAAM,WAAW,OAAO,KAAK,SAAS,SAAS,WAAW,OAAO,GAAG,KAAK,SAAS,OAAO,sBAAsB,IAAI,IAAI;AAAA,MACrH,SAAS,EAAE,eAAe,UAAU,KAAK,SAAS,MAAM,IAAI,sBAAsB,KAAK,SAAS,QAAQ,QAAQ,mBAAmB;AAAA,MACnI;AAAA,MAAQ,UAAU;AAAA,IACpB,CAAC;AACD,UAAM,SAAS,SAAS,MAAM,UAAU;AACxC,QAAI,CAAC,OAAQ,OAAM,IAAI,4BAA4B,SAAS,QAAQ,kBAAkB,qCAAqC;AAC3H,UAAM,UAAU,IAAI,YAAY;AAChC,QAAI,QAAQ;AACZ,QAAI,OAAO;AACX,QAAI;AACF,aAAO,MAAM;AACX,cAAM,QAAQ,MAAM,OAAO,KAAK;AAChC,YAAI,MAAM,KAAM;AAChB,iBAAS,MAAM,MAAM;AACrB,YAAI,QAAQ,QAAW,OAAM,IAAI,4BAA4B,SAAS,QAAQ,sBAAsB,0CAA0C;AAC9I,gBAAQ,QAAQ,OAAO,MAAM,OAAO,EAAE,QAAQ,KAAK,CAAC;AAAA,MACtD;AACA,cAAQ,QAAQ,OAAO;AAAA,IACzB,UAAE;AAAU,YAAM,OAAO,OAAO;AAAG,aAAO,YAAY;AAAA,IAAG;AACzD,UAAM,UAAmB,KAAK,MAAM,IAAI;AACxC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,QAAQ,0BAA0B,UAAU,OAAO;AACzD,YAAM,IAAI,4BAA4B,SAAS,QAAQ,MAAM,UAAU,MAAM,KAAK,OAAO,0BAA0B,MAAM,UAAU,MAAM,KAAK,UAAU,mCAAmC,SAAS,MAAM,IAAI;AAAA,IAChN;AACA,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  RunExperimentSchema
3
- } from "./chunk-G53MA5XX.js";
3
+ } from "./chunk-WMIKJGXW.js";
4
4
  import {
5
5
  HostedModelProjectSummarySchema,
6
6
  OpenPondProtocolError,
7
7
  canonicalSha256
8
- } from "./chunk-TCHAWJMB.js";
8
+ } from "./chunk-HGXVOFCL.js";
9
9
  import {
10
10
  contentHash
11
- } from "./chunk-COPVBJPL.js";
11
+ } from "./chunk-H3JZ3P5T.js";
12
12
 
13
13
  // src/post-training.ts
14
14
  import { z } from "zod";
@@ -291,4 +291,4 @@ export {
291
291
  HostedTrainingPolicyControlSchema,
292
292
  TrainingHandoffOriginSchema2 as TrainingHandoffOriginSchema
293
293
  };
294
- //# sourceMappingURL=chunk-MLPPSCDQ.js.map
294
+ //# sourceMappingURL=chunk-ZHQK3MOM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/post-training.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport {\n LearningSourceSchema,\n TaskBatchSchema,\n TaskDefinitionSchema,\n LearningPolicySchema,\n LearningPolicyInspectionResultSchema,\n LearningIterationSchema,\n} from \"@openpond/evals/learning\";\nimport { HostedModelProjectSummarySchema } from \"./model-projects.js\";\nimport { AcceptancePlanSchema } from \"@openpond/evals/learning\";\nimport { TrainingHandoffOriginSchema } from \"@openpond/evals/learning\";\nexport { TrainingHandoffOriginSchema, type TrainingHandoffOrigin } from \"@openpond/evals/learning\";\nimport { RunExperimentSchema } from \"./experiment-run-contracts.js\";\nimport { canonicalSha256, OpenPondProtocolError } from \"./protocol.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst Ref = z.object({ id: Id, contentHash: Hash }).strict();\nexport const TrainingHandoffContextSchema = z\n .object({\n available: z.boolean(),\n reason: z.string().max(1000).nullable(),\n origin: TrainingHandoffOriginSchema.nullable(),\n })\n .strict();\nexport type TrainingHandoffContext = z.infer<typeof TrainingHandoffContextSchema>;\nexport const PostTrainingAttachmentSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.postTrainingAttachment.v1\"),\n binding: z\n .object({\n kind: z.enum([\"preparation\", \"policy\"]),\n id: Id,\n revision: z.number().int().positive(),\n contentHash: Hash,\n })\n .strict(),\n projectId: Id.nullable(),\n automatic: z.boolean(),\n maximumSpendUsd: z.number().finite().positive().max(10_000),\n experiments: z\n .array(z.object({ id: Id, configuration: RunExperimentSchema }).strict())\n .min(1)\n .max(20),\n acceptancePlan: AcceptancePlanSchema.nullable(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (new Set(value.experiments.map((item) => item.id)).size !== value.experiments.length)\n ctx.addIssue({ code: \"custom\", message: \"Attach each evaluation once.\" });\n if (\n value.experiments.reduce((sum, item) => sum + item.configuration.maximumCostUsd, 0) >\n value.maximumSpendUsd + 1e-9\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Attached evaluation budgets exceed the total approved budget.\",\n });\n if (\n value.experiments.some(\n (item) => (item.configuration.request.project?.id ?? null) !== value.projectId,\n )\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Attached experiments must use the training Project.\",\n });\n if (value.acceptancePlan) {\n const checked = new Set(value.acceptancePlan.checks.map((c) => c.id));\n if (value.acceptancePlan.checks.some((c) => !value.experiments.some((m) => m.id === c.id)))\n ctx.addIssue({\n code: \"custom\",\n message: \"Select the frozen Experiment for each acceptance check.\",\n });\n const committed =\n value.acceptancePlan.maximumSpendUsd +\n value.experiments\n .filter((m) => !checked.has(m.id))\n .reduce((sum, m) => sum + m.configuration.maximumCostUsd, 0);\n if (committed > value.maximumSpendUsd + 1e-9)\n ctx.addIssue({\n code: \"custom\",\n message:\n \"Paired acceptance and diagnostic ceilings exceed the approved evaluation budget.\",\n });\n }\n });\nexport type PostTrainingAttachment = z.infer<typeof PostTrainingAttachmentSchema>;\n/** Target-independent recipe pins keep the paired baseline/candidate check on\n * the same released data, case order, settings and graders. */\nexport function postTrainingRecipe(\n configuration: PostTrainingAttachment[\"experiments\"][number][\"configuration\"],\n) {\n const {\n modelId: _model,\n candidate: _candidate,\n ...settings\n } = configuration.request.policy.kind === \"fixture\"\n ? { modelId: null, candidate: null, ...configuration.request.policy }\n : configuration.request.policy;\n void _model;\n void _candidate;\n if (\"modelConfigurationHash\" in settings)\n delete (settings as { modelConfigurationHash?: string }).modelConfigurationHash;\n return {\n dataset: {\n id: configuration.request.taskset.id,\n contentHash: configuration.request.taskset.contentHash,\n },\n populationHash: contentHash(\n configuration.request.population.map((m) => ({\n caseId: m.taskId,\n seed: m.seed,\n fixtureId: m.fixtureId,\n })),\n ),\n executionHash: contentHash({ settings, graders: configuration.graders ?? null }),\n };\n}\nexport const PostTrainingQualificationSchema = z\n .object({\n baseline: Ref,\n checks: z\n .array(\n z\n .object({\n id: Id,\n sourceRunId: Id,\n sourceManifestHash: Hash,\n targetConfigurationHash: Hash,\n executionHash: Hash,\n populationHash: Hash,\n evaluator: Ref,\n feedbackKey: Id,\n output: z.enum([\"boolean\", \"score\"]),\n unit: z.string().min(1).max(80),\n })\n .strict(),\n )\n .min(1)\n .max(100),\n })\n .strict();\nexport const PostTrainingStateSchema = z.enum([\n \"waiting_for_training\",\n \"ready\",\n \"preparing\",\n \"queued\",\n \"running\",\n \"cleaning\",\n \"completed\",\n \"failed\",\n \"blocked\",\n \"cancelled\",\n \"budget_exhausted\",\n]);\nexport const PostTrainingSummarySchema = z\n .object({\n schemaVersion: z.literal(\"openpond.postTrainingSummary.v1\"),\n id: Id,\n teamId: Id,\n jobId: Id,\n revision: z.number().int().positive(),\n planHash: Hash,\n automatic: z.boolean(),\n candidate: Ref.nullable(),\n state: PostTrainingStateSchema,\n total: z.number().int().positive(),\n completed: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(),\n requiredOutcome: z.enum([\"none\", \"pending\", \"passed\", \"failed\", \"blocked\"]),\n reason: z.string().max(500).nullable(),\n groupId: Id.nullable(),\n experimentIds: z.array(Id).max(20),\n updatedAt: z.iso.datetime(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (value.completed + value.failed > value.total)\n ctx.addIssue({ code: \"custom\", message: \"Evaluation totals are inconsistent.\" });\n if (\n [\"preparing\", \"queued\", \"running\", \"cleaning\", \"completed\"].includes(value.state) &&\n !value.candidate\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Evaluation execution requires the exact trained candidate.\",\n });\n });\nexport type PostTrainingSummary = z.infer<typeof PostTrainingSummarySchema>;\nexport const PostTrainingControlSchema = z\n .object({ operationId: Id, expectedRevision: z.number().int().positive(), planHash: Hash })\n .strict();\nexport const AttachPostTrainingSchema = z\n .object({ operationId: Id, attachment: PostTrainingAttachmentSchema })\n .strict();\nexport const PostTrainingPlanSchema = z\n .object({\n id: Id,\n teamId: Id,\n ownerUserId: Id,\n attachment: PostTrainingAttachmentSchema,\n qualification: PostTrainingQualificationSchema.nullable(),\n contentHash: Hash,\n createdAt: z.iso.datetime(),\n })\n .strict();\nexport type PostTrainingPlan = z.infer<typeof PostTrainingPlanSchema>;\nexport function verifyPostTrainingPlan(raw: unknown): PostTrainingPlan {\n const plan = PostTrainingPlanSchema.parse(raw);\n if (\n plan.contentHash !==\n contentHash({ attachment: plan.attachment, qualification: plan.qualification })\n )\n throw new Error(\"The retained evaluation attachment or qualification changed.\");\n return plan;\n}\nexport function postTrainingActive(summary: PostTrainingSummary | null | undefined) {\n return Boolean(summary && [\"preparing\", \"queued\", \"running\", \"cleaning\"].includes(summary.state));\n}\n\n/** Read/setup are configuration-only. Manual start authorizes exactly the\n * retained candidate, plan and revision. A retry never launches training. */\nexport function createPostTrainingClient(input: {\n request: (path: string, init?: RequestInit) => Promise<unknown>;\n}) {\n const { request } = input;\n const path = (jobId: string) =>\n `/v1/training/jobs/${encodeURIComponent(Id.parse(jobId))}/post-training`;\n async function read(raw: unknown, teamId: string, jobId: string) {\n if (raw === null) return null;\n const value = PostTrainingSummarySchema.parse(raw);\n if (value.teamId !== teamId || value.jobId !== jobId)\n throw new OpenPondProtocolError(\n \"post_training_scope_mismatch\",\n \"The evaluation summary belongs to another run or workspace.\",\n );\n return value;\n }\n return {\n async attach(teamId: string, raw: z.input<typeof AttachPostTrainingSchema>) {\n const body = AttachPostTrainingSchema.parse(raw);\n const value = verifyPostTrainingPlan(\n await request(\"/v1/training/post-training-plans\", {\n method: \"POST\",\n body: JSON.stringify(body),\n }),\n );\n if (\n value.teamId !== teamId ||\n (await canonicalSha256(value.attachment)) !== (await canonicalSha256(body.attachment))\n )\n throw new OpenPondProtocolError(\n \"post_training_plan_mismatch\",\n \"The retained attachment differs from the reviewed plan.\",\n );\n return value;\n },\n async get(teamId: string, jobId: string) {\n return read(await request(path(jobId)), teamId, jobId);\n },\n async control(\n teamId: string,\n jobId: string,\n action: \"start\" | \"retry\" | \"cancel\",\n raw: z.input<typeof PostTrainingControlSchema>,\n ) {\n const body = PostTrainingControlSchema.parse(raw);\n const value = await read(\n await request(`${path(jobId)}/${action}`, { method: \"POST\", body: JSON.stringify(body) }),\n teamId,\n jobId,\n );\n if (!value || value.planHash !== body.planHash)\n throw new OpenPondProtocolError(\n \"post_training_control_mismatch\",\n \"Evaluation control did not retain the approved plan.\",\n );\n return value;\n },\n };\n}\n\nexport const HostedTrainingSetupCatalogSchema = z\n .object({\n teamId: Id,\n actorId: Id,\n projectId: Id.nullable(),\n configuration: HostedModelProjectSummarySchema,\n batches: z.array(TaskBatchSchema).max(10_000),\n sources: z.array(LearningSourceSchema).max(10_000),\n definitions: z.array(TaskDefinitionSchema).max(10_000),\n experiments: z\n .array(\n z\n .object({\n id: Id,\n name: z.string().max(500),\n configuration: RunExperimentSchema,\n graders: z\n .array(z.object({ feedbackKey: Id, name: z.string().max(500), ref: Ref }).strict())\n .max(100),\n })\n .strict(),\n )\n .max(10_000),\n })\n .strict();\nexport type HostedTrainingSetupCatalog = z.infer<typeof HostedTrainingSetupCatalogSchema>;\n\nexport const HostedTrainingSetupActionSchema = z.enum([\n \"prepare\",\n \"start\",\n \"cancel\",\n \"publish\",\n \"attach\",\n]);\nexport type HostedTrainingSetupAction = z.infer<typeof HostedTrainingSetupActionSchema>;\n\nexport const HostedTrainingPolicyDetailSchema = z\n .object({\n teamId: Id,\n actorId: Id,\n configuration: HostedModelProjectSummarySchema,\n policy: LearningPolicySchema,\n inspection: LearningPolicyInspectionResultSchema,\n iterations: z\n .array(\n z\n .object({\n iteration: LearningIterationSchema,\n evals: PostTrainingSummarySchema.nullable(),\n })\n .strict(),\n )\n .max(100),\n nextCursor: Id.nullable(),\n })\n .strict();\nexport const HostedTrainingPolicyControlSchema = z\n .object({\n id: Id,\n expectedRevision: z.number().int().positive(),\n policyHash: Hash,\n operationId: Id,\n action: z.enum([\"pause\", \"resume\", \"reserve\", \"cancel-iteration\", \"retry-iteration\"]),\n iterationId: Id.optional(),\n iterationRevision: z.number().int().positive().optional(),\n })\n .strict();\nexport type HostedTrainingPolicyControl = z.infer<typeof HostedTrainingPolicyControlSchema>;\n"],"mappings":"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","names":["TrainingHandoffOriginSchema"]}
@@ -3,20 +3,20 @@ import {
3
3
  validateModelStarterExecution,
4
4
  validateModelTasksetPackage,
5
5
  validateTasksetPackage
6
- } from "./chunk-FHCSDXIA.js";
6
+ } from "./chunk-MO4HAJZG.js";
7
7
  import {
8
8
  ModelProjectBaseModelSchema,
9
9
  ModelProjectTrainingMethodSchema,
10
10
  ModelProjectTrainingSetupSchema,
11
11
  ModelProjectVersionedRefSchema,
12
12
  canonicalSha256
13
- } from "./chunk-TCHAWJMB.js";
13
+ } from "./chunk-HGXVOFCL.js";
14
14
  import {
15
15
  ModelInitialLearningSchema
16
- } from "./chunk-3KXDH6OB.js";
16
+ } from "./chunk-CL3IOOVL.js";
17
17
  import {
18
18
  contentHash
19
- } from "./chunk-COPVBJPL.js";
19
+ } from "./chunk-H3JZ3P5T.js";
20
20
 
21
21
  // src/model-starters.ts
22
22
  import { z } from "zod";
@@ -308,4 +308,4 @@ export {
308
308
  previewModelStarter,
309
309
  validateResolvedModelStarter
310
310
  };
311
- //# sourceMappingURL=chunk-6Q4I33CH.js.map
311
+ //# sourceMappingURL=chunk-ZIFZFP5I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/model-starters.ts","../src/model-training-defaults.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { ModelInitialLearningSchema } from \"./model-learning-intent.js\";\nimport { TasksetReleaseSchema, assertTasksetRelease } from \"@openpond/evals/tasksets\";\nimport { LearningTextAssetSchema, TaskDefinitionSchema, learningRef, sameLearningRef, sealLearningContent } from \"@openpond/evals/learning\";\nimport { RewardBindingSchema, RewardReleaseSchema, compileBoundGraders } from \"@openpond/evals/rewards\";\nimport { assertBoundedTaskJson, validateTaskValue } from \"@openpond/evals/task-schema\";\n\nimport { ModelProjectBaseModelSchema, ModelProjectTrainingMethodSchema, ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { canonicalSha256 } from \"./protocol.js\";\nimport { ModelStarterExecutionSchema, validateModelStarterExecution } from \"./model-starter-execution.js\";\n\nexport { ModelStarterExecutionSchema, ModelStarterEnvironmentAttemptSchema, verifyModelStarterEnvironmentAttempt, ModelStarterToolFixtureScriptSchema, createModelStarterExecutionAsset, modelStarterExecutionAssetId, resolveModelStarterExecutionAsset, type ModelStarterExecution, type ModelStarterExecutionContext } from \"./model-starter-execution.js\";\nexport { NativeHarnessExperimentAttemptSchema, verifyNativeHarnessExperimentAttempt, type NativeHarnessExperimentAttempt } from \"./model-starter-execution.js\";\nexport { ModelTasksetDerivationSchema, ModelTasksetPackageSchema, deriveModelTaskset, validateModelTasksetPackage, type ModelTasksetPackage } from \"./model-taskset-derivation.js\";\nexport { ModelTasksetExecutionResourcesSchema, createModelTasksetExecutionResourcesAsset, modelTasksetExecutionResourcesAssetId, resolveModelTasksetExecutionResourcesAsset } from \"./model-taskset-resources.js\";\nexport { prepareModelTrainingDefaults } from \"./model-training-defaults.js\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst RefSchema = ModelProjectVersionedRefSchema;\n\n/** Catalog records contain references and previews, never the private task rows. */\nexport const ModelStarterContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarter.v1\"),\n id: IdSchema,\n revision: z.number().int().positive(),\n name: z.string().trim().min(1).max(200),\n description: z.string().trim().min(1).max(2_000),\n category: z.enum([\"extraction\", \"support\", \"operations\", \"knowledge\", \"coding\", \"writing\", \"classification\"]),\n taskset: RefSchema,\n taskDefinition: RefSchema,\n rewardBinding: RefSchema,\n rewards: z.array(RefSchema).min(1).max(100),\n assets: z.array(RefSchema).max(1_000),\n previewTaskIds: z.array(IdSchema).min(1).max(8),\n startingModel: ModelProjectBaseModelSchema,\n supportedMethods: z.array(ModelProjectTrainingMethodSchema).min(1).max(8),\n defaultMethod: ModelProjectTrainingMethodSchema,\n provenance: z.object({ author: z.string().min(1).max(200), license: z.string().min(1).max(200), sourceDescription: z.string().min(1).max(2_000) }).strict(),\n // These are references to real results. Package publication does not create\n // evidence, qualify a starter, or enable continuous learning.\n evidence: z.object({ verifierFixtures: RefSchema.nullable(), baseline: RefSchema.nullable(), training: RefSchema.nullable(), evaluation: RefSchema.nullable() }).strict(),\n}).strict().superRefine((starter, context) => {\n if (!starter.supportedMethods.includes(starter.defaultMethod)) context.addIssue({ code: \"custom\", path: [\"defaultMethod\"], message: \"The default method must be supported by the package.\" });\n for (const field of [\"rewards\", \"assets\"] as const) {\n if (new Set(starter[field].map(ref => ref.id)).size !== starter[field].length) context.addIssue({ code: \"custom\", path: [field], message: \"Dependency identities must be unique.\" });\n }\n if (new Set(starter.previewTaskIds).size !== starter.previewTaskIds.length) context.addIssue({ code: \"custom\", path: [\"previewTaskIds\"], message: \"Preview tasks must be unique.\" });\n});\nexport const ModelStarterSchema = ModelStarterContentSchema.safeExtend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) });\nexport type ModelStarter = z.infer<typeof ModelStarterSchema>;\n\n/** A resolved small package, obtained separately from catalog discovery.\n * Large Tasksets remain manifest/shard resources; they are not list payloads. */\nexport const ResolvedModelStarterSchema = z.object({\n starter: ModelStarterSchema,\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 execution: ModelStarterExecutionSchema.optional(),\n}).strict();\nexport type ResolvedModelStarter = z.infer<typeof ResolvedModelStarterSchema>;\n\n/** Publisher attestation for original synthetic contact data, never a caller\n * override for arbitrary imports or for a failed secret scan. */\nexport const ModelStarterPrivacyReviewSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterPrivacyReview.v1\"),\n disposition: z.literal(\"synthetic_only\"),\n reviewedBy: z.string().trim().min(1).max(500), reviewedAt: z.iso.datetime(),\n reviewedContentHash: z.string().regex(/^[a-f0-9]{64}$/),\n note: z.string().trim().min(1).max(2_000),\n}).strict();\nexport function modelStarterPrivacyContentHash(value: ResolvedModelStarter): string {\n const { contentHash: _starterHash, ...starter } = value.starter;\n const { contentHash: _tasksetHash, ...taskset } = value.taskset;\n const { contentHash: _referenceHash, ...tasksetRef } = starter.taskset;\n const metadata = { ...taskset.metadata };\n const authoring = metadata.starterAuthoring;\n if (authoring && typeof authoring === \"object\" && !Array.isArray(authoring)) {\n const { privacyReview: _review, ...content } = authoring as Record<string, unknown>;\n metadata.starterAuthoring = content;\n }\n // Exclude only the attestation and hashes that contain that attestation.\n return sealLearningContent({ ...value, starter: { ...starter, taskset: tasksetRef }, taskset: { ...taskset, metadata } }).contentHash;\n}\n\n/** Final creation intent. The server resolves package bytes from its catalog;\n * callers cannot supply executable resources or qualification receipts here. */\nexport const ModelStarterCreationIntentSchema = z.object({\n profileId: IdSchema,\n modelId: IdSchema,\n name: z.string().trim().min(1).max(200),\n starter: RefSchema,\n startingModel: ModelProjectBaseModelSchema,\n method: ModelProjectTrainingMethodSchema,\n rewardBindingRef: RefSchema.nullable().optional(),\n learning: ModelInitialLearningSchema.optional(),\n}).strict();\nexport const ModelStarterCreationRequestSchema = ModelStarterCreationIntentSchema.extend({\n schemaVersion: z.literal(\"openpond.modelStarterCreation.v1\"),\n operationId: IdSchema,\n}).strict();\nexport type ModelStarterCreationRequest = z.infer<typeof ModelStarterCreationRequestSchema>;\n\nexport function parseModelStarterCreationRequest(value: unknown): ModelStarterCreationRequest {\n assertBoundedTaskJson(value, 64 * 1024);\n return ModelStarterCreationRequestSchema.parse(value);\n}\n\n/** Prepare once on final confirmation and retain across uncertain transport\n * outcomes. The server must bind operationId to the complete original intent\n * and atomically commit resources, model configuration and the retry receipt. */\nexport async function createModelStarterCreationRequest(\n value: z.input<typeof ModelStarterCreationIntentSchema>,\n): Promise<ModelStarterCreationRequest> {\n assertBoundedTaskJson(value, 64 * 1024);\n const intent = ModelStarterCreationIntentSchema.parse(value);\n return parseModelStarterCreationRequest({\n ...intent,\n schemaVersion: \"openpond.modelStarterCreation.v1\",\n operationId: `model-starter:${await canonicalSha256(intent)}`,\n });\n}\n\n/** Scope authorization belongs to the API. This validates the final intent\n * against the exact trusted package before any user resources are written. */\nexport function validateModelStarterCreation(value: unknown, packageValue: unknown) {\n const request = parseModelStarterCreationRequest(value);\n const resolved = validateResolvedModelStarter(packageValue);\n if (!sameLearningRef(request.starter, learningRef(resolved.starter))) throw new Error(\"Starter creation references a different package revision.\");\n if (!resolved.starter.supportedMethods.includes(request.method)) throw new Error(\"The selected training method is not supported by this starter.\");\n return { request, resolved };\n}\n\n/** Explicit projection keeps frozen examples, expected outputs, privileged\n * context and verifier source out of read-only model-facing previews. */\nexport function previewModelStarter(value: unknown) {\n const { starter, taskset, taskDefinition, rewardBinding, rewards } = validateResolvedModelStarter(value);\n return {\n starter,\n inputSchema: taskDefinition.inputSchema,\n outputSchema: taskDefinition.outputSchema,\n reward: {\n name: rewardBinding.name,\n description: rewardBinding.description,\n checks: rewardBinding.sources.map(source => {\n const reward = rewards.find(reward => sameLearningRef(source.reward, learningRef(reward)))!;\n return { name: reward.name, description: reward.description, kind: reward.implementation.kind, role: source.role, weight: source.weight, required: source.required, hardGate: source.hardGate };\n }),\n },\n tasks: starter.previewTaskIds.map(id => {\n const task = taskset.tasks.find(task => task.id === id)!;\n return { id: task.id, input: task.input, policyVisibleContext: task.policyVisibleContext };\n }),\n counts: {\n train: taskset.tasks.filter(task => task.split === \"train\").length,\n validation: taskset.tasks.filter(task => task.split === \"validation\").length,\n frozenEvaluation: taskset.tasks.filter(task => task.split === \"frozen_eval\").length,\n },\n };\n}\n\n/** Verify the dependency graph before creating user-owned configuration.\n * A matching outer hash alone cannot authorize substituted private graders. */\nexport function validateResolvedModelStarter(value: unknown): ResolvedModelStarter {\n assertBoundedTaskJson(value, 16 * 1024 * 1024);\n const resolved = ResolvedModelStarterSchema.parse(value);\n const { starter, taskset, taskDefinition, rewardBinding, rewards, assets } = resolved;\n const authoring = taskset.metadata.starterAuthoring;\n if (authoring && typeof authoring === \"object\" && !Array.isArray(authoring) && \"privacyReview\" in authoring) {\n const review = ModelStarterPrivacyReviewSchema.parse(authoring.privacyReview);\n if (review.reviewedContentHash !== modelStarterPrivacyContentHash(resolved)) throw new Error(\"Starter privacy review differs from the published contents.\");\n }\n const resources = [starter, taskset, taskDefinition, rewardBinding, ...rewards, ...assets];\n for (const resource of resources) {\n const { contentHash, ...content } = resource;\n if (sealLearningContent(content).contentHash !== contentHash) throw new Error(`Starter resource integrity failed: ${resource.id}.`);\n }\n assertTasksetRelease(taskset);\n validateModelStarterExecution(resolved.execution, taskset, assets);\n function exact(expected: z.infer<typeof RefSchema>, resource: { id: string; revision: number; contentHash: string }) {\n if (!sameLearningRef(expected, learningRef(resource))) throw new Error(`Starter dependency mismatch: ${expected.id}.`);\n }\n exact(starter.taskset, taskset);\n exact(starter.taskDefinition, taskDefinition);\n exact(starter.rewardBinding, rewardBinding);\n exact(taskDefinition.rewardBinding, rewardBinding);\n if (rewardBinding.recipeRef) throw new Error(\"Starter binding recipes must be resolved into a standalone binding before publication.\");\n const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = taskset;\n const execution = { policy, environment, ...(environmentRelease ? { environmentRelease } : {}), tools, capabilities, ...(verifierSetRelease ? { verifierSetRelease } : {}) };\n if (sealLearningContent(execution).contentHash !== sealLearningContent(taskDefinition.execution).contentHash) throw new Error(\"Starter execution context differs from its task format.\");\n if (sealLearningContent({ graders: taskset.graders }).contentHash !== sealLearningContent({ graders: compileBoundGraders(rewardBinding, rewards) }).contentHash) throw new Error(\"Starter executable graders differ from its Reward binding.\");\n for (const [references, values] of [[starter.rewards, rewards], [starter.assets, assets]] as const) {\n if (references.length !== values.length || new Set(values.map(resource => resource.id)).size !== values.length) throw new Error(\"Starter dependency inventory mismatch.\");\n for (const ref of references) {\n const resource = values.find(value => value.id === ref.id);\n if (!resource) throw new Error(`Starter dependency is missing: ${ref.id}.`);\n exact(ref, resource);\n }\n }\n for (const source of rewardBinding.sources) {\n const reward = rewards.find(reward => reward.id === source.reward.id);\n if (!reward) throw new Error(`Starter Reward is missing: ${source.reward.id}.`);\n exact(source.reward, reward);\n }\n for (const reward of rewards) {\n const implementation = reward.implementation;\n const references = [...reward.assets,\n ...(\"verifierRef\" in implementation ? [implementation.verifierRef] : []),\n ...(\"rubricRef\" in implementation ? [implementation.rubricRef] : []),\n ...(\"inputContract\" in implementation ? [implementation.inputContract] : []),\n ];\n for (const ref of references) {\n const asset = assets.find(asset => asset.id === ref.id);\n if (!asset || sealLearningContent(asset.asset).contentHash !== sealLearningContent(ref).contentHash) throw new Error(`Starter Reward source is missing or changed: ${ref.id}.`);\n if (ref.visibility === \"policy\") throw new Error(`Starter Reward source must remain private to its evaluator: ${ref.id}.`);\n }\n }\n if (new Set(taskset.tasks.map(task => task.id)).size !== taskset.tasks.length) throw new Error(\"Starter task identities must be unique.\");\n const inputSplits = new Map<string, string>();\n for (const task of taskset.tasks) {\n if (task.policyVisibleContext.instructions !== taskDefinition.instructions) throw new Error(`Starter task does not carry its declared model instructions: ${task.id}.`);\n const inputHash = sealLearningContent({ input: task.input, context: task.policyVisibleContext }).contentHash;\n const priorSplit = inputSplits.get(inputHash);\n if (priorSplit && priorSplit !== task.split) throw new Error(\"Starter policy input appears in multiple splits.\");\n inputSplits.set(inputHash, task.split);\n if (!validateTaskValue(taskDefinition.inputSchema, task.input).valid) throw new Error(`Starter task input does not match its format: ${task.id}.`);\n if (task.expectedOutput !== null && !validateTaskValue(taskDefinition.outputSchema, task.expectedOutput).valid) throw new Error(`Starter expected output does not match its format: ${task.id}.`);\n }\n for (const id of starter.previewTaskIds) {\n const task = taskset.tasks.find(task => task.id === id);\n if (!task || task.split === \"frozen_eval\") throw new Error(`Starter preview task is unavailable: ${id}.`);\n }\n return resolved;\n}\n","import { contentHash } from \"@openpond/harness\";\nimport { compileBoundGraders } from \"@openpond/evals/rewards\";\nimport { validateModelTasksetPackage } from \"./model-taskset-derivation.js\";\nimport { ModelProjectTrainingSetupSchema, type ModelProjectTrainingSetup } from \"./model-projects.js\";\nimport { validateTasksetPackage } from \"./taskset-package-contracts.js\";\n\n/** Saved defaults do not authorize execution. The Run review still owns the\n * budget, runtime admission and exact training/evaluation population checks. */\nexport function prepareModelTrainingDefaults(input: {\n setup: ModelProjectTrainingSetup;\n package: unknown;\n}): ModelProjectTrainingSetup {\n const setup = ModelProjectTrainingSetupSchema.parse(input.setup);\n const portable = typeof input.package === \"object\" && input.package !== null\n && \"schemaVersion\" in input.package && input.package.schemaVersion === \"openpond.tasksetPackage.v1\"\n ? validateTasksetPackage(input.package) : null;\n const bound = portable ? null : validateModelTasksetPackage(input.package);\n const source = portable ?? bound!;\n const ref = setup.tasksetRef;\n const selected = ref && ref.revision === source.taskset.revision && (portable\n ? (ref.id === portable.taskset.id && ref.contentHash === portable.taskset.contentHash)\n || (ref.id === portable.taskset.metadata.sourceTasksetId && ref.contentHash === portable.taskset.metadata.sourceTasksetHash)\n : ref.id === source.taskset.id);\n if (!selected) return setup;\n if (!setup.evaluationTasksetRef && source.taskset.tasks.some(task => task.split === \"frozen_eval\" || task.split === \"validation\")) {\n setup.evaluationTasksetRef = setup.tasksetRef;\n }\n const base = setup.baseModel;\n if (setup.method !== \"grpo\" || setup.recipe || !base?.revision\n || !base.tokenizerRevision || !base.chatTemplateHash) return setup;\n const training = source.taskset.tasks.filter(task => task.split === \"train\");\n const graders = portable ? portable.taskset.graders : compileBoundGraders(bound!.rewardBinding, bound!.rewards);\n const grader = graders.find(candidate => candidate.rewardEligible && candidate.weight > 0);\n const environment = portable?.environment ?? bound?.executionResources?.environment ?? bound?.execution?.environment;\n if (!training.length || !grader || !environment) return setup;\n const groupSize = 8;\n const maxSteps = 8;\n return ModelProjectTrainingSetupSchema.parse({\n ...setup,\n recipe: {\n schemaVersion: \"openpond.rftRecipe.v1\", method: \"grpo\", parameterization: \"lora\",\n baseModel: { id: base.modelId, revision: base.revision,\n tokenizerRevision: base.tokenizerRevision, chatTemplateHash: base.chatTemplateHash },\n dataset: { trainSplit: \"train\", validationSplit: source.taskset.tasks.some(task => task.split === \"frozen_eval\") ? \"frozen_eval\" : \"validation\",\n maxPromptTokens: 4_096, maxExamples: Math.min(1_000, training.length), selectionStrategy: \"stable_hash_top_n\" },\n lora: { rank: 2 },\n rollout: { groupSize, concurrency: 4,\n maxTurns: source.taskset.environment.kind === \"text\" ? 1 : 15,\n maxOutputTokens: 1_024, temperature: 0.8, topP: 0.95, seed: 17 },\n optimizer: { learningRate: 0.0001, maxSteps, clipRange: 0.2, iterations: 2,\n microbatchSize: 1, gradientAccumulationSteps: groupSize, advantageEpsilon: 1e-8,\n adamw: { name: \"adamw\", weightDecay: 0, beta1: 0.9, beta2: 0.999, epsilon: 1e-8 } },\n loss: { method: \"grpo\", klBeta: 0.01 },\n reward: { graderId: grader.id, graderHash: contentHash(graders),\n environmentId: environment.id, environmentVersion: String(environment.revision),\n toolContractHash: contentHash(source.taskset.tools), learnedPreference: null },\n resourceLimits: { wallTimeMs: 66 * 60 * 1_000, maxRollouts: maxSteps * groupSize, maxPayloadBytes: 1_000_000 },\n policyOptimization: null,\n },\n });\n}\n"],"mappings":"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","names":["compileBoundGraders","reward","task","contentHash","compileBoundGraders","value","asset"]}
@@ -31,7 +31,7 @@ import {
31
31
  hashCollectorEligibleBoundaries,
32
32
  summarizeCollectorCoverage,
33
33
  verifyConnectedRecordedExecution
34
- } from "./chunk-VY5AFE7A.js";
34
+ } from "./chunk-24N6A6SF.js";
35
35
  import {
36
36
  AgentImportCommitRequestSchema,
37
37
  AgentImportFileSchema,
@@ -48,28 +48,29 @@ import {
48
48
  ConnectedStartingAssetsReceiptSchema,
49
49
  ConnectedStartingAssetsRequestSchema,
50
50
  verifyConnectedStartingAssetsReceipt
51
- } from "./chunk-QEIT5VXJ.js";
52
- import "./chunk-36WJTS5V.js";
53
- import "./chunk-BFR3VC25.js";
54
- import "./chunk-K3JCP4FO.js";
55
- import "./chunk-ROBAX5TN.js";
56
- import "./chunk-CWXM57QR.js";
51
+ } from "./chunk-EFUT3XKW.js";
52
+ import "./chunk-B5XTGEBE.js";
53
+ import "./chunk-LR5CTOC5.js";
54
+ import "./chunk-Z252BNAZ.js";
55
+ import "./chunk-WQFU635Q.js";
56
+ import "./chunk-GAIDBPFY.js";
57
57
  import {
58
58
  ConnectedDatasetSourceRefSchema
59
- } from "./chunk-FHCSDXIA.js";
60
- import "./chunk-2U54EOXJ.js";
61
- import "./chunk-TMUAKJWX.js";
62
- import "./chunk-MLPPSCDQ.js";
63
- import "./chunk-G53MA5XX.js";
64
- import "./chunk-DUKW3R7O.js";
65
- import "./chunk-KAE7AMYE.js";
66
- import "./chunk-T4APHDES.js";
67
- import "./chunk-QTJQIHDZ.js";
68
- import "./chunk-ZJ3H3VS7.js";
69
- import "./chunk-CK3ONRRC.js";
70
- import "./chunk-TCHAWJMB.js";
71
- import "./chunk-3KXDH6OB.js";
72
- import "./chunk-COPVBJPL.js";
59
+ } from "./chunk-MO4HAJZG.js";
60
+ import "./chunk-TK3DXH7A.js";
61
+ import "./chunk-RRKRA237.js";
62
+ import "./chunk-ZHQK3MOM.js";
63
+ import "./chunk-WMIKJGXW.js";
64
+ import "./chunk-Q4TKI2MV.js";
65
+ import "./chunk-H3367ISL.js";
66
+ import "./chunk-O6FKHAWN.js";
67
+ import "./chunk-QRS7Y3EM.js";
68
+ import "./chunk-VN5V2E2S.js";
69
+ import "./chunk-U7XWIOSB.js";
70
+ import "./chunk-HGXVOFCL.js";
71
+ import "./chunk-CL3IOOVL.js";
72
+ import "./chunk-H3JZ3P5T.js";
73
+ import "./chunk-YLJ4XMA6.js";
73
74
  export {
74
75
  AgentImportCommitRequestSchema,
75
76
  AgentImportFileSchema,
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
6
- "names": []
7
- }
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,3 +1,5 @@
1
+ import "./chunk-YLJ4XMA6.js";
2
+
1
3
  // src/dataset-commerce-files.ts
2
4
  import { z as z3 } from "zod";
3
5