openpond-sdk 0.12.2 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions-local.js +2 -1
- package/dist/actions-local.js.map +1 -7
- package/dist/actions.js +2 -1
- package/dist/actions.js.map +1 -7
- package/dist/advanced-refiner-evaluations.js +13 -12
- package/dist/advanced-refiner-evaluations.js.map +1 -7
- package/dist/candidate-evaluations.js +9 -8
- package/dist/candidate-evaluations.js.map +1 -7
- package/dist/{chunk-MLFKQ7E7.js → chunk-24N6A6SF.js} +4 -4
- package/dist/chunk-24N6A6SF.js.map +1 -0
- package/dist/{chunk-YCQVVFE5.js → chunk-3B5KSH3V.js} +2 -2
- package/dist/chunk-3B5KSH3V.js.map +1 -0
- package/dist/{chunk-2DMYAJLS.js → chunk-3DWPLYFJ.js} +2 -2
- package/dist/chunk-3DWPLYFJ.js.map +1 -0
- package/dist/{chunk-B7VYE7YQ.js → chunk-53LLNDXF.js} +3 -3
- package/dist/chunk-53LLNDXF.js.map +1 -0
- package/dist/{chunk-VSRTJDVB.js → chunk-B5XTGEBE.js} +25 -13
- package/dist/chunk-B5XTGEBE.js.map +1 -0
- package/dist/{chunk-HKWX624G.js → chunk-BVMR5OFW.js} +5 -5
- package/dist/chunk-BVMR5OFW.js.map +1 -0
- package/dist/{chunk-3KXDH6OB.js → chunk-CL3IOOVL.js} +1 -1
- package/dist/chunk-CL3IOOVL.js.map +1 -0
- package/dist/chunk-CMWZZZGW.js +255 -0
- package/dist/chunk-CMWZZZGW.js.map +1 -0
- package/dist/{chunk-VOL3WES2.js → chunk-DF2QXVZ3.js} +14 -169
- package/dist/chunk-DF2QXVZ3.js.map +1 -0
- package/dist/{chunk-AG5DDL7T.js → chunk-DH6O4JFB.js} +2 -2
- package/dist/chunk-DH6O4JFB.js.map +1 -0
- package/dist/{chunk-7GYXC2AI.js → chunk-EFUT3XKW.js} +4 -4
- package/dist/chunk-EFUT3XKW.js.map +1 -0
- package/dist/{chunk-DBRRQASP.js → chunk-ETX25FTB.js} +3 -3
- package/dist/chunk-ETX25FTB.js.map +1 -0
- package/dist/{chunk-MEKWESBF.js → chunk-FBZTDDRC.js} +2 -2
- package/dist/chunk-FBZTDDRC.js.map +1 -0
- package/dist/{chunk-7AZDNZP6.js → chunk-GAIDBPFY.js} +353 -90
- package/dist/chunk-GAIDBPFY.js.map +1 -0
- package/dist/{chunk-YVUIHH6Z.js → chunk-GPQLBVQC.js} +1 -1
- package/dist/chunk-GPQLBVQC.js.map +1 -0
- package/dist/{chunk-KAE7AMYE.js → chunk-H3367ISL.js} +2 -2
- package/dist/chunk-H3367ISL.js.map +1 -0
- package/dist/{chunk-COPVBJPL.js → chunk-H3JZ3P5T.js} +2 -1
- package/dist/chunk-H3JZ3P5T.js.map +1 -0
- package/dist/{chunk-3LP7DNLQ.js → chunk-H4NTJFEE.js} +2 -2
- package/dist/chunk-H4NTJFEE.js.map +1 -0
- package/dist/{chunk-TCHAWJMB.js → chunk-HGXVOFCL.js} +2 -2
- package/dist/chunk-HGXVOFCL.js.map +1 -0
- package/dist/{chunk-CEZEVILU.js → chunk-HJ2AIAKX.js} +1 -1
- package/dist/chunk-HJ2AIAKX.js.map +1 -0
- package/dist/{chunk-ENLQCKY6.js → chunk-I54WQBXL.js} +8 -8
- package/dist/chunk-I54WQBXL.js.map +1 -0
- package/dist/{chunk-AV5JV26B.js → chunk-K5LWSWV7.js} +4 -4
- package/dist/chunk-K5LWSWV7.js.map +1 -0
- package/dist/{chunk-IWT6JUZD.js → chunk-L6EJX2VQ.js} +2 -2
- package/dist/chunk-L6EJX2VQ.js.map +1 -0
- package/dist/{chunk-WVISXXIL.js → chunk-LHX7ENKZ.js} +3 -3
- package/dist/chunk-LHX7ENKZ.js.map +1 -0
- package/dist/{chunk-WNH4DOEC.js → chunk-LR5CTOC5.js} +30 -299
- package/dist/chunk-LR5CTOC5.js.map +1 -0
- package/dist/chunk-MO4HAJZG.js +8709 -0
- package/dist/chunk-MO4HAJZG.js.map +1 -0
- package/dist/{chunk-T4APHDES.js → chunk-O6FKHAWN.js} +1 -1
- package/dist/chunk-O6FKHAWN.js.map +1 -0
- package/dist/{chunk-O5ARJVT5.js → chunk-OR3TMIJN.js} +5 -5
- package/dist/chunk-OR3TMIJN.js.map +1 -0
- package/dist/{chunk-P27DQ65Z.js → chunk-OVGDDKO2.js} +1 -1
- package/dist/chunk-OVGDDKO2.js.map +1 -0
- package/dist/{chunk-O4GE6VTR.js → chunk-PWW5QKZS.js} +2 -2
- package/dist/chunk-PWW5QKZS.js.map +1 -0
- package/dist/{chunk-DUKW3R7O.js → chunk-Q4TKI2MV.js} +2 -2
- package/dist/chunk-Q4TKI2MV.js.map +1 -0
- package/dist/{chunk-L5PQPAU6.js → chunk-QRS7Y3EM.js} +7 -3
- package/dist/chunk-QRS7Y3EM.js.map +1 -0
- package/dist/{chunk-YVFERCUC.js → chunk-RRKRA237.js} +83 -5
- package/dist/chunk-RRKRA237.js.map +1 -0
- package/dist/{chunk-2U54EOXJ.js → chunk-TK3DXH7A.js} +1 -1
- package/dist/chunk-TK3DXH7A.js.map +1 -0
- package/dist/{chunk-CK3ONRRC.js → chunk-U7XWIOSB.js} +3 -3
- package/dist/chunk-U7XWIOSB.js.map +1 -0
- package/dist/{chunk-DG5CRENU.js → chunk-VHGC44HA.js} +5 -5
- package/dist/chunk-VHGC44HA.js.map +1 -0
- package/dist/{chunk-7WUJBFCH.js → chunk-VN5V2E2S.js} +24 -5
- package/dist/chunk-VN5V2E2S.js.map +1 -0
- package/dist/{chunk-YSKUXQ2N.js → chunk-WMIKJGXW.js} +3 -3
- package/dist/chunk-WMIKJGXW.js.map +1 -0
- package/dist/{chunk-ROBAX5TN.js → chunk-WQFU635Q.js} +8 -6
- package/dist/chunk-WQFU635Q.js.map +1 -0
- package/dist/{chunk-D4WTE6ZA.js → chunk-XON75UFN.js} +3 -3
- package/dist/chunk-XON75UFN.js.map +1 -0
- package/dist/chunk-YLJ4XMA6.js +35 -0
- package/dist/chunk-YLJ4XMA6.js.map +1 -0
- package/dist/{chunk-K3JCP4FO.js → chunk-Z252BNAZ.js} +1 -1
- package/dist/chunk-Z252BNAZ.js.map +1 -0
- package/dist/{chunk-OEPYLZXK.js → chunk-ZHQK3MOM.js} +4 -4
- package/dist/chunk-ZHQK3MOM.js.map +1 -0
- package/dist/{chunk-6Q4I33CH.js → chunk-ZIFZFP5I.js} +5 -5
- package/dist/chunk-ZIFZFP5I.js.map +1 -0
- package/dist/connected-evidence.js +22 -21
- package/dist/connected-evidence.js.map +1 -7
- package/dist/dataset-commerce.js +2 -0
- package/dist/dataset-commerce.js.map +1 -7
- package/dist/dataset-marketplace.js +2 -0
- package/dist/dataset-marketplace.js.map +1 -7
- package/dist/dataset-workspaces.js +25 -23
- package/dist/dataset-workspaces.js.map +1 -7
- package/dist/experiment-evaluation-schedules.js +28 -27
- package/dist/experiment-evaluation-schedules.js.map +1 -7
- package/dist/experiment-improvements.js +12 -11
- package/dist/experiment-improvements.js.map +1 -7
- package/dist/experiments.js +31 -26
- package/dist/experiments.js.map +1 -7
- package/dist/human-review.js +3 -2
- package/dist/human-review.js.map +1 -7
- package/dist/index.js +98 -50
- package/dist/index.js.map +1 -7
- package/dist/learning.js +4 -3
- package/dist/learning.js.map +1 -7
- package/dist/model-batch-review.js +2 -1
- package/dist/model-batch-review.js.map +1 -7
- package/dist/model-projects.js +3 -2
- package/dist/model-projects.js.map +1 -7
- package/dist/model-starter-attempts.js +5 -4
- package/dist/model-starter-attempts.js.map +1 -7
- package/dist/model-starter-catalog.js +15 -14
- package/dist/model-starter-catalog.js.map +1 -7
- package/dist/model-starters.js +15 -14
- package/dist/model-starters.js.map +1 -7
- package/dist/model-taskset-authoring.js +2 -1
- package/dist/model-taskset-authoring.js.map +1 -7
- package/dist/model-taskset-runs.js +6 -5
- package/dist/model-taskset-runs.js.map +1 -7
- package/dist/post-training.js +9 -8
- package/dist/post-training.js.map +1 -7
- package/dist/profile-actions.js +3 -2
- package/dist/profile-actions.js.map +1 -7
- package/dist/project-actions.js +3 -2
- package/dist/project-actions.js.map +1 -7
- package/dist/refiner.js +3 -2
- package/dist/refiner.js.map +1 -7
- package/dist/taskset-catalog.js +2 -1
- package/dist/taskset-catalog.js.map +1 -7
- package/dist/taskset-drafts.js +27 -26
- package/dist/taskset-drafts.js.map +1 -7
- package/dist/taskset-packages.js +29 -26
- package/dist/taskset-packages.js.map +1 -7
- package/dist/training-bundle.js +195 -34
- package/dist/training-bundle.js.map +1 -7
- package/dist/training-projects.js +2 -1
- package/dist/training-projects.js.map +1 -7
- package/dist/training.js +17 -10
- package/dist/training.js.map +1 -7
- package/dist/types/packages/cloud/src/api/core.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/client-handles.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/client.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/sandbox-instance-client.d.ts.map +1 -1
- package/dist/types/packages/cloud/src/sandbox/types/runtime-profiles.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +487 -487
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +381 -348
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +86 -54
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-collection-status.d.ts +5 -5
- package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +10 -10
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +464 -460
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +23 -23
- package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +77 -74
- package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/connected-sync.d.ts +30 -30
- package/dist/types/packages/sdk/src/connected-sync.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-commerce-contracts.d.ts +14 -14
- package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts +5 -5
- package/dist/types/packages/sdk/src/dataset-commerce-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-commerce-responses.d.ts +82 -82
- package/dist/types/packages/sdk/src/dataset-commerce.d.ts +58 -58
- package/dist/types/packages/sdk/src/dataset-commerce.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts +4 -4
- package/dist/types/packages/sdk/src/dataset-marketplace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-population.d.ts +10 -10
- package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-authoring-contracts.d.ts +172 -172
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts +47 -47
- package/dist/types/packages/sdk/src/dataset-preparation-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-preparation-contracts.d.ts +90 -90
- package/dist/types/packages/sdk/src/dataset-preparation-qualification-contracts.d.ts +7 -7
- package/dist/types/packages/sdk/src/dataset-preparation-research-contracts.d.ts +26 -26
- package/dist/types/packages/sdk/src/dataset-preparation-starting-state.d.ts +8 -8
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts +111 -110
- package/dist/types/packages/sdk/src/dataset-preparation-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +896 -889
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts +225 -223
- package/dist/types/packages/sdk/src/dataset-workspace-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts +226 -224
- package/dist/types/packages/sdk/src/dataset-workspace-operations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/evaluation-project-context.d.ts +1 -1
- package/dist/types/packages/sdk/src/experiment-client.d.ts +2090 -1969
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +177 -113
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +597 -505
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts +5 -5
- package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-field-mappings.d.ts +8 -8
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +16 -16
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +2524 -2524
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +1557 -1557
- package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +150 -150
- package/dist/types/packages/sdk/src/experiment-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +41 -25
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +315 -240
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +21 -21
- package/dist/types/packages/sdk/src/grader-inspection.d.ts +104 -104
- package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +50 -20
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/human-review-client.d.ts +288 -288
- package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-batch-assets.d.ts +15 -13
- package/dist/types/packages/sdk/src/learning-batch-assets.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-client.d.ts +5 -5
- package/dist/types/packages/sdk/src/learning-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/learning-credentials.d.ts +4 -4
- package/dist/types/packages/sdk/src/learning-credentials.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +71 -69
- 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 +65 -61
- 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 +74 -72
- 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 +96 -92
- package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-learning-intent.d.ts +1 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +247 -247
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-projects.d.ts +324 -324
- package/dist/types/packages/sdk/src/model-projects.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +187 -187
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts +181 -179
- package/dist/types/packages/sdk/src/model-starter-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-execution.d.ts +40 -40
- package/dist/types/packages/sdk/src/model-starters.d.ts +291 -287
- package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-authoring-contracts.d.ts +3 -3
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +114 -112
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-resources.d.ts +18 -18
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +191 -127
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +868 -824
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +448 -372
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-actions.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +150 -150
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +254 -251
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/project-actions.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/protocol.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/run-diagnostics.d.ts +3 -3
- package/dist/types/packages/sdk/src/task-design-contracts.d.ts +50 -50
- package/dist/types/packages/sdk/src/task-inventory.d.ts +4 -4
- package/dist/types/packages/sdk/src/task-inventory.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +190 -189
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts +149 -148
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts +15 -6
- package/dist/types/packages/sdk/src/taskset-authored-portable-release.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts +64 -63
- package/dist/types/packages/sdk/src/taskset-calibration-fixtures.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-catalog.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +245 -243
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-authoring.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +744 -738
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts +133 -131
- package/dist/types/packages/sdk/src/taskset-draft-core.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-dataset-artifacts.d.ts +80 -80
- package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +34 -34
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +119 -117
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts +500 -492
- package/dist/types/packages/sdk/src/taskset-draft-package-compiler.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts +236 -234
- package/dist/types/packages/sdk/src/taskset-draft-source.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts +228 -224
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-intake.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +4589 -4577
- 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 +2068 -2054
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-files.d.ts +1 -1
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +21 -21
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +88 -86
- 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 +387 -383
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-acceptance.d.ts +26 -26
- package/dist/types/packages/sdk/src/training-acceptance.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts +18 -10
- package/dist/types/packages/sdk/src/training-bundle-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-bundle.d.ts +6 -0
- package/dist/types/packages/sdk/src/training-bundle.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
- package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +3 -3
- package/dist/types/packages/sdk/src/training-evaluation-source.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-evaluation-source.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-grading-plan.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-harness-sources.d.ts +14 -14
- package/dist/types/packages/sdk/src/training-harness-sources.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +344 -340
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-preparations.d.ts +700 -700
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-project-client.d.ts +272 -272
- package/dist/types/packages/sdk/src/training-project-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-project-contracts.d.ts +161 -161
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts +368 -0
- package/dist/types/packages/sdk/src/training-qualification-preparation.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/training.d.ts +1574 -1387
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/work.d.ts +4 -0
- package/dist/types/packages/sdk/src/work.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/workflows.d.ts.map +1 -1
- package/dist/workflows.js +3 -2
- package/dist/workflows.js.map +1 -7
- package/package.json +3 -3
- package/dist/chunk-2DMYAJLS.js.map +0 -7
- package/dist/chunk-2U54EOXJ.js.map +0 -7
- package/dist/chunk-3KXDH6OB.js.map +0 -7
- package/dist/chunk-3LP7DNLQ.js.map +0 -7
- package/dist/chunk-6Q4I33CH.js.map +0 -7
- package/dist/chunk-7AZDNZP6.js.map +0 -7
- package/dist/chunk-7GYXC2AI.js.map +0 -7
- package/dist/chunk-7WUJBFCH.js.map +0 -7
- package/dist/chunk-AG5DDL7T.js.map +0 -7
- package/dist/chunk-AV5JV26B.js.map +0 -7
- package/dist/chunk-B7VYE7YQ.js.map +0 -7
- package/dist/chunk-CEZEVILU.js.map +0 -7
- package/dist/chunk-CK3ONRRC.js.map +0 -7
- package/dist/chunk-COPVBJPL.js.map +0 -7
- package/dist/chunk-D4WTE6ZA.js.map +0 -7
- package/dist/chunk-DBRRQASP.js.map +0 -7
- package/dist/chunk-DG5CRENU.js.map +0 -7
- package/dist/chunk-DUKW3R7O.js.map +0 -7
- package/dist/chunk-ENLQCKY6.js.map +0 -7
- package/dist/chunk-FHCSDXIA.js +0 -1417
- package/dist/chunk-FHCSDXIA.js.map +0 -7
- package/dist/chunk-HKWX624G.js.map +0 -7
- package/dist/chunk-IWT6JUZD.js.map +0 -7
- package/dist/chunk-K3JCP4FO.js.map +0 -7
- package/dist/chunk-KAE7AMYE.js.map +0 -7
- package/dist/chunk-L5PQPAU6.js.map +0 -7
- package/dist/chunk-MEKWESBF.js.map +0 -7
- package/dist/chunk-MLFKQ7E7.js.map +0 -7
- package/dist/chunk-O4GE6VTR.js.map +0 -7
- package/dist/chunk-O5ARJVT5.js.map +0 -7
- package/dist/chunk-OEPYLZXK.js.map +0 -7
- package/dist/chunk-P27DQ65Z.js.map +0 -7
- package/dist/chunk-PGBFI5HC.js +0 -98
- package/dist/chunk-PGBFI5HC.js.map +0 -7
- package/dist/chunk-ROBAX5TN.js.map +0 -7
- package/dist/chunk-T4APHDES.js.map +0 -7
- package/dist/chunk-TCHAWJMB.js.map +0 -7
- package/dist/chunk-VOL3WES2.js.map +0 -7
- package/dist/chunk-VSRTJDVB.js.map +0 -7
- package/dist/chunk-WNH4DOEC.js.map +0 -7
- package/dist/chunk-WVISXXIL.js.map +0 -7
- package/dist/chunk-YCQVVFE5.js.map +0 -7
- package/dist/chunk-YSKUXQ2N.js.map +0 -7
- package/dist/chunk-YVFERCUC.js.map +0 -7
- package/dist/chunk-YVUIHH6Z.js.map +0 -7
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/human-review.ts", "../src/human-review-client.ts"],
|
|
4
|
-
"sourcesContent": ["export * from \"@openpond/evals/human-review\";\nexport * from \"./human-review-client.js\";\n", "import {contentHash} from \"@openpond/harness\";\nimport { z } from \"zod\";\nimport { HumanReviewTransportSchema,HumanInspectionSchema,HumanEvidenceSchema,HumanFormSchema,HumanResultViewSchema, HumanReviewViewSchema, HumanInboxSchema, type HumanReviewCommand, type HumanReviewRequest, type HumanReviewTransportRequest } from \"@openpond/evals/human-review\";\nexport class HumanReviewClientError extends Error { constructor(readonly status: number, readonly code: string, message: string) { super(message); this.name = \"HumanReviewClientError\"; } }\nexport class OpenPondHumanReviewClient {\n readonly options: { baseUrl: string; apiKey: string; scope: string; fetch?: typeof globalThis.fetch };\n constructor(options: OpenPondHumanReviewClient[\"options\"]) {\n const url = new URL(options.baseUrl);\n if (![\"http:\", \"https:\"].includes(url.protocol) || url.username || url.password || url.hash || url.search || !options.apiKey.trim() || !options.scope.trim() || options.scope !== options.scope.trim() || /[\\r\\n]/.test(options.scope)) throw new Error(\"Use a scoped key and a plain HTTP(S) API endpoint.\");\n this.options = { ...options, baseUrl: url.toString().replace(/\\/+$/, \"\") };\n }\n async command(command: HumanReviewCommand, signal?: AbortSignal) {\n const result = HumanReviewViewSchema.parse(await this.request({ endpoint: \"command\", scope: this.options.scope, command }, signal));\n const revisionMatches = command.action === \"cancel\"\n ? result.status === \"cancelled\" && result.revision >= command.expectedRevision + 1\n : result.revision === command.expectedRevision + 1;\n if (result.id !== command.id || result.scope !== this.options.scope || !revisionMatches) throw new HumanReviewClientError(502, \"human_response_identity_mismatch\", \"Review response differs from the submitted operation.\");\n return result;\n }\n async get(id: string, revision?: number, signal?: AbortSignal) {\n const result = HumanReviewViewSchema.parse(await this.request({ endpoint: \"get\", scope: this.options.scope, id, ...(revision ? { revision } : {}) }, signal));\n if (result.id !== id || result.scope !== this.options.scope || revision !== undefined && result.revision !== revision) throw new HumanReviewClientError(502, \"human_response_identity_mismatch\", \"Review response differs from the requested identity.\");\n return result;\n }\n async inbox(query: Omit<Extract<HumanReviewRequest, { endpoint: \"inbox\" }>, \"endpoint\" | \"scope\">, signal?: AbortSignal) {\n const result = HumanInboxSchema.parse(await this.request({ ...query, endpoint: \"inbox\", scope: this.options.scope }, signal));\n if (result.items.some(r => r.scope !== this.options.scope || query.projectId && r.projectId !== query.projectId)) throw new HumanReviewClientError(502, \"human_inbox_scope_mismatch\", \"Inbox response differs from the authorized scope.\");\n return result;\n }\n async snapshot(input:Omit<Extract<HumanReviewTransportRequest,{endpoint:\"snapshot\"}>,\"endpoint\"|\"scope\">,signal?:AbortSignal) {return z.object({evidence:HumanEvidenceSchema,form:HumanFormSchema}).strict().parse(await this.request({...input,endpoint:\"snapshot\",scope:this.options.scope},signal));}\n async taskSnapshot(input:Omit<Extract<HumanReviewTransportRequest,{endpoint:\"snapshot_tasks\"}>,\"endpoint\"|\"scope\">,signal?:AbortSignal) {return z.object({evidence:HumanEvidenceSchema,form:HumanFormSchema}).strict().parse(await this.request({...input,endpoint:\"snapshot_tasks\",scope:this.options.scope},signal));}\n async inspect(id:string,signal?:AbortSignal,options?:{slot?:number;afterId?:string}) {const result=HumanInspectionSchema.parse(await this.request({endpoint:\"inspect\",scope:this.options.scope,id,...options},signal));if(result.some(row=>row.reviewId!==id))throw new HumanReviewClientError(502,\"human_inspection_identity_mismatch\",\"Inspection differs from selected review.\");return result;}\n async results(executionId:string,selection?:Extract<HumanReviewTransportRequest,{endpoint:\"results\"}>[\"selection\"],signal?:AbortSignal) {\n return HumanResultViewSchema.parse(await this.request({endpoint:\"results\",scope:this.options.scope,executionId,...(selection?{selection}:{})},signal));\n }\n async members(signal?:AbortSignal) {return z.array(z.object({userId:z.string(),name:z.string().nullable(),email:z.string().nullable(),role:z.string()}).strict()).parse(await this.request({endpoint:\"members\",scope:this.options.scope},signal));}\n async request(raw: HumanReviewTransportRequest, signal?: AbortSignal) {\n const body = HumanReviewTransportSchema.parse(raw);\n if(body.scope!==this.options.scope)throw new HumanReviewClientError(403,\"human_scope_denied\",\"Request differs from the scoped client workspace.\");\n const serialized=JSON.stringify(body);if(new TextEncoder().encode(serialized).byteLength>1048576)throw new HumanReviewClientError(422,\"human_request_too_large\",\"Review request exceeds its bounded transport.\");\n const response = await (this.options.fetch ?? globalThis.fetch)(`${this.options.baseUrl}/v1/human-review`, { method: \"POST\", headers: { authorization: `Bearer ${this.options.apiKey}`, \"content-type\": \"application/json\", \"x-openpond-team-id\": this.options.scope }, body: serialized, signal,redirect:\"error\" });\n const reader=response.body?.getReader(),chunks:Uint8Array[]=[];let size=0;\n if(reader){try{while(true){const part=await reader.read();if(part.done)break;size+=part.value.byteLength;if(size>8388608){await reader.cancel();throw new HumanReviewClientError(502,\"human_response_too_large\",\"Review response exceeds its bounded transport.\");}chunks.push(part.value);}}finally{reader.releaseLock();}}\n const bytes=new Uint8Array(size);let offset=0;for(const chunk of chunks){bytes.set(chunk,offset);offset+=chunk.byteLength;}\n let data:unknown;try{data=JSON.parse(new TextDecoder(\"utf-8\",{fatal:true}).decode(bytes));}catch{throw new HumanReviewClientError(502,\"human_response_invalid\",\"Review response is not valid JSON.\");}\n if (!response.ok) { const failure = z.object({ code: z.string().optional(), error: z.string().optional() }).passthrough().safeParse(data); throw new HumanReviewClientError(response.status, failure.success ? failure.data.code ?? \"human_request_failed\" : \"human_request_failed\", failure.success ? failure.data.error ?? \"Review request failed.\" : \"Review request failed.\"); }\n if(body.endpoint===\"results\"){\n const result=HumanResultViewSchema.parse(data),{contentHash:hash,...content}=result;\n if(result.executionId!==body.executionId||contentHash(content)!==hash||body.selection!==undefined&&contentHash(result.selection)!==contentHash(body.selection))throw new HumanReviewClientError(502,\"human_result_identity_mismatch\",\"Human results differ from the exact retained execution or selected reviews.\");\n }\n if(body.endpoint===\"snapshot\"||body.endpoint===\"publish_evidence\"){const result=z.object({evidence:HumanEvidenceSchema,form:HumanFormSchema}).strict().parse(data);if(result.evidence.graderBinding.id!==body.graderId||result.evidence.attempts.length!==body.selections.length||result.evidence.attempts.some((a,i)=>a.experimentId!==body.selections[i]!.executionId||a.attemptId!==body.selections[i]!.receiptId))throw new HumanReviewClientError(502,\"human_snapshot_identity_mismatch\",\"Review snapshot differs from selected retained evidence.\");}\n if(body.endpoint===\"publish_local\"){const result=z.object({evidence:HumanEvidenceSchema,form:HumanFormSchema}).strict().parse(data);if(!result.evidence.publication||result.evidence.attempts.length!==body.evidence.attempts.length||result.evidence.attempts.some((attempt,index)=>attempt.localSource?.kind!==\"owner_attested_local\"||attempt.experimentId!==body.evidence.attempts[index]!.executionId||attempt.attemptId!==body.evidence.attempts[index]!.receiptId||attempt.localSource.retainedAttemptHash!==body.evidence.attempts[index]!.origin.retainedAttemptHash))throw new HumanReviewClientError(502,\"human_publication_identity_mismatch\",\"Published review differs from the exact local-origin export.\");}\n if(body.endpoint===\"snapshot_tasks\"){const result=z.object({evidence:HumanEvidenceSchema,form:HumanFormSchema}).strict().parse(data);if(result.evidence.graderBinding.id!==body.graderId||contentHash(result.evidence.dataset)!==contentHash(body.dataset)||(body.taskIds!==undefined&&contentHash(result.evidence.taskIds)!==contentHash(body.taskIds)||!result.evidence.taskIds?.length||new Set(result.evidence.taskIds).size!==result.evidence.taskIds.length))throw new HumanReviewClientError(502,\"human_snapshot_identity_mismatch\",\"Task snapshot differs from the selected exact tasks.\");}\n return data;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/experiment-evaluation-schedules.ts"],
|
|
4
|
-
"sourcesContent": ["import {EvaluationCoordinationTransport,type EvaluationCoordinationAccess} from \"./evaluation-coordination-http.js\";\nimport { z } from \"zod\";\nimport {\n contentHash,\n assertContentHash,\n ImmutableReleaseRefSchema,\n} from \"@openpond/harness\";\nimport { NightlyScheduleSchema } from \"@openpond/evals/learning\";\nimport { RunExperimentSchema } from \"./experiments.js\";\nconst Id = z.string().trim().min(1).max(200),\n Hash = z.string().regex(/^[a-f0-9]{64}$/),\n Time = z.string().datetime();\nexport const ExperimentEvaluationScheduleInputSchema = z\n .object({\n operationId: Id,\n id: Id.optional(),\n expectedRevision: z.number().int().nonnegative(),\n teamId: Id,\n projectId: Id.nullable(),\n enabled: z.boolean(),\n configuration: RunExperimentSchema,\n cadence: z.discriminatedUnion(\"kind\", [\n z\n .object({\n kind: z.literal(\"interval\"),\n seconds: z.number().int().min(60).max(31536000),\n })\n .strict(),\n z\n .object({ kind: z.literal(\"nightly\"), calendar: NightlyScheduleSchema })\n .strict(),\n ]),\n maximumTotalSpendUsd: z.number().finite().positive().max(10000),\n maximumAttempts: z.number().int().min(1).max(20),\n })\n .strict()\n .superRefine((v, c) => {\n if (\n v.configuration.request.teamId !== v.teamId ||\n (v.configuration.request.project?.id ?? null) !== v.projectId\n )\n c.addIssue({\n code: \"custom\",\n message:\n \"The scheduled Experiment must retain its actual workspace and Project.\",\n });\n if (v.configuration.maximumCostUsd > v.maximumTotalSpendUsd)\n c.addIssue({\n code: \"custom\",\n message:\n \"The run ceiling exceeds the approved cumulative schedule ceiling.\",\n });\n });\nexport const ExperimentEvaluationFireSchema = z\n .object({\n id: Id,\n scheduledAt: Time,\n coalescedThroughAt: Time,\n coalescedCount: z.number().int().nonnegative(),\n configurationHash: Hash,\n operationId: Id,\n state: z.enum([\n \"reserved\",\n \"dispatching\",\n \"running\",\n \"cleaning\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n \"uncertain\",\n ]),\n executionId: Id.nullable(),\n attempt: z.number().int().positive(),\n maximumCostUsd: z.number().finite().positive(),\n actualSpendUsd: z.number().finite().nonnegative().nullable(),\n cleanupComplete: z.boolean(),\n error: z.string().max(4000).nullable(),\n })\n .strict();\nexport const ExperimentEvaluationScheduleSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.experimentEvaluationSchedule.v1\"),\n id: Id,\n revision: z.number().int().positive(),\n actorId: Id,\n teamId: Id,\n projectId: Id.nullable(),\n operationId: Id,\n requestHash: Hash,\n configuration: RunExperimentSchema,\n configurationHash: Hash,\n cadence: ExperimentEvaluationScheduleInputSchema.shape.cadence,\n state: z.enum([\"scheduled\", \"disabled\", \"blocked\"]),\n nextRunAt: Time.nullable(),\n maximumTotalSpendUsd: z.number().finite().positive(),\n maximumAttempts: z.number().int().positive(),\n lastEvaluatedConfigurationHash: Hash.nullable(),\n newerUnevaluatedRelease: ImmutableReleaseRefSchema.nullable(),\n fires: z.array(ExperimentEvaluationFireSchema).max(10000),\n reason: z.string().max(4000).nullable(),\n createdAt: Time,\n updatedAt: Time,\n contentHash: Hash,\n })\n .strict();\nexport type ExperimentEvaluationSchedule = z.infer<\n typeof ExperimentEvaluationScheduleSchema\n>;\nexport type ExperimentEvaluationScheduleInput = z.infer<\n typeof ExperimentEvaluationScheduleInputSchema\n>;\nexport type ExperimentEvaluationFire = z.infer<\n typeof ExperimentEvaluationFireSchema\n>;\nexport function scheduledExperimentHash(\n value: z.infer<typeof RunExperimentSchema>,\n) {\n const { operationId: _operation, request, ...rest } = value;\n const { operationId: _requestOperation, ...body } = request;\n void _operation;\n void _requestOperation;\n return contentHash({ ...rest, request: body });\n}\nexport function verifyExperimentEvaluationSchedule(raw: unknown) {\n const v = ExperimentEvaluationScheduleSchema.parse(raw);\n assertContentHash(v, \"Scheduled Experiment\");\n if (\n v.configurationHash !== scheduledExperimentHash(v.configuration) ||\n v.configuration.request.teamId !== v.teamId ||\n (v.configuration.request.project?.id ?? null) !== v.projectId\n )\n throw new Error(\n \"Scheduled Experiment immutable authority differs from its recipe.\",\n );\n return v;\n}\nexport function sealExperimentEvaluationSchedule(\n value: Omit<ExperimentEvaluationSchedule, \"contentHash\">,\n) {\n return verifyExperimentEvaluationSchedule({\n ...value,\n contentHash: contentHash(value),\n });\n}\nexport const ExperimentEvaluationScheduleControlSchema = z\n .object({\n teamId: Id,\n id: Id,\n operationId: Id,\n expectedRevision: z.number().int().positive(),\n action: z.enum([\"cancel_active\", \"retry_active\", \"pause\"]),\n })\n .strict();\n\nexport const ExperimentEvaluationScheduleCommandSchema = z.discriminatedUnion(\n \"operation\",\n [\n z\n .object({\n operation: z.literal(\"publish\"),\n request: ExperimentEvaluationScheduleInputSchema,\n })\n .strict(),\n z\n .object({\n operation: z.literal(\"control\"),\n request: ExperimentEvaluationScheduleControlSchema,\n })\n .strict(),\n z.object({ operation: z.literal(\"read\"), id: Id }).strict(),\n z\n .object({\n operation: z.literal(\"list\"),\n cursor: Id.optional(),\n limit: z.number().int().min(1).max(100).default(50),\n })\n .strict(),\n ],\n);\n\nexport class OpenPondExperimentEvaluationScheduleClient {\n private readonly transport:EvaluationCoordinationTransport;\n constructor(access:EvaluationCoordinationAccess){this.transport=new EvaluationCoordinationTransport(access);}\n async command(raw:z.input<typeof ExperimentEvaluationScheduleCommandSchema>,signal?:AbortSignal){\n const request=ExperimentEvaluationScheduleCommandSchema.parse(raw),access=this.transport.access;\n if((request.operation===\"publish\"&&(request.request.teamId!==access.teamId||request.request.projectId!==access.projectId))||(request.operation===\"control\"&&request.request.teamId!==access.teamId))throw new Error(\"The schedule command belongs to another workspace or Project.\");\n const value=await this.transport.post(\"experiment-evaluation-schedules\",request,signal);\n const page=request.operation===\"list\"?z.object({items:z.array(z.unknown()).max(request.limit),nextCursor:z.string().nullable()}).strict().parse(value):null;\n const items=(page?.items??[value]).map(raw=>{const schedule=verifyExperimentEvaluationSchedule(raw);if(schedule.actorId!==access.actorId||schedule.teamId!==access.teamId||schedule.projectId!==access.projectId||request.operation===\"read\"&&schedule.id!==request.id||request.operation===\"control\"&&schedule.id!==request.request.id||request.operation===\"publish\"&&(schedule.requestHash!==contentHash(request.request)||Boolean(request.request.id&&schedule.id!==request.request.id)))throw new Error(\"Schedule readback differs from its exact owner command.\");return schedule;});\n return page?{items,nextCursor:page.nextCursor}:items[0]!;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["raw"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/experiment-scoring-contracts.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { contentHash, ImmutableReleaseRefSchema } from \"@openpond/harness\";\nimport { RewardReleaseRefSchema } from \"@openpond/evals/rewards\";\nimport { ExperimentGraderPinSchema } from \"./experiment-contracts.js\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nexport const ExperimentScoringRequestSchema = z.object({\n operationId: Id,\n execution: ImmutableReleaseRefSchema,\n /** Recorded executions retain observed evidence and never invoke a target. */\n executionKind: z.literal(\"recorded_evidence\").optional(),\n graders: z.array(RewardReleaseRefSchema).min(1).max(100),\n maximumCostUsd: z.number().finite().min(0.000001).max(10_000),\n mappings: z.array(z.object({ graderId: Id, fields: ExperimentFieldMappingsSchema }).strict()).max(100).optional(),\n}).strict().superRefine((value, context) => {\n if (new Set(value.graders.map(grader => grader.id)).size !== value.graders.length)\n context.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n if (value.mappings && (new Set(value.mappings.map(mapping => mapping.graderId)).size !== value.mappings.length\n || value.mappings.some(mapping => !value.graders.some(grader => grader.id === mapping.graderId))))\n context.addIssue({ code: \"custom\", path: [\"mappings\"], message: \"Map each selected grader at most once.\" });\n});\nexport type ExperimentScoringRequest = z.infer<typeof ExperimentScoringRequestSchema>;\n\nconst ScoringPassContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentScoringPass.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ExperimentScoringRequestSchema,\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]),\n totalCount: z.number().int().min(1).max(10_000),\n counts: z.object({ pending: z.number().int().nonnegative(), running: z.number().int().nonnegative(),\n scored: z.number().int().nonnegative(), unavailable: z.number().int().nonnegative(),\n failed: z.number().int().nonnegative(), cancelled: z.number().int().nonnegative() }).strict(),\n resultAvailable: z.boolean(), createdAt: z.iso.datetime(), startedAt: z.iso.datetime().nullable(),\n completedAt: z.iso.datetime().nullable(),\n error: z.object({ code: Id, message: z.string().max(2_000) }).strict().nullable(),\n}).strict();\nexport const ExperimentScoringPassSchema = ScoringPassContent.extend({ contentHash: z.string().regex(/^[a-f0-9]{64}$/) });\nexport type ExperimentScoringPass = z.infer<typeof ExperimentScoringPassSchema>;\n\n/** A pass grades owned output and carries no model-execution authority. */\nexport function verifyExperimentScoringPass(value: unknown) {\n const pass = ExperimentScoringPassSchema.parse(value);\n const { contentHash: actual, ...content } = pass;\n if (contentHash(content) !== actual || Object.values(pass.counts).reduce((sum, count) => sum + count, 0) !== pass.totalCount)\n throw new Error(\"Scoring pass integrity or population accounting failed.\");\n const terminal = [\"completed\", \"failed\", \"cancelled\"].includes(pass.status);\n if (terminal && (!pass.completedAt || pass.counts.pending || pass.counts.running)\n || !terminal && (pass.completedAt !== null || pass.resultAvailable)\n || pass.status === \"completed\" && !pass.resultAvailable)\n throw new Error(\"Scoring pass lifecycle differs from its retained result.\");\n if (pass.graders.length !== pass.request.graders.length || new Set(pass.graders.map(grader => grader.feedbackKey)).size !== pass.graders.length\n || pass.graders.some((grader, index) => contentHash(grader.release) !== contentHash(pass.request.graders[index]!)\n || contentHash(grader.mappings ?? []) !== contentHash(pass.request.mappings?.find(mapping => mapping.graderId === grader.release?.id)?.fields ?? [])))\n throw new Error(\"Scoring pass graders differ from their exact admission.\");\n return pass;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../cloud/src/api/core.ts"],
|
|
4
|
-
"sourcesContent": ["const DEFAULT_API_TIMEOUT_MS = 30_000;\nconst DEFAULT_API_RESPONSE_BYTES = 8 * 1024 * 1024;\nexport const LONG_STREAM_API_OPTIONS = { timeoutMs: 15 * 60 * 1000, maxResponseBytes: 64 * 1024 * 1024 } as const;\n\nexport type ApiFetchOptions = RequestInit & {\n /** Generic services always use their explicit bearer token, regardless of prefix. */\n explicitBearerAuth?: boolean;\n timeoutMs?: number;\n maxResponseBytes?: number;\n};\n\nexport class ApiTimeoutError extends Error {\n readonly code = \"OPENPOND_API_TIMEOUT\";\n\n constructor(readonly timeoutMs: number, readonly requestUrl: string) {\n super(`API request timed out after ${timeoutMs}ms: ${requestUrl}`);\n this.name = \"ApiTimeoutError\";\n }\n}\n\nexport class ApiResponseTooLargeError extends Error {\n readonly code = \"OPENPOND_API_RESPONSE_TOO_LARGE\";\n\n constructor(readonly maximumBytes: number, readonly requestUrl: string) {\n super(`API response exceeded ${maximumBytes} bytes: ${requestUrl}`);\n this.name = \"ApiResponseTooLargeError\";\n }\n}\n\nexport class OpenPondApiError extends Error {\n readonly code: string;\n\n constructor(\n readonly status: number,\n errorCode: string | null,\n label: string,\n readonly apiMessage: string | null = null,\n ) {\n const detail = apiMessage || errorCode;\n super(`${label} failed: ${status}${detail ? ` ${detail}` : \"\"}`);\n this.name = \"OpenPondApiError\";\n this.code = errorCode || \"OPENPOND_API_ERROR\";\n }\n}\n\nexport async function apiFetch(\n baseUrl: string,\n token: string | null,\n requestPath: string,\n options: ApiFetchOptions = {},\n): Promise<Response> {\n const { timeoutMs = DEFAULT_API_TIMEOUT_MS, maxResponseBytes = DEFAULT_API_RESPONSE_BYTES, explicitBearerAuth = false, ...init } = options;\n const requestUrl = `${baseUrl}${requestPath}`;\n const headers = new Headers(init.headers);\n headers.set(\"Content-Type\", \"application/json\");\n const apiKey = !explicitBearerAuth ? process.env.OPENPOND_API_KEY : undefined;\n const trimmedToken = token?.trim() || \"\";\n const tokenIsApiKey = !explicitBearerAuth && trimmedToken.startsWith(\"opk_\");\n const effectiveApiKey = apiKey || (tokenIsApiKey ? trimmedToken : null);\n if (effectiveApiKey && !headers.has(\"openpond-api-key\")) headers.set(\"openpond-api-key\", effectiveApiKey);\n if (token) {\n headers.set(\"Authorization\", tokenIsApiKey ? `ApiKey ${trimmedToken}` : `Bearer ${token}`);\n } else if (apiKey && !headers.has(\"Authorization\")) {\n headers.set(\"Authorization\", `ApiKey ${apiKey}`);\n }\n\n const timeoutController = new AbortController();\n const timeoutError = new ApiTimeoutError(timeoutMs, requestUrl);\n const timer = timeoutMs > 0\n ? setTimeout(() => timeoutController.abort(timeoutError), timeoutMs)\n : null;\n timer?.unref?.();\n const signal = composedSignal(init.signal, timeoutController.signal, timeoutMs);\n const cleanup = () => {\n if (timer) clearTimeout(timer);\n };\n\n try {\n const response = await fetch(requestUrl, { ...init, headers, signal });\n return boundedResponse(response, {\n cleanup,\n maximumBytes: maxResponseBytes,\n requestUrl,\n timeoutController,\n timeoutError,\n });\n } catch (error) {\n cleanup();\n if (timeoutController.signal.aborted) throw timeoutError;\n throw error;\n }\n}\n\nexport async function readApiJson<T>(response: Response, label: string): Promise<T> {\n let payload: T & { error?: unknown; message?: unknown };\n try {\n const text = await response.text();\n payload = (text ? JSON.parse(text) : {}) as T & { error?: unknown; message?: unknown };\n } catch (error) {\n if (error instanceof ApiTimeoutError || error instanceof ApiResponseTooLargeError) throw error;\n payload = {} as T & { error?: unknown; message?: unknown };\n }\n if (!response.ok) {\n const errorCode = typeof payload.error === \"string\" ? payload.error : null;\n const apiMessage =\n typeof payload.message === \"string\" ? payload.message : null;\n throw new OpenPondApiError(response.status, errorCode, label, apiMessage);\n }\n return payload as T;\n}\n\nfunction boundedResponse(\n response: Response,\n input: {\n cleanup: () => void;\n maximumBytes: number;\n requestUrl: string;\n timeoutController: AbortController;\n timeoutError: ApiTimeoutError;\n },\n): Response {\n if (!response.body) {\n input.cleanup();\n return response;\n }\n const contentLength = Number(response.headers.get(\"content-length\"));\n if (input.maximumBytes > 0 && Number.isFinite(contentLength) && contentLength > input.maximumBytes) {\n input.cleanup();\n void response.body.cancel();\n throw new ApiResponseTooLargeError(input.maximumBytes, input.requestUrl);\n }\n\n const reader = response.body.getReader();\n let receivedBytes = 0;\n const body = new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const result = await reader.read();\n if (result.done) {\n input.cleanup();\n controller.close();\n return;\n }\n receivedBytes += result.value.byteLength;\n if (input.maximumBytes > 0 && receivedBytes > input.maximumBytes) {\n input.cleanup();\n await reader.cancel();\n controller.error(new ApiResponseTooLargeError(input.maximumBytes, input.requestUrl));\n return;\n }\n controller.enqueue(result.value);\n } catch (error) {\n input.cleanup();\n controller.error(input.timeoutController.signal.aborted ? input.timeoutError : error);\n }\n },\n async cancel(reason) {\n input.cleanup();\n await reader.cancel(reason);\n },\n });\n return new Response(body, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nfunction composedSignal(\n callerSignal: AbortSignal | null | undefined,\n timeoutSignal: AbortSignal,\n timeoutMs: number,\n): AbortSignal | undefined {\n if (timeoutMs <= 0) return callerSignal ?? undefined;\n return callerSignal ? AbortSignal.any([callerSignal, timeoutSignal]) : timeoutSignal;\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
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"],
|
|
4
|
-
"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 } 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() }).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"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["z", "z", "z", "TaskGradeSchema", "z", "z", "z", "TaskGradeSchema", "contentHash"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../harness/dist/common.js", "../../harness/dist/sha256.js"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { sha256Hex } from \"./sha256.js\";\nexport const MAX_PORTABLE_PATH_BYTES = 2_000;\nexport const MAX_PORTABLE_ASSET_BYTES = 250_000_000;\nexport const ReleaseIdSchema = z.string().trim().min(1).max(240);\nexport const ReleaseHashSchema = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ReleaseTimestampSchema = z.string().datetime({ offset: true });\nexport const MetadataSchema = z.record(z.string(), z.unknown()).default({});\nexport const ImmutableReleaseRefSchema = z.object({\n id: ReleaseIdSchema,\n contentHash: ReleaseHashSchema,\n}).strict();\nexport const VersionedReleaseRefSchema = ImmutableReleaseRefSchema.extend({\n revision: z.number().int().positive(),\n}).strict();\nexport const ImmutableAssetRefSchema = z.object({\n id: ReleaseIdSchema,\n path: z.string().trim().min(1).max(MAX_PORTABLE_PATH_BYTES).refine(safeRelativePath),\n contentHash: ReleaseHashSchema,\n sizeBytes: z.number().int().nonnegative().max(MAX_PORTABLE_ASSET_BYTES),\n mediaType: z.string().trim().min(1).max(200),\n visibility: z.enum([\"policy\", \"verifier\", \"host_private\"]),\n}).strict();\nexport const ImmutableArtifactRefSchema = z.object({\n id: ReleaseIdSchema,\n contentHash: ReleaseHashSchema,\n mediaType: z.string().trim().min(1).max(200).nullable().default(null),\n sizeBytes: z.number().int().nonnegative().max(MAX_PORTABLE_ASSET_BYTES).nullable().default(null),\n}).strict();\nexport const FailureClassSchema = z.enum([\n \"policy_failure\",\n \"grader_failure\",\n \"environment_failure\",\n \"infrastructure_failure\",\n \"timeout\",\n \"cancelled\",\n]);\nexport function canonicalJson(value) {\n return `${JSON.stringify(sortValue(value), null, 2)}\\n`;\n}\nexport function sha256(value) {\n return sha256Hex(value);\n}\nexport function contentHash(value) {\n return sha256(canonicalJson(value));\n}\nexport function withContentHash(value) {\n return { ...value, contentHash: contentHash(value) };\n}\nexport function assertContentHash(value, label) {\n const { contentHash: actual, ...hashable } = value;\n const expected = contentHash(hashable);\n if (actual !== expected)\n throw new Error(`${label} contentHash is ${actual}; expected ${expected}.`);\n}\nfunction safeRelativePath(value) {\n const normalized = value.replaceAll(\"\\\\\", \"/\");\n if (!normalized || normalized.startsWith(\"/\") || normalized.includes(\"\\0\"))\n return false;\n return !normalized.split(\"/\").some((part) => !part || part === \".\" || part === \"..\");\n}\nfunction sortValue(value) {\n if (Array.isArray(value))\n return value.map(sortValue);\n if (!value || typeof value !== \"object\")\n return value;\n return Object.fromEntries(Object.entries(value)\n .sort(([left], [right]) => left.localeCompare(right))\n .map(([key, child]) => [key, sortValue(child)]));\n}\n", "// FIPS 180-4 SHA-256 implemented over platform-neutral typed arrays so the\n// portable contracts keep the same synchronous content-hash API in any host.\nconst INITIAL_STATE = new Uint32Array([\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19,\n]);\nconst ROUND_CONSTANTS = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n]);\n/** Cloneable byte-stream state; digest leaves the state available for further updates. */\nexport class Sha256State {\n state = new Uint32Array(INITIAL_STATE);\n pending = new Uint8Array(64);\n pendingLength = 0;\n byteLength = 0;\n words = new Uint32Array(64);\n /** Strings are independently UTF-8 encoded chunks. Use bytes when a text\n * stream may split a surrogate pair between updates. */\n update(value) {\n const bytes = typeof value === \"string\" ? new TextEncoder().encode(value) : value;\n if (!Number.isSafeInteger(this.byteLength + bytes.length))\n throw new RangeError(\"SHA-256 input is too large\");\n this.byteLength += bytes.length;\n let offset = 0;\n if (this.pendingLength) {\n const count = Math.min(64 - this.pendingLength, bytes.length);\n this.pending.set(bytes.subarray(0, count), this.pendingLength);\n this.pendingLength += count;\n offset += count;\n if (this.pendingLength === 64) {\n this.compress(this.pending);\n this.pendingLength = 0;\n }\n }\n while (offset + 64 <= bytes.length) {\n this.compress(bytes.subarray(offset, offset + 64));\n offset += 64;\n }\n if (offset < bytes.length) {\n this.pending.set(bytes.subarray(offset));\n this.pendingLength = bytes.length - offset;\n }\n return this;\n }\n clone() {\n const copy = new Sha256State();\n copy.state.set(this.state);\n copy.pending.set(this.pending);\n copy.pendingLength = this.pendingLength;\n copy.byteLength = this.byteLength;\n return copy;\n }\n digestHex() {\n const copy = this.clone();\n const padding = new Uint8Array(copy.pendingLength < 56 ? 64 : 128);\n padding.set(copy.pending.subarray(0, copy.pendingLength));\n padding[copy.pendingLength] = 0x80;\n const bitLength = copy.byteLength * 8;\n const view = new DataView(padding.buffer);\n view.setUint32(padding.length - 8, Math.floor(bitLength / 0x1_0000_0000), false);\n view.setUint32(padding.length - 4, bitLength >>> 0, false);\n copy.compress(padding.subarray(0, 64));\n if (padding.length === 128)\n copy.compress(padding.subarray(64));\n return Array.from(copy.state, (word) => word.toString(16).padStart(8, \"0\")).join(\"\");\n }\n compress(bytes) {\n const view = new DataView(bytes.buffer, bytes.byteOffset, 64);\n const state = this.state, words = this.words;\n for (let index = 0; index < 16; index += 1) {\n words[index] = view.getUint32(index * 4, false);\n }\n for (let index = 16; index < 64; index += 1) {\n const previous = words[index - 15];\n const recent = words[index - 2];\n const sigma0 = rotateRight(previous, 7) ^ rotateRight(previous, 18) ^ (previous >>> 3);\n const sigma1 = rotateRight(recent, 17) ^ rotateRight(recent, 19) ^ (recent >>> 10);\n words[index] = (words[index - 16] + sigma0 + words[index - 7] + sigma1) >>> 0;\n }\n let a = state[0];\n let b = state[1];\n let c = state[2];\n let d = state[3];\n let e = state[4];\n let f = state[5];\n let g = state[6];\n let h = state[7];\n for (let index = 0; index < 64; index += 1) {\n const choice = (e & f) ^ (~e & g);\n const majority = (a & b) ^ (a & c) ^ (b & c);\n const sum0 = rotateRight(a, 2) ^ rotateRight(a, 13) ^ rotateRight(a, 22);\n const sum1 = rotateRight(e, 6) ^ rotateRight(e, 11) ^ rotateRight(e, 25);\n const first = (h + sum1 + choice + ROUND_CONSTANTS[index] + words[index]) >>> 0;\n const second = (sum0 + majority) >>> 0;\n h = g;\n g = f;\n f = e;\n e = (d + first) >>> 0;\n d = c;\n c = b;\n b = a;\n a = (first + second) >>> 0;\n }\n state[0] = (state[0] + a) >>> 0;\n state[1] = (state[1] + b) >>> 0;\n state[2] = (state[2] + c) >>> 0;\n state[3] = (state[3] + d) >>> 0;\n state[4] = (state[4] + e) >>> 0;\n state[5] = (state[5] + f) >>> 0;\n state[6] = (state[6] + g) >>> 0;\n state[7] = (state[7] + h) >>> 0;\n }\n}\nexport function sha256Hex(value) {\n return new Sha256State().update(value).digestHex();\n}\nfunction rotateRight(value, bits) {\n return (value >>> bits) | (value << (32 - bits));\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/experiment-improvement-contracts.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport {HumanComparisonSelectionsSchema,HumanComparisonProjectionSchema,verifyHumanComparisonProjection} from \"@openpond/evals/human-review\";\nimport { contentHash, ImmutableReleaseRefSchema } from \"@openpond/harness\";\nimport { ExperimentManifestSchema, ExperimentResultSchema, verifyExperimentEvidence, compareExperiments } from \"@openpond/evals/experiments\";\nimport {ExperimentScoringRequestSchema} from \"./experiment-scoring-contracts.js\";\nimport {ProfileExternalDatasetBindingSchema,verifyProfileExternalDatasetBinding} from \"@openpond/evals\";\nexport const ExperimentImprovementScoringSchema=z.object({sourcePass:ImmutableReleaseRefSchema,graders:ExperimentScoringRequestSchema.shape.graders,mappings:ExperimentScoringRequestSchema.shape.mappings,maximumCostUsd:z.number().finite().positive().max(10000)}).strict();\nexport const ExperimentImprovementTestRecipeSchema=z.object({externalDatasetBinding:ProfileExternalDatasetBindingSchema,scoring:ExperimentImprovementScoringSchema.optional(),modelId:z.string().min(1).max(300),maximumCostUsd:z.number().finite().positive().max(10000)}).strict();\nexport type ExperimentImprovementTestRecipe=z.infer<typeof ExperimentImprovementTestRecipeSchema>;\nconst OpenPondProfileRefSchema=z.object({source:z.enum([\"local\",\"github\",\"openpond_git\"]),repositoryId:z.string().trim().min(1),profileId:z.string().trim().min(1)}).strict();\nconst Id=z.string().min(1).max(240),Hash=z.string().regex(/^[a-f0-9]{64}$/);\nexport const ExperimentImprovementStateSchema=z.object({schemaVersion:z.literal(\"openpond.experimentImprovement.v1\"),id:Id,operationId:Id,requestHash:Hash,\n actorId:Id,teamId:Id,projectId:Id.nullable(),ownerWorkspaceId:Id,ownerRevision:z.number().int().nonnegative(),ownerSourceRevision:z.string().min(1).max(500),baseRelease:ImmutableReleaseRefSchema,\n profileRef:OpenPondProfileRefSchema,baseProfileSourceRevision:z.string().min(1).max(500),\n evidence:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),\n component:z.object({kind:z.enum([\"skill\",\"workflow\",\"agent\",\"instruction\"]),path:z.string().min(1).max(2000),workflowId:Id.optional()}).strict(),\n mode:z.enum([\"manual\",\"llm_assisted\"]),status:z.enum([\"draft\",\"authoring_queued\",\"authoring\",\"frozen\",\"testing\",\"ready_for_review\",\"adopting\",\"accepted\",\"rolled_back\",\"declined\",\"failed\",\"cancelled\"]),revision:z.number().int().positive(),\n limits:z.object({maximumCostUsd:z.number().finite().positive(),maximumAuthoringSteps:z.number().int().min(1).max(500),maximumDurationMs:z.number().int().min(1000).max(86400000)}).strict(),\n authoringSteps:z.number().int().nonnegative().max(500),\n work:z.object({sessionId:Id,turnId:Id,revision:z.number().int().positive(),startedAt:z.string().datetime()}).strict().nullable(),\n frozen:z.object({release:ImmutableReleaseRefSchema,sourceRevision:z.string().min(1).max(500),profileSourceRevision:z.string().min(1).max(500),authoringHash:Hash,partitionHash:Hash,executableSourceHash:Hash,protectedClosureHash:Hash,\n candidateRevision:z.number().int().positive(),diff:z.array(z.object({path:z.string(),before:Hash.nullable(),after:Hash.nullable()}).strict()).max(10000)}).strict().nullable(),\n test:z.object({recipe:ExperimentImprovementTestRecipeSchema,recipeHash:z.string().regex(/^[a-f0-9]{64}$/),baselineOperationId:z.string(),candidateOperationId:z.string(),cancelRequestedAt:z.string().datetime().nullable(),dispatching:z.object({kind:z.enum([\"baseline\",\"candidate\"]),token:Id,pid:z.number().int().positive(),processStart:z.string().nullable(),startedAt:z.string().datetime()}).strict().nullable()}).strict().nullable(),\n comparison:z.object({baseline:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),candidate:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),frozenHash:Hash,humanProjection:HumanComparisonProjectionSchema.optional()}).strict().nullable(),\n adoptionIntent:z.object({operationId:Id,expectedOwnerRevision:z.number().int().nonnegative(),frozenHash:Hash,humanProjection:HumanComparisonProjectionSchema.optional()}).strict().nullable(),\n acceptance:ImmutableReleaseRefSchema.nullable(),rollback:ImmutableReleaseRefSchema.nullable(),error:z.string().max(2000).nullable(),createdAt:z.string().datetime(),updatedAt:z.string().datetime(),contentHash:Hash}).strict();\nexport type ExperimentImprovementState=z.infer<typeof ExperimentImprovementStateSchema>;\nexport function verifyExperimentImprovementState(raw:unknown) {\n const value=ExperimentImprovementStateSchema.parse(raw),{contentHash:hash,...body}=value;\n if(contentHash(body)!==hash)throw new Error(\"Improvement state integrity failed.\");\n verifyExperimentEvidence(value.evidence);\n if(value.evidence.manifest.teamId!==value.teamId || value.evidence.result.status!==\"completed\" || !value.evidence.result.cases.some(row=>row.status===\"completed\"))throw new Error(\"Improvement requires usable completed owner evidence.\");\n if(value.test&&(contentHash(value.test.recipe)!==value.test.recipeHash||verifyProfileExternalDatasetBinding(value.test.recipe.externalDatasetBinding).profileId!==value.profileRef.profileId))throw new Error(\"The test recipe changed its exact selected Profile.\");\n if(value.comparison?.humanProjection){const projection=verifyHumanComparisonProjection(value.comparison.humanProjection);if(projection.teamId!==value.teamId||projection.projectId!==value.projectId||contentHash(projection.baseline)!==contentHash(value.comparison.baseline)||contentHash(projection.candidate)!==contentHash(value.comparison.candidate))throw new Error(\"Human comparison projection differs from its exact owner evidence.\");}\n if(value.comparison){verifyExperimentEvidence(value.comparison.baseline);verifyExperimentEvidence(value.comparison.candidate);\n if(!value.frozen||value.comparison.frozenHash!==contentHash(value.frozen)||!compareExperiments(value.comparison.baseline,value.comparison.candidate).comparable)throw new Error(\"Improvement comparison is not bound to a comparable frozen candidate.\");}\n if(value.status===\"ready_for_review\"&&(!value.frozen||!value.comparison))throw new Error(\"Improvement is missing qualification.\");\n if(value.status===\"adopting\"&&(!value.adoptionIntent||!value.frozen||value.adoptionIntent.frozenHash!==contentHash(value.frozen)))throw new Error(\"Improvement adoption intent is not bound to its tested revision.\");\n if(value.status===\"accepted\"&&(!value.acceptance||!value.comparison||!value.frozen))throw new Error(\"Improvement acceptance is missing its exact qualification receipt.\");\n if(value.status===\"rolled_back\"&&(!value.acceptance||!value.rollback))throw new Error(\"Profile rollback is missing its durable owner receipt.\");\n return value;\n}\nexport function sealExperimentImprovementState(input:Omit<ExperimentImprovementState,\"contentHash\">){return verifyExperimentImprovementState({...input,contentHash:contentHash(input)});}\n\nexport const ExperimentImprovementListSchema=z.object({states:z.array(ExperimentImprovementStateSchema).max(50),nextCursor:Id.nullable()}).strict();\nexport const StartExperimentImprovementSchema=z.object({operationId:Id,ownerWorkspaceId:Id,expectedOwnerRevision:z.number().int().nonnegative(),baseRelease:ImmutableReleaseRefSchema,\n profileRef:OpenPondProfileRefSchema,profileSourceRevision:z.string().min(1).max(500),projectId:Id.nullable(),evidence:ImmutableReleaseRefSchema,\n component:ExperimentImprovementStateSchema.shape.component,mode:ExperimentImprovementStateSchema.shape.mode,limits:ExperimentImprovementStateSchema.shape.limits}).strict();\nexport const ExperimentImprovementCommandSchema=z.discriminatedUnion(\"operation\",[\n z.object({operation:z.literal(\"list\"),limit:z.number().int().min(1).max(50).default(30),cursor:Id.optional()}).strict(),\n z.object({operation:z.literal(\"options\"),evidence:ImmutableReleaseRefSchema}).strict(),\n z.object({operation:z.literal(\"start\"),request:StartExperimentImprovementSchema}).strict(),\n z.object({operation:z.enum([\"read\",\"humanComparisonOptions\"]),id:Id}).strict(),\n z.object({operation:z.literal(\"instructions\"),id:Id}).strict(),\n z.object({operation:z.literal(\"edit\"),id:Id,revision:z.number().int().positive(),expectedFileHash:Hash,text:z.string().max(250000)}).strict(),\n z.object({operation:z.literal(\"mode\"),id:Id,revision:z.number().int().positive(),mode:z.enum([\"manual\",\"llm_assisted\"])}).strict(),\n z.object({operation:z.literal(\"author\"),id:Id,revision:z.number().int().positive(),modelId:Id,prompt:z.string().min(1).max(20000)}).strict(),\n z.object({operation:z.enum([\"freeze\",\"finishAuthoring\",\"useCandidate\",\"discard\",\"cancel\",\"rollback\"]),id:Id,revision:z.number().int().positive()}).strict(),\n z.object({operation:z.literal(\"test\"),id:Id,revision:z.number().int().positive(),recipe:ExperimentImprovementTestRecipeSchema}).strict(),\n z.object({operation:z.literal(\"compare\"),id:Id,revision:z.number().int().positive(),baseline:ImmutableReleaseRefSchema,candidate:ImmutableReleaseRefSchema,humanSelections:HumanComparisonSelectionsSchema.optional()}).strict(),\n]);\nexport type ExperimentImprovementCommand=z.input<typeof ExperimentImprovementCommandSchema>;\n\nexport const ExperimentImprovementOptionsSchema=z.object({teamId:Id,evidence:ImmutableReleaseRefSchema,scoring:ExperimentImprovementScoringSchema.optional(),profiles:z.array(z.object({id:Hash,name:z.string(),profileRef:OpenPondProfileRefSchema,ownerWorkspaceId:Id,ownerRevision:z.number().int().nonnegative(),baseRelease:ImmutableReleaseRefSchema,profileSourceRevision:z.string(),components:z.array(z.object({kind:z.enum([\"skill\",\"instruction\",\"agent\",\"workflow\"]),path:z.string(),agentId:z.string().optional(),workflowId:z.string().optional(),label:z.string(),binding:ProfileExternalDatasetBindingSchema}).strict()).max(500)}).strict()).max(100)}).strict();\n\nexport const ExperimentImprovementHumanOptionsSchema=z.object({candidateId:Id,actorId:Id,teamId:Id,projectId:Id.nullable(),candidateRevision:z.number().int().positive(),recipeHash:Hash,baseline:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),candidate:z.object({manifest:ExperimentManifestSchema,result:ExperimentResultSchema}).strict(),contentHash:Hash}).strict();\nexport type ExperimentImprovementHumanOptions=z.infer<typeof ExperimentImprovementHumanOptionsSchema>;\nexport function verifyExperimentImprovementHumanOptions(raw:unknown){const value=ExperimentImprovementHumanOptionsSchema.parse(raw),{contentHash:hash,...body}=value;if(contentHash(body)!==hash)throw new Error(\"Accepted Human discovery integrity failed.\");for(const lane of [value.baseline,value.candidate]){verifyExperimentEvidence(lane);if(lane.manifest.teamId!==value.teamId||lane.manifest.lineage?.humanProjection)throw new Error(\"Discovery must retain original owner evidence.\");}return value;}\nexport function sealExperimentImprovementHumanOptions(state:ExperimentImprovementState,pair:{baseline:{manifest:z.infer<typeof ExperimentManifestSchema>;result:z.infer<typeof ExperimentResultSchema>};candidate:{manifest:z.infer<typeof ExperimentManifestSchema>;result:z.infer<typeof ExperimentResultSchema>}}){if(!state.test||state.test.cancelRequestedAt)throw new Error(\"The paired test is unavailable.\");const body={candidateId:state.id,actorId:state.actorId,teamId:state.teamId,projectId:state.projectId,candidateRevision:state.revision,recipeHash:state.test.recipeHash,...pair};return verifyExperimentImprovementHumanOptions({...body,contentHash:contentHash(body)});}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/candidate-evaluations.ts", "../src/candidate-evaluation-client.ts"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { contentHash } from \"@openpond/harness\";\nimport { RunExperimentSchema } from \"./experiment-run-contracts.js\";\nconst Id = z.string().trim().min(1).max(200),\n Hash = z.string().regex(/^[a-f0-9]{64}$/),\n Ref = z.object({ id: Id, contentHash: Hash }).strict();\nexport const CandidateEvaluationOptionSchema = z\n .object({\n artifact: Ref,\n trainingJobId: Id,\n configurationId: Id,\n baseProfileId: Id,\n ready: z.boolean(),\n reason: z.string().max(1000).nullable(),\n })\n .strict();\nexport const CandidateEvaluationOptionsSchema = z\n .object({\n teamId: Id,\n ownerUserId: Id,\n items: z.array(CandidateEvaluationOptionSchema).max(100),\n nextCursor: Id.nullable(),\n })\n .strict();\nexport const CandidateEvaluationRequestSchema = z\n .object({ teamId: Id, operationId: Id, artifact: Ref, configuration: RunExperimentSchema })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.configuration.request.teamId !== value.teamId ||\n value.configuration.request.policy.kind === \"fixture\" ||\n value.configuration.request.policy.candidate\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"Choose one exact model-backed evaluation before preparing the trained version.\",\n });\n });\nexport const CandidateEvaluationPreparationSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.candidateEvaluationPreparation.v1\"),\n teamId: Id,\n ownerUserId: Id,\n id: Id,\n revision: z.number().int().positive(),\n requestHash: Hash,\n request: CandidateEvaluationRequestSchema,\n trainingJobId: Id,\n dispatchId: Id,\n lastOperationId: Id.nullable(),\n runtime: z\n .object({\n poolId: Id,\n endpointId: Id.nullable(),\n baseProfileId: Id,\n workerImageDigest: z.string().regex(/^sha256:[a-f0-9]{64}$/),\n modelId: Id.nullable(),\n })\n .strict()\n .nullable(),\n state: z.enum([\n \"configured\",\n \"preparing\",\n \"ready\",\n \"dispatching\",\n \"submitted\",\n \"cleaning\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n ]),\n experimentId: Id.nullable(),\n authorizedAt: z.iso.datetime().nullable(),\n cancelledAt: z.iso.datetime().nullable(),\n reason: z.string().max(1000).nullable(),\n createdAt: z.iso.datetime(),\n updatedAt: z.iso.datetime(),\n })\n .strict()\n .superRefine((value, ctx) => {\n if (\n value.requestHash !== contentHash(value.request) ||\n (!value.runtime && [\"ready\", \"dispatching\", \"submitted\", \"completed\"].includes(value.state))\n )\n ctx.addIssue({\n code: \"custom\",\n message: \"The exact candidate preparation request or runtime changed.\",\n });\n });\nexport const CandidateEvaluationControlSchema = z\n .object({ operationId: Id, expectedRevision: z.number().int().positive(), requestHash: Hash })\n .strict();\nexport type CandidateEvaluationPreparation = z.infer<typeof CandidateEvaluationPreparationSchema>;\nexport type CandidateEvaluationRequest = z.infer<typeof CandidateEvaluationRequestSchema>;\nexport type CandidateEvaluationOption = z.infer<typeof CandidateEvaluationOptionSchema>;\nexport { createCandidateEvaluationClient } from \"./candidate-evaluation-client.js\";\n", "import { contentHash } from \"@openpond/harness\";\nimport {\n CandidateEvaluationOptionsSchema,\n CandidateEvaluationRequestSchema,\n CandidateEvaluationPreparationSchema,\n CandidateEvaluationControlSchema,\n type CandidateEvaluationRequest,\n} from \"./candidate-evaluations.js\";\nexport function createCandidateEvaluationClient(\n request: (path: string, init?: RequestInit) => Promise<unknown>,\n) {\n const path = (id: string) => `/v1/training/candidate-evaluations/${encodeURIComponent(id)}`;\n function read(raw: unknown, teamId: string, id?: string) {\n const value = CandidateEvaluationPreparationSchema.parse(raw);\n if (value.teamId !== teamId || (id && value.id !== id))\n throw new Error(\"The preparation belongs to another workspace or candidate operation.\");\n return value;\n }\n return {\n async options(teamId: string, query: { afterId?: string; projectId?: string } = {}) {\n const params = new URLSearchParams({ teamId, ...query }),\n value = CandidateEvaluationOptionsSchema.parse(\n await request(`/v1/training/candidates?${params}`),\n );\n if (value.teamId !== teamId)\n throw new Error(\"The candidate catalog belongs to another workspace.\");\n return value;\n },\n async save(raw: CandidateEvaluationRequest) {\n const body = CandidateEvaluationRequestSchema.parse(raw),\n value = read(\n await request(\n `/v1/training/candidate-evaluations?teamId=${encodeURIComponent(body.teamId)}`,\n { method: \"POST\", body: JSON.stringify(body) },\n ),\n body.teamId,\n );\n if (value.requestHash !== contentHash(body))\n throw new Error(\n \"The saved preparation differs from the selected candidate or frozen evaluation.\",\n );\n return value;\n },\n async get(teamId: string, id: string) {\n return read(await request(`${path(id)}?teamId=${encodeURIComponent(teamId)}`), teamId, id);\n },\n async control(teamId: string, id: string, action: \"prepare\" | \"run\" | \"cancel\", raw: unknown) {\n const body = CandidateEvaluationControlSchema.parse(raw),\n value = read(\n await request(`${path(id)}/${action}?teamId=${encodeURIComponent(teamId)}`, {\n method: \"POST\",\n body: JSON.stringify(body),\n }),\n teamId,\n id,\n );\n if (value.requestHash !== body.requestHash)\n throw new Error(\"The command returned a different frozen evaluation.\");\n return value;\n },\n };\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/advanced-refiner-evaluations.ts"],
|
|
4
|
-
"sourcesContent": ["import {EvaluationCoordinationTransport,type EvaluationCoordinationAccess} from \"./evaluation-coordination-http.js\";\nimport { z } from \"zod\";\nimport { ExperimentImprovementOptionsSchema } from \"./experiment-improvement-contracts.js\";\nimport { ChatModelRefSchema } from \"@openpond/harness/models\";\nimport { ImmutableReleaseRefSchema, contentHash } from \"@openpond/harness\";\nimport {\n ProfileExternalDatasetBindingSchema,\n verifyProfileExternalDatasetBinding,\n} from \"@openpond/evals\";\nconst Id = z.string().trim().min(1).max(240),\n Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const AdvancedRefinerEvaluationPinSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.advancedRefinerEvaluation.v1\"),\n operationId: Id,\n actorId: Id,\n teamId: Id,\n projectId: Id.nullable(),\n mode: z.enum([\"review_quality\", \"downstream_adaptation\"]),\n profileRef: z\n .object({\n source: z.enum([\"local\", \"github\", \"openpond_git\"]),\n repositoryId: Id,\n profileId: Id,\n })\n .strict(),\n sourceRevision: z.string().min(1).max(500),\n baselineRelease: ImmutableReleaseRefSchema,\n refinerRelease: ImmutableReleaseRefSchema,\n evidence: ImmutableReleaseRefSchema,\n externalDatasetBinding: ProfileExternalDatasetBindingSchema,\n adaptationDatasetBinding: ProfileExternalDatasetBindingSchema,\n privateClosureHash: Hash,\n adaptationTaskIds: z.array(Id).min(1).max(10000),\n holdoutTaskIds: z.array(Id).min(1).max(10000),\n adaptationSplit: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n holdoutSplit: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n environmentPolicy: z.discriminatedUnion(\"kind\", [\n z\n .object({ kind: z.literal(\"resettable\"), environmentHash: Hash })\n .strict(),\n z\n .object({\n kind: z.literal(\"frozen_observations\"),\n environmentHash: Hash,\n })\n .strict(),\n ]),\n maximumCostUsd: z.number().finite().positive().max(10000),\n maximumDurationMs: z.number().int().min(1000).max(86400000),\n maximumModelSteps: z.number().int().min(1).max(1000),\n contentHash: Hash,\n })\n .strict();\nexport type AdvancedRefinerEvaluationPin = z.infer<\n typeof AdvancedRefinerEvaluationPinSchema\n>;\nexport function verifyAdvancedRefinerEvaluationPin(raw: unknown) {\n const value = AdvancedRefinerEvaluationPinSchema.parse(raw),\n { contentHash: hash, ...body } = value;\n if (contentHash(body) !== hash)\n throw new Error(\"Advanced Refiner evaluation admission changed.\");\n const binding = verifyProfileExternalDatasetBinding(\n value.externalDatasetBinding,\n );\n if (\n binding.profileId !== value.profileRef.profileId ||\n binding.protectedProfileClosureHash !== value.privateClosureHash\n )\n throw new Error(\n \"Advanced evaluation changed its Profile or protected evaluator closure.\",\n );\n if (\n value.adaptationSplit === value.holdoutSplit ||\n new Set([...value.adaptationTaskIds, ...value.holdoutTaskIds]).size !==\n value.adaptationTaskIds.length + value.holdoutTaskIds.length\n )\n throw new Error(\n \"Adaptation and private holdout must be disjoint ordered cases.\",\n );\n const adaptation = verifyProfileExternalDatasetBinding(\n value.adaptationDatasetBinding,\n );\n if (\n adaptation.profileId !== binding.profileId ||\n adaptation.packageHash !== binding.packageHash ||\n contentHash(adaptation.dataset) !== contentHash(binding.dataset) ||\n contentHash(adaptation.target) !== contentHash(binding.target) ||\n adaptation.protectedProfileClosureHash !==\n binding.protectedProfileClosureHash\n )\n throw new Error(\n \"This native advanced adapter needs separate adaptation and holdout recipes from the same exact released package and target.\",\n );\n if (\n adaptation.split !== value.adaptationSplit ||\n binding.split !== value.holdoutSplit\n )\n throw new Error(\n \"Advanced split policies differ from their exact admitted recipes.\",\n );\n const population = new Set(binding.population.map((item) => item.taskId));\n const adapted = new Set(adaptation.population.map((item) => item.taskId));\n if (\n value.holdoutTaskIds.some((id) => !population.has(id)) ||\n value.adaptationTaskIds.some((id) => !adapted.has(id))\n )\n throw new Error(\n \"Advanced evaluation selected cases outside its exact Dataset recipe.\",\n );\n return value;\n}\nexport function sealAdvancedRefinerEvaluationPin(\n body: Omit<AdvancedRefinerEvaluationPin, \"contentHash\">,\n) {\n return verifyAdvancedRefinerEvaluationPin({\n ...body,\n contentHash: contentHash(body),\n });\n}\nexport const AdvancedRefinerEvaluationStartSchema = z\n .object({\n pin: AdvancedRefinerEvaluationPinSchema,\n modelId: Id,\n profileId: Id,\n model: ChatModelRefSchema,\n seed: z.number().int(),\n reasoningEffort: z\n .enum([\"none\", \"off\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"])\n .nullable(),\n })\n .strict();\nexport const AdvancedRefinerEvaluationCommandSchema = z.discriminatedUnion(\n \"operation\",\n [\n z\n .object({\n operation: z.literal(\"start\"),\n request: AdvancedRefinerEvaluationStartSchema,\n })\n .strict(),\n z\n .object({ operation: z.enum([\"read\", \"cancel\", \"resume\"]), id: Id })\n .strict(),\n z.object({ operation: z.literal(\"list\") }).strict(),\n ],\n);\nexport const AdvancedRefinerReviewCaseReceiptSchema = z\n .object({\n taskId: Id,\n sourceCaseHash: Hash,\n reviewSessionId: Id,\n reviewTurnId: Id,\n inputHarness: ImmutableReleaseRefSchema,\n trigger: ImmutableReleaseRefSchema,\n decision: z.enum([\"no_action\", \"route_deterministically\", \"queue_refiner\"]),\n outcome: ImmutableReleaseRefSchema.nullable(),\n proposal: ImmutableReleaseRefSchema.nullable(),\n validations: z.array(ImmutableReleaseRefSchema).max(100),\n grade: z\n .object({\n id: Id,\n contentHash: Hash,\n score: z.number().min(0).max(1).nullable(),\n passed: z.boolean(),\n failureClass: z.string().nullable(),\n })\n .strict(),\n resetComplete: z.boolean(),\n })\n .strict();\nexport const AdvancedRefinerReviewReceiptSchema = z\n .object({\n schemaVersion: z.literal(\"openpond.advancedRefinerReviewReceipt.v1\"),\n id: Id,\n runId: Id,\n pinHash: Hash,\n ownerActorId: Id,\n teamId: Id,\n privateClosureHash: Hash,\n refinerRelease: ImmutableReleaseRefSchema,\n cases: z.array(AdvancedRefinerReviewCaseReceiptSchema).min(1).max(10000),\n reviewScore: z.number().min(0).max(1).nullable(),\n completedCases: z.number().int().nonnegative(),\n noActionCases: z.number().int().nonnegative(),\n routedCases: z.number().int().nonnegative(),\n proposalCases: z.number().int().nonnegative(),\n costUsd: z.number().finite().nonnegative().nullable(),\n cleanupComplete: z.boolean(),\n createdAt: z.string().datetime(),\n contentHash: Hash,\n })\n .strict();\nexport type AdvancedRefinerReviewReceipt = z.infer<\n typeof AdvancedRefinerReviewReceiptSchema\n>;\nexport function sealAdvancedRefinerReviewReceipt(\n body: Omit<AdvancedRefinerReviewReceipt, \"contentHash\">,\n) {\n return AdvancedRefinerReviewReceiptSchema.parse({\n ...body,\n contentHash: contentHash(body),\n });\n}\n\nconst AdvancedProfile =\n ExperimentImprovementOptionsSchema.shape.profiles.element;\nexport const AdvancedRefinerEvaluationOptionsSchema =\n ExperimentImprovementOptionsSchema.extend({\n profiles: z.array(\n AdvancedProfile.extend({\n components: z.array(\n AdvancedProfile.shape.components.element.extend({\n adaptationSplits: z.array(\n z.object({\n split: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n taskIds: z.array(Id),\n }),\n ),\n environmentHash: Hash,\n resettable: z.boolean(),\n reviewQuality: z.boolean(),\n }),\n ),\n }),\n ),\n refinerReleases: z.array(ImmutableReleaseRefSchema),\n activeRefiner: ImmutableReleaseRefSchema.nullable(),\n models: z.array(z.object({ id: Id, profileId: Id, name: z.string(), location:z.enum([\"local\",\"hosted\"]) })),\n });\nexport const AdvancedRefinerEvaluationPrepareSchema = z\n .object({\n operation: z.literal(\"prepare\"),\n evidence: ImmutableReleaseRefSchema,\n profileOptionId: Id,\n componentLabel: Id,\n mode: z.enum([\"review_quality\", \"downstream_adaptation\"]),\n adaptationSplit: z.enum([\"train\", \"validation\", \"test\", \"frozen_eval\"]),\n operationId: Id,\n refinerRelease: ImmutableReleaseRefSchema,\n maximumCostUsd: z.number().positive(),\n maximumDurationMs: z.number().int().positive(),\n maximumModelSteps: z.number().int().positive(),\n })\n .strict();\nexport const AdvancedRefinerEvaluationSetupCommandSchema = z.union([\n AdvancedRefinerEvaluationCommandSchema,\n AdvancedRefinerEvaluationPrepareSchema,\n z\n .object({\n operation: z.literal(\"options\"),\n evidence: ImmutableReleaseRefSchema,\n })\n .strict(),\n]);\nexport type AdvancedRefinerEvaluationOptions = z.infer<\n typeof AdvancedRefinerEvaluationOptionsSchema\n>;\n\nexport const AdvancedRefinerEvaluationAccountingSchema = z\n .object({\n modelRequests: z.number().int().nonnegative(),\n knownSpendUsd: z.number().nonnegative(),\n totalSpendUsd: z.number().nonnegative().nullable(),\n heldUsd: z.number().nonnegative(),\n uncertainRequests: z.number().int().nonnegative(),\n })\n .strict();\n\n/** The owner's canonical ModelRun remains intact in readback. This boundary\n * validates its retained advanced pin rather than manufacturing results. */\nexport class OpenPondAdvancedRefinerEvaluationClient {\n private readonly transport:EvaluationCoordinationTransport;\n constructor(access:EvaluationCoordinationAccess){this.transport=new EvaluationCoordinationTransport(access);}\n async command(raw:z.input<typeof AdvancedRefinerEvaluationSetupCommandSchema>,signal?:AbortSignal){\n const request=AdvancedRefinerEvaluationSetupCommandSchema.parse(raw),access=this.transport.access;\n const assertPin=(raw:unknown)=>{const pin=verifyAdvancedRefinerEvaluationPin(raw);if(pin.actorId!==access.actorId||pin.teamId!==access.teamId||pin.projectId!==access.projectId)throw new Error(\"The advanced pin belongs to another evaluation owner.\");return pin;};\n if(request.operation===\"start\")assertPin(request.request.pin);\n const value=await this.transport.post(\"advanced-refiner-evaluations\",request,signal);\n if(request.operation===\"options\"){const result=AdvancedRefinerEvaluationOptionsSchema.parse(value);if(result.teamId!==access.teamId||contentHash(result.evidence)!==contentHash(request.evidence))throw new Error(\"Advanced options changed their reviewed evidence.\");return result;}\n if(request.operation===\"prepare\"){const result=z.object({pin:AdvancedRefinerEvaluationPinSchema}).strict().parse(value);const pin=assertPin(result.pin);if(pin.operationId!==request.operationId||contentHash(pin.profileRef)!==request.profileOptionId||contentHash(pin.evidence)!==contentHash(request.evidence)||pin.mode!==request.mode||contentHash(pin.refinerRelease)!==contentHash(request.refinerRelease)||pin.adaptationSplit!==request.adaptationSplit||pin.maximumCostUsd!==request.maximumCostUsd||pin.maximumDurationMs!==request.maximumDurationMs||pin.maximumModelSteps!==request.maximumModelSteps)throw new Error(\"Advanced preparation changed its reviewed command.\");return {pin};}\n if(request.operation===\"list\")return z.object({items:z.array(z.object({id:Id,status:z.enum([\"prepared\",\"running\",\"succeeded\",\"failed\",\"cancelled\"]),mode:z.enum([\"review_quality\",\"downstream_adaptation\"]),startedAt:z.string().datetime().nullable(),completedAt:z.string().datetime().nullable(),failure:z.string().nullable()}).strict()).max(10000)}).strict().parse(value);\n if(request.operation===\"cancel\"){const result=z.object({id:Id,status:z.enum([\"prepared\",\"running\",\"succeeded\",\"failed\",\"cancelled\"])}).strict().parse(value);if(result.id!==request.id)throw new Error(\"Advanced cancellation returned another Run.\");return result;}\n const result=z.object({schemaVersion:z.literal(\"openpond.modelRun.v1\"),id:Id,kind:z.literal(\"evaluation\"),modelId:Id,profileId:Id,evaluation:z.object({benchmarkId:z.literal(\"harness-refiner\"),advancedEvaluation:AdvancedRefinerEvaluationPinSchema}).passthrough()}).passthrough().parse(value);\n const pin=assertPin(result.evaluation.advancedEvaluation);\n if(request.operation===\"start\"?(pin.contentHash!==request.request.pin.contentHash||result.modelId!==request.request.modelId||result.profileId!==request.request.profileId):result.id!==request.id)throw new Error(\"The advanced Run differs from its exact retained request.\");\n return result;\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;AACA,SAAS,SAAS;AAIlB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,IAAM,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAA3C,IACE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB;AACnC,IAAM,qCAAqC,EAC/C,OAAO;AAAA,EACN,eAAe,EAAE,QAAQ,uCAAuC;AAAA,EAChE,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW,GAAG,SAAS;AAAA,EACvB,MAAM,EAAE,KAAK,CAAC,kBAAkB,uBAAuB,CAAC;AAAA,EACxD,YAAY,EACT,OAAO;AAAA,IACN,QAAQ,EAAE,KAAK,CAAC,SAAS,UAAU,cAAc,CAAC;AAAA,IAClD,cAAc;AAAA,IACd,WAAW;AAAA,EACb,CAAC,EACA,OAAO;AAAA,EACV,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACzC,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,wBAAwB;AAAA,EACxB,0BAA0B;AAAA,EAC1B,oBAAoB;AAAA,EACpB,mBAAmB,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EAC/C,gBAAgB,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EAC5C,iBAAiB,EAAE,KAAK,CAAC,SAAS,cAAc,QAAQ,aAAa,CAAC;AAAA,EACtE,cAAc,EAAE,KAAK,CAAC,SAAS,cAAc,QAAQ,aAAa,CAAC;AAAA,EACnE,mBAAmB,EAAE,mBAAmB,QAAQ;AAAA,IAC9C,EACG,OAAO,EAAE,MAAM,EAAE,QAAQ,YAAY,GAAG,iBAAiB,KAAK,CAAC,EAC/D,OAAO;AAAA,IACV,EACG,OAAO;AAAA,MACN,MAAM,EAAE,QAAQ,qBAAqB;AAAA,MACrC,iBAAiB;AAAA,IACnB,CAAC,EACA,OAAO;AAAA,EACZ,CAAC;AAAA,EACD,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,GAAK;AAAA,EACxD,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAI,EAAE,IAAI,KAAQ;AAAA,EAC1D,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAI;AAAA,EACnD,aAAa;AACf,CAAC,EACA,OAAO;AAIH,SAAS,mCAAmC,KAAc;AAC/D,QAAM,QAAQ,mCAAmC,MAAM,GAAG,GACxD,EAAE,aAAa,MAAM,GAAG,KAAK,IAAI;AACnC,MAAI,YAAY,IAAI,MAAM;AACxB,UAAM,IAAI,MAAM,gDAAgD;AAClE,QAAM,UAAU;AAAA,IACd,MAAM;AAAA,EACR;AACA,MACE,QAAQ,cAAc,MAAM,WAAW,aACvC,QAAQ,gCAAgC,MAAM;AAE9C,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,MACE,MAAM,oBAAoB,MAAM,iBAChC,oBAAI,IAAI,CAAC,GAAG,MAAM,mBAAmB,GAAG,MAAM,cAAc,CAAC,GAAE,SAC7D,MAAM,kBAAkB,SAAS,MAAM,eAAe;AAExD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,QAAM,aAAa;AAAA,IACjB,MAAM;AAAA,EACR;AACA,MACE,WAAW,cAAc,QAAQ,aACjC,WAAW,gBAAgB,QAAQ,eACnC,YAAY,WAAW,OAAO,MAAM,YAAY,QAAQ,OAAO,KAC/D,YAAY,WAAW,MAAM,MAAM,YAAY,QAAQ,MAAM,KAC7D,WAAW,gCACT,QAAQ;AAEV,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,MACE,WAAW,UAAU,MAAM,mBAC3B,QAAQ,UAAU,MAAM;AAExB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,QAAM,aAAa,IAAI,IAAI,QAAQ,WAAW,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;AACxE,QAAM,UAAU,IAAI,IAAI,WAAW,WAAW,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC;AACxE,MACE,MAAM,eAAe,KAAK,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,KACrD,MAAM,kBAAkB,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;AAErD,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AACF,SAAO;AACT;AACO,SAAS,iCACd,MACA;AACA,SAAO,mCAAmC;AAAA,IACxC,GAAG;AAAA,IACH,aAAa,YAAY,IAAI;AAAA,EAC/B,CAAC;AACH;AACO,IAAM,uCAAuC,EACjD,OAAO;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AAAA,EACT,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM,EAAE,OAAO,EAAE,IAAI;AAAA,EACrB,iBAAiB,EACd,KAAK,CAAC,QAAQ,OAAO,OAAO,UAAU,QAAQ,SAAS,KAAK,CAAC,EAC7D,SAAS;AACd,CAAC,EACA,OAAO;AACH,IAAM,yCAAyC,EAAE;AAAA,EACtD;AAAA,EACA;AAAA,IACE,EACG,OAAO;AAAA,MACN,WAAW,EAAE,QAAQ,OAAO;AAAA,MAC5B,SAAS;AAAA,IACX,CAAC,EACA,OAAO;AAAA,IACV,EACG,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,UAAU,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,EAClE,OAAO;AAAA,IACV,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,MAAM,EAAE,CAAC,EAAE,OAAO;AAAA,EACpD;AACF;AACO,IAAM,yCAAyC,EACnD,OAAO;AAAA,EACN,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,SAAS;AAAA,EACT,UAAU,EAAE,KAAK,CAAC,aAAa,2BAA2B,eAAe,CAAC;AAAA,EAC1E,SAAS,0BAA0B,SAAS;AAAA,EAC5C,UAAU,0BAA0B,SAAS;AAAA,EAC7C,aAAa,EAAE,MAAM,yBAAyB,EAAE,IAAI,GAAG;AAAA,EACvD,OAAO,EACJ,OAAO;AAAA,IACN,IAAI;AAAA,IACJ,aAAa;AAAA,IACb,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,IACzC,QAAQ,EAAE,QAAQ;AAAA,IAClB,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,CAAC,EACA,OAAO;AAAA,EACV,eAAe,EAAE,QAAQ;AAC3B,CAAC,EACA,OAAO;AACH,IAAM,qCAAqC,EAC/C,OAAO;AAAA,EACN,eAAe,EAAE,QAAQ,0CAA0C;AAAA,EACnE,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,SAAS;AAAA,EACT,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,OAAO,EAAE,MAAM,sCAAsC,EAAE,IAAI,CAAC,EAAE,IAAI,GAAK;AAAA,EACvE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC/C,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC7C,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC5C,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC1C,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC5C,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS;AAAA,EACpD,iBAAiB,EAAE,QAAQ;AAAA,EAC3B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,aAAa;AACf,CAAC,EACA,OAAO;AAIH,SAAS,iCACd,MACA;AACA,SAAO,mCAAmC,MAAM;AAAA,IAC9C,GAAG;AAAA,IACH,aAAa,YAAY,IAAI;AAAA,EAC/B,CAAC;AACH;AAEA,IAAM,kBACJ,mCAAmC,MAAM,SAAS;AAC7C,IAAM,yCACX,mCAAmC,OAAO;AAAA,EACxC,UAAU,EAAE;AAAA,IACV,gBAAgB,OAAO;AAAA,MACrB,YAAY,EAAE;AAAA,QACZ,gBAAgB,MAAM,WAAW,QAAQ,OAAO;AAAA,UAC9C,kBAAkB,EAAE;AAAA,YAClB,EAAE,OAAO;AAAA,cACP,OAAO,EAAE,KAAK,CAAC,SAAS,cAAc,QAAQ,aAAa,CAAC;AAAA,cAC5D,SAAS,EAAE,MAAM,EAAE;AAAA,YACrB,CAAC;AAAA,UACH;AAAA,UACA,iBAAiB;AAAA,UACjB,YAAY,EAAE,QAAQ;AAAA,UACtB,eAAe,EAAE,QAAQ;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,iBAAiB,EAAE,MAAM,yBAAyB;AAAA,EAClD,eAAe,0BAA0B,SAAS;AAAA,EAClD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,WAAW,IAAI,MAAM,EAAE,OAAO,GAAG,UAAS,EAAE,KAAK,CAAC,SAAQ,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5G,CAAC;AACI,IAAM,yCAAyC,EACnD,OAAO;AAAA,EACN,WAAW,EAAE,QAAQ,SAAS;AAAA,EAC9B,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,MAAM,EAAE,KAAK,CAAC,kBAAkB,uBAAuB,CAAC;AAAA,EACxD,iBAAiB,EAAE,KAAK,CAAC,SAAS,cAAc,QAAQ,aAAa,CAAC;AAAA,EACtE,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC7C,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAC/C,CAAC,EACA,OAAO;AACH,IAAM,8CAA8C,EAAE,MAAM;AAAA,EACjE;AAAA,EACA;AAAA,EACA,EACG,OAAO;AAAA,IACN,WAAW,EAAE,QAAQ,SAAS;AAAA,IAC9B,UAAU;AAAA,EACZ,CAAC,EACA,OAAO;AACZ,CAAC;AAKM,IAAM,4CAA4C,EACtD,OAAO;AAAA,EACN,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC5C,eAAe,EAAE,OAAO,EAAE,YAAY;AAAA,EACtC,eAAe,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS;AAAA,EACjD,SAAS,EAAE,OAAO,EAAE,YAAY;AAAA,EAChC,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAClD,CAAC,EACA,OAAO;AAIH,IAAM,0CAAN,MAA8C;AAAA,EAClC;AAAA,EACjB,YAAY,QAAoC;AAAC,SAAK,YAAU,IAAI,gCAAgC,MAAM;AAAA,EAAE;AAAA,EAC5G,MAAM,QAAQ,KAAgE,QAAoB;AAChG,UAAM,UAAQ,4CAA4C,MAAM,GAAG,GAAE,SAAO,KAAK,UAAU;AAC3F,UAAM,YAAU,CAACA,SAAc;AAAC,YAAMC,OAAI,mCAAmCD,IAAG;AAAE,UAAGC,KAAI,YAAU,OAAO,WAASA,KAAI,WAAS,OAAO,UAAQA,KAAI,cAAY,OAAO,UAAU,OAAM,IAAI,MAAM,uDAAuD;AAAE,aAAOA;AAAA,IAAI;AACpQ,QAAG,QAAQ,cAAY,QAAQ,WAAU,QAAQ,QAAQ,GAAG;AAC5D,UAAM,QAAM,MAAM,KAAK,UAAU,KAAK,gCAA+B,SAAQ,MAAM;AACnF,QAAG,QAAQ,cAAY,WAAU;AAAC,YAAMC,UAAO,uCAAuC,MAAM,KAAK;AAAE,UAAGA,QAAO,WAAS,OAAO,UAAQ,YAAYA,QAAO,QAAQ,MAAI,YAAY,QAAQ,QAAQ,EAAE,OAAM,IAAI,MAAM,mDAAmD;AAAE,aAAOA;AAAA,IAAO;AACrR,QAAG,QAAQ,cAAY,WAAU;AAAC,YAAMA,UAAO,EAAE,OAAO,EAAC,KAAI,mCAAkC,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK;AAAE,YAAMD,OAAI,UAAUC,QAAO,GAAG;AAAE,UAAGD,KAAI,gBAAc,QAAQ,eAAa,YAAYA,KAAI,UAAU,MAAI,QAAQ,mBAAiB,YAAYA,KAAI,QAAQ,MAAI,YAAY,QAAQ,QAAQ,KAAGA,KAAI,SAAO,QAAQ,QAAM,YAAYA,KAAI,cAAc,MAAI,YAAY,QAAQ,cAAc,KAAGA,KAAI,oBAAkB,QAAQ,mBAAiBA,KAAI,mBAAiB,QAAQ,kBAAgBA,KAAI,sBAAoB,QAAQ,qBAAmBA,KAAI,sBAAoB,QAAQ,kBAAkB,OAAM,IAAI,MAAM,oDAAoD;AAAE,aAAO,EAAC,KAAAA,KAAG;AAAA,IAAE;AACxqB,QAAG,QAAQ,cAAY,OAAO,QAAO,EAAE,OAAO,EAAC,OAAM,EAAE,MAAM,EAAE,OAAO,EAAC,IAAG,IAAG,QAAO,EAAE,KAAK,CAAC,YAAW,WAAU,aAAY,UAAS,WAAW,CAAC,GAAE,MAAK,EAAE,KAAK,CAAC,kBAAiB,uBAAuB,CAAC,GAAE,WAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAE,aAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAE,SAAQ,EAAE,OAAO,EAAE,SAAS,EAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAK,EAAC,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK;AAC/W,QAAG,QAAQ,cAAY,UAAS;AAAC,YAAMC,UAAO,EAAE,OAAO,EAAC,IAAG,IAAG,QAAO,EAAE,KAAK,CAAC,YAAW,WAAU,aAAY,UAAS,WAAW,CAAC,EAAC,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK;AAAE,UAAGA,QAAO,OAAK,QAAQ,GAAG,OAAM,IAAI,MAAM,6CAA6C;AAAE,aAAOA;AAAA,IAAO;AACpQ,UAAM,SAAO,EAAE,OAAO,EAAC,eAAc,EAAE,QAAQ,sBAAsB,GAAE,IAAG,IAAG,MAAK,EAAE,QAAQ,YAAY,GAAE,SAAQ,IAAG,WAAU,IAAG,YAAW,EAAE,OAAO,EAAC,aAAY,EAAE,QAAQ,iBAAiB,GAAE,oBAAmB,mCAAkC,CAAC,EAAE,YAAY,EAAC,CAAC,EAAE,YAAY,EAAE,MAAM,KAAK;AACjS,UAAM,MAAI,UAAU,OAAO,WAAW,kBAAkB;AACxD,QAAG,QAAQ,cAAY,UAAS,IAAI,gBAAc,QAAQ,QAAQ,IAAI,eAAa,OAAO,YAAU,QAAQ,QAAQ,WAAS,OAAO,cAAY,QAAQ,QAAQ,YAAW,OAAO,OAAK,QAAQ,GAAG,OAAM,IAAI,MAAM,2DAA2D;AAC7Q,WAAO;AAAA,EACT;AACF;",
|
|
6
|
-
"names": ["raw", "pin", "result"]
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../harness/dist/source-package.js", "../../harness/dist/harness.js", "../../harness/dist/tools.js"],
|
|
4
|
-
"sourcesContent": ["import { z } from \"zod\";\nimport { assertContentHash, contentHash, ImmutableAssetRefSchema, ImmutableReleaseRefSchema, ReleaseHashSchema, sha256, } from \"./common.js\";\nimport { AgentSnapshotSchema, HarnessReleaseSchema } from \"./harness.js\";\nexport const MAX_HARNESS_SOURCE_PACKAGE_BYTES = 25 * 1024 * 1024;\nconst HarnessSourceFileSchema = z.object({\n path: ImmutableAssetRefSchema.shape.path,\n base64: z.string().max(Math.ceil(MAX_HARNESS_SOURCE_PACKAGE_BYTES / 3) * 4),\n}).strict();\nconst HarnessSourcePackageContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessSourcePackage.v1\"),\n agentSnapshot: AgentSnapshotSchema,\n harnessRelease: HarnessReleaseSchema,\n files: z.array(HarnessSourceFileSchema).max(10_000),\n}).strict();\nexport const HarnessSourcePackageSchema = HarnessSourcePackageContentSchema.extend({\n contentHash: ReleaseHashSchema,\n}).strict();\n/** The guest receives only policy bytes while retaining the complete release\n * manifest and identity. Verifier and host-private source remains on the host. */\nexport const HarnessPolicySourcePackageSchema = HarnessSourcePackageContentSchema.extend({\n schemaVersion: z.literal(\"openpond.harnessPolicySourcePackage.v1\"),\n contentHash: ReleaseHashSchema,\n}).strict();\nexport const HarnessSourceSelectionSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessSourceSelection.v1\"),\n mode: z.enum([\"taskset_owned\", \"selected_release\"]),\n harnessRelease: ImmutableReleaseRefSchema,\n sourcePackageHash: ReleaseHashSchema.nullable(),\n}).strict().superRefine((selection, context) => {\n if ((selection.mode === \"selected_release\") !== (selection.sourcePackageHash !== null)) {\n context.addIssue({ code: \"custom\", path: [\"sourcePackageHash\"], message: \"Only a selected release binds a source package.\" });\n }\n});\n/** Resolve the source selected by a captured bundle; missing source cannot be\n * interpreted as Taskset-owned execution when the bundle selected a release. */\nexport function resolveHarnessSourceSelection(input) {\n const selection = HarnessSourceSelectionSchema.parse(input.selection);\n if (selection.harnessRelease.id !== input.expectedRelease.id\n || selection.harnessRelease.contentHash !== input.expectedRelease.contentHash) {\n throw new Error(\"Harness source selection differs from its run manifest.\");\n }\n if (selection.mode === \"taskset_owned\") {\n if (input.sourcePackage !== undefined && input.sourcePackage !== null)\n throw new Error(\"Taskset-owned execution cannot include a selected Harness source package.\");\n return { selection, sourcePackage: null };\n }\n const policy = typeof input.sourcePackage === \"object\" && input.sourcePackage !== null\n && Reflect.get(input.sourcePackage, \"schemaVersion\") === \"openpond.harnessPolicySourcePackage.v1\";\n const sourcePackage = policy\n ? validateHarnessPolicySourcePackage(input.sourcePackage, selection.harnessRelease)\n : validateHarnessSourcePackage(input.sourcePackage, selection.harnessRelease);\n if (sourcePackage.contentHash !== selection.sourcePackageHash)\n throw new Error(\"Harness source selection differs from its captured package.\");\n return { selection, sourcePackage };\n}\n/** Capture the full released source. Runtime admission separately authorizes\n * export and capabilities; a source package never makes private files visible\n * to a policy merely by transporting them. */\nexport function createHarnessSourcePackage(input) {\n if ([...input.files.values()].reduce((total, bytes) => total + bytes.byteLength, 0) > MAX_HARNESS_SOURCE_PACKAGE_BYTES) {\n throw new Error(\"Harness source package exceeds its byte limit.\");\n }\n const content = HarnessSourcePackageContentSchema.parse({\n schemaVersion: \"openpond.harnessSourcePackage.v1\",\n agentSnapshot: input.agentSnapshot,\n harnessRelease: input.harnessRelease,\n files: [...input.files].sort(([a], [b]) => a.localeCompare(b)).map(([path, bytes]) => ({\n path,\n base64: encode(bytes),\n })),\n });\n return validateHarnessSourcePackage({ ...content, contentHash: contentHash(content) });\n}\nexport function createHarnessPolicySourcePackage(value, expected) {\n const source = validateHarnessSourcePackage(value, expected);\n const assets = new Map(source.harnessRelease.files.map((asset) => [asset.path, asset]));\n const content = {\n schemaVersion: \"openpond.harnessPolicySourcePackage.v1\",\n agentSnapshot: source.agentSnapshot,\n harnessRelease: source.harnessRelease,\n files: source.files.filter((file) => assets.get(file.path)?.visibility === \"policy\"),\n };\n return validateHarnessPolicySourcePackage({ ...content, contentHash: contentHash(content) }, expected);\n}\nexport function validateHarnessPolicySourcePackage(value, expected) {\n const source = HarnessPolicySourcePackageSchema.parse(value);\n assertContentHash(source, \"Harness policy source package\");\n assertContentHash(source.agentSnapshot, \"Harness policy source Agent snapshot\");\n assertContentHash(source.harnessRelease, \"Harness policy source release\");\n const { agentSnapshot, harnessRelease } = source;\n if (expected && (expected.id !== harnessRelease.id || expected.contentHash !== harnessRelease.contentHash)) {\n throw new Error(\"Harness policy source package differs from the selected release.\");\n }\n if (harnessRelease.agentSnapshot.id !== agentSnapshot.id\n || harnessRelease.agentSnapshot.contentHash !== agentSnapshot.contentHash) {\n throw new Error(\"Harness policy source release does not bind its Agent snapshot.\");\n }\n const assets = new Map();\n for (const asset of harnessRelease.files) {\n if (assets.has(asset.path))\n throw new Error(\"Harness policy source contains duplicate asset paths.\");\n assets.set(asset.path, asset);\n }\n for (const asset of [harnessRelease.program, agentSnapshot.dependencyLock,\n ...agentSnapshot.instructions, ...agentSnapshot.skills, ...agentSnapshot.agents]) {\n if (contentHash(assets.get(asset.path) ?? null) !== contentHash(asset)) {\n throw new Error(`Harness policy source dependency ${asset.path} is absent or differs from its release inventory.`);\n }\n }\n for (const asset of [harnessRelease.program, agentSnapshot.dependencyLock,\n ...agentSnapshot.instructions, ...agentSnapshot.skills]) {\n if (asset.visibility !== \"policy\")\n throw new Error(`Harness policy source dependency ${asset.path} is private.`);\n }\n const expectedPaths = new Set(harnessRelease.files.filter((asset) => asset.visibility === \"policy\").map((asset) => asset.path));\n const paths = new Set();\n let totalBytes = 0;\n for (const file of source.files) {\n if (paths.has(file.path))\n throw new Error(\"Harness policy source contains duplicate files.\");\n paths.add(file.path);\n const asset = assets.get(file.path);\n if (!asset || asset.visibility !== \"policy\")\n throw new Error(`Harness policy source file ${file.path} is not policy-visible.`);\n const bytes = decode(file.base64);\n totalBytes += bytes.byteLength;\n if (totalBytes > MAX_HARNESS_SOURCE_PACKAGE_BYTES)\n throw new Error(\"Harness policy source exceeds its byte limit.\");\n if (bytes.byteLength !== asset.sizeBytes || sha256(bytes) !== asset.contentHash) {\n throw new Error(`Harness policy source file ${file.path} differs from its immutable bytes.`);\n }\n }\n if (paths.size !== expectedPaths.size || [...expectedPaths].some((path) => !paths.has(path))) {\n throw new Error(\"Harness policy source is missing released policy files.\");\n }\n return source;\n}\nexport function harnessPolicySourcePackageFiles(value, expected) {\n const source = validateHarnessPolicySourcePackage(value, expected);\n return new Map(source.files.map((file) => [file.path, decode(file.base64)]));\n}\n/** Validate both release objects, their complete asset closure and exact bytes.\n * Rehashing the outer package cannot bless a substituted instruction or file. */\nexport function validateHarnessSourcePackage(value, expected) {\n const source = HarnessSourcePackageSchema.parse(value);\n assertContentHash(source, \"Harness source package\");\n assertContentHash(source.agentSnapshot, \"Harness source Agent snapshot\");\n assertContentHash(source.harnessRelease, \"Harness source release\");\n const { agentSnapshot, harnessRelease } = source;\n if (expected && (expected.id !== harnessRelease.id || expected.contentHash !== harnessRelease.contentHash)) {\n throw new Error(\"Harness source package differs from the selected release.\");\n }\n if (harnessRelease.agentSnapshot.id !== agentSnapshot.id\n || harnessRelease.agentSnapshot.contentHash !== agentSnapshot.contentHash) {\n throw new Error(\"Harness source release does not bind its Agent snapshot.\");\n }\n const assets = new Map();\n const ids = new Set();\n for (const asset of harnessRelease.files) {\n if (asset.path.includes(\"\\\\\") || asset.path.includes(\":\"))\n throw new Error(\"Harness source requires portable relative file paths.\");\n if (assets.has(asset.path) || ids.has(asset.id))\n throw new Error(\"Harness source contains duplicate asset paths or identities.\");\n assets.set(asset.path, asset);\n ids.add(asset.id);\n }\n for (const asset of [harnessRelease.program, agentSnapshot.dependencyLock,\n ...agentSnapshot.instructions, ...agentSnapshot.skills, ...agentSnapshot.agents]) {\n if (contentHash(assets.get(asset.path) ?? null) !== contentHash(asset)) {\n throw new Error(`Harness source dependency ${asset.path} is absent or differs from its release inventory.`);\n }\n }\n for (const asset of [...agentSnapshot.instructions, ...agentSnapshot.skills]) {\n if (asset.visibility !== \"policy\")\n throw new Error(`Harness policy source ${asset.path} is private.`);\n }\n const paths = new Set();\n let totalBytes = 0;\n for (const file of source.files) {\n if (paths.has(file.path))\n throw new Error(\"Harness source package contains duplicate files.\");\n paths.add(file.path);\n const asset = assets.get(file.path);\n if (!asset)\n throw new Error(`Harness source file ${file.path} is not declared by its release.`);\n const bytes = decode(file.base64);\n totalBytes += bytes.byteLength;\n if (totalBytes > MAX_HARNESS_SOURCE_PACKAGE_BYTES)\n throw new Error(\"Harness source package exceeds its byte limit.\");\n if (bytes.byteLength !== asset.sizeBytes || sha256(bytes) !== asset.contentHash) {\n throw new Error(`Harness source file ${file.path} differs from its immutable bytes.`);\n }\n }\n if (paths.size !== assets.size)\n throw new Error(\"Harness source package is missing released files.\");\n return source;\n}\n/** Return an owned byte snapshot, including visibility in the release inventory.\n * A runtime must select policy assets explicitly rather than expose this map. */\nexport function harnessSourcePackageFiles(value, expected) {\n const source = validateHarnessSourcePackage(value, expected);\n return new Map(source.files.map(file => [file.path, decode(file.base64)]));\n}\nfunction encode(bytes) {\n let binary = \"\";\n for (let offset = 0; offset < bytes.length; offset += 8_192) {\n binary += String.fromCharCode(...bytes.subarray(offset, offset + 8_192));\n }\n return btoa(binary);\n}\nfunction decode(base64) {\n let binary;\n try {\n binary = atob(base64);\n }\n catch {\n throw new Error(\"Harness source file is not valid base64.\");\n }\n if (btoa(binary) !== base64)\n throw new Error(\"Harness source file is not canonical base64.\");\n const bytes = new Uint8Array(binary.length);\n for (let index = 0; index < binary.length; index++)\n bytes[index] = binary.charCodeAt(index);\n return bytes;\n}\n", "import { z } from \"zod\";\nimport { FailureClassSchema, ImmutableArtifactRefSchema, ImmutableAssetRefSchema, ImmutableReleaseRefSchema, MetadataSchema, ReleaseHashSchema, ReleaseIdSchema, contentHash, } from \"./common.js\";\nimport { CapabilityRequirementSchema, ToolDeclarationSchema, } from \"./tools.js\";\nexport const PortabilityReportSchema = z.object({\n portable: z.boolean(),\n blockers: z.array(z.string().trim().min(1).max(2_000)).max(1_000),\n localOnlyAssetRefs: z.array(ReleaseIdSchema).max(10_000),\n hostPrivateAssetRefs: z.array(ReleaseIdSchema).max(10_000),\n}).strict();\nexport const AgentSnapshotContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.agentSnapshot.v2\"),\n id: ReleaseIdSchema,\n sourceRelease: ImmutableReleaseRefSchema.nullable(),\n instructions: z.array(ImmutableAssetRefSchema).max(10_000),\n skills: z.array(ImmutableAssetRefSchema).max(10_000),\n agents: z.array(ImmutableAssetRefSchema).max(10_000),\n toolDeclarations: z.array(ToolDeclarationSchema).max(200),\n capabilityRequirements: z.array(CapabilityRequirementSchema).max(200),\n dependencyLock: ImmutableAssetRefSchema,\n portability: PortabilityReportSchema,\n metadata: MetadataSchema,\n}).strict();\nexport const AgentSnapshotSchema = AgentSnapshotContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();\nexport const LifecycleContractSchema = z.object({\n create: z.literal(true),\n reset: z.literal(true),\n step: z.literal(true),\n collect: z.literal(true),\n destroy: z.literal(true),\n resetScope: z.enum([\"task\", \"attempt\"]),\n}).strict();\nexport const GraderInterfaceContractSchema = z.object({\n visibleEvidence: z.array(ReleaseIdSchema).max(1_000),\n privilegedEvidence: z.array(ReleaseIdSchema).max(1_000),\n privateVerifierIsolation: z.boolean(),\n}).strict();\nexport const HarnessReleaseContentSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessRelease.v2\"),\n id: ReleaseIdSchema,\n agentSnapshot: ImmutableReleaseRefSchema,\n program: ImmutableAssetRefSchema,\n tools: z.array(ToolDeclarationSchema).max(200),\n lifecycle: LifecycleContractSchema,\n graderInterface: GraderInterfaceContractSchema,\n files: z.array(ImmutableAssetRefSchema).max(100_000),\n metadata: MetadataSchema,\n}).strict();\nexport const HarnessReleaseSchema = HarnessReleaseContentSchema.extend({ contentHash: ReleaseHashSchema }).strict();\nexport const ModelActionSchema = z.object({\n id: ReleaseIdSchema,\n turn: z.number().int().nonnegative(),\n kind: z.enum([\"message\", \"tool_call\", \"terminal\"]),\n name: ReleaseIdSchema.nullable(),\n arguments: z.record(z.string(), z.unknown()),\n content: z.string().max(1_000_000).nullable(),\n}).strict();\nexport const ToolObservationSchema = z.object({\n actionId: ReleaseIdSchema,\n turn: z.number().int().nonnegative(),\n terminal: z.boolean(),\n output: z.record(z.string(), z.unknown()),\n artifactRefs: z.array(ImmutableArtifactRefSchema).max(100_000),\n}).strict();\nexport function createAgentSnapshot(input) {\n const content = AgentSnapshotContentSchema.parse(input);\n return AgentSnapshotSchema.parse({ ...content, contentHash: contentHash(content) });\n}\nexport function createHarnessRelease(input) {\n const content = HarnessReleaseContentSchema.parse(input);\n return HarnessReleaseSchema.parse({ ...content, contentHash: contentHash(content) });\n}\nexport const HarnessLifecycleEventSchema = z.object({\n sequence: z.number().int().nonnegative(),\n type: z.enum([\"created\", \"reset\", \"action\", \"observation\", \"terminal\", \"failure\", \"collected\", \"destroyed\"]),\n payloadHash: ReleaseHashSchema,\n metadata: MetadataSchema,\n}).strict();\nexport const HarnessTraceSchema = z.object({\n schemaVersion: z.literal(\"openpond.harnessTrace.v1\"),\n manifest: ImmutableReleaseRefSchema,\n taskId: ReleaseIdSchema,\n seed: z.string().trim().min(1).max(500),\n events: z.array(HarnessLifecycleEventSchema).max(1_000_000),\n actions: z.array(ModelActionSchema).max(100_000),\n observations: z.array(ToolObservationSchema).max(100_000),\n terminal: z.boolean(),\n failureClass: FailureClassSchema.nullable(),\n output: z.record(z.string(), z.unknown()),\n contentHash: ReleaseHashSchema,\n}).strict();\n", "import { z } from \"zod\";\nimport { ReleaseHashSchema, ReleaseIdSchema } from \"./common.js\";\nexport const ToolDeclarationSchema = z.object({\n name: z.string().trim().min(1).max(64).regex(/^[a-zA-Z][a-zA-Z0-9_-]*$/),\n description: z.string().trim().min(1).max(2_000),\n inputSchema: z.record(z.string(), z.unknown()),\n inputSchemaHash: ReleaseHashSchema,\n sideEffect: z.enum([\"read\", \"write\"]),\n timeoutMs: z.number().int().positive().max(3_600_000),\n}).strict();\nexport const CapabilityRequirementSchema = z.object({\n id: ReleaseIdSchema,\n required: z.boolean(),\n scopes: z.array(z.string().trim().min(1).max(500)).max(100).default([]),\n portability: z.enum([\"portable\", \"host_adapter\", \"local_only\", \"hosted_only\"]),\n}).strict();\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["z", "z", "z", "z"]
|
|
7
|
-
}
|