openpond-sdk 0.12.23 → 0.12.25
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/PRODUCT_INTEGRATION.md +134 -0
- package/README.md +12 -1
- package/TASK_INGESTION.md +88 -86
- package/TRAINING_PROTOCOL.md +6 -2
- package/TRAINING_WORKFLOWS.md +16 -0
- package/dist/advanced-refiner-evaluations.js +3 -3
- package/dist/ai-sdk.js +224 -0
- package/dist/ai-sdk.js.map +1 -0
- package/dist/{chunk-NZRGRUYG.js → chunk-2OVNKPBZ.js} +17 -6
- package/dist/chunk-2OVNKPBZ.js.map +1 -0
- package/dist/{chunk-QIGMNB6M.js → chunk-3G3HUA32.js} +3 -3
- package/dist/{chunk-7G47YXQT.js → chunk-3MWFN7BA.js} +2 -2
- package/dist/{chunk-3BYFS4RO.js → chunk-47THZRUM.js} +5 -5
- package/dist/chunk-BRP3EBCR.js +245 -0
- package/dist/chunk-BRP3EBCR.js.map +1 -0
- package/dist/{chunk-BNBPKCIR.js → chunk-DDCR4KB5.js} +4 -4
- package/dist/{chunk-ZQ6QTYRE.js → chunk-GV6DEDBU.js} +10 -10
- package/dist/{chunk-ZQ6QTYRE.js.map → chunk-GV6DEDBU.js.map} +1 -1
- package/dist/{chunk-QCRNQMN4.js → chunk-IXFUYPGV.js} +2 -2
- package/dist/{chunk-Q4RGCEOI.js → chunk-JOMZJXGC.js} +3 -3
- package/dist/{chunk-OBI2MQYU.js → chunk-QRYEXPG7.js} +7 -7
- package/dist/{chunk-6EZAGTZG.js → chunk-RN5MK7NH.js} +4 -4
- package/dist/{chunk-GCUWJUUM.js → chunk-RTLJV4OS.js} +2 -2
- package/dist/{chunk-GBDBKGXW.js → chunk-T67LNKAK.js} +3 -3
- package/dist/{chunk-SP7DQEQM.js → chunk-XBFOFTK3.js} +5 -5
- package/dist/{chunk-AG6UJ3DI.js → chunk-YS7DF76T.js} +2 -2
- package/dist/{chunk-LEVXD73U.js → chunk-Z5APNTZE.js} +197 -190
- package/dist/chunk-Z5APNTZE.js.map +1 -0
- package/dist/connected-evidence.js +8 -8
- package/dist/dataset-workspaces.js +146 -85
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/experiment-evaluation-schedules.js +11 -11
- package/dist/experiments.js +15 -15
- package/dist/index.js +71 -44
- package/dist/index.js.map +1 -1
- package/dist/model-starter-catalog.js +2 -2
- package/dist/model-starters.js +2 -2
- package/dist/taskset-drafts.js +7 -7
- package/dist/taskset-packages.js +13 -13
- package/dist/training-bundle.js +12 -12
- package/dist/training.js +1936 -1809
- package/dist/training.js.map +1 -1
- package/dist/types/packages/sdk/src/ai-sdk.d.ts +6 -0
- package/dist/types/packages/sdk/src/ai-sdk.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +21 -21
- package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts +8 -1
- package/dist/types/packages/sdk/src/dataset-task-ingestion.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +140 -140
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-error.d.ts +28 -0
- package/dist/types/packages/sdk/src/dataset-workspace-error.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts +1 -0
- package/dist/types/packages/sdk/src/dataset-workspaces.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +636 -636
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +124 -34
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +28 -28
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +1622 -1622
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +7 -7
- package/dist/types/packages/sdk/src/index.d.ts +13 -4
- package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +347 -347
- package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts +242 -21
- package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +25 -25
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +28 -28
- package/dist/types/packages/sdk/src/neuron-training-artifact.d.ts +42 -3
- package/dist/types/packages/sdk/src/neuron-training-artifact.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/neuron-training-experiment-draft.d.ts +16 -1
- package/dist/types/packages/sdk/src/neuron-training-experiment-draft.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts +168 -16
- package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/neuron-training-result.d.ts +42 -3
- package/dist/types/packages/sdk/src/neuron-training-result.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/neuron-training.d.ts +23 -2
- package/dist/types/packages/sdk/src/neuron-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +7 -7
- package/dist/types/packages/sdk/src/product-model-response.d.ts +4 -0
- package/dist/types/packages/sdk/src/product-model-response.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/product-models.d.ts +76 -0
- package/dist/types/packages/sdk/src/product-models.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts +42 -4
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/steering-profile-publication.d.ts +84 -8
- package/dist/types/packages/sdk/src/steering-profile-publication.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +20 -20
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +20 -20
- package/dist/types/packages/sdk/src/training-evidence.d.ts +54 -0
- package/dist/types/packages/sdk/src/training-evidence.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts +42 -2
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-harness-sources.d.ts +2 -2
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +40 -40
- package/dist/types/packages/sdk/src/training-preparations.d.ts +1770 -485
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +25 -25
- package/dist/types/packages/sdk/src/training-usage-funding.d.ts +23 -0
- package/dist/types/packages/sdk/src/training-usage-funding.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training.d.ts +5189 -4445
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/types.d.ts +14 -1
- package/dist/types/packages/sdk/src/types.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/weight-experiment-authoring.d.ts +5 -2
- package/dist/types/packages/sdk/src/weight-experiment-authoring.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/weight-model-versions.d.ts +168 -16
- package/dist/types/packages/sdk/src/weight-model-versions.d.ts.map +1 -1
- package/fixtures/personalized-inference-request.schema.json +316 -0
- package/fixtures/python-foundation/schemas.json +8750 -8351
- package/package.json +18 -3
- package/dist/chunk-LEVXD73U.js.map +0 -1
- package/dist/chunk-NZRGRUYG.js.map +0 -1
- /package/dist/{chunk-QIGMNB6M.js.map → chunk-3G3HUA32.js.map} +0 -0
- /package/dist/{chunk-7G47YXQT.js.map → chunk-3MWFN7BA.js.map} +0 -0
- /package/dist/{chunk-3BYFS4RO.js.map → chunk-47THZRUM.js.map} +0 -0
- /package/dist/{chunk-BNBPKCIR.js.map → chunk-DDCR4KB5.js.map} +0 -0
- /package/dist/{chunk-QCRNQMN4.js.map → chunk-IXFUYPGV.js.map} +0 -0
- /package/dist/{chunk-Q4RGCEOI.js.map → chunk-JOMZJXGC.js.map} +0 -0
- /package/dist/{chunk-OBI2MQYU.js.map → chunk-QRYEXPG7.js.map} +0 -0
- /package/dist/{chunk-6EZAGTZG.js.map → chunk-RN5MK7NH.js.map} +0 -0
- /package/dist/{chunk-GCUWJUUM.js.map → chunk-RTLJV4OS.js.map} +0 -0
- /package/dist/{chunk-GBDBKGXW.js.map → chunk-T67LNKAK.js.map} +0 -0
- /package/dist/{chunk-SP7DQEQM.js.map → chunk-XBFOFTK3.js.map} +0 -0
- /package/dist/{chunk-AG6UJ3DI.js.map → chunk-YS7DF76T.js.map} +0 -0
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
validateModelStarterExecution,
|
|
7
7
|
validateModelTasksetPackage,
|
|
8
8
|
validateTasksetPackage
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GV6DEDBU.js";
|
|
10
10
|
import {
|
|
11
11
|
ModelProjectBaseModelSchema,
|
|
12
12
|
ModelProjectRecipeDocumentSchema,
|
|
@@ -443,4 +443,4 @@ export {
|
|
|
443
443
|
previewModelStarter,
|
|
444
444
|
validateResolvedModelStarter
|
|
445
445
|
};
|
|
446
|
-
//# sourceMappingURL=chunk-
|
|
446
|
+
//# sourceMappingURL=chunk-IXFUYPGV.js.map
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
computeTasksetHash,
|
|
6
6
|
draftPublishIssues,
|
|
7
7
|
validateTaskset
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-RTLJV4OS.js";
|
|
9
9
|
import {
|
|
10
10
|
TaskDataRecordSchema
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-GV6DEDBU.js";
|
|
12
12
|
import {
|
|
13
13
|
TasksetDraftFileContentSchema,
|
|
14
14
|
TasksetDraftFileMutationSchema,
|
|
@@ -487,4 +487,4 @@ export {
|
|
|
487
487
|
tasksetDraftFromTaskset,
|
|
488
488
|
publishTasksetDraft
|
|
489
489
|
};
|
|
490
|
-
//# sourceMappingURL=chunk-
|
|
490
|
+
//# sourceMappingURL=chunk-JOMZJXGC.js.map
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
validateTasksetPackage
|
|
3
|
-
} from "./chunk-ZQ6QTYRE.js";
|
|
4
|
-
import {
|
|
5
|
-
RunExperimentSchema
|
|
6
|
-
} from "./chunk-ZQFROKKS.js";
|
|
7
1
|
import {
|
|
8
2
|
ExperimentScoringRequestSchema,
|
|
9
3
|
verifyExperimentScoringPass
|
|
@@ -11,6 +5,12 @@ import {
|
|
|
11
5
|
import {
|
|
12
6
|
fetchConnectedJson
|
|
13
7
|
} from "./chunk-O6FKHAWN.js";
|
|
8
|
+
import {
|
|
9
|
+
validateTasksetPackage
|
|
10
|
+
} from "./chunk-GV6DEDBU.js";
|
|
11
|
+
import {
|
|
12
|
+
RunExperimentSchema
|
|
13
|
+
} from "./chunk-ZQFROKKS.js";
|
|
14
14
|
import {
|
|
15
15
|
ExperimentExecutionContextSchema,
|
|
16
16
|
ExperimentFieldMappingsSchema,
|
|
@@ -652,4 +652,4 @@ export {
|
|
|
652
652
|
ProfileEvaluationDiscoveryRequestSchema,
|
|
653
653
|
OpenPondProfileEvaluationDiscoveryClient
|
|
654
654
|
};
|
|
655
|
-
//# sourceMappingURL=chunk-
|
|
655
|
+
//# sourceMappingURL=chunk-QRYEXPG7.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ExperimentImprovementOptionsSchema
|
|
3
|
+
} from "./chunk-QNOCM5JX.js";
|
|
1
4
|
import {
|
|
2
5
|
EvaluationCoordinationTransport
|
|
3
6
|
} from "./chunk-3B5KSH3V.js";
|
|
4
7
|
import {
|
|
5
8
|
ChatModelRefSchema
|
|
6
9
|
} from "./chunk-H3367ISL.js";
|
|
7
|
-
import {
|
|
8
|
-
ExperimentImprovementOptionsSchema
|
|
9
|
-
} from "./chunk-QNOCM5JX.js";
|
|
10
10
|
import {
|
|
11
11
|
ImmutableReleaseRefSchema,
|
|
12
12
|
contentHash
|
|
@@ -264,4 +264,4 @@ export {
|
|
|
264
264
|
AdvancedRefinerEvaluationAccountingSchema,
|
|
265
265
|
OpenPondAdvancedRefinerEvaluationClient
|
|
266
266
|
};
|
|
267
|
-
//# sourceMappingURL=chunk-
|
|
267
|
+
//# sourceMappingURL=chunk-RN5MK7NH.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
TasksetPreferenceComparisonBindingSchema,
|
|
12
12
|
TasksetPurposeSchema,
|
|
13
13
|
TasksetSourceRefSchema
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GV6DEDBU.js";
|
|
15
15
|
import {
|
|
16
16
|
ModelTasksetDraftPreparationSchema
|
|
17
17
|
} from "./chunk-TK3DXH7A.js";
|
|
@@ -910,4 +910,4 @@ export {
|
|
|
910
910
|
computeTasksetHash,
|
|
911
911
|
validatePortability
|
|
912
912
|
};
|
|
913
|
-
//# sourceMappingURL=chunk-
|
|
913
|
+
//# sourceMappingURL=chunk-RTLJV4OS.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
TasksetSchema,
|
|
3
3
|
computeTasksetHash,
|
|
4
4
|
createTasksetDraft
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RTLJV4OS.js";
|
|
6
6
|
import {
|
|
7
7
|
GraderFixtureSchema,
|
|
8
8
|
GraderSpecSchema,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
decodeTasksetPackageFile,
|
|
12
12
|
resolveTasksetPackageInstructions,
|
|
13
13
|
validateTasksetPackage
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-GV6DEDBU.js";
|
|
15
15
|
import {
|
|
16
16
|
contentHash
|
|
17
17
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -266,4 +266,4 @@ export {
|
|
|
266
266
|
prepareImportedTasksetPackage,
|
|
267
267
|
tasksetPackageSourceId
|
|
268
268
|
};
|
|
269
|
-
//# sourceMappingURL=chunk-
|
|
269
|
+
//# sourceMappingURL=chunk-T67LNKAK.js.map
|
|
@@ -9,16 +9,16 @@ import {
|
|
|
9
9
|
} from "./chunk-GPQLBVQC.js";
|
|
10
10
|
import {
|
|
11
11
|
AuthoredTasksetFileInventorySchema
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DDCR4KB5.js";
|
|
13
13
|
import {
|
|
14
14
|
configuredTasksetDraftFiles,
|
|
15
15
|
createTasksetDraftWorkspace,
|
|
16
16
|
decodeTasksetDraftWorkspaceFile,
|
|
17
17
|
isManagedTasksetDraftFilePath
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JOMZJXGC.js";
|
|
19
19
|
import {
|
|
20
20
|
TasksetDraftSchema
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-RTLJV4OS.js";
|
|
22
22
|
import {
|
|
23
23
|
compileModelTasksetReward,
|
|
24
24
|
createTasksetPackage,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
resolveTasksetPackageExecution,
|
|
27
27
|
resolveTasksetPackageInstructions,
|
|
28
28
|
validateTasksetPackage
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-GV6DEDBU.js";
|
|
30
30
|
import {
|
|
31
31
|
ModelTasksetDraftPreparationSchema,
|
|
32
32
|
TasksetDraftFilePathSchema
|
|
@@ -698,4 +698,4 @@ export {
|
|
|
698
698
|
prepareTasksetDraftSource,
|
|
699
699
|
materializeTasksetDraftWorkspace
|
|
700
700
|
};
|
|
701
|
-
//# sourceMappingURL=chunk-
|
|
701
|
+
//# sourceMappingURL=chunk-XBFOFTK3.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TasksetDraftWorkspaceSchema
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JOMZJXGC.js";
|
|
4
4
|
import {
|
|
5
5
|
TasksetCatalogReleaseRefSchema
|
|
6
6
|
} from "./chunk-Z252BNAZ.js";
|
|
@@ -178,4 +178,4 @@ export {
|
|
|
178
178
|
ConnectedStartingAssetsReceiptSchema,
|
|
179
179
|
verifyConnectedStartingAssetsReceipt
|
|
180
180
|
};
|
|
181
|
-
//# sourceMappingURL=chunk-
|
|
181
|
+
//# sourceMappingURL=chunk-YS7DF76T.js.map
|
|
@@ -17,35 +17,159 @@ import {
|
|
|
17
17
|
canonicalSha256
|
|
18
18
|
} from "./chunk-B3ZHJ2KK.js";
|
|
19
19
|
|
|
20
|
-
// src/
|
|
20
|
+
// src/training-recovery.ts
|
|
21
21
|
import { z } from "zod";
|
|
22
|
-
var
|
|
23
|
-
var
|
|
22
|
+
var id = z.string().trim().min(1).max(191);
|
|
23
|
+
var hash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
24
|
+
var ApprovalBodySchema = z.object({
|
|
25
|
+
schemaVersion: z.literal("openpond.checkpointRecoveryResourceApproval.v1"),
|
|
26
|
+
ownerUserId: id,
|
|
27
|
+
teamId: id,
|
|
28
|
+
sourceJobId: id,
|
|
29
|
+
sourceJobVersion: z.number().int().positive(),
|
|
30
|
+
sourceInputManifestSha256: hash,
|
|
31
|
+
checkpointId: id,
|
|
32
|
+
adapterSha256: hash,
|
|
33
|
+
resumeSha256: hash,
|
|
34
|
+
idempotencyKey: z.string().trim().min(16).max(191),
|
|
35
|
+
approvedAt: z.iso.datetime({ offset: true }),
|
|
36
|
+
maximumSpendUsd: z.number().positive().finite().max(30).refine(
|
|
37
|
+
(value) => Number(value.toFixed(6)) === value,
|
|
38
|
+
"Recovery spend must use whole microdollars"
|
|
39
|
+
),
|
|
40
|
+
maximumGpuSeconds: z.number().int().positive().max(21600),
|
|
41
|
+
maximumWallSeconds: z.number().int().positive().max(21600)
|
|
42
|
+
}).strict();
|
|
43
|
+
var TrainingCheckpointRecoveryResourceApprovalSchema = ApprovalBodySchema.extend({
|
|
44
|
+
approvalHash: hash
|
|
45
|
+
}).strict().superRefine((value, context) => {
|
|
46
|
+
if (value.maximumGpuSeconds > value.maximumWallSeconds)
|
|
47
|
+
context.addIssue({
|
|
48
|
+
code: "custom",
|
|
49
|
+
path: ["maximumGpuSeconds"],
|
|
50
|
+
message: "Recovery GPU duration exceeds its wall"
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
async function createTrainingCheckpointRecoveryResourceApproval(input) {
|
|
54
|
+
const body = ApprovalBodySchema.parse(input);
|
|
55
|
+
return TrainingCheckpointRecoveryResourceApprovalSchema.parse({
|
|
56
|
+
...body,
|
|
57
|
+
approvalHash: await canonicalSha256(body)
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
var TrainingCheckpointRecoveryRequestSchema = z.object({
|
|
61
|
+
resourceApproval: TrainingCheckpointRecoveryResourceApprovalSchema.optional(),
|
|
62
|
+
mode: z.literal("evaluation_only").optional(),
|
|
63
|
+
evaluationGpuType: z.enum(["NVIDIA A100 80GB PCIe", "NVIDIA A100-SXM4-80GB", "NVIDIA H100 80GB HBM3"]).optional(),
|
|
64
|
+
expectedVersion: z.number().int().positive(),
|
|
65
|
+
checkpointId: id,
|
|
66
|
+
idempotencyKey: z.string().trim().min(16).max(191),
|
|
67
|
+
maximumSpendUsd: z.number().positive().finite(),
|
|
68
|
+
maximumWallSeconds: z.number().int().positive().max(21600)
|
|
69
|
+
}).strict().superRefine((value, context) => {
|
|
70
|
+
if (value.evaluationGpuType && value.mode !== "evaluation_only")
|
|
71
|
+
context.addIssue({
|
|
72
|
+
code: "custom",
|
|
73
|
+
path: ["evaluationGpuType"],
|
|
74
|
+
message: "GPU substitution requires explicit evaluation-only recovery"
|
|
75
|
+
});
|
|
76
|
+
const a = value.resourceApproval;
|
|
77
|
+
if (a && (a.sourceJobVersion !== value.expectedVersion || a.checkpointId !== value.checkpointId || a.idempotencyKey !== value.idempotencyKey || a.maximumSpendUsd !== value.maximumSpendUsd || a.maximumWallSeconds !== value.maximumWallSeconds))
|
|
78
|
+
context.addIssue({
|
|
79
|
+
code: "custom",
|
|
80
|
+
path: ["resourceApproval"],
|
|
81
|
+
message: "Recovery resource approval does not match its request"
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// src/training-physical-placement.ts
|
|
86
|
+
import { z as z2 } from "zod";
|
|
87
|
+
var TrainingPhysicalPlacementSchema = z2.object({
|
|
88
|
+
mode: z2.literal("reuse_only"),
|
|
89
|
+
physicalWorkerId: z2.string().trim().min(1).max(191),
|
|
90
|
+
providerPodId: z2.string().trim().min(1).max(191),
|
|
91
|
+
workerImageDigest: z2.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
92
|
+
baseProfileSha256: z2.string().regex(/^[a-f0-9]{64}$/),
|
|
93
|
+
gpuType: z2.string().trim().min(1).max(200),
|
|
94
|
+
sourceJobId: z2.string().trim().min(1).max(191),
|
|
95
|
+
sourceInputManifestSha256: z2.string().regex(/^[a-f0-9]{64}$/),
|
|
96
|
+
ownerTeamId: z2.string().trim().min(1).max(191),
|
|
97
|
+
deadlineAt: z2.string().datetime({ offset: true })
|
|
98
|
+
}).strict();
|
|
99
|
+
|
|
100
|
+
// src/training-queue.ts
|
|
101
|
+
import { z as z3 } from "zod";
|
|
102
|
+
var Timestamp = z3.string().datetime({ offset: true });
|
|
103
|
+
var TrainingQueueStatusSchema = z3.object({
|
|
104
|
+
ticketId: z3.string().trim().min(1).max(191),
|
|
105
|
+
ticketNumber: z3.number().int().positive().max(Number.MAX_SAFE_INTEGER),
|
|
106
|
+
label: z3.literal("Waiting for resources"),
|
|
107
|
+
position: z3.number().int().positive().nullable(),
|
|
108
|
+
positionScope: z3.literal("compatible_fair_queue"),
|
|
109
|
+
enqueuedAt: Timestamp,
|
|
110
|
+
asOf: Timestamp,
|
|
111
|
+
estimate: z3.object({
|
|
112
|
+
revision: z3.number().int().nonnegative(),
|
|
113
|
+
estimatedStartAt: Timestamp,
|
|
114
|
+
expiresAt: Timestamp,
|
|
115
|
+
evidence: z3.enum(["observed_capacity", "measured_bootstrap", "scheduled_release"])
|
|
116
|
+
}).strict().nullable()
|
|
117
|
+
}).strict().superRefine((value, context) => {
|
|
118
|
+
if (value.estimate && Date.parse(value.estimate.expiresAt) <= Date.parse(value.asOf))
|
|
119
|
+
context.addIssue({ code: "custom", path: ["estimate"], message: "An expired queue forecast must be returned as unavailable" });
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
// src/training-usage-status.ts
|
|
123
|
+
import { z as z4 } from "zod";
|
|
124
|
+
var Money = z4.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine((value) => /^(0|[1-9]\d*)\.\d{6}$/.test(value) && value.length <= 24 && BigInt(value.replace(".", "")) <= BigInt(Number.MAX_SAFE_INTEGER));
|
|
125
|
+
var TrainingUsageSnapshotSchema = z4.object({
|
|
126
|
+
schemaVersion: z4.literal("openpond.trainingUsageSnapshot.v1"),
|
|
127
|
+
asOf: z4.iso.datetime(),
|
|
128
|
+
customerCapUsd: Money.nullable(),
|
|
129
|
+
chargedUsd: Money,
|
|
130
|
+
committedUsd: Money,
|
|
131
|
+
outstandingUsd: Money,
|
|
132
|
+
remainingCapUsd: Money.nullable(),
|
|
133
|
+
availableCreditUsd: Money,
|
|
134
|
+
complete: z4.boolean(),
|
|
135
|
+
components: z4.array(z4.object({
|
|
136
|
+
component: z4.enum(["gpu", "guest", "storage", "judge"]),
|
|
137
|
+
chargedUsd: Money,
|
|
138
|
+
committedUsd: Money,
|
|
139
|
+
outstandingUsd: Money,
|
|
140
|
+
openOwners: z4.number().int().nonnegative()
|
|
141
|
+
}).strict()).length(4).refine((values) => values.every((value, index) => value.component === ["gpu", "guest", "storage", "judge"][index]))
|
|
142
|
+
}).strict();
|
|
143
|
+
|
|
144
|
+
// src/managed-compute-price.ts
|
|
145
|
+
import { z as z5 } from "zod";
|
|
146
|
+
var Hash = z5.string().regex(/^[a-f0-9]{64}$/);
|
|
147
|
+
var Money2 = z5.string().regex(/^(0|[1-9]\d*)(\.\d{1,6})?$/).max(24);
|
|
24
148
|
var micros = (value) => {
|
|
25
|
-
const [whole, fraction = ""] =
|
|
149
|
+
const [whole, fraction = ""] = Money2.parse(value).split(".");
|
|
26
150
|
return BigInt(whole) * 1000000n + BigInt(fraction.padEnd(6, "0"));
|
|
27
151
|
};
|
|
28
|
-
var ComputeAppliedPriceSchema =
|
|
29
|
-
schemaVersion:
|
|
30
|
-
version:
|
|
31
|
-
service:
|
|
152
|
+
var ComputeAppliedPriceSchema = z5.object({
|
|
153
|
+
schemaVersion: z5.literal("openpond.computeAppliedPrice.v1"),
|
|
154
|
+
version: z5.string().min(1).max(500),
|
|
155
|
+
service: z5.enum(["managed_rl", "model_modification", "model_serving", "sandbox"]),
|
|
32
156
|
profileHash: Hash,
|
|
33
|
-
currency:
|
|
34
|
-
unit:
|
|
35
|
-
hourlyUsd:
|
|
36
|
-
if (!
|
|
157
|
+
currency: z5.literal("USD"),
|
|
158
|
+
unit: z5.literal("resource_hour"),
|
|
159
|
+
hourlyUsd: Money2.refine((value) => {
|
|
160
|
+
if (!Money2.safeParse(value).success) return false;
|
|
37
161
|
const amount = micros(value);
|
|
38
162
|
return amount > 0n && amount <= BigInt(Number.MAX_SAFE_INTEGER);
|
|
39
163
|
})
|
|
40
164
|
}).strict();
|
|
41
|
-
var ManagedModificationPriceSchema =
|
|
42
|
-
schemaVersion:
|
|
43
|
-
appliedPrice: ComputeAppliedPriceSchema.extend({ service:
|
|
44
|
-
billingBoundary:
|
|
45
|
-
startupBillable:
|
|
46
|
-
postCompletionIdleBillable:
|
|
47
|
-
minimumBillableSeconds:
|
|
48
|
-
warmReuseSeconds:
|
|
165
|
+
var ManagedModificationPriceSchema = z5.object({
|
|
166
|
+
schemaVersion: z5.literal("openpond.modificationPrice.v1"),
|
|
167
|
+
appliedPrice: ComputeAppliedPriceSchema.extend({ service: z5.literal("model_modification") }),
|
|
168
|
+
billingBoundary: z5.literal("active_allocation_until_verified_cleanup"),
|
|
169
|
+
startupBillable: z5.literal(true),
|
|
170
|
+
postCompletionIdleBillable: z5.literal(false),
|
|
171
|
+
minimumBillableSeconds: z5.literal(0),
|
|
172
|
+
warmReuseSeconds: z5.literal(300)
|
|
49
173
|
}).strict();
|
|
50
174
|
function canonicalComputeSpendCap(value) {
|
|
51
175
|
if (value == null || value.trim() === "") return null;
|
|
@@ -63,25 +187,25 @@ async function managedModificationPriceApprovalMatches(plan, command) {
|
|
|
63
187
|
}
|
|
64
188
|
|
|
65
189
|
// src/training-usage-funding.ts
|
|
66
|
-
import { z as
|
|
67
|
-
var Id =
|
|
68
|
-
var Hash2 =
|
|
69
|
-
var Price = ComputeAppliedPriceSchema.extend({ service:
|
|
70
|
-
var Cap =
|
|
190
|
+
import { z as z6 } from "zod";
|
|
191
|
+
var Id = z6.string().min(1).max(500);
|
|
192
|
+
var Hash2 = z6.string().regex(/^[a-f0-9]{64}$/);
|
|
193
|
+
var Price = ComputeAppliedPriceSchema.extend({ service: z6.literal("managed_rl") });
|
|
194
|
+
var Cap = z6.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine((value) => {
|
|
71
195
|
if (!/^(0|[1-9]\d*)\.\d{6}$/.test(value) || value.length > 24) return false;
|
|
72
196
|
const micros2 = BigInt(value.replace(".", ""));
|
|
73
197
|
return micros2 > 0n && micros2 <= BigInt(Number.MAX_SAFE_INTEGER);
|
|
74
198
|
}).nullable();
|
|
75
|
-
var Guests =
|
|
199
|
+
var Guests = z6.array(z6.object({
|
|
76
200
|
profileHash: Hash2,
|
|
77
201
|
price: Price,
|
|
78
|
-
resources:
|
|
202
|
+
resources: z6.object({ cpu: z6.number().positive(), memoryGb: z6.number().positive(), diskGb: z6.number().nonnegative() }).strict()
|
|
79
203
|
}).strict()).max(32);
|
|
80
|
-
var Rate =
|
|
81
|
-
var Judges =
|
|
82
|
-
billing:
|
|
83
|
-
acceptedPricingHashes:
|
|
84
|
-
prices:
|
|
204
|
+
var Rate = z6.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine((value) => /^(0|[1-9]\d*)\.\d{6}$/.test(value) && value.length <= 24 && BigInt(value.replace(".", "")) <= BigInt(Number.MAX_SAFE_INTEGER));
|
|
205
|
+
var Judges = z6.object({
|
|
206
|
+
billing: z6.literal("existing_retail_child_captures"),
|
|
207
|
+
acceptedPricingHashes: z6.array(Hash2).max(64),
|
|
208
|
+
prices: z6.array(z6.object({
|
|
85
209
|
modelId: Id,
|
|
86
210
|
displayName: Id,
|
|
87
211
|
acceptedPricingHash: Hash2,
|
|
@@ -90,8 +214,8 @@ var Judges = z2.object({
|
|
|
90
214
|
outputUsdPerMillionTokens: Rate,
|
|
91
215
|
cacheWriteUsdPerMillionTokens: Rate.nullable(),
|
|
92
216
|
cacheWriteOneHourUsdPerMillionTokens: Rate.nullable(),
|
|
93
|
-
longContextThresholdTokens:
|
|
94
|
-
longContext:
|
|
217
|
+
longContextThresholdTokens: z6.number().int().positive().nullable(),
|
|
218
|
+
longContext: z6.object({
|
|
95
219
|
inputUsdPerMillionTokens: Rate,
|
|
96
220
|
cachedInputUsdPerMillionTokens: Rate,
|
|
97
221
|
outputUsdPerMillionTokens: Rate,
|
|
@@ -99,45 +223,51 @@ var Judges = z2.object({
|
|
|
99
223
|
}).strict().nullable()
|
|
100
224
|
}).strict()).max(64)
|
|
101
225
|
}).strict();
|
|
102
|
-
var TrainingBillingModesSchema =
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
mode:
|
|
106
|
-
availability:
|
|
107
|
-
reason:
|
|
226
|
+
var TrainingBillingModesSchema = z6.tuple([
|
|
227
|
+
z6.object({ mode: z6.literal("prepaid_only"), availability: z6.literal("available"), reason: z6.null() }).strict(),
|
|
228
|
+
z6.object({
|
|
229
|
+
mode: z6.literal("actual_usage"),
|
|
230
|
+
availability: z6.enum(["unavailable", "requires_preparation"]),
|
|
231
|
+
reason: z6.string().min(1).max(500).nullable()
|
|
108
232
|
}).strict()
|
|
109
233
|
]);
|
|
110
|
-
var TrainingUsageFundingRequestSchema =
|
|
111
|
-
schemaVersion:
|
|
112
|
-
billingMode:
|
|
234
|
+
var TrainingUsageFundingRequestSchema = z6.object({
|
|
235
|
+
schemaVersion: z6.literal("openpond.trainingUsageFundingRequest.v1"),
|
|
236
|
+
billingMode: z6.literal("actual_usage"),
|
|
113
237
|
customerCapUsd: Cap
|
|
114
238
|
}).strict();
|
|
115
|
-
var
|
|
116
|
-
|
|
239
|
+
var TrainingUsageQualificationRefSchema = z6.object({
|
|
240
|
+
authorizationId: z6.uuid(),
|
|
241
|
+
operationId: Id,
|
|
242
|
+
authorizationSha256: Hash2
|
|
243
|
+
}).strict();
|
|
244
|
+
var TrainingUsageQuoteContentSchema = z6.object({
|
|
245
|
+
schemaVersion: z6.literal("openpond.trainingUsageQuote.v1"),
|
|
117
246
|
teamId: Id,
|
|
118
247
|
actorUserId: Id,
|
|
119
248
|
preparationId: Id,
|
|
120
249
|
submissionHash: Hash2,
|
|
121
|
-
workerImageDigest:
|
|
250
|
+
workerImageDigest: z6.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
122
251
|
customerCapUsd: Cap,
|
|
123
|
-
maximumWallSeconds:
|
|
124
|
-
retentionDays:
|
|
252
|
+
maximumWallSeconds: z6.number().int().positive(),
|
|
253
|
+
retentionDays: z6.number().int().nonnegative(),
|
|
254
|
+
qualification: TrainingUsageQualificationRefSchema.optional(),
|
|
125
255
|
gpu: Price,
|
|
126
256
|
guests: Guests,
|
|
127
257
|
judges: Judges,
|
|
128
|
-
storage:
|
|
258
|
+
storage: z6.object({
|
|
129
259
|
price: Price,
|
|
130
|
-
storageClass:
|
|
131
|
-
quantityBasis:
|
|
132
|
-
onCreditExhaustion:
|
|
260
|
+
storageClass: z6.literal("STANDARD"),
|
|
261
|
+
quantityBasis: z6.literal("gib_milliseconds"),
|
|
262
|
+
onCreditExhaustion: z6.literal("retain_objects_and_stop_new_storage")
|
|
133
263
|
}).strict(),
|
|
134
|
-
gpuBillingBoundary:
|
|
135
|
-
storageBillingBoundary:
|
|
136
|
-
startupBillable:
|
|
137
|
-
postCompletionIdleBillable:
|
|
138
|
-
minimumBillableSeconds:
|
|
139
|
-
issuedAt:
|
|
140
|
-
expiresAt:
|
|
264
|
+
gpuBillingBoundary: z6.literal("active_allocation_until_verified_cleanup"),
|
|
265
|
+
storageBillingBoundary: z6.literal("accepted_retention_window"),
|
|
266
|
+
startupBillable: z6.literal(true),
|
|
267
|
+
postCompletionIdleBillable: z6.literal(false),
|
|
268
|
+
minimumBillableSeconds: z6.literal(0),
|
|
269
|
+
issuedAt: z6.iso.datetime(),
|
|
270
|
+
expiresAt: z6.iso.datetime()
|
|
141
271
|
}).strict();
|
|
142
272
|
var TrainingUsageQuoteSchema = TrainingUsageQuoteContentSchema.extend({ contentHash: Hash2, signature: Id }).strict();
|
|
143
273
|
async function verifyTrainingUsageQuote(raw, expected) {
|
|
@@ -147,130 +277,6 @@ async function verifyTrainingUsageQuote(raw, expected) {
|
|
|
147
277
|
return quote;
|
|
148
278
|
}
|
|
149
279
|
|
|
150
|
-
// src/training-recovery.ts
|
|
151
|
-
import { z as z3 } from "zod";
|
|
152
|
-
var id = z3.string().trim().min(1).max(191);
|
|
153
|
-
var hash = z3.string().regex(/^[a-f0-9]{64}$/);
|
|
154
|
-
var ApprovalBodySchema = z3.object({
|
|
155
|
-
schemaVersion: z3.literal("openpond.checkpointRecoveryResourceApproval.v1"),
|
|
156
|
-
ownerUserId: id,
|
|
157
|
-
teamId: id,
|
|
158
|
-
sourceJobId: id,
|
|
159
|
-
sourceJobVersion: z3.number().int().positive(),
|
|
160
|
-
sourceInputManifestSha256: hash,
|
|
161
|
-
checkpointId: id,
|
|
162
|
-
adapterSha256: hash,
|
|
163
|
-
resumeSha256: hash,
|
|
164
|
-
idempotencyKey: z3.string().trim().min(16).max(191),
|
|
165
|
-
approvedAt: z3.iso.datetime({ offset: true }),
|
|
166
|
-
maximumSpendUsd: z3.number().positive().finite().max(30).refine(
|
|
167
|
-
(value) => Number(value.toFixed(6)) === value,
|
|
168
|
-
"Recovery spend must use whole microdollars"
|
|
169
|
-
),
|
|
170
|
-
maximumGpuSeconds: z3.number().int().positive().max(21600),
|
|
171
|
-
maximumWallSeconds: z3.number().int().positive().max(21600)
|
|
172
|
-
}).strict();
|
|
173
|
-
var TrainingCheckpointRecoveryResourceApprovalSchema = ApprovalBodySchema.extend({
|
|
174
|
-
approvalHash: hash
|
|
175
|
-
}).strict().superRefine((value, context) => {
|
|
176
|
-
if (value.maximumGpuSeconds > value.maximumWallSeconds)
|
|
177
|
-
context.addIssue({
|
|
178
|
-
code: "custom",
|
|
179
|
-
path: ["maximumGpuSeconds"],
|
|
180
|
-
message: "Recovery GPU duration exceeds its wall"
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
async function createTrainingCheckpointRecoveryResourceApproval(input) {
|
|
184
|
-
const body = ApprovalBodySchema.parse(input);
|
|
185
|
-
return TrainingCheckpointRecoveryResourceApprovalSchema.parse({
|
|
186
|
-
...body,
|
|
187
|
-
approvalHash: await canonicalSha256(body)
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
var TrainingCheckpointRecoveryRequestSchema = z3.object({
|
|
191
|
-
resourceApproval: TrainingCheckpointRecoveryResourceApprovalSchema.optional(),
|
|
192
|
-
mode: z3.literal("evaluation_only").optional(),
|
|
193
|
-
evaluationGpuType: z3.enum(["NVIDIA A100 80GB PCIe", "NVIDIA A100-SXM4-80GB", "NVIDIA H100 80GB HBM3"]).optional(),
|
|
194
|
-
expectedVersion: z3.number().int().positive(),
|
|
195
|
-
checkpointId: id,
|
|
196
|
-
idempotencyKey: z3.string().trim().min(16).max(191),
|
|
197
|
-
maximumSpendUsd: z3.number().positive().finite(),
|
|
198
|
-
maximumWallSeconds: z3.number().int().positive().max(21600)
|
|
199
|
-
}).strict().superRefine((value, context) => {
|
|
200
|
-
if (value.evaluationGpuType && value.mode !== "evaluation_only")
|
|
201
|
-
context.addIssue({
|
|
202
|
-
code: "custom",
|
|
203
|
-
path: ["evaluationGpuType"],
|
|
204
|
-
message: "GPU substitution requires explicit evaluation-only recovery"
|
|
205
|
-
});
|
|
206
|
-
const a = value.resourceApproval;
|
|
207
|
-
if (a && (a.sourceJobVersion !== value.expectedVersion || a.checkpointId !== value.checkpointId || a.idempotencyKey !== value.idempotencyKey || a.maximumSpendUsd !== value.maximumSpendUsd || a.maximumWallSeconds !== value.maximumWallSeconds))
|
|
208
|
-
context.addIssue({
|
|
209
|
-
code: "custom",
|
|
210
|
-
path: ["resourceApproval"],
|
|
211
|
-
message: "Recovery resource approval does not match its request"
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
// src/training-physical-placement.ts
|
|
216
|
-
import { z as z4 } from "zod";
|
|
217
|
-
var TrainingPhysicalPlacementSchema = z4.object({
|
|
218
|
-
mode: z4.literal("reuse_only"),
|
|
219
|
-
physicalWorkerId: z4.string().trim().min(1).max(191),
|
|
220
|
-
providerPodId: z4.string().trim().min(1).max(191),
|
|
221
|
-
workerImageDigest: z4.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
222
|
-
baseProfileSha256: z4.string().regex(/^[a-f0-9]{64}$/),
|
|
223
|
-
gpuType: z4.string().trim().min(1).max(200),
|
|
224
|
-
sourceJobId: z4.string().trim().min(1).max(191),
|
|
225
|
-
sourceInputManifestSha256: z4.string().regex(/^[a-f0-9]{64}$/),
|
|
226
|
-
ownerTeamId: z4.string().trim().min(1).max(191),
|
|
227
|
-
deadlineAt: z4.string().datetime({ offset: true })
|
|
228
|
-
}).strict();
|
|
229
|
-
|
|
230
|
-
// src/training-queue.ts
|
|
231
|
-
import { z as z5 } from "zod";
|
|
232
|
-
var Timestamp = z5.string().datetime({ offset: true });
|
|
233
|
-
var TrainingQueueStatusSchema = z5.object({
|
|
234
|
-
ticketId: z5.string().trim().min(1).max(191),
|
|
235
|
-
ticketNumber: z5.number().int().positive().max(Number.MAX_SAFE_INTEGER),
|
|
236
|
-
label: z5.literal("Waiting for resources"),
|
|
237
|
-
position: z5.number().int().positive().nullable(),
|
|
238
|
-
positionScope: z5.literal("compatible_fair_queue"),
|
|
239
|
-
enqueuedAt: Timestamp,
|
|
240
|
-
asOf: Timestamp,
|
|
241
|
-
estimate: z5.object({
|
|
242
|
-
revision: z5.number().int().nonnegative(),
|
|
243
|
-
estimatedStartAt: Timestamp,
|
|
244
|
-
expiresAt: Timestamp,
|
|
245
|
-
evidence: z5.enum(["observed_capacity", "measured_bootstrap", "scheduled_release"])
|
|
246
|
-
}).strict().nullable()
|
|
247
|
-
}).strict().superRefine((value, context) => {
|
|
248
|
-
if (value.estimate && Date.parse(value.estimate.expiresAt) <= Date.parse(value.asOf))
|
|
249
|
-
context.addIssue({ code: "custom", path: ["estimate"], message: "An expired queue forecast must be returned as unavailable" });
|
|
250
|
-
});
|
|
251
|
-
|
|
252
|
-
// src/training-usage-status.ts
|
|
253
|
-
import { z as z6 } from "zod";
|
|
254
|
-
var Money2 = z6.string().regex(/^(0|[1-9]\d*)\.\d{6}$/).max(24).refine((value) => /^(0|[1-9]\d*)\.\d{6}$/.test(value) && value.length <= 24 && BigInt(value.replace(".", "")) <= BigInt(Number.MAX_SAFE_INTEGER));
|
|
255
|
-
var TrainingUsageSnapshotSchema = z6.object({
|
|
256
|
-
schemaVersion: z6.literal("openpond.trainingUsageSnapshot.v1"),
|
|
257
|
-
asOf: z6.iso.datetime(),
|
|
258
|
-
customerCapUsd: Money2.nullable(),
|
|
259
|
-
chargedUsd: Money2,
|
|
260
|
-
committedUsd: Money2,
|
|
261
|
-
outstandingUsd: Money2,
|
|
262
|
-
remainingCapUsd: Money2.nullable(),
|
|
263
|
-
availableCreditUsd: Money2,
|
|
264
|
-
complete: z6.boolean(),
|
|
265
|
-
components: z6.array(z6.object({
|
|
266
|
-
component: z6.enum(["gpu", "guest", "storage", "judge"]),
|
|
267
|
-
chargedUsd: Money2,
|
|
268
|
-
committedUsd: Money2,
|
|
269
|
-
outstandingUsd: Money2,
|
|
270
|
-
openOwners: z6.number().int().nonnegative()
|
|
271
|
-
}).strict()).length(4).refine((values) => values.every((value, index) => value.component === ["gpu", "guest", "storage", "judge"][index]))
|
|
272
|
-
}).strict();
|
|
273
|
-
|
|
274
280
|
// src/training-job-contracts.ts
|
|
275
281
|
import { z as z7 } from "zod";
|
|
276
282
|
import { TrainingHandoffOriginSchema } from "@openpond/evals/learning";
|
|
@@ -811,6 +817,12 @@ async function trainingEvaluationSourceRef(input) {
|
|
|
811
817
|
}
|
|
812
818
|
|
|
813
819
|
export {
|
|
820
|
+
TrainingCheckpointRecoveryResourceApprovalSchema,
|
|
821
|
+
createTrainingCheckpointRecoveryResourceApproval,
|
|
822
|
+
TrainingCheckpointRecoveryRequestSchema,
|
|
823
|
+
TrainingPhysicalPlacementSchema,
|
|
824
|
+
TrainingQueueStatusSchema,
|
|
825
|
+
TrainingUsageSnapshotSchema,
|
|
814
826
|
ComputeAppliedPriceSchema,
|
|
815
827
|
ManagedModificationPriceSchema,
|
|
816
828
|
canonicalComputeSpendCap,
|
|
@@ -818,15 +830,10 @@ export {
|
|
|
818
830
|
managedModificationPriceApprovalMatches,
|
|
819
831
|
TrainingBillingModesSchema,
|
|
820
832
|
TrainingUsageFundingRequestSchema,
|
|
833
|
+
TrainingUsageQualificationRefSchema,
|
|
821
834
|
TrainingUsageQuoteContentSchema,
|
|
822
835
|
TrainingUsageQuoteSchema,
|
|
823
836
|
verifyTrainingUsageQuote,
|
|
824
|
-
TrainingCheckpointRecoveryResourceApprovalSchema,
|
|
825
|
-
createTrainingCheckpointRecoveryResourceApproval,
|
|
826
|
-
TrainingCheckpointRecoveryRequestSchema,
|
|
827
|
-
TrainingPhysicalPlacementSchema,
|
|
828
|
-
TrainingQueueStatusSchema,
|
|
829
|
-
TrainingUsageSnapshotSchema,
|
|
830
837
|
TrainingInputArtifactUploadSchema,
|
|
831
838
|
TrainingInputArtifactSchema,
|
|
832
839
|
trainingInputArtifactUploadHash,
|
|
@@ -865,4 +872,4 @@ export {
|
|
|
865
872
|
assertTrainingEvaluationIsolation,
|
|
866
873
|
trainingEvaluationSourceRef
|
|
867
874
|
};
|
|
868
|
-
//# sourceMappingURL=chunk-
|
|
875
|
+
//# sourceMappingURL=chunk-Z5APNTZE.js.map
|