openpond-sdk 0.9.9 → 0.11.0
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/README.md +18 -17
- package/dist/advanced-refiner-evaluations.js +42 -0
- package/dist/advanced-refiner-evaluations.js.map +7 -0
- package/dist/candidate-evaluations.js +25 -0
- package/dist/candidate-evaluations.js.map +7 -0
- package/dist/{chunk-BGXWHDYM.js → chunk-2JKV5OJO.js} +95 -59
- package/dist/chunk-2JKV5OJO.js.map +7 -0
- package/dist/{chunk-4HZORGK3.js → chunk-2NSNBED7.js} +18 -5
- package/dist/chunk-2NSNBED7.js.map +7 -0
- package/dist/chunk-5RZAPZWI.js +445 -0
- package/dist/chunk-5RZAPZWI.js.map +7 -0
- package/dist/{chunk-JCPLAIZL.js → chunk-5U25KAJM.js} +106 -76
- package/dist/chunk-5U25KAJM.js.map +7 -0
- package/dist/chunk-7Q7I6FAT.js +139 -0
- package/dist/chunk-7Q7I6FAT.js.map +7 -0
- package/dist/chunk-A64VYVXN.js +64 -0
- package/dist/chunk-A64VYVXN.js.map +7 -0
- package/dist/{chunk-DT7FRNIZ.js → chunk-CSWVE3E6.js} +2 -2
- package/dist/chunk-DJWHN7NU.js +394 -0
- package/dist/chunk-DJWHN7NU.js.map +7 -0
- package/dist/{chunk-KYCQ7LZ4.js → chunk-DSGGM2ME.js} +2 -2
- package/dist/chunk-DSGGM2ME.js.map +7 -0
- package/dist/chunk-GDJRGRHA.js +144 -0
- package/dist/chunk-GDJRGRHA.js.map +7 -0
- package/dist/chunk-HOAYWW33.js +587 -0
- package/dist/chunk-HOAYWW33.js.map +7 -0
- package/dist/{chunk-Y4NGWGTA.js → chunk-I2MBVOVX.js} +265 -264
- package/dist/chunk-I2MBVOVX.js.map +7 -0
- package/dist/{chunk-6D4JIOOC.js → chunk-IXBSFJCX.js} +5 -5
- package/dist/{chunk-WOPM32SE.js → chunk-JA3KFK3U.js} +7 -1
- package/dist/chunk-JA3KFK3U.js.map +7 -0
- package/dist/chunk-JMQ4HBWP.js +160 -0
- package/dist/chunk-JMQ4HBWP.js.map +7 -0
- package/dist/chunk-KQWCXW3A.js +294 -0
- package/dist/chunk-KQWCXW3A.js.map +7 -0
- package/dist/{chunk-3HV3G6DG.js → chunk-NHCGOFQW.js} +3 -3
- package/dist/{chunk-XMKEFQ62.js → chunk-PJ2VLNJF.js} +20 -2
- package/dist/chunk-PJ2VLNJF.js.map +7 -0
- package/dist/{chunk-32H2EJRA.js → chunk-R3M6BIOK.js} +2 -2
- package/dist/chunk-SLS3GFPG.js +125 -0
- package/dist/chunk-SLS3GFPG.js.map +7 -0
- package/dist/chunk-SVU4RZ4K.js +70 -0
- package/dist/chunk-SVU4RZ4K.js.map +7 -0
- package/dist/chunk-T4APHDES.js +74 -0
- package/dist/chunk-T4APHDES.js.map +7 -0
- package/dist/chunk-VC5OV5AS.js +174 -0
- package/dist/chunk-VC5OV5AS.js.map +7 -0
- package/dist/{chunk-YYJ4T4U4.js → chunk-WX22WN33.js} +13 -7
- package/dist/chunk-WX22WN33.js.map +7 -0
- package/dist/chunk-XEUOJ5WF.js +31 -0
- package/dist/chunk-XEUOJ5WF.js.map +7 -0
- package/dist/{chunk-LGEF4S5I.js → chunk-XJDWHTH5.js} +390 -362
- package/dist/chunk-XJDWHTH5.js.map +7 -0
- package/dist/chunk-YCQVVFE5.js +37 -0
- package/dist/chunk-YCQVVFE5.js.map +7 -0
- package/dist/chunk-ZVJU5CJ5.js +267 -0
- package/dist/chunk-ZVJU5CJ5.js.map +7 -0
- package/dist/connected-evidence.js +81 -0
- package/dist/connected-evidence.js.map +7 -0
- package/dist/dataset-workspaces.js +45 -80
- package/dist/dataset-workspaces.js.map +4 -4
- package/dist/experiment-evaluation-schedules.js +48 -0
- package/dist/experiment-evaluation-schedules.js.map +7 -0
- package/dist/experiment-improvements.js +52 -0
- package/dist/experiment-improvements.js.map +7 -0
- package/dist/experiments.js +63 -124
- package/dist/experiments.js.map +4 -4
- package/dist/human-review.js +13 -0
- package/dist/human-review.js.map +7 -0
- package/dist/index.js +208 -17
- package/dist/index.js.map +2 -2
- package/dist/learning.js +1 -1
- package/dist/model-starter-attempts.js +2 -2
- package/dist/model-starter-catalog.js +9 -4
- package/dist/model-starter-catalog.js.map +1 -1
- package/dist/model-starters.js +15 -6
- package/dist/model-taskset-runs.js +3 -3
- package/dist/post-training.js +47 -0
- package/dist/post-training.js.map +7 -0
- package/dist/taskset-drafts.js +13 -6
- package/dist/taskset-drafts.js.map +2 -2
- package/dist/taskset-packages.js +31 -559
- package/dist/taskset-packages.js.map +4 -4
- package/dist/training-bundle.js +59 -18
- package/dist/training-bundle.js.map +2 -2
- package/dist/training-projects.js +3 -1
- package/dist/training-projects.js.map +2 -2
- package/dist/training.js +7 -2
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts +2673 -0
- package/dist/types/packages/sdk/src/advanced-refiner-evaluations.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts +1079 -0
- package/dist/types/packages/sdk/src/candidate-evaluation-client.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts +845 -0
- package/dist/types/packages/sdk/src/candidate-evaluations.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/claude-code-runtime.d.ts +51 -0
- package/dist/types/packages/sdk/src/claude-code-runtime.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts +15 -0
- package/dist/types/packages/sdk/src/connected-dataset-publication.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-dataset-source.d.ts +48 -0
- package/dist/types/packages/sdk/src/connected-dataset-source.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts +2460 -0
- package/dist/types/packages/sdk/src/connected-evidence-client.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts +215 -0
- package/dist/types/packages/sdk/src/connected-evidence-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-evidence-http.d.ts +6 -0
- package/dist/types/packages/sdk/src/connected-evidence-http.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-evidence.d.ts +6 -0
- package/dist/types/packages/sdk/src/connected-evidence.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts +690 -0
- package/dist/types/packages/sdk/src/connected-recorded-execution.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/dataset-population.d.ts +1 -0
- package/dist/types/packages/sdk/src/dataset-population.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/dataset-workspace-client.d.ts +771 -120
- 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 +278 -38
- 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 +280 -40
- 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 +17 -0
- package/dist/types/packages/sdk/src/evaluation-coordination-http.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-client.d.ts +4353 -490
- package/dist/types/packages/sdk/src/experiment-client.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts +1067 -2
- package/dist/types/packages/sdk/src/experiment-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts +2780 -0
- package/dist/types/packages/sdk/src/experiment-evaluation-schedules.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts +58 -0
- package/dist/types/packages/sdk/src/experiment-execution-selection.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts +8 -0
- package/dist/types/packages/sdk/src/experiment-grading-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiment-harness-catalog.d.ts +24 -0
- package/dist/types/packages/sdk/src/experiment-harness-catalog.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts +5724 -0
- package/dist/types/packages/sdk/src/experiment-improvement-client.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts +13024 -0
- package/dist/types/packages/sdk/src/experiment-improvement-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts +1361 -0
- package/dist/types/packages/sdk/src/experiment-improvement-hosted-adoption.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-improvements.d.ts +4 -0
- package/dist/types/packages/sdk/src/experiment-improvements.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts +383 -0
- package/dist/types/packages/sdk/src/experiment-run-contracts.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts +2111 -0
- package/dist/types/packages/sdk/src/experiment-run-details.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts +7 -2
- package/dist/types/packages/sdk/src/experiment-scoring-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/experiments.d.ts +7 -1
- package/dist/types/packages/sdk/src/experiments.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/grader-inspection.d.ts +307 -5
- package/dist/types/packages/sdk/src/grader-inspection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/harness-experiment-policy.d.ts +238 -0
- 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 +1267 -0
- package/dist/types/packages/sdk/src/human-review-client.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/human-review.d.ts +3 -0
- package/dist/types/packages/sdk/src/human-review.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/index.d.ts +10 -0
- package/dist/types/packages/sdk/src/index.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/managed-training-preparation.d.ts +181 -0
- 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 +20 -4
- 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 +79 -5
- 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 +15 -13
- package/dist/types/packages/sdk/src/model-batch-review.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts +359 -1
- package/dist/types/packages/sdk/src/model-learning-policy.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starter-attempts.d.ts +444 -19
- 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 +234 -12
- 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 +79 -1
- package/dist/types/packages/sdk/src/model-starter-execution.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-starters.d.ts +467 -13
- package/dist/types/packages/sdk/src/model-starters.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-derivation.d.ts +312 -4
- 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 +78 -1
- package/dist/types/packages/sdk/src/model-taskset-resources.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +1326 -4
- 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 +1329 -5
- package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/post-training.d.ts +3518 -0
- package/dist/types/packages/sdk/src/post-training.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts +1127 -0
- package/dist/types/packages/sdk/src/profile-evaluation-discovery.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts +1369 -0
- package/dist/types/packages/sdk/src/profile-external-dataset-package.d.ts.map +1 -0
- package/dist/types/packages/sdk/src/taskset-authored-contracts.d.ts +142 -22
- 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 +111 -18
- package/dist/types/packages/sdk/src/taskset-authored-files.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts +278 -38
- package/dist/types/packages/sdk/src/taskset-draft-api-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-draft-client.d.ts +661 -103
- 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 +217 -20
- 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 +12 -12
- package/dist/types/packages/sdk/src/taskset-draft-dataset-sources.d.ts +17 -17
- package/dist/types/packages/sdk/src/taskset-draft-document.d.ts +140 -20
- 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 +638 -42
- 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 +249 -36
- 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 +278 -38
- package/dist/types/packages/sdk/src/taskset-draft-workspace.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-drafts.d.ts +1 -0
- package/dist/types/packages/sdk/src/taskset-drafts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-client.d.ts +2805 -41
- 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 +660 -12
- package/dist/types/packages/sdk/src/taskset-package-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts +77 -3
- package/dist/types/packages/sdk/src/taskset-package-grader-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/taskset-package-learning.d.ts +29 -11
- 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 +430 -39
- package/dist/types/packages/sdk/src/taskset-package-projection.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-acceptance.d.ts +10 -10
- package/dist/types/packages/sdk/src/training-candidate-decisions.d.ts +2 -2
- package/dist/types/packages/sdk/src/training-evaluation-results.d.ts +1 -1
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts +376 -42
- package/dist/types/packages/sdk/src/training-learning-batch.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-preparations.d.ts +3930 -0
- package/dist/types/packages/sdk/src/training-preparations.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training-project-client.d.ts +828 -8
- 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 +1226 -11
- package/dist/types/packages/sdk/src/training-project-contracts.d.ts.map +1 -1
- package/dist/types/packages/sdk/src/training.d.ts +2655 -24
- package/dist/types/packages/sdk/src/training.d.ts.map +1 -1
- package/package.json +30 -2
- package/dist/chunk-4HZORGK3.js.map +0 -7
- package/dist/chunk-4JRSH2TT.js +0 -256
- package/dist/chunk-4JRSH2TT.js.map +0 -7
- package/dist/chunk-BGXWHDYM.js.map +0 -7
- package/dist/chunk-JCPLAIZL.js.map +0 -7
- package/dist/chunk-KYCQ7LZ4.js.map +0 -7
- package/dist/chunk-LGEF4S5I.js.map +0 -7
- package/dist/chunk-WOPM32SE.js.map +0 -7
- package/dist/chunk-XMKEFQ62.js.map +0 -7
- package/dist/chunk-Y4NGWGTA.js.map +0 -7
- package/dist/chunk-YYJ4T4U4.js.map +0 -7
- package/dist/types/packages/sdk/src/experiment-history.d.ts +0 -266
- package/dist/types/packages/sdk/src/experiment-history.d.ts.map +0 -1
- /package/dist/{chunk-DT7FRNIZ.js.map → chunk-CSWVE3E6.js.map} +0 -0
- /package/dist/{chunk-6D4JIOOC.js.map → chunk-IXBSFJCX.js.map} +0 -0
- /package/dist/{chunk-3HV3G6DG.js.map → chunk-NHCGOFQW.js.map} +0 -0
- /package/dist/{chunk-32H2EJRA.js.map → chunk-R3M6BIOK.js.map} +0 -0
package/README.md
CHANGED
|
@@ -14,28 +14,29 @@ npm install openpond-sdk
|
|
|
14
14
|
|
|
15
15
|
Node.js 22.14 or newer is required. This package is server-only: never expose an OpenPond API key in browser code or a `NEXT_PUBLIC_*` environment variable.
|
|
16
16
|
|
|
17
|
-
##
|
|
18
|
-
|
|
19
|
-
`OpenPondExperimentsClient` from `openpond-sdk/experiments`
|
|
20
|
-
configuration
|
|
21
|
-
`createOpenPondClient({ apiKey, baseUrl }).experiments(teamId)`.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
`get` and `list`
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
17
|
+
## Experiments
|
|
18
|
+
|
|
19
|
+
`OpenPondExperimentsClient` from `openpond-sdk/experiments` admits one run and its
|
|
20
|
+
immutable configuration with `run(configuration)`. It is also available as
|
|
21
|
+
`createOpenPondClient({ apiKey, baseUrl }).experiments(teamId)`. The request includes
|
|
22
|
+
one stable operation ID (also on its nested request), dataset/population,
|
|
23
|
+
target/settings, selected graders and spending cap. Reuse the same operation ID
|
|
24
|
+
after a transport failure; it returns the same Experiment without duplicate work.
|
|
25
|
+
|
|
26
|
+
`get` and `list` return runs with their resolved `configuration`; each run ID is
|
|
27
|
+
its Experiment ID. `cancel` stops it. `duplicate(id, newOperationId)` starts a new
|
|
28
|
+
Experiment with copied settings; edit the snapshot and call `run` to change them.
|
|
29
|
+
Original results remain immutable. `result` reads portable evidence; `score`
|
|
30
|
+
grades retained output. `compare` uses shared Evals compatibility and score rules
|
|
31
|
+
without starting or regrading anything. Host runtime readiness, permissions and
|
|
32
|
+
the whole Experiment spending cap remain enforced before dispatch.
|
|
32
33
|
|
|
33
34
|
Released Profile, Workflow, Skill and Agent-action targets use the
|
|
34
35
|
`hosted_harness` policy with an exact `profileRepositoryId`, native `source`,
|
|
35
36
|
`packageHash` and `modelConfigurationHash`. The host resolves these pins through
|
|
36
37
|
the authorized native runtime; callers cannot replace released behavior with
|
|
37
|
-
Chat messages. Native receipt IDs belong to each
|
|
38
|
-
|
|
38
|
+
Chat messages. Native receipt IDs belong to each Experiment; admission retains the
|
|
39
|
+
reviewed task/seed population. Clients verify repository,
|
|
39
40
|
source, package, model and case identities before accepting a run.
|
|
40
41
|
|
|
41
42
|
## Next.js route handler
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AdvancedRefinerEvaluationAccountingSchema,
|
|
3
|
+
AdvancedRefinerEvaluationCommandSchema,
|
|
4
|
+
AdvancedRefinerEvaluationOptionsSchema,
|
|
5
|
+
AdvancedRefinerEvaluationPinSchema,
|
|
6
|
+
AdvancedRefinerEvaluationPrepareSchema,
|
|
7
|
+
AdvancedRefinerEvaluationSetupCommandSchema,
|
|
8
|
+
AdvancedRefinerEvaluationStartSchema,
|
|
9
|
+
AdvancedRefinerReviewCaseReceiptSchema,
|
|
10
|
+
AdvancedRefinerReviewReceiptSchema,
|
|
11
|
+
OpenPondAdvancedRefinerEvaluationClient,
|
|
12
|
+
sealAdvancedRefinerEvaluationPin,
|
|
13
|
+
sealAdvancedRefinerReviewReceipt,
|
|
14
|
+
verifyAdvancedRefinerEvaluationPin
|
|
15
|
+
} from "./chunk-ZVJU5CJ5.js";
|
|
16
|
+
import "./chunk-GDJRGRHA.js";
|
|
17
|
+
import "./chunk-YCQVVFE5.js";
|
|
18
|
+
import "./chunk-SVU4RZ4K.js";
|
|
19
|
+
import "./chunk-T4APHDES.js";
|
|
20
|
+
import "./chunk-2NSNBED7.js";
|
|
21
|
+
import "./chunk-WX22WN33.js";
|
|
22
|
+
import "./chunk-2JKV5OJO.js";
|
|
23
|
+
import "./chunk-TCHAWJMB.js";
|
|
24
|
+
import "./chunk-3KXDH6OB.js";
|
|
25
|
+
import "./chunk-I2MBVOVX.js";
|
|
26
|
+
import "./chunk-QUOW6URQ.js";
|
|
27
|
+
export {
|
|
28
|
+
AdvancedRefinerEvaluationAccountingSchema,
|
|
29
|
+
AdvancedRefinerEvaluationCommandSchema,
|
|
30
|
+
AdvancedRefinerEvaluationOptionsSchema,
|
|
31
|
+
AdvancedRefinerEvaluationPinSchema,
|
|
32
|
+
AdvancedRefinerEvaluationPrepareSchema,
|
|
33
|
+
AdvancedRefinerEvaluationSetupCommandSchema,
|
|
34
|
+
AdvancedRefinerEvaluationStartSchema,
|
|
35
|
+
AdvancedRefinerReviewCaseReceiptSchema,
|
|
36
|
+
AdvancedRefinerReviewReceiptSchema,
|
|
37
|
+
OpenPondAdvancedRefinerEvaluationClient,
|
|
38
|
+
sealAdvancedRefinerEvaluationPin,
|
|
39
|
+
sealAdvancedRefinerReviewReceipt,
|
|
40
|
+
verifyAdvancedRefinerEvaluationPin
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=advanced-refiner-evaluations.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CandidateEvaluationControlSchema,
|
|
3
|
+
CandidateEvaluationOptionSchema,
|
|
4
|
+
CandidateEvaluationOptionsSchema,
|
|
5
|
+
CandidateEvaluationPreparationSchema,
|
|
6
|
+
CandidateEvaluationRequestSchema,
|
|
7
|
+
createCandidateEvaluationClient
|
|
8
|
+
} from "./chunk-7Q7I6FAT.js";
|
|
9
|
+
import "./chunk-XEUOJ5WF.js";
|
|
10
|
+
import "./chunk-2NSNBED7.js";
|
|
11
|
+
import "./chunk-WX22WN33.js";
|
|
12
|
+
import "./chunk-2JKV5OJO.js";
|
|
13
|
+
import "./chunk-TCHAWJMB.js";
|
|
14
|
+
import "./chunk-3KXDH6OB.js";
|
|
15
|
+
import "./chunk-I2MBVOVX.js";
|
|
16
|
+
import "./chunk-QUOW6URQ.js";
|
|
17
|
+
export {
|
|
18
|
+
CandidateEvaluationControlSchema,
|
|
19
|
+
CandidateEvaluationOptionSchema,
|
|
20
|
+
CandidateEvaluationOptionsSchema,
|
|
21
|
+
CandidateEvaluationPreparationSchema,
|
|
22
|
+
CandidateEvaluationRequestSchema,
|
|
23
|
+
createCandidateEvaluationClient
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=candidate-evaluations.js.map
|
|
@@ -8,20 +8,46 @@ import {
|
|
|
8
8
|
contentHash
|
|
9
9
|
} from "./chunk-QUOW6URQ.js";
|
|
10
10
|
|
|
11
|
+
// src/claude-code-runtime.ts
|
|
12
|
+
import { z } from "zod";
|
|
13
|
+
var Hash = z.string().regex(/^[a-f0-9]{64}$/);
|
|
14
|
+
var 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(1e4), requestTimeoutMs: z.number().int().min(1e3).max(3e5), maximumTurns: z.number().int().min(1).max(100), holdOpen: z.boolean() }).strict();
|
|
15
|
+
var 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) => {
|
|
16
|
+
if (value.action === "message" && !value.text?.trim()) context.addIssue({ code: "custom", message: "A human intervention requires a message." });
|
|
17
|
+
if (value.action === "seal" && value.text !== void 0) context.addIssue({ code: "custom", message: "Sealing does not add a prompt." });
|
|
18
|
+
});
|
|
19
|
+
var ClaudeProcessEvidenceSchema = z.object({
|
|
20
|
+
provider: z.literal("claude-code"),
|
|
21
|
+
sessionId: z.uuid(),
|
|
22
|
+
requestId: z.string().min(1).max(200),
|
|
23
|
+
modelId: z.string().min(1).max(500),
|
|
24
|
+
runtime: ClaudeCodeRuntimeSchema,
|
|
25
|
+
sourceHash: Hash,
|
|
26
|
+
outputHash: Hash,
|
|
27
|
+
traceHash: Hash,
|
|
28
|
+
runtimeEventRefs: z.array(z.string().min(1).max(200)).min(1).max(2e4),
|
|
29
|
+
eventCount: z.number().int().positive().max(2e4),
|
|
30
|
+
startedAt: z.iso.datetime(),
|
|
31
|
+
completedAt: z.iso.datetime(),
|
|
32
|
+
cleanupComplete: z.literal(true)
|
|
33
|
+
}).strict().superRefine((value, context) => {
|
|
34
|
+
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." });
|
|
35
|
+
});
|
|
36
|
+
|
|
11
37
|
// src/model-starter-attempts.ts
|
|
12
|
-
import { z as
|
|
38
|
+
import { z as z4 } from "zod";
|
|
13
39
|
|
|
14
40
|
// src/evaluation-project-context.ts
|
|
15
|
-
import { z } from "zod";
|
|
16
|
-
var EvaluationProjectContextSchema =
|
|
17
|
-
id:
|
|
18
|
-
revision:
|
|
19
|
-
contentHash:
|
|
20
|
-
targetId:
|
|
41
|
+
import { z as z2 } from "zod";
|
|
42
|
+
var EvaluationProjectContextSchema = z2.object({
|
|
43
|
+
id: z2.string().trim().min(1).max(240),
|
|
44
|
+
revision: z2.number().int().positive(),
|
|
45
|
+
contentHash: z2.string().regex(/^[a-f0-9]{64}$/),
|
|
46
|
+
targetId: z2.string().trim().min(1).max(240).nullable()
|
|
21
47
|
}).strict();
|
|
22
|
-
var EvaluationMessagesSchema =
|
|
23
|
-
role:
|
|
24
|
-
content:
|
|
48
|
+
var EvaluationMessagesSchema = z2.array(z2.object({
|
|
49
|
+
role: z2.enum(["system", "user", "assistant"]),
|
|
50
|
+
content: z2.string().max(1e5)
|
|
25
51
|
}).strict()).max(100).superRefine((messages, context) => {
|
|
26
52
|
if (messages.reduce((total, message) => total + message.content.length, 0) > 1e5)
|
|
27
53
|
context.addIssue({ code: "custom", message: "Evaluation prompt exceeds 100,000 characters." });
|
|
@@ -33,18 +59,18 @@ import { TaskGradeSchema as TaskGradeSchema2 } from "@openpond/evals/graders";
|
|
|
33
59
|
import { TaskSplitSchema } from "@openpond/evals/tasksets";
|
|
34
60
|
|
|
35
61
|
// src/experiment-grading-contracts.ts
|
|
36
|
-
import { z as
|
|
62
|
+
import { z as z3 } from "zod";
|
|
37
63
|
import { TaskGradeSchema } from "@openpond/evals/graders";
|
|
38
|
-
var ExperimentAttemptGradeSchema =
|
|
39
|
-
schemaVersion:
|
|
40
|
-
selectionHash:
|
|
41
|
-
grades:
|
|
42
|
-
score:
|
|
43
|
-
passed:
|
|
44
|
-
rewardEligible:
|
|
45
|
-
gradingStatus:
|
|
64
|
+
var ExperimentAttemptGradeSchema = z3.object({
|
|
65
|
+
schemaVersion: z3.literal("openpond.experimentAttemptGrade.v1"),
|
|
66
|
+
selectionHash: z3.string().regex(/^[a-f0-9]{64}$/),
|
|
67
|
+
grades: z3.array(TaskGradeSchema).min(1).max(100),
|
|
68
|
+
score: z3.number().min(0).max(1).nullable(),
|
|
69
|
+
passed: z3.boolean(),
|
|
70
|
+
rewardEligible: z3.boolean(),
|
|
71
|
+
gradingStatus: z3.enum(["scored", "pending", "unscorable", "not_configured"]),
|
|
46
72
|
failureClass: FailureClassSchema.nullable(),
|
|
47
|
-
contentHash:
|
|
73
|
+
contentHash: z3.string().regex(/^[a-f0-9]{64}$/)
|
|
48
74
|
}).strict().superRefine((grade, context) => {
|
|
49
75
|
const { contentHash: actual, ...body } = grade;
|
|
50
76
|
if (contentHash(body) !== actual) context.addIssue({ code: "custom", message: "Experiment grading integrity failed." });
|
|
@@ -62,71 +88,78 @@ var ExperimentAttemptGradeSchema = z2.object({
|
|
|
62
88
|
});
|
|
63
89
|
|
|
64
90
|
// src/model-starter-attempts.ts
|
|
65
|
-
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
|
|
91
|
+
import { StandaloneHarnessExperimentSourceSchema, NativeHarnessExperimentEvidenceSchema } from "@openpond/evals/experiments";
|
|
92
|
+
var IdSchema = z4.string().trim().min(1).max(200);
|
|
93
|
+
var HashSchema = z4.string().regex(/^[a-f0-9]{64}$/);
|
|
94
|
+
var ModelStarterAttemptPolicySchema = z4.discriminatedUnion("kind", [
|
|
95
|
+
z4.object({ kind: z4.literal("hosted_chat"), modelId: IdSchema, localRuntime: z4.union([z4.object({ providerId: z4.literal("custom-openai-compatible"), configurationHash: HashSchema, maximumRequestCostUsd: z4.number().finite().positive().max(1e4), requestTimeoutMs: z4.number().int().min(1e3).max(3e5) }).strict(), ClaudeCodeRuntimeSchema]).optional(), candidate: z4.object({ artifactId: IdSchema, contentHash: HashSchema, preparationId: IdSchema, dispatchId: IdSchema, baseProfileId: IdSchema, workerImageDigest: z4.string().regex(/^sha256:[a-f0-9]{64}$/) }).strict().optional(), harness: StandaloneHarnessExperimentSourceSchema.optional(), messages: EvaluationMessagesSchema.optional(), maxOutputTokens: z4.number().int().min(1).max(4096).default(1024), temperature: z4.number().min(0).max(2).default(0), topP: z4.number().gt(0).max(1).default(1) }).strict(),
|
|
96
|
+
z4.object({ kind: z4.literal("fixture"), fixtureId: IdSchema }).strict()
|
|
70
97
|
]);
|
|
71
|
-
var ModelStarterAttemptRequestSchema =
|
|
72
|
-
schemaVersion:
|
|
98
|
+
var ModelStarterAttemptRequestSchema = z4.object({
|
|
99
|
+
schemaVersion: z4.literal("openpond.modelStarterAttemptRequest.v1"),
|
|
73
100
|
operationId: IdSchema,
|
|
74
101
|
teamId: IdSchema,
|
|
75
102
|
modelProjectId: IdSchema.nullable(),
|
|
76
103
|
project: EvaluationProjectContextSchema.optional(),
|
|
77
104
|
taskset: ModelProjectVersionedRefSchema,
|
|
78
105
|
taskId: IdSchema,
|
|
79
|
-
environmentSeed:
|
|
106
|
+
environmentSeed: z4.number().int().min(0).max(2147483647).default(0),
|
|
80
107
|
policy: ModelStarterAttemptPolicySchema
|
|
81
108
|
}).strict();
|
|
82
|
-
var ModelStarterAttemptChoicesQuerySchema =
|
|
83
|
-
var ModelStarterAttemptChoicesSchema =
|
|
109
|
+
var ModelStarterAttemptChoicesQuerySchema = z4.object({ modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, afterTaskId: IdSchema.optional(), limit: z4.number().int().min(1).max(100).default(25) }).strict();
|
|
110
|
+
var ModelStarterAttemptChoicesSchema = z4.object({
|
|
84
111
|
modelProjectId: IdSchema.nullable(),
|
|
85
112
|
taskset: ModelProjectVersionedRefSchema,
|
|
86
|
-
available:
|
|
87
|
-
unavailableReason:
|
|
88
|
-
models:
|
|
89
|
-
tasks:
|
|
113
|
+
available: z4.boolean(),
|
|
114
|
+
unavailableReason: z4.string().max(1e3).nullable(),
|
|
115
|
+
models: z4.array(z4.object({ id: IdSchema, name: z4.string().max(500) }).strict()).max(200),
|
|
116
|
+
tasks: z4.array(z4.object({ id: IdSchema, split: TaskSplitSchema, inputPreview: z4.string().max(500), fixtures: z4.array(z4.object({ id: IdSchema, label: z4.string().max(200) }).strict()).max(1e3) }).strict()).max(100),
|
|
90
117
|
nextCursor: IdSchema.nullable()
|
|
91
118
|
}).strict();
|
|
92
|
-
var ModelStarterAttemptSummarySchema =
|
|
93
|
-
schemaVersion:
|
|
119
|
+
var ModelStarterAttemptSummarySchema = z4.object({
|
|
120
|
+
schemaVersion: z4.literal("openpond.modelStarterAttemptSummary.v1"),
|
|
94
121
|
id: IdSchema,
|
|
95
|
-
revision:
|
|
122
|
+
revision: z4.number().int().positive(),
|
|
96
123
|
request: ModelStarterAttemptRequestSchema,
|
|
97
|
-
status:
|
|
98
|
-
policySnapshot:
|
|
99
|
-
createdAt:
|
|
100
|
-
startedAt:
|
|
101
|
-
completedAt:
|
|
102
|
-
cleanupComplete:
|
|
103
|
-
resultAvailable:
|
|
104
|
-
score:
|
|
105
|
-
gradingStatus:
|
|
106
|
-
passed:
|
|
107
|
-
outputPreview:
|
|
108
|
-
error:
|
|
124
|
+
status: z4.enum(["queued", "running", "cancelling", "completed", "failed", "cancelled"]),
|
|
125
|
+
policySnapshot: z4.object({ modelId: IdSchema, provider: IdSchema, upstreamModelId: z4.string().min(1).max(500), configurationHash: HashSchema }).strict().nullable(),
|
|
126
|
+
createdAt: z4.iso.datetime(),
|
|
127
|
+
startedAt: z4.iso.datetime().nullable(),
|
|
128
|
+
completedAt: z4.iso.datetime().nullable(),
|
|
129
|
+
cleanupComplete: z4.boolean(),
|
|
130
|
+
resultAvailable: z4.boolean(),
|
|
131
|
+
score: z4.number().min(0).max(1).nullable(),
|
|
132
|
+
gradingStatus: z4.enum(["not_started", "pending", "scored", "unscorable", "not_configured"]).default("not_started"),
|
|
133
|
+
passed: z4.boolean().nullable(),
|
|
134
|
+
outputPreview: z4.string().max(500).nullable(),
|
|
135
|
+
error: z4.object({ code: IdSchema, message: z4.string().max(2e3) }).strict().nullable()
|
|
109
136
|
}).strict().superRefine((value, context) => {
|
|
110
137
|
if (value.request.policy.kind === "fixture" !== (value.policySnapshot === null)) context.addIssue({ code: "custom", path: ["policySnapshot"], message: "Fixture execution must not claim a model identity." });
|
|
111
138
|
if (value.status === "completed" && (!value.cleanupComplete || !value.resultAvailable || !value.completedAt)) context.addIssue({ code: "custom", message: "Completed attempts require retained results and confirmed cleanup." });
|
|
112
139
|
});
|
|
113
|
-
var ModelStarterAttemptListQuerySchema =
|
|
114
|
-
var ModelStarterAttemptPageSchema =
|
|
115
|
-
var ModelStarterAttemptResultSchema =
|
|
116
|
-
schemaVersion:
|
|
140
|
+
var ModelStarterAttemptListQuerySchema = z4.object({ modelProjectId: IdSchema, afterId: IdSchema.optional(), limit: z4.number().int().min(1).max(100).default(25) }).strict();
|
|
141
|
+
var ModelStarterAttemptPageSchema = z4.object({ items: z4.array(ModelStarterAttemptSummarySchema).max(100), nextCursor: IdSchema.nullable() }).strict();
|
|
142
|
+
var ModelStarterAttemptResultSchema = z4.object({
|
|
143
|
+
schemaVersion: z4.literal("openpond.modelStarterAttemptResult.v1"),
|
|
117
144
|
attempt: ModelStarterAttemptSummarySchema,
|
|
118
|
-
output:
|
|
145
|
+
output: z4.string().max(1048576).nullable(),
|
|
119
146
|
// Only model-facing messages, never the private environment snapshot.
|
|
120
|
-
messages:
|
|
147
|
+
messages: z4.array(z4.record(z4.string(), z4.unknown())).max(4002),
|
|
121
148
|
composition: RewardCompositionSchema.nullable(),
|
|
122
149
|
// Ordinary Tasksets have no Reward binding. Absence preserves the hash of
|
|
123
150
|
// already retained v1 results; new producers explicitly return null or a grade.
|
|
124
151
|
grade: TaskGradeSchema2.nullable().optional(),
|
|
125
152
|
experimentGrade: ExperimentAttemptGradeSchema.nullable().optional(),
|
|
126
|
-
environment:
|
|
127
|
-
|
|
153
|
+
environment: z4.object({ status: z4.enum(["completed", "budget_exhausted", "cancelled", "timed_out", "policy_failure", "environment_failure"]), collected: z4.boolean(), definition: ModelProjectVersionedRefSchema, initialStateHash: HashSchema.nullable(), finalStateHash: HashSchema.nullable(), attemptHash: HashSchema }).strict(),
|
|
154
|
+
native: NativeHarnessExperimentEvidenceSchema.optional(),
|
|
155
|
+
providerRequestIds: z4.array(IdSchema).max(1001),
|
|
128
156
|
contentHash: HashSchema
|
|
129
157
|
}).strict().superRefine((value, context) => {
|
|
158
|
+
const source = value.attempt.request.policy.kind === "hosted_chat" ? value.attempt.request.policy.harness : void 0;
|
|
159
|
+
if (Boolean(source) !== Boolean(value.native))
|
|
160
|
+
context.addIssue({ code: "custom", path: ["native"], message: "Standalone Harness results require their exact native evidence." });
|
|
161
|
+
if (value.native && (!source || contentHash(source) !== contentHash(value.native.source) || value.native.modelConfigurationHash !== value.attempt.policySnapshot?.configurationHash || value.environment.initialStateHash !== null || value.environment.finalStateHash !== null || value.environment.status === "completed" && (!value.environment.collected || value.output === null || value.native.partialOutputAvailable || value.native.outputHash !== contentHash(value.output))))
|
|
162
|
+
context.addIssue({ code: "custom", path: ["native"], message: "Native evidence differs from the admitted source, model or output." });
|
|
130
163
|
if (value.experimentGrade) {
|
|
131
164
|
if (value.grade || value.composition) context.addIssue({ code: "custom", message: "Selected Experiment grading cannot claim another grade population." });
|
|
132
165
|
if (!["completed", "failed"].includes(value.attempt.status) || !value.attempt.resultAvailable || value.attempt.score !== value.experimentGrade.score || value.attempt.gradingStatus !== value.experimentGrade.gradingStatus || value.attempt.passed !== (value.experimentGrade.score === null ? null : value.experimentGrade.passed))
|
|
@@ -216,7 +249,7 @@ var OpenPondModelStarterAttemptsClient = class {
|
|
|
216
249
|
}
|
|
217
250
|
const value = JSON.parse(text);
|
|
218
251
|
if (!response.ok) {
|
|
219
|
-
const error =
|
|
252
|
+
const error = z4.object({ code: IdSchema, message: z4.string().max(2e3) }).safeParse(value);
|
|
220
253
|
throw new OpenPondModelStarterAttemptError(response.status, error.success ? error.data.code : "attempt_request_failed", error.success ? error.data.message : "Attempt request failed.");
|
|
221
254
|
}
|
|
222
255
|
return value;
|
|
@@ -226,6 +259,9 @@ var OpenPondModelStarterAttemptsClient = class {
|
|
|
226
259
|
export {
|
|
227
260
|
EvaluationProjectContextSchema,
|
|
228
261
|
EvaluationMessagesSchema,
|
|
262
|
+
ClaudeCodeRuntimeSchema,
|
|
263
|
+
ClaudeCodeControlSchema,
|
|
264
|
+
ClaudeProcessEvidenceSchema,
|
|
229
265
|
ExperimentAttemptGradeSchema,
|
|
230
266
|
ModelStarterAttemptPolicySchema,
|
|
231
267
|
ModelStarterAttemptRequestSchema,
|
|
@@ -238,4 +274,4 @@ export {
|
|
|
238
274
|
OpenPondModelStarterAttemptError,
|
|
239
275
|
OpenPondModelStarterAttemptsClient
|
|
240
276
|
};
|
|
241
|
-
//# sourceMappingURL=chunk-
|
|
277
|
+
//# sourceMappingURL=chunk-2JKV5OJO.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/claude-code-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 {ClaudeCodeRuntimeSchema} from \"./claude-code-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]).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(4_096).default(1_024), temperature: z.number().min(0).max(2).default(0), topP: z.number().gt(0).max(1).default(1) }).strict(),\n z.object({ kind: z.literal(\"fixture\"), fixtureId: IdSchema }).strict(),\n]);\n/** The server resolves task input, private state, verifier and fixture script.\n * A caller can select releases, but cannot submit replacement execution bytes. */\nexport const ModelStarterAttemptRequestSchema = z.object({\n schemaVersion: z.literal(\"openpond.modelStarterAttemptRequest.v1\"),\n operationId: IdSchema, teamId: IdSchema, modelProjectId: IdSchema.nullable(),\n project: EvaluationProjectContextSchema.optional(),\n taskset: ModelProjectVersionedRefSchema, taskId: IdSchema,\n environmentSeed: z.number().int().min(0).max(2_147_483_647).default(0),\n policy: ModelStarterAttemptPolicySchema,\n}).strict();\nexport type ModelStarterAttemptRequest = z.infer<typeof ModelStarterAttemptRequestSchema>;\nexport const ModelStarterAttemptChoicesQuerySchema = z.object({ modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, afterTaskId: IdSchema.optional(), limit: z.number().int().min(1).max(100).default(25) }).strict();\nexport const ModelStarterAttemptChoicesSchema = z.object({\n modelProjectId: IdSchema.nullable(), taskset: ModelProjectVersionedRefSchema, available: z.boolean(), unavailableReason: z.string().max(1_000).nullable(),\n models: z.array(z.object({ id: IdSchema, name: z.string().max(500) }).strict()).max(200),\n tasks: z.array(z.object({ id: IdSchema, split: 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", "TaskGradeSchema", "z", "z", "z", "TaskGradeSchema", "contentHash"]
|
|
7
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
+
HarnessExperimentPolicySchema,
|
|
2
3
|
ModelTasksetRunRequestSchema
|
|
3
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-WX22WN33.js";
|
|
4
5
|
import {
|
|
5
6
|
contentHash
|
|
6
7
|
} from "./chunk-QUOW6URQ.js";
|
|
@@ -52,6 +53,7 @@ function prefix(left, right) {
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
// src/experiment-contracts.ts
|
|
56
|
+
import { ProfileExternalDatasetBindingSchema } from "@openpond/evals";
|
|
55
57
|
import { FeedbackKeySchema } from "@openpond/evals/rewards";
|
|
56
58
|
import { TasksetRunManifestSchema } from "@openpond/evals/metrics";
|
|
57
59
|
import { z as z2 } from "zod";
|
|
@@ -66,6 +68,7 @@ var ExperimentGraderPinSchema = z2.object({
|
|
|
66
68
|
id: Id,
|
|
67
69
|
version: z2.string().min(1).max(200),
|
|
68
70
|
contentHash: Hash,
|
|
71
|
+
name: z2.string().trim().min(1).max(500).optional(),
|
|
69
72
|
feedbackKey: FeedbackKeySchema,
|
|
70
73
|
release: ExperimentDefinitionRefSchema.nullable(),
|
|
71
74
|
mappings: ExperimentFieldMappingsSchema.optional()
|
|
@@ -101,21 +104,31 @@ var ExperimentListQuerySchema = z2.object({
|
|
|
101
104
|
projectId: Id.optional(),
|
|
102
105
|
datasetHash: Hash.optional(),
|
|
103
106
|
search: z2.string().trim().max(200).optional(),
|
|
107
|
+
status: z2.enum(["queued", "running", "cancelling", "completed", "failed", "cancelled"]).optional(),
|
|
104
108
|
afterId: Id.optional(),
|
|
105
109
|
limit: z2.number().int().min(1).max(100).default(30)
|
|
106
110
|
}).strict();
|
|
107
111
|
var ExperimentExecutionContextSchema = z2.object({
|
|
108
|
-
definition
|
|
112
|
+
/** Only historical runs retain a saved-definition reference. */
|
|
113
|
+
definition: ExperimentDefinitionRefSchema.nullable(),
|
|
114
|
+
configurationHash: Hash.optional(),
|
|
115
|
+
admissionRequestHash: Hash.optional(),
|
|
116
|
+
sourceExperimentId: Id.optional(),
|
|
109
117
|
maximumCostUsd: z2.number().finite().positive().max(1e4),
|
|
110
118
|
graders: z2.array(ExperimentGraderPinSchema).min(1).max(100)
|
|
111
|
-
}).strict()
|
|
119
|
+
}).strict().superRefine((value, context) => {
|
|
120
|
+
if (value.definition === null && (!value.configurationHash || !value.admissionRequestHash))
|
|
121
|
+
context.addIssue({ code: "custom", path: ["configurationHash"], message: "A flat Experiment requires its sealed configuration hash." });
|
|
122
|
+
});
|
|
112
123
|
var PrepareHarnessExperimentSchema = z2.object({
|
|
113
124
|
operationId: Id,
|
|
114
125
|
profileRepositoryId: Id,
|
|
115
126
|
definitionId: Id,
|
|
116
127
|
modelId: Id,
|
|
117
128
|
reasoningEffort: z2.enum(["off", "low", "medium", "high", "xhigh", "max"]).optional(),
|
|
118
|
-
maximumCostUsd: z2.number().finite().positive().max(1e4)
|
|
129
|
+
maximumCostUsd: z2.number().finite().positive().max(1e4),
|
|
130
|
+
externalDatasetBinding: ProfileExternalDatasetBindingSchema.optional(),
|
|
131
|
+
sourceCandidate: HarnessExperimentPolicySchema.shape.sourceCandidate
|
|
119
132
|
}).strict();
|
|
120
133
|
var PreparedHarnessExperimentSchema = z2.object({
|
|
121
134
|
request: ModelTasksetRunRequestSchema,
|
|
@@ -155,4 +168,4 @@ export {
|
|
|
155
168
|
verifyExperimentDefinition,
|
|
156
169
|
experimentDefinitionRef
|
|
157
170
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
171
|
+
//# sourceMappingURL=chunk-2NSNBED7.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/experiment-field-mappings.ts", "../src/experiment-contracts.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from \"zod\";\n\nconst Segment = z.string().min(1).max(200).refine(value => ![\"__proto__\", \"prototype\", \"constructor\"].includes(value), \"Use an ordinary field name.\");\nconst Path = z.array(Segment).min(1).max(20);\nconst Slot = z.enum([\"input\", \"output\", \"expectedOutput\", \"evaluatorContext\"]);\nexport const ExperimentFieldMappingSchema = z.object({\n destination: Slot, path: Path, source: Slot, sourcePath: z.array(Segment).max(20),\n}).strict();\nexport const ExperimentFieldMappingsSchema = z.array(ExperimentFieldMappingSchema).max(100).superRefine((mappings, context) => {\n for (const [index, mapping] of mappings.entries()) {\n if (mappings.slice(0, index).some(previous => previous.destination === mapping.destination\n && (prefix(previous.path, mapping.path) || prefix(mapping.path, previous.path))))\n context.addIssue({ code: \"custom\", path: [index, \"path\"], message: \"Mapped destination paths must not overlap.\" });\n }\n});\nexport type ExperimentFieldMapping = z.infer<typeof ExperimentFieldMappingSchema>;\nexport type ExperimentGradingFields = { input: Record<string, unknown>; output: Record<string, unknown>; expectedOutput: Record<string, unknown> | null; evaluatorContext: Record<string, unknown> | null };\n\n/** Map only grader evidence. The caller must never use this projection as a policy input. */\nexport function mapExperimentGradingFields(fields: ExperimentGradingFields, raw: readonly ExperimentFieldMapping[]): ExperimentGradingFields {\n const mappings = ExperimentFieldMappingsSchema.parse(raw);\n const mapped = structuredClone(fields);\n for (const mapping of mappings) {\n let value: unknown = fields[mapping.source];\n for (const segment of mapping.sourcePath) {\n if (!record(value) || !Object.hasOwn(value, segment)) throw new Error(\"The configured grader source field is unavailable.\");\n value = value[segment];\n }\n if (value === undefined) throw new Error(\"The configured grader source field is unavailable.\");\n let destination = mapped[mapping.destination];\n if (destination === null) mapped[mapping.destination] = destination = {};\n for (const segment of mapping.path.slice(0, -1)) {\n const existing: unknown = Object.hasOwn(destination, segment) ? destination[segment] : undefined;\n if (existing !== undefined && !record(existing)) throw new Error(\"A grader destination path crosses a scalar field.\");\n if (existing === undefined) destination[segment] = {};\n destination = destination[segment] as Record<string, unknown>;\n }\n destination[mapping.path.at(-1)!] = structuredClone(value);\n }\n return mapped;\n}\nfunction record(value: unknown): value is Record<string, unknown> { return value !== null && typeof value === \"object\" && !Array.isArray(value); }\nfunction prefix(left: string[], right: string[]) { return left.length <= right.length && left.every((segment, index) => segment === right[index]); }\n", "import { ProfileExternalDatasetBindingSchema } from \"@openpond/evals\";\nimport { contentHash } from \"@openpond/harness\";\nimport { FeedbackKeySchema } from \"@openpond/evals/rewards\";\nimport { ModelTasksetRunRequestSchema } from \"./model-taskset-runs-contracts.js\";\nimport { TasksetRunManifestSchema } from \"@openpond/evals/metrics\";\nimport { z } from \"zod\";\nimport { ExperimentFieldMappingsSchema } from \"./experiment-field-mappings.js\";\nimport {HarnessExperimentPolicySchema} from \"./harness-experiment-policy.js\";\n\nconst Id = z.string().trim().min(1).max(200);\nconst Hash = z.string().regex(/^[a-f0-9]{64}$/);\nexport const ExperimentDefinitionRefSchema = z.object({\n id: Id, revision: z.number().int().positive(), contentHash: Hash,\n}).strict();\nexport const ExperimentGraderPinSchema = z.object({\n id: Id, version: z.string().min(1).max(200), contentHash: Hash,\n name: z.string().trim().min(1).max(500).optional(),\n feedbackKey: FeedbackKeySchema,\n release: ExperimentDefinitionRefSchema.nullable(),\n mappings: ExperimentFieldMappingsSchema.optional(),\n}).strict();\nexport type ExperimentGraderPin = z.infer<typeof ExperimentGraderPinSchema>;\nexport const ExperimentGraderSelectionSchema = z.object({ id: Id, version: z.string().min(1).max(200), contentHash: Hash, mappings: ExperimentFieldMappingsSchema }).strict();\nexport const SaveExperimentSchema = z.object({\n operationId: Id,\n id: Id.optional(), expectedRevision: z.number().int().nonnegative(),\n request: ModelTasksetRunRequestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderSelectionSchema).min(1).max(100).optional(),\n}).strict().superRefine((value, ctx) => {\n if (!value.request.name) ctx.addIssue({ code: \"custom\", path: [\"request\", \"name\"], message: \"Name this Experiment before saving it.\" });\n if (Boolean(value.id) !== (value.expectedRevision > 0)) ctx.addIssue({ code: \"custom\", path: [\"expectedRevision\"], message: \"An update requires its saved definition revision.\" });\n if (Math.round(value.maximumCostUsd * 1_000_000) < 1) ctx.addIssue({ code: \"custom\", path: [\"maximumCostUsd\"], message: \"The budget must be at least $0.000001.\" });\n if (value.graders && new Set(value.graders.map(grader => grader.id)).size !== value.graders.length) ctx.addIssue({ code: \"custom\", path: [\"graders\"], message: \"Select each grader once.\" });\n});\nconst DefinitionContent = z.object({\n schemaVersion: z.literal(\"openpond.experimentDefinition.v1\"),\n id: Id, teamId: Id, revision: z.number().int().positive(),\n request: ModelTasksetRunRequestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n createdAt: z.iso.datetime(), updatedAt: z.iso.datetime(),\n}).strict();\nexport const ExperimentDefinitionSchema = DefinitionContent.extend({ contentHash: Hash });\nexport type ExperimentDefinition = z.infer<typeof ExperimentDefinitionSchema>;\nexport type ExperimentDefinitionRef = z.infer<typeof ExperimentDefinitionRefSchema>;\nexport const StartExperimentSchema = z.object({ operationId: Id, definition: ExperimentDefinitionRefSchema }).strict();\nexport const ExperimentListQuerySchema = z.object({\n projectId: Id.optional(), datasetHash: Hash.optional(), search: z.string().trim().max(200).optional(),\n status: z.enum([\"queued\", \"running\", \"cancelling\", \"completed\", \"failed\", \"cancelled\"]).optional(),\n afterId: Id.optional(), limit: z.number().int().min(1).max(100).default(30),\n}).strict();\nexport const ExperimentExecutionContextSchema = z.object({\n /** Only historical runs retain a saved-definition reference. */\n definition: ExperimentDefinitionRefSchema.nullable(),\n configurationHash: Hash.optional(), admissionRequestHash: Hash.optional(), sourceExperimentId: Id.optional(),\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n}).strict().superRefine((value, context) => {\n if (value.definition === null && (!value.configurationHash || !value.admissionRequestHash))\n context.addIssue({code:\"custom\",path:[\"configurationHash\"],message:\"A flat Experiment requires its sealed configuration hash.\"});\n});\nexport type ExperimentExecutionContext = z.infer<typeof ExperimentExecutionContextSchema>;\n\nexport const PrepareHarnessExperimentSchema = z.object({\n operationId: Id, profileRepositoryId: Id, definitionId: Id, modelId: Id,\n reasoningEffort: z.enum([\"off\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"]).optional(),\n maximumCostUsd: z.number().finite().positive().max(10_000),\n externalDatasetBinding: ProfileExternalDatasetBindingSchema.optional(),\n sourceCandidate:HarnessExperimentPolicySchema.shape.sourceCandidate,\n}).strict();\nexport const PreparedHarnessExperimentSchema = z.object({\n request: ModelTasksetRunRequestSchema, manifest: TasksetRunManifestSchema,\n maximumCostUsd: z.number().finite().positive().max(10_000),\n graders: z.array(ExperimentGraderPinSchema).min(1).max(100),\n}).strict();\n\nexport function verifyExperimentDefinition(value: unknown): ExperimentDefinition {\n const parsed = ExperimentDefinitionSchema.parse(value);\n const { contentHash: actual, ...content } = parsed;\n if (actual !== contentHash(content) || parsed.request.teamId !== parsed.teamId || !parsed.request.name)\n throw new Error(\"Experiment definition differs from its immutable content.\");\n if (new Set(parsed.graders.map(item => item.feedbackKey)).size !== parsed.graders.length)\n throw new Error(\"Experiment feedback keys must be distinct.\");\n return parsed;\n}\n\nexport const experimentDefinitionRef = (value: ExperimentDefinition): ExperimentDefinitionRef => ({\n id: value.id, revision: value.revision, contentHash: value.contentHash,\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "z"]
|
|
7
|
+
}
|