openpond-sdk 0.10.0 → 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 (234) hide show
  1. package/dist/advanced-refiner-evaluations.js +42 -0
  2. package/dist/advanced-refiner-evaluations.js.map +7 -0
  3. package/dist/candidate-evaluations.js +25 -0
  4. package/dist/candidate-evaluations.js.map +7 -0
  5. package/dist/{chunk-W5TXWVFS.js → chunk-2JKV5OJO.js} +88 -59
  6. package/dist/chunk-2JKV5OJO.js.map +7 -0
  7. package/dist/{chunk-2ZJRG3KL.js → chunk-2NSNBED7.js} +7 -3
  8. package/dist/chunk-2NSNBED7.js.map +7 -0
  9. package/dist/chunk-5RZAPZWI.js +445 -0
  10. package/dist/chunk-5RZAPZWI.js.map +7 -0
  11. package/dist/{chunk-JCPLAIZL.js → chunk-5U25KAJM.js} +106 -76
  12. package/dist/chunk-5U25KAJM.js.map +7 -0
  13. package/dist/chunk-7Q7I6FAT.js +139 -0
  14. package/dist/chunk-7Q7I6FAT.js.map +7 -0
  15. package/dist/chunk-A64VYVXN.js +64 -0
  16. package/dist/chunk-A64VYVXN.js.map +7 -0
  17. package/dist/{chunk-DT7FRNIZ.js → chunk-CSWVE3E6.js} +2 -2
  18. package/dist/chunk-DJWHN7NU.js +394 -0
  19. package/dist/chunk-DJWHN7NU.js.map +7 -0
  20. package/dist/chunk-GDJRGRHA.js +144 -0
  21. package/dist/chunk-GDJRGRHA.js.map +7 -0
  22. package/dist/chunk-HOAYWW33.js +587 -0
  23. package/dist/chunk-HOAYWW33.js.map +7 -0
  24. package/dist/{chunk-Y4NGWGTA.js → chunk-I2MBVOVX.js} +265 -264
  25. package/dist/chunk-I2MBVOVX.js.map +7 -0
  26. package/dist/{chunk-I3TQTXKB.js → chunk-IXBSFJCX.js} +4 -4
  27. package/dist/chunk-JMQ4HBWP.js +160 -0
  28. package/dist/chunk-JMQ4HBWP.js.map +7 -0
  29. package/dist/chunk-KQWCXW3A.js +294 -0
  30. package/dist/chunk-KQWCXW3A.js.map +7 -0
  31. package/dist/{chunk-I2YM3UY4.js → chunk-NHCGOFQW.js} +2 -2
  32. package/dist/{chunk-32H2EJRA.js → chunk-R3M6BIOK.js} +2 -2
  33. package/dist/chunk-SLS3GFPG.js +125 -0
  34. package/dist/chunk-SLS3GFPG.js.map +7 -0
  35. package/dist/chunk-SVU4RZ4K.js +70 -0
  36. package/dist/chunk-SVU4RZ4K.js.map +7 -0
  37. package/dist/chunk-T4APHDES.js +74 -0
  38. package/dist/chunk-T4APHDES.js.map +7 -0
  39. package/dist/chunk-VC5OV5AS.js +174 -0
  40. package/dist/chunk-VC5OV5AS.js.map +7 -0
  41. package/dist/{chunk-7B44TQZD.js → chunk-WX22WN33.js} +13 -7
  42. package/dist/chunk-WX22WN33.js.map +7 -0
  43. package/dist/chunk-XEUOJ5WF.js +31 -0
  44. package/dist/chunk-XEUOJ5WF.js.map +7 -0
  45. package/dist/{chunk-LGEF4S5I.js → chunk-XJDWHTH5.js} +390 -362
  46. package/dist/chunk-XJDWHTH5.js.map +7 -0
  47. package/dist/chunk-YCQVVFE5.js +37 -0
  48. package/dist/chunk-YCQVVFE5.js.map +7 -0
  49. package/dist/chunk-ZVJU5CJ5.js +267 -0
  50. package/dist/chunk-ZVJU5CJ5.js.map +7 -0
  51. package/dist/connected-evidence.js +81 -0
  52. package/dist/connected-evidence.js.map +7 -0
  53. package/dist/dataset-workspaces.js +44 -79
  54. package/dist/dataset-workspaces.js.map +4 -4
  55. package/dist/experiment-evaluation-schedules.js +48 -0
  56. package/dist/experiment-evaluation-schedules.js.map +7 -0
  57. package/dist/experiment-improvements.js +52 -0
  58. package/dist/experiment-improvements.js.map +7 -0
  59. package/dist/experiments.js +48 -90
  60. package/dist/experiments.js.map +3 -3
  61. package/dist/human-review.js +13 -0
  62. package/dist/human-review.js.map +7 -0
  63. package/dist/index.js +208 -17
  64. package/dist/index.js.map +2 -2
  65. package/dist/learning.js +1 -1
  66. package/dist/model-starter-attempts.js +2 -2
  67. package/dist/model-starter-catalog.js +7 -2
  68. package/dist/model-starter-catalog.js.map +1 -1
  69. package/dist/model-starters.js +7 -2
  70. package/dist/model-taskset-runs.js +3 -3
  71. package/dist/post-training.js +47 -0
  72. package/dist/post-training.js.map +7 -0
  73. package/dist/taskset-drafts.js +11 -4
  74. package/dist/taskset-drafts.js.map +2 -2
  75. package/dist/taskset-packages.js +26 -556
  76. package/dist/taskset-packages.js.map +4 -4
  77. package/dist/training-bundle.js +58 -17
  78. package/dist/training-bundle.js.map +2 -2
  79. package/dist/training-projects.js +1 -1
  80. package/dist/training.js +7 -2
  81. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +2673 -0
  82. package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -0
  83. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +1079 -0
  84. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -0
  85. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +845 -0
  86. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -0
  87. package/dist/types/packages/sdk/src/claude-code-runtime.d.ts +51 -0
  88. package/dist/types/packages/sdk/src/claude-code-runtime.d.ts.map +1 -0
  89. package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts +15 -0
  90. package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts.map +1 -0
  91. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +48 -0
  92. package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -0
  93. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +2460 -0
  94. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -0
  95. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +215 -0
  96. package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts.map +1 -0
  97. package/dist/types/packages/sdk/src/connected-evidence-http.d.ts +6 -0
  98. package/dist/types/packages/sdk/src/connected-evidence-http.d.ts.map +1 -0
  99. package/dist/types/packages/sdk/src/connected-evidence.d.ts +6 -0
  100. package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -0
  101. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +690 -0
  102. package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -0
  103. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +771 -120
  104. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  105. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +278 -38
  106. package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
  107. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +280 -40
  108. package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
  109. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +17 -0
  110. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -0
  111. package/dist/types/packages/sdk/src/experiment-client.d.ts +3513 -52
  112. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  113. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +1017 -1
  114. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  115. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +2780 -0
  116. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -0
  117. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +8 -0
  118. package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts.map +1 -1
  119. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +5724 -0
  120. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -0
  121. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +13024 -0
  122. package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts.map +1 -0
  123. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +1361 -0
  124. package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts.map +1 -0
  125. package/dist/types/packages/sdk/src/experiment-improvements.d.ts +4 -0
  126. package/dist/types/packages/sdk/src/experiment-improvements.d.ts.map +1 -0
  127. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +262 -0
  128. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  129. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +1388 -1
  130. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  131. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +5 -2
  132. package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -1
  133. package/dist/types/packages/sdk/src/experiments.d.ts +3 -0
  134. package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
  135. package/dist/types/packages/sdk/src/grader-inspection.d.ts +307 -5
  136. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  137. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +238 -0
  138. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  139. package/dist/types/packages/sdk/src/human-review-client.d.ts +1267 -0
  140. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -0
  141. package/dist/types/packages/sdk/src/human-review.d.ts +3 -0
  142. package/dist/types/packages/sdk/src/human-review.d.ts.map +1 -0
  143. package/dist/types/packages/sdk/src/index.d.ts +10 -0
  144. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  145. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +181 -0
  146. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  147. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +20 -4
  148. package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
  149. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +79 -5
  150. package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
  151. package/dist/types/packages/sdk/src/model-batch-review.d.ts +15 -13
  152. package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
  153. package/dist/types/packages/sdk/src/model-learning-policy.d.ts +359 -1
  154. package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
  155. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +288 -19
  156. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  157. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +234 -12
  158. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  159. package/dist/types/packages/sdk/src/model-starter-execution.d.ts +78 -1
  160. package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
  161. package/dist/types/packages/sdk/src/model-starters.d.ts +466 -13
  162. package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
  163. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +312 -4
  164. package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
  165. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +78 -1
  166. package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
  167. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +1282 -4
  168. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  169. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +1285 -5
  170. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/post-training.d.ts +3518 -0
  172. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -0
  173. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1127 -0
  174. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -0
  175. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +1369 -0
  176. package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -0
  177. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +142 -22
  178. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +111 -18
  180. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
  181. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +278 -38
  182. package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
  183. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +661 -103
  184. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  185. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +217 -20
  186. package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
  187. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +12 -12
  188. package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +17 -17
  189. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +140 -20
  190. package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
  191. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +638 -42
  192. package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
  193. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +249 -36
  194. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
  195. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +278 -38
  196. package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
  197. package/dist/types/packages/sdk/src/taskset-drafts.d.ts +1 -0
  198. package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -1
  199. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1322 -26
  200. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  201. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +660 -12
  202. package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
  203. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +77 -3
  204. package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
  205. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +29 -11
  206. package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
  207. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +430 -39
  208. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
  209. package/dist/types/packages/sdk/src/training-acceptance.d.ts +10 -10
  210. package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
  211. package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +1 -1
  212. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +376 -42
  213. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
  214. package/dist/types/packages/sdk/src/training-preparations.d.ts +3930 -0
  215. package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
  216. package/dist/types/packages/sdk/src/training-project-client.d.ts +776 -8
  217. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  218. package/dist/types/packages/sdk/src/training-project-contracts.d.ts +1161 -11
  219. package/dist/types/packages/sdk/src/training-project-contracts.d.ts.map +1 -1
  220. package/dist/types/packages/sdk/src/training.d.ts +2655 -24
  221. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  222. package/package.json +30 -2
  223. package/dist/chunk-2ZJRG3KL.js.map +0 -7
  224. package/dist/chunk-7B44TQZD.js.map +0 -7
  225. package/dist/chunk-JCPLAIZL.js.map +0 -7
  226. package/dist/chunk-LGEF4S5I.js.map +0 -7
  227. package/dist/chunk-PRRUBH2B.js +0 -314
  228. package/dist/chunk-PRRUBH2B.js.map +0 -7
  229. package/dist/chunk-W5TXWVFS.js.map +0 -7
  230. package/dist/chunk-Y4NGWGTA.js.map +0 -7
  231. /package/dist/{chunk-DT7FRNIZ.js.map → chunk-CSWVE3E6.js.map} +0 -0
  232. /package/dist/{chunk-I3TQTXKB.js.map → chunk-IXBSFJCX.js.map} +0 -0
  233. /package/dist/{chunk-I2YM3UY4.js.map → chunk-NHCGOFQW.js.map} +0 -0
  234. /package/dist/{chunk-32H2EJRA.js.map → chunk-R3M6BIOK.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/connected-dataset-source.ts", "../src/taskset-draft-dataset-artifacts.ts", "../src/taskset-draft-dataset-sources.ts", "../src/taskset-draft-harness-actions.ts", "../src/taskset-draft-core.ts", "../src/taskset-authored-contracts.ts", "../src/taskset-authored-validation.ts"],
4
+ "sourcesContent": ["import { z } from \"zod\";\nimport { ConnectedSourceKindSchema } from \"@openpond/evals/connected-evidence\";\n\n/** Activity evidence authorizes recorded evaluation only; no training consent. */\nexport const ConnectedDatasetSourceRefSchema = z.object({\n schemaVersion: z.literal(\"openpond.connectedDatasetSource.v1\"), kind: z.literal(\"connected_activity\"),\n id: z.string().min(1).max(240), profileId: z.string().min(1).max(240), title: z.string().min(1).max(500),\n sourceHash: z.string().regex(/^[a-f0-9]{64}$/), occurredAt: z.string().datetime(),\n licensingStatus: z.enum([\"pending\", \"approved\", \"review\", \"blocked\"]), secretScanStatus: z.enum([\"pending\", \"passed\", \"blocked\"]),\n piiScanStatus: z.enum([\"pending\", \"passed\", \"review\", \"blocked\"]),\n origin: ConnectedSourceKindSchema, sourceId: z.string().min(1).max(500), sessionId: z.string().min(1).max(500),\n normalizerVersion: z.string().min(1).max(200), projection: z.enum([\"turn\", \"conversation\"]),\n ownerUserId: z.string().min(1).max(500), purpose: z.literal(\"recorded_evaluation\"),\n metadata: z.record(z.string(), z.unknown()).default({}),\n}).strict();\nexport type ConnectedDatasetSourceRef = z.infer<typeof ConnectedDatasetSourceRefSchema>;\n", "import { z } from \"zod\";\n\nconst IdSchema = z.string().trim().min(1).max(240);\nconst TimestampSchema = z.string().trim().min(1);\nconst HashSchema = z.string().trim().min(8).max(256);\nconst RelativePathSchema = z\n .string()\n .trim()\n .min(1)\n .max(1_000)\n .refine(\n (value) =>\n !value.startsWith(\"/\")\n && !value.startsWith(\"\\\\\")\n && !value.split(/[\\\\/]/).includes(\"..\"),\n \"Artifact paths must be relative and stay inside the Dataset.\",\n );\n\nexport const DatasetSplitSchema = z.enum([\n \"train\",\n \"validation\",\n \"test\",\n \"frozen_eval\",\n]);\n\nexport const DatasetSemanticFieldSchema = z.object({\n name: z.string().trim().min(1).max(500),\n semanticRole: z.enum([\n \"row_id\",\n \"cluster_id\",\n \"prompt\",\n \"messages\",\n \"demonstration\",\n \"chosen\",\n \"rejected\",\n \"expected_output\",\n \"privileged_context\",\n \"reward\",\n \"feedback\",\n \"tag\",\n \"metadata\",\n ]),\n logicalType: z.enum([\n \"string\",\n \"integer\",\n \"float\",\n \"boolean\",\n \"json\",\n \"messages\",\n ]),\n nullable: z.boolean(),\n policy: z.enum([\"visible\", \"privileged\", \"metadata\"]),\n});\n\nexport const DatasetSemanticSchemaSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetSemanticSchema.v1\"),\n fields: z.array(DatasetSemanticFieldSchema).min(1).max(10_000),\n schemaHash: HashSchema,\n});\n\nexport const DatasetShardRefSchema = z.object({\n id: IdSchema,\n split: DatasetSplitSchema,\n path: RelativePathSchema,\n contentHash: HashSchema,\n schemaHash: HashSchema,\n sizeBytes: z.number().int().nonnegative(),\n rowCount: z.number().int().positive(),\n rowGroupCount: z.number().int().positive(),\n});\n\nexport const DatasetArtifactManifestSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetArtifact.v1\"),\n id: IdSchema,\n tasksetId: IdSchema,\n tasksetRevision: z.number().int().positive(),\n contentHash: HashSchema,\n format: z.literal(\"parquet\"),\n schema: DatasetSemanticSchemaSchema,\n shards: z.array(DatasetShardRefSchema).min(1).max(100_000),\n rowCount: z.number().int().positive(),\n splitCounts: z.record(DatasetSplitSchema, z.number().int().nonnegative()),\n sourceReceiptRefs: z.array(IdSchema).min(1).max(100_000),\n mappingHash: HashSchema,\n qualityReportHash: HashSchema,\n createdAt: TimestampSchema,\n});\n\nexport const DatasetArtifactSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetArtifactSummary.v1\"),\n artifactId: IdSchema,\n tasksetId: IdSchema,\n tasksetRevision: z.number().int().positive(),\n format: z.literal(\"parquet\"),\n rowCount: z.number().int().positive(),\n splitCounts: z.record(DatasetSplitSchema, z.number().int().nonnegative()),\n sizeBytes: z.number().int().nonnegative(),\n contentHash: HashSchema,\n available: z.boolean(),\n unavailableReason: z.string().trim().min(1).max(2_000).nullable(),\n createdAt: TimestampSchema,\n});\n\nexport const DatasetCatalogItemSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetCatalogItem.v1\"),\n tasksetId: IdSchema,\n tasksetRevision: z.number().int().positive(),\n artifactId: IdSchema.nullable(),\n name: z.string().trim().min(1).max(500),\n status: z.enum([\n \"draft\",\n \"awaiting_disclosure_approval\",\n \"awaiting_materialization_approval\",\n \"materializing\",\n \"validating\",\n \"needs_review\",\n \"baselining\",\n \"ready\",\n \"blocked\",\n \"failed\",\n \"archived\",\n ]),\n storageKind: z.enum([\"inline\", \"parquet\"]),\n rowCount: z.number().int().nonnegative(),\n splitCounts: z.record(DatasetSplitSchema, z.number().int().nonnegative()),\n sizeBytes: z.number().int().nonnegative().nullable(),\n available: z.boolean(),\n unavailableReason: z.string().trim().min(1).max(2_000).nullable(),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n});\n\nexport const DatasetCatalogResponseSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetCatalog.v1\"),\n profileId: IdSchema,\n datasets: z.array(DatasetCatalogItemSchema),\n generatedAt: TimestampSchema,\n});\n\nexport const DatasetArtifactRegistryEntrySchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetArtifactRegistry.v1\"),\n manifest: DatasetArtifactManifestSchema,\n profileId: IdSchema,\n storageRoot: z.string().trim().min(1).max(4_000),\n relativeManifestPath: RelativePathSchema,\n available: z.boolean(),\n unavailableReason: z.string().trim().min(1).max(2_000).nullable(),\n verifiedAt: TimestampSchema.nullable(),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n});\n\nexport const DatasetRowPageRequestSchema = z.object({\n split: DatasetSplitSchema.nullable().default(null),\n cursor: z.string().trim().min(1).max(2_000).nullable().default(null),\n limit: z.number().int().min(1).max(100).default(25),\n columns: z.array(z.string().trim().min(1).max(500)).max(100).default([]),\n});\n\nexport const DatasetRowPageSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetRowPage.v1\"),\n tasksetId: IdSchema,\n tasksetRevision: z.number().int().positive(),\n artifactHash: HashSchema,\n split: DatasetSplitSchema.nullable(),\n rows: z.array(z.record(z.string(), z.unknown())).max(100),\n nextCursor: z.string().max(2_000).nullable(),\n totalRows: z.number().int().nonnegative(),\n returnedRows: z.number().int().nonnegative(),\n});\n\nexport const DatasetStorageSettingsSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetStorageSettings.v1\"),\n datasetStorePath: z.string().trim().min(1).max(4_000),\n updatedAt: TimestampSchema,\n});\n\nexport const DatasetStorageRootSchema = z.object({\n id: IdSchema,\n label: z.string().trim().min(1).max(500),\n path: z.string().trim().min(1).max(4_000),\n datasetStorePath: z.string().trim().min(1).max(4_000),\n kind: z.enum([\"local\", \"network\", \"removable\", \"cache\"]),\n configured: z.boolean(),\n mounted: z.boolean(),\n writable: z.boolean(),\n totalBytes: z.number().int().nonnegative().nullable(),\n freeBytes: z.number().int().nonnegative().nullable(),\n});\n\nexport const DatasetStorageStateSchema = z.object({\n schemaVersion: z.literal(\"openpond.datasetStorageState.v1\"),\n settings: DatasetStorageSettingsSchema,\n storageRoots: z.array(DatasetStorageRootSchema),\n});\n\nexport const UpdateDatasetStorageSettingsRequestSchema = z.object({\n datasetStorePath: z.string().trim().min(1).max(4_000),\n});\n\nexport type DatasetSplit = z.infer<typeof DatasetSplitSchema>;\nexport type DatasetSemanticField = z.infer<typeof DatasetSemanticFieldSchema>;\nexport type DatasetSemanticSchema = z.infer<typeof DatasetSemanticSchemaSchema>;\nexport type DatasetShardRef = z.infer<typeof DatasetShardRefSchema>;\nexport type DatasetArtifactManifest = z.infer<\n typeof DatasetArtifactManifestSchema\n>;\nexport type DatasetArtifactSummary = z.infer<\n typeof DatasetArtifactSummarySchema\n>;\nexport type DatasetCatalogItem = z.infer<typeof DatasetCatalogItemSchema>;\nexport type DatasetCatalogResponse = z.infer<\n typeof DatasetCatalogResponseSchema\n>;\nexport type DatasetArtifactRegistryEntry = z.infer<\n typeof DatasetArtifactRegistryEntrySchema\n>;\nexport type DatasetRowPageRequest = z.infer<\n typeof DatasetRowPageRequestSchema\n>;\nexport type DatasetRowPage = z.infer<typeof DatasetRowPageSchema>;\nexport type DatasetStorageSettings = z.infer<typeof DatasetStorageSettingsSchema>;\nexport type DatasetStorageState = z.infer<typeof DatasetStorageStateSchema>;\nexport type DatasetStorageRoot = z.infer<typeof DatasetStorageRootSchema>;\n", "import { z } from \"zod\";\n\nconst IdSchema = z.string().trim().min(1).max(240);\nconst TimestampSchema = z.string().trim().min(1);\nconst HashSchema = z.string().trim().min(8).max(256);\nconst MetadataSchema = z.record(z.string(), z.unknown()).default({});\nconst RevisionSchema = z.string().trim().min(7).max(256);\n\nexport const DatasetSourceReviewStatusSchema = z.enum([\n \"pending\",\n \"approved\",\n \"review\",\n \"blocked\",\n]);\n\nconst ExternalDatasetSourceBaseSchema = z.object({\n id: IdSchema,\n profileId: IdSchema,\n title: z.string().trim().min(1).max(500),\n sourceHash: HashSchema,\n occurredAt: TimestampSchema,\n licensingStatus: DatasetSourceReviewStatusSchema,\n secretScanStatus: z.enum([\"pending\", \"passed\", \"blocked\"]),\n piiScanStatus: z.enum([\"pending\", \"passed\", \"review\", \"blocked\"]),\n metadata: MetadataSchema,\n});\n\nexport const HuggingFaceDatasetSourceRefSchema =\n ExternalDatasetSourceBaseSchema.extend({\n schemaVersion: z.literal(\"openpond.huggingFaceDatasetSource.v1\"),\n kind: z.literal(\"huggingface\"),\n repositoryId: z.string().trim().regex(/^[^/\\s]+\\/[^/\\s]+$/).max(500),\n repositoryUrl: z.string().url().max(2_000),\n revision: RevisionSchema,\n configuration: z.string().trim().min(1).max(500),\n upstreamSplits: z.array(z.string().trim().min(1).max(500)).min(1).max(1_000),\n gated: z.boolean(),\n private: z.boolean(),\n declaredLicense: z.string().trim().min(1).max(500).nullable(),\n sourceFileHashes: z.array(HashSchema).min(1).max(100_000),\n });\n\nexport const UploadedFileDatasetSourceRefSchema =\n ExternalDatasetSourceBaseSchema.extend({\n schemaVersion: z.literal(\"openpond.uploadedFileDatasetSource.v1\"),\n kind: z.literal(\"uploaded_file\"),\n originalFileNames: z.array(z.string().trim().min(1).max(500)).min(1).max(1_000),\n mediaTypes: z.array(z.string().trim().min(1).max(200)).min(1).max(1_000),\n sourceFileHashes: z.array(HashSchema).min(1).max(1_000),\n totalBytes: z.number().int().nonnegative(),\n parserVersion: z.string().trim().min(1).max(200),\n });\n\nexport const GeneratedDatasetSourceRefSchema =\n ExternalDatasetSourceBaseSchema.extend({\n schemaVersion: z.literal(\"openpond.generatedDatasetSource.v1\"),\n kind: z.literal(\"generated\"),\n generatorId: IdSchema,\n generatorVersion: z.string().trim().min(1).max(200),\n seed: z.number().int(),\n generatorHash: HashSchema,\n });\n\nexport const LearningBatchDatasetSourceRefSchema = ExternalDatasetSourceBaseSchema.extend({\n schemaVersion: z.literal(\"openpond.learningBatchDatasetSource.v1\"),\n kind: z.literal(\"learning_batch\"),\n batch: z.object({ id: IdSchema, revision: z.number().int().positive(), contentHash: HashSchema }).strict(),\n taskDefinition: z.object({ id: IdSchema, revision: z.number().int().positive(), contentHash: HashSchema }).strict(),\n admittedBy: IdSchema,\n});\n\nexport const ExternalDatasetSourceRefSchema = z.discriminatedUnion(\"kind\", [\n HuggingFaceDatasetSourceRefSchema,\n UploadedFileDatasetSourceRefSchema,\n GeneratedDatasetSourceRefSchema,\n LearningBatchDatasetSourceRefSchema,\n]);\n\nexport type DatasetSourceReviewStatus = z.infer<\n typeof DatasetSourceReviewStatusSchema\n>;\nexport type HuggingFaceDatasetSourceRef = z.infer<\n typeof HuggingFaceDatasetSourceRefSchema\n>;\nexport type UploadedFileDatasetSourceRef = z.infer<\n typeof UploadedFileDatasetSourceRefSchema\n>;\nexport type GeneratedDatasetSourceRef = z.infer<\n typeof GeneratedDatasetSourceRefSchema\n>;\nexport type ExternalDatasetSourceRef = z.infer<\n typeof ExternalDatasetSourceRefSchema\n>;\n", "import { z } from \"zod\";\n\nimport {\n ImmutableReleaseRefSchema,\n ReleaseHashSchema,\n ReleaseIdSchema,\n} from \"@openpond/harness\";\n\nexport const HarnessActionBindingSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.harnessActionBinding.v1\"),\n actionId: ReleaseIdSchema,\n modelToolName: z\n .string()\n .trim()\n .min(1)\n .max(64)\n .regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),\n description: z.string().trim().min(1).max(1_000),\n inputSchema: z.record(z.string(), z.unknown()),\n actionSchemaHash: ReleaseHashSchema,\n agentRelease: ImmutableReleaseRefSchema,\n implementationHash: ReleaseHashSchema,\n runtimeBindingId: ReleaseIdSchema,\n capabilityReceiptHash: ReleaseHashSchema,\n sideEffect: z.enum([\"read\", \"write\"]),\n studentVisible: z.boolean(),\n timeoutMs: z.number().int().positive().max(3_600_000),\n episodeArgumentBindings: z\n .array(\n z\n .object({\n argument: ReleaseIdSchema,\n source: z.literal(\"case_id\"),\n })\n .strict(),\n )\n .max(20)\n .default([]),\n })\n .strict();\n\nexport type HarnessActionBinding = z.infer<typeof HarnessActionBindingSchema>;\n", "import { z } from \"zod\";\nimport { ChatModelRefSchema } from \"@openpond/harness/models\";\nimport { CustomVerifierRuntimeSchema } from \"@openpond/evals/tasksets\";\nimport { HumanFormSchema } from \"@openpond/evals/human-review\";\nimport { DatasetSplitSchema } from \"./taskset-draft-dataset-artifacts.js\";\nimport { ExternalDatasetSourceRefSchema } from \"./taskset-draft-dataset-sources.js\";\nimport { ConnectedDatasetSourceRefSchema } from \"./connected-dataset-source.js\";\nimport { HarnessActionBindingSchema } from \"./taskset-draft-harness-actions.js\";\n\nconst IdSchema = z.string().trim().min(1).max(240);\nconst TimestampSchema = z.string().trim().min(1);\nconst HashSchema = z.string().trim().min(8).max(256);\nconst Sha256Schema = z.string().trim().regex(/^[a-f0-9]{64}$/);\nconst CodeIdentifierSchema = z.string().trim().regex(/^[A-Za-z_$][A-Za-z0-9_$]*$/);\nconst MetadataSchema = z.record(z.string(), z.unknown()).default({});\nconst NullableIdSchema = IdSchema.nullable();\n\nfunction safeRelativeFilePath(value: string): boolean {\n const normalized = value.trim().replaceAll(\"\\\\\", \"/\");\n if (\n !normalized\n || normalized.startsWith(\"/\")\n || normalized === \".\"\n || normalized === \"..\"\n ) {\n return false;\n }\n return !normalized.split(\"/\").some((segment) =>\n !segment || segment === \".\" || segment === \"..\"\n );\n}\n\nfunction safeFileName(value: string): boolean {\n const normalized = value.trim();\n return (\n normalized.length > 0\n && normalized !== \".\"\n && normalized !== \"..\"\n && !normalized.includes(\"/\")\n && !normalized.includes(\"\\\\\")\n && !normalized.includes(\"\\0\")\n );\n}\n\nexport const TasksetSplitSchema = DatasetSplitSchema;\n\nexport const TasksetPurposeSchema = z.enum([\"general\", \"benchmark\"]);\n\nexport const TasksetBenchmarkBindingSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetBenchmark.v1\"),\n definitionId: IdSchema,\n releaseId: IdSchema,\n releaseHash: Sha256Schema,\n managedReleasePath: z.string().trim().min(1).max(1_000)\n .refine(safeRelativeFilePath, \"Benchmark release paths must remain relative.\"),\n adaptationSplit: TasksetSplitSchema,\n evaluationSplit: TasksetSplitSchema,\n primaryMetric: z.enum([\n \"foreground_tokens\",\n \"success_rate\",\n \"latency_ms\",\n \"cost_usd\",\n ]),\n qualityGate: z.enum([\"none\", \"non_regression\", \"all_pass\"]),\n source: z.enum([\"builtin\", \"imported\"]),\n metadata: MetadataSchema,\n});\n\nexport const TasksetPreferenceComparisonBindingSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetPreferenceComparisonBinding.v1\"),\n releaseId: IdSchema,\n releaseHash: Sha256Schema,\n publishedAt: TimestampSchema,\n metadata: MetadataSchema,\n});\n\nexport const TrainingSourceConsentSchema = z.object({\n status: z.enum([\"pending\", \"granted\", \"denied\", \"revoked\"]),\n scope: z.enum([\"metadata_only\", \"selected_turns\", \"full_session\"]),\n grantedBy: NullableIdSchema,\n grantedAt: TimestampSchema.nullable(),\n purpose: z.literal(\"task_authoring_and_evaluation\"),\n});\n\nexport const TrainingSourceRefSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingSource.v1\"),\n id: IdSchema,\n profileId: IdSchema,\n sessionId: IdSchema,\n turnIds: z.array(IdSchema).max(1_000).default([]),\n workspaceId: NullableIdSchema,\n sourceHash: HashSchema,\n clusterKey: IdSchema,\n title: z.string().trim().min(1).max(500),\n occurredAt: TimestampSchema,\n consent: TrainingSourceConsentSchema,\n connectedAppIds: z.array(IdSchema).max(100).default([]),\n secretScanStatus: z.enum([\"pending\", \"passed\", \"blocked\"]),\n piiScanStatus: z.enum([\"pending\", \"passed\", \"review\", \"blocked\"]),\n licensingStatus: z.enum([\"pending\", \"approved\", \"review\", \"blocked\"]),\n metadata: MetadataSchema,\n});\n\nexport const TasksetSourceRefSchema = z.union([\n TrainingSourceRefSchema,\n ExternalDatasetSourceRefSchema,\n ConnectedDatasetSourceRefSchema,\n]);\n\nexport const TaskPolicyBoundarySchema = z.object({\n policyVisibleFields: z.array(IdSchema).max(1_000).default([]),\n privilegedFields: z.array(IdSchema).max(1_000).default([]),\n hiddenGraderRefs: z.array(IdSchema).max(100).default([]),\n connectedAppScopes: z.array(IdSchema).max(100).default([]),\n});\n\nexport const TaskAssetRefSchema = z.object({\n id: IdSchema,\n sourceRefId: IdSchema,\n artifactRef: z.string().trim().min(1).max(4_000)\n .refine(safeRelativeFilePath, \"Task asset references must be safe relative paths.\"),\n fileName: z.string().trim().min(1).max(500)\n .refine(safeFileName, \"Task asset file names must not contain path separators.\"),\n mediaType: z.string().trim().min(1).max(200),\n sha256: Sha256Schema,\n sizeBytes: z.number().int().nonnegative().max(250_000_000),\n split: TasksetSplitSchema,\n metadata: MetadataSchema,\n});\n\nexport const TaskRequiredOutputSchema = z.object({\n path: z.string().trim().min(1).max(1_000)\n .refine(safeRelativeFilePath, \"Required output paths must stay inside the Work output directory.\"),\n mediaType: z.string().trim().min(1).max(200),\n schemaRef: IdSchema.nullable().optional(),\n maxBytes: z.number().int().positive().max(10_000_000).optional(),\n metadata: MetadataSchema,\n});\n\nexport const TaskDataRecordSchema = z.object({\n schemaVersion: z.literal(\"openpond.taskData.v1\"),\n id: IdSchema,\n clusterKey: IdSchema,\n split: TasksetSplitSchema,\n input: z.record(z.string(), z.unknown()),\n expectedOutput: z.record(z.string(), z.unknown()).nullable(),\n policyVisibleContext: z.record(z.string(), z.unknown()).default({}),\n privilegedContextRef: NullableIdSchema,\n sourceRefs: z.array(IdSchema).min(1).max(100),\n assets: z.array(TaskAssetRefSchema).max(1_000).optional(),\n resourceRefs: z.array(IdSchema).max(1_000).optional(),\n requiredOutputs: z.array(TaskRequiredOutputSchema).max(100).optional(),\n tags: z.array(IdSchema).max(100).default([]),\n metadata: MetadataSchema,\n});\n\nexport const TasksetEnvironmentResourceSchema = z.object({\n id: IdSchema,\n kind: z.enum([\"file\", \"catalog\", \"configuration\", \"code_module\"]),\n path: z.string().trim().min(1).max(1_000)\n .refine(safeRelativeFilePath, \"Environment resource paths must remain relative.\"),\n mediaType: z.string().trim().min(1).max(200).nullable().optional(),\n visibility: z.enum([\"policy_visible\", \"policy_hidden\", \"privileged\"]),\n required: z.boolean(),\n metadata: MetadataSchema,\n});\n\nconst LearningSignalBaseSchema = z.object({\n id: IdSchema,\n taskId: NullableIdSchema,\n sourceRefs: z.array(IdSchema).min(1).max(100),\n artifactRef: IdSchema,\n approved: z.boolean(),\n confidence: z.number().min(0).max(1),\n metadata: MetadataSchema,\n});\n\nexport const DemonstrationSignalSchema = LearningSignalBaseSchema.extend({\n kind: z.literal(\"demonstration\"),\n prompt: z.string().max(100_000).nullable().default(null),\n response: z.string().max(200_000).nullable().default(null),\n});\n\nexport const PreferenceSignalSchema = LearningSignalBaseSchema.extend({\n kind: z.literal(\"preference\"),\n prompt: z.string().max(100_000),\n chosen: z.string().max(200_000),\n rejected: z.string().max(200_000),\n rationale: z.string().max(100_000).nullable().default(null),\n});\n\nexport const CorrectionSignalSchema = LearningSignalBaseSchema.extend({\n kind: z.literal(\"correction\"),\n original: z.string().max(200_000),\n corrected: z.string().max(200_000),\n rationale: z.string().max(100_000).nullable().default(null),\n});\n\nexport const FeedbackSignalSchema = LearningSignalBaseSchema.extend({\n kind: z.literal(\"feedback\"),\n feedback: z.string().max(100_000),\n polarity: z.enum([\"positive\", \"negative\", \"mixed\", \"neutral\"]),\n});\n\nexport const RewardSignalSchema = LearningSignalBaseSchema.extend({\n kind: z.literal(\"reward\"),\n task: z.string().max(100_000),\n rules: z.array(z.object({\n id: IdSchema,\n points: z.number().finite(),\n condition: z.string().trim().min(1).max(100_000),\n })).min(1).max(1_000),\n otherwisePoints: z.number().finite(),\n executable: z.boolean(),\n});\n\nexport const LabelSignalSchema = LearningSignalBaseSchema.extend({\n kind: z.literal(\"label\"),\n labelKind: z.literal(\"rubric\"),\n task: z.string().max(100_000),\n criteria: z.array(z.object({\n id: IdSchema,\n label: z.string().trim().min(1).max(500),\n description: z.string().trim().min(1).max(100_000),\n })).min(1).max(1_000),\n calibrationExamples: z.object({\n positive: z.string().trim().min(1).max(200_000),\n negative: z.string().trim().min(1).max(200_000),\n boundary: z.string().trim().min(1).max(200_000),\n }),\n});\n\nexport const LearningSignalRefSchema = z.discriminatedUnion(\"kind\", [\n DemonstrationSignalSchema,\n PreferenceSignalSchema,\n CorrectionSignalSchema,\n FeedbackSignalSchema,\n RewardSignalSchema,\n LabelSignalSchema,\n]);\n\nexport const LearningSignalInventorySchema = z.object({\n demonstrations: z.array(DemonstrationSignalSchema).max(100_000).default([]),\n preferences: z.array(PreferenceSignalSchema).max(100_000).default([]),\n corrections: z.array(CorrectionSignalSchema).max(100_000).default([]),\n feedback: z.array(FeedbackSignalSchema).max(100_000).default([]),\n rewards: z.array(RewardSignalSchema).max(100_000).default([]),\n labels: z.array(LabelSignalSchema).max(100_000).default([]),\n});\n\nexport const TasksetEnvironmentContractSchema = z.object({\n protocolVersion: z.literal(\"openpond.taskEnvironment.v1\"),\n kind: z.enum([\"chat\", \"agent\", \"program\", \"stateful_harness\", \"work\"]),\n entrypoint: z.string().trim().min(1).max(1_000),\n stateful: z.boolean(),\n deterministicSeeds: z.boolean(),\n toolNames: z.array(IdSchema).max(200).default([]),\n actionBindings: z.array(HarnessActionBindingSchema).max(200).optional(),\n lifecycle: z.array(z.enum([\"create\", \"reset\", \"step\", \"grade\", \"cleanup\"])).min(1),\n defaultTimeoutMs: z.number().int().positive().max(3_600_000),\n networkPolicy: z.enum([\"none\", \"declared_read_only\", \"declared_scoped\"]),\n resources: z.array(TasksetEnvironmentResourceSchema).max(10_000).optional(),\n metadata: MetadataSchema,\n});\n\nexport const TasksetCapabilityManifestSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetCapabilities.v1\"),\n taskKind: z.enum([\"chat\", \"single_agent\", \"multi_agent\", \"custom_program\"]),\n supportedSignals: z.array(z.enum([\"demonstration\", \"preference\", \"correction\", \"feedback\", \"reward\", \"label\"])),\n compatibleMethods: z.array(z.enum([\"none\", \"retrieval\", \"sft\", \"dpo\", \"grpo\", \"ppo\", \"sdft\", \"opd\", \"opsd\", \"sdpo\"])),\n rewardKinds: z.array(z.enum([\"none\", \"exact\", \"deterministic\", \"model_judge\", \"human\"])),\n requiresTools: z.boolean(),\n requiresState: z.boolean(),\n requiresPrivilegedGrading: z.boolean(),\n environmentPlacements: z.array(z.enum([\"local\", \"remote\", \"colocated\", \"provider_native\"])),\n exportable: z.boolean(),\n portabilityBlockers: z.array(z.string().trim().min(1).max(2_000)).default([]),\n});\n\nconst GraderBaseSchema = z.object({\n id: IdSchema,\n version: z.string().trim().min(1).max(100),\n label: z.string().trim().min(1).max(500),\n weight: z.number().min(0).max(1_000).default(1),\n hardGate: z.boolean().default(false),\n rewardEligible: z.boolean().default(false),\n privileged: z.boolean().default(false),\n metadata: MetadataSchema,\n});\n\nexport const DeterministicGraderSpecSchema = GraderBaseSchema.extend({\n kind: z.enum([\"content\", \"schema\", \"file\", \"diff\", \"test\", \"runtime_event\", \"state\"]),\n config: z.record(z.string(), z.unknown()),\n});\n\nexport const RubricGraderSpecSchema = GraderBaseSchema.extend({\n kind: z.literal(\"model_judge\"),\n rubric: z.string().trim().min(1).max(50_000),\n judge: ChatModelRefSchema,\n calibrationFixtureRefs: z.array(IdSchema).min(1).max(500),\n calibrationStatus: z.enum([\"pending\", \"passed\", \"failed\"]),\n temperature: z.number().min(0).max(2).default(0),\n});\n\nexport const HumanGraderSpecSchema = GraderBaseSchema.extend({\n kind: z.literal(\"human\"),\n form: HumanFormSchema.optional(),\n rubric: z.string().trim().min(1).max(50_000),\n reviewerRole: z.string().trim().min(1).max(500),\n});\n\nexport const CustomVerifierGraderSpecSchema = GraderBaseSchema.extend({\n kind: z.literal(\"custom_verifier\"),\n runtime: CustomVerifierRuntimeSchema.optional(),\n module: z.string().trim().min(1).max(1_000)\n .refine(safeRelativeFilePath, \"Custom verifier modules must use a safe relative path.\"),\n exportName: CodeIdentifierSchema,\n timeoutMs: z.number().int().positive().max(300_000),\n networkPolicy: z.literal(\"none\"),\n});\n\nexport const GraderSpecSchema = z.union([\n DeterministicGraderSpecSchema,\n RubricGraderSpecSchema,\n HumanGraderSpecSchema,\n CustomVerifierGraderSpecSchema,\n]);\n\nexport const GraderFixtureLabelSchema = z.enum([\n \"positive\",\n \"negative\",\n \"boundary\",\n \"adversarial\",\n \"prompt_injection\",\n \"infrastructure_failure\",\n]);\n\nexport const GraderFixtureSchema = z.object({\n id: IdSchema,\n taskId: IdSchema,\n label: GraderFixtureLabelSchema,\n output: z.record(z.string(), z.unknown()),\n infrastructureError: z.string().trim().min(1).max(10_000).nullable(),\n expectedPassed: z.boolean(),\n expectedRewardEligible: z.boolean(),\n metadata: MetadataSchema,\n});\n\nexport type TrainingSourceRef = z.infer<typeof TrainingSourceRefSchema>;\nexport type TasksetSourceRef = z.infer<typeof TasksetSourceRefSchema>;\nexport type TaskAssetRef = z.infer<typeof TaskAssetRefSchema>;\nexport type TaskRequiredOutput = z.infer<typeof TaskRequiredOutputSchema>;\nexport type TaskDataRecord = z.infer<typeof TaskDataRecordSchema>;\nexport type TasksetEnvironmentResource = z.infer<typeof TasksetEnvironmentResourceSchema>;\nexport type DemonstrationSignal = z.infer<typeof DemonstrationSignalSchema>;\nexport type PreferenceSignal = z.infer<typeof PreferenceSignalSchema>;\nexport type CorrectionSignal = z.infer<typeof CorrectionSignalSchema>;\nexport type FeedbackSignal = z.infer<typeof FeedbackSignalSchema>;\nexport type RewardSignal = z.infer<typeof RewardSignalSchema>;\nexport type LabelSignal = z.infer<typeof LabelSignalSchema>;\nexport type LearningSignalInventory = z.infer<typeof LearningSignalInventorySchema>;\nexport type TasksetEnvironmentContract = z.infer<typeof TasksetEnvironmentContractSchema>;\nexport type TasksetCapabilityManifest = z.infer<typeof TasksetCapabilityManifestSchema>;\nexport type GraderSpec = z.infer<typeof GraderSpecSchema>;\nexport type GraderFixture = z.infer<typeof GraderFixtureSchema>;\nexport type TasksetPurpose = z.infer<typeof TasksetPurposeSchema>;\nexport type TasksetBenchmarkBinding = z.infer<typeof TasksetBenchmarkBindingSchema>;\n", "import { z } from \"zod\";\nimport { VersionedReleaseRefSchema } from \"@openpond/harness\";\nimport { ChatModelRefSchema } from \"@openpond/harness/models\";\nimport { TasksetMetricPolicySchema } from \"@openpond/evals/metrics\";\nimport { DatasetArtifactManifestSchema } from \"./taskset-draft-dataset-artifacts.js\";\nimport {\n TasksetPurposeSchema,\n TasksetBenchmarkBindingSchema,\n TasksetPreferenceComparisonBindingSchema,\n TasksetSourceRefSchema,\n TaskPolicyBoundarySchema,\n TasksetEnvironmentContractSchema,\n TasksetCapabilityManifestSchema,\n TaskDataRecordSchema,\n GraderSpecSchema,\n GraderFixtureSchema,\n LearningSignalInventorySchema,\n type TasksetSourceRef, type TrainingSourceRef,\n} from \"./taskset-draft-core.js\";\n\nconst IdSchema = z.string().trim().min(1).max(240);\nconst TimestampSchema = z.string().trim().min(1);\nconst HashSchema = z.string().trim().min(8).max(256);\nconst MetadataSchema = z.record(z.string(), z.unknown()).default({});\nconst NullableIdSchema = IdSchema.nullable();\n\nexport const TASKSET_WORK_TOOL_NAMES = [\n \"work_capabilities\",\n \"work_environment\",\n \"work_list_files\",\n \"work_read_file\",\n \"work_read_document\",\n \"work_write_file\",\n \"work_write_docx\",\n \"work_edit_file\",\n \"work_delete_file\",\n \"work_exec\",\n \"work_save_output\",\n \"work_stop\",\n] as const;\n\nexport const TasksetStatusSchema = z.enum([\n \"draft\",\n \"awaiting_disclosure_approval\",\n \"awaiting_materialization_approval\",\n \"materializing\",\n \"validating\",\n \"needs_review\",\n \"baselining\",\n \"ready\",\n \"blocked\",\n \"failed\",\n \"archived\",\n]);\n\nexport const DatasetBuildIntentSchema = z.enum([\n \"demonstrations\",\n \"preferences\",\n \"verifiable_reward\",\n \"rubric\",\n \"discovery\",\n]);\n\nconst DatasetEvidenceTextSchema = z.string().trim().max(100_000);\n\nexport const DatasetBuildSpecificationSchema = z.discriminatedUnion(\"kind\", [\n z.object({\n kind: z.literal(\"demonstrations\"),\n behavior: DatasetEvidenceTextSchema,\n examples: z.array(z.object({\n id: IdSchema,\n prompt: DatasetEvidenceTextSchema,\n response: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n }),\n z.object({\n kind: z.literal(\"preferences\"),\n preference: DatasetEvidenceTextSchema,\n pairs: z.array(z.object({\n id: IdSchema,\n prompt: DatasetEvidenceTextSchema,\n chosen: DatasetEvidenceTextSchema,\n rejected: DatasetEvidenceTextSchema,\n rationale: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n }),\n z.object({\n kind: z.literal(\"verifiable_reward\"),\n task: DatasetEvidenceTextSchema,\n rules: z.array(z.object({\n id: IdSchema,\n points: z.number().finite(),\n condition: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n otherwisePoints: z.number().finite().default(0),\n }),\n z.object({\n kind: z.literal(\"rubric\"),\n task: DatasetEvidenceTextSchema,\n criteria: z.array(z.object({\n id: IdSchema,\n label: z.string().trim().max(500),\n description: DatasetEvidenceTextSchema,\n })).max(1_000).default([]),\n positiveExample: DatasetEvidenceTextSchema,\n negativeExample: DatasetEvidenceTextSchema,\n boundaryExample: DatasetEvidenceTextSchema,\n }),\n]);\n\nexport const GeneratedTaskFileSchema = z.object({\n path: z.string().trim().min(1).max(1_000),\n role: z.enum([\"environment\", \"verifier\", \"fixture\"]),\n content: z.string().max(250_000),\n});\n\nexport const TrainingPathRecommendationSchema = z.object({\n primaryMethod: z.enum([\"sft\", \"dpo\", \"grpo\", \"ppo\", \"sdft\", \"opsd\", \"sdpo\"]),\n bootstrap: z.object({\n method: z.literal(\"sft\"),\n purpose: z.literal(\"trajectory_bootstrap\"),\n demonstrationRefs: z.array(IdSchema).min(1).max(100_000),\n limitations: z.array(z.string().trim().min(1).max(5_000)).min(1).max(100),\n }).nullable(),\n});\n\nexport const TrainingMethodReadinessReasonCodeSchema = z.enum([\n \"taskset_not_ready\",\n \"demonstrations_missing\",\n \"preference_pairs_missing\",\n \"preference_pairs_invalid\",\n \"executable_reward_missing\",\n \"reward_not_calibrated\",\n \"reward_model_missing\",\n \"value_model_required\",\n \"frozen_eval_missing\",\n]);\n\nexport const TrainingMethodReadinessSchema = z.object({\n method: z.enum([\"sft\", \"dpo\", \"grpo\", \"ppo\"]),\n status: z.enum([\"recommended\", \"compatible\", \"needs_dataset_work\"]),\n reasonCodes: z.array(TrainingMethodReadinessReasonCodeSchema).default([]),\n reasons: z.array(z.string().trim().min(1).max(5_000)).default([]),\n});\n\nexport const TasksetReadinessFindingSchema = z.object({\n code: IdSchema,\n message: z.string().trim().min(1).max(5_000),\n path: z.string().trim().max(2_000).nullable(),\n});\n\nexport const TasksetReadinessReportSchema = z.object({\n schemaVersion: z.literal(\"openpond.tasksetReadiness.v1\"),\n tasksetId: IdSchema,\n tasksetHash: HashSchema,\n ready: z.boolean(),\n recommendedMethod: z.enum([\"none\", \"retrieval\", \"sft\", \"dpo\", \"grpo\", \"ppo\", \"sdft\", \"opd\", \"opsd\", \"sdpo\"]),\n trainingPath: TrainingPathRecommendationSchema.nullable().default(null),\n methodReadiness: z.array(TrainingMethodReadinessSchema).default([]),\n compatibleDestinationClasses: z.array(\n z.enum([\"export\", \"custom\", \"hosted_managed\"]),\n ),\n blockers: z.array(TasksetReadinessFindingSchema).default([]),\n advisories: z.array(TasksetReadinessFindingSchema).default([]),\n warnings: z.array(z.string().trim().min(1).max(5_000)).default([]),\n generatedAt: TimestampSchema,\n});\n\nexport const AuthoringRepairSchema = z.object({ attempt: z.number().int().positive(), summary: z.string().trim().min(1).max(5_000), createdAt: TimestampSchema });\n\nexport const AuthoringProvenanceSchema = z.object({\n schemaVersion: z.literal(\"openpond.taskAuthoringProvenance.v1\"),\n model: ChatModelRefSchema.nullable(),\n modelConfig: MetadataSchema,\n skillHash: HashSchema,\n promptTemplateVersion: z.string().trim().min(1).max(200),\n buildIntent: DatasetBuildIntentSchema.default(\"demonstrations\"),\n buildSpecification: DatasetBuildSpecificationSchema.nullable().default(null),\n evidenceHashes: z.array(HashSchema).max(100_000),\n tasksetSdkVersion: z.string().trim().min(1).max(100),\n sourceCommit: z.string().trim().min(1).max(256).nullable(),\n repairHistory: z.array(AuthoringRepairSchema).max(1_000),\n createdAt: TimestampSchema,\n});\n\nexport const TasksetSchema = z.object({\n schemaVersion: z.literal(\"openpond.taskset.v1\"),\n id: IdSchema,\n revision: z.number().int().positive().default(1),\n profileId: IdSchema,\n profileRelease: VersionedReleaseRefSchema.nullable().optional(),\n createImproveRunId: NullableIdSchema.default(null),\n name: z.string().trim().min(1).max(500),\n // Portable tasks may carry all instructions in their individual inputs.\n // Preserve an absent package prompt; draft publication validates its objective.\n objective: z.string().trim().max(20_000),\n purpose: TasksetPurposeSchema.default(\"general\"),\n benchmark: TasksetBenchmarkBindingSchema.nullable().default(null),\n preferenceComparison: TasksetPreferenceComparisonBindingSchema.nullable().default(null),\n status: TasksetStatusSchema,\n sourceRefs: z.array(TasksetSourceRefSchema).min(1).max(100_000),\n datasetArtifact: DatasetArtifactManifestSchema.nullable().optional(),\n policy: TaskPolicyBoundarySchema,\n environment: TasksetEnvironmentContractSchema,\n capabilities: TasksetCapabilityManifestSchema,\n metrics: TasksetMetricPolicySchema.optional(),\n tasks: z.array(TaskDataRecordSchema).max(1_000_000),\n graders: z.array(GraderSpecSchema).min(1).max(1_000),\n // Imported releases are inspectable before local calibration. Admission\n // requires real fixtures separately in validateTaskset.\n graderFixtures: z.array(GraderFixtureSchema).max(100_000),\n learningSignals: LearningSignalInventorySchema,\n authoringProvenance: AuthoringProvenanceSchema,\n readiness: TasksetReadinessReportSchema.nullable(),\n contentHash: HashSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n metadata: MetadataSchema,\n}).superRefine((taskset, context) => {\n if (taskset.purpose === \"benchmark\" && !taskset.benchmark) {\n context.addIssue({\n code: \"custom\",\n message: \"Benchmark Tasksets require an immutable benchmark binding.\",\n path: [\"benchmark\"],\n });\n }\n if (taskset.purpose !== \"benchmark\" && taskset.benchmark) {\n context.addIssue({\n code: \"custom\",\n message: \"Only benchmark Tasksets may carry a benchmark binding.\",\n path: [\"benchmark\"],\n });\n }\n if (taskset.datasetArtifact && taskset.tasks.length > 0) {\n context.addIssue({\n code: \"custom\",\n message:\n \"Artifact-backed Tasksets may not duplicate canonical rows inline.\",\n path: [\"tasks\"],\n });\n }\n if (!taskset.datasetArtifact && taskset.tasks.length === 0) {\n context.addIssue({\n code: \"custom\",\n message: \"A Taskset requires inline tasks or a Dataset artifact manifest.\",\n path: [\"tasks\"],\n });\n }\n});\n\nexport type DatasetBuildIntent = z.infer<typeof DatasetBuildIntentSchema>;\nexport type DatasetBuildSpecification = z.infer<typeof DatasetBuildSpecificationSchema>;\nexport type GeneratedTaskFile = z.infer<typeof GeneratedTaskFileSchema>;\nexport type TrainingPathRecommendation = z.infer<typeof TrainingPathRecommendationSchema>;\nexport type TrainingMethodReadinessReasonCode = z.infer<typeof TrainingMethodReadinessReasonCodeSchema>;\nexport type TrainingMethodReadiness = z.infer<typeof TrainingMethodReadinessSchema>;\nexport type TasksetReadinessReport = z.infer<typeof TasksetReadinessReportSchema>;\nexport type AuthoringProvenance = z.infer<typeof AuthoringProvenanceSchema>;\nexport type AuthoringRepair = z.infer<typeof AuthoringRepairSchema>;\nexport type Taskset = z.infer<typeof TasksetSchema>;\n\nexport function isTrainingSourceRef(\n source: TasksetSourceRef,\n): source is TrainingSourceRef {\n return source.schemaVersion === \"openpond.trainingSource.v1\";\n}\n", "import type { TasksetCapabilityManifest } from \"./taskset-draft-core.js\";\nimport {\n isTrainingSourceRef,\n TASKSET_WORK_TOOL_NAMES,\n TasksetSchema,\n type Taskset,\n} from \"./taskset-authored-contracts.js\";\nimport { contentHash } from \"@openpond/harness\";\n\nexport type TasksetValidationIssue = {\n code: string;\n severity: \"warning\" | \"error\";\n message: string;\n path: string | null;\n};\n\nexport type TasksetValidationReport = {\n valid: boolean;\n taskset: Taskset | null;\n computedHash: string | null;\n issues: TasksetValidationIssue[];\n};\n\nexport function validateTaskset(input: unknown, options: { allowUnscoredOnlineRewardBatch?: boolean } = {}): TasksetValidationReport {\n const parsed = TasksetSchema.safeParse(input);\n if (!parsed.success) {\n return {\n valid: false,\n taskset: null,\n computedHash: null,\n issues: parsed.error.issues.map((issue) => ({\n code: \"schema_invalid\",\n severity: \"error\",\n message: issue.message,\n path: issue.path.join(\".\"),\n })),\n };\n }\n\n const taskset = parsed.data;\n const issues: TasksetValidationIssue[] = [];\n validateSourceConsent(taskset, issues);\n validateDatasetArtifact(taskset, issues);\n validateSplitIsolation(taskset, issues);\n validatePolicyBoundary(taskset, issues);\n validateGraders(taskset, issues);\n validateGraderFixtures(taskset, issues, options);\n validateLearningSignals(taskset, issues);\n validateCapabilities(taskset.capabilities, issues, taskset);\n validateWorkExecution(taskset, issues);\n\n const computedHash = tasksetContentHash(taskset);\n if (taskset.contentHash !== computedHash) {\n issues.push({\n code: \"content_hash_mismatch\",\n severity: \"error\",\n message: `Taskset contentHash is ${taskset.contentHash}, expected ${computedHash}.`,\n path: \"contentHash\",\n });\n }\n\n return {\n valid: !issues.some((issue) => issue.severity === \"error\"),\n taskset,\n computedHash,\n issues,\n };\n}\n\nfunction validateGraderFixtures(taskset: Taskset, issues: TasksetValidationIssue[], options: { allowUnscoredOnlineRewardBatch?: boolean }): void {\n // The hosted learning boundary checks the sealed batch and executable Reward\n // before opting into fresh-rollout GRPO. Ordinary authored Tasksets still\n // require grader fixtures.\n if (!taskset.graderFixtures.length && !(options.allowUnscoredOnlineRewardBatch && taskset.metadata.trainingMethod === \"grpo\" && taskset.metadata.learning)) {\n issues.push({ code: \"grader_fixtures_required\", severity: \"error\", message: \"Taskset admission requires authored grader fixtures.\", path: \"graderFixtures\" });\n }\n const taskIds = new Set(taskset.tasks.map((task) => task.id));\n const required = new Set([\"positive\", \"negative\", \"boundary\", \"adversarial\", \"prompt_injection\", \"infrastructure_failure\"]);\n for (const fixture of taskset.graderFixtures) {\n if (!taskset.datasetArtifact && !taskIds.has(fixture.taskId)) issues.push({ code: \"grader_fixture_task_missing\", severity: \"warning\", message: `Fixture ${fixture.id} references a task outside this Taskset revision (${fixture.taskId}).`, path: `graderFixtures.${fixture.id}.taskId` });\n required.delete(fixture.label);\n if (fixture.label === \"infrastructure_failure\" && !fixture.infrastructureError) issues.push({ code: \"infrastructure_fixture_error_missing\", severity: \"error\", message: `Infrastructure fixture ${fixture.id} must declare an infrastructure error.`, path: `graderFixtures.${fixture.id}.infrastructureError` });\n }\n for (const label of required) issues.push({ code: \"grader_fixture_missing\", severity: \"warning\", message: `Taskset does not include the optional ${label} grader calibration fixture.`, path: \"graderFixtures\" });\n}\n\nfunction validateDatasetArtifact(\n taskset: Taskset,\n issues: TasksetValidationIssue[],\n): void {\n const artifact = taskset.datasetArtifact;\n if (!artifact) return;\n if (\n artifact.tasksetId !== taskset.id\n || artifact.tasksetRevision !== taskset.revision\n ) {\n issues.push({\n code: \"dataset_artifact_taskset_mismatch\",\n severity: \"error\",\n message: \"Dataset artifact identity does not match its Taskset revision.\",\n path: \"datasetArtifact\",\n });\n }\n const splitTotal = Object.values(artifact.splitCounts)\n .reduce((total, count) => total + count, 0);\n const shardTotal = artifact.shards\n .reduce((total, shard) => total + shard.rowCount, 0);\n if (splitTotal !== artifact.rowCount || shardTotal !== artifact.rowCount) {\n issues.push({\n code: \"dataset_artifact_row_count_mismatch\",\n severity: \"error\",\n message: \"Dataset artifact row, split, and shard counts do not agree.\",\n path: \"datasetArtifact.rowCount\",\n });\n }\n const shardSplitCounts = new Map<string, number>();\n for (const shard of artifact.shards) {\n shardSplitCounts.set(\n shard.split,\n (shardSplitCounts.get(shard.split) ?? 0) + shard.rowCount,\n );\n }\n for (const [split, count] of Object.entries(artifact.splitCounts)) {\n if ((shardSplitCounts.get(split) ?? 0) !== count) {\n issues.push({\n code: \"dataset_artifact_split_count_mismatch\",\n severity: \"error\",\n message: `Dataset artifact ${split} shard counts do not match its manifest.`,\n path: `datasetArtifact.splitCounts.${split}`,\n });\n }\n }\n const { contentHash: _contentHash, ...hashable } = artifact;\n if (contentHash(hashable) !== artifact.contentHash) {\n issues.push({\n code: \"dataset_artifact_hash_mismatch\",\n severity: \"error\",\n message: \"Dataset artifact manifest content hash is invalid.\",\n path: \"datasetArtifact.contentHash\",\n });\n }\n}\n\nexport function computeTasksetHash(taskset: Omit<Taskset, \"contentHash\"> | Taskset): string {\n return tasksetContentHash(taskset);\n}\n\nfunction tasksetContentHash(taskset: Omit<Taskset, \"contentHash\"> | Taskset): string {\n const { contentHash: _contentHash, status: _status, readiness: _readiness, updatedAt: _updatedAt, ...source } = taskset as Taskset;\n return contentHash(source);\n}\n\nexport function validatePortability(capabilities: TasksetCapabilityManifest): TasksetValidationIssue[] {\n const issues: TasksetValidationIssue[] = [];\n validateCapabilities(capabilities, issues, null);\n return issues;\n}\n\nfunction validateSourceConsent(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n for (const [index, source] of taskset.sourceRefs.entries()) {\n if (isTrainingSourceRef(source) && source.consent.status !== \"granted\") {\n issues.push({ code: \"source_consent_missing\", severity: \"error\", message: `Source ${source.id} is not consented.`, path: `sourceRefs.${index}.consent.status` });\n }\n if (source.secretScanStatus !== \"passed\") {\n issues.push({ code: \"source_secret_scan\", severity: \"error\", message: `Source ${source.id} did not pass secret scanning.`, path: `sourceRefs.${index}.secretScanStatus` });\n }\n if (source.piiScanStatus !== \"passed\") {\n issues.push({ code: \"source_pii_scan\", severity: \"error\", message: `Source ${source.id} has unresolved PII policy.`, path: `sourceRefs.${index}.piiScanStatus` });\n }\n if (source.licensingStatus !== \"approved\") {\n issues.push({ code: \"source_license\", severity: \"error\", message: `Source ${source.id} has unresolved licensing policy.`, path: `sourceRefs.${index}.licensingStatus` });\n }\n }\n}\n\nfunction validateSplitIsolation(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const clusterSplits = new Map<string, Set<string>>();\n for (const task of taskset.tasks) {\n const splits = clusterSplits.get(task.clusterKey) ?? new Set<string>();\n splits.add(task.split);\n clusterSplits.set(task.clusterKey, splits);\n }\n for (const [cluster, splits] of clusterSplits) {\n if (splits.size > 1) {\n issues.push({ code: \"split_cluster_contamination\", severity: \"error\", message: `Source cluster ${cluster} appears in multiple splits: ${[...splits].join(\", \")}.`, path: \"tasks\" });\n }\n }\n const frozenCount = taskset.datasetArtifact\n ? taskset.datasetArtifact.splitCounts.frozen_eval ?? 0\n : taskset.tasks.filter((task) => task.split === \"frozen_eval\").length;\n if (frozenCount === 0) issues.push({ code: \"frozen_eval_missing\", severity: \"warning\", message: \"Add an independent test example before training.\", path: \"tasks\" });\n}\n\nfunction validateWorkExecution(\n taskset: Taskset,\n issues: TasksetValidationIssue[],\n): void {\n if (taskset.environment.kind !== \"work\") return;\n if (taskset.environment.entrypoint !== \"openpond-work-v1\") {\n issues.push({\n code: \"work_entrypoint_invalid\",\n severity: \"error\",\n message: \"Work Tasksets must use the openpond-work-v1 entrypoint.\",\n path: \"environment.entrypoint\",\n });\n }\n if (!taskset.environment.lifecycle.includes(\"reset\") || !taskset.environment.lifecycle.includes(\"cleanup\")) {\n issues.push({\n code: \"work_reset_lifecycle_missing\",\n severity: \"error\",\n message: \"Work attempts require reset and cleanup; filesystem state belongs to one attempt.\",\n path: \"environment.lifecycle\",\n });\n }\n const allowedTools = new Set<string>(TASKSET_WORK_TOOL_NAMES);\n const unknownTools = taskset.environment.toolNames.filter(\n (name) => !allowedTools.has(name),\n );\n if (unknownTools.length) {\n issues.push({\n code: \"work_tool_unknown\",\n severity: \"error\",\n message: `Work Taskset declares unknown tools: ${unknownTools.join(\", \")}.`,\n path: \"environment.toolNames\",\n });\n }\n if (!taskset.environment.toolNames.includes(\"work_save_output\")) {\n issues.push({\n code: \"work_output_tool_missing\",\n severity: \"error\",\n message: \"Work Tasksets must declare work_save_output.\",\n path: \"environment.toolNames\",\n });\n }\n for (const lifecycle of [\"create\", \"reset\", \"step\", \"grade\", \"cleanup\"] as const) {\n if (!taskset.environment.lifecycle.includes(lifecycle)) {\n issues.push({\n code: \"work_lifecycle_incomplete\",\n severity: \"error\",\n message: `Work Tasksets require the ${lifecycle} lifecycle stage.`,\n path: \"environment.lifecycle\",\n });\n }\n }\n\n const sourceById = new Map(\n taskset.sourceRefs.map((source) => [source.id, source]),\n );\n for (const [taskIndex, task] of taskset.tasks.entries()) {\n const assetIds = new Set<string>();\n const fileNames = new Set<string>();\n for (const [assetIndex, asset] of (task.assets ?? []).entries()) {\n const path = `tasks.${taskIndex}.assets.${assetIndex}`;\n if (assetIds.has(asset.id)) {\n issues.push({\n code: \"work_asset_duplicate_id\",\n severity: \"error\",\n message: `Task ${task.id} repeats asset id ${asset.id}.`,\n path: `${path}.id`,\n });\n }\n if (fileNames.has(asset.fileName)) {\n issues.push({\n code: \"work_asset_duplicate_name\",\n severity: \"error\",\n message: `Task ${task.id} repeats staged file name ${asset.fileName}.`,\n path: `${path}.fileName`,\n });\n }\n assetIds.add(asset.id);\n fileNames.add(asset.fileName);\n if (!task.sourceRefs.includes(asset.sourceRefId)) {\n issues.push({\n code: \"work_asset_task_source_missing\",\n severity: \"error\",\n message: `Asset ${asset.id} references source ${asset.sourceRefId} outside task ${task.id}.`,\n path: `${path}.sourceRefId`,\n });\n }\n const source = sourceById.get(asset.sourceRefId);\n if (!source) {\n issues.push({\n code: \"work_asset_source_missing\",\n severity: \"error\",\n message: `Asset ${asset.id} references missing source ${asset.sourceRefId}.`,\n path: `${path}.sourceRefId`,\n });\n } else if (\n \"sourceFileHashes\" in source\n && !source.sourceFileHashes.includes(asset.sha256)\n ) {\n issues.push({\n code: \"work_asset_hash_unregistered\",\n severity: \"error\",\n message: `Asset ${asset.id} hash is not registered by source ${asset.sourceRefId}.`,\n path: `${path}.sha256`,\n });\n }\n if (\n source\n && \"kind\" in source\n && source.kind === \"uploaded_file\"\n && !source.originalFileNames.includes(asset.fileName)\n ) {\n issues.push({\n code: \"work_asset_name_unregistered\",\n severity: \"error\",\n message: `Asset ${asset.id} file name is not registered by source ${asset.sourceRefId}.`,\n path: `${path}.fileName`,\n });\n }\n if (\n source\n && \"kind\" in source\n && source.kind === \"uploaded_file\"\n && !source.mediaTypes.includes(asset.mediaType)\n ) {\n issues.push({\n code: \"work_asset_media_type_unregistered\",\n severity: \"error\",\n message: `Asset ${asset.id} media type is not registered by source ${asset.sourceRefId}.`,\n path: `${path}.mediaType`,\n });\n }\n if (asset.split !== task.split) {\n issues.push({\n code: \"work_asset_split_mismatch\",\n severity: \"error\",\n message: `Asset ${asset.id} is assigned to ${asset.split}, not task split ${task.split}.`,\n path: `${path}.split`,\n });\n }\n }\n\n const outputPaths = new Set<string>();\n for (const [outputIndex, output] of (task.requiredOutputs ?? []).entries()) {\n const normalized = output.path.replaceAll(\"\\\\\", \"/\");\n const path = `tasks.${taskIndex}.requiredOutputs.${outputIndex}.path`;\n if (outputPaths.has(normalized)) {\n issues.push({\n code: \"work_output_duplicate_path\",\n severity: \"error\",\n message: `Task ${task.id} repeats required output path ${normalized}.`,\n path,\n });\n }\n outputPaths.add(normalized);\n }\n if ((task.requiredOutputs ?? []).length === 0) {\n issues.push({\n code: \"work_output_missing\",\n severity: \"error\",\n message: `Work task ${task.id} must declare at least one required output.`,\n path: `tasks.${taskIndex}.requiredOutputs`,\n });\n }\n }\n}\n\nfunction validatePolicyBoundary(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const visible = new Set(taskset.policy.policyVisibleFields);\n for (const field of taskset.policy.privilegedFields) {\n if (visible.has(field)) issues.push({ code: \"privileged_field_visible\", severity: \"error\", message: `Field ${field} is both policy-visible and privileged.`, path: \"policy\" });\n }\n for (const task of taskset.tasks) {\n if (task.privilegedContextRef && Object.keys(task.policyVisibleContext).includes(task.privilegedContextRef)) {\n issues.push({ code: \"privileged_context_leak\", severity: \"error\", message: `Task ${task.id} exposes its privileged context reference.`, path: `tasks.${task.id}.policyVisibleContext` });\n }\n }\n}\n\nfunction validateGraders(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const ids = new Set<string>();\n for (const grader of taskset.graders) {\n if (ids.has(grader.id)) issues.push({ code: \"grader_duplicate\", severity: \"error\", message: `Duplicate grader id ${grader.id}.`, path: \"graders\" });\n ids.add(grader.id);\n if (grader.kind === \"model_judge\" && grader.rewardEligible && grader.calibrationStatus !== \"passed\") {\n issues.push({ code: \"judge_calibration_pending\", severity: \"warning\", message: `Model judge ${grader.id} is selected for reward without a passing advisory calibration report.`, path: `graders.${grader.id}` });\n }\n if (grader.kind === \"model_judge\" && grader.calibrationStatus === \"passed\" && typeof grader.metadata.calibrationEvidenceHash !== \"string\") {\n issues.push({ code: \"judge_calibration_evidence_missing\", severity: \"warning\", message: `Model judge ${grader.id} declares calibration without an OpenPond fixture evidence hash.`, path: `graders.${grader.id}.metadata.calibrationEvidenceHash` });\n }\n if (grader.kind === \"human\" && grader.rewardEligible) {\n issues.push({ code: \"human_online_reward\", severity: \"error\", message: `Human grader ${grader.id} cannot be an online optimizer reward.`, path: `graders.${grader.id}` });\n }\n }\n}\n\nfunction validateLearningSignals(taskset: Taskset, issues: TasksetValidationIssue[]): void {\n const taskIds = new Set(taskset.tasks.map((task) => task.id));\n const sourceIds = new Set(taskset.sourceRefs.map((source) => source.id));\n for (const signal of [\n ...taskset.learningSignals.demonstrations,\n ...taskset.learningSignals.preferences,\n ...taskset.learningSignals.corrections,\n ...taskset.learningSignals.feedback,\n ...taskset.learningSignals.rewards,\n ...taskset.learningSignals.labels,\n ]) {\n if (signal.taskId && !taskset.datasetArtifact && !taskIds.has(signal.taskId)) {\n issues.push({ code: \"learning_signal_task_missing\", severity: \"error\", message: `Signal ${signal.id} references missing task ${signal.taskId}.`, path: `learningSignals.${signal.kind}.${signal.id}.taskId` });\n }\n if (signal.sourceRefs.some((sourceId) => !sourceIds.has(sourceId))) {\n issues.push({ code: \"learning_signal_source_missing\", severity: \"error\", message: `Signal ${signal.id} references a source outside the Dataset.`, path: `learningSignals.${signal.kind}.${signal.id}.sourceRefs` });\n }\n }\n for (const preference of taskset.learningSignals.preferences) {\n if (preference.chosen.trim() === preference.rejected.trim()) {\n issues.push({ code: \"preference_pair_identical\", severity: \"error\", message: `Preference ${preference.id} has identical chosen and rejected responses.`, path: `learningSignals.preferences.${preference.id}` });\n }\n }\n for (const reward of taskset.learningSignals.rewards) {\n if (!reward.executable) {\n issues.push({ code: \"reward_not_executable\", severity: \"warning\", message: `Reward ${reward.id} is a reviewed specification but has no executable verifier yet.`, path: `learningSignals.rewards.${reward.id}.executable` });\n }\n }\n}\n\nfunction validateCapabilities(\n capabilities: TasksetCapabilityManifest,\n issues: TasksetValidationIssue[],\n taskset: Taskset | null,\n): void {\n if (!capabilities.exportable && capabilities.portabilityBlockers.length === 0) {\n issues.push({ code: \"portability_reason_missing\", severity: \"error\", message: \"Non-exportable Tasksets must declare a portability blocker.\", path: \"capabilities.portabilityBlockers\" });\n }\n if (capabilities.compatibleMethods.includes(\"grpo\") && !capabilities.rewardKinds.some((kind) => kind === \"exact\" || kind === \"deterministic\" || kind === \"model_judge\")) {\n issues.push({ code: \"grpo_reward_missing\", severity: \"error\", message: \"GRPO compatibility requires a scalar reward kind.\", path: \"capabilities.rewardKinds\" });\n }\n if (taskset?.capabilities.compatibleMethods.includes(\"sft\") && taskset.learningSignals.demonstrations.length === 0) {\n issues.push({ code: \"sft_demonstrations_missing\", severity: \"error\", message: \"SFT compatibility requires approved demonstrations.\", path: \"learningSignals.demonstrations\" });\n }\n if (taskset?.capabilities.compatibleMethods.includes(\"dpo\") && taskset.learningSignals.preferences.length === 0) {\n issues.push({ code: \"dpo_preferences_missing\", severity: \"error\", message: \"DPO compatibility requires chosen and rejected response pairs.\", path: \"learningSignals.preferences\" });\n }\n if (\n taskset\n && (taskset.capabilities.compatibleMethods.includes(\"grpo\") || taskset.capabilities.compatibleMethods.includes(\"ppo\"))\n && !taskset.learningSignals.rewards.some((reward) => reward.executable)\n && !taskset.graders.some(grader => grader.rewardEligible && grader.weight > 0 && grader.kind !== \"human\")\n ) {\n issues.push({ code: \"online_reward_not_executable\", severity: \"error\", message: \"GRPO/PPO compatibility requires an executable scalar reward.\", path: \"learningSignals.rewards\" });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["z", "z", "IdSchema", "TimestampSchema", "HashSchema", "z", "z", "z", "IdSchema", "z", "TimestampSchema", "HashSchema", "MetadataSchema", "z", "IdSchema", "z", "TimestampSchema", "HashSchema", "MetadataSchema", "NullableIdSchema"]
7
+ }
@@ -0,0 +1,37 @@
1
+ import {
2
+ fetchConnectedJson
3
+ } from "./chunk-T4APHDES.js";
4
+
5
+ // src/evaluation-coordination-http.ts
6
+ import { z } from "zod";
7
+ var EvaluationCoordinationTransport = class {
8
+ constructor(access) {
9
+ this.access = access;
10
+ const url = new URL(access.baseUrl);
11
+ if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !access.apiKey.trim() || !access.actorId.trim() || !access.teamId.trim()) throw new Error("Select the current evaluation owner and HTTP API origin.");
12
+ this.origin = url.toString().replace(/\/+$/, "");
13
+ }
14
+ access;
15
+ origin;
16
+ async post(path, request, signal) {
17
+ const body = JSON.stringify({ teamId: this.access.teamId, projectId: this.access.projectId, request });
18
+ if (new TextEncoder().encode(body).byteLength > 1048576) throw new Error("The reviewed evaluation command exceeds 1 MiB.");
19
+ const { response, value } = await fetchConnectedJson(this.access.fetch ?? fetch, `${this.origin}/v1/${path}`, {
20
+ method: "POST",
21
+ redirect: "error",
22
+ headers: { Authorization: `Bearer ${this.access.apiKey}`, "X-OpenPond-Team-Id": this.access.teamId, "Content-Type": "application/json" },
23
+ body,
24
+ signal
25
+ }, (status, code, message) => Object.assign(new Error(message), { status, code }));
26
+ if (!response.ok) {
27
+ const error = z.object({ error: z.string().optional(), message: z.string().optional(), code: z.string().optional() }).passthrough().safeParse(value);
28
+ throw Object.assign(new Error(error.success ? error.data.error ?? error.data.message ?? "Evaluation operation failed." : "Evaluation operation failed."), { status: response.status, code: error.success ? error.data.code : void 0 });
29
+ }
30
+ return value;
31
+ }
32
+ };
33
+
34
+ export {
35
+ EvaluationCoordinationTransport
36
+ };
37
+ //# sourceMappingURL=chunk-YCQVVFE5.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/evaluation-coordination-http.ts"],
4
+ "sourcesContent": ["import {z} from \"zod\";\nimport {fetchConnectedJson} from \"./connected-evidence-http.js\";\nexport type EvaluationCoordinationAccess={baseUrl:string;apiKey:string;actorId:string;teamId:string;projectId:string|null;fetch?:typeof fetch};\n/** Bounded authenticated transport for the current evaluation owner. There is\n * no retry or operation allocation here; commands retain their reviewed IDs. */\nexport class EvaluationCoordinationTransport {\n readonly origin:string;\n constructor(readonly access:EvaluationCoordinationAccess){\n const url=new URL(access.baseUrl);\n if(![\"http:\",\"https:\"].includes(url.protocol)||url.username||url.password||url.search||url.hash||!access.apiKey.trim()||!access.actorId.trim()||!access.teamId.trim())throw new Error(\"Select the current evaluation owner and HTTP API origin.\");\n this.origin=url.toString().replace(/\\/+$/,\"\");\n }\n async post(path:\"experiment-evaluation-schedules\"|\"advanced-refiner-evaluations\",request:unknown,signal?:AbortSignal){\n const body=JSON.stringify({teamId:this.access.teamId,projectId:this.access.projectId,request});\n if(new TextEncoder().encode(body).byteLength>1_048_576)throw new Error(\"The reviewed evaluation command exceeds 1 MiB.\");\n const {response,value}=await fetchConnectedJson(this.access.fetch??fetch,`${this.origin}/v1/${path}`,{\n method:\"POST\",redirect:\"error\",headers:{Authorization:`Bearer ${this.access.apiKey}`,\"X-OpenPond-Team-Id\":this.access.teamId,\"Content-Type\":\"application/json\"},body,signal,\n },(status,code,message)=>Object.assign(new Error(message),{status,code}));\n if(!response.ok){const error=z.object({error:z.string().optional(),message:z.string().optional(),code:z.string().optional()}).passthrough().safeParse(value);throw Object.assign(new Error(error.success?error.data.error??error.data.message??\"Evaluation operation failed.\":\"Evaluation operation failed.\"),{status:response.status,code:error.success?error.data.code:undefined});}\n return value;\n }\n}\n"],
5
+ "mappings": ";;;;;AAAA,SAAQ,SAAQ;AAKT,IAAM,kCAAN,MAAsC;AAAA,EAE3C,YAAqB,QAAoC;AAApC;AACnB,UAAM,MAAI,IAAI,IAAI,OAAO,OAAO;AAChC,QAAG,CAAC,CAAC,SAAQ,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAG,IAAI,YAAU,IAAI,YAAU,IAAI,UAAQ,IAAI,QAAM,CAAC,OAAO,OAAO,KAAK,KAAG,CAAC,OAAO,QAAQ,KAAK,KAAG,CAAC,OAAO,OAAO,KAAK,EAAE,OAAM,IAAI,MAAM,0DAA0D;AAChP,SAAK,SAAO,IAAI,SAAS,EAAE,QAAQ,QAAO,EAAE;AAAA,EAC9C;AAAA,EAJqB;AAAA,EADZ;AAAA,EAMT,MAAM,KAAK,MAAsE,SAAgB,QAAoB;AACnH,UAAM,OAAK,KAAK,UAAU,EAAC,QAAO,KAAK,OAAO,QAAO,WAAU,KAAK,OAAO,WAAU,QAAO,CAAC;AAC7F,QAAG,IAAI,YAAY,EAAE,OAAO,IAAI,EAAE,aAAW,QAAU,OAAM,IAAI,MAAM,gDAAgD;AACvH,UAAM,EAAC,UAAS,MAAK,IAAE,MAAM,mBAAmB,KAAK,OAAO,SAAO,OAAM,GAAG,KAAK,MAAM,OAAO,IAAI,IAAG;AAAA,MACnG,QAAO;AAAA,MAAO,UAAS;AAAA,MAAQ,SAAQ,EAAC,eAAc,UAAU,KAAK,OAAO,MAAM,IAAG,sBAAqB,KAAK,OAAO,QAAO,gBAAe,mBAAkB;AAAA,MAAE;AAAA,MAAK;AAAA,IACvK,GAAE,CAAC,QAAO,MAAK,YAAU,OAAO,OAAO,IAAI,MAAM,OAAO,GAAE,EAAC,QAAO,KAAI,CAAC,CAAC;AACxE,QAAG,CAAC,SAAS,IAAG;AAAC,YAAM,QAAM,EAAE,OAAO,EAAC,OAAM,EAAE,OAAO,EAAE,SAAS,GAAE,SAAQ,EAAE,OAAO,EAAE,SAAS,GAAE,MAAK,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,YAAY,EAAE,UAAU,KAAK;AAAE,YAAM,OAAO,OAAO,IAAI,MAAM,MAAM,UAAQ,MAAM,KAAK,SAAO,MAAM,KAAK,WAAS,iCAA+B,8BAA8B,GAAE,EAAC,QAAO,SAAS,QAAO,MAAK,MAAM,UAAQ,MAAM,KAAK,OAAK,OAAS,CAAC;AAAA,IAAE;AACrX,WAAO;AAAA,EACT;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,267 @@
1
+ import {
2
+ ExperimentImprovementOptionsSchema
3
+ } from "./chunk-GDJRGRHA.js";
4
+ import {
5
+ EvaluationCoordinationTransport
6
+ } from "./chunk-YCQVVFE5.js";
7
+ import {
8
+ ChatModelRefSchema
9
+ } from "./chunk-I2MBVOVX.js";
10
+ import {
11
+ ImmutableReleaseRefSchema,
12
+ contentHash
13
+ } from "./chunk-QUOW6URQ.js";
14
+
15
+ // src/advanced-refiner-evaluations.ts
16
+ import { z } from "zod";
17
+ import {
18
+ ProfileExternalDatasetBindingSchema,
19
+ verifyProfileExternalDatasetBinding
20
+ } from "@openpond/evals";
21
+ var Id = z.string().trim().min(1).max(240);
22
+ var Hash = z.string().regex(/^[a-f0-9]{64}$/);
23
+ var AdvancedRefinerEvaluationPinSchema = z.object({
24
+ schemaVersion: z.literal("openpond.advancedRefinerEvaluation.v1"),
25
+ operationId: Id,
26
+ actorId: Id,
27
+ teamId: Id,
28
+ projectId: Id.nullable(),
29
+ mode: z.enum(["review_quality", "downstream_adaptation"]),
30
+ profileRef: z.object({
31
+ source: z.enum(["local", "github", "openpond_git"]),
32
+ repositoryId: Id,
33
+ profileId: Id
34
+ }).strict(),
35
+ sourceRevision: z.string().min(1).max(500),
36
+ baselineRelease: ImmutableReleaseRefSchema,
37
+ refinerRelease: ImmutableReleaseRefSchema,
38
+ evidence: ImmutableReleaseRefSchema,
39
+ externalDatasetBinding: ProfileExternalDatasetBindingSchema,
40
+ adaptationDatasetBinding: ProfileExternalDatasetBindingSchema,
41
+ privateClosureHash: Hash,
42
+ adaptationTaskIds: z.array(Id).min(1).max(1e4),
43
+ holdoutTaskIds: z.array(Id).min(1).max(1e4),
44
+ adaptationSplit: z.enum(["train", "validation", "test", "frozen_eval"]),
45
+ holdoutSplit: z.enum(["train", "validation", "test", "frozen_eval"]),
46
+ environmentPolicy: z.discriminatedUnion("kind", [
47
+ z.object({ kind: z.literal("resettable"), environmentHash: Hash }).strict(),
48
+ z.object({
49
+ kind: z.literal("frozen_observations"),
50
+ environmentHash: Hash
51
+ }).strict()
52
+ ]),
53
+ maximumCostUsd: z.number().finite().positive().max(1e4),
54
+ maximumDurationMs: z.number().int().min(1e3).max(864e5),
55
+ maximumModelSteps: z.number().int().min(1).max(1e3),
56
+ contentHash: Hash
57
+ }).strict();
58
+ function verifyAdvancedRefinerEvaluationPin(raw) {
59
+ const value = AdvancedRefinerEvaluationPinSchema.parse(raw), { contentHash: hash, ...body } = value;
60
+ if (contentHash(body) !== hash)
61
+ throw new Error("Advanced Refiner evaluation admission changed.");
62
+ const binding = verifyProfileExternalDatasetBinding(
63
+ value.externalDatasetBinding
64
+ );
65
+ if (binding.profileId !== value.profileRef.profileId || binding.protectedProfileClosureHash !== value.privateClosureHash)
66
+ throw new Error(
67
+ "Advanced evaluation changed its Profile or protected evaluator closure."
68
+ );
69
+ if (value.adaptationSplit === value.holdoutSplit || (/* @__PURE__ */ new Set([...value.adaptationTaskIds, ...value.holdoutTaskIds])).size !== value.adaptationTaskIds.length + value.holdoutTaskIds.length)
70
+ throw new Error(
71
+ "Adaptation and private holdout must be disjoint ordered cases."
72
+ );
73
+ const adaptation = verifyProfileExternalDatasetBinding(
74
+ value.adaptationDatasetBinding
75
+ );
76
+ if (adaptation.profileId !== binding.profileId || adaptation.packageHash !== binding.packageHash || contentHash(adaptation.dataset) !== contentHash(binding.dataset) || contentHash(adaptation.target) !== contentHash(binding.target) || adaptation.protectedProfileClosureHash !== binding.protectedProfileClosureHash)
77
+ throw new Error(
78
+ "This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target."
79
+ );
80
+ if (adaptation.split !== value.adaptationSplit || binding.split !== value.holdoutSplit)
81
+ throw new Error(
82
+ "Advanced split policies differ from their exact admitted recipes."
83
+ );
84
+ const population = new Set(binding.population.map((item) => item.taskId));
85
+ const adapted = new Set(adaptation.population.map((item) => item.taskId));
86
+ if (value.holdoutTaskIds.some((id) => !population.has(id)) || value.adaptationTaskIds.some((id) => !adapted.has(id)))
87
+ throw new Error(
88
+ "Advanced evaluation selected cases outside its exact Dataset recipe."
89
+ );
90
+ return value;
91
+ }
92
+ function sealAdvancedRefinerEvaluationPin(body) {
93
+ return verifyAdvancedRefinerEvaluationPin({
94
+ ...body,
95
+ contentHash: contentHash(body)
96
+ });
97
+ }
98
+ var AdvancedRefinerEvaluationStartSchema = z.object({
99
+ pin: AdvancedRefinerEvaluationPinSchema,
100
+ modelId: Id,
101
+ profileId: Id,
102
+ model: ChatModelRefSchema,
103
+ seed: z.number().int(),
104
+ reasoningEffort: z.enum(["none", "off", "low", "medium", "high", "xhigh", "max"]).nullable()
105
+ }).strict();
106
+ var AdvancedRefinerEvaluationCommandSchema = z.discriminatedUnion(
107
+ "operation",
108
+ [
109
+ z.object({
110
+ operation: z.literal("start"),
111
+ request: AdvancedRefinerEvaluationStartSchema
112
+ }).strict(),
113
+ z.object({ operation: z.enum(["read", "cancel", "resume"]), id: Id }).strict(),
114
+ z.object({ operation: z.literal("list") }).strict()
115
+ ]
116
+ );
117
+ var AdvancedRefinerReviewCaseReceiptSchema = z.object({
118
+ taskId: Id,
119
+ sourceCaseHash: Hash,
120
+ reviewSessionId: Id,
121
+ reviewTurnId: Id,
122
+ inputHarness: ImmutableReleaseRefSchema,
123
+ trigger: ImmutableReleaseRefSchema,
124
+ decision: z.enum(["no_action", "route_deterministically", "queue_refiner"]),
125
+ outcome: ImmutableReleaseRefSchema.nullable(),
126
+ proposal: ImmutableReleaseRefSchema.nullable(),
127
+ validations: z.array(ImmutableReleaseRefSchema).max(100),
128
+ grade: z.object({
129
+ id: Id,
130
+ contentHash: Hash,
131
+ score: z.number().min(0).max(1).nullable(),
132
+ passed: z.boolean(),
133
+ failureClass: z.string().nullable()
134
+ }).strict(),
135
+ resetComplete: z.boolean()
136
+ }).strict();
137
+ var AdvancedRefinerReviewReceiptSchema = z.object({
138
+ schemaVersion: z.literal("openpond.advancedRefinerReviewReceipt.v1"),
139
+ id: Id,
140
+ runId: Id,
141
+ pinHash: Hash,
142
+ ownerActorId: Id,
143
+ teamId: Id,
144
+ privateClosureHash: Hash,
145
+ refinerRelease: ImmutableReleaseRefSchema,
146
+ cases: z.array(AdvancedRefinerReviewCaseReceiptSchema).min(1).max(1e4),
147
+ reviewScore: z.number().min(0).max(1).nullable(),
148
+ completedCases: z.number().int().nonnegative(),
149
+ noActionCases: z.number().int().nonnegative(),
150
+ routedCases: z.number().int().nonnegative(),
151
+ proposalCases: z.number().int().nonnegative(),
152
+ costUsd: z.number().finite().nonnegative().nullable(),
153
+ cleanupComplete: z.boolean(),
154
+ createdAt: z.string().datetime(),
155
+ contentHash: Hash
156
+ }).strict();
157
+ function sealAdvancedRefinerReviewReceipt(body) {
158
+ return AdvancedRefinerReviewReceiptSchema.parse({
159
+ ...body,
160
+ contentHash: contentHash(body)
161
+ });
162
+ }
163
+ var AdvancedProfile = ExperimentImprovementOptionsSchema.shape.profiles.element;
164
+ var AdvancedRefinerEvaluationOptionsSchema = ExperimentImprovementOptionsSchema.extend({
165
+ profiles: z.array(
166
+ AdvancedProfile.extend({
167
+ components: z.array(
168
+ AdvancedProfile.shape.components.element.extend({
169
+ adaptationSplits: z.array(
170
+ z.object({
171
+ split: z.enum(["train", "validation", "test", "frozen_eval"]),
172
+ taskIds: z.array(Id)
173
+ })
174
+ ),
175
+ environmentHash: Hash,
176
+ resettable: z.boolean(),
177
+ reviewQuality: z.boolean()
178
+ })
179
+ )
180
+ })
181
+ ),
182
+ refinerReleases: z.array(ImmutableReleaseRefSchema),
183
+ activeRefiner: ImmutableReleaseRefSchema.nullable(),
184
+ models: z.array(z.object({ id: Id, profileId: Id, name: z.string(), location: z.enum(["local", "hosted"]) }))
185
+ });
186
+ var AdvancedRefinerEvaluationPrepareSchema = z.object({
187
+ operation: z.literal("prepare"),
188
+ evidence: ImmutableReleaseRefSchema,
189
+ profileOptionId: Id,
190
+ componentLabel: Id,
191
+ mode: z.enum(["review_quality", "downstream_adaptation"]),
192
+ adaptationSplit: z.enum(["train", "validation", "test", "frozen_eval"]),
193
+ operationId: Id,
194
+ refinerRelease: ImmutableReleaseRefSchema,
195
+ maximumCostUsd: z.number().positive(),
196
+ maximumDurationMs: z.number().int().positive(),
197
+ maximumModelSteps: z.number().int().positive()
198
+ }).strict();
199
+ var AdvancedRefinerEvaluationSetupCommandSchema = z.union([
200
+ AdvancedRefinerEvaluationCommandSchema,
201
+ AdvancedRefinerEvaluationPrepareSchema,
202
+ z.object({
203
+ operation: z.literal("options"),
204
+ evidence: ImmutableReleaseRefSchema
205
+ }).strict()
206
+ ]);
207
+ var AdvancedRefinerEvaluationAccountingSchema = z.object({
208
+ modelRequests: z.number().int().nonnegative(),
209
+ knownSpendUsd: z.number().nonnegative(),
210
+ totalSpendUsd: z.number().nonnegative().nullable(),
211
+ heldUsd: z.number().nonnegative(),
212
+ uncertainRequests: z.number().int().nonnegative()
213
+ }).strict();
214
+ var OpenPondAdvancedRefinerEvaluationClient = class {
215
+ transport;
216
+ constructor(access) {
217
+ this.transport = new EvaluationCoordinationTransport(access);
218
+ }
219
+ async command(raw, signal) {
220
+ const request = AdvancedRefinerEvaluationSetupCommandSchema.parse(raw), access = this.transport.access;
221
+ const assertPin = (raw2) => {
222
+ const pin2 = verifyAdvancedRefinerEvaluationPin(raw2);
223
+ if (pin2.actorId !== access.actorId || pin2.teamId !== access.teamId || pin2.projectId !== access.projectId) throw new Error("The advanced pin belongs to another evaluation owner.");
224
+ return pin2;
225
+ };
226
+ if (request.operation === "start") assertPin(request.request.pin);
227
+ const value = await this.transport.post("advanced-refiner-evaluations", request, signal);
228
+ if (request.operation === "options") {
229
+ const result2 = AdvancedRefinerEvaluationOptionsSchema.parse(value);
230
+ if (result2.teamId !== access.teamId || contentHash(result2.evidence) !== contentHash(request.evidence)) throw new Error("Advanced options changed their reviewed evidence.");
231
+ return result2;
232
+ }
233
+ if (request.operation === "prepare") {
234
+ const result2 = z.object({ pin: AdvancedRefinerEvaluationPinSchema }).strict().parse(value);
235
+ const pin2 = assertPin(result2.pin);
236
+ if (pin2.operationId !== request.operationId || contentHash(pin2.profileRef) !== request.profileOptionId || contentHash(pin2.evidence) !== contentHash(request.evidence) || pin2.mode !== request.mode || contentHash(pin2.refinerRelease) !== contentHash(request.refinerRelease) || pin2.adaptationSplit !== request.adaptationSplit || pin2.maximumCostUsd !== request.maximumCostUsd || pin2.maximumDurationMs !== request.maximumDurationMs || pin2.maximumModelSteps !== request.maximumModelSteps) throw new Error("Advanced preparation changed its reviewed command.");
237
+ return { pin: pin2 };
238
+ }
239
+ if (request.operation === "list") return z.object({ items: z.array(z.object({ id: Id, status: z.enum(["prepared", "running", "succeeded", "failed", "cancelled"]), mode: z.enum(["review_quality", "downstream_adaptation"]), startedAt: z.string().datetime().nullable(), completedAt: z.string().datetime().nullable(), failure: z.string().nullable() }).strict()).max(1e4) }).strict().parse(value);
240
+ if (request.operation === "cancel") {
241
+ const result2 = z.object({ id: Id, status: z.enum(["prepared", "running", "succeeded", "failed", "cancelled"]) }).strict().parse(value);
242
+ if (result2.id !== request.id) throw new Error("Advanced cancellation returned another Run.");
243
+ return result2;
244
+ }
245
+ const result = z.object({ schemaVersion: z.literal("openpond.modelRun.v1"), id: Id, kind: z.literal("evaluation"), modelId: Id, profileId: Id, evaluation: z.object({ benchmarkId: z.literal("harness-refiner"), advancedEvaluation: AdvancedRefinerEvaluationPinSchema }).passthrough() }).passthrough().parse(value);
246
+ const pin = assertPin(result.evaluation.advancedEvaluation);
247
+ if (request.operation === "start" ? pin.contentHash !== request.request.pin.contentHash || result.modelId !== request.request.modelId || result.profileId !== request.request.profileId : result.id !== request.id) throw new Error("The advanced Run differs from its exact retained request.");
248
+ return result;
249
+ }
250
+ };
251
+
252
+ export {
253
+ AdvancedRefinerEvaluationPinSchema,
254
+ verifyAdvancedRefinerEvaluationPin,
255
+ sealAdvancedRefinerEvaluationPin,
256
+ AdvancedRefinerEvaluationStartSchema,
257
+ AdvancedRefinerEvaluationCommandSchema,
258
+ AdvancedRefinerReviewCaseReceiptSchema,
259
+ AdvancedRefinerReviewReceiptSchema,
260
+ sealAdvancedRefinerReviewReceipt,
261
+ AdvancedRefinerEvaluationOptionsSchema,
262
+ AdvancedRefinerEvaluationPrepareSchema,
263
+ AdvancedRefinerEvaluationSetupCommandSchema,
264
+ AdvancedRefinerEvaluationAccountingSchema,
265
+ OpenPondAdvancedRefinerEvaluationClient
266
+ };
267
+ //# sourceMappingURL=chunk-ZVJU5CJ5.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/advanced-refiner-evaluations.ts"],
4
+ "sourcesContent": ["import {EvaluationCoordinationTransport,type EvaluationCoordinationAccess} from \"./evaluation-coordination-http.js\";\nimport { z } from \"zod\";\nimport { ExperimentImprovementOptionsSchema } from \"./experiment-improvement-contracts.js\";\nimport { ChatModelRefSchema } from \"@openpond/harness/models\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\nimport {\n ProfileExternalDatasetBindingSchema,\n verifyProfileExternalDatasetBinding,\n} from \"@openpond/evals\";\nconst Id = z.string().trim().min(1).max(240),\n Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const AdvancedRefinerEvaluationPinSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.advancedRefinerEvaluation.v1\"),\n operationId: Id,\n actorId: Id,\n teamId: Id,\n projectId: Id.nullable(),\n mode: z.enum([\"review_quality\", \"downstream_adaptation\"]),\n profileRef: z\n .object({\n source: z.enum([\"local\", \"github\", \"openpond_git\"]),\n repositoryId: Id,\n profileId: Id,\n })\n .strict(),\n sourceRevision: z.string().min(1).max(500),\n baselineRelease: ImmutableReleaseRefSchema,\n refinerRelease: ImmutableReleaseRefSchema,\n evidence: ImmutableReleaseRefSchema,\n externalDatasetBinding: ProfileExternalDatasetBindingSchema,\n adaptationDatasetBinding: ProfileExternalDatasetBindingSchema,\n privateClosureHash: Hash,\n adaptationTaskIds: z.array(Id).min(1).max(10000),\n holdoutTaskIds: z.array(Id).min(1).max(10000),\n adaptationSplit: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n holdoutSplit: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n environmentPolicy: z.discriminatedUnion(\"kind\", [\n z\n .object({ kind: z.literal(\"resettable\"), environmentHash: Hash })\n .strict(),\n z\n .object({\n kind: z.literal(\"frozen_observations\"),\n environmentHash: Hash,\n })\n .strict(),\n ]),\n maximumCostUsd: z.number().finite().positive().max(10000),\n maximumDurationMs: z.number().int().min(1000).max(86400000),\n maximumModelSteps: z.number().int().min(1).max(1000),\n contentHash: Hash,\n })\n .strict();\nexport type AdvancedRefinerEvaluationPin = z.infer<\n typeof AdvancedRefinerEvaluationPinSchema\n>;\nexport function verifyAdvancedRefinerEvaluationPin(raw: unknown) {\n const value = AdvancedRefinerEvaluationPinSchema.parse(raw),\n { contentHash: hash, ...body } = value;\n if (contentHash(body) !== hash)\n throw new Error(\"Advanced Refiner evaluation admission changed.\");\n const binding = verifyProfileExternalDatasetBinding(\n value.externalDatasetBinding,\n );\n if (\n binding.profileId !== value.profileRef.profileId ||\n binding.protectedProfileClosureHash !== value.privateClosureHash\n )\n throw new Error(\n \"Advanced evaluation changed its Profile or protected evaluator closure.\",\n );\n if (\n value.adaptationSplit === value.holdoutSplit ||\n new Set([...value.adaptationTaskIds, ...value.holdoutTaskIds]).size !==\n value.adaptationTaskIds.length + value.holdoutTaskIds.length\n )\n throw new Error(\n \"Adaptation and private holdout must be disjoint ordered cases.\",\n );\n const adaptation = verifyProfileExternalDatasetBinding(\n value.adaptationDatasetBinding,\n );\n if (\n adaptation.profileId !== binding.profileId ||\n adaptation.packageHash !== binding.packageHash ||\n contentHash(adaptation.dataset) !== contentHash(binding.dataset) ||\n contentHash(adaptation.target) !== contentHash(binding.target) ||\n adaptation.protectedProfileClosureHash !==\n binding.protectedProfileClosureHash\n )\n throw new Error(\n \"This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target.\",\n );\n if (\n adaptation.split !== value.adaptationSplit ||\n binding.split !== value.holdoutSplit\n )\n throw new Error(\n \"Advanced split policies differ from their exact admitted recipes.\",\n );\n const population = new Set(binding.population.map((item) => item.taskId));\n const adapted = new Set(adaptation.population.map((item) => item.taskId));\n if (\n value.holdoutTaskIds.some((id) => !population.has(id)) ||\n value.adaptationTaskIds.some((id) => !adapted.has(id))\n )\n throw new Error(\n \"Advanced evaluation selected cases outside its exact Dataset recipe.\",\n );\n return value;\n}\nexport function sealAdvancedRefinerEvaluationPin(\n body: Omit<AdvancedRefinerEvaluationPin, \"contentHash\">,\n) {\n return verifyAdvancedRefinerEvaluationPin({\n ...body,\n contentHash: contentHash(body),\n });\n}\nexport const AdvancedRefinerEvaluationStartSchema = z\n .object({\n pin: AdvancedRefinerEvaluationPinSchema,\n modelId: Id,\n profileId: Id,\n model: ChatModelRefSchema,\n seed: z.number().int(),\n reasoningEffort: z\n .enum([\"none\", \"off\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"])\n .nullable(),\n })\n .strict();\nexport const AdvancedRefinerEvaluationCommandSchema = z.discriminatedUnion(\n \"operation\",\n [\n z\n .object({\n operation: z.literal(\"start\"),\n request: AdvancedRefinerEvaluationStartSchema,\n })\n .strict(),\n z\n .object({ operation: z.enum([\"read\", \"cancel\", \"resume\"]), id: Id })\n .strict(),\n z.object({ operation: z.literal(\"list\") }).strict(),\n ],\n);\nexport const AdvancedRefinerReviewCaseReceiptSchema = z\n .object({\n taskId: Id,\n sourceCaseHash: Hash,\n reviewSessionId: Id,\n reviewTurnId: Id,\n inputHarness: ImmutableReleaseRefSchema,\n trigger: ImmutableReleaseRefSchema,\n decision: z.enum([\"no_action\", \"route_deterministically\", \"queue_refiner\"]),\n outcome: ImmutableReleaseRefSchema.nullable(),\n proposal: ImmutableReleaseRefSchema.nullable(),\n validations: z.array(ImmutableReleaseRefSchema).max(100),\n grade: z\n .object({\n id: Id,\n contentHash: Hash,\n score: z.number().min(0).max(1).nullable(),\n passed: z.boolean(),\n failureClass: z.string().nullable(),\n })\n .strict(),\n resetComplete: z.boolean(),\n })\n .strict();\nexport const AdvancedRefinerReviewReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.advancedRefinerReviewReceipt.v1\"),\n id: Id,\n runId: Id,\n pinHash: Hash,\n ownerActorId: Id,\n teamId: Id,\n privateClosureHash: Hash,\n refinerRelease: ImmutableReleaseRefSchema,\n cases: z.array(AdvancedRefinerReviewCaseReceiptSchema).min(1).max(10000),\n reviewScore: z.number().min(0).max(1).nullable(),\n completedCases: z.number().int().nonnegative(),\n noActionCases: z.number().int().nonnegative(),\n routedCases: z.number().int().nonnegative(),\n proposalCases: z.number().int().nonnegative(),\n costUsd: z.number().finite().nonnegative().nullable(),\n cleanupComplete: z.boolean(),\n createdAt: z.string().datetime(),\n contentHash: Hash,\n })\n .strict();\nexport type AdvancedRefinerReviewReceipt = z.infer<\n typeof AdvancedRefinerReviewReceiptSchema\n>;\nexport function sealAdvancedRefinerReviewReceipt(\n body: Omit<AdvancedRefinerReviewReceipt, \"contentHash\">,\n) {\n return AdvancedRefinerReviewReceiptSchema.parse({\n ...body,\n contentHash: contentHash(body),\n });\n}\n\nconst AdvancedProfile =\n ExperimentImprovementOptionsSchema.shape.profiles.element;\nexport const AdvancedRefinerEvaluationOptionsSchema =\n ExperimentImprovementOptionsSchema.extend({\n profiles: z.array(\n AdvancedProfile.extend({\n components: z.array(\n AdvancedProfile.shape.components.element.extend({\n adaptationSplits: z.array(\n z.object({\n split: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n taskIds: z.array(Id),\n }),\n ),\n environmentHash: Hash,\n resettable: z.boolean(),\n reviewQuality: z.boolean(),\n }),\n ),\n }),\n ),\n refinerReleases: z.array(ImmutableReleaseRefSchema),\n activeRefiner: ImmutableReleaseRefSchema.nullable(),\n models: z.array(z.object({ id: Id, profileId: Id, name: z.string(), location:z.enum([\"local\",\"hosted\"]) })),\n });\nexport const AdvancedRefinerEvaluationPrepareSchema = z\n .object({\n operation: z.literal(\"prepare\"),\n evidence: ImmutableReleaseRefSchema,\n profileOptionId: Id,\n componentLabel: Id,\n mode: z.enum([\"review_quality\", \"downstream_adaptation\"]),\n adaptationSplit: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n operationId: Id,\n refinerRelease: ImmutableReleaseRefSchema,\n maximumCostUsd: z.number().positive(),\n maximumDurationMs: z.number().int().positive(),\n maximumModelSteps: z.number().int().positive(),\n })\n .strict();\nexport const AdvancedRefinerEvaluationSetupCommandSchema = z.union([\n AdvancedRefinerEvaluationCommandSchema,\n AdvancedRefinerEvaluationPrepareSchema,\n z\n .object({\n operation: z.literal(\"options\"),\n evidence: ImmutableReleaseRefSchema,\n })\n .strict(),\n]);\nexport type AdvancedRefinerEvaluationOptions = z.infer<\n typeof AdvancedRefinerEvaluationOptionsSchema\n>;\n\nexport const AdvancedRefinerEvaluationAccountingSchema = z\n .object({\n modelRequests: z.number().int().nonnegative(),\n knownSpendUsd: z.number().nonnegative(),\n totalSpendUsd: z.number().nonnegative().nullable(),\n heldUsd: z.number().nonnegative(),\n uncertainRequests: z.number().int().nonnegative(),\n })\n .strict();\n\n/** The owner's canonical ModelRun remains intact in readback. This boundary\n * validates its retained advanced pin rather than manufacturing results. */\nexport class OpenPondAdvancedRefinerEvaluationClient {\n private readonly transport:EvaluationCoordinationTransport;\n constructor(access:EvaluationCoordinationAccess){this.transport=new EvaluationCoordinationTransport(access);}\n async command(raw:z.input<typeof AdvancedRefinerEvaluationSetupCommandSchema>,signal?:AbortSignal){\n const request=AdvancedRefinerEvaluationSetupCommandSchema.parse(raw),access=this.transport.access;\n const assertPin=(raw:unknown)=>{const pin=verifyAdvancedRefinerEvaluationPin(raw);if(pin.actorId!==access.actorId||pin.teamId!==access.teamId||pin.projectId!==access.projectId)throw new Error(\"The advanced pin belongs to another evaluation owner.\");return pin;};\n if(request.operation===\"start\")assertPin(request.request.pin);\n const value=await this.transport.post(\"advanced-refiner-evaluations\",request,signal);\n if(request.operation===\"options\"){const result=AdvancedRefinerEvaluationOptionsSchema.parse(value);if(result.teamId!==access.teamId||contentHash(result.evidence)!==contentHash(request.evidence))throw new Error(\"Advanced options changed their reviewed evidence.\");return result;}\n if(request.operation===\"prepare\"){const result=z.object({pin:AdvancedRefinerEvaluationPinSchema}).strict().parse(value);const pin=assertPin(result.pin);if(pin.operationId!==request.operationId||contentHash(pin.profileRef)!==request.profileOptionId||contentHash(pin.evidence)!==contentHash(request.evidence)||pin.mode!==request.mode||contentHash(pin.refinerRelease)!==contentHash(request.refinerRelease)||pin.adaptationSplit!==request.adaptationSplit||pin.maximumCostUsd!==request.maximumCostUsd||pin.maximumDurationMs!==request.maximumDurationMs||pin.maximumModelSteps!==request.maximumModelSteps)throw new Error(\"Advanced preparation changed its reviewed command.\");return {pin};}\n if(request.operation===\"list\")return z.object({items:z.array(z.object({id:Id,status:z.enum([\"prepared\",\"running\",\"succeeded\",\"failed\",\"cancelled\"]),mode:z.enum([\"review_quality\",\"downstream_adaptation\"]),startedAt:z.string().datetime().nullable(),completedAt:z.string().datetime().nullable(),failure:z.string().nullable()}).strict()).max(10000)}).strict().parse(value);\n if(request.operation===\"cancel\"){const result=z.object({id:Id,status:z.enum([\"prepared\",\"running\",\"succeeded\",\"failed\",\"cancelled\"])}).strict().parse(value);if(result.id!==request.id)throw new Error(\"Advanced cancellation returned another Run.\");return result;}\n const result=z.object({schemaVersion:z.literal(\"openpond.modelRun.v1\"),id:Id,kind:z.literal(\"evaluation\"),modelId:Id,profileId:Id,evaluation:z.object({benchmarkId:z.literal(\"harness-refiner\"),advancedEvaluation:AdvancedRefinerEvaluationPinSchema}).passthrough()}).passthrough().parse(value);\n const pin=assertPin(result.evaluation.advancedEvaluation);\n if(request.operation===\"start\"?(pin.contentHash!==request.request.pin.contentHash||result.modelId!==request.request.modelId||result.profileId!==request.request.profileId):result.id!==request.id)throw new Error(\"The advanced Run differs from its exact retained request.\");\n return result;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["raw", "pin", "result"]
7
+ }