openpond-sdk 0.9.9 → 0.11.0

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 (253) hide show
  1. package/README.md +18 -17
  2. package/dist/advanced-refiner-evaluations.js +42 -0
  3. package/dist/advanced-refiner-evaluations.js.map +7 -0
  4. package/dist/candidate-evaluations.js +25 -0
  5. package/dist/candidate-evaluations.js.map +7 -0
  6. package/dist/{chunk-BGXWHDYM.js → chunk-2JKV5OJO.js} +95 -59
  7. package/dist/chunk-2JKV5OJO.js.map +7 -0
  8. package/dist/{chunk-4HZORGK3.js → chunk-2NSNBED7.js} +18 -5
  9. package/dist/chunk-2NSNBED7.js.map +7 -0
  10. package/dist/chunk-5RZAPZWI.js +445 -0
  11. package/dist/chunk-5RZAPZWI.js.map +7 -0
  12. package/dist/{chunk-JCPLAIZL.js → chunk-5U25KAJM.js} +106 -76
  13. package/dist/chunk-5U25KAJM.js.map +7 -0
  14. package/dist/chunk-7Q7I6FAT.js +139 -0
  15. package/dist/chunk-7Q7I6FAT.js.map +7 -0
  16. package/dist/chunk-A64VYVXN.js +64 -0
  17. package/dist/chunk-A64VYVXN.js.map +7 -0
  18. package/dist/{chunk-DT7FRNIZ.js → chunk-CSWVE3E6.js} +2 -2
  19. package/dist/chunk-DJWHN7NU.js +394 -0
  20. package/dist/chunk-DJWHN7NU.js.map +7 -0
  21. package/dist/{chunk-KYCQ7LZ4.js → chunk-DSGGM2ME.js} +2 -2
  22. package/dist/chunk-DSGGM2ME.js.map +7 -0
  23. package/dist/chunk-GDJRGRHA.js +144 -0
  24. package/dist/chunk-GDJRGRHA.js.map +7 -0
  25. package/dist/chunk-HOAYWW33.js +587 -0
  26. package/dist/chunk-HOAYWW33.js.map +7 -0
  27. package/dist/{chunk-Y4NGWGTA.js → chunk-I2MBVOVX.js} +265 -264
  28. package/dist/chunk-I2MBVOVX.js.map +7 -0
  29. package/dist/{chunk-6D4JIOOC.js → chunk-IXBSFJCX.js} +5 -5
  30. package/dist/{chunk-WOPM32SE.js → chunk-JA3KFK3U.js} +7 -1
  31. package/dist/chunk-JA3KFK3U.js.map +7 -0
  32. package/dist/chunk-JMQ4HBWP.js +160 -0
  33. package/dist/chunk-JMQ4HBWP.js.map +7 -0
  34. package/dist/chunk-KQWCXW3A.js +294 -0
  35. package/dist/chunk-KQWCXW3A.js.map +7 -0
  36. package/dist/{chunk-3HV3G6DG.js → chunk-NHCGOFQW.js} +3 -3
  37. package/dist/{chunk-XMKEFQ62.js → chunk-PJ2VLNJF.js} +20 -2
  38. package/dist/chunk-PJ2VLNJF.js.map +7 -0
  39. package/dist/{chunk-32H2EJRA.js → chunk-R3M6BIOK.js} +2 -2
  40. package/dist/chunk-SLS3GFPG.js +125 -0
  41. package/dist/chunk-SLS3GFPG.js.map +7 -0
  42. package/dist/chunk-SVU4RZ4K.js +70 -0
  43. package/dist/chunk-SVU4RZ4K.js.map +7 -0
  44. package/dist/chunk-T4APHDES.js +74 -0
  45. package/dist/chunk-T4APHDES.js.map +7 -0
  46. package/dist/chunk-VC5OV5AS.js +174 -0
  47. package/dist/chunk-VC5OV5AS.js.map +7 -0
  48. package/dist/{chunk-YYJ4T4U4.js → chunk-WX22WN33.js} +13 -7
  49. package/dist/chunk-WX22WN33.js.map +7 -0
  50. package/dist/chunk-XEUOJ5WF.js +31 -0
  51. package/dist/chunk-XEUOJ5WF.js.map +7 -0
  52. package/dist/{chunk-LGEF4S5I.js → chunk-XJDWHTH5.js} +390 -362
  53. package/dist/chunk-XJDWHTH5.js.map +7 -0
  54. package/dist/chunk-YCQVVFE5.js +37 -0
  55. package/dist/chunk-YCQVVFE5.js.map +7 -0
  56. package/dist/chunk-ZVJU5CJ5.js +267 -0
  57. package/dist/chunk-ZVJU5CJ5.js.map +7 -0
  58. package/dist/connected-evidence.js +81 -0
  59. package/dist/connected-evidence.js.map +7 -0
  60. package/dist/dataset-workspaces.js +45 -80
  61. package/dist/dataset-workspaces.js.map +4 -4
  62. package/dist/experiment-evaluation-schedules.js +48 -0
  63. package/dist/experiment-evaluation-schedules.js.map +7 -0
  64. package/dist/experiment-improvements.js +52 -0
  65. package/dist/experiment-improvements.js.map +7 -0
  66. package/dist/experiments.js +63 -124
  67. package/dist/experiments.js.map +4 -4
  68. package/dist/human-review.js +13 -0
  69. package/dist/human-review.js.map +7 -0
  70. package/dist/index.js +208 -17
  71. package/dist/index.js.map +2 -2
  72. package/dist/learning.js +1 -1
  73. package/dist/model-starter-attempts.js +2 -2
  74. package/dist/model-starter-catalog.js +9 -4
  75. package/dist/model-starter-catalog.js.map +1 -1
  76. package/dist/model-starters.js +15 -6
  77. package/dist/model-taskset-runs.js +3 -3
  78. package/dist/post-training.js +47 -0
  79. package/dist/post-training.js.map +7 -0
  80. package/dist/taskset-drafts.js +13 -6
  81. package/dist/taskset-drafts.js.map +2 -2
  82. package/dist/taskset-packages.js +31 -559
  83. package/dist/taskset-packages.js.map +4 -4
  84. package/dist/training-bundle.js +59 -18
  85. package/dist/training-bundle.js.map +2 -2
  86. package/dist/training-projects.js +3 -1
  87. package/dist/training-projects.js.map +2 -2
  88. package/dist/training.js +7 -2
  89. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +2673 -0
  90. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -0
  91. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +1079 -0
  92. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -0
  93. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +845 -0
  94. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -0
  95. package/dist/types/packages/sdk/src/claude-code-runtime.d.ts +51 -0
  96. package/dist/types/packages/sdk/src/claude-code-runtime.d.ts.map +1 -0
  97. package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts +15 -0
  98. package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts.map +1 -0
  99. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +48 -0
  100. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -0
  101. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +2460 -0
  102. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -0
  103. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +215 -0
  104. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts.map +1 -0
  105. package/dist/types/packages/sdk/src/connected-evidence-http.d.ts +6 -0
  106. package/dist/types/packages/sdk/src/connected-evidence-http.d.ts.map +1 -0
  107. package/dist/types/packages/sdk/src/connected-evidence.d.ts +6 -0
  108. package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -0
  109. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +690 -0
  110. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -0
  111. package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -0
  112. package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
  113. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +771 -120
  114. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  115. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +278 -38
  116. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  117. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +280 -40
  118. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  119. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +17 -0
  120. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -0
  121. package/dist/types/packages/sdk/src/experiment-client.d.ts +4353 -490
  122. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  123. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +1067 -2
  124. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  125. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +2780 -0
  126. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -0
  127. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts +58 -0
  128. package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts.map +1 -0
  129. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +8 -0
  130. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts.map +1 -1
  131. package/dist/types/packages/sdk/src/experiment-harness-catalog.d.ts +24 -0
  132. package/dist/types/packages/sdk/src/experiment-harness-catalog.d.ts.map +1 -0
  133. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +5724 -0
  134. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -0
  135. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +13024 -0
  136. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts.map +1 -0
  137. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +1361 -0
  138. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts.map +1 -0
  139. package/dist/types/packages/sdk/src/experiment-improvements.d.ts +4 -0
  140. package/dist/types/packages/sdk/src/experiment-improvements.d.ts.map +1 -0
  141. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +383 -0
  142. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -0
  143. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +2111 -0
  144. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -0
  145. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +7 -2
  146. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -1
  147. package/dist/types/packages/sdk/src/experiments.d.ts +7 -1
  148. package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
  149. package/dist/types/packages/sdk/src/grader-inspection.d.ts +307 -5
  150. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  151. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +238 -0
  152. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  153. package/dist/types/packages/sdk/src/human-review-client.d.ts +1267 -0
  154. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -0
  155. package/dist/types/packages/sdk/src/human-review.d.ts +3 -0
  156. package/dist/types/packages/sdk/src/human-review.d.ts.map +1 -0
  157. package/dist/types/packages/sdk/src/index.d.ts +10 -0
  158. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  159. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +181 -0
  160. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  161. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +20 -4
  162. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  163. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +79 -5
  164. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  165. package/dist/types/packages/sdk/src/model-batch-review.d.ts +15 -13
  166. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  167. package/dist/types/packages/sdk/src/model-learning-policy.d.ts +359 -1
  168. package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
  169. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +444 -19
  170. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +234 -12
  172. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  173. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +79 -1
  174. package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
  175. package/dist/types/packages/sdk/src/model-starters.d.ts +467 -13
  176. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  177. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +312 -4
  178. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +78 -1
  180. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +1326 -4
  182. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  183. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +1329 -5
  184. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  185. package/dist/types/packages/sdk/src/post-training.d.ts +3518 -0
  186. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -0
  187. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1127 -0
  188. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -0
  189. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +1369 -0
  190. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -0
  191. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +142 -22
  192. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  193. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +111 -18
  194. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  195. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +278 -38
  196. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  197. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +661 -103
  198. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  199. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +217 -20
  200. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  201. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +12 -12
  202. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +17 -17
  203. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +140 -20
  204. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  205. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +638 -42
  206. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  207. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +249 -36
  208. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  209. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +278 -38
  210. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  211. package/dist/types/packages/sdk/src/taskset-drafts.d.ts +1 -0
  212. package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -1
  213. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +2805 -41
  214. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  215. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +660 -12
  216. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  217. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +77 -3
  218. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
  219. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +29 -11
  220. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  221. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +430 -39
  222. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  223. package/dist/types/packages/sdk/src/training-acceptance.d.ts +10 -10
  224. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
  225. package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +1 -1
  226. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +376 -42
  227. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  228. package/dist/types/packages/sdk/src/training-preparations.d.ts +3930 -0
  229. package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
  230. package/dist/types/packages/sdk/src/training-project-client.d.ts +828 -8
  231. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  232. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +1226 -11
  233. package/dist/types/packages/sdk/src/training-project-contracts.d.ts.map +1 -1
  234. package/dist/types/packages/sdk/src/training.d.ts +2655 -24
  235. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  236. package/package.json +30 -2
  237. package/dist/chunk-4HZORGK3.js.map +0 -7
  238. package/dist/chunk-4JRSH2TT.js +0 -256
  239. package/dist/chunk-4JRSH2TT.js.map +0 -7
  240. package/dist/chunk-BGXWHDYM.js.map +0 -7
  241. package/dist/chunk-JCPLAIZL.js.map +0 -7
  242. package/dist/chunk-KYCQ7LZ4.js.map +0 -7
  243. package/dist/chunk-LGEF4S5I.js.map +0 -7
  244. package/dist/chunk-WOPM32SE.js.map +0 -7
  245. package/dist/chunk-XMKEFQ62.js.map +0 -7
  246. package/dist/chunk-Y4NGWGTA.js.map +0 -7
  247. package/dist/chunk-YYJ4T4U4.js.map +0 -7
  248. package/dist/types/packages/sdk/src/experiment-history.d.ts +0 -266
  249. package/dist/types/packages/sdk/src/experiment-history.d.ts.map +0 -1
  250. /package/dist/{chunk-DT7FRNIZ.js.map → chunk-CSWVE3E6.js.map} +0 -0
  251. /package/dist/{chunk-6D4JIOOC.js.map → chunk-IXBSFJCX.js.map} +0 -0
  252. /package/dist/{chunk-3HV3G6DG.js.map → chunk-NHCGOFQW.js.map} +0 -0
  253. /package/dist/{chunk-32H2EJRA.js.map → chunk-R3M6BIOK.js.map} +0 -0
@@ -1,21 +1,33 @@
1
+ import {
2
+ LearningDomainError,
3
+ TasksetDraftSourceInitializationSchema,
4
+ beginModelBatchReview,
5
+ bindOrdinaryModelTasksetReward,
6
+ findModelBatchReview,
7
+ inspectModelBatchPackage,
8
+ materializeTasksetDraftWorkspace,
9
+ prepareImportedTasksetPackage,
10
+ prepareTasksetDraftSource,
11
+ tasksetPackageSourceId
12
+ } from "./chunk-HOAYWW33.js";
1
13
  import {
2
14
  OpenPondTasksetPackageClient,
3
15
  OpenPondTasksetPackageError,
4
16
  TasksetPackageModelConfigurationSchema,
5
17
  TasksetPackagePublicationSchema,
6
18
  TasksetPackageReadbackSchema,
7
- TasksetPackageReceiptSchema
8
- } from "./chunk-XMKEFQ62.js";
19
+ TasksetPackageReceiptSchema,
20
+ TasksetReleasePackageReadbackSchema
21
+ } from "./chunk-PJ2VLNJF.js";
9
22
  import {
10
23
  ModelBatchReviewInspectionSchema,
11
24
  ModelBatchReviewReceiptSchema,
12
25
  ModelBatchReviewRequestSchema
13
26
  } from "./chunk-YVUIHH6Z.js";
14
27
  import {
15
- importedPackageGraders,
16
28
  learningVerifierModule,
17
29
  projectLearningBatchGraders
18
- } from "./chunk-3HV3G6DG.js";
30
+ } from "./chunk-NHCGOFQW.js";
19
31
  import {
20
32
  AuthoredTasksetFileInventorySchema,
21
33
  compileModelTasksetDraftWorkspace,
@@ -23,15 +35,8 @@ import {
23
35
  prepareAuthoredTasksetSource,
24
36
  prepareModelTasksetDraft,
25
37
  publishModelTasksetDraftPackage
26
- } from "./chunk-6D4JIOOC.js";
27
- import {
28
- TasksetDraftSchema,
29
- configuredTasksetDraftFiles,
30
- createTasksetDraft,
31
- createTasksetDraftWorkspace,
32
- decodeTasksetDraftWorkspaceFile,
33
- isManagedTasksetDraftFilePath
34
- } from "./chunk-32H2EJRA.js";
38
+ } from "./chunk-IXBSFJCX.js";
39
+ import "./chunk-R3M6BIOK.js";
35
40
  import "./chunk-K3JCP4FO.js";
36
41
  import {
37
42
  materializePortableTasksetRelease,
@@ -40,21 +45,14 @@ import {
40
45
  projectPortableTaskRecord,
41
46
  projectPreferenceComparisonRelease,
42
47
  resolvePortableTasksetRewardExecution
43
- } from "./chunk-DT7FRNIZ.js";
44
- import {
45
- GraderFixtureSchema,
46
- TasksetEnvironmentResourceSchema,
47
- TasksetSchema,
48
- TasksetSourceRefSchema,
49
- computeTasksetHash
50
- } from "./chunk-LGEF4S5I.js";
48
+ } from "./chunk-CSWVE3E6.js";
49
+ import "./chunk-XJDWHTH5.js";
51
50
  import {
52
51
  MAX_TASKSET_PACKAGE_BYTES,
53
52
  TasksetPackageContentSchema,
54
53
  TasksetPackageFileSchema,
55
54
  TasksetPackageLearningResourcesSchema,
56
55
  TasksetPackageSchema,
57
- compileModelTasksetReward,
58
56
  createTasksetPackage,
59
57
  createTasksetPackageExecutionFile,
60
58
  decodeTasksetPackageFile,
@@ -64,7 +62,7 @@ import {
64
62
  tasksetPackageRewardBinding,
65
63
  validateTasksetLearningResources,
66
64
  validateTasksetPackage
67
- } from "./chunk-WOPM32SE.js";
65
+ } from "./chunk-JA3KFK3U.js";
68
66
  import {
69
67
  ModelTasksetAuthoringOwnerSchema,
70
68
  ModelTasksetAuthoringSchema,
@@ -76,547 +74,20 @@ import {
76
74
  TasksetDraftFilePathSchema,
77
75
  TasksetDraftFileSchema
78
76
  } from "./chunk-2U54EOXJ.js";
79
- import "./chunk-JCPLAIZL.js";
77
+ import "./chunk-5U25KAJM.js";
78
+ import "./chunk-KQWCXW3A.js";
79
+ import "./chunk-XEUOJ5WF.js";
80
+ import "./chunk-2NSNBED7.js";
81
+ import "./chunk-WX22WN33.js";
82
+ import "./chunk-2JKV5OJO.js";
80
83
  import "./chunk-TCHAWJMB.js";
81
84
  import "./chunk-3KXDH6OB.js";
82
- import "./chunk-Y4NGWGTA.js";
83
- import {
84
- contentHash,
85
- sha256
86
- } from "./chunk-QUOW6URQ.js";
87
-
88
- // src/model-ordinary-taskset-reward.ts
89
- import { LearningTextAssetSchema, TaskDefinitionSchema, learningRef, sealLearningContent } from "@openpond/evals/learning";
90
- function bindOrdinaryModelTasksetReward(input) {
91
- const source = validateTasksetPackage(input.source);
92
- if (source.modelResources || source.learningResources) throw new Error("Binding an ordinary Reward requires an ordinary source package.");
93
- const instructions = resolveTasksetPackageInstructions(source);
94
- if (!instructions.trim()) throw new Error("Add collection instructions before selecting a saved Reward.");
95
- const assets = /* @__PURE__ */ new Map();
96
- const execution = resolveTasksetPackageExecution(source);
97
- for (const asset of execution?.assets ?? []) assets.set(asset.id, asset);
98
- const contextIds = /* @__PURE__ */ new Set([
99
- ...source.taskset.tasks.flatMap((task) => task.privilegedContextRef ? [task.privilegedContextRef] : []),
100
- ...[source.environment.actionSchemaRef, source.environment.observationSchemaRef, source.environment.stateSchemaRef].flatMap((ref) => ref ? [ref.id] : [])
101
- ]);
102
- for (const id of contextIds) {
103
- if (assets.has(id)) continue;
104
- const file = source.files.find((file2) => file2.asset.id === id);
105
- if (!file) throw new Error(`Source Taskset context is missing: ${id}.`);
106
- const text = new TextDecoder("utf-8", { fatal: true }).decode(decodeTasksetPackageFile(file));
107
- assets.set(id, LearningTextAssetSchema.parse(sealLearningContent({ schemaVersion: "openpond.learningTextAsset.v1", id, revision: 1, asset: file.asset, text })));
108
- }
109
- for (const asset of input.assets) {
110
- const original = source.files.find((file) => file.asset.id === asset.id);
111
- if (original && sealLearningContent({ asset: original.asset }).contentHash !== sealLearningContent({ asset: asset.asset }).contentHash) throw new Error(`Selected Reward conflicts with a source asset: ${asset.id}.`);
112
- assets.set(asset.id, asset);
113
- }
114
- const { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease } = source.taskset;
115
- const taskDefinition = TaskDefinitionSchema.parse(sealLearningContent({
116
- schemaVersion: "openpond.taskDefinition.v1",
117
- id: `${source.taskset.id}-definition`,
118
- revision: 1,
119
- name: source.taskset.id,
120
- description: "",
121
- instructions,
122
- category: "custom",
123
- familyNamespace: source.taskset.id,
124
- inputSchema: { type: "object" },
125
- outputSchema: { type: "object" },
126
- rewardBinding: learningRef(input.rewardBinding),
127
- harness: null,
128
- execution: { policy, environment, environmentRelease, tools, capabilities, verifierSetRelease }
129
- }));
130
- const derived = compileModelTasksetReward({ ...input, assets: [...assets.values()], source: {
131
- taskset: source.taskset,
132
- taskDefinition,
133
- instructionMode: "per_task",
134
- executionResources: { environment: source.environment, verifierSet: source.verifierSet },
135
- ...execution ? { execution: execution.execution } : {}
136
- } });
137
- const files = new Map(source.files.map((file) => [file.asset.id, file]));
138
- for (const asset of derived.assets) {
139
- let raw = "";
140
- for (const byte of new TextEncoder().encode(asset.text)) raw += String.fromCharCode(byte);
141
- files.set(asset.id, { asset: asset.asset, base64: btoa(raw) });
142
- }
143
- const { taskset, executionResources, ...modelResources } = derived;
144
- return createTasksetPackage({ schemaVersion: "openpond.tasksetPackage.v1", taskset, ...executionResources, modelResources, files: [...files.values()] });
145
- }
146
-
147
- // src/model-batch-review.ts
148
- import {
149
- LearningDomainError as LearningDomainError2,
150
- learningRef as learningRef3,
151
- sameLearningRef as sameLearningRef2,
152
- requireLearningRelease,
153
- requireLearningResource,
154
- taskBatchPackageMetadata as taskBatchPackageMetadata2
155
- } from "@openpond/evals/learning";
156
-
157
- // src/model-batch-review-preparation.ts
158
- import {
159
- LearningDomainError,
160
- LearningSourceSchema,
161
- TaskDefinitionSchema as TaskDefinitionSchema2,
162
- TaskEvidenceSchema,
163
- TaskFeedbackSchema,
164
- assertLearningContentHash,
165
- learningEvidenceId,
166
- learningRef as learningRef2,
167
- sameLearningRef,
168
- sealLearningContent as sealLearningContent2,
169
- taskBatchPackageMetadata,
170
- verifyLearningTextAsset
171
- } from "@openpond/evals/learning";
172
- import { compileBoundGraders, createRewardBinding, createRewardRelease, resolveBoundRewards } from "@openpond/evals/rewards";
173
- function prepareModelBatchReview(input) {
174
- const { request, package: value } = input;
175
- const learning = value.learningResources;
176
- if (!learning) throw new LearningDomainError("model_review_batch_required", 422);
177
- const metadata = taskBatchPackageMetadata(value.taskset);
178
- const id = `model-review-${contentHash([input.scope, request.modelId, request.operationId])}`;
179
- const edits = new Map(request.examples.map((edit) => [contentHash(edit.evidence), edit]));
180
- const parentRefs = new Set(learning.evidence.map((evidence2) => contentHash(learningRef2(evidence2))));
181
- const decisions = new Map(learning.decisions.map((decision) => [contentHash(decision.evidence), decision]));
182
- if (edits.size !== request.examples.length || request.examples.some((edit) => !parentRefs.has(contentHash(edit.evidence)))) {
183
- throw new LearningDomainError("model_review_evidence_mismatch", 409);
184
- }
185
- for (const resource of [input.binding, ...input.rewards, ...input.assets]) assertLearningContentHash(resource);
186
- resolveBoundRewards(input.binding, input.rewards);
187
- const rewardByHash = /* @__PURE__ */ new Map();
188
- for (const source2 of input.binding.sources) {
189
- const original = input.rewards.find((reward) => sameLearningRef(learningRef2(reward), source2.reward));
190
- const { contentHash: _hash, ...content } = original;
191
- rewardByHash.set(original.contentHash, createRewardRelease({ ...content, id: `${id}-reward-${original.contentHash}`, revision: 1 }));
192
- }
193
- const rewards = [...rewardByHash.values()];
194
- const { contentHash: _bindingHash, recipeRef: _recipe, ...bindingContent } = input.binding;
195
- const binding = createRewardBinding({
196
- ...bindingContent,
197
- id: `${id}-binding`,
198
- revision: 1,
199
- sources: input.binding.sources.map((source2) => ({ ...source2, reward: learningRef2(rewardByHash.get(source2.reward.contentHash)) }))
200
- }, rewards);
201
- const assetRefs = rewards.flatMap((reward) => [
202
- ...reward.assets,
203
- ..."verifierRef" in reward.implementation ? [reward.implementation.verifierRef] : [],
204
- ..."rubricRef" in reward.implementation ? [reward.implementation.rubricRef] : [],
205
- ..."inputContract" in reward.implementation ? [reward.implementation.inputContract] : []
206
- ]);
207
- const assets = [...new Map(assetRefs.map((ref) => {
208
- const asset = input.assets.find((asset2) => asset2.id === ref.id);
209
- if (!asset) throw new LearningDomainError("model_review_reward_asset_missing", 422);
210
- verifyLearningTextAsset(asset, ref);
211
- if (ref.visibility === "policy") throw new LearningDomainError("reward_asset_visibility_invalid", 422);
212
- return [asset.id, asset];
213
- })).values()];
214
- const { environmentRelease: _environment, verifierSetRelease: _verifiers, ...execution } = metadata.definition.execution;
215
- const { contentHash: _definitionHash, ...definitionContent } = metadata.definition;
216
- const definition = TaskDefinitionSchema2.parse(sealLearningContent2({
217
- ...definitionContent,
218
- ...request.definition,
219
- id: `${id}-definition`,
220
- revision: 1,
221
- rewardBinding: learningRef2(binding),
222
- execution: {
223
- ...execution,
224
- policy: { ...execution.policy, hiddenGraderRefs: compileBoundGraders(binding, rewards).filter((grader) => grader.privileged).map((grader) => grader.id) }
225
- }
226
- }));
227
- const source = LearningSourceSchema.parse(sealLearningContent2({
228
- schemaVersion: "openpond.learningSource.v1",
229
- id,
230
- revision: 1,
231
- name: `${definition.name} review`,
232
- kind: "direct",
233
- taskDefinition: learningRef2(definition),
234
- enabled: true,
235
- allowedSplits: [...new Set(learning.evidence.map((item) => item.submission.split))],
236
- mapping: null,
237
- adapterVersion: null,
238
- reviewOrigin: {
239
- modelId: request.modelId,
240
- packageHash: value.contentHash,
241
- taskset: learningRef2(value.taskset),
242
- batch: learningRef2(learning.batch),
243
- rewardBinding: learningRef2(input.binding)
244
- }
245
- }));
246
- const evidence = learning.evidence.map((parent) => {
247
- const edit = edits.get(contentHash(learningRef2(parent)));
248
- const attemptId = `review-${parent.contentHash}`;
249
- const policyChanged = contentHash({
250
- instructions: definition.instructions,
251
- inputSchema: definition.inputSchema,
252
- outputSchema: definition.outputSchema,
253
- requiredOutputs: definition.requiredOutputs ?? [],
254
- input: edit?.input ?? parent.submission.input
255
- }) !== contentHash({
256
- instructions: metadata.definition.instructions,
257
- inputSchema: metadata.definition.inputSchema,
258
- outputSchema: metadata.definition.outputSchema,
259
- requiredOutputs: metadata.definition.requiredOutputs ?? [],
260
- input: parent.submission.input
261
- });
262
- return TaskEvidenceSchema.parse(sealLearningContent2({
263
- schemaVersion: "openpond.taskEvidence.v1",
264
- id: learningEvidenceId(source.id, parent.submission.exampleId, attemptId),
265
- revision: 1,
266
- source: learningRef2(source),
267
- submission: {
268
- ...parent.submission,
269
- sourceId: source.id,
270
- taskDefinition: learningRef2(definition),
271
- attemptId,
272
- // The old response was observed under the old policy-visible task. Its
273
- // parent snapshot remains available, but it is not a run of new inputs.
274
- observedOutput: policyChanged ? null : parent.submission.observedOutput,
275
- idempotencyKey: `${id}-${parent.contentHash}`,
276
- ...edit?.input === void 0 ? {} : { input: edit.input },
277
- ...edit?.expected === void 0 ? {} : { expected: edit.expected },
278
- ...edit?.evaluatorContext === void 0 ? {} : { evaluatorContext: edit.evaluatorContext }
279
- },
280
- supersedes: learningRef2(parent),
281
- correctionFeedbackId: null,
282
- receivedAt: input.now
283
- }));
284
- });
285
- const proposals = evidence.flatMap((item) => {
286
- const edit = edits.get(contentHash(item.supersedes));
287
- const decision = decisions.get(contentHash(item.supersedes));
288
- const target = edit?.proposedTarget === void 0 ? decision.approvedTarget : edit.proposedTarget;
289
- return target === null ? [] : [TaskFeedbackSchema.parse({
290
- schemaVersion: "openpond.taskFeedbackRecord.v1",
291
- id: `feedback-${contentHash([id, item.id])}`,
292
- revision: 1,
293
- submission: {
294
- schemaVersion: "openpond.taskFeedback.v1",
295
- sourceId: source.id,
296
- idempotencyKey: `${id}-${item.id}`,
297
- exampleId: item.submission.exampleId,
298
- attemptId: item.submission.attemptId,
299
- expectedEvidenceHash: item.contentHash,
300
- occurredAt: input.now,
301
- kind: "target_correction",
302
- value: target,
303
- note: "Proposed target for the revised task. Grade and review before admission."
304
- },
305
- status: "pending_review",
306
- evidence: learningRef2(item),
307
- createdAt: input.now,
308
- review: null
309
- })];
310
- });
311
- return { source, definition, binding, rewards, assets, evidence, proposals };
312
- }
313
-
314
- // src/model-batch-review.ts
315
- import { LearningDomainError as LearningDomainError3 } from "@openpond/evals/learning";
316
- var operation = (request) => `model-batch-review-${contentHash([request.modelId, request.operationId])}`;
317
- function inspectModelBatchPackage(raw) {
318
- const value = validateTasksetPackage(raw);
319
- if (!value.learningResources) throw new LearningDomainError2("model_review_batch_required", 422);
320
- const metadata = taskBatchPackageMetadata2(value.taskset);
321
- return ModelBatchReviewInspectionSchema.parse({
322
- schemaVersion: "openpond.modelBatchReviewInspection.v1",
323
- packageHash: value.contentHash,
324
- definition: metadata.definition,
325
- binding: metadata.binding,
326
- evidence: value.learningResources.evidence,
327
- decisions: value.learningResources.decisions
328
- });
329
- }
330
- async function findModelBatchReview(transaction, raw) {
331
- const request = ModelBatchReviewRequestSchema.parse(raw);
332
- const prior = await transaction.operation(operation(request));
333
- if (!prior) return null;
334
- if (prior.requestHash !== contentHash(request)) throw new LearningDomainError2("learning_idempotency_conflict", 409);
335
- return readReceipt(transaction, request, prior.resources);
336
- }
337
- async function beginModelBatchReview(transaction, input) {
338
- const request = ModelBatchReviewRequestSchema.parse(input.request);
339
- const prior = await findModelBatchReview(transaction, request);
340
- if (prior) return prior;
341
- const value = validateTasksetPackage(input.package);
342
- if (!value.learningResources) throw new LearningDomainError2("model_review_batch_required", 422);
343
- const metadata = taskBatchPackageMetadata2(value.taskset);
344
- const selected = request.rewardBindingRef;
345
- const retained = !selected || sameLearningRef2(selected, learningRef3(metadata.binding));
346
- const binding = retained ? metadata.binding : await requireLearningRelease(transaction, "binding", selected);
347
- const rewards = retained ? metadata.rewards : await Promise.all(binding.sources.map((source) => requireLearningRelease(transaction, "reward", source.reward)));
348
- const assetIds = new Set(rewards.flatMap((reward) => [
349
- ...reward.assets,
350
- ..."verifierRef" in reward.implementation ? [reward.implementation.verifierRef] : [],
351
- ..."rubricRef" in reward.implementation ? [reward.implementation.rubricRef] : [],
352
- ..."inputContract" in reward.implementation ? [reward.implementation.inputContract] : []
353
- ]).map((asset) => asset.id));
354
- const assets = retained ? value.learningResources.assets : await Promise.all([...assetIds].map((id) => requireLearningResource(transaction, "asset", id, 1)));
355
- const prepared = prepareModelBatchReview({ ...input, request, package: value, binding, rewards, assets });
356
- const pointers = [];
357
- for (const asset of prepared.assets) {
358
- const existing = await transaction.get("asset", asset.id, 1);
359
- if (existing && existing.contentHash !== asset.contentHash) throw new LearningDomainError2("model_review_asset_conflict", 409);
360
- if (!existing) await transaction.put("asset", asset, 0);
361
- }
362
- for (const reward of prepared.rewards) await transaction.put("reward", reward, 0);
363
- await transaction.put("binding", prepared.binding, 0);
364
- await transaction.put("definition", prepared.definition, 0);
365
- await transaction.put("source", prepared.source, 0, { parentId: request.modelId });
366
- pointers.push({ kind: "source", id: prepared.source.id, revision: 1 });
367
- for (const evidence of prepared.evidence) {
368
- await transaction.put("evidence", evidence, 0, { parentId: prepared.source.id });
369
- pointers.push({ kind: "evidence", id: evidence.id, revision: 1 });
370
- }
371
- for (const proposal of prepared.proposals) {
372
- await transaction.put("feedback", proposal, 0, { parentId: proposal.evidence.id, status: proposal.status });
373
- pointers.push({ kind: "feedback", id: proposal.id, revision: 1 });
374
- }
375
- await transaction.saveOperation(operation(request), { requestHash: contentHash(request), resources: pointers });
376
- return readReceipt(transaction, request, pointers);
377
- }
378
- async function readReceipt(transaction, request, pointers) {
379
- const resources = await Promise.all(pointers.map((pointer) => requireLearningResource(transaction, pointer.kind, pointer.id, pointer.revision)));
380
- return ModelBatchReviewReceiptSchema.parse({
381
- schemaVersion: "openpond.modelBatchReviewReceipt.v1",
382
- operationId: request.operationId,
383
- modelId: request.modelId,
384
- source: resources.find((resource) => resource.schemaVersion === "openpond.learningSource.v1"),
385
- evidence: resources.filter((resource) => resource.schemaVersion === "openpond.taskEvidence.v1"),
386
- proposals: resources.filter((resource) => resource.schemaVersion === "openpond.taskFeedbackRecord.v1")
387
- });
388
- }
389
-
390
- // src/taskset-package-projection.ts
391
- import { learningRef as learningRef4, taskBatchPackageMetadata as taskBatchPackageMetadata3, verifyLearningTextAsset as verifyLearningTextAsset2 } from "@openpond/evals/learning";
392
- function prepareImportedTasksetPackage(input) {
393
- const value = validateTasksetPackage(input.package);
394
- const release = value.taskset;
395
- const resources = value.modelResources;
396
- const learning = value.learningResources ? taskBatchPackageMetadata3(release) : void 0;
397
- const source = TasksetSourceRefSchema.parse({
398
- schemaVersion: "openpond.uploadedFileDatasetSource.v1",
399
- kind: "uploaded_file",
400
- id: `package-source-${contentHash({ profileId: input.profileId, packageHash: value.contentHash })}`,
401
- profileId: input.profileId,
402
- title: input.name,
403
- sourceHash: value.contentHash,
404
- occurredAt: input.createdAt,
405
- licensingStatus: "pending",
406
- secretScanStatus: "pending",
407
- piiScanStatus: "pending",
408
- originalFileNames: ["taskset-package.json"],
409
- mediaTypes: ["application/json"],
410
- sourceFileHashes: [value.contentHash],
411
- totalBytes: new TextEncoder().encode(JSON.stringify(value)).byteLength,
412
- parserVersion: "openpond.tasksetPackage.v1",
413
- metadata: {}
414
- });
415
- const draft = createTasksetDraft({ profileId: input.profileId, id: `${release.id}-import`, name: input.name, now: input.createdAt });
416
- const files = [];
417
- for (const grader of release.graders) if (grader.kind === "custom_verifier") {
418
- const asset = resources?.assets.find((asset2) => asset2.id === grader.verifierRef.id);
419
- const file = value.files.find((file2) => file2.asset.id === grader.verifierRef.id);
420
- if (!file) throw new Error(`Imported verifier source is missing: ${grader.id}.`);
421
- const name = learningVerifierModule(grader.verifierRef.contentHash);
422
- if (!files.some((file2) => file2.path === name)) files.push({ path: name, role: "verifier", content: asset ? verifyLearningTextAsset2(asset, grader.verifierRef) : new TextDecoder("utf-8", { fatal: true }).decode(decodeTasksetPackageFile(file)) });
423
- }
424
- const authoring = release.metadata.ordinaryAuthoring ?? release.metadata.starterAuthoring;
425
- const fixtures = GraderFixtureSchema.array().max(1e5).parse(authoring?.graderFixtures ?? []);
426
- const kind = release.environment.kind === "text" ? "chat" : release.environment.kind === "custom_program" ? "program" : release.environment.kind;
427
- const projected = TasksetSchema.parse({
428
- schemaVersion: "openpond.taskset.v1",
429
- id: release.id,
430
- revision: release.revision,
431
- profileId: input.profileId,
432
- profileRelease: null,
433
- createImproveRunId: null,
434
- name: input.name,
435
- objective: resolveTasksetPackageInstructions(value),
436
- status: "needs_review",
437
- sourceRefs: [source],
438
- datasetArtifact: null,
439
- policy: release.policy,
440
- environment: {
441
- ...draft.environment,
442
- kind,
443
- entrypoint: release.environment.entrypoint,
444
- resources: TasksetEnvironmentResourceSchema.array().max(1e4).parse(release.metadata.environmentResources ?? []),
445
- stateful: release.environment.stateful,
446
- deterministicSeeds: release.environment.deterministicSeeds,
447
- toolNames: release.tools.map((tool) => tool.name),
448
- defaultTimeoutMs: release.environment.defaultTimeoutMs,
449
- networkPolicy: release.environment.networkPolicy,
450
- metadata: {
451
- runtimeSourceTasksetId: tasksetPackageSourceId(input.profileId, value.contentHash),
452
- portableEnvironment: release.environment,
453
- portableTools: release.tools,
454
- portableExecutionResources: { environment: value.environment, verifierSet: value.verifierSet }
455
- }
456
- },
457
- capabilities: {
458
- ...draft.capabilities,
459
- taskKind: kind === "chat" ? "chat" : kind === "program" ? "custom_program" : "single_agent",
460
- compatibleMethods: ["none"],
461
- requiresTools: release.tools.length > 0,
462
- requiresState: release.environment.stateful,
463
- rewardKinds: [...new Set(release.graders.map((grader) => grader.kind === "human" ? "human" : grader.kind === "model_judge" ? "model_judge" : "deterministic"))]
464
- },
465
- tasks: release.tasks.map((task) => ({
466
- ...task,
467
- schemaVersion: "openpond.taskData.v1",
468
- sourceRefs: [source.id],
469
- assets: task.artifactRefs.map((asset) => ({
470
- id: asset.id,
471
- sourceRefId: source.id,
472
- artifactRef: asset.path,
473
- fileName: asset.path.split("/").at(-1),
474
- mediaType: asset.mediaType,
475
- sha256: asset.contentHash,
476
- sizeBytes: asset.sizeBytes,
477
- split: task.split,
478
- metadata: { portableAsset: asset }
479
- })),
480
- ...task.requiredOutputs ? { requiredOutputs: task.requiredOutputs.map((output) => ({
481
- ...output,
482
- schemaRef: output.schemaRef?.id ?? null,
483
- maxBytes: output.maxBytes ?? void 0
484
- })) } : {},
485
- metadata: { portableTaskRecord: task, exampleOrigin: "imported" }
486
- })),
487
- graders: resources ? projectLearningBatchGraders(resources.rewardBinding, resources.rewards, resources.assets) : learning ? projectLearningBatchGraders(learning.binding, learning.rewards, value.learningResources.assets) : importedPackageGraders(value),
488
- graderFixtures: fixtures,
489
- learningSignals: draft.learningSignals,
490
- ...release.metrics ? { metrics: release.metrics } : {},
491
- authoringProvenance: {
492
- schemaVersion: "openpond.taskAuthoringProvenance.v1",
493
- model: null,
494
- modelConfig: {},
495
- skillHash: contentHash("openpond-package-import-v1"),
496
- promptTemplateVersion: "package-import-v1",
497
- buildIntent: "discovery",
498
- buildSpecification: null,
499
- evidenceHashes: [value.contentHash],
500
- tasksetSdkVersion: "package-import-v1",
501
- sourceCommit: null,
502
- repairHistory: [],
503
- createdAt: input.createdAt
504
- },
505
- readiness: null,
506
- contentHash: "00000000",
507
- createdAt: input.createdAt,
508
- updatedAt: input.createdAt,
509
- metadata: {
510
- importedPackageHash: value.contentHash,
511
- ...learning ? { learning } : {},
512
- portableFileInventory: value.files.map((file) => ({ asset: file.asset, sourcePath: file.asset.path })),
513
- ...resources ? {
514
- taskDefinition: learningRef4(resources.taskDefinition),
515
- rewardBinding: learningRef4(resources.rewardBinding),
516
- rewardExecution: { binding: resources.rewardBinding, rewards: resources.rewards }
517
- } : {},
518
- portableCapabilities: release.capabilities,
519
- derivedPortableMetadata: release.metadata,
520
- ...release.metadata.modelTasksetDerivation ? { modelTasksetDerivation: release.metadata.modelTasksetDerivation } : {}
521
- }
522
- });
523
- return { package: value, taskset: TasksetSchema.parse({ ...projected, contentHash: computeTasksetHash(projected) }), generatedFiles: files };
524
- }
525
- function tasksetPackageSourceId(profileId, packageHash) {
526
- return `package-${contentHash({ profileId, packageHash })}`;
527
- }
528
-
529
- // src/taskset-draft-source.ts
530
- import { z } from "zod";
531
- import { learningRef as learningRef5, sameLearningRef as sameLearningRef3 } from "@openpond/evals/learning";
532
- var TasksetDraftSourceInitializationSchema = z.object({
533
- draft: TasksetDraftSchema,
534
- filePaths: z.array(z.object({ assetId: z.string().min(1), paths: z.array(TasksetDraftFilePathSchema).min(1).max(1e4) }).strict()).max(1e4)
535
- }).strict();
536
- function prepareTasksetDraftSource(input) {
537
- const source = validateTasksetPackage(input.source);
538
- const original = TasksetDraftSchema.parse(input.sourceDraft);
539
- const preparation = ModelTasksetDraftPreparationSchema.parse(input.preparation);
540
- if (source.contentHash !== preparation.sourcePackageHash || !sameLearningRef3(learningRef5(source.taskset), preparation.sourceTasksetRef)) throw new Error("Taskset draft preparation differs from its source package.");
541
- if (source.learningResources) throw new Error("Reviewed Tasksets require their reviewed authoring workflow.");
542
- if (Boolean(source.modelResources) !== (preparation.authoringGraph === "bound")) throw new Error("Taskset draft authoring graph differs from its source.");
543
- const inventory = AuthoredTasksetFileInventorySchema.parse(original.metadata.portableFileInventory ?? []);
544
- const sourcePath = (relative) => isManagedTasksetDraftFilePath(relative) ? `source-artifacts/${source.contentHash}/${contentHash(relative)}/${relative.split("/").at(-1)}` : relative;
545
- const references = [
546
- ...original.tasks.flatMap((task) => (task.assets ?? []).map((asset) => asset.artifactRef)),
547
- ...(original.environment.resources ?? []).map((resource) => resource.path),
548
- ...source.taskset.tasks.flatMap((task) => (task.requiredOutputs ?? []).flatMap((output) => output.schemaRef ? [output.schemaRef.path] : [])),
549
- ...original.metrics.customAggregator ? [original.metrics.customAggregator.module] : [],
550
- ...original.graders.flatMap((grader) => grader.kind === "custom_verifier" ? [grader.module] : [])
551
- ];
552
- if (references.some(isManagedTasksetDraftFilePath)) throw new Error("A referenced source asset occupies a reserved Taskset authoring path.");
553
- const filePaths = source.files.map((file) => {
554
- const paths = /* @__PURE__ */ new Set([file.asset.path]);
555
- for (const entry of inventory) if (entry.asset.id === file.asset.id) paths.add(entry.sourcePath);
556
- for (const task of original.tasks) for (const asset of task.assets ?? []) if (asset.id === file.asset.id) paths.add(asset.artifactRef);
557
- for (const grader of source.taskset.graders) if (grader.kind === "custom_verifier" && grader.verifierRef.id === file.asset.id) {
558
- const projected = original.graders.find((candidate) => candidate.id === grader.id);
559
- if (projected?.kind === "custom_verifier") paths.add(projected.module);
560
- }
561
- return { assetId: file.asset.id, paths: [...paths].map(sourcePath) };
562
- });
563
- const metadata = { ...original.metadata };
564
- if (source.modelResources) for (const key of ["taskDefinition", "rewardBinding", "rewardExecution", "derivedPortableMetadata", "modelTasksetDerivation", "importedPackageHash"]) delete metadata[key];
565
- const draft = TasksetDraftSchema.parse({
566
- ...original,
567
- id: preparation.draftId,
568
- revision: 1,
569
- status: "draft",
570
- graders: original.graders.map((grader) => ({ ...grader, metadata: {
571
- ...grader.metadata,
572
- portableGrader: source.taskset.graders.find((candidate) => candidate.id === grader.id)
573
- } })),
574
- environment: { ...original.environment, metadata: { ...original.environment.metadata, portableExecutionResources: { environment: source.environment } } },
575
- modelScope: { modelId: preparation.lineage.owner.modelId, expectedModelRevision: input.expectedModelRevision, source: preparation },
576
- publishedTasksetRef: preparation.tasksetRevision > 1 ? preparation.sourceTasksetRef : null,
577
- metadata: {
578
- ...metadata,
579
- modelTasksetAuthoring: preparation.lineage,
580
- portableFileInventory: inventory.map((entry) => ({ ...entry, sourcePath: sourcePath(entry.sourcePath), asset: {
581
- ...entry.asset,
582
- id: isManagedTasksetDraftFilePath(entry.sourcePath) ? `source-artifact-${contentHash({ packageHash: source.contentHash, assetId: entry.asset.id })}` : entry.asset.id,
583
- path: sourcePath(entry.asset.path)
584
- } }))
585
- }
586
- });
587
- return TasksetDraftSourceInitializationSchema.parse({ draft, filePaths });
588
- }
589
- function materializeTasksetDraftWorkspace(input) {
590
- const initialized = TasksetDraftSourceInitializationSchema.parse(input.initialized);
591
- const source = validateTasksetPackage(input.source);
592
- if (initialized.draft.modelScope?.source?.sourcePackageHash !== source.contentHash) throw new Error("Taskset draft lost its source preparation.");
593
- const files = /* @__PURE__ */ new Map();
594
- for (const mapping of initialized.filePaths) {
595
- const file = source.files.find((candidate) => candidate.asset.id === mapping.assetId);
596
- if (!file) throw new Error("Taskset draft source asset is missing.");
597
- for (const path of mapping.paths) {
598
- const previous = files.get(path);
599
- if (previous && previous.contentHash !== file.asset.contentHash) throw new Error("Taskset draft source paths conflict.");
600
- files.set(path, { path, contentHash: file.asset.contentHash, sizeBytes: file.asset.sizeBytes, base64: file.base64 });
601
- }
602
- }
603
- for (const configured of configuredTasksetDraftFiles(initialized.draft)) if (!files.has(configured.relativePath)) {
604
- const bytes = new TextEncoder().encode(configured.source);
605
- files.set(configured.relativePath, { path: configured.relativePath, contentHash: sha256(bytes), sizeBytes: bytes.byteLength, base64: Buffer.from(bytes).toString("base64") });
606
- }
607
- let draft = initialized.draft;
608
- if (draft.metrics.customAggregator) {
609
- const file = files.get(draft.metrics.customAggregator.module);
610
- if (!file) throw new Error("Declared Taskset metric module is missing.");
611
- decodeTasksetDraftWorkspaceFile(file);
612
- draft = TasksetDraftSchema.parse({ ...draft, metrics: { ...draft.metrics, customAggregator: { ...draft.metrics.customAggregator, contentHash: file.contentHash } } });
613
- }
614
- return createTasksetDraftWorkspace({ schemaVersion: "openpond.tasksetDraftWorkspace.v1", draft, files: [...files.values()] });
615
- }
85
+ import "./chunk-I2MBVOVX.js";
86
+ import "./chunk-QUOW6URQ.js";
616
87
  export {
617
88
  AuthoredTasksetFileInventorySchema,
618
89
  MAX_TASKSET_PACKAGE_BYTES,
619
- LearningDomainError3 as ModelBatchReviewError,
90
+ LearningDomainError as ModelBatchReviewError,
620
91
  ModelBatchReviewInspectionSchema,
621
92
  ModelBatchReviewReceiptSchema,
622
93
  ModelBatchReviewRequestSchema,
@@ -640,6 +111,7 @@ export {
640
111
  TasksetPackageReadbackSchema,
641
112
  TasksetPackageReceiptSchema,
642
113
  TasksetPackageSchema,
114
+ TasksetReleasePackageReadbackSchema,
643
115
  beginModelBatchReview,
644
116
  bindOrdinaryModelTasksetReward,
645
117
  compileModelTasksetDraftWorkspace,