openpond-sdk 0.12.24 → 0.12.26

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 (231) hide show
  1. package/LEARNING.md +5 -7
  2. package/OPENTELEMETRY.md +1 -1
  3. package/PRODUCT_INTEGRATION.md +129 -0
  4. package/README.md +13 -3
  5. package/SERVERLESS_SERVING.md +37 -0
  6. package/TASKSETS.md +1 -2
  7. package/TASK_INGESTION.md +87 -86
  8. package/TRAINING_PROTOCOL.md +7 -3
  9. package/TRAINING_WORKFLOWS.md +11 -6
  10. package/dist/advanced-refiner-evaluations.js +10 -9
  11. package/dist/ai-sdk.js +225 -0
  12. package/dist/ai-sdk.js.map +1 -0
  13. package/dist/candidate-evaluations.js +7 -6
  14. package/dist/{chunk-ZQFROKKS.js → chunk-2U6BQ5C4.js} +3 -3
  15. package/dist/{chunk-BNBPKCIR.js → chunk-3BILL33A.js} +4 -4
  16. package/dist/{chunk-3B5KSH3V.js → chunk-456F3BXD.js} +5 -2
  17. package/dist/chunk-456F3BXD.js.map +1 -0
  18. package/dist/{chunk-GCUWJUUM.js → chunk-4A4FNG4R.js} +2 -2
  19. package/dist/{chunk-EZME7DV4.js → chunk-4CDLPMJK.js} +2 -2
  20. package/dist/{chunk-SP7DQEQM.js → chunk-4CRLQMJ2.js} +5 -5
  21. package/dist/{chunk-QOX57Y27.js → chunk-4PEK3YOW.js} +6 -3
  22. package/dist/chunk-4PEK3YOW.js.map +1 -0
  23. package/dist/{chunk-GS5HEE4M.js → chunk-4REK5TTE.js} +2 -2
  24. package/dist/{chunk-AG6UJ3DI.js → chunk-57ROW3XF.js} +3 -3
  25. package/dist/{chunk-3BYFS4RO.js → chunk-6LVLWRBJ.js} +11 -8
  26. package/dist/chunk-6LVLWRBJ.js.map +1 -0
  27. package/dist/{chunk-3VUF5H3B.js → chunk-AMZ2SWHR.js} +2 -2
  28. package/dist/{chunk-ZQ6QTYRE.js → chunk-AQV7RQZH.js} +11 -11
  29. package/dist/{chunk-ZQ6QTYRE.js.map → chunk-AQV7RQZH.js.map} +1 -1
  30. package/dist/{chunk-BJMENXR4.js → chunk-C7I4ZG6Q.js} +3 -3
  31. package/dist/{chunk-JMFYNIYZ.js → chunk-CAOMKM55.js} +6 -3
  32. package/dist/chunk-CAOMKM55.js.map +1 -0
  33. package/dist/{chunk-QNOCM5JX.js → chunk-D26RJQU7.js} +2 -2
  34. package/dist/{chunk-GBDBKGXW.js → chunk-EL6KZO43.js} +3 -3
  35. package/dist/{chunk-MVAEE5EI.js → chunk-H5KHLBC5.js} +5 -2
  36. package/dist/chunk-H5KHLBC5.js.map +1 -0
  37. package/dist/{chunk-7G47YXQT.js → chunk-HCUZYGUK.js} +8 -5
  38. package/dist/chunk-HCUZYGUK.js.map +1 -0
  39. package/dist/{chunk-Q4RGCEOI.js → chunk-JINWKUKR.js} +3 -3
  40. package/dist/{chunk-626JLH4D.js → chunk-JWEIAEQ6.js} +2 -2
  41. package/dist/{chunk-DH6O4JFB.js → chunk-KJTX4A27.js} +5 -2
  42. package/dist/chunk-KJTX4A27.js.map +1 -0
  43. package/dist/{chunk-OBI2MQYU.js → chunk-MN4FE52A.js} +17 -14
  44. package/dist/chunk-MN4FE52A.js.map +1 -0
  45. package/dist/{chunk-NZRGRUYG.js → chunk-MUG4OQKL.js} +21 -7
  46. package/dist/chunk-MUG4OQKL.js.map +1 -0
  47. package/dist/{chunk-C3TS766N.js → chunk-N6LGT7NT.js} +5 -2
  48. package/dist/chunk-N6LGT7NT.js.map +1 -0
  49. package/dist/{chunk-QIGMNB6M.js → chunk-P56JWQYV.js} +3 -3
  50. package/dist/{chunk-GX6KMHW2.js → chunk-QKLZZOZD.js} +5 -2
  51. package/dist/chunk-QKLZZOZD.js.map +1 -0
  52. package/dist/chunk-QYWPNNP3.js +9 -0
  53. package/dist/chunk-QYWPNNP3.js.map +1 -0
  54. package/dist/{chunk-QCRNQMN4.js → chunk-UZAVG2WK.js} +5 -5
  55. package/dist/chunk-UZAVG2WK.js.map +1 -0
  56. package/dist/{chunk-Z252BNAZ.js → chunk-VE5JD5FN.js} +6 -2
  57. package/dist/chunk-VE5JD5FN.js.map +1 -0
  58. package/dist/{chunk-7F43U2NC.js → chunk-WZKKQNYY.js} +3 -3
  59. package/dist/{chunk-6EZAGTZG.js → chunk-X5AT253K.js} +5 -5
  60. package/dist/{chunk-ZRTNR4U7.js → chunk-XWUTYFOU.js} +3 -3
  61. package/dist/{chunk-KEG5QS7W.js → chunk-XYK3MAIC.js} +193 -193
  62. package/dist/chunk-XYK3MAIC.js.map +1 -0
  63. package/dist/chunk-ZG4HVCJB.js +248 -0
  64. package/dist/chunk-ZG4HVCJB.js.map +1 -0
  65. package/dist/connected-evidence.js +11 -10
  66. package/dist/dataset-commerce.js +4 -1
  67. package/dist/dataset-commerce.js.map +1 -1
  68. package/dist/dataset-marketplace.js +4 -1
  69. package/dist/dataset-marketplace.js.map +1 -1
  70. package/dist/dataset-workspaces.js +157 -93
  71. package/dist/dataset-workspaces.js.map +1 -1
  72. package/dist/errors.js +2 -1
  73. package/dist/experiment-evaluation-schedules.js +20 -19
  74. package/dist/experiment-improvements.js +8 -7
  75. package/dist/experiments.js +21 -20
  76. package/dist/human-review.js +2 -1
  77. package/dist/index.js +87 -56
  78. package/dist/index.js.map +1 -1
  79. package/dist/learning.js +6 -3
  80. package/dist/learning.js.map +1 -1
  81. package/dist/model-projects.js +2 -1
  82. package/dist/model-starter-attempts.js +3 -2
  83. package/dist/model-starter-catalog.js +7 -4
  84. package/dist/model-starter-catalog.js.map +1 -1
  85. package/dist/model-starters.js +4 -3
  86. package/dist/model-taskset-runs.js +7 -4
  87. package/dist/model-taskset-runs.js.map +1 -1
  88. package/dist/post-training.js +7 -6
  89. package/dist/taskset-catalog.js +2 -1
  90. package/dist/taskset-drafts.js +13 -10
  91. package/dist/taskset-drafts.js.map +1 -1
  92. package/dist/taskset-packages.js +16 -15
  93. package/dist/tool-learning.js +4 -1
  94. package/dist/tool-learning.js.map +1 -1
  95. package/dist/training-bundle.js +19 -18
  96. package/dist/training-bundle.js.map +1 -1
  97. package/dist/training-hardware.js +3 -2
  98. package/dist/training-projects.js +4 -1
  99. package/dist/training-projects.js.map +1 -1
  100. package/dist/training.js +2761 -2626
  101. package/dist/training.js.map +1 -1
  102. package/dist/types/packages/sdk/src/ai-sdk.d.ts +6 -0
  103. package/dist/types/packages/sdk/src/ai-sdk.d.ts.map +1 -0
  104. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +21 -21
  105. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +1 -1
  106. package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
  107. package/dist/types/packages/sdk/src/connected-sync.d.ts +1 -1
  108. package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
  109. package/dist/types/packages/sdk/src/dataset-commerce.d.ts +1 -1
  110. package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
  111. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +1 -1
  112. package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
  113. package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -1
  114. package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
  115. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +1 -1
  116. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
  117. package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts +9 -2
  118. package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts.map +1 -1
  119. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +141 -141
  120. package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
  121. package/dist/types/packages/sdk/src/dataset-workspace-error.d.ts +28 -0
  122. package/dist/types/packages/sdk/src/dataset-workspace-error.d.ts.map +1 -0
  123. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +1 -0
  124. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
  125. package/dist/types/packages/sdk/src/endpoints.d.ts +4 -0
  126. package/dist/types/packages/sdk/src/endpoints.d.ts.map +1 -0
  127. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts +1 -1
  128. package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
  129. package/dist/types/packages/sdk/src/experiment-client.d.ts +637 -637
  130. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  131. package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +28 -28
  132. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +28 -28
  133. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +1623 -1623
  134. package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
  135. package/dist/types/packages/sdk/src/experiment-inspection.d.ts +1 -1
  136. package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
  137. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +7 -7
  138. package/dist/types/packages/sdk/src/grader-inspection.d.ts +1 -1
  139. package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
  140. package/dist/types/packages/sdk/src/human-review-client.d.ts +1 -1
  141. package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
  142. package/dist/types/packages/sdk/src/index.d.ts +13 -4
  143. package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
  144. package/dist/types/packages/sdk/src/learning-client.d.ts +1 -1
  145. package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
  146. package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts +1 -1
  147. package/dist/types/packages/sdk/src/learning-correction-metrics.d.ts.map +1 -1
  148. package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +347 -347
  149. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +25 -25
  150. package/dist/types/packages/sdk/src/model-projects.d.ts +1 -1
  151. package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
  152. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +1 -1
  153. package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
  154. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +1 -1
  155. package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
  156. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +29 -29
  157. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  158. package/dist/types/packages/sdk/src/post-training.d.ts +7 -7
  159. package/dist/types/packages/sdk/src/product-model-response.d.ts +4 -0
  160. package/dist/types/packages/sdk/src/product-model-response.d.ts.map +1 -0
  161. package/dist/types/packages/sdk/src/product-models.d.ts +76 -0
  162. package/dist/types/packages/sdk/src/product-models.d.ts.map +1 -0
  163. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1 -1
  164. package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
  165. package/dist/types/packages/sdk/src/serverless-serving.d.ts +157 -0
  166. package/dist/types/packages/sdk/src/serverless-serving.d.ts.map +1 -0
  167. package/dist/types/packages/sdk/src/steering-model-serving.d.ts +276 -0
  168. package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -1
  169. package/dist/types/packages/sdk/src/taskset-catalog.d.ts +1 -1
  170. package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
  171. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +121 -121
  172. package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
  173. package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +20 -20
  174. package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1 -1
  175. package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
  176. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +20 -20
  177. package/dist/types/packages/sdk/src/tool-learning-client.d.ts +1 -1
  178. package/dist/types/packages/sdk/src/tool-learning-client.d.ts.map +1 -1
  179. package/dist/types/packages/sdk/src/training-evidence.d.ts +54 -0
  180. package/dist/types/packages/sdk/src/training-evidence.d.ts.map +1 -0
  181. package/dist/types/packages/sdk/src/training-harness-sources.d.ts +2 -2
  182. package/dist/types/packages/sdk/src/training-model-serving-control.d.ts +232 -0
  183. package/dist/types/packages/sdk/src/training-model-serving-control.d.ts.map +1 -1
  184. package/dist/types/packages/sdk/src/training-model-serving.d.ts +552 -0
  185. package/dist/types/packages/sdk/src/training-model-serving.d.ts.map +1 -1
  186. package/dist/types/packages/sdk/src/training-project-client.d.ts +1 -1
  187. package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
  188. package/dist/types/packages/sdk/src/training-transport.d.ts +1 -1
  189. package/dist/types/packages/sdk/src/training-transport.d.ts.map +1 -1
  190. package/dist/types/packages/sdk/src/training.d.ts +2489 -2148
  191. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  192. package/dist/types/packages/sdk/src/types.d.ts +14 -1
  193. package/dist/types/packages/sdk/src/types.d.ts.map +1 -1
  194. package/examples/learning/submit.py +1 -1
  195. package/examples/learning/submit.ts +2 -2
  196. package/examples/training/continual.ts +4 -4
  197. package/examples/training/manual.ts +1 -3
  198. package/fixtures/personalized-inference-request.schema.json +316 -0
  199. package/fixtures/python-foundation/schemas.json +4873 -4484
  200. package/package.json +19 -3
  201. package/dist/chunk-3B5KSH3V.js.map +0 -1
  202. package/dist/chunk-3BYFS4RO.js.map +0 -1
  203. package/dist/chunk-7G47YXQT.js.map +0 -1
  204. package/dist/chunk-C3TS766N.js.map +0 -1
  205. package/dist/chunk-DH6O4JFB.js.map +0 -1
  206. package/dist/chunk-GX6KMHW2.js.map +0 -1
  207. package/dist/chunk-JMFYNIYZ.js.map +0 -1
  208. package/dist/chunk-KEG5QS7W.js.map +0 -1
  209. package/dist/chunk-MVAEE5EI.js.map +0 -1
  210. package/dist/chunk-NZRGRUYG.js.map +0 -1
  211. package/dist/chunk-OBI2MQYU.js.map +0 -1
  212. package/dist/chunk-QCRNQMN4.js.map +0 -1
  213. package/dist/chunk-QOX57Y27.js.map +0 -1
  214. package/dist/chunk-Z252BNAZ.js.map +0 -1
  215. /package/dist/{chunk-ZQFROKKS.js.map → chunk-2U6BQ5C4.js.map} +0 -0
  216. /package/dist/{chunk-BNBPKCIR.js.map → chunk-3BILL33A.js.map} +0 -0
  217. /package/dist/{chunk-GCUWJUUM.js.map → chunk-4A4FNG4R.js.map} +0 -0
  218. /package/dist/{chunk-EZME7DV4.js.map → chunk-4CDLPMJK.js.map} +0 -0
  219. /package/dist/{chunk-SP7DQEQM.js.map → chunk-4CRLQMJ2.js.map} +0 -0
  220. /package/dist/{chunk-GS5HEE4M.js.map → chunk-4REK5TTE.js.map} +0 -0
  221. /package/dist/{chunk-AG6UJ3DI.js.map → chunk-57ROW3XF.js.map} +0 -0
  222. /package/dist/{chunk-3VUF5H3B.js.map → chunk-AMZ2SWHR.js.map} +0 -0
  223. /package/dist/{chunk-BJMENXR4.js.map → chunk-C7I4ZG6Q.js.map} +0 -0
  224. /package/dist/{chunk-QNOCM5JX.js.map → chunk-D26RJQU7.js.map} +0 -0
  225. /package/dist/{chunk-GBDBKGXW.js.map → chunk-EL6KZO43.js.map} +0 -0
  226. /package/dist/{chunk-Q4RGCEOI.js.map → chunk-JINWKUKR.js.map} +0 -0
  227. /package/dist/{chunk-626JLH4D.js.map → chunk-JWEIAEQ6.js.map} +0 -0
  228. /package/dist/{chunk-QIGMNB6M.js.map → chunk-P56JWQYV.js.map} +0 -0
  229. /package/dist/{chunk-7F43U2NC.js.map → chunk-WZKKQNYY.js.map} +0 -0
  230. /package/dist/{chunk-6EZAGTZG.js.map → chunk-X5AT253K.js.map} +0 -0
  231. /package/dist/{chunk-ZRTNR4U7.js.map → chunk-XWUTYFOU.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TaskDesignProposalSchema
3
- } from "./chunk-QIGMNB6M.js";
3
+ } from "./chunk-P56JWQYV.js";
4
4
  import {
5
5
  DatasetTaskAppendReceiptSchema,
6
6
  DatasetTaskAppendRequestSchema,
@@ -8,7 +8,7 @@ import {
8
8
  DatasetTaskInputSchema,
9
9
  addDatasetTask,
10
10
  createTaskAdder
11
- } from "./chunk-NZRGRUYG.js";
11
+ } from "./chunk-MUG4OQKL.js";
12
12
  import {
13
13
  ConnectedCaseRefSchema,
14
14
  ConnectedStartingAssetSchema,
@@ -20,45 +20,50 @@ import {
20
20
  DatasetWorkspaceValidationSchema,
21
21
  DatasetWorkspaceVersionsSchema,
22
22
  DatasetWorkspaceWriteSchema
23
- } from "./chunk-AG6UJ3DI.js";
23
+ } from "./chunk-57ROW3XF.js";
24
24
  import {
25
25
  compileTasksetDraftWorkspace
26
- } from "./chunk-BNBPKCIR.js";
26
+ } from "./chunk-3BILL33A.js";
27
27
  import {
28
28
  createTasksetDraftFile,
29
29
  createTasksetDraftWorkspace,
30
30
  decodeTasksetDraftFileContent,
31
31
  decodeTasksetDraftWorkspaceFile,
32
32
  validateTasksetDraftWorkspace
33
- } from "./chunk-Q4RGCEOI.js";
33
+ } from "./chunk-JINWKUKR.js";
34
34
  import "./chunk-GWXJSBWR.js";
35
35
  import {
36
36
  TasksetDraftSchema,
37
37
  createTasksetDraft
38
- } from "./chunk-GCUWJUUM.js";
38
+ } from "./chunk-4A4FNG4R.js";
39
39
  import {
40
40
  TaskDataRecordSchema,
41
41
  TaskRequiredOutputSchema,
42
42
  TasksetEnvironmentContractSchema,
43
43
  TasksetSourceRefSchema
44
- } from "./chunk-ZQ6QTYRE.js";
44
+ } from "./chunk-AQV7RQZH.js";
45
45
  import "./chunk-TK3DXH7A.js";
46
46
  import {
47
47
  TasksetCatalogReleaseRefSchema
48
- } from "./chunk-Z252BNAZ.js";
49
- import "./chunk-H3367ISL.js";
48
+ } from "./chunk-VE5JD5FN.js";
50
49
  import "./chunk-QTNYXOJW.js";
50
+ import "./chunk-H3367ISL.js";
51
51
  import {
52
52
  ExperimentGraderPinSchema
53
- } from "./chunk-GS5HEE4M.js";
54
- import "./chunk-ZRTNR4U7.js";
55
- import "./chunk-JMFYNIYZ.js";
56
- import "./chunk-MVAEE5EI.js";
53
+ } from "./chunk-4REK5TTE.js";
54
+ import "./chunk-XWUTYFOU.js";
55
+ import "./chunk-CAOMKM55.js";
56
+ import "./chunk-H5KHLBC5.js";
57
57
  import "./chunk-CL3IOOVL.js";
58
- import "./chunk-B3ZHJ2KK.js";
58
+ import {
59
+ readBoundedJsonResponse
60
+ } from "./chunk-B3ZHJ2KK.js";
59
61
  import {
60
62
  contentHash
61
63
  } from "./chunk-H3JZ3P5T.js";
64
+ import {
65
+ DEFAULT_API_BASE_URL
66
+ } from "./chunk-QYWPNNP3.js";
62
67
  import "./chunk-YLJ4XMA6.js";
63
68
 
64
69
  // src/dataset-workspace-operations.ts
@@ -550,7 +555,7 @@ var DatasetPreparationRequestError = class extends Error {
550
555
  var OpenPondDatasetPreparationClient = class {
551
556
  constructor(options) {
552
557
  this.options = options;
553
- const url = new URL(options.baseUrl);
558
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
554
559
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
555
560
  throw new Error(
556
561
  "A clean API origin and workspace credentials are required."
@@ -757,11 +762,69 @@ var OpenPondDatasetPreparationClient = class {
757
762
  }
758
763
  };
759
764
 
765
+ // src/dataset-workspace-error.ts
766
+ import { z as z4 } from "zod";
767
+ var Code = z4.enum([
768
+ "dataset_validation_failed",
769
+ "dataset_grader_invalid",
770
+ "dataset_grader_source_unavailable",
771
+ "dataset_feedback_key_conflict",
772
+ "dataset_request_invalid",
773
+ "dataset_request_failed",
774
+ "dataset_not_found",
775
+ "dataset_revision_conflict",
776
+ "dataset_operation_conflict",
777
+ "dataset_workspace_changed",
778
+ "dataset_validation_changed",
779
+ "dataset_source_context_immutable"
780
+ ]);
781
+ var Failure = z4.object({
782
+ code: Code,
783
+ // Bound the expected wire field, but never retain or display its contents.
784
+ message: z4.string().max(5e3).optional()
785
+ }).strict();
786
+ var validationGuidance = {
787
+ dataset_validation_failed: "Dataset validation failed. Review source privacy and licensing checks, required approved demonstrations, and attached graders before validating the saved revision again.",
788
+ dataset_grader_invalid: "Dataset grader validation failed. Review the attached graders and their checked fixtures before validating again.",
789
+ dataset_grader_source_unavailable: "An attached grader release is unavailable or has changed. Select the intended published grader release before validating again.",
790
+ dataset_feedback_key_conflict: "Attached graders use conflicting feedback keys. Choose distinct published grader feedback keys before validating again."
791
+ };
792
+ var DatasetWorkspaceRequestError = class extends Error {
793
+ constructor(status, code = "dataset_request_failed") {
794
+ const safeCode = Code.safeParse(code);
795
+ const value = safeCode.success ? safeCode.data : "dataset_request_failed";
796
+ super((status === 422 ? validationGuidance[value] : void 0) ?? `Dataset request failed (${status}).`);
797
+ this.status = status;
798
+ this.name = "DatasetWorkspaceRequestError";
799
+ this.code = value;
800
+ this.retryable = status === 408 || status === 429 || status >= 500;
801
+ this.outcomeUnknown = status === 408 || status >= 500;
802
+ }
803
+ status;
804
+ code;
805
+ retryable;
806
+ outcomeUnknown;
807
+ };
808
+ async function readDatasetWorkspaceFailure(response) {
809
+ let code = "dataset_request_failed";
810
+ try {
811
+ const mediaType = response.headers.get("content-type")?.split(";")[0]?.trim().toLowerCase();
812
+ if (mediaType === "application/json") {
813
+ const parsed = Failure.safeParse(await readBoundedJsonResponse(response, 16 * 1024, "Dataset failure"));
814
+ if (parsed.success) code = parsed.data.code;
815
+ } else {
816
+ await response.body?.cancel();
817
+ }
818
+ } catch {
819
+ }
820
+ return new DatasetWorkspaceRequestError(response.status, code);
821
+ }
822
+
760
823
  // src/dataset-workspace-client.ts
761
824
  var OpenPondDatasetWorkspaceClient = class {
762
825
  constructor(options) {
763
826
  this.options = options;
764
- const url = new URL(options.baseUrl);
827
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
765
828
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())
766
829
  throw new Error("A clean API origin and workspace credentials are required.");
767
830
  this.baseUrl = url.toString().replace(/\/+$/, "");
@@ -919,7 +982,7 @@ var OpenPondDatasetWorkspaceClient = class {
919
982
  ...body === void 0 ? {} : { body: JSON.stringify(body) }
920
983
  }
921
984
  );
922
- if (!response.ok) throw new Error(`Dataset request failed (${response.status}).`);
985
+ if (!response.ok) throw await readDatasetWorkspaceFailure(response);
923
986
  if (maxResponseBytes !== void 0) {
924
987
  if (!response.body) throw new Error("Dataset response is empty.");
925
988
  const reader = response.body.getReader(), chunks = [];
@@ -950,31 +1013,31 @@ var OpenPondDatasetWorkspaceClient = class {
950
1013
 
951
1014
  // src/dataset-population.ts
952
1015
  import { TaskSplitSchema, TaskRecordSchema } from "@openpond/evals/tasksets";
953
- import { z as z4 } from "zod";
954
- var Id3 = z4.string().trim().min(1).max(500);
955
- var Hash2 = z4.string().regex(/^[a-f0-9]{64}$/);
956
- var DatasetPopulationQuerySchema = z4.object({
1016
+ import { z as z5 } from "zod";
1017
+ var Id3 = z5.string().trim().min(1).max(500);
1018
+ var Hash2 = z5.string().regex(/^[a-f0-9]{64}$/);
1019
+ var DatasetPopulationQuerySchema = z5.object({
957
1020
  release: TasksetCatalogReleaseRefSchema,
958
1021
  afterId: Id3.optional(),
959
- limit: z4.number().int().min(1).max(1e4).default(100),
960
- view: z4.enum(["ids", "policy"]).default("ids")
1022
+ limit: z5.number().int().min(1).max(1e4).default(100),
1023
+ view: z5.enum(["ids", "policy"]).default("ids")
961
1024
  }).strict().superRefine((query, context) => {
962
1025
  if (query.view === "policy" && query.limit > 100) context.addIssue({ code: "custom", path: ["limit"], message: "Policy previews are bounded to 100 tasks." });
963
1026
  });
964
- var TaskIdentity = z4.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();
1027
+ var TaskIdentity = z5.object({ id: TaskRecordSchema.shape.id, split: TaskSplitSchema }).strict();
965
1028
  var PolicyTask = TaskIdentity.extend({
966
- input: z4.record(z4.string(), z4.unknown()),
967
- policyVisibleContext: z4.record(z4.string(), z4.unknown()),
968
- artifacts: z4.array(z4.object({ id: Id3, path: z4.string(), mediaType: z4.string(), sizeBytes: z4.number().int().nonnegative() }).strict()).max(1e3)
1029
+ input: z5.record(z5.string(), z5.unknown()),
1030
+ policyVisibleContext: z5.record(z5.string(), z5.unknown()),
1031
+ artifacts: z5.array(z5.object({ id: Id3, path: z5.string(), mediaType: z5.string(), sizeBytes: z5.number().int().nonnegative() }).strict()).max(1e3)
969
1032
  }).strict();
970
- var DatasetPopulationPageSchema = z4.object({
971
- schemaVersion: z4.literal("openpond.datasetPopulationPage.v1"),
1033
+ var DatasetPopulationPageSchema = z5.object({
1034
+ schemaVersion: z5.literal("openpond.datasetPopulationPage.v1"),
972
1035
  teamId: Id3,
973
1036
  release: TasksetCatalogReleaseRefSchema,
974
1037
  view: DatasetPopulationQuerySchema.shape.view,
975
- taskCount: z4.number().int().nonnegative(),
976
- items: z4.array(z4.union([TaskIdentity, PolicyTask])).max(1e4),
977
- graders: z4.array(ExperimentGraderPinSchema).max(1e3),
1038
+ taskCount: z5.number().int().nonnegative(),
1039
+ items: z5.array(z5.union([TaskIdentity, PolicyTask])).max(1e4),
1040
+ graders: z5.array(ExperimentGraderPinSchema).max(1e3),
978
1041
  nextCursor: Id3.nullable(),
979
1042
  contentHash: Hash2
980
1043
  }).strict().superRefine((page, context) => {
@@ -984,7 +1047,7 @@ var DatasetPopulationPageSchema = z4.object({
984
1047
  var OpenPondDatasetPopulationClient = class {
985
1048
  constructor(options) {
986
1049
  this.options = options;
987
- const url = new URL(options.baseUrl);
1050
+ const url = new URL(options.baseUrl ?? DEFAULT_API_BASE_URL);
988
1051
  if (!["http:", "https:"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim()) throw new Error("A clean API origin and workspace credentials are required.");
989
1052
  this.baseUrl = url.toString().replace(/\/+$/, "");
990
1053
  }
@@ -1013,7 +1076,7 @@ var OpenPondDatasetPopulationClient = class {
1013
1076
  reader.releaseLock();
1014
1077
  }
1015
1078
  const raw = JSON.parse(source);
1016
- if (!response.ok) throw new Error(z4.object({ message: z4.string() }).passthrough().parse(raw).message);
1079
+ if (!response.ok) throw new Error(z5.object({ message: z5.string() }).passthrough().parse(raw).message);
1017
1080
  const page = DatasetPopulationPageSchema.parse(raw);
1018
1081
  const { contentHash: hash, ...content } = page;
1019
1082
  if (page.teamId !== this.options.teamId || contentHash(page.release) !== contentHash(query.release) || page.view !== query.view || page.items.length > query.limit || contentHash(content) !== hash || page.items.some((item, index) => query.afterId !== void 0 && item.id <= query.afterId || index > 0 && item.id <= page.items[index - 1].id) || page.nextCursor !== null && page.nextCursor !== page.items.at(-1)?.id) throw new Error("Dataset population identity, hash, order or bounds mismatch.");
@@ -1022,23 +1085,23 @@ var OpenPondDatasetPopulationClient = class {
1022
1085
  };
1023
1086
 
1024
1087
  // src/dataset-preparation-research-contracts.ts
1025
- import { z as z5 } from "zod";
1026
- var Id4 = z5.string().trim().min(1).max(240);
1027
- var Text = z5.string().trim().min(1).max(5e3);
1028
- var DatasetPreparationResearchCandidateSchema = z5.object({
1088
+ import { z as z6 } from "zod";
1089
+ var Id4 = z6.string().trim().min(1).max(240);
1090
+ var Text = z6.string().trim().min(1).max(5e3);
1091
+ var DatasetPreparationResearchCandidateSchema = z6.object({
1029
1092
  taskClass: DatasetPreparationTaskClassSchema,
1030
- objective: z5.string().trim().min(1).max(2e4),
1031
- sourceSpans: z5.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),
1032
- firstAvailableAt: z5.iso.datetime(),
1033
- reconstruction: z5.object({
1034
- kind: z5.enum(["text_only", "pinned_repository", "pinned_artifact", "unsupported"]),
1035
- requiredAssets: z5.array(z5.object({ reference: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).max(100),
1036
- missingEvidence: z5.array(Text).max(20)
1093
+ objective: z6.string().trim().min(1).max(2e4),
1094
+ sourceSpans: z6.array(PreparedTaskEvidenceSpanSchema).min(1).max(200),
1095
+ firstAvailableAt: z6.iso.datetime(),
1096
+ reconstruction: z6.object({
1097
+ kind: z6.enum(["text_only", "pinned_repository", "pinned_artifact", "unsupported"]),
1098
+ requiredAssets: z6.array(z6.object({ reference: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).max(100),
1099
+ missingEvidence: z6.array(Text).max(20)
1037
1100
  }).strict(),
1038
- assessment: z5.object({
1039
- kind: z5.enum(["executable", "calibrated_judge", "unsupported"]),
1040
- requirements: z5.array(z5.object({ criterion: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).min(1).max(20),
1041
- limitations: z5.array(Text).max(20)
1101
+ assessment: z6.object({
1102
+ kind: z6.enum(["executable", "calibrated_judge", "unsupported"]),
1103
+ requirements: z6.array(z6.object({ criterion: Text, evidence: PreparedTaskEvidenceSpanSchema }).strict()).min(1).max(20),
1104
+ limitations: z6.array(Text).max(20)
1042
1105
  }).strict()
1043
1106
  }).strict().superRefine((value, ctx) => {
1044
1107
  if (!value.sourceSpans.some((span) => span.role === "requirement"))
@@ -1046,18 +1109,18 @@ var DatasetPreparationResearchCandidateSchema = z5.object({
1046
1109
  if (value.assessment.requirements.some((item) => item.evidence.role !== "requirement"))
1047
1110
  ctx.addIssue({ code: "custom", message: "Assessment criteria must cite user requirements, not historical answers." });
1048
1111
  });
1049
- var DatasetPreparationResearchDecisionSchema = z5.object({
1050
- schemaVersion: z5.literal("openpond.datasetPreparationResearchDecision.v1"),
1112
+ var DatasetPreparationResearchDecisionSchema = z6.object({
1113
+ schemaVersion: z6.literal("openpond.datasetPreparationResearchDecision.v1"),
1051
1114
  sourceId: Id4,
1052
- snapshotHash: z5.string().regex(/^[a-f0-9]{64}$/),
1053
- candidates: z5.array(DatasetPreparationResearchCandidateSchema).max(100),
1054
- exclusions: z5.array(z5.object({ code: Id4, reason: Text, sourceSpans: z5.array(PreparedTaskEvidenceSpanSchema).max(200) }).strict()).max(100),
1055
- contextSummary: z5.string().max(2e4)
1115
+ snapshotHash: z6.string().regex(/^[a-f0-9]{64}$/),
1116
+ candidates: z6.array(DatasetPreparationResearchCandidateSchema).max(100),
1117
+ exclusions: z6.array(z6.object({ code: Id4, reason: Text, sourceSpans: z6.array(PreparedTaskEvidenceSpanSchema).max(200) }).strict()).max(100),
1118
+ contextSummary: z6.string().max(2e4)
1056
1119
  }).strict();
1057
1120
 
1058
1121
  // src/dataset-preparation-starting-state.ts
1059
- import { z as z6 } from "zod";
1060
- var Hash3 = z6.string().regex(/^[a-f0-9]{64}$/);
1122
+ import { z as z7 } from "zod";
1123
+ var Hash3 = z7.string().regex(/^[a-f0-9]{64}$/);
1061
1124
  function connectedStartingAssetReference(receiptId, path) {
1062
1125
  if (!/^starting-assets-[a-f0-9]{40}$/.test(receiptId)) throw new Error("Invalid starting asset receipt.");
1063
1126
  ConnectedStartingAssetSchema.shape.path.parse(path);
@@ -1070,11 +1133,11 @@ function parseConnectedStartingAssetReference(reference) {
1070
1133
  if (connectedStartingAssetReference(match[1], path) !== reference) throw new Error("Noncanonical starting asset reference.");
1071
1134
  return { receiptId: match[1], path };
1072
1135
  }
1073
- var PreparedRepositoryStartingStateSchema = z6.object({
1074
- schemaVersion: z6.literal("openpond.preparedRepositoryStartingState.v1"),
1075
- dependencyClosureQualified: z6.literal(false),
1076
- assets: z6.array(ConnectedStartingAssetSchema.extend({
1077
- receiptId: z6.string().regex(/^starting-assets-[a-f0-9]{40}$/),
1136
+ var PreparedRepositoryStartingStateSchema = z7.object({
1137
+ schemaVersion: z7.literal("openpond.preparedRepositoryStartingState.v1"),
1138
+ dependencyClosureQualified: z7.literal(false),
1139
+ assets: z7.array(ConnectedStartingAssetSchema.extend({
1140
+ receiptId: z7.string().regex(/^starting-assets-[a-f0-9]{40}$/),
1078
1141
  receiptHash: Hash3,
1079
1142
  source: ConnectedCaseRefSchema
1080
1143
  }).strict()).min(1).max(100)
@@ -1278,55 +1341,55 @@ function reconcilePreparationSourceCoverage(input) {
1278
1341
  }
1279
1342
 
1280
1343
  // src/dataset-preparation-qualification-contracts.ts
1281
- import { z as z7 } from "zod";
1282
- var Id5 = z7.string().trim().min(1).max(240);
1283
- var Text2 = z7.string().trim().min(1).max(2e4);
1284
- var PreparedQualificationWitnessSchema = z7.object({
1344
+ import { z as z8 } from "zod";
1345
+ var Id5 = z8.string().trim().min(1).max(240);
1346
+ var Text2 = z8.string().trim().min(1).max(2e4);
1347
+ var PreparedQualificationWitnessSchema = z8.object({
1285
1348
  id: Id5,
1286
- label: z7.enum(["positive", "incorrect", "incomplete", "adversarial"]),
1287
- output: z7.record(z7.string(), z7.unknown()),
1288
- artifacts: z7.array(z7.object({
1349
+ label: z8.enum(["positive", "incorrect", "incomplete", "adversarial"]),
1350
+ output: z8.record(z8.string(), z8.unknown()),
1351
+ artifacts: z8.array(z8.object({
1289
1352
  path: TaskRequiredOutputSchema.shape.path,
1290
1353
  mediaType: TaskRequiredOutputSchema.shape.mediaType,
1291
- base64: z7.string().max(8 * 1024 * 1024)
1354
+ base64: z8.string().max(8 * 1024 * 1024)
1292
1355
  }).strict()).max(100)
1293
1356
  }).strict().superRefine((value, ctx) => {
1294
1357
  if (new Set(value.artifacts.map((artifact) => artifact.path)).size !== value.artifacts.length)
1295
1358
  ctx.addIssue({ code: "custom", message: "Qualification artifacts must have distinct paths." });
1296
1359
  });
1297
- var PreparedQualificationPlanSchema = z7.object({
1298
- schemaVersion: z7.literal("openpond.preparedQualificationPlan.v1"),
1299
- requirementRefs: z7.array(Id5).min(1).max(100),
1300
- supported: z7.boolean(),
1301
- limitations: z7.array(Text2).max(20),
1302
- independentVerifier: z7.object({
1303
- runtime: z7.enum(["isolated_javascript", "sandbox_process"]),
1304
- source: z7.string().trim().min(1).max(2e5),
1305
- exportName: z7.literal("verify"),
1306
- timeoutMs: z7.number().int().min(1).max(6e4)
1360
+ var PreparedQualificationPlanSchema = z8.object({
1361
+ schemaVersion: z8.literal("openpond.preparedQualificationPlan.v1"),
1362
+ requirementRefs: z8.array(Id5).min(1).max(100),
1363
+ supported: z8.boolean(),
1364
+ limitations: z8.array(Text2).max(20),
1365
+ independentVerifier: z8.object({
1366
+ runtime: z8.enum(["isolated_javascript", "sandbox_process"]),
1367
+ source: z8.string().trim().min(1).max(2e5),
1368
+ exportName: z8.literal("verify"),
1369
+ timeoutMs: z8.number().int().min(1).max(6e4)
1307
1370
  }).strict().nullable(),
1308
- witnesses: z7.array(PreparedQualificationWitnessSchema).max(20)
1371
+ witnesses: z8.array(PreparedQualificationWitnessSchema).max(20)
1309
1372
  }).strict().superRefine((value, ctx) => {
1310
1373
  if (new Set(value.requirementRefs).size !== value.requirementRefs.length || new Set(value.witnesses.map((item) => item.id)).size !== value.witnesses.length)
1311
1374
  ctx.addIssue({ code: "custom", message: "Qualification evidence identities must be distinct." });
1312
1375
  if (value.supported && (!value.independentVerifier || value.limitations.length || ["positive", "incorrect", "incomplete", "adversarial"].some((label) => !value.witnesses.some((witness) => witness.label === label))))
1313
1376
  ctx.addIssue({ code: "custom", message: "Supported qualification needs a complete verifier and witness population without unresolved evidence gaps." });
1314
1377
  });
1315
- var PreparedWitnessAdjudicationSchema = z7.object({
1316
- schemaVersion: z7.literal("openpond.preparedWitnessAdjudication.v1"),
1317
- witnesses: z7.array(z7.object({
1378
+ var PreparedWitnessAdjudicationSchema = z8.object({
1379
+ schemaVersion: z8.literal("openpond.preparedWitnessAdjudication.v1"),
1380
+ witnesses: z8.array(z8.object({
1318
1381
  id: Id5,
1319
- failureMode: z7.enum(["none", "incorrect", "incomplete", "adversarial", "unverifiable"]),
1320
- requirements: z7.array(z7.object({ reference: Id5, status: z7.enum(["satisfied", "violated", "unverifiable"]), reason: Text2 }).strict()).min(1).max(100)
1382
+ failureMode: z8.enum(["none", "incorrect", "incomplete", "adversarial", "unverifiable"]),
1383
+ requirements: z8.array(z8.object({ reference: Id5, status: z8.enum(["satisfied", "violated", "unverifiable"]), reason: Text2 }).strict()).min(1).max(100)
1321
1384
  }).strict()).min(4).max(20)
1322
1385
  }).strict();
1323
- var PreparedCheckerAuditSchema = z7.object({
1324
- schemaVersion: z7.literal("openpond.preparedCheckerAudit.v1"),
1325
- requirements: z7.array(z7.object({ reference: Id5, adequatelyChecked: z7.boolean(), oracleAdequatelyChecked: z7.boolean(), reason: Text2 }).strict()).min(1).max(100),
1326
- executionIsolationPassed: z7.boolean(),
1327
- futureEvidenceLeak: z7.boolean(),
1328
- unresolvedLimitations: z7.array(Text2).max(20),
1329
- passed: z7.boolean()
1386
+ var PreparedCheckerAuditSchema = z8.object({
1387
+ schemaVersion: z8.literal("openpond.preparedCheckerAudit.v1"),
1388
+ requirements: z8.array(z8.object({ reference: Id5, adequatelyChecked: z8.boolean(), oracleAdequatelyChecked: z8.boolean(), reason: Text2 }).strict()).min(1).max(100),
1389
+ executionIsolationPassed: z8.boolean(),
1390
+ futureEvidenceLeak: z8.boolean(),
1391
+ unresolvedLimitations: z8.array(Text2).max(20),
1392
+ passed: z8.boolean()
1330
1393
  }).strict();
1331
1394
 
1332
1395
  // src/dataset-preparation-assembly.ts
@@ -1454,6 +1517,7 @@ export {
1454
1517
  DatasetWorkspaceOperationResultSchema,
1455
1518
  DatasetWorkspacePublishSchema,
1456
1519
  DatasetWorkspaceReceiptSchema,
1520
+ DatasetWorkspaceRequestError,
1457
1521
  DatasetWorkspaceValidationSchema,
1458
1522
  DatasetWorkspaceVersionsSchema,
1459
1523
  DatasetWorkspaceWriteSchema,