openpond-sdk 0.9.6 → 0.9.8
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.
- package/dist/chunk-4HZORGK3.js +158 -0
- package/dist/chunk-4HZORGK3.js.map +7 -0
- package/dist/{chunk-XR6CLSCS.js → chunk-BGXWHDYM.js} +3 -2
- package/dist/chunk-BGXWHDYM.js.map +7 -0
- package/dist/{chunk-EMANJDJR.js → chunk-RXKIOOFZ.js} +62 -199
- package/dist/chunk-RXKIOOFZ.js.map +7 -0
- package/dist/{chunk-62LWLACP.js → chunk-YYJ4T4U4.js} +2 -2
- package/dist/dataset-marketplace.js +227 -0
- package/dist/dataset-marketplace.js.map +7 -0
- package/dist/dataset-workspaces.js +136 -3
- package/dist/dataset-workspaces.js.map +4 -4
- package/dist/experiments.js +67 -10
- package/dist/experiments.js.map +4 -4
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/model-starter-attempts.js +1 -1
- package/dist/model-taskset-runs.js +2 -2
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +954 -0
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-population.d.ts +97 -0
- package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +1183 -115
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +72 -72
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +1617 -0
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +2 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/evaluation-project-context.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +23 -23
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +3 -3
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-history.d.ts +266 -0
- package/dist/types/packages/sdk/src/experiment-history.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +3 -3
- package/dist/types/packages/sdk/src/experiments.d.ts +1 -0
- package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/grader-inspection.d.ts +8 -8
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +2 -2
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +4 -4
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +16 -16
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts +27 -27
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +49 -48
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +14 -14
- package/dist/types/packages/sdk/src/model-starter-execution.d.ts +4 -4
- package/dist/types/packages/sdk/src/model-starters.d.ts +17 -17
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +16 -16
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +15 -15
- package/dist/types/packages/sdk/src/task-inventory.d.ts +3 -3
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +40 -40
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +24 -24
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +72 -72
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +140 -140
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +40 -40
- package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +14 -14
- package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +41 -41
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +37 -37
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +46 -46
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +59 -59
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +72 -72
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +1733 -1733
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +1083 -1083
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +2 -2
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +14 -14
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +48 -48
- package/dist/types/packages/sdk/src/training-acceptance.d.ts +4 -4
- package/dist/types/packages/sdk/src/training-harness-sources.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +54 -54
- package/dist/types/packages/sdk/src/training-project-client.d.ts +12 -12
- package/dist/types/packages/sdk/src/training-project-contracts.d.ts +21 -21
- package/dist/types/packages/sdk/src/training.d.ts +24 -24
- package/package.json +5 -1
- package/dist/chunk-EMANJDJR.js.map +0 -7
- package/dist/chunk-XR6CLSCS.js.map +0 -7
- /package/dist/{chunk-62LWLACP.js.map → chunk-YYJ4T4U4.js.map} +0 -0
|
@@ -53,9 +53,9 @@ export declare const TrainingJobStateSchema: z.ZodEnum<{
|
|
|
53
53
|
succeeded: "succeeded";
|
|
54
54
|
failed: "failed";
|
|
55
55
|
cancelled: "cancelled";
|
|
56
|
+
queued: "queued";
|
|
56
57
|
running: "running";
|
|
57
58
|
cancelling: "cancelling";
|
|
58
|
-
queued: "queued";
|
|
59
59
|
admitting: "admitting";
|
|
60
60
|
provisioning: "provisioning";
|
|
61
61
|
stopping: "stopping";
|
|
@@ -120,8 +120,8 @@ export declare const RewardModelTrainingRequestSchema: z.ZodObject<{
|
|
|
120
120
|
modelAssetId: z.ZodNullable<z.ZodString>;
|
|
121
121
|
source: z.ZodEnum<{
|
|
122
122
|
local: "local";
|
|
123
|
-
builtin: "builtin";
|
|
124
123
|
managed: "managed";
|
|
124
|
+
builtin: "builtin";
|
|
125
125
|
}>;
|
|
126
126
|
}, z.core.$strict>;
|
|
127
127
|
preferenceDatasetRelease: z.ZodObject<{
|
|
@@ -149,8 +149,8 @@ export declare const PolicyOptimizationRequestSchema: z.ZodObject<{
|
|
|
149
149
|
modelAssetId: z.ZodNullable<z.ZodString>;
|
|
150
150
|
source: z.ZodEnum<{
|
|
151
151
|
local: "local";
|
|
152
|
-
builtin: "builtin";
|
|
153
152
|
managed: "managed";
|
|
153
|
+
builtin: "builtin";
|
|
154
154
|
}>;
|
|
155
155
|
}, z.core.$strict>;
|
|
156
156
|
recipe: z.ZodObject<{
|
|
@@ -227,8 +227,8 @@ export declare const TrainingJobRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
227
227
|
modelAssetId: z.ZodNullable<z.ZodString>;
|
|
228
228
|
source: z.ZodEnum<{
|
|
229
229
|
local: "local";
|
|
230
|
-
builtin: "builtin";
|
|
231
230
|
managed: "managed";
|
|
231
|
+
builtin: "builtin";
|
|
232
232
|
}>;
|
|
233
233
|
}, z.core.$strict>;
|
|
234
234
|
preferenceDatasetRelease: z.ZodObject<{
|
|
@@ -255,8 +255,8 @@ export declare const TrainingJobRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObj
|
|
|
255
255
|
modelAssetId: z.ZodNullable<z.ZodString>;
|
|
256
256
|
source: z.ZodEnum<{
|
|
257
257
|
local: "local";
|
|
258
|
-
builtin: "builtin";
|
|
259
258
|
managed: "managed";
|
|
259
|
+
builtin: "builtin";
|
|
260
260
|
}>;
|
|
261
261
|
}, z.core.$strict>;
|
|
262
262
|
recipe: z.ZodObject<{
|
|
@@ -389,8 +389,8 @@ export declare const TrainingJobSubmissionSchema: z.ZodObject<{
|
|
|
389
389
|
modelAssetId: z.ZodNullable<z.ZodString>;
|
|
390
390
|
source: z.ZodEnum<{
|
|
391
391
|
local: "local";
|
|
392
|
-
builtin: "builtin";
|
|
393
392
|
managed: "managed";
|
|
393
|
+
builtin: "builtin";
|
|
394
394
|
}>;
|
|
395
395
|
}, z.core.$strict>;
|
|
396
396
|
preferenceDatasetRelease: z.ZodObject<{
|
|
@@ -417,8 +417,8 @@ export declare const TrainingJobSubmissionSchema: z.ZodObject<{
|
|
|
417
417
|
modelAssetId: z.ZodNullable<z.ZodString>;
|
|
418
418
|
source: z.ZodEnum<{
|
|
419
419
|
local: "local";
|
|
420
|
-
builtin: "builtin";
|
|
421
420
|
managed: "managed";
|
|
421
|
+
builtin: "builtin";
|
|
422
422
|
}>;
|
|
423
423
|
}, z.core.$strict>;
|
|
424
424
|
recipe: z.ZodObject<{
|
|
@@ -526,9 +526,9 @@ export declare const TrainingJobSchema: z.ZodObject<{
|
|
|
526
526
|
succeeded: "succeeded";
|
|
527
527
|
failed: "failed";
|
|
528
528
|
cancelled: "cancelled";
|
|
529
|
+
queued: "queued";
|
|
529
530
|
running: "running";
|
|
530
531
|
cancelling: "cancelling";
|
|
531
|
-
queued: "queued";
|
|
532
532
|
admitting: "admitting";
|
|
533
533
|
provisioning: "provisioning";
|
|
534
534
|
stopping: "stopping";
|
|
@@ -566,9 +566,9 @@ export declare const TrainingJobPageSchema: z.ZodObject<{
|
|
|
566
566
|
succeeded: "succeeded";
|
|
567
567
|
failed: "failed";
|
|
568
568
|
cancelled: "cancelled";
|
|
569
|
+
queued: "queued";
|
|
569
570
|
running: "running";
|
|
570
571
|
cancelling: "cancelling";
|
|
571
|
-
queued: "queued";
|
|
572
572
|
admitting: "admitting";
|
|
573
573
|
provisioning: "provisioning";
|
|
574
574
|
stopping: "stopping";
|
|
@@ -622,13 +622,13 @@ export declare const TrainingJobOutputSchema: z.ZodObject<{
|
|
|
622
622
|
id: z.ZodString;
|
|
623
623
|
jobId: z.ZodString;
|
|
624
624
|
kind: z.ZodEnum<{
|
|
625
|
-
|
|
625
|
+
receipt: "receipt";
|
|
626
626
|
evaluation: "evaluation";
|
|
627
|
+
metrics: "metrics";
|
|
627
628
|
checkpoint: "checkpoint";
|
|
628
629
|
adapter: "adapter";
|
|
629
630
|
scorer: "scorer";
|
|
630
631
|
trace: "trace";
|
|
631
|
-
receipt: "receipt";
|
|
632
632
|
}>;
|
|
633
633
|
artifactRef: z.ZodString;
|
|
634
634
|
contentHash: z.ZodString;
|
|
@@ -679,13 +679,13 @@ export declare const TrainingJobOutputsSchema: z.ZodObject<{
|
|
|
679
679
|
id: z.ZodString;
|
|
680
680
|
jobId: z.ZodString;
|
|
681
681
|
kind: z.ZodEnum<{
|
|
682
|
-
|
|
682
|
+
receipt: "receipt";
|
|
683
683
|
evaluation: "evaluation";
|
|
684
|
+
metrics: "metrics";
|
|
684
685
|
checkpoint: "checkpoint";
|
|
685
686
|
adapter: "adapter";
|
|
686
687
|
scorer: "scorer";
|
|
687
688
|
trace: "trace";
|
|
688
|
-
receipt: "receipt";
|
|
689
689
|
}>;
|
|
690
690
|
artifactRef: z.ZodString;
|
|
691
691
|
contentHash: z.ZodString;
|
|
@@ -821,7 +821,7 @@ export declare function createTrainingClient(input: {
|
|
|
821
821
|
portableProjectId: string;
|
|
822
822
|
sourceProjectRevision: number;
|
|
823
823
|
submissionHash: string;
|
|
824
|
-
state: "succeeded" | "failed" | "cancelled" | "
|
|
824
|
+
state: "succeeded" | "failed" | "cancelled" | "queued" | "running" | "cancelling" | "admitting" | "provisioning" | "stopping";
|
|
825
825
|
phase: string;
|
|
826
826
|
version: number;
|
|
827
827
|
progress: number;
|
|
@@ -852,7 +852,7 @@ export declare function createTrainingClient(input: {
|
|
|
852
852
|
portableProjectId: string;
|
|
853
853
|
sourceProjectRevision: number;
|
|
854
854
|
submissionHash: string;
|
|
855
|
-
state: "succeeded" | "failed" | "cancelled" | "
|
|
855
|
+
state: "succeeded" | "failed" | "cancelled" | "queued" | "running" | "cancelling" | "admitting" | "provisioning" | "stopping";
|
|
856
856
|
phase: string;
|
|
857
857
|
version: number;
|
|
858
858
|
progress: number;
|
|
@@ -879,7 +879,7 @@ export declare function createTrainingClient(input: {
|
|
|
879
879
|
portableProjectId: string;
|
|
880
880
|
sourceProjectRevision: number;
|
|
881
881
|
submissionHash: string;
|
|
882
|
-
state: "succeeded" | "failed" | "cancelled" | "
|
|
882
|
+
state: "succeeded" | "failed" | "cancelled" | "queued" | "running" | "cancelling" | "admitting" | "provisioning" | "stopping";
|
|
883
883
|
phase: string;
|
|
884
884
|
version: number;
|
|
885
885
|
progress: number;
|
|
@@ -904,7 +904,7 @@ export declare function createTrainingClient(input: {
|
|
|
904
904
|
portableProjectId: string;
|
|
905
905
|
sourceProjectRevision: number;
|
|
906
906
|
submissionHash: string;
|
|
907
|
-
state: "succeeded" | "failed" | "cancelled" | "
|
|
907
|
+
state: "succeeded" | "failed" | "cancelled" | "queued" | "running" | "cancelling" | "admitting" | "provisioning" | "stopping";
|
|
908
908
|
phase: string;
|
|
909
909
|
version: number;
|
|
910
910
|
progress: number;
|
|
@@ -929,7 +929,7 @@ export declare function createTrainingClient(input: {
|
|
|
929
929
|
portableProjectId: string;
|
|
930
930
|
sourceProjectRevision: number;
|
|
931
931
|
submissionHash: string;
|
|
932
|
-
state: "succeeded" | "failed" | "cancelled" | "
|
|
932
|
+
state: "succeeded" | "failed" | "cancelled" | "queued" | "running" | "cancelling" | "admitting" | "provisioning" | "stopping";
|
|
933
933
|
phase: string;
|
|
934
934
|
version: number;
|
|
935
935
|
progress: number;
|
|
@@ -962,7 +962,7 @@ export declare function createTrainingClient(input: {
|
|
|
962
962
|
schemaVersion: "openpond.trainingJobOutput.v2";
|
|
963
963
|
id: string;
|
|
964
964
|
jobId: string;
|
|
965
|
-
kind: "
|
|
965
|
+
kind: "receipt" | "evaluation" | "metrics" | "checkpoint" | "adapter" | "scorer" | "trace";
|
|
966
966
|
artifactRef: string;
|
|
967
967
|
contentHash: string;
|
|
968
968
|
sizeBytes: number;
|
|
@@ -1158,7 +1158,7 @@ export declare function createTrainingClient(input: {
|
|
|
1158
1158
|
step: true;
|
|
1159
1159
|
collect: true;
|
|
1160
1160
|
destroy: true;
|
|
1161
|
-
resetScope: "
|
|
1161
|
+
resetScope: "attempt" | "task";
|
|
1162
1162
|
};
|
|
1163
1163
|
graderInterface: {
|
|
1164
1164
|
visibleEvidence: string[];
|
|
@@ -1204,7 +1204,7 @@ export declare function createTrainingClient(input: {
|
|
|
1204
1204
|
id: string;
|
|
1205
1205
|
contentHash: string;
|
|
1206
1206
|
};
|
|
1207
|
-
state: "
|
|
1207
|
+
state: "failed" | "cancelled" | "queued" | "running" | "cancelling" | "completed" | "budget_exhausted" | "blocked" | "cleaning";
|
|
1208
1208
|
updatedAt: string;
|
|
1209
1209
|
}[];
|
|
1210
1210
|
nextCursor: string | null;
|
|
@@ -1269,14 +1269,14 @@ export declare function createTrainingClient(input: {
|
|
|
1269
1269
|
contentHash: string;
|
|
1270
1270
|
};
|
|
1271
1271
|
revision: number;
|
|
1272
|
-
state: "
|
|
1272
|
+
state: "failed" | "cancelled" | "queued" | "running" | "cancelling" | "completed" | "budget_exhausted" | "blocked" | "cleaning";
|
|
1273
1273
|
attempts: {
|
|
1274
1274
|
id: string;
|
|
1275
1275
|
checkId: string;
|
|
1276
1276
|
subject: "baseline" | "candidate";
|
|
1277
1277
|
ordinal: number;
|
|
1278
1278
|
dispatchId: string;
|
|
1279
|
-
state: "failed" | "
|
|
1279
|
+
state: "failed" | "cancelled" | "queued" | "running" | "completed" | "budget_exhausted" | "cleaning" | "dispatching" | "grading";
|
|
1280
1280
|
artifact: {
|
|
1281
1281
|
id: string;
|
|
1282
1282
|
contentHash: string;
|
|
@@ -1300,7 +1300,7 @@ export declare function createTrainingClient(input: {
|
|
|
1300
1300
|
expectedCount: number;
|
|
1301
1301
|
scoredCount: number;
|
|
1302
1302
|
score: number | null;
|
|
1303
|
-
status: "failed" | "
|
|
1303
|
+
status: "failed" | "cancelled" | "running" | "completed" | "pending";
|
|
1304
1304
|
evidenceHash: string;
|
|
1305
1305
|
} | null;
|
|
1306
1306
|
executionReceipt: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openpond-sdk",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.8",
|
|
4
4
|
"description": "Server-side TypeScript SDK for OpenPond sandboxes and agentic work",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -110,6 +110,10 @@
|
|
|
110
110
|
"./experiments": {
|
|
111
111
|
"types": "./dist/types/packages/sdk/src/experiments.d.ts",
|
|
112
112
|
"import": "./dist/experiments.js"
|
|
113
|
+
},
|
|
114
|
+
"./dataset-marketplace": {
|
|
115
|
+
"types": "./dist/types/packages/sdk/src/dataset-marketplace.d.ts",
|
|
116
|
+
"import": "./dist/dataset-marketplace.js"
|
|
113
117
|
}
|
|
114
118
|
},
|
|
115
119
|
"publishConfig": {
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/experiment-field-mappings.ts", "../src/experiment-contracts.ts", "../src/experiment-scoring-contracts.ts", "../src/experiment-client.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\n\nconst Segment = z.string().min(1).max(200).refine(value => ![\"__proto__\", \"prototype\", \"constructor\"].includes(value), \"Use an ordinary field name.\");\nconst Path = z.array(Segment).min(1).max(20);\nconst Slot = z.enum([\"input\", \"output\", \"expectedOutput\", \"evaluatorContext\"]);\nexport const ExperimentFieldMappingSchema = z.object({\n destination: Slot, path: Path, source: Slot, sourcePath: z.array(Segment).max(20),\n}).strict();\nexport const ExperimentFieldMappingsSchema = z.array(ExperimentFieldMappingSchema).max(100).superRefine((mappings, context) => {\n for (const [index, mapping] of mappings.entries()) {\n if (mappings.slice(0, index).some(previous => previous.destination === mapping.destination\n && (prefix(previous.path, mapping.path) || prefix(mapping.path, previous.path))))\n context.addIssue({ code: \"custom\", path: [index, \"path\"], message: \"Mapped destination paths must not overlap.\" });\n }\n});\nexport type ExperimentFieldMapping = z.infer<typeof ExperimentFieldMappingSchema>;\nexport type ExperimentGradingFields = { input: Record<string, unknown>; output: Record<string, unknown>; expectedOutput: Record<string, unknown> | null; evaluatorContext: Record<string, unknown> | null };\n\n/** Map only grader evidence. The caller must never use this projection as a policy input. */\nexport function mapExperimentGradingFields(fields: ExperimentGradingFields, raw: readonly ExperimentFieldMapping[]): ExperimentGradingFields {\n const mappings = ExperimentFieldMappingsSchema.parse(raw);\n const mapped = structuredClone(fields);\n for (const mapping of mappings) {\n let value: unknown = fields[mapping.source];\n for (const segment of mapping.sourcePath) {\n if (!record(value) || !Object.hasOwn(value, segment)) throw new Error(\"The configured grader source field is unavailable.\");\n value = value[segment];\n }\n if (value === undefined) throw new Error(\"The configured grader source field is unavailable.\");\n let destination = mapped[mapping.destination];\n if (destination === null) mapped[mapping.destination] = destination = {};\n for (const segment of mapping.path.slice(0, -1)) {\n const existing: unknown = Object.hasOwn(destination, segment) ? destination[segment] : undefined;\n if (existing !== undefined && !record(existing)) throw new Error(\"A grader destination path crosses a scalar field.\");\n if (existing === undefined) destination[segment] = {};\n destination = destination[segment] as Record<string, unknown>;\n }\n destination[mapping.path.at(-1)!] = structuredClone(value);\n }\n return mapped;\n}\nfunction record(value: unknown): value is Record<string, unknown> { return value !== null && typeof value === \"object\" && !Array.isArray(value); }\nfunction prefix(left: string[], right: string[]) { return left.length <= right.length && left.every((segment, index) => segment === right[index]); }\n", "import { contentHash } from \"@openpond/harness\";\nimport { FeedbackKeySchema } from \"@openpond/evals/rewards\";\nimport { ModelTasksetRunRequestSchema } from \"./model-taskset-runs-contracts.js\";\nimport { TasksetRunManifestSchema } from \"@openpond/evals/metrics\";\nimport { z } from \"zod\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ExperimentDefinitionRefSchema = z.object({\n id: Id, revision: z.number().int().positive(), contentHash: Hash,\n}).strict();\nexport const ExperimentGraderPinSchema = z.object({\n id: Id, version: z.string().min(1).max(200), contentHash: Hash,\n feedbackKey: FeedbackKeySchema,\n release: ExperimentDefinitionRefSchema.nullable(),\n mappings: ExperimentFieldMappingsSchema.optional(),\n}).strict();\nexport const ExperimentGraderSelectionSchema = z.object({ id: Id, version: z.string().min(1).max(200), contentHash: Hash, mappings: ExperimentFieldMappingsSchema }).strict();\nexport const SaveExperimentSchema = z.object({\n operationId: Id,\n id: Id.optional(), expectedRevision: z.number().int().nonnegative(),\n request: ModelTasksetRunRequestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderSelectionSchema).min(1).max(100).optional(),\n}).strict().superRefine((value, ctx) => {\n if (!value.request.name) ctx.addIssue({ code: \"custom\", path: [\"request\", \"name\"], message: \"Name this Experiment before saving it.\" });\n if (Boolean(value.id) !== (value.expectedRevision > 0)) ctx.addIssue({ code: \"custom\", path: [\"expectedRevision\"], message: \"An update requires its saved definition revision.\" });\n if (Math.round(value.maximumCostUsd * 1_000_000) < 1) ctx.addIssue({ code: \"custom\", path: [\"maximumCostUsd\"], message: \"The budget must be at least $0.000001.\" });\n if (value.graders && new Set(value.graders.map(grader => grader.id)).size !== value.graders.length) ctx.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n});\nconst DefinitionContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentDefinition.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ModelTasksetRunRequestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n createdAt: z.iso.datetime(), updatedAt: z.iso.datetime(),\n}).strict();\nexport const ExperimentDefinitionSchema = DefinitionContent.extend({ contentHash: Hash });\nexport type ExperimentDefinition = z.infer<typeof ExperimentDefinitionSchema>;\nexport type ExperimentDefinitionRef = z.infer<typeof ExperimentDefinitionRefSchema>;\nexport const StartExperimentSchema = z.object({ operationId: Id, definition: ExperimentDefinitionRefSchema }).strict();\nexport const ExperimentListQuerySchema = z.object({\n projectId: Id.optional(), datasetHash: Hash.optional(), search: z.string().trim().max(200).optional(),\n afterId: Id.optional(), limit: z.number().int().min(1).max(100).default(30),\n}).strict();\nexport const ExperimentExecutionContextSchema = z.object({\n definition: ExperimentDefinitionRefSchema, maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n}).strict();\nexport type ExperimentExecutionContext = z.infer<typeof ExperimentExecutionContextSchema>;\n\nexport const PrepareHarnessExperimentSchema = z.object({\n operationId: Id, profileRepositoryId: Id, definitionId: Id, modelId: Id,\n reasoningEffort: z.enum([\"off\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"]).optional(),\n maximumCostUsd: z.number().finite().positive().max(10_000),\n}).strict();\nexport const PreparedHarnessExperimentSchema = z.object({\n request: ModelTasksetRunRequestSchema, manifest: TasksetRunManifestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n}).strict();\n\nexport function verifyExperimentDefinition(value: unknown): ExperimentDefinition {\n const parsed = ExperimentDefinitionSchema.parse(value);\n const { contentHash: actual, ...content } = parsed;\n if (actual !== contentHash(content) || parsed.request.teamId !== parsed.teamId || !parsed.request.name)\n throw new Error(\"Experiment definition differs from its immutable content.\");\n if (new Set(parsed.graders.map(item => item.feedbackKey)).size !== parsed.graders.length)\n throw new Error(\"Experiment feedback keys must be distinct.\");\n return parsed;\n}\n\nexport const experimentDefinitionRef = (value: ExperimentDefinition): ExperimentDefinitionRef => ({\n id: value.id, revision: value.revision, contentHash: value.contentHash,\n});\n", "import { z } from \"zod\";\nimport { contentHash, ImmutableReleaseRefSchema } from \"@openpond/harness\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\nimport { ExperimentGraderPinSchema } from \"./experiment-contracts.js\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nexport const ExperimentScoringRequestSchema = z.object({\n operationId: Id,\n execution: ImmutableReleaseRefSchema,\n graders: z.array(RewardReleaseRefSchema).min(1).max(100),\n maximumCostUsd: z.number().finite().min(0.000001).max(10_000),\n mappings: z.array(z.object({ graderId: Id, fields: ExperimentFieldMappingsSchema }).strict()).max(100).optional(),\n}).strict().superRefine((value, context) => {\n if (new Set(value.graders.map(grader => grader.id)).size !== value.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n if (value.mappings && (new Set(value.mappings.map(mapping => mapping.graderId)).size !== value.mappings.length\n || value.mappings.some(mapping => !value.graders.some(grader => grader.id === mapping.graderId))))\n context.addIssue({ code: \"custom\", path: [\"mappings\"], message: \"Map each selected grader at most once.\" });\n});\nexport type ExperimentScoringRequest = z.infer<typeof ExperimentScoringRequestSchema>;\n\nconst ScoringPassContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentScoringPass.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ExperimentScoringRequestSchema,\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n totalCount: z.number().int().min(1).max(10_000),\n counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(),\n scored: z.number().int().nonnegative(), unavailable: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),\n resultAvailable: z.boolean(), createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(),\n completedAt: z.iso.datetime().nullable(),\n error: z.object({ code: Id, message: z.string().max(2_000) }).strict().nullable(),\n}).strict();\nexport const ExperimentScoringPassSchema = ScoringPassContent.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) });\nexport type ExperimentScoringPass = z.infer<typeof ExperimentScoringPassSchema>;\n\n/** A pass grades owned output and carries no model-execution authority. */\nexport function verifyExperimentScoringPass(value: unknown) {\n const pass = ExperimentScoringPassSchema.parse(value);\n const { contentHash: actual, ...content } = pass;\n if (contentHash(content) !== actual || Object.values(pass.counts).reduce((sum, count) => sum + count, 0) !== pass.totalCount)\n throw new Error(\"Scoring pass integrity or population accounting failed.\");\n const terminal = [\"completed\", \"failed\", \"cancelled\"].includes(pass.status);\n if (terminal && (!pass.completedAt || pass.counts.pending || pass.counts.running)\n || !terminal && (pass.completedAt !== null || pass.resultAvailable)\n || pass.status === \"completed\" && !pass.resultAvailable)\n throw new Error(\"Scoring pass lifecycle differs from its retained result.\");\n if (pass.graders.length !== pass.request.graders.length || new Set(pass.graders.map(grader => grader.feedbackKey)).size !== pass.graders.length\n || pass.graders.some((grader, index) => contentHash(grader.release) !== contentHash(pass.request.graders[index]!)\n || contentHash(grader.mappings ?? []) !== contentHash(pass.request.mappings?.find(mapping => mapping.graderId === grader.release?.id)?.fields ?? [])))\n throw new Error(\"Scoring pass graders differ from their exact admission.\");\n return pass;\n}\n", "import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { compareExperiments, verifyExperimentEvidence } from \"@openpond/evals/experiments\";\nimport { ExperimentDefinitionRefSchema, ExperimentListQuerySchema, SaveExperimentSchema, StartExperimentSchema, experimentDefinitionRef,\n verifyExperimentDefinition, type ExperimentDefinitionRef } from \"./experiment-contracts.js\";\nimport { PrepareHarnessExperimentSchema, PreparedHarnessExperimentSchema } from \"./experiment-contracts.js\";\nimport { verifyHarnessExperimentManifest, verifyModelTasksetRunDetails } from \"./model-taskset-runs-contracts.js\";\nimport { ExperimentScoringRequestSchema, verifyExperimentScoringPass, type ExperimentScoringRequest } from \"./experiment-scoring-contracts.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nexport class OpenPondExperimentError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondExperimentError\"; }\n}\n\n/** Saved configuration and execution identities share the host's service. */\nexport class OpenPondExperimentsClient {\n private readonly baseUrl: string;\n constructor(private readonly options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof fetch }) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash || !options.apiKey.trim() || !options.teamId.trim())\n throw new Error(\"A clean API origin and workspace credentials are required.\");\n this.baseUrl = url.toString().replace(/\\/+$/, \"\");\n }\n /** Resolves a released target without saving a definition or dispatching it. */\n async prepareHarness(value: z.input<typeof PrepareHarnessExperimentSchema>, signal?: AbortSignal) {\n const request = PrepareHarnessExperimentSchema.parse(value);\n const result = PreparedHarnessExperimentSchema.parse(await this.request(\"/harness-setup\", \"POST\", request, signal));\n verifyHarnessExperimentManifest(result.request, result.manifest);\n const policy = result.request.policy;\n if (result.request.teamId !== this.options.teamId || result.request.operationId !== request.operationId\n || policy.kind !== \"hosted_harness\" || policy.profileRepositoryId !== request.profileRepositoryId\n || policy.source.definitionId !== request.definitionId || policy.modelId !== request.modelId\n || policy.reasoningEffort !== request.reasoningEffort || result.maximumCostUsd !== request.maximumCostUsd\n || result.manifest.limits.maximumSpendUsd !== request.maximumCostUsd)\n throw new Error(\"Harness preparation differs from its requested scope or configuration.\");\n return result;\n }\n async save(value: z.input<typeof SaveExperimentSchema>, signal?: AbortSignal) {\n const request = SaveExperimentSchema.parse(value);\n if (request.request.teamId !== this.options.teamId) throw new Error(\"Experiment workspace mismatch.\");\n const result = this.definition(await this.request(\"\", \"POST\", request, signal), request.id);\n if (result.revision !== request.expectedRevision + 1 || contentHash(result.request) !== contentHash(request.request)\n || result.maximumCostUsd !== request.maximumCostUsd) throw new Error(\"Experiment save receipt differs from its submitted configuration.\");\n if (request.graders && contentHash(request.graders) !== contentHash(result.graders.map(grader => ({ id: grader.id, version: grader.version, contentHash: grader.contentHash, mappings: grader.mappings ?? [] }))))\n throw new Error(\"Experiment save receipt differs from its selected graders or mappings.\");\n return result;\n }\n async get(id: string, options: { reference?: ExperimentDefinitionRef; signal?: AbortSignal } = {}) {\n const reference = options.reference ? ExperimentDefinitionRefSchema.parse(options.reference) : undefined;\n if (reference && reference.id !== id) throw new Error(\"Experiment reference identity mismatch.\");\n const suffix = reference ? `?${new URLSearchParams({ revision: String(reference.revision), contentHash: reference.contentHash })}` : \"\";\n const result = this.definition(await this.request(`/${encodeURIComponent(Id.parse(id))}${suffix}`, \"GET\", undefined, options.signal), id);\n if (options.reference && contentHash(experimentDefinitionRef(result)) !== contentHash(options.reference)) throw new Error(\"Experiment revision mismatch.\");\n return result;\n }\n async list(value: z.input<typeof ExperimentListQuerySchema> = {}, signal?: AbortSignal) {\n const query = ExperimentListQuerySchema.parse(value);\n const params = new URLSearchParams(Object.entries(query).map(([key, value]) => [key, String(value)]));\n const page = z.object({ items: z.array(z.unknown()).max(100), nextCursor: Id.nullable() }).strict().parse(await this.request(`?${params}`, \"GET\", undefined, signal));\n const items = page.items.map(value => this.definition(value));\n if (items.length > query.limit || new Set(items.map(item => item.id)).size !== items.length\n || items.some(item => query.projectId && item.request.project?.id !== query.projectId || query.datasetHash && item.request.taskset.contentHash !== query.datasetHash))\n throw new Error(\"Experiment page differs from its selected scope.\");\n return { items, nextCursor: page.nextCursor };\n }\n async start(value: z.input<typeof StartExperimentSchema>, signal?: AbortSignal) {\n const request = StartExperimentSchema.parse(value);\n const response = z.object({ definition: z.unknown(), run: z.unknown() }).strict().parse(\n await this.request(`/${encodeURIComponent(request.definition.id)}/start`, \"POST\", request, signal));\n const definition = this.definition(response.definition, request.definition.id);\n if (contentHash(experimentDefinitionRef(definition)) !== contentHash(request.definition)) throw new Error(\"Experiment Start revision mismatch.\");\n const result = await verifyModelTasksetRunDetails(response.run);\n if (result.summary.teamId !== this.options.teamId || result.request.operationId !== request.operationId\n || contentHash(savedRequestPopulation(result.request))\n !== contentHash(savedRequestPopulation({ ...definition.request, operationId: request.operationId }))\n || contentHash(result.manifest.metadata.experimentDefinition) !== contentHash(request.definition)\n || result.manifest.metadata.experimentConfigurationHash !== contentHash({ definition: request.definition, maximumCostUsd: definition.maximumCostUsd, graders: definition.graders }))\n throw new Error(\"Experiment execution differs from its saved configuration.\");\n return result;\n }\n async result(executionId: string, signal?: AbortSignal) {\n const value = z.object({ executionId: Id, passId: Id.nullable(), manifest: z.unknown(), result: z.unknown() }).strict()\n .parse(await this.request(`/executions/${encodeURIComponent(Id.parse(executionId))}/result`, \"GET\", undefined, signal));\n const evidence = verifyExperimentEvidence(value);\n if (value.executionId !== executionId || evidence.manifest.teamId !== this.options.teamId\n || evidence.manifest.lineage?.execution.id !== executionId\n || evidence.manifest.lineage.scoringPassId !== value.passId) throw new Error(\"Experiment result identity mismatch.\");\n return { ...evidence, executionId, passId: value.passId };\n }\n async executions(definitionId: string, options: { afterId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams(options.afterId ? { afterId: Id.parse(options.afterId) } : {});\n const page = z.object({ items: z.array(z.unknown()).max(30), nextCursor: Id.nullable() }).strict().parse(\n await this.request(`/${encodeURIComponent(Id.parse(definitionId))}/executions?${params}`, \"GET\", undefined, options.signal));\n const items = await Promise.all(page.items.map(value => verifyModelTasksetRunDetails(value)));\n if (items.some(item => item.summary.teamId !== this.options.teamId\n || ExperimentDefinitionRefSchema.parse(item.manifest.metadata.experimentDefinition).id !== definitionId)\n || new Set(items.map(item => item.summary.id)).size !== items.length)\n throw new Error(\"Experiment execution page has invalid ownership or repeated identities.\");\n return { items, nextCursor: page.nextCursor };\n }\n async execution(id: string, signal?: AbortSignal) {\n return this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal), id);\n }\n async cancel(id: string, signal?: AbortSignal) {\n return this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id.parse(id))}/cancel`, \"POST\", {}, signal), id);\n }\n /** Retry intentionally creates another execution; a transport retry reuses the same operation id. */\n async retry(id: string, operationId: string, signal?: AbortSignal) {\n const result = await this.executionDetails(await this.request(`/executions/${encodeURIComponent(Id.parse(id))}/retry`, \"POST\", { operationId: Id.parse(operationId) }, signal));\n if (result.request.operationId !== operationId) throw new Error(\"Experiment retry operation mismatch.\");\n return result;\n }\n async score(value: ExperimentScoringRequest, signal?: AbortSignal) {\n const request = ExperimentScoringRequestSchema.parse(value);\n const pass = this.pass(await this.request(`/executions/${encodeURIComponent(request.execution.id)}/scoring-passes`, \"POST\", request, signal));\n if (contentHash(pass.request) !== contentHash(request)) throw new Error(\"Scoring admission differs from its submitted inputs.\");\n return pass;\n }\n async scoringPass(id: string, signal?: AbortSignal) {\n return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(Id.parse(id))}`, \"GET\", undefined, signal), id);\n }\n async scoringPasses(executionId: string, options: { afterId?: string; signal?: AbortSignal } = {}) {\n const params = new URLSearchParams(options.afterId ? { afterId: Id.parse(options.afterId) } : {});\n const page = z.object({ items: z.array(z.unknown()).max(30), nextCursor: Id.nullable() }).strict().parse(\n await this.request(`/executions/${encodeURIComponent(Id.parse(executionId))}/scoring-passes?${params}`, \"GET\", undefined, options.signal));\n const items = page.items.map(value => this.pass(value));\n if (items.some(item => item.request.execution.id !== executionId) || new Set(items.map(item => item.id)).size !== items.length)\n throw new Error(\"Scoring pass page differs from its execution ownership.\");\n return { items, nextCursor: page.nextCursor };\n }\n async cancelScoringPass(id: string, signal?: AbortSignal) {\n return this.pass(await this.request(`/scoring-passes/${encodeURIComponent(Id.parse(id))}/cancel`, \"POST\", {}, signal), id);\n }\n async scoringResult(id: string, signal?: AbortSignal) {\n const value = z.object({ executionId: Id, passId: Id, manifest: z.unknown(), result: z.unknown() }).strict().parse(\n await this.request(`/scoring-passes/${encodeURIComponent(Id.parse(id))}/result`, \"GET\", undefined, signal));\n const evidence = verifyExperimentEvidence(value);\n if (value.passId !== id || evidence.manifest.teamId !== this.options.teamId || evidence.manifest.id !== id\n || evidence.manifest.lineage?.execution.id !== value.executionId || evidence.manifest.lineage.scoringPassId !== id)\n throw new Error(\"Scoring result identity mismatch.\");\n return { ...evidence, executionId: value.executionId, passId: id };\n }\n async compare(baselineId: string, candidateId: string, signal?: AbortSignal) {\n const read = (id: string) => id.startsWith(\"score_\") ? this.scoringResult(id, signal) : this.result(id, signal);\n const [baseline, candidate] = await Promise.all([read(baselineId), read(candidateId)]);\n return { baseline, candidate, comparison: compareExperiments(baseline, candidate) };\n }\n private definition(value: unknown, id?: string) {\n const result = verifyExperimentDefinition(value);\n if (result.teamId !== this.options.teamId || id && result.id !== id) throw new Error(\"Experiment identity mismatch.\");\n return result;\n }\n private async executionDetails(value: unknown, id?: string) {\n const details = await verifyModelTasksetRunDetails(value);\n if (details.summary.teamId !== this.options.teamId || id && details.summary.id !== id) throw new Error(\"Experiment execution identity mismatch.\");\n return details;\n }\n private pass(value: unknown, id?: string) {\n const pass = verifyExperimentScoringPass(value);\n if (pass.teamId !== this.options.teamId || id && pass.id !== id) throw new Error(\"Scoring pass identity mismatch.\");\n return pass;\n }\n private async request(path: string, method: string, body?: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.options.fetch ?? fetch)(`${this.baseUrl}/v1/experiments${path}`, {\n method, signal, redirect: \"error\", headers: { Authorization: `Bearer ${this.options.apiKey}`, \"X-OpenPond-Team-Id\": this.options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" },\n ...(body === undefined ? {} : { body: JSON.stringify(body) }),\n });\n const value = await response.json();\n if (!response.ok) {\n const parsed = z.object({ code: z.string(), message: z.string() }).safeParse(value);\n throw new OpenPondExperimentError(response.status, parsed.success ? parsed.data.code : \"experiment_request_failed\", parsed.success ? parsed.data.message : \"Experiment request failed.\");\n }\n return value;\n }\n}\n\n/** Native Harness assigns receipt IDs when sealing each new execution. Its\n * saved population still pins every task/seed; Model receipts stay exact. */\nfunction savedRequestPopulation(request: z.infer<typeof SaveExperimentSchema>[\"request\"]) {\n return request.policy.kind === \"hosted_harness\" ? {\n ...request, population: request.population.map(({ receiptId: _id, ...member }) => member),\n } : request;\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;AAAA,SAAS,SAAS;AAElB,IAAM,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,OAAO,WAAS,CAAC,CAAC,aAAa,aAAa,aAAa,EAAE,SAAS,KAAK,GAAG,6BAA6B;AACpJ,IAAM,OAAO,EAAE,MAAM,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;AAC3C,IAAM,OAAO,EAAE,KAAK,CAAC,SAAS,UAAU,kBAAkB,kBAAkB,CAAC;AACtE,IAAM,+BAA+B,EAAE,OAAO;AAAA,EACnD,aAAa;AAAA,EAAM,MAAM;AAAA,EAAM,QAAQ;AAAA,EAAM,YAAY,EAAE,MAAM,OAAO,EAAE,IAAI,EAAE;AAClF,CAAC,EAAE,OAAO;AACH,IAAM,gCAAgC,EAAE,MAAM,4BAA4B,EAAE,IAAI,GAAG,EAAE,YAAY,CAAC,UAAU,YAAY;AAC7H,aAAW,CAAC,OAAO,OAAO,KAAK,SAAS,QAAQ,GAAG;AACjD,QAAI,SAAS,MAAM,GAAG,KAAK,EAAE,KAAK,cAAY,SAAS,gBAAgB,QAAQ,gBACzE,OAAO,SAAS,MAAM,QAAQ,IAAI,KAAK,OAAO,QAAQ,MAAM,SAAS,IAAI,EAAE;AAC/E,cAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,OAAO,MAAM,GAAG,SAAS,6CAA6C,CAAC;AAAA,EACrH;AACF,CAAC;AAKM,SAAS,2BAA2B,QAAiC,KAAiE;AAC3I,QAAM,WAAW,8BAA8B,MAAM,GAAG;AACxD,QAAM,SAAS,gBAAgB,MAAM;AACrC,aAAW,WAAW,UAAU;AAC9B,QAAI,QAAiB,OAAO,QAAQ,MAAM;AAC1C,eAAW,WAAW,QAAQ,YAAY;AACxC,UAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,OAAO,OAAO,OAAO,EAAG,OAAM,IAAI,MAAM,oDAAoD;AAC1H,cAAQ,MAAM,OAAO;AAAA,IACvB;AACA,QAAI,UAAU,OAAW,OAAM,IAAI,MAAM,oDAAoD;AAC7F,QAAI,cAAc,OAAO,QAAQ,WAAW;AAC5C,QAAI,gBAAgB,KAAM,QAAO,QAAQ,WAAW,IAAI,cAAc,CAAC;AACvE,eAAW,WAAW,QAAQ,KAAK,MAAM,GAAG,EAAE,GAAG;AAC/C,YAAM,WAAoB,OAAO,OAAO,aAAa,OAAO,IAAI,YAAY,OAAO,IAAI;AACvF,UAAI,aAAa,UAAa,CAAC,OAAO,QAAQ,EAAG,OAAM,IAAI,MAAM,mDAAmD;AACpH,UAAI,aAAa,OAAW,aAAY,OAAO,IAAI,CAAC;AACpD,oBAAc,YAAY,OAAO;AAAA,IACnC;AACA,gBAAY,QAAQ,KAAK,GAAG,EAAE,CAAE,IAAI,gBAAgB,KAAK;AAAA,EAC3D;AACA,SAAO;AACT;AACA,SAAS,OAAO,OAAkD;AAAE,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAAG;AACjJ,SAAS,OAAO,MAAgB,OAAiB;AAAE,SAAO,KAAK,UAAU,MAAM,UAAU,KAAK,MAAM,CAAC,SAAS,UAAU,YAAY,MAAM,KAAK,CAAC;AAAG;;;ACzCnJ,SAAS,yBAAyB;AAElC,SAAS,gCAAgC;AACzC,SAAS,KAAAA,UAAS;AAGlB,IAAM,KAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC3C,IAAM,OAAOA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AACvC,IAAM,gCAAgCA,GAAE,OAAO;AAAA,EACpD,IAAI;AAAA,EAAI,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAAG,aAAa;AAC9D,CAAC,EAAE,OAAO;AACH,IAAM,4BAA4BA,GAAE,OAAO;AAAA,EAChD,IAAI;AAAA,EAAI,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAAG,aAAa;AAAA,EAC1D,aAAa;AAAA,EACb,SAAS,8BAA8B,SAAS;AAAA,EAChD,UAAU,8BAA8B,SAAS;AACnD,CAAC,EAAE,OAAO;AACH,IAAM,kCAAkCA,GAAE,OAAO,EAAE,IAAI,IAAI,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,aAAa,MAAM,UAAU,8BAA8B,CAAC,EAAE,OAAO;AACrK,IAAM,uBAAuBA,GAAE,OAAO;AAAA,EAC3C,aAAa;AAAA,EACb,IAAI,GAAG,SAAS;AAAA,EAAG,kBAAkBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAClE,SAAS;AAAA,EACT,gBAAgBA,GAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAM;AAAA,EACzD,SAASA,GAAE,MAAM,+BAA+B,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAC7E,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,QAAQ;AACtC,MAAI,CAAC,MAAM,QAAQ,KAAM,KAAI,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,WAAW,MAAM,GAAG,SAAS,yCAAyC,CAAC;AACtI,MAAI,QAAQ,MAAM,EAAE,MAAO,MAAM,mBAAmB,EAAI,KAAI,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,kBAAkB,GAAG,SAAS,oDAAoD,CAAC;AACjL,MAAI,KAAK,MAAM,MAAM,iBAAiB,GAAS,IAAI,EAAG,KAAI,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,gBAAgB,GAAG,SAAS,yCAAyC,CAAC;AAClK,MAAI,MAAM,WAAW,IAAI,IAAI,MAAM,QAAQ,IAAI,YAAU,OAAO,EAAE,CAAC,EAAE,SAAS,MAAM,QAAQ,OAAQ,KAAI,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,GAAG,SAAS,2BAA2B,CAAC;AAC7L,CAAC;AACD,IAAM,oBAAoBA,GAAE,OAAO;AAAA,EACjC,eAAeA,GAAE,QAAQ,kCAAkC;AAAA,EAC3D,IAAI;AAAA,EAAI,QAAQ;AAAA,EAAI,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACxD,SAAS;AAAA,EACT,gBAAgBA,GAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAM;AAAA,EACzD,SAASA,GAAE,MAAM,yBAAyB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC1D,WAAWA,GAAE,IAAI,SAAS;AAAA,EAAG,WAAWA,GAAE,IAAI,SAAS;AACzD,CAAC,EAAE,OAAO;AACH,IAAM,6BAA6B,kBAAkB,OAAO,EAAE,aAAa,KAAK,CAAC;AAGjF,IAAM,wBAAwBA,GAAE,OAAO,EAAE,aAAa,IAAI,YAAY,8BAA8B,CAAC,EAAE,OAAO;AAC9G,IAAM,4BAA4BA,GAAE,OAAO;AAAA,EAChD,WAAW,GAAG,SAAS;AAAA,EAAG,aAAa,KAAK,SAAS;AAAA,EAAG,QAAQA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACpG,SAAS,GAAG,SAAS;AAAA,EAAG,OAAOA,GAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE;AAC5E,CAAC,EAAE,OAAO;AACH,IAAM,mCAAmCA,GAAE,OAAO;AAAA,EACvD,YAAY;AAAA,EAA+B,gBAAgBA,GAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAM;AAAA,EACpG,SAASA,GAAE,MAAM,yBAAyB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC5D,CAAC,EAAE,OAAO;AAGH,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,aAAa;AAAA,EAAI,qBAAqB;AAAA,EAAI,cAAc;AAAA,EAAI,SAAS;AAAA,EACrE,iBAAiBA,GAAE,KAAK,CAAC,OAAO,OAAO,UAAU,QAAQ,SAAS,KAAK,CAAC,EAAE,SAAS;AAAA,EACnF,gBAAgBA,GAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAM;AAC3D,CAAC,EAAE,OAAO;AACH,IAAM,kCAAkCA,GAAE,OAAO;AAAA,EACtD,SAAS;AAAA,EAA8B,UAAU;AAAA,EACjD,gBAAgBA,GAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAM;AAAA,EACzD,SAASA,GAAE,MAAM,yBAAyB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC5D,CAAC,EAAE,OAAO;AAEH,SAAS,2BAA2B,OAAsC;AAC/E,QAAM,SAAS,2BAA2B,MAAM,KAAK;AACrD,QAAM,EAAE,aAAa,QAAQ,GAAG,QAAQ,IAAI;AAC5C,MAAI,WAAW,YAAY,OAAO,KAAK,OAAO,QAAQ,WAAW,OAAO,UAAU,CAAC,OAAO,QAAQ;AAChG,UAAM,IAAI,MAAM,2DAA2D;AAC7E,MAAI,IAAI,IAAI,OAAO,QAAQ,IAAI,UAAQ,KAAK,WAAW,CAAC,EAAE,SAAS,OAAO,QAAQ;AAChF,UAAM,IAAI,MAAM,4CAA4C;AAC9D,SAAO;AACT;AAEO,IAAM,0BAA0B,CAAC,WAA0D;AAAA,EAChG,IAAI,MAAM;AAAA,EAAI,UAAU,MAAM;AAAA,EAAU,aAAa,MAAM;AAC7D;;;AC5EA,SAAS,KAAAC,UAAS;AAElB,SAAS,8BAA8B;AAIvC,IAAMC,MAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACpC,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,aAAaD;AAAA,EACb,WAAW;AAAA,EACX,SAASC,GAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACvD,gBAAgBA,GAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAQ,EAAE,IAAI,GAAM;AAAA,EAC5D,UAAUA,GAAE,MAAMA,GAAE,OAAO,EAAE,UAAUD,KAAI,QAAQ,8BAA8B,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAClH,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,YAAY;AAC1C,MAAI,IAAI,IAAI,MAAM,QAAQ,IAAI,YAAU,OAAO,EAAE,CAAC,EAAE,SAAS,MAAM,QAAQ;AACzE,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,GAAG,SAAS,2BAA2B,CAAC;AAC7F,MAAI,MAAM,aAAa,IAAI,IAAI,MAAM,SAAS,IAAI,aAAW,QAAQ,QAAQ,CAAC,EAAE,SAAS,MAAM,SAAS,UACnG,MAAM,SAAS,KAAK,aAAW,CAAC,MAAM,QAAQ,KAAK,YAAU,OAAO,OAAO,QAAQ,QAAQ,CAAC;AAC/F,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,UAAU,GAAG,SAAS,yCAAyC,CAAC;AAC9G,CAAC;AAGD,IAAM,qBAAqBC,GAAE,OAAO;AAAA,EAClC,eAAeA,GAAE,QAAQ,mCAAmC;AAAA,EAC5D,IAAID;AAAA,EAAI,QAAQA;AAAA,EAAI,UAAUC,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACxD,SAAS;AAAA,EACT,SAASA,GAAE,MAAM,yBAAyB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC1D,QAAQA,GAAE,KAAK,CAAC,UAAU,WAAW,cAAc,aAAa,UAAU,WAAW,CAAC;AAAA,EACtF,YAAYA,GAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM;AAAA,EAC9C,QAAQA,GAAE,OAAO;AAAA,IAAE,SAASA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAAG,SAASA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAChG,QAAQA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAAG,aAAaA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAClF,QAAQA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAAG,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAAE,CAAC,EAAE,OAAO;AAAA,EAC9F,iBAAiBA,GAAE,QAAQ;AAAA,EAAG,WAAWA,GAAE,IAAI,SAAS;AAAA,EAAG,WAAWA,GAAE,IAAI,SAAS,EAAE,SAAS;AAAA,EAChG,aAAaA,GAAE,IAAI,SAAS,EAAE,SAAS;AAAA,EACvC,OAAOA,GAAE,OAAO,EAAE,MAAMD,KAAI,SAASC,GAAE,OAAO,EAAE,IAAI,GAAK,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS;AAClF,CAAC,EAAE,OAAO;AACH,IAAM,8BAA8B,mBAAmB,OAAO,EAAE,aAAaA,GAAE,OAAO,EAAE,MAAM,gBAAgB,EAAE,CAAC;AAIjH,SAAS,4BAA4B,OAAgB;AAC1D,QAAM,OAAO,4BAA4B,MAAM,KAAK;AACpD,QAAM,EAAE,aAAa,QAAQ,GAAG,QAAQ,IAAI;AAC5C,MAAI,YAAY,OAAO,MAAM,UAAU,OAAO,OAAO,KAAK,MAAM,EAAE,OAAO,CAAC,KAAK,UAAU,MAAM,OAAO,CAAC,MAAM,KAAK;AAChH,UAAM,IAAI,MAAM,yDAAyD;AAC3E,QAAM,WAAW,CAAC,aAAa,UAAU,WAAW,EAAE,SAAS,KAAK,MAAM;AAC1E,MAAI,aAAa,CAAC,KAAK,eAAe,KAAK,OAAO,WAAW,KAAK,OAAO,YACpE,CAAC,aAAa,KAAK,gBAAgB,QAAQ,KAAK,oBAChD,KAAK,WAAW,eAAe,CAAC,KAAK;AACxC,UAAM,IAAI,MAAM,0DAA0D;AAC5E,MAAI,KAAK,QAAQ,WAAW,KAAK,QAAQ,QAAQ,UAAU,IAAI,IAAI,KAAK,QAAQ,IAAI,YAAU,OAAO,WAAW,CAAC,EAAE,SAAS,KAAK,QAAQ,UACpI,KAAK,QAAQ,KAAK,CAAC,QAAQ,UAAU,YAAY,OAAO,OAAO,MAAM,YAAY,KAAK,QAAQ,QAAQ,KAAK,CAAE,KAC3G,YAAY,OAAO,YAAY,CAAC,CAAC,MAAM,YAAY,KAAK,QAAQ,UAAU,KAAK,aAAW,QAAQ,aAAa,OAAO,SAAS,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;AACtJ,UAAM,IAAI,MAAM,yDAAyD;AAC3E,SAAO;AACT;;;ACvDA,SAAS,KAAAC,UAAS;AAElB,SAAS,oBAAoB,gCAAgC;AAO7D,IAAMC,MAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACpC,IAAM,0BAAN,cAAsC,MAAM;AAAA,EACjD,YAAqB,QAAyB,MAAc,SAAiB;AAAE,UAAM,OAAO;AAAvE;AAAyB;AAAiD,SAAK,OAAO;AAAA,EAA2B;AAAA,EAAjH;AAAA,EAAyB;AAChD;AAGO,IAAM,4BAAN,MAAgC;AAAA,EAErC,YAA6B,SAAoF;AAApF;AAC3B,UAAM,MAAM,IAAI,IAAI,QAAQ,OAAO;AACnC,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,KAAK,IAAI,YAAY,IAAI,YAAY,IAAI,UAAU,IAAI,QAAQ,CAAC,QAAQ,OAAO,KAAK,KAAK,CAAC,QAAQ,OAAO,KAAK;AAC1J,YAAM,IAAI,MAAM,4DAA4D;AAC9E,SAAK,UAAU,IAAI,SAAS,EAAE,QAAQ,QAAQ,EAAE;AAAA,EAClD;AAAA,EAL6B;AAAA,EADZ;AAAA;AAAA,EAQjB,MAAM,eAAe,OAAuD,QAAsB;AAChG,UAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,UAAM,SAAS,gCAAgC,MAAM,MAAM,KAAK,QAAQ,kBAAkB,QAAQ,SAAS,MAAM,CAAC;AAClH,oCAAgC,OAAO,SAAS,OAAO,QAAQ;AAC/D,UAAM,SAAS,OAAO,QAAQ;AAC9B,QAAI,OAAO,QAAQ,WAAW,KAAK,QAAQ,UAAU,OAAO,QAAQ,gBAAgB,QAAQ,eACvF,OAAO,SAAS,oBAAoB,OAAO,wBAAwB,QAAQ,uBAC3E,OAAO,OAAO,iBAAiB,QAAQ,gBAAgB,OAAO,YAAY,QAAQ,WAClF,OAAO,oBAAoB,QAAQ,mBAAmB,OAAO,mBAAmB,QAAQ,kBACxF,OAAO,SAAS,OAAO,oBAAoB,QAAQ;AACtD,YAAM,IAAI,MAAM,wEAAwE;AAC1F,WAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,OAA6C,QAAsB;AAC5E,UAAM,UAAU,qBAAqB,MAAM,KAAK;AAChD,QAAI,QAAQ,QAAQ,WAAW,KAAK,QAAQ,OAAQ,OAAM,IAAI,MAAM,gCAAgC;AACpG,UAAM,SAAS,KAAK,WAAW,MAAM,KAAK,QAAQ,IAAI,QAAQ,SAAS,MAAM,GAAG,QAAQ,EAAE;AAC1F,QAAI,OAAO,aAAa,QAAQ,mBAAmB,KAAK,YAAY,OAAO,OAAO,MAAM,YAAY,QAAQ,OAAO,KAC9G,OAAO,mBAAmB,QAAQ,eAAgB,OAAM,IAAI,MAAM,mEAAmE;AAC1I,QAAI,QAAQ,WAAW,YAAY,QAAQ,OAAO,MAAM,YAAY,OAAO,QAAQ,IAAI,aAAW,EAAE,IAAI,OAAO,IAAI,SAAS,OAAO,SAAS,aAAa,OAAO,aAAa,UAAU,OAAO,YAAY,CAAC,EAAE,EAAE,CAAC;AAC9M,YAAM,IAAI,MAAM,wEAAwE;AAC1F,WAAO;AAAA,EACT;AAAA,EACA,MAAM,IAAI,IAAY,UAAyE,CAAC,GAAG;AACjG,UAAM,YAAY,QAAQ,YAAY,8BAA8B,MAAM,QAAQ,SAAS,IAAI;AAC/F,QAAI,aAAa,UAAU,OAAO,GAAI,OAAM,IAAI,MAAM,yCAAyC;AAC/F,UAAM,SAAS,YAAY,IAAI,IAAI,gBAAgB,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAG,aAAa,UAAU,YAAY,CAAC,CAAC,KAAK;AACrI,UAAM,SAAS,KAAK,WAAW,MAAM,KAAK,QAAQ,IAAI,mBAAmBD,IAAG,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,OAAO,QAAW,QAAQ,MAAM,GAAG,EAAE;AACxI,QAAI,QAAQ,aAAa,YAAY,wBAAwB,MAAM,CAAC,MAAM,YAAY,QAAQ,SAAS,EAAG,OAAM,IAAI,MAAM,+BAA+B;AACzJ,WAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,QAAmD,CAAC,GAAG,QAAsB;AACtF,UAAM,QAAQ,0BAA0B,MAAM,KAAK;AACnD,UAAM,SAAS,IAAI,gBAAgB,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAKE,MAAK,MAAM,CAAC,KAAK,OAAOA,MAAK,CAAC,CAAC,CAAC;AACpG,UAAM,OAAOD,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAMA,GAAE,QAAQ,CAAC,EAAE,IAAI,GAAG,GAAG,YAAYD,IAAG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,OAAO,QAAW,MAAM,CAAC;AACpK,UAAM,QAAQ,KAAK,MAAM,IAAI,CAAAE,WAAS,KAAK,WAAWA,MAAK,CAAC;AAC5D,QAAI,MAAM,SAAS,MAAM,SAAS,IAAI,IAAI,MAAM,IAAI,UAAQ,KAAK,EAAE,CAAC,EAAE,SAAS,MAAM,UAChF,MAAM,KAAK,UAAQ,MAAM,aAAa,KAAK,QAAQ,SAAS,OAAO,MAAM,aAAa,MAAM,eAAe,KAAK,QAAQ,QAAQ,gBAAgB,MAAM,WAAW;AACpK,YAAM,IAAI,MAAM,kDAAkD;AACpE,WAAO,EAAE,OAAO,YAAY,KAAK,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,MAAM,OAA8C,QAAsB;AAC9E,UAAM,UAAU,sBAAsB,MAAM,KAAK;AACjD,UAAM,WAAWD,GAAE,OAAO,EAAE,YAAYA,GAAE,QAAQ,GAAG,KAAKA,GAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MAChF,MAAM,KAAK,QAAQ,IAAI,mBAAmB,QAAQ,WAAW,EAAE,CAAC,UAAU,QAAQ,SAAS,MAAM;AAAA,IAAC;AACpG,UAAM,aAAa,KAAK,WAAW,SAAS,YAAY,QAAQ,WAAW,EAAE;AAC7E,QAAI,YAAY,wBAAwB,UAAU,CAAC,MAAM,YAAY,QAAQ,UAAU,EAAG,OAAM,IAAI,MAAM,qCAAqC;AAC/I,UAAM,SAAS,MAAM,6BAA6B,SAAS,GAAG;AAC9D,QAAI,OAAO,QAAQ,WAAW,KAAK,QAAQ,UAAU,OAAO,QAAQ,gBAAgB,QAAQ,eACvF,YAAY,uBAAuB,OAAO,OAAO,CAAC,MAC/C,YAAY,uBAAuB,EAAE,GAAG,WAAW,SAAS,aAAa,QAAQ,YAAY,CAAC,CAAC,KAClG,YAAY,OAAO,SAAS,SAAS,oBAAoB,MAAM,YAAY,QAAQ,UAAU,KAC7F,OAAO,SAAS,SAAS,gCAAgC,YAAY,EAAE,YAAY,QAAQ,YAAY,gBAAgB,WAAW,gBAAgB,SAAS,WAAW,QAAQ,CAAC;AAClL,YAAM,IAAI,MAAM,4DAA4D;AAC9E,WAAO;AAAA,EACT;AAAA,EACA,MAAM,OAAO,aAAqB,QAAsB;AACtD,UAAM,QAAQA,GAAE,OAAO,EAAE,aAAaD,KAAI,QAAQA,IAAG,SAAS,GAAG,UAAUC,GAAE,QAAQ,GAAG,QAAQA,GAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EACnH,MAAM,MAAM,KAAK,QAAQ,eAAe,mBAAmBD,IAAG,MAAM,WAAW,CAAC,CAAC,WAAW,OAAO,QAAW,MAAM,CAAC;AACxH,UAAM,WAAW,yBAAyB,KAAK;AAC/C,QAAI,MAAM,gBAAgB,eAAe,SAAS,SAAS,WAAW,KAAK,QAAQ,UAC9E,SAAS,SAAS,SAAS,UAAU,OAAO,eAC5C,SAAS,SAAS,QAAQ,kBAAkB,MAAM,OAAQ,OAAM,IAAI,MAAM,sCAAsC;AACrH,WAAO,EAAE,GAAG,UAAU,aAAa,QAAQ,MAAM,OAAO;AAAA,EAC1D;AAAA,EACA,MAAM,WAAW,cAAsB,UAAsD,CAAC,GAAG;AAC/F,UAAM,SAAS,IAAI,gBAAgB,QAAQ,UAAU,EAAE,SAASA,IAAG,MAAM,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC;AAChG,UAAM,OAAOC,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAMA,GAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,YAAYD,IAAG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MACjG,MAAM,KAAK,QAAQ,IAAI,mBAAmBA,IAAG,MAAM,YAAY,CAAC,CAAC,eAAe,MAAM,IAAI,OAAO,QAAW,QAAQ,MAAM;AAAA,IAAC;AAC7H,UAAM,QAAQ,MAAM,QAAQ,IAAI,KAAK,MAAM,IAAI,WAAS,6BAA6B,KAAK,CAAC,CAAC;AAC5F,QAAI,MAAM,KAAK,UAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,UACvD,8BAA8B,MAAM,KAAK,SAAS,SAAS,oBAAoB,EAAE,OAAO,YAAY,KACpG,IAAI,IAAI,MAAM,IAAI,UAAQ,KAAK,QAAQ,EAAE,CAAC,EAAE,SAAS,MAAM;AAC9D,YAAM,IAAI,MAAM,yEAAyE;AAC3F,WAAO,EAAE,OAAO,YAAY,KAAK,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,UAAU,IAAY,QAAsB;AAChD,WAAO,KAAK,iBAAiB,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,IAAI,OAAO,QAAW,MAAM,GAAG,EAAE;AAAA,EAClI;AAAA,EACA,MAAM,OAAO,IAAY,QAAsB;AAC7C,WAAO,KAAK,iBAAiB,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA,EACnI;AAAA;AAAA,EAEA,MAAM,MAAM,IAAY,aAAqB,QAAsB;AACjE,UAAM,SAAS,MAAM,KAAK,iBAAiB,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,UAAU,QAAQ,EAAE,aAAaA,IAAG,MAAM,WAAW,EAAE,GAAG,MAAM,CAAC;AAC9K,QAAI,OAAO,QAAQ,gBAAgB,YAAa,OAAM,IAAI,MAAM,sCAAsC;AACtG,WAAO;AAAA,EACT;AAAA,EACA,MAAM,MAAM,OAAiC,QAAsB;AACjE,UAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,UAAM,OAAO,KAAK,KAAK,MAAM,KAAK,QAAQ,eAAe,mBAAmB,QAAQ,UAAU,EAAE,CAAC,mBAAmB,QAAQ,SAAS,MAAM,CAAC;AAC5I,QAAI,YAAY,KAAK,OAAO,MAAM,YAAY,OAAO,EAAG,OAAM,IAAI,MAAM,sDAAsD;AAC9H,WAAO;AAAA,EACT;AAAA,EACA,MAAM,YAAY,IAAY,QAAsB;AAClD,WAAO,KAAK,KAAK,MAAM,KAAK,QAAQ,mBAAmB,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,IAAI,OAAO,QAAW,MAAM,GAAG,EAAE;AAAA,EAC1H;AAAA,EACA,MAAM,cAAc,aAAqB,UAAsD,CAAC,GAAG;AACjG,UAAM,SAAS,IAAI,gBAAgB,QAAQ,UAAU,EAAE,SAASA,IAAG,MAAM,QAAQ,OAAO,EAAE,IAAI,CAAC,CAAC;AAChG,UAAM,OAAOC,GAAE,OAAO,EAAE,OAAOA,GAAE,MAAMA,GAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,YAAYD,IAAG,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MACjG,MAAM,KAAK,QAAQ,eAAe,mBAAmBA,IAAG,MAAM,WAAW,CAAC,CAAC,mBAAmB,MAAM,IAAI,OAAO,QAAW,QAAQ,MAAM;AAAA,IAAC;AAC3I,UAAM,QAAQ,KAAK,MAAM,IAAI,WAAS,KAAK,KAAK,KAAK,CAAC;AACtD,QAAI,MAAM,KAAK,UAAQ,KAAK,QAAQ,UAAU,OAAO,WAAW,KAAK,IAAI,IAAI,MAAM,IAAI,UAAQ,KAAK,EAAE,CAAC,EAAE,SAAS,MAAM;AACtH,YAAM,IAAI,MAAM,yDAAyD;AAC3E,WAAO,EAAE,OAAO,YAAY,KAAK,WAAW;AAAA,EAC9C;AAAA,EACA,MAAM,kBAAkB,IAAY,QAAsB;AACxD,WAAO,KAAK,KAAK,MAAM,KAAK,QAAQ,mBAAmB,mBAAmBA,IAAG,MAAM,EAAE,CAAC,CAAC,WAAW,QAAQ,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA,EAC3H;AAAA,EACA,MAAM,cAAc,IAAY,QAAsB;AACpD,UAAM,QAAQC,GAAE,OAAO,EAAE,aAAaD,KAAI,QAAQA,KAAI,UAAUC,GAAE,QAAQ,GAAG,QAAQA,GAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,MAC3G,MAAM,KAAK,QAAQ,mBAAmB,mBAAmBD,IAAG,MAAM,EAAE,CAAC,CAAC,WAAW,OAAO,QAAW,MAAM;AAAA,IAAC;AAC5G,UAAM,WAAW,yBAAyB,KAAK;AAC/C,QAAI,MAAM,WAAW,MAAM,SAAS,SAAS,WAAW,KAAK,QAAQ,UAAU,SAAS,SAAS,OAAO,MACnG,SAAS,SAAS,SAAS,UAAU,OAAO,MAAM,eAAe,SAAS,SAAS,QAAQ,kBAAkB;AAChH,YAAM,IAAI,MAAM,mCAAmC;AACrD,WAAO,EAAE,GAAG,UAAU,aAAa,MAAM,aAAa,QAAQ,GAAG;AAAA,EACnE;AAAA,EACA,MAAM,QAAQ,YAAoB,aAAqB,QAAsB;AAC3E,UAAM,OAAO,CAAC,OAAe,GAAG,WAAW,QAAQ,IAAI,KAAK,cAAc,IAAI,MAAM,IAAI,KAAK,OAAO,IAAI,MAAM;AAC9G,UAAM,CAAC,UAAU,SAAS,IAAI,MAAM,QAAQ,IAAI,CAAC,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,CAAC;AACrF,WAAO,EAAE,UAAU,WAAW,YAAY,mBAAmB,UAAU,SAAS,EAAE;AAAA,EACpF;AAAA,EACQ,WAAW,OAAgB,IAAa;AAC9C,UAAM,SAAS,2BAA2B,KAAK;AAC/C,QAAI,OAAO,WAAW,KAAK,QAAQ,UAAU,MAAM,OAAO,OAAO,GAAI,OAAM,IAAI,MAAM,+BAA+B;AACpH,WAAO;AAAA,EACT;AAAA,EACA,MAAc,iBAAiB,OAAgB,IAAa;AAC1D,UAAM,UAAU,MAAM,6BAA6B,KAAK;AACxD,QAAI,QAAQ,QAAQ,WAAW,KAAK,QAAQ,UAAU,MAAM,QAAQ,QAAQ,OAAO,GAAI,OAAM,IAAI,MAAM,yCAAyC;AAChJ,WAAO;AAAA,EACT;AAAA,EACQ,KAAK,OAAgB,IAAa;AACxC,UAAM,OAAO,4BAA4B,KAAK;AAC9C,QAAI,KAAK,WAAW,KAAK,QAAQ,UAAU,MAAM,KAAK,OAAO,GAAI,OAAM,IAAI,MAAM,iCAAiC;AAClH,WAAO;AAAA,EACT;AAAA,EACA,MAAc,QAAQ,MAAc,QAAgB,MAAgB,QAAwC;AAC1G,UAAM,WAAW,OAAO,KAAK,QAAQ,SAAS,OAAO,GAAG,KAAK,OAAO,kBAAkB,IAAI,IAAI;AAAA,MAC5F;AAAA,MAAQ;AAAA,MAAQ,UAAU;AAAA,MAAS,SAAS,EAAE,eAAe,UAAU,KAAK,QAAQ,MAAM,IAAI,sBAAsB,KAAK,QAAQ,QAAQ,gBAAgB,oBAAoB,QAAQ,mBAAmB;AAAA,MACxM,GAAI,SAAS,SAAY,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,IAAI,EAAE;AAAA,IAC7D,CAAC;AACD,UAAM,QAAQ,MAAM,SAAS,KAAK;AAClC,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,SAASC,GAAE,OAAO,EAAE,MAAMA,GAAE,OAAO,GAAG,SAASA,GAAE,OAAO,EAAE,CAAC,EAAE,UAAU,KAAK;AAClF,YAAM,IAAI,wBAAwB,SAAS,QAAQ,OAAO,UAAU,OAAO,KAAK,OAAO,6BAA6B,OAAO,UAAU,OAAO,KAAK,UAAU,4BAA4B;AAAA,IACzL;AACA,WAAO;AAAA,EACT;AACF;AAIA,SAAS,uBAAuB,SAA0D;AACxF,SAAO,QAAQ,OAAO,SAAS,mBAAmB;AAAA,IAChD,GAAG;AAAA,IAAS,YAAY,QAAQ,WAAW,IAAI,CAAC,EAAE,WAAW,KAAK,GAAG,OAAO,MAAM,MAAM;AAAA,EAC1F,IAAI;AACN;",
|
|
6
|
-
"names": ["z", "z", "z", "Id", "z", "z", "Id", "z", "value"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/model-starter-attempts.ts", "../src/evaluation-project-context.ts", "../src/experiment-grading-contracts.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { EvaluationProjectContextSchema, EvaluationMessagesSchema } from \"./evaluation-project-context.js\";\nexport { EvaluationProjectContextSchema, EvaluationMessagesSchema, type EvaluationProjectContext } from \"./evaluation-project-context.js\";\nimport { RewardCompositionSchema } from \"@openpond/evals/rewards\";\nimport { TaskGradeSchema } from \"@openpond/evals/graders\";\nimport { ExperimentAttemptGradeSchema } from \"./experiment-grading-contracts.js\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { canonicalJson, canonicalSha256 } from \"./protocol.js\";\n\nconst IdSchema = z.string().trim().min(1).max(200);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ModelStarterAttemptPolicySchema = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"hosted_chat\"), modelId: IdSchema, messages: EvaluationMessagesSchema.optional(), maxOutputTokens: z.number().int().min(1).max(4_096).default(1_024), temperature: z.number().min(0).max(2).default(0), topP: z.number().gt(0).max(1).default(1) }).strict(),\n z.object({ kind: z.literal(\"fixture\"), fixtureId: IdSchema }).strict(),\n]);\n/** The server resolves task input, private state, verifier and fixture script.\n * A caller can select releases, but cannot submit replacement execution bytes. */\nexport const ModelStarterAttemptRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptRequest.v1\"),\n operationId: IdSchema, teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n project: EvaluationProjectContextSchema.optional(),\n taskset: ModelProjectVersionedRefSchema, taskId: IdSchema,\n environmentSeed: z.number().int().min(0).max(2_147_483_647).default(0),\n policy: ModelStarterAttemptPolicySchema,\n}).strict();\nexport type ModelStarterAttemptRequest = z.infer<typeof ModelStarterAttemptRequestSchema>;\nexport const ModelStarterAttemptChoicesQuerySchema = z.object({ modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, afterTaskId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptChoicesSchema = z.object({\n modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, available: z.boolean(), unavailableReason: z.string().max(1_000).nullable(),\n models: z.array(z.object({ id: IdSchema, name: z.string().max(500) }).strict()).max(200),\n tasks: z.array(z.object({ id: IdSchema, split: z.enum([\"train\", \"validation\", \"frozen_eval\"]), inputPreview: z.string().max(500), fixtures: z.array(z.object({ id: IdSchema, label: z.string().max(200) }).strict()).max(1_000) }).strict()).max(100),\n nextCursor: IdSchema.nullable(),\n}).strict();\nexport const ModelStarterAttemptSummarySchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptSummary.v1\"),\n id: IdSchema, revision: z.number().int().positive(), request: ModelStarterAttemptRequestSchema,\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n policySnapshot: z.object({ modelId: IdSchema, provider: IdSchema, upstreamModelId: z.string().min(1).max(500), configurationHash: HashSchema }).strict().nullable(),\n createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(), completedAt: z.iso.datetime().nullable(),\n cleanupComplete: z.boolean(), resultAvailable: z.boolean(), score: z.number().min(0).max(1).nullable(),\n gradingStatus: z.enum([\"not_started\", \"scored\", \"unscorable\", \"not_configured\"]).default(\"not_started\"),\n passed: z.boolean().nullable(), outputPreview: z.string().max(500).nullable(),\n error: z.object({ code: IdSchema, message: z.string().max(2_000) }).strict().nullable(),\n}).strict().superRefine((value, context) => {\n if ((value.request.policy.kind === \"fixture\") !== (value.policySnapshot === null)) context.addIssue({ code: \"custom\", path: [\"policySnapshot\"], message: \"Fixture execution must not claim a model identity.\" });\n if (value.status === \"completed\" && (!value.cleanupComplete || !value.resultAvailable || !value.completedAt)) context.addIssue({ code: \"custom\", message: \"Completed attempts require retained results and confirmed cleanup.\" });\n});\nexport type ModelStarterAttemptSummary = z.infer<typeof ModelStarterAttemptSummarySchema>;\nexport const ModelStarterAttemptListQuerySchema = z.object({ modelProjectId: IdSchema, afterId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptPageSchema = z.object({ items: z.array(ModelStarterAttemptSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();\nexport const ModelStarterAttemptResultSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptResult.v1\"),\n attempt: ModelStarterAttemptSummarySchema,\n output: z.string().max(1_048_576).nullable(),\n // Only model-facing messages, never the private environment snapshot.\n messages: z.array(z.record(z.string(), z.unknown())).max(4_002),\n composition: RewardCompositionSchema.nullable(),\n // Ordinary Tasksets have no Reward binding. Absence preserves the hash of\n // already retained v1 results; new producers explicitly return null or a grade.\n grade: TaskGradeSchema.nullable().optional(),\n experimentGrade: ExperimentAttemptGradeSchema.nullable().optional(),\n environment: z.object({ status: z.enum([\"completed\", \"budget_exhausted\", \"cancelled\", \"timed_out\", \"policy_failure\", \"environment_failure\"]), collected: z.boolean(), definition: ModelProjectVersionedRefSchema, initialStateHash: HashSchema.nullable(), finalStateHash: HashSchema.nullable(), attemptHash: HashSchema }).strict(),\n providerRequestIds: z.array(IdSchema).max(1_001),\n contentHash: HashSchema,\n}).strict().superRefine((value, context) => {\n if (value.experimentGrade) {\n if (value.grade || value.composition) context.addIssue({ code: \"custom\", message: \"Selected Experiment grading cannot claim another grade population.\" });\n if (![\"completed\", \"failed\"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.experimentGrade.score\n || value.attempt.gradingStatus !== value.experimentGrade.gradingStatus || value.attempt.passed !== (value.experimentGrade.score === null ? null : value.experimentGrade.passed))\n context.addIssue({ code: \"custom\", message: \"Experiment grading differs from its retained attempt summary.\" });\n }\n if (!value.grade) return;\n if (value.composition) context.addIssue({ code: \"custom\", path: [\"grade\"], message: \"An ordinary grade cannot also claim a Reward composition.\" });\n if (![\"completed\", \"failed\"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.grade.score || value.attempt.gradingStatus !== value.grade.gradingStatus || value.attempt.passed !== (value.grade.score === null ? null : value.grade.passed)) context.addIssue({ code: \"custom\", path: [\"grade\"], message: \"Ordinary grade differs from its terminal attempt summary.\" });\n});\nexport type ModelStarterAttemptResult = z.infer<typeof ModelStarterAttemptResultSchema>;\n\nexport class OpenPondModelStarterAttemptError extends Error {\n constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"OpenPondModelStarterAttemptError\"; }\n}\n\nexport class OpenPondModelStarterAttemptsClient {\n readonly #options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch };\n constructor(options: { baseUrl: string; apiKey: string; teamId: string; fetch?: typeof globalThis.fetch }) {\n const url = new URL(options.baseUrl);\n if (!options.apiKey.trim() || !options.teamId.trim() || ![\"https:\", \"http:\"].includes(url.protocol) || url.username || url.password || url.search || url.hash) throw new Error(\"Starter attempts require an HTTP(S) endpoint and workspace credentials.\");\n this.#options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async create(value: z.input<typeof ModelStarterAttemptRequestSchema>, options: { signal?: AbortSignal } = {}) {\n const request = ModelStarterAttemptRequestSchema.parse(value);\n if (request.teamId !== this.#options.teamId) throw new Error(\"Attempt belongs to another workspace.\");\n const result = this.#summary(await this.#request(\"\", \"POST\", request, options.signal));\n if (canonicalJson(result.request) !== canonicalJson(request)) throw new OpenPondModelStarterAttemptError(502, \"attempt_request_mismatch\", \"Attempt receipt differs from the submitted request.\");\n return result;\n }\n async get(id: string, options: { signal?: AbortSignal } = {}) { return this.#summary(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}`, \"GET\", undefined, options.signal), id); }\n async choices(value: z.input<typeof ModelStarterAttemptChoicesQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelStarterAttemptChoicesQuerySchema.parse(value);\n const params = new URLSearchParams({ ...(query.modelProjectId ? { modelProjectId: query.modelProjectId } : {}), tasksetId: query.taskset.id, revision: String(query.taskset.revision), contentHash: query.taskset.contentHash, limit: String(query.limit) });\n if (query.afterTaskId) params.set(\"afterTaskId\", query.afterTaskId);\n const result = ModelStarterAttemptChoicesSchema.parse(await this.#request(`/choices?${params}`, \"GET\", undefined, options.signal));\n if (result.modelProjectId !== query.modelProjectId || canonicalJson(result.taskset) !== canonicalJson(query.taskset) || result.tasks.length > query.limit || new Set(result.tasks.map(task => task.id)).size !== result.tasks.length) throw new OpenPondModelStarterAttemptError(502, \"attempt_choices_mismatch\", \"Attempt choices differ from the selected model or Taskset.\");\n return result;\n }\n async cancel(id: string, options: { signal?: AbortSignal } = {}) { return this.#summary(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/cancel`, \"POST\", undefined, options.signal), id); }\n async result(id: string, options: { signal?: AbortSignal } = {}) {\n const value = ModelStarterAttemptResultSchema.parse(await this.#request(`/${encodeURIComponent(IdSchema.parse(id))}/result`, \"GET\", undefined, options.signal));\n this.#summary(value.attempt, id);\n const { contentHash, ...content } = value;\n if (!value.attempt.resultAvailable || await canonicalSha256(content) !== contentHash) throw new OpenPondModelStarterAttemptError(502, \"attempt_result_integrity\", \"Attempt result integrity failed.\");\n return value;\n }\n async list(value: z.input<typeof ModelStarterAttemptListQuerySchema>, options: { signal?: AbortSignal } = {}) {\n const query = ModelStarterAttemptListQuerySchema.parse(value);\n const params = new URLSearchParams({ modelProjectId: query.modelProjectId, limit: String(query.limit) });\n if (query.afterId) params.set(\"afterId\", query.afterId);\n const page = ModelStarterAttemptPageSchema.parse(await this.#request(`?${params}`, \"GET\", undefined, options.signal));\n if (page.items.length > query.limit || new Set(page.items.map(item => item.id)).size !== page.items.length || page.items.some(item => this.#summary(item).request.modelProjectId !== query.modelProjectId)) throw new OpenPondModelStarterAttemptError(502, \"attempt_page_mismatch\", \"Attempt page differs from the selected model.\");\n return page;\n }\n #summary(value: unknown, id?: string): ModelStarterAttemptSummary {\n const result = ModelStarterAttemptSummarySchema.parse(value);\n if (result.request.teamId !== this.#options.teamId || (id && result.id !== id)) throw new OpenPondModelStarterAttemptError(502, \"attempt_identity_mismatch\", \"Attempt receipt belongs to another identity or workspace.\");\n return result;\n }\n async #request(path: string, method: string, body: unknown, signal?: AbortSignal): Promise<unknown> {\n const response = await (this.#options.fetch ?? globalThis.fetch)(`${this.#options.baseUrl}/v1/model-starter-attempts${path}`, { method, headers: { Authorization: `Bearer ${this.#options.apiKey}`, \"X-OpenPond-Team-Id\": this.#options.teamId, \"Content-Type\": \"application/json\", Accept: \"application/json\" }, ...(body === undefined ? {} : { body: JSON.stringify(body) }), signal, redirect: \"error\" });\n const reader = response.body?.getReader();\n if (!reader) throw new OpenPondModelStarterAttemptError(response.status, \"attempt_empty_response\", \"Attempt response was empty.\");\n let bytes = 0; let text = \"\"; const decoder = new TextDecoder();\n try {\n while (true) {\n const chunk = await reader.read(); if (chunk.done) break;\n bytes += chunk.value.byteLength;\n if (bytes > 16_777_216) throw new OpenPondModelStarterAttemptError(502, \"attempt_response_too_large\", \"Attempt response exceeded its byte limit.\");\n text += decoder.decode(chunk.value, { stream: true });\n }\n text += decoder.decode();\n } finally { await reader.cancel(); reader.releaseLock(); }\n const value: unknown = JSON.parse(text);\n if (!response.ok) {\n const error = z.object({ code: IdSchema, message: z.string().max(2_000) }).safeParse(value);\n throw new OpenPondModelStarterAttemptError(response.status, error.success ? error.data.code : \"attempt_request_failed\", error.success ? error.data.message : \"Attempt request failed.\");\n }\n return value;\n }\n}\n", "import { z } from \"zod\";\n\n/** The selected Project revision is retained independently of model artifacts.\n * Hosts resolve and authorize this reference before admitting execution. */\nexport const EvaluationProjectContextSchema = z.object({\n id: z.string().trim().min(1).max(240),\n revision: z.number().int().positive(),\n contentHash: z.string().regex(/^[a-f0-9]{64}$/),\n targetId: z.string().trim().min(1).max(240).nullable(),\n}).strict();\nexport type EvaluationProjectContext = z.infer<typeof EvaluationProjectContextSchema>;\n\nexport const EvaluationMessagesSchema = z.array(z.object({\n role: z.enum([\"system\", \"user\", \"assistant\"]),\n content: z.string().max(100_000),\n}).strict()).max(100).superRefine((messages, context) => {\n if (messages.reduce((total, message) => total + message.content.length, 0) > 100_000)\n context.addIssue({ code: \"custom\", message: \"Evaluation prompt exceeds 100,000 characters.\" });\n});\n", "import { z } from \"zod\";\nimport { FailureClassSchema, contentHash } from \"@openpond/harness\";\nimport { TaskGradeSchema } from \"@openpond/evals/graders\";\n\nexport const ExperimentAttemptGradeSchema = z.object({\n schemaVersion: z.literal(\"openpond.experimentAttemptGrade.v1\"), selectionHash: z.string().regex(/^[a-f0-9]{64}$/),\n grades: z.array(TaskGradeSchema).min(1).max(100), score: z.number().min(0).max(1).nullable(),\n passed: z.boolean(), rewardEligible: z.boolean(), gradingStatus: z.enum([\"scored\", \"unscorable\", \"not_configured\"]),\n failureClass: FailureClassSchema.nullable(), contentHash: z.string().regex(/^[a-f0-9]{64}$/),\n}).strict().superRefine((grade, context) => {\n const { contentHash: actual, ...body } = grade;\n if (contentHash(body) !== actual) context.addIssue({ code: \"custom\", message: \"Experiment grading integrity failed.\" });\n const components = grade.grades.flatMap(value => value.components);\n if (components.length !== grade.grades.length || new Set(components.map(component => component.graderId)).size !== components.length)\n context.addIssue({ code: \"custom\", message: \"Each selected criterion requires exactly one distinct grader result.\" });\n for (const item of grade.grades) {\n const { contentHash: itemHash, ...itemBody } = item;\n if (contentHash(itemBody) !== itemHash) context.addIssue({ code: \"custom\", message: \"A retained criterion changed.\" });\n for (const component of item.components) {\n const { contentHash: componentHash, ...componentBody } = component;\n if (contentHash(componentBody) !== componentHash) context.addIssue({ code: \"custom\", message: \"A retained grader result changed.\" });\n }\n }\n});\nexport type ExperimentAttemptGrade = z.infer<typeof ExperimentAttemptGradeSchema>;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["z", "TaskGradeSchema", "z", "z", "z", "TaskGradeSchema", "contentHash"]
|
|
7
|
-
}
|
|
File without changes
|