openpond-sdk 0.5.6 → 0.5.7

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 (37) hide show
  1. package/TRAINING_PROTOCOL.md +19 -0
  2. package/dist/chunk-ARUJ3FJT.js +447 -0
  3. package/dist/chunk-ARUJ3FJT.js.map +7 -0
  4. package/dist/chunk-QFT2MCIC.js +1526 -0
  5. package/dist/chunk-QFT2MCIC.js.map +7 -0
  6. package/dist/{chunk-NF63YMOL.js → chunk-QUOW6URQ.js} +7 -9
  7. package/dist/{chunk-NF63YMOL.js.map → chunk-QUOW6URQ.js.map} +3 -3
  8. package/dist/{chunk-25TBEGXB.js → chunk-TKJU3BOW.js} +2 -2
  9. package/dist/chunk-UJZ3XEE3.js +902 -0
  10. package/dist/chunk-UJZ3XEE3.js.map +7 -0
  11. package/dist/{chunk-EV4PKJWN.js → chunk-UKVK7MRJ.js} +320 -208
  12. package/dist/chunk-UKVK7MRJ.js.map +7 -0
  13. package/dist/index.js +3 -3
  14. package/dist/learning.js +3 -3
  15. package/dist/model-taskset-runs.js +2 -2
  16. package/dist/refiner.js +1 -1
  17. package/dist/taskset-drafts.js +35 -33
  18. package/dist/taskset-drafts.js.map +1 -1
  19. package/dist/taskset-packages.js +51 -465
  20. package/dist/taskset-packages.js.map +4 -4
  21. package/dist/training-bundle.js +459 -0
  22. package/dist/training-bundle.js.map +7 -0
  23. package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +2 -2
  24. package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +1 -1
  25. package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +2 -2
  26. package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +1 -1
  27. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +287 -0
  28. package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -0
  29. package/dist/types/packages/sdk/src/training-bundle.d.ts +48 -0
  30. package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -0
  31. package/dist/types/packages/sdk/src/training-learning-batch.d.ts +719 -0
  32. package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -0
  33. package/package.json +6 -2
  34. package/dist/chunk-EV4PKJWN.js.map +0 -7
  35. package/dist/chunk-PXB6YY36.js +0 -2395
  36. package/dist/chunk-PXB6YY36.js.map +0 -7
  37. /package/dist/{chunk-25TBEGXB.js.map → chunk-TKJU3BOW.js.map} +0 -0
@@ -0,0 +1,719 @@
1
+ import type { TasksetSourceRef } from "./taskset-draft-core.js";
2
+ import { type LearningTextAsset, type RewardBinding, type RewardRelease, type TaskAdmissionDecision, type TaskBatch, type TaskDefinition, type TaskEvidence } from "@openpond/evals";
3
+ /** Projects a sealed batch into training inputs. The public batch compiler
4
+ * rechecks every evidence/decision snapshot before adaptation. */
5
+ export declare function materializeLearningBatchTaskset(input: {
6
+ batch: TaskBatch;
7
+ definition: TaskDefinition;
8
+ binding: RewardBinding;
9
+ rewards: RewardRelease[];
10
+ evidence: TaskEvidence[];
11
+ decisions: TaskAdmissionDecision[];
12
+ profileId: string;
13
+ source: TasksetSourceRef;
14
+ assets?: LearningTextAsset[];
15
+ }): {
16
+ taskset: {
17
+ schemaVersion: "openpond.taskset.v1";
18
+ id: string;
19
+ revision: number;
20
+ profileId: string;
21
+ createImproveRunId: string | null;
22
+ name: string;
23
+ objective: string;
24
+ purpose: "benchmark" | "general";
25
+ benchmark: {
26
+ schemaVersion: "openpond.tasksetBenchmark.v1";
27
+ definitionId: string;
28
+ releaseId: string;
29
+ releaseHash: string;
30
+ managedReleasePath: string;
31
+ adaptationSplit: "train" | "validation" | "test" | "frozen_eval";
32
+ evaluationSplit: "train" | "validation" | "test" | "frozen_eval";
33
+ primaryMetric: "foreground_tokens" | "success_rate" | "latency_ms" | "cost_usd";
34
+ qualityGate: "none" | "non_regression" | "all_pass";
35
+ source: "builtin" | "imported";
36
+ metadata: Record<string, unknown>;
37
+ } | null;
38
+ preferenceComparison: {
39
+ schemaVersion: "openpond.tasksetPreferenceComparisonBinding.v1";
40
+ releaseId: string;
41
+ releaseHash: string;
42
+ publishedAt: string;
43
+ metadata: Record<string, unknown>;
44
+ } | null;
45
+ status: "failed" | "archived" | "ready" | "draft" | "blocked" | "awaiting_disclosure_approval" | "awaiting_materialization_approval" | "materializing" | "validating" | "needs_review" | "baselining";
46
+ sourceRefs: ({
47
+ id: string;
48
+ profileId: string;
49
+ title: string;
50
+ sourceHash: string;
51
+ occurredAt: string;
52
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
53
+ secretScanStatus: "pending" | "passed" | "blocked";
54
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
55
+ metadata: Record<string, unknown>;
56
+ schemaVersion: "openpond.huggingFaceDatasetSource.v1";
57
+ kind: "huggingface";
58
+ repositoryId: string;
59
+ repositoryUrl: string;
60
+ revision: string;
61
+ configuration: string;
62
+ upstreamSplits: string[];
63
+ gated: boolean;
64
+ private: boolean;
65
+ declaredLicense: string | null;
66
+ sourceFileHashes: string[];
67
+ } | {
68
+ id: string;
69
+ profileId: string;
70
+ title: string;
71
+ sourceHash: string;
72
+ occurredAt: string;
73
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
74
+ secretScanStatus: "pending" | "passed" | "blocked";
75
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
76
+ metadata: Record<string, unknown>;
77
+ schemaVersion: "openpond.uploadedFileDatasetSource.v1";
78
+ kind: "uploaded_file";
79
+ originalFileNames: string[];
80
+ mediaTypes: string[];
81
+ sourceFileHashes: string[];
82
+ totalBytes: number;
83
+ parserVersion: string;
84
+ } | {
85
+ id: string;
86
+ profileId: string;
87
+ title: string;
88
+ sourceHash: string;
89
+ occurredAt: string;
90
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
91
+ secretScanStatus: "pending" | "passed" | "blocked";
92
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
93
+ metadata: Record<string, unknown>;
94
+ schemaVersion: "openpond.generatedDatasetSource.v1";
95
+ kind: "generated";
96
+ generatorId: string;
97
+ generatorVersion: string;
98
+ seed: number;
99
+ generatorHash: string;
100
+ } | {
101
+ id: string;
102
+ profileId: string;
103
+ title: string;
104
+ sourceHash: string;
105
+ occurredAt: string;
106
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
107
+ secretScanStatus: "pending" | "passed" | "blocked";
108
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
109
+ metadata: Record<string, unknown>;
110
+ schemaVersion: "openpond.learningBatchDatasetSource.v1";
111
+ kind: "learning_batch";
112
+ batch: {
113
+ id: string;
114
+ revision: number;
115
+ contentHash: string;
116
+ };
117
+ taskDefinition: {
118
+ id: string;
119
+ revision: number;
120
+ contentHash: string;
121
+ };
122
+ admittedBy: string;
123
+ } | {
124
+ schemaVersion: "openpond.trainingSource.v1";
125
+ id: string;
126
+ profileId: string;
127
+ sessionId: string;
128
+ turnIds: string[];
129
+ workspaceId: string | null;
130
+ sourceHash: string;
131
+ clusterKey: string;
132
+ title: string;
133
+ occurredAt: string;
134
+ consent: {
135
+ status: "pending" | "granted" | "denied" | "revoked";
136
+ scope: "metadata_only" | "selected_turns" | "full_session";
137
+ grantedBy: string | null;
138
+ grantedAt: string | null;
139
+ purpose: "task_authoring_and_evaluation";
140
+ };
141
+ connectedAppIds: string[];
142
+ secretScanStatus: "pending" | "passed" | "blocked";
143
+ piiScanStatus: "pending" | "review" | "passed" | "blocked";
144
+ licensingStatus: "pending" | "review" | "approved" | "blocked";
145
+ metadata: Record<string, unknown>;
146
+ })[];
147
+ policy: {
148
+ policyVisibleFields: string[];
149
+ privilegedFields: string[];
150
+ hiddenGraderRefs: string[];
151
+ connectedAppScopes: string[];
152
+ };
153
+ environment: {
154
+ protocolVersion: "openpond.taskEnvironment.v1";
155
+ kind: "work" | "agent" | "chat" | "program" | "stateful_harness";
156
+ entrypoint: string;
157
+ stateful: boolean;
158
+ deterministicSeeds: boolean;
159
+ toolNames: string[];
160
+ lifecycle: ("cleanup" | "create" | "grade" | "reset" | "step")[];
161
+ defaultTimeoutMs: number;
162
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
163
+ metadata: Record<string, unknown>;
164
+ actionBindings?: {
165
+ schemaVersion: "openpond.harnessActionBinding.v1";
166
+ actionId: string;
167
+ modelToolName: string;
168
+ description: string;
169
+ inputSchema: Record<string, unknown>;
170
+ actionSchemaHash: string;
171
+ agentRelease: {
172
+ id: string;
173
+ contentHash: string;
174
+ };
175
+ implementationHash: string;
176
+ runtimeBindingId: string;
177
+ capabilityReceiptHash: string;
178
+ sideEffect: "read" | "write";
179
+ studentVisible: boolean;
180
+ timeoutMs: number;
181
+ episodeArgumentBindings: {
182
+ argument: string;
183
+ source: "case_id";
184
+ }[];
185
+ }[] | undefined;
186
+ resources?: {
187
+ id: string;
188
+ kind: "file" | "catalog" | "configuration" | "code_module";
189
+ path: string;
190
+ visibility: "privileged" | "policy_visible" | "policy_hidden";
191
+ required: boolean;
192
+ metadata: Record<string, unknown>;
193
+ mediaType?: string | null | undefined;
194
+ }[] | undefined;
195
+ };
196
+ capabilities: {
197
+ schemaVersion: "openpond.tasksetCapabilities.v1";
198
+ taskKind: "custom_program" | "chat" | "single_agent" | "multi_agent";
199
+ supportedSignals: ("label" | "reward" | "feedback" | "preference" | "demonstration" | "correction")[];
200
+ compatibleMethods: ("none" | "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo" | "retrieval")[];
201
+ rewardKinds: ("none" | "model_judge" | "human" | "exact" | "deterministic")[];
202
+ requiresTools: boolean;
203
+ requiresState: boolean;
204
+ requiresPrivilegedGrading: boolean;
205
+ environmentPlacements: ("local" | "remote" | "colocated" | "provider_native")[];
206
+ exportable: boolean;
207
+ portabilityBlockers: string[];
208
+ };
209
+ tasks: {
210
+ schemaVersion: "openpond.taskData.v1";
211
+ id: string;
212
+ clusterKey: string;
213
+ split: "train" | "validation" | "test" | "frozen_eval";
214
+ input: Record<string, unknown>;
215
+ expectedOutput: Record<string, unknown> | null;
216
+ policyVisibleContext: Record<string, unknown>;
217
+ privilegedContextRef: string | null;
218
+ sourceRefs: string[];
219
+ tags: string[];
220
+ metadata: Record<string, unknown>;
221
+ assets?: {
222
+ id: string;
223
+ sourceRefId: string;
224
+ artifactRef: string;
225
+ fileName: string;
226
+ mediaType: string;
227
+ sha256: string;
228
+ sizeBytes: number;
229
+ split: "train" | "validation" | "test" | "frozen_eval";
230
+ metadata: Record<string, unknown>;
231
+ }[] | undefined;
232
+ resourceRefs?: string[] | undefined;
233
+ requiredOutputs?: {
234
+ path: string;
235
+ mediaType: string;
236
+ metadata: Record<string, unknown>;
237
+ schemaRef?: string | null | undefined;
238
+ maxBytes?: number | undefined;
239
+ }[] | undefined;
240
+ }[];
241
+ graders: ({
242
+ id: string;
243
+ version: string;
244
+ label: string;
245
+ weight: number;
246
+ hardGate: boolean;
247
+ rewardEligible: boolean;
248
+ privileged: boolean;
249
+ metadata: Record<string, unknown>;
250
+ kind: "file" | "state" | "test" | "content" | "schema" | "runtime_event" | "diff";
251
+ config: Record<string, unknown>;
252
+ } | {
253
+ id: string;
254
+ version: string;
255
+ label: string;
256
+ weight: number;
257
+ hardGate: boolean;
258
+ rewardEligible: boolean;
259
+ privileged: boolean;
260
+ metadata: Record<string, unknown>;
261
+ kind: "model_judge";
262
+ rubric: string;
263
+ judge: {
264
+ providerId: "openpond" | "codex" | "anthropic" | "openai" | "xai" | "google" | "openrouter" | "deepseek" | "zai" | "moonshot" | "together" | "groq" | "custom-openai-compatible";
265
+ modelId: string;
266
+ };
267
+ calibrationFixtureRefs: string[];
268
+ calibrationStatus: "failed" | "pending" | "passed";
269
+ temperature: number;
270
+ } | {
271
+ id: string;
272
+ version: string;
273
+ label: string;
274
+ weight: number;
275
+ hardGate: boolean;
276
+ rewardEligible: boolean;
277
+ privileged: boolean;
278
+ metadata: Record<string, unknown>;
279
+ kind: "human";
280
+ rubric: string;
281
+ reviewerRole: string;
282
+ } | {
283
+ id: string;
284
+ version: string;
285
+ label: string;
286
+ weight: number;
287
+ hardGate: boolean;
288
+ rewardEligible: boolean;
289
+ privileged: boolean;
290
+ metadata: Record<string, unknown>;
291
+ kind: "custom_verifier";
292
+ module: string;
293
+ exportName: string;
294
+ timeoutMs: number;
295
+ networkPolicy: "none";
296
+ })[];
297
+ graderFixtures: {
298
+ id: string;
299
+ taskId: string;
300
+ label: "infrastructure_failure" | "positive" | "negative" | "boundary" | "adversarial" | "prompt_injection";
301
+ output: Record<string, unknown>;
302
+ infrastructureError: string | null;
303
+ expectedPassed: boolean;
304
+ expectedRewardEligible: boolean;
305
+ metadata: Record<string, unknown>;
306
+ }[];
307
+ learningSignals: {
308
+ demonstrations: {
309
+ id: string;
310
+ taskId: string | null;
311
+ sourceRefs: string[];
312
+ artifactRef: string;
313
+ approved: boolean;
314
+ confidence: number;
315
+ metadata: Record<string, unknown>;
316
+ kind: "demonstration";
317
+ prompt: string | null;
318
+ response: string | null;
319
+ }[];
320
+ preferences: {
321
+ id: string;
322
+ taskId: string | null;
323
+ sourceRefs: string[];
324
+ artifactRef: string;
325
+ approved: boolean;
326
+ confidence: number;
327
+ metadata: Record<string, unknown>;
328
+ kind: "preference";
329
+ prompt: string;
330
+ chosen: string;
331
+ rejected: string;
332
+ rationale: string | null;
333
+ }[];
334
+ corrections: {
335
+ id: string;
336
+ taskId: string | null;
337
+ sourceRefs: string[];
338
+ artifactRef: string;
339
+ approved: boolean;
340
+ confidence: number;
341
+ metadata: Record<string, unknown>;
342
+ kind: "correction";
343
+ original: string;
344
+ corrected: string;
345
+ rationale: string | null;
346
+ }[];
347
+ feedback: {
348
+ id: string;
349
+ taskId: string | null;
350
+ sourceRefs: string[];
351
+ artifactRef: string;
352
+ approved: boolean;
353
+ confidence: number;
354
+ metadata: Record<string, unknown>;
355
+ kind: "feedback";
356
+ feedback: string;
357
+ polarity: "neutral" | "positive" | "negative" | "mixed";
358
+ }[];
359
+ rewards: {
360
+ id: string;
361
+ taskId: string | null;
362
+ sourceRefs: string[];
363
+ artifactRef: string;
364
+ approved: boolean;
365
+ confidence: number;
366
+ metadata: Record<string, unknown>;
367
+ kind: "reward";
368
+ task: string;
369
+ rules: {
370
+ id: string;
371
+ points: number;
372
+ condition: string;
373
+ }[];
374
+ otherwisePoints: number;
375
+ executable: boolean;
376
+ }[];
377
+ labels: {
378
+ id: string;
379
+ taskId: string | null;
380
+ sourceRefs: string[];
381
+ artifactRef: string;
382
+ approved: boolean;
383
+ confidence: number;
384
+ metadata: Record<string, unknown>;
385
+ kind: "label";
386
+ labelKind: "rubric";
387
+ task: string;
388
+ criteria: {
389
+ id: string;
390
+ label: string;
391
+ description: string;
392
+ }[];
393
+ calibrationExamples: {
394
+ positive: string;
395
+ negative: string;
396
+ boundary: string;
397
+ };
398
+ }[];
399
+ };
400
+ authoringProvenance: {
401
+ schemaVersion: "openpond.taskAuthoringProvenance.v1";
402
+ model: {
403
+ providerId: "openpond" | "codex" | "anthropic" | "openai" | "xai" | "google" | "openrouter" | "deepseek" | "zai" | "moonshot" | "together" | "groq" | "custom-openai-compatible";
404
+ modelId: string;
405
+ } | null;
406
+ modelConfig: Record<string, unknown>;
407
+ skillHash: string;
408
+ promptTemplateVersion: string;
409
+ buildIntent: "rubric" | "demonstrations" | "preferences" | "verifiable_reward" | "discovery";
410
+ buildSpecification: {
411
+ kind: "demonstrations";
412
+ behavior: string;
413
+ examples: {
414
+ id: string;
415
+ prompt: string;
416
+ response: string;
417
+ }[];
418
+ } | {
419
+ kind: "preferences";
420
+ preference: string;
421
+ pairs: {
422
+ id: string;
423
+ prompt: string;
424
+ chosen: string;
425
+ rejected: string;
426
+ rationale: string;
427
+ }[];
428
+ } | {
429
+ kind: "verifiable_reward";
430
+ task: string;
431
+ rules: {
432
+ id: string;
433
+ points: number;
434
+ condition: string;
435
+ }[];
436
+ otherwisePoints: number;
437
+ } | {
438
+ kind: "rubric";
439
+ task: string;
440
+ criteria: {
441
+ id: string;
442
+ label: string;
443
+ description: string;
444
+ }[];
445
+ positiveExample: string;
446
+ negativeExample: string;
447
+ boundaryExample: string;
448
+ } | null;
449
+ evidenceHashes: string[];
450
+ tasksetSdkVersion: string;
451
+ sourceCommit: string | null;
452
+ repairHistory: {
453
+ attempt: number;
454
+ summary: string;
455
+ createdAt: string;
456
+ }[];
457
+ createdAt: string;
458
+ };
459
+ readiness: {
460
+ schemaVersion: "openpond.tasksetReadiness.v1";
461
+ tasksetId: string;
462
+ tasksetHash: string;
463
+ ready: boolean;
464
+ recommendedMethod: "none" | "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opd" | "opsd" | "sdpo" | "retrieval";
465
+ trainingPath: {
466
+ primaryMethod: "sft" | "dpo" | "grpo" | "ppo" | "sdft" | "opsd" | "sdpo";
467
+ bootstrap: {
468
+ method: "sft";
469
+ purpose: "trajectory_bootstrap";
470
+ demonstrationRefs: string[];
471
+ limitations: string[];
472
+ } | null;
473
+ } | null;
474
+ methodReadiness: {
475
+ method: "sft" | "dpo" | "grpo" | "ppo";
476
+ status: "recommended" | "compatible" | "needs_dataset_work";
477
+ reasonCodes: ("taskset_not_ready" | "demonstrations_missing" | "preference_pairs_missing" | "preference_pairs_invalid" | "executable_reward_missing" | "reward_not_calibrated" | "reward_model_missing" | "value_model_required" | "frozen_eval_missing")[];
478
+ reasons: string[];
479
+ }[];
480
+ compatibleDestinationClasses: ("custom" | "export" | "hosted_managed")[];
481
+ blockers: {
482
+ code: string;
483
+ message: string;
484
+ path: string | null;
485
+ }[];
486
+ advisories: {
487
+ code: string;
488
+ message: string;
489
+ path: string | null;
490
+ }[];
491
+ warnings: string[];
492
+ generatedAt: string;
493
+ } | null;
494
+ contentHash: string;
495
+ createdAt: string;
496
+ updatedAt: string;
497
+ metadata: Record<string, unknown>;
498
+ profileRelease?: {
499
+ id: string;
500
+ contentHash: string;
501
+ revision: number;
502
+ } | null | undefined;
503
+ datasetArtifact?: {
504
+ schemaVersion: "openpond.datasetArtifact.v1";
505
+ id: string;
506
+ tasksetId: string;
507
+ tasksetRevision: number;
508
+ contentHash: string;
509
+ format: "parquet";
510
+ schema: {
511
+ schemaVersion: "openpond.datasetSemanticSchema.v1";
512
+ fields: {
513
+ name: string;
514
+ semanticRole: "metadata" | "prompt" | "reward" | "feedback" | "rejected" | "messages" | "row_id" | "cluster_id" | "demonstration" | "chosen" | "expected_output" | "privileged_context" | "tag";
515
+ logicalType: "string" | "boolean" | "messages" | "integer" | "float" | "json";
516
+ nullable: boolean;
517
+ policy: "metadata" | "privileged" | "visible";
518
+ }[];
519
+ schemaHash: string;
520
+ };
521
+ shards: {
522
+ id: string;
523
+ split: "train" | "validation" | "test" | "frozen_eval";
524
+ path: string;
525
+ contentHash: string;
526
+ schemaHash: string;
527
+ sizeBytes: number;
528
+ rowCount: number;
529
+ rowGroupCount: number;
530
+ }[];
531
+ rowCount: number;
532
+ splitCounts: Record<"train" | "validation" | "test" | "frozen_eval", number>;
533
+ sourceReceiptRefs: string[];
534
+ mappingHash: string;
535
+ qualityReportHash: string;
536
+ createdAt: string;
537
+ } | null | undefined;
538
+ metrics?: {
539
+ schemaVersion: "openpond.tasksetMetricPolicy.v1";
540
+ primaryMetric: string;
541
+ aggregation: "custom" | "mean_score" | "pass_rate" | "weighted_mean";
542
+ missingReward: "zero" | "exclude";
543
+ customAggregator: {
544
+ module: string;
545
+ exportName: string;
546
+ contentHash: string;
547
+ timeoutMs: number;
548
+ networkPolicy: "none";
549
+ } | null;
550
+ taskWeights?: Record<string, number> | undefined;
551
+ } | undefined;
552
+ };
553
+ release: {
554
+ schemaVersion: "openpond.tasksetRelease.v2";
555
+ id: string;
556
+ revision: number;
557
+ policy: {
558
+ policyVisibleFields: string[];
559
+ privilegedFields: string[];
560
+ hiddenGraderRefs: string[];
561
+ connectedAppScopes: string[];
562
+ };
563
+ environment: {
564
+ protocolVersion: "openpond.environment.v1";
565
+ kind: "text" | "work" | "agent" | "custom_program";
566
+ entrypoint: string;
567
+ stateful: boolean;
568
+ deterministicSeeds: boolean;
569
+ lifecycle: ("create" | "reset" | "step" | "collect" | "destroy")[];
570
+ networkPolicy: "none" | "declared_read_only" | "declared_scoped";
571
+ defaultTimeoutMs: number;
572
+ };
573
+ tools: {
574
+ name: string;
575
+ description: string;
576
+ inputSchema: Record<string, unknown>;
577
+ inputSchemaHash: string;
578
+ sideEffect: "read" | "write";
579
+ timeoutMs: number;
580
+ }[];
581
+ capabilities: {
582
+ id: string;
583
+ required: boolean;
584
+ scopes: string[];
585
+ portability: "portable" | "host_adapter" | "local_only" | "hosted_only";
586
+ }[];
587
+ tasks: {
588
+ id: string;
589
+ clusterKey: string;
590
+ split: "train" | "validation" | "test" | "frozen_eval";
591
+ input: Record<string, unknown>;
592
+ expectedOutput: Record<string, unknown> | null;
593
+ policyVisibleContext: Record<string, unknown>;
594
+ privilegedContextRef: string | null;
595
+ artifactRefs: {
596
+ id: string;
597
+ path: string;
598
+ contentHash: string;
599
+ sizeBytes: number;
600
+ mediaType: string;
601
+ visibility: "policy" | "verifier" | "host_private";
602
+ }[];
603
+ tags: string[];
604
+ requiredOutputs?: {
605
+ path: string;
606
+ mediaType: string;
607
+ schemaRef: {
608
+ id: string;
609
+ path: string;
610
+ contentHash: string;
611
+ sizeBytes: number;
612
+ mediaType: string;
613
+ visibility: "policy" | "verifier" | "host_private";
614
+ } | null;
615
+ maxBytes: number | null;
616
+ metadata: Record<string, unknown>;
617
+ }[] | undefined;
618
+ }[];
619
+ graders: ({
620
+ id: string;
621
+ version: string;
622
+ weight: number;
623
+ hardGate: boolean;
624
+ rewardEligible: boolean;
625
+ privileged: boolean;
626
+ kind: "state" | "content" | "schema" | "artifact" | "runtime_event";
627
+ config: Record<string, unknown>;
628
+ } | {
629
+ id: string;
630
+ version: string;
631
+ weight: number;
632
+ hardGate: boolean;
633
+ rewardEligible: boolean;
634
+ privileged: boolean;
635
+ kind: "model_judge";
636
+ rubricRef: {
637
+ id: string;
638
+ path: string;
639
+ contentHash: string;
640
+ sizeBytes: number;
641
+ mediaType: string;
642
+ visibility: "policy" | "verifier" | "host_private";
643
+ };
644
+ calibrationStatus: "failed" | "pending" | "passed";
645
+ model?: {
646
+ providerId: string;
647
+ modelId: string;
648
+ revision: string | null;
649
+ } | undefined;
650
+ temperature?: number | undefined;
651
+ } | {
652
+ id: string;
653
+ version: string;
654
+ weight: number;
655
+ hardGate: boolean;
656
+ rewardEligible: boolean;
657
+ privileged: boolean;
658
+ kind: "custom_verifier";
659
+ verifierRef: {
660
+ id: string;
661
+ path: string;
662
+ contentHash: string;
663
+ sizeBytes: number;
664
+ mediaType: string;
665
+ visibility: "policy" | "verifier" | "host_private";
666
+ };
667
+ timeoutMs: number;
668
+ networkPolicy: "none";
669
+ exportName?: string | undefined;
670
+ } | {
671
+ id: string;
672
+ version: string;
673
+ weight: number;
674
+ hardGate: boolean;
675
+ rewardEligible: boolean;
676
+ privileged: boolean;
677
+ kind: "human";
678
+ rubricRef: {
679
+ id: string;
680
+ path: string;
681
+ contentHash: string;
682
+ sizeBytes: number;
683
+ mediaType: string;
684
+ visibility: "policy" | "verifier" | "host_private";
685
+ };
686
+ reviewerRole: string;
687
+ })[];
688
+ metadata: Record<string, unknown>;
689
+ contentHash: string;
690
+ environmentRelease?: {
691
+ id: string;
692
+ contentHash: string;
693
+ } | undefined;
694
+ verifierSetRelease?: {
695
+ id: string;
696
+ contentHash: string;
697
+ } | undefined;
698
+ metrics?: {
699
+ schemaVersion: "openpond.tasksetMetricPolicy.v1";
700
+ primaryMetric: string;
701
+ aggregation: "custom" | "mean_score" | "pass_rate" | "weighted_mean";
702
+ missingReward: "zero" | "exclude";
703
+ customAggregator: {
704
+ module: string;
705
+ exportName: string;
706
+ contentHash: string;
707
+ timeoutMs: number;
708
+ networkPolicy: "none";
709
+ } | null;
710
+ taskWeights?: Record<string, number> | undefined;
711
+ } | undefined;
712
+ };
713
+ generatedFiles: {
714
+ path: string;
715
+ role: "environment" | "verifier" | "fixture";
716
+ content: string;
717
+ }[];
718
+ };
719
+ //# sourceMappingURL=training-learning-batch.d.ts.map