openpond-sdk 0.12.14 → 0.12.16
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/TRAINING_WORKFLOWS.md +497 -4
- package/dist/advanced-refiner-evaluations.js +7 -7
- package/dist/candidate-evaluations.js +6 -6
- package/dist/{chunk-TLSP5JKG.js → chunk-3BYFS4RO.js} +2 -2
- package/dist/{chunk-XRBM6PBD.js → chunk-3MDNVNBM.js} +5 -5
- package/dist/{chunk-CNREFTAV.js → chunk-3VUF5H3B.js} +2 -2
- package/dist/{chunk-LHHHJIDR.js → chunk-626JLH4D.js} +2 -2
- package/dist/{chunk-Q4TKI2MV.js → chunk-774OWTCD.js} +63 -80
- package/dist/chunk-774OWTCD.js.map +1 -0
- package/dist/{chunk-HAQPGTQ4.js → chunk-7F43U2NC.js} +2 -2
- package/dist/{chunk-ORYA2G7S.js → chunk-7G47YXQT.js} +3 -3
- package/dist/{chunk-XMVSQIK4.js → chunk-AG6UJ3DI.js} +2 -2
- package/dist/chunk-EBB36D5X.js +866 -0
- package/dist/chunk-EBB36D5X.js.map +1 -0
- package/dist/{chunk-JBYFD3QS.js → chunk-GBDBKGXW.js} +3 -3
- package/dist/{chunk-GHPCQXG5.js → chunk-GCUWJUUM.js} +2 -2
- package/dist/{chunk-C4W2MEFP.js → chunk-GS5HEE4M.js} +2 -2
- package/dist/{chunk-ATVQQCYN.js → chunk-GWXJSBWR.js} +2 -2
- package/dist/{chunk-RLW4Y5ZV.js → chunk-JMFYNIYZ.js} +4 -3
- package/dist/chunk-JMFYNIYZ.js.map +1 -0
- package/dist/{chunk-UOV2LEXS.js → chunk-MVAEE5EI.js} +60 -3
- package/dist/chunk-MVAEE5EI.js.map +1 -0
- package/dist/{chunk-KOJC3TH4.js → chunk-OBI2MQYU.js} +6 -6
- package/dist/chunk-PMVSO23F.js +65 -0
- package/dist/chunk-PMVSO23F.js.map +1 -0
- package/dist/{chunk-JDQVAG3R.js → chunk-Q4RGCEOI.js} +3 -3
- package/dist/{chunk-YIGFQWZV.js → chunk-QIGMNB6M.js} +3 -3
- package/dist/{chunk-O3NOGKMT.js → chunk-QNOCM5JX.js} +2 -2
- package/dist/{chunk-2LVR24GU.js → chunk-QOX57Y27.js} +6 -6
- package/dist/chunk-QTNYXOJW.js +27 -0
- package/dist/chunk-QTNYXOJW.js.map +1 -0
- package/dist/{chunk-UWY5PUHR.js → chunk-RN5MK7NH.js} +2 -2
- package/dist/{chunk-47I6LT4X.js → chunk-RT7SQHO4.js} +271 -7
- package/dist/chunk-RT7SQHO4.js.map +1 -0
- package/dist/chunk-UVQENVTW.js +85 -0
- package/dist/chunk-UVQENVTW.js.map +1 -0
- package/dist/{chunk-7BYLH47N.js → chunk-VPK3SM45.js} +15 -3
- package/dist/{chunk-7BYLH47N.js.map → chunk-VPK3SM45.js.map} +1 -1
- package/dist/{chunk-RN5G3DQN.js → chunk-WM3U4RPZ.js} +6 -6
- package/dist/{chunk-IFBCLRBM.js → chunk-ZQ6QTYRE.js} +2 -2
- package/dist/{chunk-IFBCLRBM.js.map → chunk-ZQ6QTYRE.js.map} +1 -1
- package/dist/{chunk-K54BDIKL.js → chunk-ZQFROKKS.js} +3 -3
- package/dist/{chunk-ZYDDHHZZ.js → chunk-ZRTNR4U7.js} +3 -3
- package/dist/connected-evidence.js +9 -17
- package/dist/dataset-workspaces.js +12 -17
- package/dist/dataset-workspaces.js.map +1 -1
- package/dist/errors.js +3 -3
- package/dist/experiment-evaluation-schedules.js +18 -21
- package/dist/experiment-improvements.js +9 -8
- package/dist/experiments.js +17 -20
- package/dist/index.js +38 -33
- package/dist/index.js.map +1 -1
- package/dist/model-projects.js +1 -1
- package/dist/model-starter-attempts.js +2 -2
- package/dist/model-starter-catalog.js +4 -12
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +4 -12
- package/dist/model-taskset-runs.js +3 -3
- package/dist/post-training.js +6 -6
- package/dist/taskset-drafts.js +6 -15
- package/dist/taskset-drafts.js.map +1 -1
- package/dist/taskset-packages.js +28 -18
- package/dist/training-bundle.js +33 -32
- package/dist/training-bundle.js.map +1 -1
- package/dist/training.js +8483 -49
- package/dist/training.js.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/runtime-handle.d.ts +3 -5
- package/dist/types/packages/cloud/src/sandbox/runtime-handle.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts +11 -5
- package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/smoke.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/billing.d.ts +140 -6
- package/dist/types/packages/cloud/src/sandbox/types/billing.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/io.d.ts +3 -0
- package/dist/types/packages/cloud/src/sandbox/types/io.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/responses.d.ts +11 -1
- package/dist/types/packages/cloud/src/sandbox/types/responses.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/snapshots.d.ts +52 -3
- package/dist/types/packages/cloud/src/sandbox/types/snapshots.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/activation-experiment-draft.d.ts +70 -0
- package/dist/types/packages/sdk/src/activation-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/activation-form-compiler.d.ts +25 -0
- package/dist/types/packages/sdk/src/activation-form-compiler.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/activation-reference.d.ts +347 -0
- package/dist/types/packages/sdk/src/activation-reference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/activation-result-comparison.d.ts +185 -0
- package/dist/types/packages/sdk/src/activation-result-comparison.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit-artifact.d.ts +872 -0
- package/dist/types/packages/sdk/src/alphaedit-artifact.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit-experiment-draft.d.ts +123 -0
- package/dist/types/packages/sdk/src/alphaedit-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit-model-serving.d.ts +3218 -0
- package/dist/types/packages/sdk/src/alphaedit-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/alphaedit.d.ts +258 -0
- package/dist/types/packages/sdk/src/alphaedit.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-contracts.d.ts +181 -0
- package/dist/types/packages/sdk/src/dataset-training-review-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-files.d.ts +17 -0
- package/dist/types/packages/sdk/src/dataset-training-review-files.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-preparation.d.ts +541 -0
- package/dist/types/packages/sdk/src/dataset-training-review-preparation.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review-source.d.ts +41 -0
- package/dist/types/packages/sdk/src/dataset-training-review-source.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-training-review.d.ts +79 -0
- package/dist/types/packages/sdk/src/dataset-training-review.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-experiment-authoring.d.ts +11 -0
- package/dist/types/packages/sdk/src/decision-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-experiment-draft.d.ts +150 -0
- package/dist/types/packages/sdk/src/decision-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-artifact.d.ts +541 -0
- package/dist/types/packages/sdk/src/decision-model-artifact.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-data.d.ts +588 -0
- package/dist/types/packages/sdk/src/decision-model-data.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-scoring.d.ts +1587 -0
- package/dist/types/packages/sdk/src/decision-model-scoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-serving.d.ts +5328 -0
- package/dist/types/packages/sdk/src/decision-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-training.d.ts +871 -0
- package/dist/types/packages/sdk/src/decision-model-training.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model-version.d.ts +2971 -0
- package/dist/types/packages/sdk/src/decision-model-version.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/decision-model.d.ts +241 -0
- package/dist/types/packages/sdk/src/decision-model.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-adapter.d.ts +788 -0
- package/dist/types/packages/sdk/src/engram-adapter.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-experiment-authoring.d.ts +14 -0
- package/dist/types/packages/sdk/src/engram-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-experiment-draft.d.ts +92 -0
- package/dist/types/packages/sdk/src/engram-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-inference.d.ts +180 -0
- package/dist/types/packages/sdk/src/engram-inference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-model-serving.d.ts +2183 -0
- package/dist/types/packages/sdk/src/engram-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/engram-model-version.d.ts +1335 -0
- package/dist/types/packages/sdk/src/engram-model-version.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/evaluation-experiment-draft.d.ts +1009 -0
- package/dist/types/packages/sdk/src/evaluation-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-client.d.ts +686 -686
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts +11638 -0
- package/dist/types/packages/sdk/src/experiment-draft-storage.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-result-reference.d.ts +288 -0
- package/dist/types/packages/sdk/src/experiment-result-reference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +7 -7
- package/dist/types/packages/sdk/src/experiment-starting-model.d.ts +911 -0
- package/dist/types/packages/sdk/src/experiment-starting-model.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/hosted-evaluation-experiment-draft.d.ts +693 -0
- package/dist/types/packages/sdk/src/hosted-evaluation-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-alphaedit-executions.d.ts +3152 -0
- package/dist/types/packages/sdk/src/managed-alphaedit-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-compute-price.d.ts +50 -0
- package/dist/types/packages/sdk/src/managed-compute-price.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-decision-executions.d.ts +6755 -0
- package/dist/types/packages/sdk/src/managed-decision-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-engram-executions.d.ts +2774 -0
- package/dist/types/packages/sdk/src/managed-engram-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-modification-compilation.d.ts +523 -0
- package/dist/types/packages/sdk/src/managed-modification-compilation.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-modification-executions.d.ts +1470 -0
- package/dist/types/packages/sdk/src/managed-modification-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts +3447 -0
- package/dist/types/packages/sdk/src/managed-neuron-training-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-serving-usage.d.ts +228 -0
- package/dist/types/packages/sdk/src/managed-serving-usage.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +26 -26
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts +11 -0
- package/dist/types/packages/sdk/src/model-batch-review-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts +10 -0
- package/dist/types/packages/sdk/src/model-batch-review-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-batch-review.d.ts +21 -0
- package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +9 -0
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-modification-capabilities.d.ts +323 -0
- package/dist/types/packages/sdk/src/model-modification-capabilities.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/model-serving-pool.d.ts +28 -0
- package/dist/types/packages/sdk/src/model-serving-pool.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +22 -0
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +216 -216
- package/dist/types/packages/sdk/src/modification-recordings.d.ts +1303 -0
- package/dist/types/packages/sdk/src/modification-recordings.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-calibration-records.d.ts +816 -0
- package/dist/types/packages/sdk/src/neuron-calibration-records.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-residual-calibration.d.ts +189 -0
- package/dist/types/packages/sdk/src/neuron-residual-calibration.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-steering.d.ts +260 -0
- package/dist/types/packages/sdk/src/neuron-steering.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-artifact.d.ts +517 -0
- package/dist/types/packages/sdk/src/neuron-training-artifact.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-experiment-draft.d.ts +172 -0
- package/dist/types/packages/sdk/src/neuron-training-experiment-draft.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts +3502 -0
- package/dist/types/packages/sdk/src/neuron-training-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training-result.d.ts +590 -0
- package/dist/types/packages/sdk/src/neuron-training-result.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/neuron-training.d.ts +260 -0
- package/dist/types/packages/sdk/src/neuron-training.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/post-training.d.ts +21 -0
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +10 -0
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/steering-experiment-authoring.d.ts +15 -0
- package/dist/types/packages/sdk/src/steering-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-experiment-source-verification.d.ts +97 -0
- package/dist/types/packages/sdk/src/steering-experiment-source-verification.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-experiment-source.d.ts +29 -0
- package/dist/types/packages/sdk/src/steering-experiment-source.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-inference.d.ts +224 -0
- package/dist/types/packages/sdk/src/steering-inference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-selection.d.ts +15 -0
- package/dist/types/packages/sdk/src/steering-model-selection.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts +8759 -0
- package/dist/types/packages/sdk/src/steering-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/steering-profile-publication.d.ts +7892 -0
- package/dist/types/packages/sdk/src/steering-profile-publication.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +20 -0
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +40 -0
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts +20 -0
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +20 -0
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts +10 -0
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-packages.d.ts +4 -0
- package/dist/types/packages/sdk/src/taskset-packages.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts +186 -1
- package/dist/types/packages/sdk/src/training-compute-selection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-estimate-workload.d.ts +185 -0
- package/dist/types/packages/sdk/src/training-estimate-workload.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts +185 -0
- package/dist/types/packages/sdk/src/training-estimates.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-executions.d.ts +275 -0
- package/dist/types/packages/sdk/src/training-executions.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts +5957 -0
- package/dist/types/packages/sdk/src/training-experiment-setup.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-funding.d.ts +153 -0
- package/dist/types/packages/sdk/src/training-funding.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-hardware-catalog.d.ts +155 -0
- package/dist/types/packages/sdk/src/training-hardware-catalog.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-job-contracts.d.ts +1535 -0
- package/dist/types/packages/sdk/src/training-job-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +40 -40
- package/dist/types/packages/sdk/src/training-model-save.d.ts +2466 -0
- package/dist/types/packages/sdk/src/training-model-save.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts +397 -0
- package/dist/types/packages/sdk/src/training-model-serving-control.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-model-serving.d.ts +2662 -0
- package/dist/types/packages/sdk/src/training-model-serving.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts +1001 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-result.d.ts +4577 -0
- package/dist/types/packages/sdk/src/training-result.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-usage-funding.d.ts +273 -0
- package/dist/types/packages/sdk/src/training-usage-funding.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training-usage-status.d.ts +27 -0
- package/dist/types/packages/sdk/src/training-usage-status.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training.d.ts +18309 -3682
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/weight-experiment-authoring.d.ts +23 -0
- package/dist/types/packages/sdk/src/weight-experiment-authoring.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/weight-inference.d.ts +155 -0
- package/dist/types/packages/sdk/src/weight-inference.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/weight-model-versions.d.ts +4578 -0
- package/dist/types/packages/sdk/src/weight-model-versions.d.ts.map +1 -0
- package/fixtures/python-foundation/activation-reference-workflow.json +6403 -0
- package/fixtures/python-foundation/dataset-training-review-http-workflow.json +62 -0
- package/fixtures/python-foundation/operation-matrix.json +1410 -220
- package/fixtures/python-foundation/schemas.json +59491 -25928
- package/fixtures/python-foundation/training-estimate-http-workflow.json +100 -0
- package/fixtures/python-foundation/training-funding-http-workflow.json +61 -0
- package/fixtures/python-foundation/training-model-save-http-workflow.json +302 -0
- package/fixtures/python-foundation/training-model-serving-control-http-workflow.json +1633 -0
- package/fixtures/python-foundation/training-model-serving-http-workflow.json +1181 -0
- package/fixtures/python-foundation/training-result-http-workflow.json +230 -0
- package/package.json +3 -3
- package/dist/chunk-47I6LT4X.js.map +0 -1
- package/dist/chunk-GJRXJL6G.js +0 -1528
- package/dist/chunk-GJRXJL6G.js.map +0 -1
- package/dist/chunk-Q4TKI2MV.js.map +0 -1
- package/dist/chunk-RLW4Y5ZV.js.map +0 -1
- package/dist/chunk-UOV2LEXS.js.map +0 -1
- /package/dist/{chunk-TLSP5JKG.js.map → chunk-3BYFS4RO.js.map} +0 -0
- /package/dist/{chunk-XRBM6PBD.js.map → chunk-3MDNVNBM.js.map} +0 -0
- /package/dist/{chunk-CNREFTAV.js.map → chunk-3VUF5H3B.js.map} +0 -0
- /package/dist/{chunk-LHHHJIDR.js.map → chunk-626JLH4D.js.map} +0 -0
- /package/dist/{chunk-HAQPGTQ4.js.map → chunk-7F43U2NC.js.map} +0 -0
- /package/dist/{chunk-ORYA2G7S.js.map → chunk-7G47YXQT.js.map} +0 -0
- /package/dist/{chunk-XMVSQIK4.js.map → chunk-AG6UJ3DI.js.map} +0 -0
- /package/dist/{chunk-JBYFD3QS.js.map → chunk-GBDBKGXW.js.map} +0 -0
- /package/dist/{chunk-GHPCQXG5.js.map → chunk-GCUWJUUM.js.map} +0 -0
- /package/dist/{chunk-C4W2MEFP.js.map → chunk-GS5HEE4M.js.map} +0 -0
- /package/dist/{chunk-ATVQQCYN.js.map → chunk-GWXJSBWR.js.map} +0 -0
- /package/dist/{chunk-KOJC3TH4.js.map → chunk-OBI2MQYU.js.map} +0 -0
- /package/dist/{chunk-JDQVAG3R.js.map → chunk-Q4RGCEOI.js.map} +0 -0
- /package/dist/{chunk-YIGFQWZV.js.map → chunk-QIGMNB6M.js.map} +0 -0
- /package/dist/{chunk-O3NOGKMT.js.map → chunk-QNOCM5JX.js.map} +0 -0
- /package/dist/{chunk-2LVR24GU.js.map → chunk-QOX57Y27.js.map} +0 -0
- /package/dist/{chunk-UWY5PUHR.js.map → chunk-RN5MK7NH.js.map} +0 -0
- /package/dist/{chunk-RN5G3DQN.js.map → chunk-WM3U4RPZ.js.map} +0 -0
- /package/dist/{chunk-K54BDIKL.js.map → chunk-ZQFROKKS.js.map} +0 -0
- /package/dist/{chunk-ZYDDHHZZ.js.map → chunk-ZRTNR4U7.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/managed-compute-price.ts","../src/training-usage-funding.ts","../src/training-recovery.ts","../src/training-physical-placement.ts","../src/training-queue.ts","../src/training-usage-status.ts","../src/training-job-contracts.ts","../src/training-grading-plan.ts","../src/training-evaluation-source.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { canonicalSha256, OpenPondProtocolError } from \"./protocol.js\";\n\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst Money = z.string().regex(/^(0|[1-9]\\d*)(\\.\\d{1,6})?$/).max(24);\nconst micros = (value:string) => {\n const [whole,fraction=\"\"] = Money.parse(value).split(\".\");\n return BigInt(whole!)*1_000_000n+BigInt(fraction.padEnd(6,\"0\"));\n};\n\n/** Accepted customer price only. Supplier accounts, hardware costs and\n * infrastructure identities are not part of this public contract. */\nexport const ComputeAppliedPriceSchema = z.object({\n schemaVersion:z.literal(\"openpond.computeAppliedPrice.v1\"),\n version:z.string().min(1).max(500),\n service:z.enum([\"managed_rl\",\"model_modification\",\"model_serving\",\"sandbox\"]),\n profileHash:Hash,currency:z.literal(\"USD\"),unit:z.literal(\"resource_hour\"),\n hourlyUsd:Money.refine(value=>{\n if(!Money.safeParse(value).success) return false;\n const amount=micros(value);\n return amount>0n && amount<=BigInt(Number.MAX_SAFE_INTEGER);\n }),\n}).strict();\nexport type ComputeAppliedPrice = z.infer<typeof ComputeAppliedPriceSchema>;\n\nexport const ManagedModificationPriceSchema = z.object({\n schemaVersion:z.literal(\"openpond.modificationPrice.v1\"),\n appliedPrice:ComputeAppliedPriceSchema.extend({service:z.literal(\"model_modification\")}),\n billingBoundary:z.literal(\"active_allocation_until_verified_cleanup\"),\n startupBillable:z.literal(true),\n postCompletionIdleBillable:z.literal(false),\n minimumBillableSeconds:z.literal(0),\n warmReuseSeconds:z.literal(300),\n}).strict();\nexport type ManagedModificationPrice = z.infer<typeof ManagedModificationPriceSchema>;\n\n/** Null means use available credits, with native finite execution bounds.\n * Empty form fields have the same meaning; wire-level schemas reject blanks. */\nexport function canonicalComputeSpendCap(value:string|null|undefined):string|null {\n if(value==null || value.trim()===\"\") return null;\n const amount=micros(value);\n if(amount<=0n || amount>1_000_000_000_000n)\n throw new OpenPondProtocolError(\"managed_modification_cap_invalid\",\"Choose a positive spending limit of at most 1,000,000 USD, or use available credits.\");\n return `${amount/1_000_000n}.${(amount%1_000_000n).toString().padStart(6,\"0\")}`;\n}\n\nexport function assertManagedModificationPricing(plan:{maximumSpendUsd:string|null;runtimeHash:string;computePrice?:ManagedModificationPrice}) {\n if(plan.maximumSpendUsd!==canonicalComputeSpendCap(plan.maximumSpendUsd) ||\n plan.maximumSpendUsd===null && !plan.computePrice ||\n plan.computePrice && plan.computePrice.appliedPrice.profileHash!==plan.runtimeHash)\n throw new OpenPondProtocolError(\"managed_modification_price_mismatch\",\"Retain the exact reviewed rate, runtime and optional spending limit.\");\n}\n\nexport async function managedModificationPriceApprovalMatches(plan:{computePrice?:ManagedModificationPrice},\n command:{approvedPriceHash?:string}) {\n return plan.computePrice ? command.approvedPriceHash===await canonicalSha256(plan.computePrice)\n : command.approvedPriceHash===undefined;\n}\n","import { z } from \"zod\";\nimport { ComputeAppliedPriceSchema } from \"./managed-compute-price.js\";\nimport { canonicalSha256, OpenPondProtocolError } from \"./protocol.js\";\n\nconst Id = z.string().min(1).max(500), Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst Price = ComputeAppliedPriceSchema.extend({ service: z.literal(\"managed_rl\") });\nconst Cap = z.string().regex(/^(0|[1-9]\\d*)\\.\\d{6}$/).max(24).refine(value => {\n if (!/^(0|[1-9]\\d*)\\.\\d{6}$/.test(value) || value.length > 24) return false;\n const micros = BigInt(value.replace(\".\", \"\"));\n return micros > 0n && micros <= BigInt(Number.MAX_SAFE_INTEGER);\n}).nullable();\nconst Guests = z.array(z.object({\n profileHash: Hash, price: Price,\n resources: z.object({ cpu: z.number().positive(), memoryGb: z.number().positive(), diskGb: z.number().nonnegative() }).strict(),\n}).strict()).max(32);\nconst Rate = z.string().regex(/^(0|[1-9]\\d*)\\.\\d{6}$/).max(24).refine(value =>\n /^(0|[1-9]\\d*)\\.\\d{6}$/.test(value) && value.length <= 24 &&\n BigInt(value.replace(\".\", \"\")) <= BigInt(Number.MAX_SAFE_INTEGER));\nconst Judges = z.object({\n billing: z.literal(\"existing_retail_child_captures\"), acceptedPricingHashes: z.array(Hash).max(64),\n prices: z.array(z.object({\n modelId: Id, displayName: Id, acceptedPricingHash: Hash,\n inputUsdPerMillionTokens: Rate, cachedInputUsdPerMillionTokens: Rate, outputUsdPerMillionTokens: Rate,\n cacheWriteUsdPerMillionTokens: Rate.nullable(), cacheWriteOneHourUsdPerMillionTokens: Rate.nullable(),\n longContextThresholdTokens: z.number().int().positive().nullable(),\n longContext: z.object({ inputUsdPerMillionTokens: Rate, cachedInputUsdPerMillionTokens: Rate,\n outputUsdPerMillionTokens: Rate, cacheWriteUsdPerMillionTokens: Rate.nullable() }).strict().nullable(),\n }).strict()).max(64),\n}).strict();\n\nexport const TrainingBillingModesSchema = z.tuple([\n z.object({ mode: z.literal(\"prepaid_only\"), availability: z.literal(\"available\"), reason: z.null() }).strict(),\n z.object({ mode: z.literal(\"actual_usage\"), availability: z.enum([\"unavailable\", \"requires_preparation\"]),\n reason: z.string().min(1).max(500).nullable() }).strict(),\n]);\nexport type TrainingBillingModes = z.infer<typeof TrainingBillingModesSchema>;\n\n/** The optional customer limit covers all priced components of this Job.\n * An omitted limit uses eligible credits; it never permits customer debt. */\nexport const TrainingUsageFundingRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingUsageFundingRequest.v1\"),\n billingMode: z.literal(\"actual_usage\"), customerCapUsd: Cap,\n}).strict();\nexport type TrainingUsageFundingRequest = z.infer<typeof TrainingUsageFundingRequestSchema>;\n\nexport const TrainingUsageQuoteContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingUsageQuote.v1\"), teamId: Id, actorUserId: Id,\n preparationId: Id, submissionHash: Hash, workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n customerCapUsd: Cap, maximumWallSeconds: z.number().int().positive(), retentionDays: z.number().int().nonnegative(),\n gpu: Price, guests: Guests, judges: Judges,\n storage: z.object({ price: Price, storageClass: z.literal(\"STANDARD\"), quantityBasis: z.literal(\"gib_milliseconds\"),\n onCreditExhaustion: z.literal(\"retain_objects_and_stop_new_storage\") }).strict(),\n gpuBillingBoundary: z.literal(\"active_allocation_until_verified_cleanup\"),\n storageBillingBoundary: z.literal(\"accepted_retention_window\"),\n startupBillable: z.literal(true), postCompletionIdleBillable: z.literal(false), minimumBillableSeconds: z.literal(0),\n issuedAt: z.iso.datetime(), expiresAt: z.iso.datetime(),\n}).strict();\nexport const TrainingUsageQuoteSchema = TrainingUsageQuoteContentSchema.extend({ contentHash: Hash, signature: Id }).strict();\nexport type TrainingUsageQuote = z.infer<typeof TrainingUsageQuoteSchema>;\n\n/** The server verifies its private signature before dispatch. Clients verify\n * the quote's hash and exact reviewed preparation without possessing that key. */\nexport async function verifyTrainingUsageQuote(raw: TrainingUsageQuote, expected: {\n teamId: string; actorUserId: string; preparationId: string; submissionHash: string; customerCapUsd: string | null;\n}) {\n const quote = TrainingUsageQuoteSchema.parse(raw), { contentHash, signature: _signature, ...content } = quote;\n if (contentHash !== await canonicalSha256(content) || quote.teamId !== expected.teamId ||\n quote.actorUserId !== expected.actorUserId || quote.preparationId !== expected.preparationId ||\n quote.submissionHash !== expected.submissionHash || quote.customerCapUsd !== expected.customerCapUsd ||\n Date.parse(quote.expiresAt) <= Date.parse(quote.issuedAt) ||\n new Set(quote.guests.map(guest => guest.profileHash)).size !== quote.guests.length ||\n quote.guests.some(guest => guest.profileHash !== guest.price.profileHash) ||\n new Set(quote.judges.acceptedPricingHashes).size !== quote.judges.acceptedPricingHashes.length ||\n new Set(quote.judges.prices.map(price => price.acceptedPricingHash)).size !== quote.judges.prices.length ||\n quote.judges.prices.length !== quote.judges.acceptedPricingHashes.length ||\n quote.judges.prices.some(price => !quote.judges.acceptedPricingHashes.includes(price.acceptedPricingHash)))\n throw new OpenPondProtocolError(\"training_usage_quote_mismatch\", \"Training prices differ from the reviewed preparation, actor or spending limit.\");\n return quote;\n}\n","import { z } from \"zod\";\nimport { canonicalSha256 } from \"./protocol.js\";\n\nconst id = z.string().trim().min(1).max(191);\nconst hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst ApprovalBodySchema = z\n .object({\n schemaVersion: z.literal(\"openpond.checkpointRecoveryResourceApproval.v1\"),\n ownerUserId: id,\n teamId: id,\n sourceJobId: id,\n sourceJobVersion: z.number().int().positive(),\n sourceInputManifestSha256: hash,\n checkpointId: id,\n adapterSha256: hash,\n resumeSha256: hash,\n idempotencyKey: z.string().trim().min(16).max(191),\n approvedAt: z.iso.datetime({ offset: true }),\n maximumSpendUsd: z\n .number()\n .positive()\n .finite()\n .max(30)\n .refine(\n (value) => Number(value.toFixed(6)) === value,\n \"Recovery spend must use whole microdollars\",\n ),\n maximumGpuSeconds: z.number().int().positive().max(21_600),\n maximumWallSeconds: z.number().int().positive().max(21_600),\n })\n .strict();\n\nexport const TrainingCheckpointRecoveryResourceApprovalSchema = ApprovalBodySchema.extend({\n approvalHash: hash,\n})\n .strict()\n .superRefine((value, context) => {\n if (value.maximumGpuSeconds > value.maximumWallSeconds)\n context.addIssue({\n code: \"custom\",\n path: [\"maximumGpuSeconds\"],\n message: \"Recovery GPU duration exceeds its wall\",\n });\n });\n\n/** The authenticated source owner's funded request is consent; this hash binds its exact scope. */\nexport async function createTrainingCheckpointRecoveryResourceApproval(\n input: z.input<typeof ApprovalBodySchema>,\n) {\n const body = ApprovalBodySchema.parse(input);\n return TrainingCheckpointRecoveryResourceApprovalSchema.parse({\n ...body,\n approvalHash: await canonicalSha256(body),\n });\n}\n\n/** Exact execution recovery; a continual-training optimizer reset is separate. */\nexport const TrainingCheckpointRecoveryRequestSchema = z\n .object({\n resourceApproval: TrainingCheckpointRecoveryResourceApprovalSchema.optional(),\n mode: z.literal(\"evaluation_only\").optional(),\n evaluationGpuType: z\n .enum([\"NVIDIA A100 80GB PCIe\", \"NVIDIA A100-SXM4-80GB\", \"NVIDIA H100 80GB HBM3\"])\n .optional(),\n expectedVersion: z.number().int().positive(),\n checkpointId: id,\n idempotencyKey: z.string().trim().min(16).max(191),\n maximumSpendUsd: z.number().positive().finite(),\n maximumWallSeconds: z.number().int().positive().max(21_600),\n })\n .strict()\n .superRefine((value, context) => {\n if (value.evaluationGpuType && value.mode !== \"evaluation_only\")\n context.addIssue({\n code: \"custom\",\n path: [\"evaluationGpuType\"],\n message: \"GPU substitution requires explicit evaluation-only recovery\",\n });\n const a = value.resourceApproval;\n if (\n a &&\n (a.sourceJobVersion !== value.expectedVersion ||\n a.checkpointId !== value.checkpointId ||\n a.idempotencyKey !== value.idempotencyKey ||\n a.maximumSpendUsd !== value.maximumSpendUsd ||\n a.maximumWallSeconds !== value.maximumWallSeconds)\n )\n context.addIssue({\n code: \"custom\",\n path: [\"resourceApproval\"],\n message: \"Recovery resource approval does not match its request\",\n });\n });\n","import { z } from \"zod\";\n\n/** Placement authority only: a fresh learner never inherits the source Policy. */\nexport const TrainingPhysicalPlacementSchema = z.object({\n mode: z.literal(\"reuse_only\"),\n physicalWorkerId: z.string().trim().min(1).max(191),\n providerPodId: z.string().trim().min(1).max(191),\n workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n baseProfileSha256: z.string().regex(/^[a-f0-9]{64}$/),\n gpuType: z.string().trim().min(1).max(200),\n sourceJobId: z.string().trim().min(1).max(191),\n sourceInputManifestSha256: z.string().regex(/^[a-f0-9]{64}$/),\n ownerTeamId: z.string().trim().min(1).max(191),\n deadlineAt: z.string().datetime({ offset: true }),\n}).strict();\n\nexport type TrainingPhysicalPlacement = z.infer<typeof TrainingPhysicalPlacementSchema>;\n","import { z } from \"zod\";\n\nconst Timestamp = z.string().datetime({ offset: true });\n\n/** Customer status deliberately omits provider/internal capacity reasons. A\n * stable ticket identifies the request; current fair-queue position may change. */\nexport const TrainingQueueStatusSchema = z.object({\n ticketId: z.string().trim().min(1).max(191),\n ticketNumber: z.number().int().positive().max(Number.MAX_SAFE_INTEGER),\n label: z.literal(\"Waiting for resources\"),\n position: z.number().int().positive().nullable(),\n positionScope: z.literal(\"compatible_fair_queue\"),\n enqueuedAt: Timestamp,\n asOf: Timestamp,\n estimate: z.object({\n revision: z.number().int().nonnegative(),\n estimatedStartAt: Timestamp,\n expiresAt: Timestamp,\n evidence: z.enum([\"observed_capacity\", \"measured_bootstrap\", \"scheduled_release\"]),\n }).strict().nullable(),\n}).strict().superRefine((value, context) => {\n if (value.estimate && Date.parse(value.estimate.expiresAt) <= Date.parse(value.asOf))\n context.addIssue({ code: \"custom\", path: [\"estimate\"], message: \"An expired queue forecast must be returned as unavailable\" });\n});\n\nexport type TrainingQueueStatus = z.infer<typeof TrainingQueueStatusSchema>;\n","import { z } from \"zod\";\n\nconst Money = z.string().regex(/^(0|[1-9]\\d*)\\.\\d{6}$/).max(24).refine(value =>\n /^(0|[1-9]\\d*)\\.\\d{6}$/.test(value) && value.length <= 24 &&\n BigInt(value.replace(\".\", \"\")) <= BigInt(Number.MAX_SAFE_INTEGER));\n\n/** Read-only account-locked totals. Available credit never grants execution authority. */\nexport const TrainingUsageSnapshotSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingUsageSnapshot.v1\"), asOf: z.iso.datetime(),\n customerCapUsd: Money.nullable(), chargedUsd: Money, committedUsd: Money, outstandingUsd: Money,\n remainingCapUsd: Money.nullable(), availableCreditUsd: Money, complete: z.boolean(),\n components: z.array(z.object({ component: z.enum([\"gpu\", \"guest\", \"storage\", \"judge\"]),\n chargedUsd: Money, committedUsd: Money, outstandingUsd: Money, openOwners: z.number().int().nonnegative(),\n }).strict()).length(4).refine(values => values.every((value, index) =>\n value.component === [\"gpu\", \"guest\", \"storage\", \"judge\"][index])),\n}).strict();\nexport type TrainingUsageSnapshot = z.infer<typeof TrainingUsageSnapshotSchema>;\n","/** Credential-free training wire contracts. Schema owners import this leaf;\n * the public training client barrel composes owners and re-exports these values. */\nimport { z } from \"zod\";\nimport { TrainingHandoffOriginSchema } from \"@openpond/evals/learning\";\nimport { ModelProjectBaseModelSchema, ModelProjectImmutableRefSchema,\n ModelProjectRecipeDocumentSchema, ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { SftRecipeSchema } from \"./training-supervised.js\";\nimport { TrainingCheckpointRecoveryResourceApprovalSchema } from \"./training-recovery.js\";\nimport { TrainingPhysicalPlacementSchema } from \"./training-physical-placement.js\";\nimport { TrainingGpuSelectionSchema } from \"./training-compute-selection.js\";\nimport { TrainingQueueStatusSchema } from \"./training-queue.js\";\nimport { TrainingUsageSnapshotSchema } from \"./training-usage-status.js\";\nimport { TrainingBillingModesSchema } from \"./training-usage-funding.js\";\nimport { TRAINING_INPUT_ARTIFACT_MAX_BYTES, TRAINING_JOB_SUBMISSION_MAX_BYTES,\n OpenPondProtocolError, assertCanonicalPayloadSize, canonicalSha256 } from \"./protocol.js\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst TimestampSchema = z.string().datetime({ offset: true });\n\n/**\n * Stages a content-addressed immutable input before Job admission. The payload\n * is deliberately opaque to the transport contract: its declared kind owns\n * the executable schema, while the envelope provides bounded bytes,\n * idempotency, and a stable manifest lookup key.\n */\nexport const TrainingInputArtifactUploadSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingInputArtifactUpload.v2\"),\n kind: z.enum([\"portable_training_bundle\", \"reward_model_dataset\"]),\n idempotencyKey: z.string().trim().min(1).max(500),\n sourceManifest: ModelProjectImmutableRefSchema,\n payload: z.unknown(),\n contentHash: HashSchema,\n })\n .strict();\n\nexport const TrainingInputArtifactSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingInputArtifact.v2\"),\n kind: z.enum([\"portable_training_bundle\", \"reward_model_dataset\"]),\n sourceManifest: ModelProjectImmutableRefSchema,\n artifactRef: z.string().trim().min(1).max(2_000),\n contentHash: HashSchema,\n sizeBytes: z.number().int().positive(),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport async function trainingInputArtifactUploadHash(\n upload: Omit<TrainingInputArtifactUpload, \"contentHash\"> | TrainingInputArtifactUpload,\n): Promise<string> {\n const { contentHash: _contentHash, ...content } = upload as TrainingInputArtifactUpload;\n return canonicalSha256(content);\n}\n\nexport async function parseAndVerifyTrainingInputArtifactUpload(\n value: unknown,\n): Promise<TrainingInputArtifactUpload> {\n assertCanonicalPayloadSize(value, TRAINING_INPUT_ARTIFACT_MAX_BYTES, \"Training input artifact\");\n const parsed = TrainingInputArtifactUploadSchema.parse(value);\n const expectedHash = await trainingInputArtifactUploadHash(parsed);\n if (parsed.contentHash !== expectedHash) {\n throw new OpenPondProtocolError(\n \"content_hash_mismatch\",\n `Training input artifact contentHash ${parsed.contentHash} does not match ${expectedHash}.`,\n );\n }\n return parsed;\n}\n\nexport const TrainingJobKindSchema = z.enum([\"reward_model_train\", \"policy_optimize\"]);\n\nexport const TrainingJobStateSchema = z.enum([\n \"queued\",\n \"admitting\",\n \"provisioning\",\n \"running\",\n \"stopping\",\n \"cancelling\",\n \"succeeded\",\n \"failed\",\n \"cancelled\",\n]);\n\nexport const TrainingCapabilityRequirementSchema = z\n .object({\n id: IdSchema,\n version: z.string().trim().min(1).max(200).nullable().default(null),\n required: z.boolean().default(true),\n })\n .strict();\n\nexport const TrainingJobSourceSchema = z\n .object({\n origin: TrainingHandoffOriginSchema.optional(),\n modelProject: z\n .object({\n id: IdSchema,\n portableProjectId: IdSchema,\n revision: z.number().int().positive(),\n contentHash: HashSchema,\n })\n .strict(),\n harnessRunManifest: ModelProjectImmutableRefSchema,\n harnessRelease: ModelProjectImmutableRefSchema,\n taskset: ModelProjectVersionedRefSchema,\n tasksetRelease: ModelProjectImmutableRefSchema,\n evaluation: z\n .object({\n taskset: ModelProjectVersionedRefSchema,\n dataset: ModelProjectImmutableRefSchema,\n })\n .strict()\n .nullable()\n .optional(),\n dataset: ModelProjectImmutableRefSchema,\n evidenceSets: z.array(ModelProjectImmutableRefSchema).max(10_000),\n })\n .strict();\n\nexport const RewardModelTrainingRequestSchema = z\n .object({\n kind: z.literal(\"reward_model_train\"),\n baseModel: ModelProjectBaseModelSchema,\n preferenceDatasetRelease: ModelProjectImmutableRefSchema,\n processorRelease: ModelProjectImmutableRefSchema,\n recipe: z\n .object({\n schemaVersion: z.literal(\"openpond.rewardModelRecipe.v1\"),\n method: z.literal(\"reward_model\"),\n parameterization: z.literal(\"lora_with_scalar_head\"),\n })\n .catchall(z.unknown()),\n })\n .strict();\n\nconst DeterministicRewardSourceSchema = z\n .object({\n kind: z.literal(\"deterministic\"),\n grader: ModelProjectImmutableRefSchema,\n composer: ModelProjectImmutableRefSchema.nullable().default(null),\n })\n .strict();\n\nconst LearnedRewardSourceSchema = z\n .object({\n kind: z.literal(\"learned_reward\"),\n rewardModelVersion: ModelProjectImmutableRefSchema,\n qualificationReport: ModelProjectImmutableRefSchema.nullable().default(null),\n evaluationReferences: z.array(ModelProjectImmutableRefSchema).max(1_000).default([]),\n scorerArtifact: z\n .object({\n artifactRef: z.string().trim().min(1).max(2_000),\n contentHash: HashSchema,\n executionReceipt: ModelProjectImmutableRefSchema,\n })\n .strict(),\n processorRelease: ModelProjectImmutableRefSchema,\n rewardComposerRelease: ModelProjectImmutableRefSchema,\n })\n .strict();\n\nexport const TrainingQualificationBaseModelSchema = ModelProjectBaseModelSchema.extend({\n revision: z.string().regex(/^[a-f0-9]{40,64}$/),\n tokenizerRevision: z.string().regex(/^[a-f0-9]{40,64}$/),\n chatTemplateHash: HashSchema,\n}).strict();\n\nexport const PolicyOptimizationRequestSchema = z\n .object({\n kind: z.literal(\"policy_optimize\"),\n /** Collect and grade one original-learner group without optimizer work. */\n executionMode: z.literal(\"qualification\").optional(),\n baseModel: ModelProjectBaseModelSchema,\n recipe: ModelProjectRecipeDocumentSchema,\n rewardSource: z.discriminatedUnion(\"kind\", [\n DeterministicRewardSourceSchema,\n LearnedRewardSourceSchema,\n ]),\n resumeFrom: ModelProjectImmutableRefSchema.nullable().default(null),\n })\n .strict()\n .superRefine((job, context) => {\n if (job.recipe.method !== \"sft\") return;\n const recipe = SftRecipeSchema.safeParse(job.recipe);\n if (!recipe.success) {\n context.addIssue({\n code: \"custom\",\n path: [\"recipe\"],\n message: \"The SFT recipe is incomplete or invalid.\",\n });\n return;\n }\n if (job.executionMode || job.resumeFrom || \"continuation\" in job.recipe)\n context.addIssue({\n code: \"custom\",\n message:\n \"Initial managed SFT requires a fresh supervised run without rollout qualification or continuation.\",\n });\n if (\n recipe.data.baseModel.id !== job.baseModel.modelId ||\n recipe.data.baseModel.revision !== job.baseModel.revision ||\n recipe.data.baseModel.tokenizerRevision !== job.baseModel.tokenizerRevision ||\n recipe.data.baseModel.chatTemplateHash !== job.baseModel.chatTemplateHash\n )\n context.addIssue({\n code: \"custom\",\n path: [\"baseModel\"],\n message: \"The SFT recipe must pin the exact submitted base and tokenizer.\",\n });\n });\n\nexport const TrainingJobRequestSchema = z.discriminatedUnion(\"kind\", [\n RewardModelTrainingRequestSchema,\n PolicyOptimizationRequestSchema,\n]);\n\nexport const TrainingJobApprovalSchema = z\n .object({\n approvalHash: HashSchema,\n approvedAt: TimestampSchema,\n exportApproved: z.boolean(),\n maximumSpendUsd: z.number().nonnegative(),\n retentionDays: z.number().int().nonnegative().nullable(),\n region: z.string().trim().min(1).max(200).nullable().default(null),\n })\n .strict();\n\nexport const TrainingJobSubmissionSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobSubmission.v2\"),\n idempotencyKey: z.string().trim().min(1).max(500),\n name: z.string().trim().min(1).max(200),\n source: TrainingJobSourceSchema,\n job: TrainingJobRequestSchema,\n requestedCapabilities: z.array(TrainingCapabilityRequirementSchema).max(1_000),\n placementObjective: z.enum([\"fast\", \"balanced\", \"economical\"]),\n gpuSelection: TrainingGpuSelectionSchema.optional(),\n physicalPlacement: TrainingPhysicalPlacementSchema.optional(),\n budget: z\n .object({\n maximumSpendUsd: z.number().nonnegative(),\n maximumWallSeconds: z.number().int().positive(),\n })\n .strict(),\n approval: TrainingJobApprovalSchema,\n contentHash: HashSchema,\n })\n .strict()\n .superRefine((submission, context) => {\n const distributed = (submission.gpuSelection?.gpuCount ?? 1) === 2;\n const distributedRequirement = submission.requestedCapabilities.some(requirement =>\n requirement.id === \"managed_rl.policy.data_parallel\" && requirement.version === \"1\" && requirement.required);\n if (distributed !== distributedRequirement) {\n context.addIssue({ code: \"custom\", path: [\"requestedCapabilities\"], message: \"Two-GPU training must require managed_rl.policy.data_parallel@1 and bind gpuSelection.gpuCount to 2.\" });\n }\n if (distributed && (submission.job.kind !== \"policy_optimize\" || submission.job.executionMode ||\n submission.job.recipe.method !== \"grpo\" || submission.physicalPlacement)) {\n context.addIssue({ code: \"custom\", path: [\"gpuSelection\"], message: \"Two-GPU execution requires exclusive GRPO policy training.\" });\n }\n if (submission.physicalPlacement && (submission.job.kind !== \"policy_optimize\" ||\n submission.job.resumeFrom || submission.job.executionMode || submission.job.recipe.continuation !== undefined)) {\n context.addIssue({ code: \"custom\", path: [\"physicalPlacement\"], message: \"Reuse-only placement requires fresh-base policy training without continuation.\" });\n }\n if (submission.job.kind === \"policy_optimize\" && submission.job.executionMode === \"qualification\") {\n const job = submission.job;\n if (!TrainingQualificationBaseModelSchema.safeParse(job.baseModel).success) {\n context.addIssue({ code: \"custom\", path: [\"job\", \"baseModel\"], message: \"Qualification requires immutable model and tokenizer revisions and a SHA-256 chat-template pin.\" });\n }\n if (job.resumeFrom || job.recipe.continuation !== undefined || job.rewardSource.kind !== \"deterministic\" || job.recipe.method !== \"grpo\") {\n context.addIssue({\n code: \"custom\", path: [\"job\"],\n message: \"Qualification requires the original GRPO learner, deterministic reward, and no resume or continuation.\",\n });\n }\n if (!submission.requestedCapabilities.some(requirement => requirement.required && requirement.id === \"managed_rl.policy.qualification\" && requirement.version === \"1\")) {\n context.addIssue({\n code: \"custom\", path: [\"requestedCapabilities\"],\n message: \"Qualification must require managed_rl.policy.qualification@1.\",\n });\n }\n }\n if (submission.approval.maximumSpendUsd !== submission.budget.maximumSpendUsd) {\n context.addIssue({\n code: \"custom\",\n path: [\"approval\", \"maximumSpendUsd\"],\n message: \"Approved spend must equal the immutable Job budget.\",\n });\n }\n });\n\nexport async function trainingJobSubmissionHash(\n submission: Omit<TrainingJobSubmission, \"contentHash\"> | TrainingJobSubmission,\n): Promise<string> {\n const { contentHash: _contentHash, ...content } = submission as TrainingJobSubmission;\n return canonicalSha256(content);\n}\n\nexport async function parseAndVerifyTrainingJobSubmission(\n value: unknown,\n): Promise<TrainingJobSubmission> {\n assertCanonicalPayloadSize(value, TRAINING_JOB_SUBMISSION_MAX_BYTES, \"Training Job submission\");\n const parsed = TrainingJobSubmissionSchema.parse(value);\n const expectedHash = await trainingJobSubmissionHash(parsed);\n if (parsed.contentHash !== expectedHash) {\n throw new OpenPondProtocolError(\n \"content_hash_mismatch\",\n `Training Job contentHash ${parsed.contentHash} does not match ${expectedHash}.`,\n );\n }\n return parsed;\n}\n\nexport const TrainingJobRecoverySchema = z.object({\n resourceApproval: TrainingCheckpointRecoveryResourceApprovalSchema.optional(),\n mode: z.literal(\"evaluation_only\").optional(),\n trainingWorkloadComplete: z.boolean().optional(),\n sourceJobId: IdSchema,\n checkpointId: IdSchema,\n policyVersion: z.number().int().positive(),\n completedGroups: z.number().int().positive(),\n optimizerMode: z.literal(\"continue\"),\n}).strict();\n\nexport const TrainingJobSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJob.v2\"),\n id: IdSchema,\n teamId: IdSchema,\n kind: TrainingJobKindSchema,\n executionMode: z.literal(\"qualification\").optional(),\n recovery: TrainingJobRecoverySchema.optional(),\n modelProjectId: IdSchema,\n portableProjectId: IdSchema,\n sourceProjectRevision: z.number().int().positive(),\n submissionHash: HashSchema,\n state: TrainingJobStateSchema,\n queue: TrainingQueueStatusSchema.optional(),\n phase: z.string().trim().min(1).max(200),\n version: z.number().int().nonnegative(),\n progress: z.number().min(0).max(1),\n rolloutProgress: z\n .object({\n groupsCompleted: z.number().int().nonnegative(),\n groupsTarget: z.number().int().nonnegative(),\n optimizerUpdatesApplied: z.number().int().nonnegative(),\n optimizerUpdatesSkipped: z.number().int().nonnegative(),\n })\n .strict(),\n accruedSpendUsd: z.number().nonnegative(),\n usage: TrainingUsageSnapshotSchema.optional(),\n terminalReason: z.string().trim().min(1).max(5_000).nullable(),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n completedAt: TimestampSchema.nullable(),\n })\n .strict();\n\nexport const TrainingJobPageSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobPage.v2\"),\n jobs: z.array(TrainingJobSchema).max(1_000),\n nextCursor: z.string().trim().min(1).max(2_000).nullable(),\n })\n .strict();\n\nexport const TrainingJobEventSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobEvent.v2\"),\n id: IdSchema,\n jobId: IdSchema,\n sequence: z.number().int().nonnegative(),\n type: IdSchema,\n phase: z.string().trim().min(1).max(200),\n message: z.string().trim().min(1).max(5_000).nullable(),\n data: z.record(z.string(), z.unknown()).default({}),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport const TrainingJobLogSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobLog.v2\"),\n jobId: IdSchema,\n sequence: z.number().int().nonnegative(),\n level: z.enum([\"debug\", \"info\", \"warning\", \"error\"]),\n message: z.string().max(20_000),\n createdAt: TimestampSchema,\n })\n .strict();\n\nexport const TrainingJobControlRequestSchema = z\n .object({ expectedVersion: z.number().int().nonnegative() })\n .strict();\n\nexport const TrainingJobOutputSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobOutput.v2\"),\n id: IdSchema,\n jobId: IdSchema,\n kind: z.enum([\"checkpoint\", \"adapter\", \"scorer\", \"metrics\", \"evaluation\", \"trace\", \"receipt\"]),\n artifactRef: z.string().trim().min(1).max(2_000),\n contentHash: HashSchema,\n sizeBytes: z.number().int().nonnegative(),\n metadata: z.record(z.string(), z.unknown()).default({}),\n createdAt: TimestampSchema,\n })\n .strict();\n\n/** Evidence that collection used the pinned original learner and never updated it. */\nexport const TrainingQualificationEvidenceSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingQualificationEvidence.v1\"),\n baseModel: TrainingQualificationBaseModelSchema,\n group: ModelProjectImmutableRefSchema,\n rolloutReceipts: z.array(ModelProjectImmutableRefSchema).min(1).max(1_000),\n rewardEvidenceHash: HashSchema,\n groupsCompleted: z.literal(1),\n optimizerUpdatesApplied: z.literal(0),\n optimizerUpdatesSkipped: z.literal(0),\n trainingStepsCreated: z.literal(0),\n checkpointsCreated: z.literal(0),\n artifactsCreated: z.literal(0),\n}).strict().superRefine((evidence, context) => {\n if (new Set(evidence.rolloutReceipts.map(receipt => receipt.id)).size !== evidence.rolloutReceipts.length) {\n context.addIssue({ code: \"custom\", path: [\"rolloutReceipts\"], message: \"Qualification rollout receipt identities must be unique.\" });\n }\n});\n\nexport const TrainingExecutionReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingExecutionReceipt.v2\"),\n id: IdSchema,\n teamId: IdSchema,\n jobId: IdSchema,\n submissionHash: HashSchema,\n manifestHash: HashSchema,\n recipeHash: HashSchema,\n capabilityHash: HashSchema,\n runtimeRelease: ModelProjectImmutableRefSchema,\n inputs: z.array(ModelProjectImmutableRefSchema).max(10_000),\n outputs: z.array(ModelProjectImmutableRefSchema).max(10_000),\n spendUsd: z.number().nonnegative(),\n durationSeconds: z.number().nonnegative(),\n cleanupComplete: z.boolean(),\n qualification: TrainingQualificationEvidenceSchema.optional(),\n issuer: IdSchema,\n issuedAt: TimestampSchema,\n signature: z.string().trim().min(1).max(10_000).nullable(),\n })\n .strict();\n\nexport async function trainingExecutionReceiptHash(\n receipt: TrainingExecutionReceipt,\n): Promise<string> {\n return canonicalSha256(TrainingExecutionReceiptSchema.parse(receipt));\n}\n\nexport async function parseAndVerifyTrainingExecutionReceipt(\n value: unknown,\n expected: {\n id: string;\n contentHash: string;\n teamId?: string;\n jobId?: string;\n requireCleanup?: boolean;\n qualificationSubmission?: TrainingJobSubmission;\n outputs?: TrainingJobOutput[];\n },\n): Promise<TrainingExecutionReceipt> {\n const receipt = TrainingExecutionReceiptSchema.parse(value);\n const expectedId = IdSchema.parse(expected.id);\n const expectedHash = HashSchema.parse(expected.contentHash);\n const actualHash = await trainingExecutionReceiptHash(receipt);\n if (receipt.id !== expectedId || actualHash !== expectedHash) {\n throw new OpenPondProtocolError(\n \"execution_receipt_mismatch\",\n \"The execution receipt identity or canonical content hash did not match.\",\n );\n }\n if (expected.teamId !== undefined && receipt.teamId !== IdSchema.parse(expected.teamId)) {\n throw new OpenPondProtocolError(\n \"execution_receipt_team_mismatch\",\n \"The execution receipt belongs to a different team.\",\n );\n }\n if (expected.jobId !== undefined && receipt.jobId !== IdSchema.parse(expected.jobId)) {\n throw new OpenPondProtocolError(\n \"execution_receipt_job_mismatch\",\n \"The execution receipt belongs to a different Training Job.\",\n );\n }\n if ((expected.requireCleanup ?? true) && !receipt.cleanupComplete) {\n throw new OpenPondProtocolError(\n \"execution_cleanup_incomplete\",\n \"The execution receipt does not attest complete terminal cleanup.\",\n );\n }\n if (expected.qualificationSubmission) {\n const submission = await parseAndVerifyTrainingJobSubmission(expected.qualificationSubmission);\n if (submission.job.kind !== \"policy_optimize\" || submission.job.executionMode !== \"qualification\") {\n throw new OpenPondProtocolError(\"qualification_submission_required\", \"Expected an immutable qualification submission.\");\n }\n await assertTrainingQualificationReceipt(receipt, { submissionHash: submission.contentHash, baseModel: submission.job.baseModel, outputs: expected.outputs });\n }\n return receipt;\n}\n\nexport async function assertTrainingQualificationReceipt(\n receipt: TrainingExecutionReceipt,\n expected: { submissionHash: string; baseModel?: z.infer<typeof ModelProjectBaseModelSchema>; outputs?: TrainingJobOutput[] },\n): Promise<void> {\n const evidence = TrainingQualificationEvidenceSchema.parse(receipt.qualification);\n if (receipt.submissionHash !== expected.submissionHash || !receipt.cleanupComplete) {\n throw new OpenPondProtocolError(\"qualification_receipt_mismatch\", \"Qualification must attest the expected submission and complete cleanup.\");\n }\n if (expected.baseModel && await canonicalSha256(evidence.baseModel) !== await canonicalSha256(expected.baseModel)) {\n throw new OpenPondProtocolError(\"qualification_learner_mismatch\", \"Qualification used a different original learner or tokenizer.\");\n }\n if (expected.outputs?.some(output => [\"checkpoint\", \"adapter\", \"scorer\"].includes(output.kind))) {\n throw new OpenPondProtocolError(\"qualification_updated_artifact\", \"Qualification must not publish trained artifacts or checkpoints.\");\n }\n}\n\nexport const TrainingJobOutputsSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingJobOutputs.v2\"),\n outputs: z.array(TrainingJobOutputSchema).max(10_000),\n receipt: TrainingExecutionReceiptSchema.nullable(),\n })\n .strict();\n\nexport const TrainingPolicyLoraCapabilitiesSchema = z.object({\n workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n envelopeRank: z.number().int().positive().max(256),\n supportedRanks: z.array(z.number().int().positive().max(256)).max(256),\n qualification: z.object({ evidenceRef: z.string().min(1), evidenceSha256: HashSchema }).strict().nullable(),\n continuation: z.object({\n sharedRequiresSameRank: z.literal(true),\n mergedRequiresSameRank: z.literal(true),\n residualAppendRequiresFreeCapacity: z.literal(true),\n stageOptimizer: z.literal(\"reset\"),\n interruptedRecoveryOptimizer: z.literal(\"restore\"),\n }).strict(),\n}).strict().superRefine((value, context) => {\n if (new Set(value.supportedRanks).size !== value.supportedRanks.length || value.supportedRanks.some(rank => rank > value.envelopeRank))\n context.addIssue({ code: \"custom\", path: [\"supportedRanks\"], message: \"Supported ranks must be unique and fit the physical adapter envelope.\" });\n if (value.supportedRanks.length && !value.qualification)\n context.addIssue({ code: \"custom\", path: [\"qualification\"], message: \"Advertised ranks require immutable image qualification evidence.\" });\n});\nexport type TrainingPolicyLoraCapabilities = z.infer<typeof TrainingPolicyLoraCapabilitiesSchema>;\n\nexport function supportsTrainingPolicyLoraRank(capabilities: TrainingPolicyLoraCapabilities, rank: number,\n continuation?: { mode: \"shared\" | \"sequential_merge\" | \"residual_append\"; parentEnabledRank: number }): boolean {\n if (!capabilities.supportedRanks.includes(rank)) return false;\n if (!continuation) return true;\n return continuation.mode === \"residual_append\"\n ? continuation.parentEnabledRank + rank <= capabilities.envelopeRank\n : continuation.parentEnabledRank === rank;\n}\n\nexport const TrainingCapabilitiesSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.trainingCapabilities.v2\"),\n capabilityHash: HashSchema,\n jobKinds: z.array(TrainingJobKindSchema),\n methods: z.array(z.string().trim().min(1).max(200)),\n billingModes: TrainingBillingModesSchema.optional(),\n executionModes: z.array(z.enum([\"training\", \"qualification\"])).optional(),\n policyLora: TrainingPolicyLoraCapabilitiesSchema.optional(),\n policyDataParallel: z.object({\n capability: z.literal(\"managed_rl.policy.data_parallel\"),\n version: z.literal(\"1\"),\n gpuCount: z.literal(2),\n worldSize: z.literal(2),\n backend: z.literal(\"nccl\"),\n allocationMode: z.literal(\"exclusive\"),\n workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n }).strict().optional(),\n structuredOutputs: z.object({\n capability: z.literal(\"work.structured-output.v1\"),\n harnessRuntimeHash: HashSchema,\n workHarnessHash: HashSchema,\n schemaHash: HashSchema,\n artifactHash: HashSchema,\n invalidDataRejected: z.literal(true),\n invalidBytesRejected: z.literal(true),\n }).strict().optional(),\n placements: z.array(z.enum([\"local\", \"remote\", \"colocated\", \"provider_native\"])),\n controls: z\n .object({\n cancel: z.boolean(),\n stopAfterGroup: z.boolean(),\n resumeFromCheckpoint: z.boolean(),\n })\n .strict(),\n estimates: z.object({ schemaVersion: z.literal(\"openpond.trainingEstimate.v1\") }).strict().optional(),\n limits: z\n .object({\n maximumSpendUsd: z.number().nonnegative(),\n maximumWallSeconds: z.number().int().positive(),\n maximumArtifactBytes: z.number().int().positive(),\n })\n .strict(),\n checkedAt: TimestampSchema,\n expiresAt: TimestampSchema,\n })\n .strict();\n\nexport type TrainingJobSubmission = z.infer<typeof TrainingJobSubmissionSchema>;\nexport type TrainingQualificationEvidence = z.infer<typeof TrainingQualificationEvidenceSchema>;\nexport type TrainingInputArtifactUpload = z.infer<typeof TrainingInputArtifactUploadSchema>;\nexport type TrainingInputArtifact = z.infer<typeof TrainingInputArtifactSchema>;\nexport type TrainingJob = z.infer<typeof TrainingJobSchema>;\nexport type TrainingJobPage = z.infer<typeof TrainingJobPageSchema>;\nexport type TrainingJobEvent = z.infer<typeof TrainingJobEventSchema>;\nexport type TrainingJobLog = z.infer<typeof TrainingJobLogSchema>;\nexport type TrainingJobOutput = z.infer<typeof TrainingJobOutputSchema>;\nexport type TrainingJobOutputs = z.infer<typeof TrainingJobOutputsSchema>;\nexport type TrainingExecutionReceipt = z.infer<typeof TrainingExecutionReceiptSchema>;\nexport type TrainingCapabilities = z.infer<typeof TrainingCapabilitiesSchema>;\n","import { z } from \"zod\";\nimport { compileBoundGraders, RewardBindingSchema, RewardReleaseSchema } from \"@openpond/evals/rewards\";\nimport { canonicalSha256 } from \"./protocol.js\";\n\nconst GradersSchema = z.array(z.object({ id: z.string().trim().min(1) }).catchall(z.unknown())).min(1).max(1_000);\nconst RewardExecutionSchema = z.object({\n binding: RewardBindingSchema,\n rewards: z.array(RewardReleaseSchema).min(1).max(100),\n}).strict();\n\n/**\n * The grader reference identifies the entire executed set, including order and\n * configuration. A bound plan additionally identifies its immutable composer,\n * whose sources pin roles, normalization, gates and required-score semantics.\n * Callers must obtain these inputs from their verified immutable bundle.\n */\nexport async function deterministicTrainingRewardSource(input: {\n graders: unknown;\n rewardExecution?: unknown;\n}) {\n const execution = input.rewardExecution ? RewardExecutionSchema.parse(input.rewardExecution) : null;\n const graders = GradersSchema.parse(execution\n ? compileBoundGraders(execution.binding, execution.rewards)\n : input.graders);\n if (new Set(graders.map(grader => grader.id)).size !== graders.length) {\n throw new Error(\"Training grader identities must be unique.\");\n }\n const hash = await canonicalSha256({ schemaVersion: \"openpond.trainingGraderSet.v1\", graders });\n return {\n kind: \"deterministic\" as const,\n grader: { id: `training-graders-${hash.slice(0, 32)}`, contentHash: hash },\n composer: execution ? { id: execution.binding.id, contentHash: execution.binding.contentHash } : null,\n };\n}\n","import { z } from \"zod\";\nimport { ModelProjectVersionedRefSchema } from \"./model-projects.js\";\nimport { canonicalSha256 } from \"./protocol.js\";\n\nexport const TRAINING_EVALUATION_SOURCE_PATH = \"evaluation-source.json\";\n\nconst TaskIdentitySchema = z.object({\n id: z.string().trim().min(1),\n clusterKey: z.string().trim().min(1),\n split: z.enum([\"train\", \"validation\", \"frozen_eval\"]),\n}).passthrough();\n\n/** Evaluator-only payload. The enclosing resolved bundle pins every byte. */\nexport const TrainingEvaluationSourceSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingEvaluationSource.v1\"),\n taskset: ModelProjectVersionedRefSchema,\n tasks: z.array(TaskIdentitySchema).min(1).max(10_000),\n assets: z.array(z.object({\n path: z.string().trim().min(1).max(2_000),\n sha256: z.string().regex(/^[a-f0-9]{64}$/),\n sizeBytes: z.number().int().nonnegative(),\n encoding: z.literal(\"base64\"),\n content: z.string().max(32 * 1024 * 1024),\n }).strict()).max(10_000),\n}).strict().superRefine((source, context) => {\n const ids = new Set<string>();\n source.tasks.forEach((task, index) => {\n if (task.split === \"train\") context.addIssue({ code: \"custom\", path: [\"tasks\", index, \"split\"], message: \"Evaluation sources require held-out tasks.\" });\n if (ids.has(task.id)) context.addIssue({ code: \"custom\", path: [\"tasks\", index, \"id\"], message: \"Evaluation task identities must be unique.\" });\n ids.add(task.id);\n });\n});\n\nexport type TrainingEvaluationSource = z.infer<typeof TrainingEvaluationSourceSchema>;\n\nexport function assertTrainingEvaluationIsolation(trainingTasks: unknown, evaluationTasks: unknown): void {\n const training = z.array(TaskIdentitySchema).min(1).max(10_000).parse(trainingTasks);\n const evaluation = z.array(TaskIdentitySchema).min(1).max(10_000).parse(evaluationTasks);\n const trainIds = new Set<string>();\n const trainFamilies = new Set<string>();\n for (const task of training) {\n if (task.split !== \"train\") throw new Error(\"The training population contains a held-out task.\");\n if (trainIds.has(task.id)) throw new Error(\"Training task identities must be unique.\");\n trainIds.add(task.id);\n trainFamilies.add(task.clusterKey);\n }\n const evaluationIds = new Set<string>();\n for (const task of evaluation) {\n if (task.split === \"train\") throw new Error(\"The evaluation population contains a training task.\");\n if (evaluationIds.has(task.id)) throw new Error(\"Evaluation task identities must be unique.\");\n if (trainIds.has(task.id) || trainFamilies.has(task.clusterKey)) {\n throw new Error(\"Training and evaluation tasks or families overlap.\");\n }\n evaluationIds.add(task.id);\n }\n}\n\nexport async function trainingEvaluationSourceRef(input: unknown) {\n const source = TrainingEvaluationSourceSchema.parse(input);\n const hash = await canonicalSha256(source);\n return { taskset: source.taskset, dataset: { id: `training-evaluation-${hash.slice(0, 32)}`, contentHash: hash } };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS;AAGlB,IAAM,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAC9C,IAAM,QAAQ,EAAE,OAAO,EAAE,MAAM,4BAA4B,EAAE,IAAI,EAAE;AACnE,IAAM,SAAS,CAAC,UAAiB;AAC/B,QAAM,CAAC,OAAM,WAAS,EAAE,IAAI,MAAM,MAAM,KAAK,EAAE,MAAM,GAAG;AACxD,SAAO,OAAO,KAAM,IAAE,WAAW,OAAO,SAAS,OAAO,GAAE,GAAG,CAAC;AAChE;AAIO,IAAM,4BAA4B,EAAE,OAAO;AAAA,EAChD,eAAc,EAAE,QAAQ,iCAAiC;AAAA,EACzD,SAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACjC,SAAQ,EAAE,KAAK,CAAC,cAAa,sBAAqB,iBAAgB,SAAS,CAAC;AAAA,EAC5E,aAAY;AAAA,EAAK,UAAS,EAAE,QAAQ,KAAK;AAAA,EAAE,MAAK,EAAE,QAAQ,eAAe;AAAA,EACzE,WAAU,MAAM,OAAO,WAAO;AAC5B,QAAG,CAAC,MAAM,UAAU,KAAK,EAAE,QAAS,QAAO;AAC3C,UAAM,SAAO,OAAO,KAAK;AACzB,WAAO,SAAO,MAAM,UAAQ,OAAO,OAAO,gBAAgB;AAAA,EAC5D,CAAC;AACH,CAAC,EAAE,OAAO;AAGH,IAAM,iCAAiC,EAAE,OAAO;AAAA,EACrD,eAAc,EAAE,QAAQ,+BAA+B;AAAA,EACvD,cAAa,0BAA0B,OAAO,EAAC,SAAQ,EAAE,QAAQ,oBAAoB,EAAC,CAAC;AAAA,EACvF,iBAAgB,EAAE,QAAQ,0CAA0C;AAAA,EACpE,iBAAgB,EAAE,QAAQ,IAAI;AAAA,EAC9B,4BAA2B,EAAE,QAAQ,KAAK;AAAA,EAC1C,wBAAuB,EAAE,QAAQ,CAAC;AAAA,EAClC,kBAAiB,EAAE,QAAQ,GAAG;AAChC,CAAC,EAAE,OAAO;AAKH,SAAS,yBAAyB,OAAyC;AAChF,MAAG,SAAO,QAAQ,MAAM,KAAK,MAAI,GAAI,QAAO;AAC5C,QAAM,SAAO,OAAO,KAAK;AACzB,MAAG,UAAQ,MAAM,SAAO;AACtB,UAAM,IAAI,sBAAsB,oCAAmC,sFAAsF;AAC3J,SAAO,GAAG,SAAO,QAAU,KAAK,SAAO,UAAY,SAAS,EAAE,SAAS,GAAE,GAAG,CAAC;AAC/E;AAEO,SAAS,iCAAiC,MAA8F;AAC7I,MAAG,KAAK,oBAAkB,yBAAyB,KAAK,eAAe,KACrE,KAAK,oBAAkB,QAAQ,CAAC,KAAK,gBACrC,KAAK,gBAAgB,KAAK,aAAa,aAAa,gBAAc,KAAK;AACvE,UAAM,IAAI,sBAAsB,uCAAsC,sEAAsE;AAChJ;AAEA,eAAsB,wCAAwC,MAC5D,SAAqC;AACrC,SAAO,KAAK,eAAe,QAAQ,sBAAoB,MAAM,gBAAgB,KAAK,YAAY,IAC1F,QAAQ,sBAAoB;AAClC;;;ACzDA,SAAS,KAAAA,UAAS;AAIlB,IAAM,KAAKC,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAApC,IAAuCC,QAAOD,GAAE,OAAO,EAAE,MAAM,gBAAgB;AAC/E,IAAM,QAAQ,0BAA0B,OAAO,EAAE,SAASA,GAAE,QAAQ,YAAY,EAAE,CAAC;AACnF,IAAM,MAAMA,GAAE,OAAO,EAAE,MAAM,uBAAuB,EAAE,IAAI,EAAE,EAAE,OAAO,WAAS;AAC5E,MAAI,CAAC,wBAAwB,KAAK,KAAK,KAAK,MAAM,SAAS,GAAI,QAAO;AACtE,QAAME,UAAS,OAAO,MAAM,QAAQ,KAAK,EAAE,CAAC;AAC5C,SAAOA,UAAS,MAAMA,WAAU,OAAO,OAAO,gBAAgB;AAChE,CAAC,EAAE,SAAS;AACZ,IAAM,SAASF,GAAE,MAAMA,GAAE,OAAO;AAAA,EAC9B,aAAaC;AAAA,EAAM,OAAO;AAAA,EAC1B,WAAWD,GAAE,OAAO,EAAE,KAAKA,GAAE,OAAO,EAAE,SAAS,GAAG,UAAUA,GAAE,OAAO,EAAE,SAAS,GAAG,QAAQA,GAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO;AAChI,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;AACnB,IAAM,OAAOA,GAAE,OAAO,EAAE,MAAM,uBAAuB,EAAE,IAAI,EAAE,EAAE,OAAO,WACpE,wBAAwB,KAAK,KAAK,KAAK,MAAM,UAAU,MACvD,OAAO,MAAM,QAAQ,KAAK,EAAE,CAAC,KAAK,OAAO,OAAO,gBAAgB,CAAC;AACnE,IAAM,SAASA,GAAE,OAAO;AAAA,EACtB,SAASA,GAAE,QAAQ,gCAAgC;AAAA,EAAG,uBAAuBA,GAAE,MAAMC,KAAI,EAAE,IAAI,EAAE;AAAA,EACjG,QAAQD,GAAE,MAAMA,GAAE,OAAO;AAAA,IACvB,SAAS;AAAA,IAAI,aAAa;AAAA,IAAI,qBAAqBC;AAAA,IACnD,0BAA0B;AAAA,IAAM,gCAAgC;AAAA,IAAM,2BAA2B;AAAA,IACjG,+BAA+B,KAAK,SAAS;AAAA,IAAG,sCAAsC,KAAK,SAAS;AAAA,IACpG,4BAA4BD,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,IACjE,aAAaA,GAAE,OAAO;AAAA,MAAE,0BAA0B;AAAA,MAAM,gCAAgC;AAAA,MACtF,2BAA2B;AAAA,MAAM,+BAA+B,KAAK,SAAS;AAAA,IAAE,CAAC,EAAE,OAAO,EAAE,SAAS;AAAA,EACzG,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;AACrB,CAAC,EAAE,OAAO;AAEH,IAAM,6BAA6BA,GAAE,MAAM;AAAA,EAChDA,GAAE,OAAO,EAAE,MAAMA,GAAE,QAAQ,cAAc,GAAG,cAAcA,GAAE,QAAQ,WAAW,GAAG,QAAQA,GAAE,KAAK,EAAE,CAAC,EAAE,OAAO;AAAA,EAC7GA,GAAE,OAAO;AAAA,IAAE,MAAMA,GAAE,QAAQ,cAAc;AAAA,IAAG,cAAcA,GAAE,KAAK,CAAC,eAAe,sBAAsB,CAAC;AAAA,IACtG,QAAQA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAAE,CAAC,EAAE,OAAO;AAC5D,CAAC;AAKM,IAAM,oCAAoCA,GAAE,OAAO;AAAA,EACxD,eAAeA,GAAE,QAAQ,yCAAyC;AAAA,EAClE,aAAaA,GAAE,QAAQ,cAAc;AAAA,EAAG,gBAAgB;AAC1D,CAAC,EAAE,OAAO;AAGH,IAAM,kCAAkCA,GAAE,OAAO;AAAA,EACtD,eAAeA,GAAE,QAAQ,gCAAgC;AAAA,EAAG,QAAQ;AAAA,EAAI,aAAa;AAAA,EACrF,eAAe;AAAA,EAAI,gBAAgBC;AAAA,EAAM,mBAAmBD,GAAE,OAAO,EAAE,MAAM,uBAAuB;AAAA,EACpG,gBAAgB;AAAA,EAAK,oBAAoBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAAG,eAAeA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAClH,KAAK;AAAA,EAAO,QAAQ;AAAA,EAAQ,QAAQ;AAAA,EACpC,SAASA,GAAE,OAAO;AAAA,IAAE,OAAO;AAAA,IAAO,cAAcA,GAAE,QAAQ,UAAU;AAAA,IAAG,eAAeA,GAAE,QAAQ,kBAAkB;AAAA,IAChH,oBAAoBA,GAAE,QAAQ,qCAAqC;AAAA,EAAE,CAAC,EAAE,OAAO;AAAA,EACjF,oBAAoBA,GAAE,QAAQ,0CAA0C;AAAA,EACxE,wBAAwBA,GAAE,QAAQ,2BAA2B;AAAA,EAC7D,iBAAiBA,GAAE,QAAQ,IAAI;AAAA,EAAG,4BAA4BA,GAAE,QAAQ,KAAK;AAAA,EAAG,wBAAwBA,GAAE,QAAQ,CAAC;AAAA,EACnH,UAAUA,GAAE,IAAI,SAAS;AAAA,EAAG,WAAWA,GAAE,IAAI,SAAS;AACxD,CAAC,EAAE,OAAO;AACH,IAAM,2BAA2B,gCAAgC,OAAO,EAAE,aAAaC,OAAM,WAAW,GAAG,CAAC,EAAE,OAAO;AAK5H,eAAsB,yBAAyB,KAAyB,UAErE;AACD,QAAM,QAAQ,yBAAyB,MAAM,GAAG,GAAG,EAAE,aAAa,WAAW,YAAY,GAAG,QAAQ,IAAI;AACxG,MAAI,gBAAgB,MAAM,gBAAgB,OAAO,KAAK,MAAM,WAAW,SAAS,UAC9E,MAAM,gBAAgB,SAAS,eAAe,MAAM,kBAAkB,SAAS,iBAC/E,MAAM,mBAAmB,SAAS,kBAAkB,MAAM,mBAAmB,SAAS,kBACtF,KAAK,MAAM,MAAM,SAAS,KAAK,KAAK,MAAM,MAAM,QAAQ,KACxD,IAAI,IAAI,MAAM,OAAO,IAAI,WAAS,MAAM,WAAW,CAAC,EAAE,SAAS,MAAM,OAAO,UAC5E,MAAM,OAAO,KAAK,WAAS,MAAM,gBAAgB,MAAM,MAAM,WAAW,KACxE,IAAI,IAAI,MAAM,OAAO,qBAAqB,EAAE,SAAS,MAAM,OAAO,sBAAsB,UACxF,IAAI,IAAI,MAAM,OAAO,OAAO,IAAI,WAAS,MAAM,mBAAmB,CAAC,EAAE,SAAS,MAAM,OAAO,OAAO,UAClG,MAAM,OAAO,OAAO,WAAW,MAAM,OAAO,sBAAsB,UAClE,MAAM,OAAO,OAAO,KAAK,WAAS,CAAC,MAAM,OAAO,sBAAsB,SAAS,MAAM,mBAAmB,CAAC;AACzG,UAAM,IAAI,sBAAsB,iCAAiC,gFAAgF;AACnJ,SAAO;AACT;;;AC9EA,SAAS,KAAAE,UAAS;AAGlB,IAAM,KAAKC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC3C,IAAM,OAAOA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AAC9C,IAAM,qBAAqBA,GACxB,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,gDAAgD;AAAA,EACzE,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,kBAAkBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC5C,2BAA2B;AAAA,EAC3B,cAAc;AAAA,EACd,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,EACjD,YAAYA,GAAE,IAAI,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EAC3C,iBAAiBA,GACd,OAAO,EACP,SAAS,EACT,OAAO,EACP,IAAI,EAAE,EACN;AAAA,IACC,CAAC,UAAU,OAAO,MAAM,QAAQ,CAAC,CAAC,MAAM;AAAA,IACxC;AAAA,EACF;AAAA,EACF,mBAAmBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,KAAM;AAAA,EACzD,oBAAoBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,KAAM;AAC5D,CAAC,EACA,OAAO;AAEH,IAAM,mDAAmD,mBAAmB,OAAO;AAAA,EACxF,cAAc;AAChB,CAAC,EACE,OAAO,EACP,YAAY,CAAC,OAAO,YAAY;AAC/B,MAAI,MAAM,oBAAoB,MAAM;AAClC,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,mBAAmB;AAAA,MAC1B,SAAS;AAAA,IACX,CAAC;AACL,CAAC;AAGH,eAAsB,iDACpB,OACA;AACA,QAAM,OAAO,mBAAmB,MAAM,KAAK;AAC3C,SAAO,iDAAiD,MAAM;AAAA,IAC5D,GAAG;AAAA,IACH,cAAc,MAAM,gBAAgB,IAAI;AAAA,EAC1C,CAAC;AACH;AAGO,IAAM,0CAA0CA,GACpD,OAAO;AAAA,EACN,kBAAkB,iDAAiD,SAAS;AAAA,EAC5E,MAAMA,GAAE,QAAQ,iBAAiB,EAAE,SAAS;AAAA,EAC5C,mBAAmBA,GAChB,KAAK,CAAC,yBAAyB,yBAAyB,uBAAuB,CAAC,EAChF,SAAS;AAAA,EACZ,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC3C,cAAc;AAAA,EACd,gBAAgBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,GAAG;AAAA,EACjD,iBAAiBA,GAAE,OAAO,EAAE,SAAS,EAAE,OAAO;AAAA,EAC9C,oBAAoBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,KAAM;AAC5D,CAAC,EACA,OAAO,EACP,YAAY,CAAC,OAAO,YAAY;AAC/B,MAAI,MAAM,qBAAqB,MAAM,SAAS;AAC5C,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,mBAAmB;AAAA,MAC1B,SAAS;AAAA,IACX,CAAC;AACH,QAAM,IAAI,MAAM;AAChB,MACE,MACC,EAAE,qBAAqB,MAAM,mBAC5B,EAAE,iBAAiB,MAAM,gBACzB,EAAE,mBAAmB,MAAM,kBAC3B,EAAE,oBAAoB,MAAM,mBAC5B,EAAE,uBAAuB,MAAM;AAEjC,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,MACzB,SAAS;AAAA,IACX,CAAC;AACL,CAAC;;;AC5FH,SAAS,KAAAC,UAAS;AAGX,IAAM,kCAAkCA,GAAE,OAAO;AAAA,EACtD,MAAMA,GAAE,QAAQ,YAAY;AAAA,EAC5B,kBAAkBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAClD,eAAeA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC/C,mBAAmBA,GAAE,OAAO,EAAE,MAAM,uBAAuB;AAAA,EAC3D,mBAAmBA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AAAA,EACpD,SAASA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACzC,aAAaA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC7C,2BAA2BA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AAAA,EAC5D,aAAaA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC7C,YAAYA,GAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAClD,CAAC,EAAE,OAAO;;;ACdV,SAAS,KAAAC,UAAS;AAElB,IAAM,YAAYA,GAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAI/C,IAAM,4BAA4BA,GAAE,OAAO;AAAA,EAChD,UAAUA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC1C,cAAcA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,OAAO,gBAAgB;AAAA,EACrE,OAAOA,GAAE,QAAQ,uBAAuB;AAAA,EACxC,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EAC/C,eAAeA,GAAE,QAAQ,uBAAuB;AAAA,EAChD,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,UAAUA,GAAE,OAAO;AAAA,IACjB,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IACvC,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,UAAUA,GAAE,KAAK,CAAC,qBAAqB,sBAAsB,mBAAmB,CAAC;AAAA,EACnF,CAAC,EAAE,OAAO,EAAE,SAAS;AACvB,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,YAAY;AAC1C,MAAI,MAAM,YAAY,KAAK,MAAM,MAAM,SAAS,SAAS,KAAK,KAAK,MAAM,MAAM,IAAI;AACjF,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,UAAU,GAAG,SAAS,4DAA4D,CAAC;AACjI,CAAC;;;ACvBD,SAAS,KAAAC,UAAS;AAElB,IAAMC,SAAQD,GAAE,OAAO,EAAE,MAAM,uBAAuB,EAAE,IAAI,EAAE,EAAE,OAAO,WACrE,wBAAwB,KAAK,KAAK,KAAK,MAAM,UAAU,MACvD,OAAO,MAAM,QAAQ,KAAK,EAAE,CAAC,KAAK,OAAO,OAAO,gBAAgB,CAAC;AAG5D,IAAM,8BAA8BA,GAAE,OAAO;AAAA,EAClD,eAAeA,GAAE,QAAQ,mCAAmC;AAAA,EAAG,MAAMA,GAAE,IAAI,SAAS;AAAA,EACpF,gBAAgBC,OAAM,SAAS;AAAA,EAAG,YAAYA;AAAA,EAAO,cAAcA;AAAA,EAAO,gBAAgBA;AAAA,EAC1F,iBAAiBA,OAAM,SAAS;AAAA,EAAG,oBAAoBA;AAAA,EAAO,UAAUD,GAAE,QAAQ;AAAA,EAClF,YAAYA,GAAE,MAAMA,GAAE,OAAO;AAAA,IAAE,WAAWA,GAAE,KAAK,CAAC,OAAO,SAAS,WAAW,OAAO,CAAC;AAAA,IACnF,YAAYC;AAAA,IAAO,cAAcA;AAAA,IAAO,gBAAgBA;AAAA,IAAO,YAAYD,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC1G,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,YAAU,OAAO,MAAM,CAAC,OAAO,UAC3D,MAAM,cAAc,CAAC,OAAO,SAAS,WAAW,OAAO,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC,EAAE,OAAO;;;ACbV,SAAS,KAAAE,UAAS;AAClB,SAAS,mCAAmC;AAa5C,IAAM,WAAWC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACjD,IAAM,aAAaA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AACpD,IAAM,kBAAkBA,GAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAQrD,IAAM,oCAAoCA,GAC9C,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,yCAAyC;AAAA,EAClE,MAAMA,GAAE,KAAK,CAAC,4BAA4B,sBAAsB,CAAC;AAAA,EACjE,gBAAgBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAChD,gBAAgB;AAAA,EAChB,SAASA,GAAE,QAAQ;AAAA,EACnB,aAAa;AACf,CAAC,EACA,OAAO;AAEH,IAAM,8BAA8BA,GACxC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,mCAAmC;AAAA,EAC5D,MAAMA,GAAE,KAAK,CAAC,4BAA4B,sBAAsB,CAAC;AAAA,EACjE,gBAAgB;AAAA,EAChB,aAAaA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EAC/C,aAAa;AAAA,EACb,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACrC,WAAW;AACb,CAAC,EACA,OAAO;AAEV,eAAsB,gCACpB,QACiB;AACjB,QAAM,EAAE,aAAa,cAAc,GAAG,QAAQ,IAAI;AAClD,SAAO,gBAAgB,OAAO;AAChC;AAEA,eAAsB,0CACpB,OACsC;AACtC,6BAA2B,OAAO,mCAAmC,yBAAyB;AAC9F,QAAM,SAAS,kCAAkC,MAAM,KAAK;AAC5D,QAAM,eAAe,MAAM,gCAAgC,MAAM;AACjE,MAAI,OAAO,gBAAgB,cAAc;AACvC,UAAM,IAAI;AAAA,MACR;AAAA,MACA,uCAAuC,OAAO,WAAW,mBAAmB,YAAY;AAAA,IAC1F;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,wBAAwBA,GAAE,KAAK,CAAC,sBAAsB,iBAAiB,CAAC;AAE9E,IAAM,yBAAyBA,GAAE,KAAK;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,sCAAsCA,GAChD,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,SAASA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,IAAI;AAAA,EAClE,UAAUA,GAAE,QAAQ,EAAE,QAAQ,IAAI;AACpC,CAAC,EACA,OAAO;AAEH,IAAM,0BAA0BA,GACpC,OAAO;AAAA,EACN,QAAQ,4BAA4B,SAAS;AAAA,EAC7C,cAAcA,GACX,OAAO;AAAA,IACN,IAAI;AAAA,IACJ,mBAAmB;AAAA,IACnB,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,IACpC,aAAa;AAAA,EACf,CAAC,EACA,OAAO;AAAA,EACV,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,YAAYA,GACT,OAAO;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EACX,CAAC,EACA,OAAO,EACP,SAAS,EACT,SAAS;AAAA,EACZ,SAAS;AAAA,EACT,cAAcA,GAAE,MAAM,8BAA8B,EAAE,IAAI,GAAM;AAClE,CAAC,EACA,OAAO;AAEH,IAAM,mCAAmCA,GAC7C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,oBAAoB;AAAA,EACpC,WAAW;AAAA,EACX,0BAA0B;AAAA,EAC1B,kBAAkB;AAAA,EAClB,QAAQA,GACL,OAAO;AAAA,IACN,eAAeA,GAAE,QAAQ,+BAA+B;AAAA,IACxD,QAAQA,GAAE,QAAQ,cAAc;AAAA,IAChC,kBAAkBA,GAAE,QAAQ,uBAAuB;AAAA,EACrD,CAAC,EACA,SAASA,GAAE,QAAQ,CAAC;AACzB,CAAC,EACA,OAAO;AAEV,IAAM,kCAAkCA,GACrC,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,eAAe;AAAA,EAC/B,QAAQ;AAAA,EACR,UAAU,+BAA+B,SAAS,EAAE,QAAQ,IAAI;AAClE,CAAC,EACA,OAAO;AAEV,IAAM,4BAA4BA,GAC/B,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,gBAAgB;AAAA,EAChC,oBAAoB;AAAA,EACpB,qBAAqB,+BAA+B,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC3E,sBAAsBA,GAAE,MAAM,8BAA8B,EAAE,IAAI,GAAK,EAAE,QAAQ,CAAC,CAAC;AAAA,EACnF,gBAAgBA,GACb,OAAO;AAAA,IACN,aAAaA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,IAC/C,aAAa;AAAA,IACb,kBAAkB;AAAA,EACpB,CAAC,EACA,OAAO;AAAA,EACV,kBAAkB;AAAA,EAClB,uBAAuB;AACzB,CAAC,EACA,OAAO;AAEH,IAAM,uCAAuC,4BAA4B,OAAO;AAAA,EACrF,UAAUA,GAAE,OAAO,EAAE,MAAM,mBAAmB;AAAA,EAC9C,mBAAmBA,GAAE,OAAO,EAAE,MAAM,mBAAmB;AAAA,EACvD,kBAAkB;AACpB,CAAC,EAAE,OAAO;AAEH,IAAM,kCAAkCA,GAC5C,OAAO;AAAA,EACN,MAAMA,GAAE,QAAQ,iBAAiB;AAAA;AAAA,EAEjC,eAAeA,GAAE,QAAQ,eAAe,EAAE,SAAS;AAAA,EACnD,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,cAAcA,GAAE,mBAAmB,QAAQ;AAAA,IACzC;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,YAAY,+BAA+B,SAAS,EAAE,QAAQ,IAAI;AACpE,CAAC,EACA,OAAO,EACP,YAAY,CAAC,KAAK,YAAY;AAC7B,MAAI,IAAI,OAAO,WAAW,MAAO;AACjC,QAAM,SAAS,gBAAgB,UAAU,IAAI,MAAM;AACnD,MAAI,CAAC,OAAO,SAAS;AACnB,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,MACf,SAAS;AAAA,IACX,CAAC;AACD;AAAA,EACF;AACA,MAAI,IAAI,iBAAiB,IAAI,cAAc,kBAAkB,IAAI;AAC/D,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,SACE;AAAA,IACJ,CAAC;AACH,MACE,OAAO,KAAK,UAAU,OAAO,IAAI,UAAU,WAC3C,OAAO,KAAK,UAAU,aAAa,IAAI,UAAU,YACjD,OAAO,KAAK,UAAU,sBAAsB,IAAI,UAAU,qBAC1D,OAAO,KAAK,UAAU,qBAAqB,IAAI,UAAU;AAEzD,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,MAClB,SAAS;AAAA,IACX,CAAC;AACL,CAAC;AAEI,IAAM,2BAA2BA,GAAE,mBAAmB,QAAQ;AAAA,EACnE;AAAA,EACA;AACF,CAAC;AAEM,IAAM,4BAA4BA,GACtC,OAAO;AAAA,EACN,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,gBAAgBA,GAAE,QAAQ;AAAA,EAC1B,iBAAiBA,GAAE,OAAO,EAAE,YAAY;AAAA,EACxC,eAAeA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,EACvD,QAAQA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,IAAI;AACnE,CAAC,EACA,OAAO;AAEH,IAAM,8BAA8BA,GACxC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,mCAAmC;AAAA,EAC5D,gBAAgBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAChD,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,QAAQ;AAAA,EACR,KAAK;AAAA,EACL,uBAAuBA,GAAE,MAAM,mCAAmC,EAAE,IAAI,GAAK;AAAA,EAC7E,oBAAoBA,GAAE,KAAK,CAAC,QAAQ,YAAY,YAAY,CAAC;AAAA,EAC7D,cAAc,2BAA2B,SAAS;AAAA,EAClD,mBAAmB,gCAAgC,SAAS;AAAA,EAC5D,QAAQA,GACL,OAAO;AAAA,IACN,iBAAiBA,GAAE,OAAO,EAAE,YAAY;AAAA,IACxC,oBAAoBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAChD,CAAC,EACA,OAAO;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AACf,CAAC,EACA,OAAO,EACP,YAAY,CAAC,YAAY,YAAY;AACpC,QAAM,eAAe,WAAW,cAAc,YAAY,OAAO;AACjE,QAAM,yBAAyB,WAAW,sBAAsB,KAAK,iBACnE,YAAY,OAAO,qCAAqC,YAAY,YAAY,OAAO,YAAY,QAAQ;AAC7G,MAAI,gBAAgB,wBAAwB;AAC1C,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,uBAAuB,GAAG,SAAS,uGAAuG,CAAC;AAAA,EACvL;AACA,MAAI,gBAAgB,WAAW,IAAI,SAAS,qBAAqB,WAAW,IAAI,iBAC9E,WAAW,IAAI,OAAO,WAAW,UAAU,WAAW,oBAAoB;AAC1E,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,cAAc,GAAG,SAAS,6DAA6D,CAAC;AAAA,EACpI;AACA,MAAI,WAAW,sBAAsB,WAAW,IAAI,SAAS,qBAC3D,WAAW,IAAI,cAAc,WAAW,IAAI,iBAAiB,WAAW,IAAI,OAAO,iBAAiB,SAAY;AAChH,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,mBAAmB,GAAG,SAAS,iFAAiF,CAAC;AAAA,EAC7J;AACA,MAAI,WAAW,IAAI,SAAS,qBAAqB,WAAW,IAAI,kBAAkB,iBAAiB;AACjG,UAAM,MAAM,WAAW;AACvB,QAAI,CAAC,qCAAqC,UAAU,IAAI,SAAS,EAAE,SAAS;AAC1E,cAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,OAAO,WAAW,GAAG,SAAS,kGAAkG,CAAC;AAAA,IAC7K;AACA,QAAI,IAAI,cAAc,IAAI,OAAO,iBAAiB,UAAa,IAAI,aAAa,SAAS,mBAAmB,IAAI,OAAO,WAAW,QAAQ;AACxI,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QAAU,MAAM,CAAC,KAAK;AAAA,QAC5B,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,CAAC,WAAW,sBAAsB,KAAK,iBAAe,YAAY,YAAY,YAAY,OAAO,qCAAqC,YAAY,YAAY,GAAG,GAAG;AACtK,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QAAU,MAAM,CAAC,uBAAuB;AAAA,QAC9C,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAAA,EACF;AACA,MAAI,WAAW,SAAS,oBAAoB,WAAW,OAAO,iBAAiB;AAC7E,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,YAAY,iBAAiB;AAAA,MACpC,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACF,CAAC;AAEH,eAAsB,0BACpB,YACiB;AACjB,QAAM,EAAE,aAAa,cAAc,GAAG,QAAQ,IAAI;AAClD,SAAO,gBAAgB,OAAO;AAChC;AAEA,eAAsB,oCACpB,OACgC;AAChC,6BAA2B,OAAO,mCAAmC,yBAAyB;AAC9F,QAAM,SAAS,4BAA4B,MAAM,KAAK;AACtD,QAAM,eAAe,MAAM,0BAA0B,MAAM;AAC3D,MAAI,OAAO,gBAAgB,cAAc;AACvC,UAAM,IAAI;AAAA,MACR;AAAA,MACA,4BAA4B,OAAO,WAAW,mBAAmB,YAAY;AAAA,IAC/E;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,4BAA4BA,GAAE,OAAO;AAAA,EAChD,kBAAkB,iDAAiD,SAAS;AAAA,EAC5E,MAAMA,GAAE,QAAQ,iBAAiB,EAAE,SAAS;AAAA,EAC5C,0BAA0BA,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC/C,aAAa;AAAA,EACb,cAAc;AAAA,EACd,eAAeA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACzC,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC3C,eAAeA,GAAE,QAAQ,UAAU;AACrC,CAAC,EAAE,OAAO;AAEH,IAAM,oBAAoBA,GAC9B,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,yBAAyB;AAAA,EAClD,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,eAAeA,GAAE,QAAQ,eAAe,EAAE,SAAS;AAAA,EACnD,UAAU,0BAA0B,SAAS;AAAA,EAC7C,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,uBAAuBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACjD,gBAAgB;AAAA,EAChB,OAAO;AAAA,EACP,OAAO,0BAA0B,SAAS;AAAA,EAC1C,OAAOA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACvC,SAASA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACtC,UAAUA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,EACjC,iBAAiBA,GACd,OAAO;AAAA,IACN,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAC9C,cAAcA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IAC3C,yBAAyBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IACtD,yBAAyBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxD,CAAC,EACA,OAAO;AAAA,EACV,iBAAiBA,GAAE,OAAO,EAAE,YAAY;AAAA,EACxC,OAAO,4BAA4B,SAAS;AAAA,EAC5C,gBAAgBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EAC7D,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa,gBAAgB,SAAS;AACxC,CAAC,EACA,OAAO;AAEH,IAAM,wBAAwBA,GAClC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,6BAA6B;AAAA,EACtD,MAAMA,GAAE,MAAM,iBAAiB,EAAE,IAAI,GAAK;AAAA,EAC1C,YAAYA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAC3D,CAAC,EACA,OAAO;AAEH,IAAM,yBAAyBA,GACnC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,8BAA8B;AAAA,EACvD,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACvC,MAAM;AAAA,EACN,OAAOA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACvC,SAASA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACtD,MAAMA,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,EAClD,WAAW;AACb,CAAC,EACA,OAAO;AAEH,IAAM,uBAAuBA,GACjC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,4BAA4B;AAAA,EACrD,OAAO;AAAA,EACP,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACvC,OAAOA,GAAE,KAAK,CAAC,SAAS,QAAQ,WAAW,OAAO,CAAC;AAAA,EACnD,SAASA,GAAE,OAAO,EAAE,IAAI,GAAM;AAAA,EAC9B,WAAW;AACb,CAAC,EACA,OAAO;AAEH,IAAM,kCAAkCA,GAC5C,OAAO,EAAE,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAC1D,OAAO;AAEH,IAAM,0BAA0BA,GACpC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,+BAA+B;AAAA,EACxD,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,MAAMA,GAAE,KAAK,CAAC,cAAc,WAAW,UAAU,WAAW,cAAc,SAAS,SAAS,CAAC;AAAA,EAC7F,aAAaA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EAC/C,aAAa;AAAA,EACb,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACxC,UAAUA,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,EACtD,WAAW;AACb,CAAC,EACA,OAAO;AAGH,IAAM,sCAAsCA,GAAE,OAAO;AAAA,EAC1D,eAAeA,GAAE,QAAQ,2CAA2C;AAAA,EACpE,WAAW;AAAA,EACX,OAAO;AAAA,EACP,iBAAiBA,GAAE,MAAM,8BAA8B,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EACzE,oBAAoB;AAAA,EACpB,iBAAiBA,GAAE,QAAQ,CAAC;AAAA,EAC5B,yBAAyBA,GAAE,QAAQ,CAAC;AAAA,EACpC,yBAAyBA,GAAE,QAAQ,CAAC;AAAA,EACpC,sBAAsBA,GAAE,QAAQ,CAAC;AAAA,EACjC,oBAAoBA,GAAE,QAAQ,CAAC;AAAA,EAC/B,kBAAkBA,GAAE,QAAQ,CAAC;AAC/B,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,YAAY;AAC7C,MAAI,IAAI,IAAI,SAAS,gBAAgB,IAAI,aAAW,QAAQ,EAAE,CAAC,EAAE,SAAS,SAAS,gBAAgB,QAAQ;AACzG,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,iBAAiB,GAAG,SAAS,2DAA2D,CAAC;AAAA,EACrI;AACF,CAAC;AAEM,IAAM,iCAAiCA,GAC3C,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,sCAAsC;AAAA,EAC/D,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,QAAQA,GAAE,MAAM,8BAA8B,EAAE,IAAI,GAAM;AAAA,EAC1D,SAASA,GAAE,MAAM,8BAA8B,EAAE,IAAI,GAAM;AAAA,EAC3D,UAAUA,GAAE,OAAO,EAAE,YAAY;AAAA,EACjC,iBAAiBA,GAAE,OAAO,EAAE,YAAY;AAAA,EACxC,iBAAiBA,GAAE,QAAQ;AAAA,EAC3B,eAAe,oCAAoC,SAAS;AAAA,EAC5D,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAWA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM,EAAE,SAAS;AAC3D,CAAC,EACA,OAAO;AAEV,eAAsB,6BACpB,SACiB;AACjB,SAAO,gBAAgB,+BAA+B,MAAM,OAAO,CAAC;AACtE;AAEA,eAAsB,uCACpB,OACA,UASmC;AACnC,QAAM,UAAU,+BAA+B,MAAM,KAAK;AAC1D,QAAM,aAAa,SAAS,MAAM,SAAS,EAAE;AAC7C,QAAM,eAAe,WAAW,MAAM,SAAS,WAAW;AAC1D,QAAM,aAAa,MAAM,6BAA6B,OAAO;AAC7D,MAAI,QAAQ,OAAO,cAAc,eAAe,cAAc;AAC5D,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,SAAS,WAAW,UAAa,QAAQ,WAAW,SAAS,MAAM,SAAS,MAAM,GAAG;AACvF,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,SAAS,UAAU,UAAa,QAAQ,UAAU,SAAS,MAAM,SAAS,KAAK,GAAG;AACpF,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,OAAK,SAAS,kBAAkB,SAAS,CAAC,QAAQ,iBAAiB;AACjE,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,SAAS,yBAAyB;AACpC,UAAM,aAAa,MAAM,oCAAoC,SAAS,uBAAuB;AAC7F,QAAI,WAAW,IAAI,SAAS,qBAAqB,WAAW,IAAI,kBAAkB,iBAAiB;AACjG,YAAM,IAAI,sBAAsB,qCAAqC,iDAAiD;AAAA,IACxH;AACA,UAAM,mCAAmC,SAAS,EAAE,gBAAgB,WAAW,aAAa,WAAW,WAAW,IAAI,WAAW,SAAS,SAAS,QAAQ,CAAC;AAAA,EAC9J;AACA,SAAO;AACT;AAEA,eAAsB,mCACpB,SACA,UACe;AACf,QAAM,WAAW,oCAAoC,MAAM,QAAQ,aAAa;AAChF,MAAI,QAAQ,mBAAmB,SAAS,kBAAkB,CAAC,QAAQ,iBAAiB;AAClF,UAAM,IAAI,sBAAsB,kCAAkC,yEAAyE;AAAA,EAC7I;AACA,MAAI,SAAS,aAAa,MAAM,gBAAgB,SAAS,SAAS,MAAM,MAAM,gBAAgB,SAAS,SAAS,GAAG;AACjH,UAAM,IAAI,sBAAsB,kCAAkC,+DAA+D;AAAA,EACnI;AACA,MAAI,SAAS,SAAS,KAAK,YAAU,CAAC,cAAc,WAAW,QAAQ,EAAE,SAAS,OAAO,IAAI,CAAC,GAAG;AAC/F,UAAM,IAAI,sBAAsB,kCAAkC,kEAAkE;AAAA,EACtI;AACF;AAEO,IAAM,2BAA2BA,GACrC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,gCAAgC;AAAA,EACzD,SAASA,GAAE,MAAM,uBAAuB,EAAE,IAAI,GAAM;AAAA,EACpD,SAAS,+BAA+B,SAAS;AACnD,CAAC,EACA,OAAO;AAEH,IAAM,uCAAuCA,GAAE,OAAO;AAAA,EAC3D,mBAAmBA,GAAE,OAAO,EAAE,MAAM,uBAAuB;AAAA,EAC3D,cAAcA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG;AAAA,EACjD,gBAAgBA,GAAE,MAAMA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG;AAAA,EACrE,eAAeA,GAAE,OAAO,EAAE,aAAaA,GAAE,OAAO,EAAE,IAAI,CAAC,GAAG,gBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1G,cAAcA,GAAE,OAAO;AAAA,IACrB,wBAAwBA,GAAE,QAAQ,IAAI;AAAA,IACtC,wBAAwBA,GAAE,QAAQ,IAAI;AAAA,IACtC,oCAAoCA,GAAE,QAAQ,IAAI;AAAA,IAClD,gBAAgBA,GAAE,QAAQ,OAAO;AAAA,IACjC,8BAA8BA,GAAE,QAAQ,SAAS;AAAA,EACnD,CAAC,EAAE,OAAO;AACZ,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,YAAY;AAC1C,MAAI,IAAI,IAAI,MAAM,cAAc,EAAE,SAAS,MAAM,eAAe,UAAU,MAAM,eAAe,KAAK,UAAQ,OAAO,MAAM,YAAY;AACnI,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,gBAAgB,GAAG,SAAS,wEAAwE,CAAC;AACjJ,MAAI,MAAM,eAAe,UAAU,CAAC,MAAM;AACxC,YAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,eAAe,GAAG,SAAS,mEAAmE,CAAC;AAC7I,CAAC;AAGM,SAAS,+BAA+B,cAA8C,MAC3F,cAAgH;AAChH,MAAI,CAAC,aAAa,eAAe,SAAS,IAAI,EAAG,QAAO;AACxD,MAAI,CAAC,aAAc,QAAO;AAC1B,SAAO,aAAa,SAAS,oBACzB,aAAa,oBAAoB,QAAQ,aAAa,eACtD,aAAa,sBAAsB;AACzC;AAEO,IAAM,6BAA6BA,GACvC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,kCAAkC;AAAA,EAC3D,gBAAgB;AAAA,EAChB,UAAUA,GAAE,MAAM,qBAAqB;AAAA,EACvC,SAASA,GAAE,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC;AAAA,EAClD,cAAc,2BAA2B,SAAS;AAAA,EAClD,gBAAgBA,GAAE,MAAMA,GAAE,KAAK,CAAC,YAAY,eAAe,CAAC,CAAC,EAAE,SAAS;AAAA,EACxE,YAAY,qCAAqC,SAAS;AAAA,EAC1D,oBAAoBA,GAAE,OAAO;AAAA,IAC3B,YAAYA,GAAE,QAAQ,iCAAiC;AAAA,IACvD,SAASA,GAAE,QAAQ,GAAG;AAAA,IACtB,UAAUA,GAAE,QAAQ,CAAC;AAAA,IACrB,WAAWA,GAAE,QAAQ,CAAC;AAAA,IACtB,SAASA,GAAE,QAAQ,MAAM;AAAA,IACzB,gBAAgBA,GAAE,QAAQ,WAAW;AAAA,IACrC,mBAAmBA,GAAE,OAAO,EAAE,MAAM,uBAAuB;AAAA,EAC7D,CAAC,EAAE,OAAO,EAAE,SAAS;AAAA,EACrB,mBAAmBA,GAAE,OAAO;AAAA,IAC1B,YAAYA,GAAE,QAAQ,2BAA2B;AAAA,IACjD,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,qBAAqBA,GAAE,QAAQ,IAAI;AAAA,IACnC,sBAAsBA,GAAE,QAAQ,IAAI;AAAA,EACtC,CAAC,EAAE,OAAO,EAAE,SAAS;AAAA,EACrB,YAAYA,GAAE,MAAMA,GAAE,KAAK,CAAC,SAAS,UAAU,aAAa,iBAAiB,CAAC,CAAC;AAAA,EAC/E,UAAUA,GACP,OAAO;AAAA,IACN,QAAQA,GAAE,QAAQ;AAAA,IAClB,gBAAgBA,GAAE,QAAQ;AAAA,IAC1B,sBAAsBA,GAAE,QAAQ;AAAA,EAClC,CAAC,EACA,OAAO;AAAA,EACV,WAAWA,GAAE,OAAO,EAAE,eAAeA,GAAE,QAAQ,8BAA8B,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS;AAAA,EACpG,QAAQA,GACL,OAAO;AAAA,IACN,iBAAiBA,GAAE,OAAO,EAAE,YAAY;AAAA,IACxC,oBAAoBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,IAC9C,sBAAsBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAClD,CAAC,EACA,OAAO;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AACb,CAAC,EACA,OAAO;;;AC/lBV,SAAS,KAAAC,UAAS;AAClB,SAAS,qBAAqB,qBAAqB,2BAA2B;AAG9E,IAAM,gBAAgBC,GAAE,MAAMA,GAAE,OAAO,EAAE,IAAIA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,SAASA,GAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAChH,IAAM,wBAAwBA,GAAE,OAAO;AAAA,EACrC,SAAS;AAAA,EACT,SAASA,GAAE,MAAM,mBAAmB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACtD,CAAC,EAAE,OAAO;AAQV,eAAsB,kCAAkC,OAGrD;AACD,QAAM,YAAY,MAAM,kBAAkB,sBAAsB,MAAM,MAAM,eAAe,IAAI;AAC/F,QAAM,UAAU,cAAc,MAAM,YAChC,oBAAoB,UAAU,SAAS,UAAU,OAAO,IACxD,MAAM,OAAO;AACjB,MAAI,IAAI,IAAI,QAAQ,IAAI,YAAU,OAAO,EAAE,CAAC,EAAE,SAAS,QAAQ,QAAQ;AACrE,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AACA,QAAMC,QAAO,MAAM,gBAAgB,EAAE,eAAe,iCAAiC,QAAQ,CAAC;AAC9F,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,IAAI,oBAAoBA,MAAK,MAAM,GAAG,EAAE,CAAC,IAAI,aAAaA,MAAK;AAAA,IACzE,UAAU,YAAY,EAAE,IAAI,UAAU,QAAQ,IAAI,aAAa,UAAU,QAAQ,YAAY,IAAI;AAAA,EACnG;AACF;;;ACjCA,SAAS,KAAAC,UAAS;AAIX,IAAM,kCAAkC;AAE/C,IAAM,qBAAqBC,GAAE,OAAO;AAAA,EAClC,IAAIA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;AAAA,EAC3B,YAAYA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC;AAAA,EACnC,OAAOA,GAAE,KAAK,CAAC,SAAS,cAAc,aAAa,CAAC;AACtD,CAAC,EAAE,YAAY;AAGR,IAAM,iCAAiCA,GAAE,OAAO;AAAA,EACrD,eAAeA,GAAE,QAAQ,sCAAsC;AAAA,EAC/D,SAAS;AAAA,EACT,OAAOA,GAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM;AAAA,EACpD,QAAQA,GAAE,MAAMA,GAAE,OAAO;AAAA,IACvB,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,IACxC,QAAQA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AAAA,IACzC,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,IACxC,UAAUA,GAAE,QAAQ,QAAQ;AAAA,IAC5B,SAASA,GAAE,OAAO,EAAE,IAAI,KAAK,OAAO,IAAI;AAAA,EAC1C,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAM;AACzB,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,YAAY;AAC3C,QAAM,MAAM,oBAAI,IAAY;AAC5B,SAAO,MAAM,QAAQ,CAAC,MAAM,UAAU;AACpC,QAAI,KAAK,UAAU,QAAS,SAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,OAAO,OAAO,GAAG,SAAS,6CAA6C,CAAC;AACvJ,QAAI,IAAI,IAAI,KAAK,EAAE,EAAG,SAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,SAAS,OAAO,IAAI,GAAG,SAAS,6CAA6C,CAAC;AAC9I,QAAI,IAAI,KAAK,EAAE;AAAA,EACjB,CAAC;AACH,CAAC;AAIM,SAAS,kCAAkC,eAAwB,iBAAgC;AACxG,QAAM,WAAWA,GAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM,EAAE,MAAM,aAAa;AACnF,QAAM,aAAaA,GAAE,MAAM,kBAAkB,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM,EAAE,MAAM,eAAe;AACvF,QAAM,WAAW,oBAAI,IAAY;AACjC,QAAM,gBAAgB,oBAAI,IAAY;AACtC,aAAW,QAAQ,UAAU;AAC3B,QAAI,KAAK,UAAU,QAAS,OAAM,IAAI,MAAM,mDAAmD;AAC/F,QAAI,SAAS,IAAI,KAAK,EAAE,EAAG,OAAM,IAAI,MAAM,0CAA0C;AACrF,aAAS,IAAI,KAAK,EAAE;AACpB,kBAAc,IAAI,KAAK,UAAU;AAAA,EACnC;AACA,QAAM,gBAAgB,oBAAI,IAAY;AACtC,aAAW,QAAQ,YAAY;AAC7B,QAAI,KAAK,UAAU,QAAS,OAAM,IAAI,MAAM,qDAAqD;AACjG,QAAI,cAAc,IAAI,KAAK,EAAE,EAAG,OAAM,IAAI,MAAM,4CAA4C;AAC5F,QAAI,SAAS,IAAI,KAAK,EAAE,KAAK,cAAc,IAAI,KAAK,UAAU,GAAG;AAC/D,YAAM,IAAI,MAAM,oDAAoD;AAAA,IACtE;AACA,kBAAc,IAAI,KAAK,EAAE;AAAA,EAC3B;AACF;AAEA,eAAsB,4BAA4B,OAAgB;AAChE,QAAM,SAAS,+BAA+B,MAAM,KAAK;AACzD,QAAMC,QAAO,MAAM,gBAAgB,MAAM;AACzC,SAAO,EAAE,SAAS,OAAO,SAAS,SAAS,EAAE,IAAI,uBAAuBA,MAAK,MAAM,GAAG,EAAE,CAAC,IAAI,aAAaA,MAAK,EAAE;AACnH;","names":["z","z","Hash","micros","z","z","z","z","z","Money","z","z","z","z","hash","z","z","hash"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
TasksetSchema,
|
|
3
3
|
computeTasksetHash,
|
|
4
4
|
createTasksetDraft
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GCUWJUUM.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-ZQ6QTYRE.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-GBDBKGXW.js.map
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
TasksetPreferenceComparisonBindingSchema,
|
|
12
12
|
TasksetPurposeSchema,
|
|
13
13
|
TasksetSourceRefSchema
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ZQ6QTYRE.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-GCUWJUUM.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
HarnessExperimentPolicySchema,
|
|
3
3
|
ModelTasksetRunRequestSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZRTNR4U7.js";
|
|
5
5
|
import {
|
|
6
6
|
contentHash
|
|
7
7
|
} from "./chunk-H3JZ3P5T.js";
|
|
@@ -172,4 +172,4 @@ export {
|
|
|
172
172
|
verifyExperimentDefinition,
|
|
173
173
|
experimentDefinitionRef
|
|
174
174
|
};
|
|
175
|
-
//# sourceMappingURL=chunk-
|
|
175
|
+
//# sourceMappingURL=chunk-GS5HEE4M.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CapabilityRequirementSchema,
|
|
3
3
|
ToolDeclarationSchema
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QTNYXOJW.js";
|
|
5
5
|
import {
|
|
6
6
|
ImmutableAssetRefSchema,
|
|
7
7
|
contentHash,
|
|
@@ -389,4 +389,4 @@ export {
|
|
|
389
389
|
portableTasksetTools,
|
|
390
390
|
projectPortableTaskRecord
|
|
391
391
|
};
|
|
392
|
-
//# sourceMappingURL=chunk-
|
|
392
|
+
//# sourceMappingURL=chunk-GWXJSBWR.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
ModelProjectBaseModelSchema,
|
|
2
3
|
ModelProjectVersionedRefSchema
|
|
3
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MVAEE5EI.js";
|
|
4
5
|
import {
|
|
5
6
|
canonicalJson,
|
|
6
7
|
canonicalSha256
|
|
@@ -125,7 +126,7 @@ var ModelStarterAttemptChoicesSchema = z5.object({
|
|
|
125
126
|
taskset: ModelProjectVersionedRefSchema,
|
|
126
127
|
available: z5.boolean(),
|
|
127
128
|
unavailableReason: z5.string().max(1e3).nullable(),
|
|
128
|
-
models: z5.array(z5.object({ id: IdSchema, name: z5.string().max(500), maximumOutputTokens: z5.number().int().min(1).max(1e6).optional() }).strict()).max(200),
|
|
129
|
+
models: z5.array(z5.object({ id: IdSchema, name: z5.string().max(500), maximumOutputTokens: z5.number().int().min(1).max(1e6).optional(), baseModel: ModelProjectBaseModelSchema.nullable().optional() }).strict()).max(200),
|
|
129
130
|
tasks: z5.array(z5.object({ id: IdSchema, split: TaskSplitSchema, inputPreview: z5.string().max(500), fixtures: z5.array(z5.object({ id: IdSchema, label: z5.string().max(200) }).strict()).max(1e3) }).strict()).max(100),
|
|
130
131
|
nextCursor: IdSchema.nullable()
|
|
131
132
|
}).strict();
|
|
@@ -288,4 +289,4 @@ export {
|
|
|
288
289
|
OpenPondModelStarterAttemptError,
|
|
289
290
|
OpenPondModelStarterAttemptsClient
|
|
290
291
|
};
|
|
291
|
-
//# sourceMappingURL=chunk-
|
|
292
|
+
//# sourceMappingURL=chunk-JMFYNIYZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/claude-code-runtime.ts","../src/codex-experiment-runtime.ts","../src/model-starter-attempts.ts","../src/evaluation-project-context.ts","../src/experiment-grading-contracts.ts"],"sourcesContent":["import {z} from \"zod\";\nconst Hash=z.string().regex(/^[a-f0-9]{64}$/);\nexport const ClaudeCodeRuntimeSchema=z.object({providerId:z.literal(\"claude-code\"),configurationHash:Hash,executableHash:Hash,version:z.string().regex(/^2\\.\\d+\\.\\d+$/),capabilityHash:Hash,maximumRequestCostUsd:z.number().finite().positive().max(10000),requestTimeoutMs:z.number().int().min(1000).max(300000),maximumTurns:z.number().int().min(1).max(100),holdOpen:z.boolean()}).strict();\nexport type ClaudeCodeRuntime=z.infer<typeof ClaudeCodeRuntimeSchema>;\nexport const ClaudeCodeControlSchema=z.object({id:z.string().min(1).max(200),receiptId:z.string().min(1).max(200),sessionId:z.uuid(),operationId:z.string().min(1).max(200),action:z.enum([\"message\",\"seal\"]),text:z.string().max(262144).optional()}).strict().superRefine((value,context)=>{if(value.action===\"message\"&&!value.text?.trim())context.addIssue({code:\"custom\",message:\"A human intervention requires a message.\"});if(value.action===\"seal\"&&value.text!==undefined)context.addIssue({code:\"custom\",message:\"Sealing does not add a prompt.\"});});\nexport const ClaudeProcessEvidenceSchema=z.object({\n provider:z.literal(\"claude-code\"),sessionId:z.uuid(),requestId:z.string().min(1).max(200),modelId:z.string().min(1).max(500),\n runtime:ClaudeCodeRuntimeSchema,sourceHash:Hash,outputHash:Hash,traceHash:Hash,\n runtimeEventRefs:z.array(z.string().min(1).max(200)).min(1).max(20000),eventCount:z.number().int().positive().max(20000),\n startedAt:z.iso.datetime(),completedAt:z.iso.datetime(),cleanupComplete:z.literal(true),\n}).strict().superRefine((value,context)=>{if(value.runtimeEventRefs.length!==value.eventCount||new Set(value.runtimeEventRefs).size!==value.eventCount)context.addIssue({code:\"custom\",message:\"Process event references must match the exact retained trace population.\"});});\nexport type ClaudeProcessEvidence=z.infer<typeof ClaudeProcessEvidenceSchema>;\n","import {z} from \"zod\";\n\n/** Installation-local subscription execution; this pin is never a hosted target. */\nexport const CodexExperimentRuntimeSchema=z.object({\n providerId:z.literal(\"codex\"),\n configurationHash:z.string().regex(/^[a-f0-9]{64}$/),\n accountHash:z.string().regex(/^[a-f0-9]{64}$/),\n reasoningEffort:z.enum([\"low\",\"medium\",\"high\",\"xhigh\"]),\n maximumRequestCostUsd:z.number().finite().positive().max(10000),\n requestTimeoutMs:z.number().int().min(1000).max(300000),\n}).strict();\nexport type CodexExperimentRuntime=z.infer<typeof CodexExperimentRuntimeSchema>;\n","import {ClaudeCodeRuntimeSchema} from \"./claude-code-runtime.js\";\nimport {CodexExperimentRuntimeSchema} from \"./codex-experiment-runtime.js\";\nimport { 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 { TaskSplitSchema } from \"@openpond/evals/tasksets\";\nimport { ExperimentAttemptGradeSchema } from \"./experiment-grading-contracts.js\";\nimport { ModelProjectVersionedRefSchema, ModelProjectBaseModelSchema } from \"./model-projects.js\";\nimport { canonicalJson, canonicalSha256 } from \"./protocol.js\";\nimport { StandaloneHarnessExperimentSourceSchema, NativeHarnessExperimentEvidenceSchema } from \"@openpond/evals/experiments\";\nimport { contentHash } from \"@openpond/harness\";\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, localRuntime:z.union([z.object({providerId:z.literal(\"custom-openai-compatible\"),configurationHash:HashSchema,maximumRequestCostUsd:z.number().finite().positive().max(10000),requestTimeoutMs:z.number().int().min(1000).max(300000)}).strict(),ClaudeCodeRuntimeSchema,CodexExperimentRuntimeSchema]).optional(), candidate: z.object({ artifactId: IdSchema, contentHash: HashSchema, preparationId: IdSchema, dispatchId: IdSchema, baseProfileId: IdSchema, workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/) }).strict().optional(), harness: StandaloneHarnessExperimentSourceSchema.optional(), messages: EvaluationMessagesSchema.optional(), maxOutputTokens: z.number().int().min(1).max(1_000_000).default(100_000), 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), maximumOutputTokens: z.number().int().min(1).max(1_000_000).optional(), baseModel: ModelProjectBaseModelSchema.nullable().optional() }).strict()).max(200),\n tasks: z.array(z.object({ id: IdSchema, split: TaskSplitSchema, 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\", \"pending\", \"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 native: NativeHarnessExperimentEvidenceSchema.optional(),\n providerRequestIds: z.array(IdSchema).max(1_001),\n contentHash: HashSchema,\n}).strict().superRefine((value, context) => {\n const source = value.attempt.request.policy.kind === \"hosted_chat\" ? value.attempt.request.policy.harness : undefined;\n if (Boolean(source) !== Boolean(value.native))\n context.addIssue({ code: \"custom\", path: [\"native\"], message: \"Standalone Harness results require their exact native evidence.\" });\n if (value.native && (!source || contentHash(source) !== contentHash(value.native.source)\n || value.native.modelConfigurationHash !== value.attempt.policySnapshot?.configurationHash\n || value.environment.initialStateHash !== null || value.environment.finalStateHash !== null\n || (value.environment.status === \"completed\" && (!value.environment.collected || value.output === null\n || value.native.partialOutputAvailable || value.native.outputHash !== contentHash(value.output)))))\n context.addIssue({ code: \"custom\", path: [\"native\"], message: \"Native evidence differs from the admitted source, model or output.\" });\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\", \"pending\", \"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"],"mappings":"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","names":["z","z","z","TaskGradeSchema","z","z","z","TaskGradeSchema","contentHash"]}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
OPENPOND_MODEL_PROJECT_MEDIA_TYPE,
|
|
8
8
|
OpenPondProtocolError,
|
|
9
9
|
assertCanonicalPayloadSize,
|
|
10
|
+
canonicalJson,
|
|
10
11
|
canonicalSha256,
|
|
11
12
|
readBoundedJsonResponse
|
|
12
13
|
} from "./chunk-B3ZHJ2KK.js";
|
|
@@ -18,6 +19,7 @@ import { z as z2 } from "zod";
|
|
|
18
19
|
import { z } from "zod";
|
|
19
20
|
var Id = z.string().trim().min(1).max(191);
|
|
20
21
|
var Hash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
22
|
+
var OpaqueProvider = z.string().min(1).max(191).regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/);
|
|
21
23
|
var TrainingGpuSelectionSchema = z.discriminatedUnion("mode", [
|
|
22
24
|
z.object({ mode: z.literal("automatic"), objective: z.enum(["balanced", "fast", "economical"]), gpuCount: z.union([z.literal(1), z.literal(2)]).optional() }).strict(),
|
|
23
25
|
z.object({ mode: z.literal("manual"), availabilityId: Id, gpuType: z.string().trim().min(1).max(256), gpuCount: z.union([z.literal(1), z.literal(2)]).optional() }).strict()
|
|
@@ -30,17 +32,44 @@ var TrainingEstimateReviewSchema = z.object({
|
|
|
30
32
|
expiresAt: z.string().datetime({ offset: true }),
|
|
31
33
|
token: z.string().min(1).max(8192)
|
|
32
34
|
}).strict();
|
|
35
|
+
var TrainingGpuCatalogQuerySchema = z.object({
|
|
36
|
+
teamId: Id,
|
|
37
|
+
modelId: z.string().trim().min(1).max(256),
|
|
38
|
+
modelRevision: z.string().trim().min(1).max(256),
|
|
39
|
+
tokenizerRevision: z.string().trim().min(1).max(256),
|
|
40
|
+
chatTemplateHash: Hash,
|
|
41
|
+
method: z.enum(["sft", "grpo"]),
|
|
42
|
+
loraRank: z.number().int().min(1).max(256),
|
|
43
|
+
gpuCount: z.union([z.literal(1), z.literal(2)])
|
|
44
|
+
}).strict();
|
|
45
|
+
var TrainingGpuCatalogScopeSchema = z.object({
|
|
46
|
+
query: TrainingGpuCatalogQuerySchema,
|
|
47
|
+
requestHash: Hash,
|
|
48
|
+
qualification: z.enum(["requires_preparation", "unsupported"]),
|
|
49
|
+
reason: z.enum(["model_not_supported", "lora_rank_not_supported", "gpu_count_not_qualified", "provider_not_supported"]).nullable(),
|
|
50
|
+
provider: z.object({
|
|
51
|
+
accountScopeId: Id,
|
|
52
|
+
product: z.literal("POD"),
|
|
53
|
+
cloud: z.literal("SECURE"),
|
|
54
|
+
countryCodes: z.array(z.string().regex(/^[A-Z]{2}$/)).min(1).max(300),
|
|
55
|
+
cudaVersions: z.array(z.string().regex(/^\d+\.\d+$/)).min(1).max(100),
|
|
56
|
+
dataCenterId: Id.nullable(),
|
|
57
|
+
minimumDiskGb: z.number().int().positive(),
|
|
58
|
+
priceBasis: z.literal("provider_catalog_per_gpu_rate_times_count")
|
|
59
|
+
}).strict().nullable()
|
|
60
|
+
}).strict();
|
|
33
61
|
var TrainingGpuCatalogSchema = z.object({
|
|
34
62
|
schemaVersion: z.literal("openpond.trainingGpuCatalog.v1"),
|
|
35
63
|
observedAt: z.string().datetime({ offset: true }),
|
|
36
64
|
expiresAt: z.string().datetime({ offset: true }),
|
|
37
65
|
workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),
|
|
38
66
|
supportedLoraRanks: z.array(z.number().int().positive()),
|
|
39
|
-
pricingBasis: z.
|
|
67
|
+
pricingBasis: z.enum(["accepted_compute_and_disk_hourly_before_credits", "provider_catalog_compute_and_disk_before_credits"]),
|
|
68
|
+
scope: TrainingGpuCatalogScopeSchema.optional(),
|
|
40
69
|
offerings: z.array(z.object({
|
|
41
70
|
availabilityId: Id,
|
|
42
71
|
gpuType: z.string().min(1).max(256),
|
|
43
|
-
provider:
|
|
72
|
+
provider: OpaqueProvider,
|
|
44
73
|
region: z.string().min(1),
|
|
45
74
|
dataCenterId: z.string().nullable(),
|
|
46
75
|
gpuCount: z.number().int().positive(),
|
|
@@ -51,6 +80,30 @@ var TrainingGpuCatalogSchema = z.object({
|
|
|
51
80
|
totalHourlyUsd: z.number().nonnegative()
|
|
52
81
|
}).strict()).max(1e3)
|
|
53
82
|
}).strict();
|
|
83
|
+
async function parseAndVerifyTrainingGpuCatalog(raw, query) {
|
|
84
|
+
const catalog = TrainingGpuCatalogSchema.parse(raw);
|
|
85
|
+
if (Date.parse(catalog.expiresAt) <= Date.parse(catalog.observedAt) || Date.parse(catalog.expiresAt) <= Date.now())
|
|
86
|
+
throw new OpenPondProtocolError("training_gpu_catalog_expired", "Refresh GPU availability before reviewing this run.");
|
|
87
|
+
if (!query) {
|
|
88
|
+
if (catalog.scope) throw new OpenPondProtocolError("training_gpu_catalog_scope_mismatch", "An overview read returned an unrequested workload.");
|
|
89
|
+
return catalog;
|
|
90
|
+
}
|
|
91
|
+
const scope = catalog.scope;
|
|
92
|
+
if (!scope || catalog.pricingBasis !== "provider_catalog_compute_and_disk_before_credits" || canonicalJson(scope.query) !== canonicalJson(query) || scope.requestHash !== await canonicalSha256(query) || scope.qualification === "unsupported" !== (scope.reason !== null) || (scope.qualification === "unsupported" ? scope.provider !== null || catalog.offerings.length > 0 : !scope.provider) || new Set(catalog.offerings.map((item) => item.provider)).size > 1 || catalog.offerings.some((item) => item.gpuCount !== query.gpuCount || item.dataCenterId !== scope.provider?.dataCenterId) || new Set(catalog.offerings.map((item) => item.availabilityId)).size !== catalog.offerings.length)
|
|
93
|
+
throw new OpenPondProtocolError("training_gpu_catalog_scope_mismatch", "The GPU offers do not match this workspace and workload.");
|
|
94
|
+
return catalog;
|
|
95
|
+
}
|
|
96
|
+
function createTrainingGpuCatalogClient(request) {
|
|
97
|
+
return {
|
|
98
|
+
async gpuCatalog(raw) {
|
|
99
|
+
const query = raw === void 0 ? void 0 : TrainingGpuCatalogQuerySchema.parse(raw);
|
|
100
|
+
const params = query ? new URLSearchParams(Object.entries(query).map(([key, value2]) => [key, String(value2)])) : null;
|
|
101
|
+
const response = await request(`/v1/training/gpu-catalog${params ? `?${params}` : ""}`);
|
|
102
|
+
const value = response && typeof response === "object" && "catalog" in response ? response.catalog : response;
|
|
103
|
+
return parseAndVerifyTrainingGpuCatalog(value, query);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
54
107
|
|
|
55
108
|
// src/model-projects.ts
|
|
56
109
|
import { assertBoundedTaskJson } from "@openpond/evals/task-schema";
|
|
@@ -411,7 +464,11 @@ function unwrapObject(value, key) {
|
|
|
411
464
|
export {
|
|
412
465
|
TrainingGpuSelectionSchema,
|
|
413
466
|
TrainingEstimateReviewSchema,
|
|
467
|
+
TrainingGpuCatalogQuerySchema,
|
|
468
|
+
TrainingGpuCatalogScopeSchema,
|
|
414
469
|
TrainingGpuCatalogSchema,
|
|
470
|
+
parseAndVerifyTrainingGpuCatalog,
|
|
471
|
+
createTrainingGpuCatalogClient,
|
|
415
472
|
ModelProjectImmutableRefSchema,
|
|
416
473
|
ModelProjectVersionedRefSchema,
|
|
417
474
|
ModelProjectBaseModelSchema,
|
|
@@ -439,4 +496,4 @@ export {
|
|
|
439
496
|
OpenPondModelProjectApiError,
|
|
440
497
|
createModelProjectsClient
|
|
441
498
|
};
|
|
442
|
-
//# sourceMappingURL=chunk-
|
|
499
|
+
//# sourceMappingURL=chunk-MVAEE5EI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/model-projects.ts","../src/training-compute-selection.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { TrainingGpuSelectionSchema } from \"./training-compute-selection.js\";\nimport { ModelInitialLearningSchema, type ModelInitialLearning } from \"./model-learning-intent.js\";\nexport { ModelInitialLearningSchema, type ModelInitialLearning } from \"./model-learning-intent.js\";\nimport { assertBoundedTaskJson } from \"@openpond/evals/task-schema\";\n\nimport {\n MODEL_PROJECT_API_RESPONSE_MAX_BYTES,\n MODEL_PROJECT_SYNC_MAX_BYTES,\n OPENPOND_MODEL_PROJECT_MEDIA_TYPE,\n OpenPondProtocolError,\n assertCanonicalPayloadSize,\n canonicalSha256,\n readBoundedJsonResponse,\n} from \"./protocol.js\";\n\nexport {\n MODEL_PROJECT_API_RESPONSE_MAX_BYTES,\n MODEL_PROJECT_SYNC_MAX_BYTES,\n OPENPOND_MODEL_PROJECT_MEDIA_TYPE,\n} from \"./protocol.js\";\n\nconst IdSchema = z.string().trim().min(1).max(500);\nconst HashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nconst TimestampSchema = z.string().datetime({ offset: true });\n\nexport const ModelProjectImmutableRefSchema = z\n .object({\n id: IdSchema,\n contentHash: HashSchema,\n })\n .strict();\n\nexport const ModelProjectVersionedRefSchema =\n ModelProjectImmutableRefSchema.extend({\n revision: z.number().int().positive(),\n }).strict();\n\nexport const ModelProjectBaseModelSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.baseModelPreference.v1\"),\n modelId: IdSchema,\n revision: z.string().trim().min(1).max(256).nullable(),\n tokenizerRevision: z.string().trim().min(1).max(256).nullable(),\n chatTemplateHash: z.string().trim().min(8).max(256).nullable(),\n modelAssetId: IdSchema.nullable(),\n source: z.enum([\"managed\", \"local\", \"builtin\"]),\n })\n .strict();\n\nexport const ModelProjectTrainingMethodSchema = z.enum([\n \"sft\",\n \"dpo\",\n \"grpo\",\n \"ppo\",\n \"sdft\",\n \"opd\",\n \"opsd\",\n \"sdpo\",\n]);\n\n/**\n * A versioned recipe document stored while a Project is still mutable.\n * The training endpoint validates the selected recipe version in full before\n * accepting an immutable Job; Project sync preserves newer recipe fields.\n */\nexport const ModelProjectRecipeDocumentSchema = z\n .object({\n schemaVersion: z.string().regex(/^openpond\\.[A-Za-z0-9]+Recipe\\.v\\d+$/),\n method: ModelProjectTrainingMethodSchema,\n parameterization: z.enum([\"lora\", \"full\"]),\n })\n .catchall(z.unknown());\n\n/** The published Profile source selected for this Model's Harness. */\nexport const ModelProfileSourceSelectionSchema = z.object({\n profileProjectId: IdSchema,\n sourceRevision: z.string().regex(/^[a-f0-9]{40,64}$/),\n harnessRelease: ModelProjectImmutableRefSchema,\n}).strict();\n\n/** A held-out check selected from an exact released Profile catalog. Its\n * Taskset and grader stay in the evaluation runtime, outside training input. */\nexport const ModelProfileEvaluationSelectionSchema = z.object({\n profileProjectId: IdSchema,\n sourceRevision: z.string().regex(/^[a-f0-9]{40,64}$/),\n catalogHash: HashSchema,\n definitionId: IdSchema,\n harnessRelease: ModelProjectImmutableRefSchema,\n tasksetRelease: ModelProjectImmutableRefSchema,\n}).strict();\n\nexport const ModelProjectTrainingSetupSchema = z\n .object({\n tasksetRef: ModelProjectVersionedRefSchema.nullable().default(null),\n evaluationTasksetRef: ModelProjectVersionedRefSchema.nullable().optional(),\n profileSource: ModelProfileSourceSelectionSchema.nullable().optional(),\n profileEvaluation: ModelProfileEvaluationSelectionSchema.nullable().optional(),\n rewardBindingRef: ModelProjectVersionedRefSchema.nullable().optional(),\n tasksetRelease: ModelProjectImmutableRefSchema.nullable().default(null),\n harnessRelease: ModelProjectImmutableRefSchema.nullable().default(null),\n baseModel: ModelProjectBaseModelSchema.nullable().default(null),\n method: ModelProjectTrainingMethodSchema.nullable().default(null),\n destinationId: IdSchema.nullable().default(null),\n managedRolloutPlacement: z\n .enum([\"local\", \"remote\"])\n .default(\"remote\"),\n managedGpuPlacementObjective: z\n .enum([\"fast\", \"balanced\", \"economical\"])\n .default(\"balanced\"),\n managedGpuSelection: TrainingGpuSelectionSchema.optional(),\n continuationAdapterMode: z.enum([\"residual_append\", \"shared\", \"sequential_merge\"]).optional(),\n managedGpuRequirement: z\n .enum([\"any\", \"h100_hbm3\"])\n .default(\"any\"),\n runPreset: z\n .enum([\"small\", \"standard\", \"custom\", \"small_experiment\"])\n .nullable()\n .default(null),\n recipe: ModelProjectRecipeDocumentSchema.nullable().default(null),\n preferredMaximumSpendUsd: z.number().nonnegative().nullable().default(null),\n preferredRetentionDays: z\n .number()\n .int()\n .nonnegative()\n .nullable()\n .default(null),\n })\n .strict();\n\nexport const HostedModelProjectTrainingSetupSchema =\n ModelProjectTrainingSetupSchema;\n\nexport const HostedModelProjectLinkSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.hostedModelProjectLink.v1\"),\n apiOrigin: z.string().url().refine(value => new URL(value).origin === value, \"Use a canonical API origin.\").nullable().default(null),\n teamId: IdSchema,\n projectId: IdSchema,\n portableProjectId: IdSchema,\n revision: z.number().int().positive(),\n etag: HashSchema,\n syncedSourceRevision: z.number().int().positive(),\n syncedAt: TimestampSchema,\n tasksets: z\n .array(\n z\n .object({\n localTasksetId: IdSchema,\n localTasksetHash: HashSchema.nullable().default(null),\n releaseId: IdSchema,\n releaseRevision: z.number().int().positive(),\n releaseHash: HashSchema,\n packageHash: HashSchema.nullable().default(null),\n hostedTasksetId: IdSchema,\n syncedAt: TimestampSchema,\n })\n .strict(),\n )\n .max(10_000)\n .default([]),\n })\n .strict();\n\nexport const ModelProjectTasksetSyncSchema = z\n .object({\n localTasksetId: IdSchema,\n releaseId: IdSchema,\n releaseRevision: z.number().int().positive(),\n releaseHash: HashSchema,\n state: z.enum([\"syncing\", \"synced\", \"sync_failed\"]),\n hostedTasksetId: IdSchema.nullable().default(null),\n lastAttemptAt: TimestampSchema,\n syncedAt: TimestampSchema.nullable().default(null),\n lastError: z.string().trim().min(1).max(5_000).nullable().default(null),\n })\n .strict();\n\nexport const ModelProjectSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.modelProject.v2\"),\n id: IdSchema,\n profileId: IdSchema,\n revision: z.number().int().positive().default(1),\n name: z.string().trim().min(1).max(200),\n objective: z.string().trim().max(5_000).nullable(),\n defaultBaseModel: ModelProjectBaseModelSchema.nullable(),\n defaultDestinationId: IdSchema.nullable(),\n trainingSetup: ModelProjectTrainingSetupSchema,\n hosted: HostedModelProjectLinkSchema.nullable().default(null),\n tasksetSyncs: z\n .array(ModelProjectTasksetSyncSchema)\n .max(10_000)\n .default([]),\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n })\n .strict();\n\n/** User-editable configuration. Execution and hosting receipts are server-owned. */\nexport const ModelProjectEditableSchema = ModelProjectSchema.pick({\n id: true,\n profileId: true,\n name: true,\n objective: true,\n defaultBaseModel: true,\n defaultDestinationId: true,\n trainingSetup: true,\n});\n\n/** Zero creates a new Model; a positive revision updates that exact revision. */\nexport const ModelProjectSaveRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelProjectSave.v1\"),\n operationId: IdSchema,\n expectedRevision: z.number().int().nonnegative(),\n project: ModelProjectEditableSchema,\n learning: ModelInitialLearningSchema.optional(),\n}).strict().superRefine((value, context) => {\n if (value.learning && value.expectedRevision !== 0) context.addIssue({ code: \"custom\", path: [\"learning\"], message: \"Use learning settings to edit an existing Model's policy.\" });\n});\n\nexport type ModelProjectSaveRequest = z.infer<typeof ModelProjectSaveRequestSchema>;\n\n/** A read-only configuration check; it does not establish training or grader quality. */\nexport const ModelProjectConfigurationCheckSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelProjectConfigurationCheck.v1\"),\n configurationHash: HashSchema,\n projectId: IdSchema,\n expectedRevision: z.number().int().nonnegative(),\n checkedAt: TimestampSchema,\n canSave: z.boolean(),\n deferred: z.array(z.enum([\"base_model\", \"taskset\"])).max(2),\n findings: z.array(z.object({\n code: IdSchema,\n severity: z.enum([\"error\", \"warning\"]),\n message: z.string().min(1).max(5000),\n field: z.string().min(1).max(500).nullable(),\n }).strict()).max(100),\n}).strict();\n\nexport type ModelProjectConfigurationCheck = z.infer<typeof ModelProjectConfigurationCheckSchema>;\n\nexport const ModelProjectBaseModelCandidateSchema = z.object({\n id: IdSchema, name: z.string().min(1).max(500), available: z.boolean(), preference: ModelProjectBaseModelSchema,\n}).strict();\n\nexport async function modelProjectConfigurationHash(request: ModelProjectSaveRequest): Promise<string> {\n const parsed = parseModelProjectSaveRequest(request);\n return canonicalSha256({ project: parsed.project, expectedRevision: parsed.expectedRevision, ...(parsed.learning ? { learning: parsed.learning } : {}) });\n}\n\nexport function parseModelProjectSaveRequest(value: unknown): ModelProjectSaveRequest {\n try {\n assertBoundedTaskJson(value, MODEL_PROJECT_SYNC_MAX_BYTES);\n } catch {\n throw new OpenPondModelProjectApiError(400, {\n schemaVersion: \"openpond.modelProjectApiError.v2\", code: \"model_configuration_json_invalid\",\n message: \"Model configuration must be bounded JSON data.\", retryable: false, requestId: null, details: {},\n });\n }\n return ModelProjectSaveRequestSchema.parse(value);\n}\n\n/** Stable across transport retries; excludes server-owned revision/timestamps. */\nexport async function createModelProjectSaveRequest(\n project: z.input<typeof ModelProjectEditableSchema>,\n expectedRevision: number,\n learning?: ModelInitialLearning,\n): Promise<ModelProjectSaveRequest> {\n assertBoundedTaskJson(project, MODEL_PROJECT_SYNC_MAX_BYTES);\n const editable = ModelProjectEditableSchema.parse(project);\n assertCanonicalPayloadSize(editable, MODEL_PROJECT_SYNC_MAX_BYTES, \"Model configuration\");\n const initialLearning = learning ? ModelInitialLearningSchema.parse(learning) : undefined;\n const hash = await canonicalSha256({ project: editable, expectedRevision, ...(initialLearning ? { learning: initialLearning } : {}) });\n return parseModelProjectSaveRequest({\n schemaVersion: \"openpond.modelProjectSave.v1\",\n operationId: `model-save:${hash}`,\n expectedRevision,\n project: editable,\n ...(initialLearning ? { learning: initialLearning } : {}),\n });\n}\n\nexport const HostedModelProjectSyncSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.hostedModelProjectSync.v2\"),\n portableProjectId: IdSchema,\n name: z.string().trim().min(1).max(200),\n objective: z.string().trim().max(5_000).nullable(),\n defaultBaseModel: ModelProjectBaseModelSchema.nullable(),\n defaultDestinationId: IdSchema.nullable(),\n trainingSetup: HostedModelProjectTrainingSetupSchema,\n sourceRevision: z.number().int().positive(),\n sourceUpdatedAt: TimestampSchema,\n expectedEtag: HashSchema.nullable().default(null),\n })\n .strict();\n\nexport const HostedModelProjectSummarySchema = z\n .object({\n id: IdSchema,\n teamId: IdSchema,\n portableProjectId: IdSchema,\n name: z.string().trim().min(1).max(200),\n objective: z.string().trim().max(5_000).nullable(),\n defaultBaseModel: ModelProjectBaseModelSchema.nullable(),\n defaultDestinationId: IdSchema.nullable(),\n trainingSetup: HostedModelProjectTrainingSetupSchema,\n sourceRevision: z.number().int().positive(),\n sourceUpdatedAt: TimestampSchema,\n revision: z.number().int().positive(),\n etag: HashSchema,\n createdAt: TimestampSchema,\n updatedAt: TimestampSchema,\n })\n .strict();\n\nexport const ModelProjectResourceSummarySchema = z\n .object({\n kind: z.enum([\n \"taskset_release\",\n \"harness_release\",\n \"dataset_release\",\n \"evidence_set\",\n \"model_version\",\n \"reward_model_version\",\n \"evaluation_receipt\",\n ]),\n ref: ModelProjectImmutableRefSchema,\n role: z.string().trim().min(1).max(200).nullable().default(null),\n updatedAt: TimestampSchema,\n })\n .strict();\n\nexport const HostedModelProjectDetailSchema = z\n .object({\n project: HostedModelProjectSummarySchema,\n resources: z.array(ModelProjectResourceSummarySchema).max(10_000),\n jobCount: z.number().int().nonnegative(),\n latestJobIds: z.array(IdSchema).max(100),\n })\n .strict();\n\nexport const ModelProjectApiErrorSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.modelProjectApiError.v2\"),\n code: z.string().trim().min(1).max(200),\n message: z.string().trim().min(1).max(5_000),\n retryable: z.boolean().default(false),\n requestId: z.string().trim().min(1).max(500).nullable().default(null),\n details: z.record(z.string(), z.unknown()).default({}),\n })\n .strict();\n\nexport class OpenPondModelProjectApiError extends Error {\n readonly status: number;\n readonly code: string;\n readonly retryable: boolean;\n readonly requestId: string | null;\n readonly details: Record<string, unknown>;\n\n constructor(status: number, error: z.infer<typeof ModelProjectApiErrorSchema>) {\n super(error.message);\n this.name = \"OpenPondModelProjectApiError\";\n this.status = status;\n this.code = error.code;\n this.retryable = error.retryable;\n this.requestId = error.requestId;\n this.details = error.details;\n }\n}\n\nexport type ModelProject = z.infer<typeof ModelProjectSchema>;\nexport type ModelProjectTrainingSetup = z.infer<\n typeof ModelProjectTrainingSetupSchema\n>;\nexport type HostedModelProjectSync = z.infer<\n typeof HostedModelProjectSyncSchema\n>;\nexport type HostedModelProjectSummary = z.infer<\n typeof HostedModelProjectSummarySchema\n>;\nexport type HostedModelProjectDetail = z.infer<\n typeof HostedModelProjectDetailSchema\n>;\n\ntype ModelProjectsFetch = typeof fetch;\n\nfunction headersRecord(headers: HeadersInit | undefined): Record<string, string> {\n const result: Record<string, string> = {};\n new Headers(headers).forEach((value, key) => {\n result[key] = value;\n });\n return result;\n}\n\nexport function createModelProjectsClient(input: {\n baseUrl: string;\n fetch?: ModelProjectsFetch;\n headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);\n}) {\n const fetchImpl = input.fetch ?? fetch;\n const baseUrl = input.baseUrl.replace(/\\/$/, \"\");\n\n async function request(pathname: string, init?: RequestInit): Promise<unknown> {\n const configuredHeaders =\n typeof input.headers === \"function\"\n ? await input.headers()\n : (input.headers ?? {});\n const response = await fetchImpl(`${baseUrl}${pathname}`, {\n ...init,\n headers: {\n accept: OPENPOND_MODEL_PROJECT_MEDIA_TYPE,\n ...(init?.body\n ? { \"content-type\": OPENPOND_MODEL_PROJECT_MEDIA_TYPE }\n : {}),\n ...headersRecord(configuredHeaders),\n ...headersRecord(init?.headers),\n },\n });\n const body = await readBoundedJsonResponse(\n response,\n MODEL_PROJECT_API_RESPONSE_MAX_BYTES,\n \"Model Project API response\",\n );\n if (!response.ok) {\n const parsed = ModelProjectApiErrorSchema.safeParse(body);\n if (parsed.success) {\n throw new OpenPondModelProjectApiError(response.status, parsed.data);\n }\n throw new OpenPondProtocolError(\n \"invalid_error_response\",\n `Model Project request failed with HTTP ${response.status} and an invalid error envelope.`,\n );\n }\n return body;\n }\n\n return {\n async configurationCandidates() {\n return z.object({ candidates: z.array(ModelProjectBaseModelCandidateSchema).max(1000) }).strict().parse(\n await request(\"/v1/model-projects/configuration/candidates\", { headers: { accept: \"application/json\" } }),\n ).candidates;\n },\n async checkConfiguration(value: ModelProjectSaveRequest) {\n const parsed = parseModelProjectSaveRequest(value);\n return ModelProjectConfigurationCheckSchema.parse(await request(\"/v1/model-projects/configuration/check\", {\n method: \"POST\", headers: { accept: \"application/json\", \"content-type\": \"application/json\" }, body: JSON.stringify(parsed),\n }));\n },\n async saveConfiguration(value: ModelProjectSaveRequest) {\n const parsed = parseModelProjectSaveRequest(value);\n return HostedModelProjectSummarySchema.parse(await request(\"/v1/model-projects/configuration/save\", {\n method: \"POST\", headers: { accept: \"application/json\", \"content-type\": \"application/json\" }, body: JSON.stringify(parsed),\n }));\n },\n async upsert(project: HostedModelProjectSync) {\n assertCanonicalPayloadSize(\n project,\n MODEL_PROJECT_SYNC_MAX_BYTES,\n \"Model Project sync\",\n );\n const parsed = HostedModelProjectSyncSchema.parse(project);\n const body = await request(\n `/v1/model-projects/${encodeURIComponent(parsed.portableProjectId)}`,\n { method: \"PUT\", body: JSON.stringify(parsed) },\n );\n return HostedModelProjectSummarySchema.parse(\n unwrapObject(body, \"project\"),\n );\n },\n async list() {\n const body = await request(\"/v1/model-projects\");\n return z\n .array(HostedModelProjectSummarySchema)\n .parse(unwrapObject(body, \"projects\"));\n },\n async get(projectId: string) {\n const body = await request(\n `/v1/model-projects/${encodeURIComponent(IdSchema.parse(projectId))}`,\n );\n return HostedModelProjectDetailSchema.parse(body);\n },\n };\n}\n\nfunction unwrapObject(value: unknown, key: string): unknown {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) return value;\n return key in value ? (value as Record<string, unknown>)[key] : value;\n}\n","import { z } from \"zod\";\nimport { canonicalJson, canonicalSha256, OpenPondProtocolError } from \"./protocol.js\";\n\nconst Id = z.string().trim().min(1).max(191);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nconst OpaqueProvider = z.string().min(1).max(191).regex(/^[A-Za-z0-9][A-Za-z0-9._:/-]*$/);\n\nexport const TrainingGpuSelectionSchema = z.discriminatedUnion(\"mode\", [\n z.object({ mode: z.literal(\"automatic\"), objective: z.enum([\"balanced\", \"fast\", \"economical\"]), gpuCount: z.union([z.literal(1), z.literal(2)]).optional() }).strict(),\n z.object({ mode: z.literal(\"manual\"), availabilityId: Id, gpuType: z.string().trim().min(1).max(256), gpuCount: z.union([z.literal(1), z.literal(2)]).optional() }).strict(),\n]);\n\n/** This token binds a reviewed workload and price, without reserving resources\n * or approving the estimate's recommended budget. */\nexport const TrainingEstimateReviewSchema = z.object({\n estimateId: Id,\n inputHash: Hash,\n requestHash: Hash,\n pricingVersion: Id,\n expiresAt: z.string().datetime({ offset: true }),\n token: z.string().min(1).max(8192),\n}).strict();\n\nexport type TrainingGpuSelection = z.infer<typeof TrainingGpuSelectionSchema>;\nexport type TrainingEstimateReview = z.infer<typeof TrainingEstimateReviewSchema>;\n\n/** A live catalog query is an eligibility read, never a training approval. */\nexport const TrainingGpuCatalogQuerySchema = z.object({\n teamId: Id,\n modelId: z.string().trim().min(1).max(256),\n modelRevision: z.string().trim().min(1).max(256),\n tokenizerRevision: z.string().trim().min(1).max(256),\n chatTemplateHash: Hash,\n method: z.enum([\"sft\", \"grpo\"]),\n loraRank: z.number().int().min(1).max(256),\n gpuCount: z.union([z.literal(1), z.literal(2)]),\n}).strict();\nexport type TrainingGpuCatalogQuery = z.infer<typeof TrainingGpuCatalogQuerySchema>;\n\nexport const TrainingGpuCatalogScopeSchema = z.object({\n query: TrainingGpuCatalogQuerySchema,\n requestHash: Hash,\n qualification: z.enum([\"requires_preparation\", \"unsupported\"]),\n reason: z.enum([\"model_not_supported\", \"lora_rank_not_supported\", \"gpu_count_not_qualified\", \"provider_not_supported\"]).nullable(),\n provider: z.object({\n accountScopeId: Id,\n product: z.literal(\"POD\"), cloud: z.literal(\"SECURE\"),\n countryCodes: z.array(z.string().regex(/^[A-Z]{2}$/)).min(1).max(300),\n cudaVersions: z.array(z.string().regex(/^\\d+\\.\\d+$/)).min(1).max(100),\n dataCenterId: Id.nullable(),\n minimumDiskGb: z.number().int().positive(),\n priceBasis: z.literal(\"provider_catalog_per_gpu_rate_times_count\"),\n }).strict().nullable(),\n}).strict();\nexport type TrainingGpuCatalogScope = z.infer<typeof TrainingGpuCatalogScopeSchema>;\n\nexport const TrainingGpuCatalogSchema = z.object({\n schemaVersion: z.literal(\"openpond.trainingGpuCatalog.v1\"),\n observedAt: z.string().datetime({ offset: true }),\n expiresAt: z.string().datetime({ offset: true }),\n workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n supportedLoraRanks: z.array(z.number().int().positive()),\n pricingBasis: z.enum([\"accepted_compute_and_disk_hourly_before_credits\", \"provider_catalog_compute_and_disk_before_credits\"]),\n scope: TrainingGpuCatalogScopeSchema.optional(),\n offerings: z.array(z.object({\n availabilityId: Id, gpuType: z.string().min(1).max(256), provider: OpaqueProvider,\n region: z.string().min(1), dataCenterId: z.string().nullable(),\n gpuCount: z.number().int().positive(), gpuMemoryGb: z.number().positive(),\n stockStatus: z.enum([\"High\", \"Medium\", \"Low\"]),\n computeHourlyUsd: z.number().nonnegative(), diskHourlyUsd: z.number().nonnegative(), totalHourlyUsd: z.number().nonnegative(),\n }).strict()).max(1000),\n}).strict();\nexport type TrainingGpuCatalog = z.infer<typeof TrainingGpuCatalogSchema>;\n\nexport async function parseAndVerifyTrainingGpuCatalog(raw: unknown, query?: TrainingGpuCatalogQuery) {\n const catalog = TrainingGpuCatalogSchema.parse(raw);\n if (Date.parse(catalog.expiresAt) <= Date.parse(catalog.observedAt) ||\n Date.parse(catalog.expiresAt) <= Date.now())\n throw new OpenPondProtocolError(\"training_gpu_catalog_expired\", \"Refresh GPU availability before reviewing this run.\");\n if (!query) {\n if (catalog.scope) throw new OpenPondProtocolError(\"training_gpu_catalog_scope_mismatch\", \"An overview read returned an unrequested workload.\");\n return catalog;\n }\n const scope = catalog.scope;\n if (!scope || catalog.pricingBasis !== \"provider_catalog_compute_and_disk_before_credits\" ||\n canonicalJson(scope.query) !== canonicalJson(query) ||\n scope.requestHash !== await canonicalSha256(query) ||\n (scope.qualification === \"unsupported\") !== (scope.reason !== null) ||\n (scope.qualification === \"unsupported\" ? scope.provider !== null || catalog.offerings.length > 0 : !scope.provider) ||\n new Set(catalog.offerings.map(item => item.provider)).size > 1 ||\n catalog.offerings.some(item => item.gpuCount !== query.gpuCount ||\n item.dataCenterId !== scope.provider?.dataCenterId) ||\n new Set(catalog.offerings.map(item => item.availabilityId)).size !== catalog.offerings.length)\n throw new OpenPondProtocolError(\"training_gpu_catalog_scope_mismatch\", \"The GPU offers do not match this workspace and workload.\");\n return catalog;\n}\n\nexport function createTrainingGpuCatalogClient(request: (path: string, init?: RequestInit) => Promise<unknown>) {\n return {\n async gpuCatalog(raw?: TrainingGpuCatalogQuery) {\n const query = raw === undefined ? undefined : TrainingGpuCatalogQuerySchema.parse(raw);\n const params = query ? new URLSearchParams(Object.entries(query).map(([key, value]) => [key, String(value)])) : null;\n const response = await request(`/v1/training/gpu-catalog${params ? `?${params}` : \"\"}`);\n const value = response && typeof response === \"object\" && \"catalog\" in response ? response.catalog : response;\n return parseAndVerifyTrainingGpuCatalog(value, query);\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS,KAAAA,UAAS;;;ACAlB,SAAS,SAAS;AAGlB,IAAM,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAC3C,IAAM,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB;AAC9C,IAAM,iBAAiB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,MAAM,gCAAgC;AAEjF,IAAM,6BAA6B,EAAE,mBAAmB,QAAQ;AAAA,EACrE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,WAAW,GAAG,WAAW,EAAE,KAAK,CAAC,YAAY,QAAQ,YAAY,CAAC,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AAAA,EACrK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,QAAQ,GAAG,gBAAgB,IAAI,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO;AAC7K,CAAC;AAIM,IAAM,+BAA+B,EAAE,OAAO;AAAA,EACnD,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EAC/C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;AACnC,CAAC,EAAE,OAAO;AAMH,IAAM,gCAAgC,EAAE,OAAO;AAAA,EACpD,QAAQ;AAAA,EACR,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACzC,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC/C,mBAAmB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACnD,kBAAkB;AAAA,EAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,MAAM,CAAC;AAAA,EAC9B,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACzC,UAAU,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC,EAAE,OAAO;AAGH,IAAM,gCAAgC,EAAE,OAAO;AAAA,EACpD,OAAO;AAAA,EACP,aAAa;AAAA,EACb,eAAe,EAAE,KAAK,CAAC,wBAAwB,aAAa,CAAC;AAAA,EAC7D,QAAQ,EAAE,KAAK,CAAC,uBAAuB,2BAA2B,2BAA2B,wBAAwB,CAAC,EAAE,SAAS;AAAA,EACjI,UAAU,EAAE,OAAO;AAAA,IACjB,gBAAgB;AAAA,IAChB,SAAS,EAAE,QAAQ,KAAK;AAAA,IAAG,OAAO,EAAE,QAAQ,QAAQ;AAAA,IACpD,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IACpE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IACpE,cAAc,GAAG,SAAS;AAAA,IAC1B,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,IACzC,YAAY,EAAE,QAAQ,2CAA2C;AAAA,EACnE,CAAC,EAAE,OAAO,EAAE,SAAS;AACvB,CAAC,EAAE,OAAO;AAGH,IAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,eAAe,EAAE,QAAQ,gCAAgC;AAAA,EACzD,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EAChD,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EAC/C,mBAAmB,EAAE,OAAO,EAAE,MAAM,uBAAuB;AAAA,EAC3D,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC;AAAA,EACvD,cAAc,EAAE,KAAK,CAAC,mDAAmD,kDAAkD,CAAC;AAAA,EAC5H,OAAO,8BAA8B,SAAS;AAAA,EAC9C,WAAW,EAAE,MAAM,EAAE,OAAO;AAAA,IAC1B,gBAAgB;AAAA,IAAI,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,IAAG,UAAU;AAAA,IACnE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC;AAAA,IAAG,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7D,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,IAAG,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACxE,aAAa,EAAE,KAAK,CAAC,QAAQ,UAAU,KAAK,CAAC;AAAA,IAC7C,kBAAkB,EAAE,OAAO,EAAE,YAAY;AAAA,IAAG,eAAe,EAAE,OAAO,EAAE,YAAY;AAAA,IAAG,gBAAgB,EAAE,OAAO,EAAE,YAAY;AAAA,EAC9H,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAI;AACvB,CAAC,EAAE,OAAO;AAGV,eAAsB,iCAAiC,KAAc,OAAiC;AACpG,QAAM,UAAU,yBAAyB,MAAM,GAAG;AAClD,MAAI,KAAK,MAAM,QAAQ,SAAS,KAAK,KAAK,MAAM,QAAQ,UAAU,KAC9D,KAAK,MAAM,QAAQ,SAAS,KAAK,KAAK,IAAI;AAC5C,UAAM,IAAI,sBAAsB,gCAAgC,qDAAqD;AACvH,MAAI,CAAC,OAAO;AACV,QAAI,QAAQ,MAAO,OAAM,IAAI,sBAAsB,uCAAuC,oDAAoD;AAC9I,WAAO;AAAA,EACT;AACA,QAAM,QAAQ,QAAQ;AACtB,MAAI,CAAC,SAAS,QAAQ,iBAAiB,sDACnC,cAAc,MAAM,KAAK,MAAM,cAAc,KAAK,KAClD,MAAM,gBAAgB,MAAM,gBAAgB,KAAK,KAChD,MAAM,kBAAkB,mBAAoB,MAAM,WAAW,UAC7D,MAAM,kBAAkB,gBAAgB,MAAM,aAAa,QAAQ,QAAQ,UAAU,SAAS,IAAI,CAAC,MAAM,aAC1G,IAAI,IAAI,QAAQ,UAAU,IAAI,UAAQ,KAAK,QAAQ,CAAC,EAAE,OAAO,KAC7D,QAAQ,UAAU,KAAK,UAAQ,KAAK,aAAa,MAAM,YACrD,KAAK,iBAAiB,MAAM,UAAU,YAAY,KACpD,IAAI,IAAI,QAAQ,UAAU,IAAI,UAAQ,KAAK,cAAc,CAAC,EAAE,SAAS,QAAQ,UAAU;AACzF,UAAM,IAAI,sBAAsB,uCAAuC,0DAA0D;AACnI,SAAO;AACT;AAEO,SAAS,+BAA+B,SAAiE;AAC9G,SAAO;AAAA,IACL,MAAM,WAAW,KAA+B;AAC9C,YAAM,QAAQ,QAAQ,SAAY,SAAY,8BAA8B,MAAM,GAAG;AACrF,YAAM,SAAS,QAAQ,IAAI,gBAAgB,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAKC,MAAK,MAAM,CAAC,KAAK,OAAOA,MAAK,CAAC,CAAC,CAAC,IAAI;AAChH,YAAM,WAAW,MAAM,QAAQ,2BAA2B,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;AACtF,YAAM,QAAQ,YAAY,OAAO,aAAa,YAAY,aAAa,WAAW,SAAS,UAAU;AACrG,aAAO,iCAAiC,OAAO,KAAK;AAAA,IACtD;AAAA,EACF;AACF;;;ADvGA,SAAS,6BAA6B;AAkBtC,IAAM,WAAWC,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AACjD,IAAM,aAAaA,GAAE,OAAO,EAAE,MAAM,gBAAgB;AACpD,IAAM,kBAAkBA,GAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAErD,IAAM,iCAAiCA,GAC3C,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,aAAa;AACf,CAAC,EACA,OAAO;AAEH,IAAM,iCACX,+BAA+B,OAAO;AAAA,EACpC,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AACtC,CAAC,EAAE,OAAO;AAEL,IAAM,8BAA8BA,GACxC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,iCAAiC;AAAA,EAC1D,SAAS;AAAA,EACT,UAAUA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EACrD,mBAAmBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAC9D,kBAAkBA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAC7D,cAAc,SAAS,SAAS;AAAA,EAChC,QAAQA,GAAE,KAAK,CAAC,WAAW,SAAS,SAAS,CAAC;AAChD,CAAC,EACA,OAAO;AAEH,IAAM,mCAAmCA,GAAE,KAAK;AAAA,EACrD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAOM,IAAM,mCAAmCA,GAC7C,OAAO;AAAA,EACN,eAAeA,GAAE,OAAO,EAAE,MAAM,sCAAsC;AAAA,EACtE,QAAQ;AAAA,EACR,kBAAkBA,GAAE,KAAK,CAAC,QAAQ,MAAM,CAAC;AAC3C,CAAC,EACA,SAASA,GAAE,QAAQ,CAAC;AAGhB,IAAM,oCAAoCA,GAAE,OAAO;AAAA,EACxD,kBAAkB;AAAA,EAClB,gBAAgBA,GAAE,OAAO,EAAE,MAAM,mBAAmB;AAAA,EACpD,gBAAgB;AAClB,CAAC,EAAE,OAAO;AAIH,IAAM,wCAAwCA,GAAE,OAAO;AAAA,EAC5D,kBAAkB;AAAA,EAClB,gBAAgBA,GAAE,OAAO,EAAE,MAAM,mBAAmB;AAAA,EACpD,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAClB,CAAC,EAAE,OAAO;AAEH,IAAM,kCAAkCA,GAC5C,OAAO;AAAA,EACN,YAAY,+BAA+B,SAAS,EAAE,QAAQ,IAAI;AAAA,EAClE,sBAAsB,+BAA+B,SAAS,EAAE,SAAS;AAAA,EACzE,eAAe,kCAAkC,SAAS,EAAE,SAAS;AAAA,EACrE,mBAAmB,sCAAsC,SAAS,EAAE,SAAS;AAAA,EAC7E,kBAAkB,+BAA+B,SAAS,EAAE,SAAS;AAAA,EACrE,gBAAgB,+BAA+B,SAAS,EAAE,QAAQ,IAAI;AAAA,EACtE,gBAAgB,+BAA+B,SAAS,EAAE,QAAQ,IAAI;AAAA,EACtE,WAAW,4BAA4B,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC9D,QAAQ,iCAAiC,SAAS,EAAE,QAAQ,IAAI;AAAA,EAChE,eAAe,SAAS,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC/C,yBAAyBA,GACtB,KAAK,CAAC,SAAS,QAAQ,CAAC,EACxB,QAAQ,QAAQ;AAAA,EACnB,8BAA8BA,GAC3B,KAAK,CAAC,QAAQ,YAAY,YAAY,CAAC,EACvC,QAAQ,UAAU;AAAA,EACrB,qBAAqB,2BAA2B,SAAS;AAAA,EACzD,yBAAyBA,GAAE,KAAK,CAAC,mBAAmB,UAAU,kBAAkB,CAAC,EAAE,SAAS;AAAA,EAC5F,uBAAuBA,GACpB,KAAK,CAAC,OAAO,WAAW,CAAC,EACzB,QAAQ,KAAK;AAAA,EAChB,WAAWA,GACR,KAAK,CAAC,SAAS,YAAY,UAAU,kBAAkB,CAAC,EACxD,SAAS,EACT,QAAQ,IAAI;AAAA,EACf,QAAQ,iCAAiC,SAAS,EAAE,QAAQ,IAAI;AAAA,EAChE,0BAA0BA,GAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC1E,wBAAwBA,GACrB,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,QAAQ,IAAI;AACjB,CAAC,EACA,OAAO;AAEH,IAAM,wCACX;AAEK,IAAM,+BAA+BA,GACzC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,oCAAoC;AAAA,EAC7D,WAAWA,GAAE,OAAO,EAAE,IAAI,EAAE,OAAO,WAAS,IAAI,IAAI,KAAK,EAAE,WAAW,OAAO,6BAA6B,EAAE,SAAS,EAAE,QAAQ,IAAI;AAAA,EACnI,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,mBAAmB;AAAA,EACnB,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpC,MAAM;AAAA,EACN,sBAAsBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAChD,UAAU;AAAA,EACV,UAAUA,GACP;AAAA,IACCA,GACG,OAAO;AAAA,MACN,gBAAgB;AAAA,MAChB,kBAAkB,WAAW,SAAS,EAAE,QAAQ,IAAI;AAAA,MACpD,WAAW;AAAA,MACX,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MAC3C,aAAa;AAAA,MACb,aAAa,WAAW,SAAS,EAAE,QAAQ,IAAI;AAAA,MAC/C,iBAAiB;AAAA,MACjB,UAAU;AAAA,IACZ,CAAC,EACA,OAAO;AAAA,EACZ,EACC,IAAI,GAAM,EACV,QAAQ,CAAC,CAAC;AACf,CAAC,EACA,OAAO;AAEH,IAAM,gCAAgCA,GAC1C,OAAO;AAAA,EACN,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,iBAAiBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC3C,aAAa;AAAA,EACb,OAAOA,GAAE,KAAK,CAAC,WAAW,UAAU,aAAa,CAAC;AAAA,EAClD,iBAAiB,SAAS,SAAS,EAAE,QAAQ,IAAI;AAAA,EACjD,eAAe;AAAA,EACf,UAAU,gBAAgB,SAAS,EAAE,QAAQ,IAAI;AAAA,EACjD,WAAWA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK,EAAE,SAAS,EAAE,QAAQ,IAAI;AACxE,CAAC,EACA,OAAO;AAEH,IAAM,qBAAqBA,GAC/B,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,0BAA0B;AAAA,EACnD,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;AAAA,EAC/C,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,WAAWA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACjD,kBAAkB,4BAA4B,SAAS;AAAA,EACvD,sBAAsB,SAAS,SAAS;AAAA,EACxC,eAAe;AAAA,EACf,QAAQ,6BAA6B,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC5D,cAAcA,GACX,MAAM,6BAA6B,EACnC,IAAI,GAAM,EACV,QAAQ,CAAC,CAAC;AAAA,EACb,WAAW;AAAA,EACX,WAAW;AACb,CAAC,EACA,OAAO;AAGH,IAAM,6BAA6B,mBAAmB,KAAK;AAAA,EAChE,IAAI;AAAA,EACJ,WAAW;AAAA,EACX,MAAM;AAAA,EACN,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,eAAe;AACjB,CAAC;AAGM,IAAM,gCAAgCA,GAAE,OAAO;AAAA,EACpD,eAAeA,GAAE,QAAQ,8BAA8B;AAAA,EACvD,aAAa;AAAA,EACb,kBAAkBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC/C,SAAS;AAAA,EACT,UAAU,2BAA2B,SAAS;AAChD,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,YAAY;AAC1C,MAAI,MAAM,YAAY,MAAM,qBAAqB,EAAG,SAAQ,SAAS,EAAE,MAAM,UAAU,MAAM,CAAC,UAAU,GAAG,SAAS,4DAA4D,CAAC;AACnL,CAAC;AAKM,IAAM,uCAAuCA,GAAE,OAAO;AAAA,EAC3D,eAAeA,GAAE,QAAQ,4CAA4C;AAAA,EACrE,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,kBAAkBA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC/C,WAAW;AAAA,EACX,SAASA,GAAE,QAAQ;AAAA,EACnB,UAAUA,GAAE,MAAMA,GAAE,KAAK,CAAC,cAAc,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;AAAA,EAC1D,UAAUA,GAAE,MAAMA,GAAE,OAAO;AAAA,IACzB,MAAM;AAAA,IACN,UAAUA,GAAE,KAAK,CAAC,SAAS,SAAS,CAAC;AAAA,IACrC,SAASA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AAAA,IACnC,OAAOA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS;AAAA,EAC7C,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG;AACtB,CAAC,EAAE,OAAO;AAIH,IAAM,uCAAuCA,GAAE,OAAO;AAAA,EAC3D,IAAI;AAAA,EAAU,MAAMA,GAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAAG,WAAWA,GAAE,QAAQ;AAAA,EAAG,YAAY;AACtF,CAAC,EAAE,OAAO;AAEV,eAAsB,8BAA8B,SAAmD;AACrG,QAAM,SAAS,6BAA6B,OAAO;AACnD,SAAO,gBAAgB,EAAE,SAAS,OAAO,SAAS,kBAAkB,OAAO,kBAAkB,GAAI,OAAO,WAAW,EAAE,UAAU,OAAO,SAAS,IAAI,CAAC,EAAG,CAAC;AAC1J;AAEO,SAAS,6BAA6B,OAAyC;AACpF,MAAI;AACF,0BAAsB,OAAO,4BAA4B;AAAA,EAC3D,QAAQ;AACN,UAAM,IAAI,6BAA6B,KAAK;AAAA,MAC1C,eAAe;AAAA,MAAoC,MAAM;AAAA,MACzD,SAAS;AAAA,MAAkD,WAAW;AAAA,MAAO,WAAW;AAAA,MAAM,SAAS,CAAC;AAAA,IAC1G,CAAC;AAAA,EACH;AACA,SAAO,8BAA8B,MAAM,KAAK;AAClD;AAGA,eAAsB,8BACpB,SACA,kBACA,UACkC;AAClC,wBAAsB,SAAS,4BAA4B;AAC3D,QAAM,WAAW,2BAA2B,MAAM,OAAO;AACzD,6BAA2B,UAAU,8BAA8B,qBAAqB;AACxF,QAAM,kBAAkB,WAAW,2BAA2B,MAAM,QAAQ,IAAI;AAChF,QAAM,OAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,kBAAkB,GAAI,kBAAkB,EAAE,UAAU,gBAAgB,IAAI,CAAC,EAAG,CAAC;AACrI,SAAO,6BAA6B;AAAA,IAClC,eAAe;AAAA,IACf,aAAa,cAAc,IAAI;AAAA,IAC/B;AAAA,IACA,SAAS;AAAA,IACT,GAAI,kBAAkB,EAAE,UAAU,gBAAgB,IAAI,CAAC;AAAA,EACzD,CAAC;AACH;AAEO,IAAM,+BAA+BA,GACzC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,oCAAoC;AAAA,EAC7D,mBAAmB;AAAA,EACnB,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,WAAWA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACjD,kBAAkB,4BAA4B,SAAS;AAAA,EACvD,sBAAsB,SAAS,SAAS;AAAA,EACxC,eAAe;AAAA,EACf,gBAAgBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC1C,iBAAiB;AAAA,EACjB,cAAc,WAAW,SAAS,EAAE,QAAQ,IAAI;AAClD,CAAC,EACA,OAAO;AAEH,IAAM,kCAAkCA,GAC5C,OAAO;AAAA,EACN,IAAI;AAAA,EACJ,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,WAAWA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,GAAK,EAAE,SAAS;AAAA,EACjD,kBAAkB,4BAA4B,SAAS;AAAA,EACvD,sBAAsB,SAAS,SAAS;AAAA,EACxC,eAAe;AAAA,EACf,gBAAgBA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC1C,iBAAiB;AAAA,EACjB,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACpC,MAAM;AAAA,EACN,WAAW;AAAA,EACX,WAAW;AACb,CAAC,EACA,OAAO;AAEH,IAAM,oCAAoCA,GAC9C,OAAO;AAAA,EACN,MAAMA,GAAE,KAAK;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,KAAK;AAAA,EACL,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,IAAI;AAAA,EAC/D,WAAW;AACb,CAAC,EACA,OAAO;AAEH,IAAM,iCAAiCA,GAC3C,OAAO;AAAA,EACN,SAAS;AAAA,EACT,WAAWA,GAAE,MAAM,iCAAiC,EAAE,IAAI,GAAM;AAAA,EAChE,UAAUA,GAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EACvC,cAAcA,GAAE,MAAM,QAAQ,EAAE,IAAI,GAAG;AACzC,CAAC,EACA,OAAO;AAEH,IAAM,6BAA6BA,GACvC,OAAO;AAAA,EACN,eAAeA,GAAE,QAAQ,kCAAkC;AAAA,EAC3D,MAAMA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,SAASA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EAC3C,WAAWA,GAAE,QAAQ,EAAE,QAAQ,KAAK;AAAA,EACpC,WAAWA,GAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,IAAI;AAAA,EACpE,SAASA,GAAE,OAAOA,GAAE,OAAO,GAAGA,GAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC,EACA,OAAO;AAEH,IAAM,+BAAN,cAA2C,MAAM;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,QAAgB,OAAmD;AAC7E,UAAM,MAAM,OAAO;AACnB,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,OAAO,MAAM;AAClB,SAAK,YAAY,MAAM;AACvB,SAAK,YAAY,MAAM;AACvB,SAAK,UAAU,MAAM;AAAA,EACvB;AACF;AAkBA,SAAS,cAAc,SAA0D;AAC/E,QAAM,SAAiC,CAAC;AACxC,MAAI,QAAQ,OAAO,EAAE,QAAQ,CAAC,OAAO,QAAQ;AAC3C,WAAO,GAAG,IAAI;AAAA,EAChB,CAAC;AACD,SAAO;AACT;AAEO,SAAS,0BAA0B,OAIvC;AACD,QAAM,YAAY,MAAM,SAAS;AACjC,QAAM,UAAU,MAAM,QAAQ,QAAQ,OAAO,EAAE;AAE/C,iBAAe,QAAQ,UAAkB,MAAsC;AAC7E,UAAM,oBACJ,OAAO,MAAM,YAAY,aACrB,MAAM,MAAM,QAAQ,IACnB,MAAM,WAAW,CAAC;AACzB,UAAM,WAAW,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,IAAI;AAAA,MACxD,GAAG;AAAA,MACH,SAAS;AAAA,QACP,QAAQ;AAAA,QACR,GAAI,MAAM,OACN,EAAE,gBAAgB,kCAAkC,IACpD,CAAC;AAAA,QACL,GAAG,cAAc,iBAAiB;AAAA,QAClC,GAAG,cAAc,MAAM,OAAO;AAAA,MAChC;AAAA,IACF,CAAC;AACD,UAAM,OAAO,MAAM;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,SAAS,2BAA2B,UAAU,IAAI;AACxD,UAAI,OAAO,SAAS;AAClB,cAAM,IAAI,6BAA6B,SAAS,QAAQ,OAAO,IAAI;AAAA,MACrE;AACA,YAAM,IAAI;AAAA,QACR;AAAA,QACA,0CAA0C,SAAS,MAAM;AAAA,MAC3D;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AAAA,IACL,MAAM,0BAA0B;AAC9B,aAAOA,GAAE,OAAO,EAAE,YAAYA,GAAE,MAAM,oCAAoC,EAAE,IAAI,GAAI,EAAE,CAAC,EAAE,OAAO,EAAE;AAAA,QAChG,MAAM,QAAQ,+CAA+C,EAAE,SAAS,EAAE,QAAQ,mBAAmB,EAAE,CAAC;AAAA,MAC1G,EAAE;AAAA,IACJ;AAAA,IACA,MAAM,mBAAmB,OAAgC;AACvD,YAAM,SAAS,6BAA6B,KAAK;AACjD,aAAO,qCAAqC,MAAM,MAAM,QAAQ,0CAA0C;AAAA,QACxG,QAAQ;AAAA,QAAQ,SAAS,EAAE,QAAQ,oBAAoB,gBAAgB,mBAAmB;AAAA,QAAG,MAAM,KAAK,UAAU,MAAM;AAAA,MAC1H,CAAC,CAAC;AAAA,IACJ;AAAA,IACA,MAAM,kBAAkB,OAAgC;AACtD,YAAM,SAAS,6BAA6B,KAAK;AACjD,aAAO,gCAAgC,MAAM,MAAM,QAAQ,yCAAyC;AAAA,QAClG,QAAQ;AAAA,QAAQ,SAAS,EAAE,QAAQ,oBAAoB,gBAAgB,mBAAmB;AAAA,QAAG,MAAM,KAAK,UAAU,MAAM;AAAA,MAC1H,CAAC,CAAC;AAAA,IACJ;AAAA,IACA,MAAM,OAAO,SAAiC;AAC5C;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,SAAS,6BAA6B,MAAM,OAAO;AACzD,YAAM,OAAO,MAAM;AAAA,QACjB,sBAAsB,mBAAmB,OAAO,iBAAiB,CAAC;AAAA,QAClE,EAAE,QAAQ,OAAO,MAAM,KAAK,UAAU,MAAM,EAAE;AAAA,MAChD;AACA,aAAO,gCAAgC;AAAA,QACrC,aAAa,MAAM,SAAS;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,MAAM,OAAO;AACX,YAAM,OAAO,MAAM,QAAQ,oBAAoB;AAC/C,aAAOA,GACJ,MAAM,+BAA+B,EACrC,MAAM,aAAa,MAAM,UAAU,CAAC;AAAA,IACzC;AAAA,IACA,MAAM,IAAI,WAAmB;AAC3B,YAAM,OAAO,MAAM;AAAA,QACjB,sBAAsB,mBAAmB,SAAS,MAAM,SAAS,CAAC,CAAC;AAAA,MACrE;AACA,aAAO,+BAA+B,MAAM,IAAI;AAAA,IAClD;AAAA,EACF;AACF;AAEA,SAAS,aAAa,OAAgB,KAAsB;AAC1D,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,EAAG,QAAO;AACxE,SAAO,OAAO,QAAS,MAAkC,GAAG,IAAI;AAClE;","names":["z","value","z"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
validateTasksetPackage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZQ6QTYRE.js";
|
|
4
4
|
import {
|
|
5
5
|
RunExperimentSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZQFROKKS.js";
|
|
7
7
|
import {
|
|
8
8
|
ExperimentScoringRequestSchema,
|
|
9
9
|
verifyExperimentScoringPass
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-626JLH4D.js";
|
|
11
11
|
import {
|
|
12
12
|
fetchConnectedJson
|
|
13
13
|
} from "./chunk-O6FKHAWN.js";
|
|
@@ -18,13 +18,13 @@ import {
|
|
|
18
18
|
ExperimentListQuerySchema,
|
|
19
19
|
PrepareHarnessExperimentSchema,
|
|
20
20
|
PreparedHarnessExperimentSchema
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-GS5HEE4M.js";
|
|
22
22
|
import {
|
|
23
23
|
ModelTasksetRunDetailsSchema,
|
|
24
24
|
ModelTasksetRunRequestSchema,
|
|
25
25
|
verifyHarnessExperimentManifest,
|
|
26
26
|
verifyModelTasksetRunDetails
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-ZRTNR4U7.js";
|
|
28
28
|
import {
|
|
29
29
|
ImmutableReleaseRefSchema,
|
|
30
30
|
contentHash
|
|
@@ -652,4 +652,4 @@ export {
|
|
|
652
652
|
ProfileEvaluationDiscoveryRequestSchema,
|
|
653
653
|
OpenPondProfileEvaluationDiscoveryClient
|
|
654
654
|
};
|
|
655
|
-
//# sourceMappingURL=chunk-
|
|
655
|
+
//# sourceMappingURL=chunk-OBI2MQYU.js.map
|