openpond-sdk 0.12.1 → 0.12.3

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 (107) hide show
  1. package/LEARNING.md +16 -0
  2. package/dist/advanced-refiner-evaluations.js +5 -5
  3. package/dist/candidate-evaluations.js +4 -4
  4. package/dist/{chunk-VSRTJDVB.js → chunk-36WJTS5V.js} +3 -3
  5. package/dist/{chunk-O5ARJVT5.js → chunk-77N3QEIL.js} +2 -2
  6. package/dist/{chunk-WNH4DOEC.js → chunk-BFR3VC25.js} +16 -285
  7. package/dist/chunk-BFR3VC25.js.map +7 -0
  8. package/dist/{chunk-DBRRQASP.js → chunk-BSK3VLM3.js} +2 -2
  9. package/dist/{chunk-B7VYE7YQ.js → chunk-CTVKI3BV.js} +2 -2
  10. package/dist/{chunk-7AZDNZP6.js → chunk-CWXM57QR.js} +350 -87
  11. package/dist/chunk-CWXM57QR.js.map +7 -0
  12. package/dist/chunk-FY7NHCEH.js +255 -0
  13. package/dist/chunk-FY7NHCEH.js.map +7 -0
  14. package/dist/{chunk-YSKUXQ2N.js → chunk-G53MA5XX.js} +3 -3
  15. package/dist/{chunk-AV5JV26B.js → chunk-G6Y6CQYV.js} +2 -2
  16. package/dist/{chunk-ENLQCKY6.js → chunk-K5WRVSOL.js} +5 -5
  17. package/dist/{chunk-OEPYLZXK.js → chunk-MLPPSCDQ.js} +2 -2
  18. package/dist/{chunk-7GYXC2AI.js → chunk-QEIT5VXJ.js} +2 -2
  19. package/dist/{chunk-L5PQPAU6.js → chunk-QTJQIHDZ.js} +5 -2
  20. package/dist/{chunk-L5PQPAU6.js.map → chunk-QTJQIHDZ.js.map} +2 -2
  21. package/dist/{chunk-YVFERCUC.js → chunk-TMUAKJWX.js} +71 -2
  22. package/dist/chunk-TMUAKJWX.js.map +7 -0
  23. package/dist/{chunk-D4WTE6ZA.js → chunk-TSMGMA6R.js} +2 -2
  24. package/dist/{chunk-VOL3WES2.js → chunk-UPS52OPZ.js} +10 -165
  25. package/dist/chunk-UPS52OPZ.js.map +7 -0
  26. package/dist/{chunk-MLFKQ7E7.js → chunk-VY5AFE7A.js} +2 -2
  27. package/dist/{chunk-WVISXXIL.js → chunk-XYQD4LDI.js} +2 -2
  28. package/dist/{chunk-DG5CRENU.js → chunk-YUKV7RCD.js} +2 -2
  29. package/dist/{chunk-7WUJBFCH.js → chunk-ZJ3H3VS7.js} +18 -1
  30. package/dist/chunk-ZJ3H3VS7.js.map +7 -0
  31. package/dist/connected-evidence.js +10 -10
  32. package/dist/dataset-workspaces.js +51 -14
  33. package/dist/dataset-workspaces.js.map +3 -3
  34. package/dist/experiment-evaluation-schedules.js +13 -13
  35. package/dist/experiment-improvements.js +5 -5
  36. package/dist/experiments.js +17 -13
  37. package/dist/index.js +19 -19
  38. package/dist/model-starter-catalog.js +5 -5
  39. package/dist/model-starters.js +5 -5
  40. package/dist/model-taskset-runs.js +1 -1
  41. package/dist/post-training.js +4 -4
  42. package/dist/taskset-drafts.js +16 -16
  43. package/dist/taskset-packages.js +14 -14
  44. package/dist/training-bundle.js +161 -25
  45. package/dist/training-bundle.js.map +4 -4
  46. package/dist/training.js +11 -5
  47. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +9 -0
  48. package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
  49. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +6 -0
  50. package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
  51. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +45 -0
  52. package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
  53. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +56 -0
  54. package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts.map +1 -1
  55. package/dist/types/packages/sdk/src/dataset-preparation-source-coverage.d.ts +31 -0
  56. package/dist/types/packages/sdk/src/dataset-preparation-source-coverage.d.ts.map +1 -0
  57. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +1 -0
  58. package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
  59. package/dist/types/packages/sdk/src/experiment-client.d.ts +33 -0
  60. package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
  61. package/dist/types/packages/sdk/src/experiment-contracts.d.ts +12 -0
  62. package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
  63. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +21 -0
  64. package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
  65. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +3 -0
  66. package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
  67. package/dist/types/packages/sdk/src/experiment-run-details.d.ts +15 -0
  68. package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
  69. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +17 -0
  70. package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
  71. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +3 -1
  72. package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
  73. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +12 -0
  74. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  75. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +12 -0
  76. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  77. package/dist/types/packages/sdk/src/post-training.d.ts +15 -0
  78. package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
  79. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +4 -0
  80. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -1
  81. package/dist/types/packages/sdk/src/training-bundle.d.ts +4 -0
  82. package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
  83. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +364 -0
  84. package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -0
  85. package/dist/types/packages/sdk/src/training.d.ts +161 -0
  86. package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/chunk-7AZDNZP6.js.map +0 -7
  89. package/dist/chunk-7WUJBFCH.js.map +0 -7
  90. package/dist/chunk-PGBFI5HC.js +0 -98
  91. package/dist/chunk-PGBFI5HC.js.map +0 -7
  92. package/dist/chunk-VOL3WES2.js.map +0 -7
  93. package/dist/chunk-WNH4DOEC.js.map +0 -7
  94. package/dist/chunk-YVFERCUC.js.map +0 -7
  95. /package/dist/{chunk-VSRTJDVB.js.map → chunk-36WJTS5V.js.map} +0 -0
  96. /package/dist/{chunk-O5ARJVT5.js.map → chunk-77N3QEIL.js.map} +0 -0
  97. /package/dist/{chunk-DBRRQASP.js.map → chunk-BSK3VLM3.js.map} +0 -0
  98. /package/dist/{chunk-B7VYE7YQ.js.map → chunk-CTVKI3BV.js.map} +0 -0
  99. /package/dist/{chunk-YSKUXQ2N.js.map → chunk-G53MA5XX.js.map} +0 -0
  100. /package/dist/{chunk-AV5JV26B.js.map → chunk-G6Y6CQYV.js.map} +0 -0
  101. /package/dist/{chunk-ENLQCKY6.js.map → chunk-K5WRVSOL.js.map} +0 -0
  102. /package/dist/{chunk-OEPYLZXK.js.map → chunk-MLPPSCDQ.js.map} +0 -0
  103. /package/dist/{chunk-7GYXC2AI.js.map → chunk-QEIT5VXJ.js.map} +0 -0
  104. /package/dist/{chunk-D4WTE6ZA.js.map → chunk-TSMGMA6R.js.map} +0 -0
  105. /package/dist/{chunk-MLFKQ7E7.js.map → chunk-VY5AFE7A.js.map} +0 -0
  106. /package/dist/{chunk-WVISXXIL.js.map → chunk-XYQD4LDI.js.map} +0 -0
  107. /package/dist/{chunk-DG5CRENU.js.map → chunk-YUKV7RCD.js.map} +0 -0
@@ -0,0 +1,364 @@
1
+ import { type TasksetPackage } from "./taskset-package-contracts.js";
2
+ import { buildTasksetTrainingBundle } from "./training-bundle.js";
3
+ import { type ManagedTrainingPreparationInput } from "./managed-training-preparation.js";
4
+ export type OrdinaryTasksetQualificationInput = Omit<Parameters<typeof buildTasksetTrainingBundle>[0], "taskset" | "executionMode" | "qualificationSource" | "tasksetRelease" | "rewardExecution" | "verifierAssets" | "tasksetAssetBytes" | "evaluationSource" | "approval"> & {
5
+ package: TasksetPackage;
6
+ approval: ManagedTrainingPreparationInput["approval"] & {
7
+ approvedAt: string;
8
+ };
9
+ idempotencyKey?: string;
10
+ };
11
+ /** Prepare a no-update original-learner run from the exact published ordinary
12
+ * package. Splits, families, task IDs and private grader bytes are preserved;
13
+ * this function does not create train/held-out data or approve any source. */
14
+ export declare function prepareOrdinaryTasksetQualification(input: OrdinaryTasksetQualificationInput): Promise<{
15
+ bundle: import("./training-bundle.js").TasksetTrainingBundle;
16
+ artifact: {
17
+ schemaVersion: "openpond.trainingInputArtifactUpload.v2";
18
+ kind: "portable_training_bundle" | "reward_model_dataset";
19
+ idempotencyKey: string;
20
+ sourceManifest: {
21
+ id: string;
22
+ contentHash: string;
23
+ };
24
+ payload: unknown;
25
+ contentHash: string;
26
+ };
27
+ submission: {
28
+ schemaVersion: "openpond.trainingJobSubmission.v2";
29
+ idempotencyKey: string;
30
+ name: string;
31
+ source: {
32
+ modelProject: {
33
+ id: string;
34
+ portableProjectId: string;
35
+ revision: number;
36
+ contentHash: string;
37
+ };
38
+ harnessRunManifest: {
39
+ id: string;
40
+ contentHash: string;
41
+ };
42
+ harnessRelease: {
43
+ id: string;
44
+ contentHash: string;
45
+ };
46
+ taskset: {
47
+ id: string;
48
+ contentHash: string;
49
+ revision: number;
50
+ };
51
+ tasksetRelease: {
52
+ id: string;
53
+ contentHash: string;
54
+ };
55
+ dataset: {
56
+ id: string;
57
+ contentHash: string;
58
+ };
59
+ evidenceSets: {
60
+ id: string;
61
+ contentHash: string;
62
+ }[];
63
+ origin?: {
64
+ schemaVersion: "openpond.trainingHandoffOrigin.v1";
65
+ teamId: string;
66
+ projectId: string | null;
67
+ configurationId: string;
68
+ source: {
69
+ executionId: string;
70
+ passId: string | null;
71
+ manifestHash: string;
72
+ resultHash: string;
73
+ };
74
+ dataset: {
75
+ id: string;
76
+ revision: number;
77
+ contentHash: string;
78
+ };
79
+ target: {
80
+ kind: "model";
81
+ modelId: string;
82
+ configurationHash: string;
83
+ } | {
84
+ kind: "harness";
85
+ source: {
86
+ profileId: string;
87
+ sourceRevision: string;
88
+ harnessRelease: {
89
+ id: string;
90
+ contentHash: string;
91
+ };
92
+ catalogHash: string;
93
+ definitionId: string;
94
+ definitionHash: string;
95
+ target: {
96
+ kind: "profile";
97
+ } | {
98
+ kind: "workflow";
99
+ workflowId: string;
100
+ } | {
101
+ kind: "skill";
102
+ skillPath: string;
103
+ } | {
104
+ kind: "agent_action";
105
+ actionId: string;
106
+ };
107
+ environmentHash: string;
108
+ externalDatasetBinding?: {
109
+ schemaVersion: "openpond.profileExternalDatasetBinding.v1";
110
+ dataset: {
111
+ id: string;
112
+ contentHash: string;
113
+ revision: number;
114
+ };
115
+ packageHash: string;
116
+ profileId: string;
117
+ target: {
118
+ kind: "profile";
119
+ } | {
120
+ kind: "workflow";
121
+ workflowId: string;
122
+ } | {
123
+ kind: "skill";
124
+ skillPath: string;
125
+ } | {
126
+ kind: "agent_action";
127
+ actionId: string;
128
+ };
129
+ declaredProfileCatalogHash: string | null;
130
+ protectedProfileClosureHash: string;
131
+ split: "train" | "validation" | "test" | "frozen_eval";
132
+ population: {
133
+ taskId: string;
134
+ seed: string;
135
+ fixtureId: string | null;
136
+ }[];
137
+ evaluators: {
138
+ release: {
139
+ id: string;
140
+ contentHash: string;
141
+ revision: string | number;
142
+ };
143
+ feedbackKey: string;
144
+ configurationHash: string;
145
+ output: "boolean" | "score" | "category";
146
+ categories: string[];
147
+ }[];
148
+ fieldMappingsHash: string;
149
+ fieldMappings: {
150
+ graderId: string;
151
+ fields: {
152
+ destination: "input" | "output" | "expectedOutput" | "evaluatorContext";
153
+ path: string[];
154
+ source: "input" | "output" | "expectedOutput" | "evaluatorContext";
155
+ sourcePath: string[];
156
+ }[];
157
+ }[];
158
+ environmentHash: string;
159
+ privateDatasetClosureHash: string;
160
+ criterion: {
161
+ minimumPassRate: number;
162
+ requireComplete: boolean;
163
+ };
164
+ contentHash: string;
165
+ recordedOrigin?: {
166
+ execution: {
167
+ id: string;
168
+ contentHash: string;
169
+ };
170
+ originalEvidence: {
171
+ id: string;
172
+ contentHash: string;
173
+ };
174
+ members: {
175
+ caseId: string;
176
+ seed: string;
177
+ fixtureId: string;
178
+ sourceId: string;
179
+ snapshotHash: string;
180
+ boundaryRevisionHash: string;
181
+ }[];
182
+ } | undefined;
183
+ gradingSource?: {
184
+ pass: {
185
+ id: string;
186
+ contentHash: string;
187
+ };
188
+ evidence: {
189
+ id: string;
190
+ contentHash: string;
191
+ };
192
+ } | undefined;
193
+ } | undefined;
194
+ sourceCandidate?: {
195
+ candidateId: string;
196
+ frozenRevision: number;
197
+ frozenHash: string;
198
+ harnessRelease: {
199
+ id: string;
200
+ contentHash: string;
201
+ };
202
+ protectedClosureHash: string;
203
+ } | undefined;
204
+ };
205
+ model: {
206
+ modelId: string;
207
+ configurationHash: string;
208
+ };
209
+ } | {
210
+ kind: "agent";
211
+ source: {
212
+ harnessRelease: {
213
+ id: string;
214
+ contentHash: string;
215
+ };
216
+ agentSnapshot: {
217
+ id: string;
218
+ contentHash: string;
219
+ };
220
+ sourcePackageHash: string;
221
+ };
222
+ model: {
223
+ modelId: string;
224
+ configurationHash: string;
225
+ };
226
+ } | {
227
+ kind: "fixture";
228
+ configurationHash: string;
229
+ };
230
+ graders: {
231
+ feedbackKey: string;
232
+ evaluator: {
233
+ id: string;
234
+ contentHash: string;
235
+ };
236
+ expectedCount: number;
237
+ scoredCount: number;
238
+ score: number | null;
239
+ }[];
240
+ contentHash: string;
241
+ } | undefined;
242
+ evaluation?: {
243
+ taskset: {
244
+ id: string;
245
+ contentHash: string;
246
+ revision: number;
247
+ };
248
+ dataset: {
249
+ id: string;
250
+ contentHash: string;
251
+ };
252
+ } | null | undefined;
253
+ };
254
+ job: {
255
+ kind: "reward_model_train";
256
+ baseModel: {
257
+ schemaVersion: "openpond.baseModelPreference.v1";
258
+ modelId: string;
259
+ revision: string | null;
260
+ tokenizerRevision: string | null;
261
+ chatTemplateHash: string | null;
262
+ modelAssetId: string | null;
263
+ source: "local" | "managed" | "builtin";
264
+ };
265
+ preferenceDatasetRelease: {
266
+ id: string;
267
+ contentHash: string;
268
+ };
269
+ processorRelease: {
270
+ id: string;
271
+ contentHash: string;
272
+ };
273
+ recipe: {
274
+ [x: string]: unknown;
275
+ schemaVersion: "openpond.rewardModelRecipe.v1";
276
+ method: "reward_model";
277
+ parameterization: "lora_with_scalar_head";
278
+ };
279
+ } | {
280
+ kind: "policy_optimize";
281
+ baseModel: {
282
+ schemaVersion: "openpond.baseModelPreference.v1";
283
+ modelId: string;
284
+ revision: string | null;
285
+ tokenizerRevision: string | null;
286
+ chatTemplateHash: string | null;
287
+ modelAssetId: string | null;
288
+ source: "local" | "managed" | "builtin";
289
+ };
290
+ recipe: {
291
+ [x: string]: unknown;
292
+ schemaVersion: string;
293
+ method: "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo";
294
+ parameterization: "lora" | "full";
295
+ };
296
+ rewardSource: {
297
+ kind: "deterministic";
298
+ grader: {
299
+ id: string;
300
+ contentHash: string;
301
+ };
302
+ composer: {
303
+ id: string;
304
+ contentHash: string;
305
+ } | null;
306
+ } | {
307
+ kind: "learned_reward";
308
+ rewardModelVersion: {
309
+ id: string;
310
+ contentHash: string;
311
+ };
312
+ qualificationReport: {
313
+ id: string;
314
+ contentHash: string;
315
+ } | null;
316
+ evaluationReferences: {
317
+ id: string;
318
+ contentHash: string;
319
+ }[];
320
+ scorerArtifact: {
321
+ artifactRef: string;
322
+ contentHash: string;
323
+ executionReceipt: {
324
+ id: string;
325
+ contentHash: string;
326
+ };
327
+ };
328
+ processorRelease: {
329
+ id: string;
330
+ contentHash: string;
331
+ };
332
+ rewardComposerRelease: {
333
+ id: string;
334
+ contentHash: string;
335
+ };
336
+ };
337
+ resumeFrom: {
338
+ id: string;
339
+ contentHash: string;
340
+ } | null;
341
+ executionMode?: "qualification" | undefined;
342
+ };
343
+ requestedCapabilities: {
344
+ id: string;
345
+ version: string | null;
346
+ required: boolean;
347
+ }[];
348
+ placementObjective: "fast" | "balanced" | "economical";
349
+ budget: {
350
+ maximumSpendUsd: number;
351
+ maximumWallSeconds: number;
352
+ };
353
+ approval: {
354
+ approvalHash: string;
355
+ approvedAt: string;
356
+ exportApproved: boolean;
357
+ maximumSpendUsd: number;
358
+ retentionDays: number | null;
359
+ region: string | null;
360
+ };
361
+ contentHash: string;
362
+ };
363
+ }>;
364
+ //# sourceMappingURL=training-qualification-preparation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training-qualification-preparation.d.ts","sourceRoot":"","sources":["../../../../../src/training-qualification-preparation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoD,KAAK,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEvH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAoC,KAAK,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAG3H,MAAM,MAAM,iCAAiC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,EACnG,SAAS,GAAG,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,UAAU,CAAC,GAAG;IACzK,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,EAAE,+BAA+B,CAAC,UAAU,CAAC,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;8EAE8E;AAC9E,wBAAsB,mCAAmC,CAAC,KAAK,EAAE,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDjG"}
@@ -7,6 +7,7 @@ export { TrainingCandidateDecisionRequestSchema, TrainingCandidateDecisionSchema
7
7
  export { deterministicTrainingRewardSource } from "./training-grading-plan.js";
8
8
  export { TRAINING_EVALUATION_SOURCE_PATH, TrainingEvaluationSourceSchema, assertTrainingEvaluationIsolation, trainingEvaluationSourceRef, type TrainingEvaluationSource, } from "./training-evaluation-source.js";
9
9
  export { TrainingEvaluationTaskResultSchema, TrainingEvaluationTaskPageSchema, trainingEvaluationTaskPageHash, parseAndVerifyTrainingEvaluationTaskPage, type TrainingEvaluationTaskResult, type TrainingEvaluationTaskPage, } from "./training-evaluation-results.js";
10
+ import { ModelProjectBaseModelSchema } from "./model-projects.js";
10
11
  export { OPENPOND_TRAINING_MEDIA_TYPE, OPENPOND_TRAINING_PROTOCOL_MAJOR, TRAINING_API_RESPONSE_MAX_BYTES, TRAINING_INPUT_ARTIFACT_MAX_BYTES, TRAINING_JOB_SUBMISSION_MAX_BYTES, OpenPondProtocolError, assertCanonicalPayloadSize, canonicalJson, canonicalJsonByteLength, canonicalSha256, parseBoundedJson, } from "./protocol.js";
11
12
  /**
12
13
  * Stages a content-addressed immutable input before Job admission. The payload
@@ -336,8 +337,22 @@ export declare const RewardModelTrainingRequestSchema: z.ZodObject<{
336
337
  parameterization: z.ZodLiteral<"lora_with_scalar_head">;
337
338
  }, z.core.$catchall<z.ZodUnknown>>;
338
339
  }, z.core.$strict>;
340
+ export declare const TrainingQualificationBaseModelSchema: z.ZodObject<{
341
+ schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
342
+ modelId: z.ZodString;
343
+ modelAssetId: z.ZodNullable<z.ZodString>;
344
+ source: z.ZodEnum<{
345
+ local: "local";
346
+ managed: "managed";
347
+ builtin: "builtin";
348
+ }>;
349
+ revision: z.ZodString;
350
+ tokenizerRevision: z.ZodString;
351
+ chatTemplateHash: z.ZodString;
352
+ }, z.core.$strict>;
339
353
  export declare const PolicyOptimizationRequestSchema: z.ZodObject<{
340
354
  kind: z.ZodLiteral<"policy_optimize">;
355
+ executionMode: z.ZodOptional<z.ZodLiteral<"qualification">>;
341
356
  baseModel: z.ZodObject<{
342
357
  schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
343
358
  modelId: z.ZodString;
@@ -444,6 +459,7 @@ export declare const TrainingJobRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObj
444
459
  }, z.core.$catchall<z.ZodUnknown>>;
445
460
  }, z.core.$strict>, z.ZodObject<{
446
461
  kind: z.ZodLiteral<"policy_optimize">;
462
+ executionMode: z.ZodOptional<z.ZodLiteral<"qualification">>;
447
463
  baseModel: z.ZodObject<{
448
464
  schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
449
465
  modelId: z.ZodString;
@@ -804,6 +820,7 @@ export declare const TrainingJobSubmissionSchema: z.ZodObject<{
804
820
  }, z.core.$catchall<z.ZodUnknown>>;
805
821
  }, z.core.$strict>, z.ZodObject<{
806
822
  kind: z.ZodLiteral<"policy_optimize">;
823
+ executionMode: z.ZodOptional<z.ZodLiteral<"qualification">>;
807
824
  baseModel: z.ZodObject<{
808
825
  schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
809
826
  modelId: z.ZodString;
@@ -914,6 +931,7 @@ export declare const TrainingJobSchema: z.ZodObject<{
914
931
  reward_model_train: "reward_model_train";
915
932
  policy_optimize: "policy_optimize";
916
933
  }>;
934
+ executionMode: z.ZodOptional<z.ZodLiteral<"qualification">>;
917
935
  modelProjectId: z.ZodString;
918
936
  portableProjectId: z.ZodString;
919
937
  sourceProjectRevision: z.ZodNumber;
@@ -954,6 +972,7 @@ export declare const TrainingJobPageSchema: z.ZodObject<{
954
972
  reward_model_train: "reward_model_train";
955
973
  policy_optimize: "policy_optimize";
956
974
  }>;
975
+ executionMode: z.ZodOptional<z.ZodLiteral<"qualification">>;
957
976
  modelProjectId: z.ZodString;
958
977
  portableProjectId: z.ZodString;
959
978
  sourceProjectRevision: z.ZodNumber;
@@ -1032,6 +1051,38 @@ export declare const TrainingJobOutputSchema: z.ZodObject<{
1032
1051
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1033
1052
  createdAt: z.ZodString;
1034
1053
  }, z.core.$strict>;
1054
+ /** Evidence that collection used the pinned original learner and never updated it. */
1055
+ export declare const TrainingQualificationEvidenceSchema: z.ZodObject<{
1056
+ schemaVersion: z.ZodLiteral<"openpond.trainingQualificationEvidence.v1">;
1057
+ baseModel: z.ZodObject<{
1058
+ schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
1059
+ modelId: z.ZodString;
1060
+ modelAssetId: z.ZodNullable<z.ZodString>;
1061
+ source: z.ZodEnum<{
1062
+ local: "local";
1063
+ managed: "managed";
1064
+ builtin: "builtin";
1065
+ }>;
1066
+ revision: z.ZodString;
1067
+ tokenizerRevision: z.ZodString;
1068
+ chatTemplateHash: z.ZodString;
1069
+ }, z.core.$strict>;
1070
+ group: z.ZodObject<{
1071
+ id: z.ZodString;
1072
+ contentHash: z.ZodString;
1073
+ }, z.core.$strict>;
1074
+ rolloutReceipts: z.ZodArray<z.ZodObject<{
1075
+ id: z.ZodString;
1076
+ contentHash: z.ZodString;
1077
+ }, z.core.$strict>>;
1078
+ rewardEvidenceHash: z.ZodString;
1079
+ groupsCompleted: z.ZodLiteral<1>;
1080
+ optimizerUpdatesApplied: z.ZodLiteral<0>;
1081
+ optimizerUpdatesSkipped: z.ZodLiteral<0>;
1082
+ trainingStepsCreated: z.ZodLiteral<0>;
1083
+ checkpointsCreated: z.ZodLiteral<0>;
1084
+ artifactsCreated: z.ZodLiteral<0>;
1085
+ }, z.core.$strict>;
1035
1086
  export declare const TrainingExecutionReceiptSchema: z.ZodObject<{
1036
1087
  schemaVersion: z.ZodLiteral<"openpond.trainingExecutionReceipt.v2">;
1037
1088
  id: z.ZodString;
@@ -1056,6 +1107,37 @@ export declare const TrainingExecutionReceiptSchema: z.ZodObject<{
1056
1107
  spendUsd: z.ZodNumber;
1057
1108
  durationSeconds: z.ZodNumber;
1058
1109
  cleanupComplete: z.ZodBoolean;
1110
+ qualification: z.ZodOptional<z.ZodObject<{
1111
+ schemaVersion: z.ZodLiteral<"openpond.trainingQualificationEvidence.v1">;
1112
+ baseModel: z.ZodObject<{
1113
+ schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
1114
+ modelId: z.ZodString;
1115
+ modelAssetId: z.ZodNullable<z.ZodString>;
1116
+ source: z.ZodEnum<{
1117
+ local: "local";
1118
+ managed: "managed";
1119
+ builtin: "builtin";
1120
+ }>;
1121
+ revision: z.ZodString;
1122
+ tokenizerRevision: z.ZodString;
1123
+ chatTemplateHash: z.ZodString;
1124
+ }, z.core.$strict>;
1125
+ group: z.ZodObject<{
1126
+ id: z.ZodString;
1127
+ contentHash: z.ZodString;
1128
+ }, z.core.$strict>;
1129
+ rolloutReceipts: z.ZodArray<z.ZodObject<{
1130
+ id: z.ZodString;
1131
+ contentHash: z.ZodString;
1132
+ }, z.core.$strict>>;
1133
+ rewardEvidenceHash: z.ZodString;
1134
+ groupsCompleted: z.ZodLiteral<1>;
1135
+ optimizerUpdatesApplied: z.ZodLiteral<0>;
1136
+ optimizerUpdatesSkipped: z.ZodLiteral<0>;
1137
+ trainingStepsCreated: z.ZodLiteral<0>;
1138
+ checkpointsCreated: z.ZodLiteral<0>;
1139
+ artifactsCreated: z.ZodLiteral<0>;
1140
+ }, z.core.$strict>>;
1059
1141
  issuer: z.ZodString;
1060
1142
  issuedAt: z.ZodString;
1061
1143
  signature: z.ZodNullable<z.ZodString>;
@@ -1067,7 +1149,14 @@ export declare function parseAndVerifyTrainingExecutionReceipt(value: unknown, e
1067
1149
  teamId?: string;
1068
1150
  jobId?: string;
1069
1151
  requireCleanup?: boolean;
1152
+ qualificationSubmission?: TrainingJobSubmission;
1153
+ outputs?: TrainingJobOutput[];
1070
1154
  }): Promise<TrainingExecutionReceipt>;
1155
+ export declare function assertTrainingQualificationReceipt(receipt: TrainingExecutionReceipt, expected: {
1156
+ submissionHash: string;
1157
+ baseModel?: z.infer<typeof ModelProjectBaseModelSchema>;
1158
+ outputs?: TrainingJobOutput[];
1159
+ }): Promise<void>;
1071
1160
  export declare const TrainingJobOutputsSchema: z.ZodObject<{
1072
1161
  schemaVersion: z.ZodLiteral<"openpond.trainingJobOutputs.v2">;
1073
1162
  outputs: z.ZodArray<z.ZodObject<{
@@ -1113,6 +1202,37 @@ export declare const TrainingJobOutputsSchema: z.ZodObject<{
1113
1202
  spendUsd: z.ZodNumber;
1114
1203
  durationSeconds: z.ZodNumber;
1115
1204
  cleanupComplete: z.ZodBoolean;
1205
+ qualification: z.ZodOptional<z.ZodObject<{
1206
+ schemaVersion: z.ZodLiteral<"openpond.trainingQualificationEvidence.v1">;
1207
+ baseModel: z.ZodObject<{
1208
+ schemaVersion: z.ZodLiteral<"openpond.baseModelPreference.v1">;
1209
+ modelId: z.ZodString;
1210
+ modelAssetId: z.ZodNullable<z.ZodString>;
1211
+ source: z.ZodEnum<{
1212
+ local: "local";
1213
+ managed: "managed";
1214
+ builtin: "builtin";
1215
+ }>;
1216
+ revision: z.ZodString;
1217
+ tokenizerRevision: z.ZodString;
1218
+ chatTemplateHash: z.ZodString;
1219
+ }, z.core.$strict>;
1220
+ group: z.ZodObject<{
1221
+ id: z.ZodString;
1222
+ contentHash: z.ZodString;
1223
+ }, z.core.$strict>;
1224
+ rolloutReceipts: z.ZodArray<z.ZodObject<{
1225
+ id: z.ZodString;
1226
+ contentHash: z.ZodString;
1227
+ }, z.core.$strict>>;
1228
+ rewardEvidenceHash: z.ZodString;
1229
+ groupsCompleted: z.ZodLiteral<1>;
1230
+ optimizerUpdatesApplied: z.ZodLiteral<0>;
1231
+ optimizerUpdatesSkipped: z.ZodLiteral<0>;
1232
+ trainingStepsCreated: z.ZodLiteral<0>;
1233
+ checkpointsCreated: z.ZodLiteral<0>;
1234
+ artifactsCreated: z.ZodLiteral<0>;
1235
+ }, z.core.$strict>>;
1116
1236
  issuer: z.ZodString;
1117
1237
  issuedAt: z.ZodString;
1118
1238
  signature: z.ZodNullable<z.ZodString>;
@@ -1142,6 +1262,10 @@ export declare const TrainingCapabilitiesSchema: z.ZodObject<{
1142
1262
  policy_optimize: "policy_optimize";
1143
1263
  }>>;
1144
1264
  methods: z.ZodArray<z.ZodString>;
1265
+ executionModes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1266
+ training: "training";
1267
+ qualification: "qualification";
1268
+ }>>>;
1145
1269
  placements: z.ZodArray<z.ZodEnum<{
1146
1270
  local: "local";
1147
1271
  remote: "remote";
@@ -1162,6 +1286,7 @@ export declare const TrainingCapabilitiesSchema: z.ZodObject<{
1162
1286
  expiresAt: z.ZodString;
1163
1287
  }, z.core.$strict>;
1164
1288
  export type TrainingJobSubmission = z.infer<typeof TrainingJobSubmissionSchema>;
1289
+ export type TrainingQualificationEvidence = z.infer<typeof TrainingQualificationEvidenceSchema>;
1165
1290
  export type TrainingInputArtifactUpload = z.infer<typeof TrainingInputArtifactUploadSchema>;
1166
1291
  export type TrainingInputArtifact = z.infer<typeof TrainingInputArtifactSchema>;
1167
1292
  export type TrainingJob = z.infer<typeof TrainingJobSchema>;
@@ -1195,6 +1320,7 @@ export declare function createTrainingClient(input: {
1195
1320
  };
1196
1321
  checkedAt: string;
1197
1322
  expiresAt: string;
1323
+ executionModes?: ("training" | "qualification")[] | undefined;
1198
1324
  }>;
1199
1325
  stageArtifact(upload: TrainingInputArtifactUpload): Promise<{
1200
1326
  schemaVersion: "openpond.trainingInputArtifact.v2";
@@ -1232,6 +1358,7 @@ export declare function createTrainingClient(input: {
1232
1358
  createdAt: string;
1233
1359
  updatedAt: string;
1234
1360
  completedAt: string | null;
1361
+ executionMode?: "qualification" | undefined;
1235
1362
  }>;
1236
1363
  listJobs(options?: {
1237
1364
  modelProjectId?: string;
@@ -1263,6 +1390,7 @@ export declare function createTrainingClient(input: {
1263
1390
  createdAt: string;
1264
1391
  updatedAt: string;
1265
1392
  completedAt: string | null;
1393
+ executionMode?: "qualification" | undefined;
1266
1394
  }[];
1267
1395
  nextCursor: string | null;
1268
1396
  }>;
@@ -1290,6 +1418,7 @@ export declare function createTrainingClient(input: {
1290
1418
  createdAt: string;
1291
1419
  updatedAt: string;
1292
1420
  completedAt: string | null;
1421
+ executionMode?: "qualification" | undefined;
1293
1422
  }>;
1294
1423
  cancelJob(jobId: string, expectedVersion: number): Promise<{
1295
1424
  schemaVersion: "openpond.trainingJob.v2";
@@ -1315,6 +1444,7 @@ export declare function createTrainingClient(input: {
1315
1444
  createdAt: string;
1316
1445
  updatedAt: string;
1317
1446
  completedAt: string | null;
1447
+ executionMode?: "qualification" | undefined;
1318
1448
  }>;
1319
1449
  stopAfterGroup(jobId: string, expectedVersion: number): Promise<{
1320
1450
  schemaVersion: "openpond.trainingJob.v2";
@@ -1340,6 +1470,7 @@ export declare function createTrainingClient(input: {
1340
1470
  createdAt: string;
1341
1471
  updatedAt: string;
1342
1472
  completedAt: string | null;
1473
+ executionMode?: "qualification" | undefined;
1343
1474
  }>;
1344
1475
  events(jobId: string): Promise<{
1345
1476
  schemaVersion: "openpond.trainingJobEvent.v2";
@@ -1392,6 +1523,33 @@ export declare function createTrainingClient(input: {
1392
1523
  issuer: string;
1393
1524
  issuedAt: string;
1394
1525
  signature: string | null;
1526
+ qualification?: {
1527
+ schemaVersion: "openpond.trainingQualificationEvidence.v1";
1528
+ baseModel: {
1529
+ schemaVersion: "openpond.baseModelPreference.v1";
1530
+ modelId: string;
1531
+ modelAssetId: string | null;
1532
+ source: "local" | "managed" | "builtin";
1533
+ revision: string;
1534
+ tokenizerRevision: string;
1535
+ chatTemplateHash: string;
1536
+ };
1537
+ group: {
1538
+ id: string;
1539
+ contentHash: string;
1540
+ };
1541
+ rolloutReceipts: {
1542
+ id: string;
1543
+ contentHash: string;
1544
+ }[];
1545
+ rewardEvidenceHash: string;
1546
+ groupsCompleted: 1;
1547
+ optimizerUpdatesApplied: 0;
1548
+ optimizerUpdatesSkipped: 0;
1549
+ trainingStepsCreated: 0;
1550
+ checkpointsCreated: 0;
1551
+ artifactsCreated: 0;
1552
+ } | undefined;
1395
1553
  } | null;
1396
1554
  }>;
1397
1555
  evaluationTasks(jobId: string, evaluation: {
@@ -4226,6 +4384,9 @@ export declare function createTrainingClient(input: {
4226
4384
  };
4227
4385
  modelConfigurationHash: string;
4228
4386
  packageHash: string;
4387
+ maxOutputTokens?: number | undefined;
4388
+ temperature?: number | undefined;
4389
+ topP?: number | undefined;
4229
4390
  candidate?: {
4230
4391
  artifactId: string;
4231
4392
  contentHash: string;