spawnfile 0.1.25 → 0.1.27
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 +1 -1
- package/dist/audit/readAudit.d.ts +2 -2
- package/dist/auth/trainingAuth.js +1 -1
- package/dist/cli/runCli.d.ts +2 -2
- package/dist/cli/runCli.js +2 -2
- package/dist/cli/trainCommand.js +4 -5
- package/dist/cli/{paideiaDelegation.d.ts → trainingExecution.d.ts} +3 -4
- package/dist/cli/trainingExecution.js +151 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +2 -2
- package/dist/compiler/containerDaimonGrokWorkerRender.js +3 -2
- package/dist/compiler/containerDaimonUidEntrypointRender.js +4 -3
- package/dist/compiler/containerPackageOverrides.d.ts +1 -1
- package/dist/compiler/training/broker/declaration.d.ts +2 -2
- package/dist/compiler/training/broker/declaration.js +3 -2
- package/dist/compiler/training/broker/entrypoint.d.ts +3 -3
- package/dist/compiler/training/broker/entrypoint.js +7 -6
- package/dist/compiler/training/broker/evaluatorSecrets.js +4 -2
- package/dist/compiler/training/broker/paths.d.ts +15 -15
- package/dist/compiler/training/broker/paths.js +23 -23
- package/dist/compiler/training/broker/projection.d.ts +4 -4
- package/dist/compiler/training/broker/projection.js +9 -7
- package/dist/compiler/training/broker/provisioning.d.ts +1 -1
- package/dist/compiler/training/broker/provisioning.js +3 -3
- package/dist/compiler/training/broker/registration.d.ts +1 -1
- package/dist/compiler/training/broker/registration.js +1 -1
- package/dist/compiler/training/broker/supervisor.d.ts +1 -1
- package/dist/compiler/training/container/contract.js +2 -1
- package/dist/compiler/training/container/evaluators.d.ts +3 -3
- package/dist/compiler/training/container/evaluators.js +6 -6
- package/dist/compiler/training/container/launch.js +15 -7
- package/dist/compiler/training/container/security.js +3 -3
- package/dist/compiler/training/container/subjectIsolation.js +2 -1
- package/dist/compiler/training/execution.d.ts +8 -10
- package/dist/compiler/training/execution.js +1 -1
- package/dist/compiler/training/moments.js +2 -2
- package/dist/compiler/training/plan/contract.d.ts +7 -7
- package/dist/compiler/training/plan/load.js +2 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +8 -17
- package/dist/compiler/training/preparation/assets/package-lock.json +2012 -316
- package/dist/compiler/training/preparation/broker.js +2 -1
- package/dist/compiler/training/preparation/contract.d.ts +5 -9
- package/dist/compiler/training/preparation/contract.js +4 -3
- package/dist/compiler/training/preparation/image.js +2 -4
- package/dist/compiler/training/preparation/prepare.js +3 -3
- package/dist/compiler/training/repair/compatibility.js +17 -6
- package/dist/compiler/training/repair/contract.d.ts +14 -22
- package/dist/compiler/training/repair/contract.js +3 -2
- package/dist/compiler/training/repair/prepare.d.ts +5 -9
- package/dist/compiler/training/repair/prepare.js +10 -4
- package/dist/compiler/training/repair/witness.d.ts +4 -8
- package/dist/compiler/training/repair/witness.js +16 -2
- package/dist/compiler/training/rewind/contract.d.ts +9 -9
- package/dist/compiler/training/subjectDeclaration.d.ts +2 -1
- package/dist/compiler/training/subjectDeclaration.js +4 -2
- package/dist/compiler/training/subjectLease.d.ts +9 -8
- package/dist/compiler/training/subjectLease.js +17 -13
- package/dist/distribution/imageRuntimeAuth.js +33 -24
- package/dist/manifest/executionSchemas.d.ts +9 -9
- package/dist/manifest/mcpSchemas.d.ts +3 -3
- package/dist/manifest/schemas.d.ts +71 -71
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkSchemas.d.ts +2 -2
- package/dist/manifest/teamNetworkServerSchemas.d.ts +2 -2
- package/dist/manifest/trainingDataSchemas.d.ts +2 -2
- package/dist/runtime/codex-exec/training/adapter.d.ts +13 -0
- package/dist/runtime/codex-exec/training/adapter.js +101 -0
- package/dist/runtime/codex-exec/training/adapter.js.map +1 -0
- package/dist/runtime/codex-exec/training/environment.d.ts +3 -0
- package/dist/runtime/codex-exec/training/environment.js +26 -0
- package/dist/runtime/codex-exec/training/environment.js.map +1 -0
- package/dist/runtime/codex-exec/training/index.d.ts +2 -0
- package/dist/runtime/codex-exec/training/index.js +3 -0
- package/dist/runtime/codex-exec/training/index.js.map +1 -0
- package/dist/runtime/codex-exec/training/protocol.d.ts +15 -0
- package/dist/runtime/codex-exec/training/protocol.js +102 -0
- package/dist/runtime/codex-exec/training/protocol.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.d.ts +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js +2 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.d.ts +17 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js +80 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.d.ts +12 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js +125 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.d.ts +6 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js +219 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +1 -0
- package/dist/runtime/container.js +1 -1
- package/dist/runtime/containerPackageOverrides.d.ts +2 -2
- package/dist/runtime/containerPackageOverrides.js +1 -1
- package/dist/runtime/daimon/adapter.js +9 -9
- package/dist/runtime/daimon/config.d.ts +2 -1
- package/dist/runtime/daimon/config.js +25 -25
- package/dist/runtime/daimon/contract-manifest.json +1 -1
- package/dist/runtime/daimon/contract-manifest.sha256 +1 -1
- package/dist/runtime/daimon/contractManifest.d.ts +206 -202
- package/dist/runtime/daimon/contractManifest.js +48 -145
- package/dist/runtime/daimon/contractManifest.js.map +1 -0
- package/dist/runtime/daimon/contractManifestSchema.d.ts +1455 -0
- package/dist/runtime/daimon/contractManifestSchema.js +19 -0
- package/dist/runtime/daimon/contractManifestSchema.js.map +1 -0
- package/dist/runtime/daimon/engineDescriptorSchema.d.ts +1826 -0
- package/dist/runtime/daimon/engineDescriptorSchema.js +107 -0
- package/dist/runtime/daimon/engineDescriptorSchema.js.map +1 -0
- package/dist/runtime/daimon/engineDescriptors.generated.d.ts +477 -0
- package/dist/runtime/daimon/engineDescriptors.generated.js +5 -0
- package/dist/runtime/daimon/engineDescriptors.generated.js.map +1 -0
- package/dist/runtime/daimon/engines.d.ts +664 -0
- package/dist/runtime/daimon/engines.js +25 -0
- package/dist/runtime/daimon/engines.js.map +1 -0
- package/dist/runtime/daimon/grokModel.d.ts +2 -1
- package/dist/runtime/daimon/grokModel.js +10 -7
- package/dist/runtime/daimon/grokSkillsSupport.js +2 -1
- package/dist/runtime/daimon/grokTurnLimits.js +3 -3
- package/dist/runtime/daimon/grokWorkerContract.d.ts +2 -2
- package/dist/runtime/daimon/grokWorkerContract.js +10 -9
- package/dist/runtime/daimon/index.d.ts +4 -0
- package/dist/runtime/daimon/index.js +5 -0
- package/dist/runtime/daimon/index.js.map +1 -0
- package/dist/runtime/daimon/packageName.d.ts +2 -0
- package/dist/runtime/daimon/packageName.js +3 -0
- package/dist/runtime/daimon/packageName.js.map +1 -0
- package/dist/runtime/daimon/runAuth.d.ts +4 -4
- package/dist/runtime/daimon/runAuth.js +71 -53
- package/dist/runtime/daimon/training/index.d.ts +2 -0
- package/dist/runtime/daimon/training/index.js +7 -0
- package/dist/runtime/daimon/training/index.js.map +1 -0
- package/dist/runtime/daimon/training/legacy/adapter.d.ts +11 -0
- package/dist/runtime/daimon/training/legacy/adapter.js +175 -0
- package/dist/runtime/daimon/training/legacy/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/legacy/index.d.ts +2 -0
- package/dist/runtime/daimon/training/legacy/index.js +3 -0
- package/dist/runtime/daimon/training/legacy/index.js.map +1 -0
- package/dist/runtime/daimon/training/legacy/public.d.ts +49 -0
- package/dist/runtime/daimon/training/legacy/public.js +16 -0
- package/dist/runtime/daimon/training/legacy/public.js.map +1 -0
- package/dist/runtime/daimon/training/native/adapter.d.ts +18 -0
- package/dist/runtime/daimon/training/native/adapter.js +231 -0
- package/dist/runtime/daimon/training/native/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/native/admission.d.ts +7 -0
- package/dist/runtime/daimon/training/native/admission.js +52 -0
- package/dist/runtime/daimon/training/native/admission.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/arguments.d.ts +16 -0
- package/dist/runtime/daimon/training/native/child/arguments.js +69 -0
- package/dist/runtime/daimon/training/native/child/arguments.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +24 -0
- package/dist/runtime/daimon/training/native/child/deferred-trial.js +63 -0
- package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +58 -0
- package/dist/runtime/daimon/training/native/child/diagnostics.js +215 -0
- package/dist/runtime/daimon/training/native/child/diagnostics.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/fixture.d.ts +16 -0
- package/dist/runtime/daimon/training/native/child/fixture.js +157 -0
- package/dist/runtime/daimon/training/native/child/fixture.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/grok.d.ts +14 -0
- package/dist/runtime/daimon/training/native/child/grok.js +47 -0
- package/dist/runtime/daimon/training/native/child/grok.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/index.d.ts +7 -0
- package/dist/runtime/daimon/training/native/child/index.js +5 -0
- package/dist/runtime/daimon/training/native/child/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +40 -0
- package/dist/runtime/daimon/training/native/child/lifecycle.js +391 -0
- package/dist/runtime/daimon/training/native/child/lifecycle.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/probe.d.ts +2 -0
- package/dist/runtime/daimon/training/native/child/probe.js +11 -0
- package/dist/runtime/daimon/training/native/child/probe.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/sandbox.d.ts +4 -0
- package/dist/runtime/daimon/training/native/child/sandbox.js +76 -0
- package/dist/runtime/daimon/training/native/child/sandbox.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/types.d.ts +15 -0
- package/dist/runtime/daimon/training/native/child/types.js +2 -0
- package/dist/runtime/daimon/training/native/child/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/docker.d.ts +29 -0
- package/dist/runtime/daimon/training/native/container/docker.js +105 -0
- package/dist/runtime/daimon/training/native/container/docker.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +22 -0
- package/dist/runtime/daimon/training/native/container/grok-slot.js +38 -0
- package/dist/runtime/daimon/training/native/container/grok-slot.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/index.d.ts +6 -0
- package/dist/runtime/daimon/training/native/container/index.js +6 -0
- package/dist/runtime/daimon/training/native/container/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +8 -0
- package/dist/runtime/daimon/training/native/container/lifecycle.js +110 -0
- package/dist/runtime/daimon/training/native/container/lifecycle.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/manifest.d.ts +17 -0
- package/dist/runtime/daimon/training/native/container/manifest.js +144 -0
- package/dist/runtime/daimon/training/native/container/manifest.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +8 -0
- package/dist/runtime/daimon/training/native/container/native-preflight.js +40 -0
- package/dist/runtime/daimon/training/native/container/native-preflight.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/preflight.d.ts +15 -0
- package/dist/runtime/daimon/training/native/container/preflight.js +79 -0
- package/dist/runtime/daimon/training/native/container/preflight.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/slot.d.ts +4 -0
- package/dist/runtime/daimon/training/native/container/slot.js +58 -0
- package/dist/runtime/daimon/training/native/container/slot.js.map +1 -0
- package/dist/runtime/daimon/training/native/external.d.ts +37 -0
- package/dist/runtime/daimon/training/native/external.js +75 -0
- package/dist/runtime/daimon/training/native/external.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/authority.d.ts +36 -0
- package/dist/runtime/daimon/training/native/grants/authority.js +49 -0
- package/dist/runtime/daimon/training/native/grants/authority.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/index.d.ts +2 -0
- package/dist/runtime/daimon/training/native/grants/index.js +3 -0
- package/dist/runtime/daimon/training/native/grants/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/pins.d.ts +30 -0
- package/dist/runtime/daimon/training/native/grants/pins.js +20 -0
- package/dist/runtime/daimon/training/native/grants/pins.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +6 -0
- package/dist/runtime/daimon/training/native/grants/test-socket.js +35 -0
- package/dist/runtime/daimon/training/native/grants/test-socket.js.map +1 -0
- package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +34 -0
- package/dist/runtime/daimon/training/native/grok-fixtures.js +179 -0
- package/dist/runtime/daimon/training/native/grok-fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/native/index.d.ts +38 -0
- package/dist/runtime/daimon/training/native/index.js +27 -0
- package/dist/runtime/daimon/training/native/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/live-checkout.d.ts +2 -0
- package/dist/runtime/daimon/training/native/live-checkout.js +15 -0
- package/dist/runtime/daimon/training/native/live-checkout.js.map +1 -0
- package/dist/runtime/daimon/training/native/observations.d.ts +51 -0
- package/dist/runtime/daimon/training/native/observations.js +217 -0
- package/dist/runtime/daimon/training/native/observations.js.map +1 -0
- package/dist/runtime/daimon/training/native/outcome.d.ts +13 -0
- package/dist/runtime/daimon/training/native/outcome.js +37 -0
- package/dist/runtime/daimon/training/native/outcome.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +21 -0
- package/dist/runtime/daimon/training/native/preparation/engine-config.js +30 -0
- package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +17 -0
- package/dist/runtime/daimon/training/native/preparation/fixtures.js +50 -0
- package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/index.d.ts +7 -0
- package/dist/runtime/daimon/training/native/preparation/index.js +5 -0
- package/dist/runtime/daimon/training/native/preparation/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/layout.d.ts +66 -0
- package/dist/runtime/daimon/training/native/preparation/layout.js +87 -0
- package/dist/runtime/daimon/training/native/preparation/layout.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/subject.d.ts +14 -0
- package/dist/runtime/daimon/training/native/preparation/subject.js +67 -0
- package/dist/runtime/daimon/training/native/preparation/subject.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/types.d.ts +69 -0
- package/dist/runtime/daimon/training/native/preparation/types.js +2 -0
- package/dist/runtime/daimon/training/native/preparation/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +25 -0
- package/dist/runtime/daimon/training/native/receipt/artifacts.js +32 -0
- package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +129 -0
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +45 -0
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/grok.d.ts +246 -0
- package/dist/runtime/daimon/training/native/receipt/grok.js +195 -0
- package/dist/runtime/daimon/training/native/receipt/grok.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/index.d.ts +10 -0
- package/dist/runtime/daimon/training/native/receipt/index.js +7 -0
- package/dist/runtime/daimon/training/native/receipt/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/paths.d.ts +3 -0
- package/dist/runtime/daimon/training/native/receipt/paths.js +18 -0
- package/dist/runtime/daimon/training/native/receipt/paths.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +42 -0
- package/dist/runtime/daimon/training/native/receipt/sandbox.js +35 -0
- package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/schema.d.ts +486 -0
- package/dist/runtime/daimon/training/native/receipt/schema.js +138 -0
- package/dist/runtime/daimon/training/native/receipt/schema.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +19 -0
- package/dist/runtime/daimon/training/native/receipt/task-clock.js +49 -0
- package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +1 -0
- package/dist/runtime/daimon/training/native/sealed-usage.d.ts +218 -0
- package/dist/runtime/daimon/training/native/sealed-usage.js +261 -0
- package/dist/runtime/daimon/training/native/sealed-usage.js.map +1 -0
- package/dist/runtime/daimon/training/native/test-fixtures.d.ts +27 -0
- package/dist/runtime/daimon/training/native/test-fixtures.js +158 -0
- package/dist/runtime/daimon/training/native/test-fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/native/transcript.d.ts +96 -0
- package/dist/runtime/daimon/training/native/transcript.js +239 -0
- package/dist/runtime/daimon/training/native/transcript.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/delivery.d.ts +27 -0
- package/dist/runtime/daimon/training/native/transport/delivery.js +98 -0
- package/dist/runtime/daimon/training/native/transport/delivery.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/http.d.ts +3 -0
- package/dist/runtime/daimon/training/native/transport/http.js +81 -0
- package/dist/runtime/daimon/training/native/transport/http.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/index.d.ts +4 -0
- package/dist/runtime/daimon/training/native/transport/index.js +3 -0
- package/dist/runtime/daimon/training/native/transport/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/types.d.ts +15 -0
- package/dist/runtime/daimon/training/native/transport/types.js +2 -0
- package/dist/runtime/daimon/training/native/transport/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/cli.d.ts +1 -0
- package/dist/runtime/daimon/training/native/worker/cli.js +17 -0
- package/dist/runtime/daimon/training/native/worker/cli.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/control.d.ts +20 -0
- package/dist/runtime/daimon/training/native/worker/control.js +266 -0
- package/dist/runtime/daimon/training/native/worker/control.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +38 -0
- package/dist/runtime/daimon/training/native/worker/deliveries.js +91 -0
- package/dist/runtime/daimon/training/native/worker/deliveries.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +54 -0
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js +278 -0
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +102 -0
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js +191 -0
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +3 -0
- package/dist/runtime/daimon/training/native/worker/evidence/index.js +4 -0
- package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +20 -0
- package/dist/runtime/daimon/training/native/worker/evidence/io.js +130 -0
- package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +3 -0
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js +67 -0
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/index.d.ts +11 -0
- package/dist/runtime/daimon/training/native/worker/index.js +8 -0
- package/dist/runtime/daimon/training/native/worker/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/profile.d.ts +23 -0
- package/dist/runtime/daimon/training/native/worker/profile.js +149 -0
- package/dist/runtime/daimon/training/native/worker/profile.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/public.d.ts +41 -0
- package/dist/runtime/daimon/training/native/worker/public.js +22 -0
- package/dist/runtime/daimon/training/native/worker/public.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/sandbox.js +52 -0
- package/dist/runtime/daimon/training/native/worker/sandbox.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/server.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/server.js +102 -0
- package/dist/runtime/daimon/training/native/worker/server.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/types.d.ts +318 -0
- package/dist/runtime/daimon/training/native/worker/types.js +2 -0
- package/dist/runtime/daimon/training/native/worker/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +4 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +3 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +16 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +52 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +21 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +198 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +91 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +2 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/worker.d.ts +1 -0
- package/dist/runtime/daimon/training/native/worker/worker.js +103 -0
- package/dist/runtime/daimon/training/native/worker/worker.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +20 -0
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js +55 -0
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +15 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +29 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +16 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +60 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +81 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +221 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +31 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +78 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +63 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js +20 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +3 -0
- package/dist/runtime/daimon/training/providers/grok-broker/index.js +4 -0
- package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +21 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +81 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +4 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js +5 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +26 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +102 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.d.ts +9 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +38 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +1 -0
- package/dist/runtime/daimon/training/services/freshness.d.ts +15 -0
- package/dist/runtime/daimon/training/services/freshness.js +19 -0
- package/dist/runtime/daimon/training/services/freshness.js.map +1 -0
- package/dist/runtime/daimon/training/services/index.d.ts +3 -0
- package/dist/runtime/daimon/training/services/index.js +3 -0
- package/dist/runtime/daimon/training/services/index.js.map +1 -0
- package/dist/runtime/daimon/training/services/slot-freshness.d.ts +34 -0
- package/dist/runtime/daimon/training/services/slot-freshness.js +178 -0
- package/dist/runtime/daimon/training/services/slot-freshness.js.map +1 -0
- package/dist/runtime/daimon/wakeMoments.js +1 -0
- package/dist/runtime/daimon/wakeMoments.js.map +1 -0
- package/dist/runtime/pi/appPreludeSource.js +3 -2
- package/dist/runtime/pi/appTemplate.d.ts +1 -1
- package/dist/runtime/pi/appTemplate.js +2 -1
- package/dist/runtime/registry.d.ts +6 -0
- package/dist/runtime/registry.js +2 -0
- package/dist/runtime/trainingCli.d.ts +5 -0
- package/dist/runtime/trainingCli.js +23 -0
- package/dist/runtime/trainingGraderProviders.d.ts +4 -0
- package/dist/runtime/trainingGraderProviders.js +55 -0
- package/dist/runtime/trainingProviders.d.ts +4 -0
- package/dist/runtime/trainingProviders.js +89 -0
- package/dist/runtime/trainingSubjects.d.ts +129 -0
- package/dist/runtime/trainingSubjects.js +32 -0
- package/dist/shared/daimonCodexDocker.js +9 -10
- package/dist/shared/errors.js +1 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/trainingLegacy/index.d.ts +5 -0
- package/dist/shared/trainingLegacy/index.js +6 -0
- package/dist/shared/trainingLegacy/index.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyEnvironment.d.ts +6 -0
- package/dist/shared/trainingLegacy/trainingLegacyEnvironment.js +40 -0
- package/dist/shared/trainingLegacy/trainingLegacyEnvironment.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyFiles.d.ts +4 -0
- package/dist/shared/trainingLegacy/trainingLegacyFiles.js +34 -0
- package/dist/shared/trainingLegacy/trainingLegacyFiles.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.d.ts +5 -0
- package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.js +6 -0
- package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.d.ts +39 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js +41 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyWire.d.ts +15 -0
- package/dist/shared/trainingLegacy/trainingLegacyWire.js +21 -0
- package/dist/shared/trainingLegacy/trainingLegacyWire.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyWireAliases.json +90 -0
- package/dist/target/contracts.d.ts +2 -2
- package/dist/training/candidates/authored.d.ts +3 -0
- package/dist/training/candidates/authored.js +27 -0
- package/dist/training/candidates/authored.js.map +1 -0
- package/dist/training/candidates/derive.d.ts +3 -0
- package/dist/training/candidates/derive.js +66 -0
- package/dist/training/candidates/derive.js.map +1 -0
- package/dist/training/candidates/filesystem.d.ts +7 -0
- package/dist/training/candidates/filesystem.js +41 -0
- package/dist/training/candidates/filesystem.js.map +1 -0
- package/dist/training/candidates/headings.d.ts +9 -0
- package/dist/training/candidates/headings.js +47 -0
- package/dist/training/candidates/headings.js.map +1 -0
- package/dist/training/candidates/identity.d.ts +6 -0
- package/dist/training/candidates/identity.js +29 -0
- package/dist/training/candidates/identity.js.map +1 -0
- package/dist/training/candidates/index.d.ts +6 -0
- package/dist/training/candidates/index.js +6 -0
- package/dist/training/candidates/index.js.map +1 -0
- package/dist/training/candidates/materialize.d.ts +2 -0
- package/dist/training/candidates/materialize.js +39 -0
- package/dist/training/candidates/materialize.js.map +1 -0
- package/dist/training/candidates/snapshot.d.ts +5 -0
- package/dist/training/candidates/snapshot.js +22 -0
- package/dist/training/candidates/snapshot.js.map +1 -0
- package/dist/training/candidates/types.d.ts +41 -0
- package/dist/training/candidates/types.js +2 -0
- package/dist/training/candidates/types.js.map +1 -0
- package/dist/training/candidates/validation.d.ts +4 -0
- package/dist/training/candidates/validation.js +89 -0
- package/dist/training/candidates/validation.js.map +1 -0
- package/dist/training/capture/index.d.ts +2 -0
- package/dist/training/capture/index.js +2 -0
- package/dist/training/capture/index.js.map +1 -0
- package/dist/training/capture/trace.d.ts +16 -0
- package/dist/training/capture/trace.js +74 -0
- package/dist/training/capture/trace.js.map +1 -0
- package/dist/training/cases/builtin-evaluators.d.ts +2 -0
- package/dist/training/cases/builtin-evaluators.js +120 -0
- package/dist/training/cases/builtin-evaluators.js.map +1 -0
- package/dist/training/cases/check-schema.d.ts +2 -0
- package/dist/training/cases/check-schema.js +60 -0
- package/dist/training/cases/check-schema.js.map +1 -0
- package/dist/training/cases/cost-projection.d.ts +27 -0
- package/dist/training/cases/cost-projection.js +29 -0
- package/dist/training/cases/cost-projection.js.map +1 -0
- package/dist/training/cases/fixtures.d.ts +5 -0
- package/dist/training/cases/fixtures.js +134 -0
- package/dist/training/cases/fixtures.js.map +1 -0
- package/dist/training/cases/grader.d.ts +14 -0
- package/dist/training/cases/grader.js +122 -0
- package/dist/training/cases/grader.js.map +1 -0
- package/dist/training/cases/index.d.ts +12 -0
- package/dist/training/cases/index.js +11 -0
- package/dist/training/cases/index.js.map +1 -0
- package/dist/training/cases/json-schema.d.ts +3 -0
- package/dist/training/cases/json-schema.js +6 -0
- package/dist/training/cases/json-schema.js.map +1 -0
- package/dist/training/cases/parser.d.ts +6 -0
- package/dist/training/cases/parser.js +45 -0
- package/dist/training/cases/parser.js.map +1 -0
- package/dist/training/cases/plans.d.ts +14 -0
- package/dist/training/cases/plans.js +186 -0
- package/dist/training/cases/plans.js.map +1 -0
- package/dist/training/cases/resolver.d.ts +5 -0
- package/dist/training/cases/resolver.js +90 -0
- package/dist/training/cases/resolver.js.map +1 -0
- package/dist/training/cases/schema.d.ts +5 -0
- package/dist/training/cases/schema.js +154 -0
- package/dist/training/cases/schema.js.map +1 -0
- package/dist/training/cases/splits.d.ts +16 -0
- package/dist/training/cases/splits.js +71 -0
- package/dist/training/cases/splits.js.map +1 -0
- package/dist/training/cases/text-checks.d.ts +3 -0
- package/dist/training/cases/text-checks.js +50 -0
- package/dist/training/cases/text-checks.js.map +1 -0
- package/dist/training/cases/training/identity.d.ts +6 -0
- package/dist/training/cases/training/identity.js +26 -0
- package/dist/training/cases/training/identity.js.map +1 -0
- package/dist/training/cases/training/index.d.ts +2 -0
- package/dist/training/cases/training/index.js +3 -0
- package/dist/training/cases/training/index.js.map +1 -0
- package/dist/training/cases/training/schema.d.ts +4 -0
- package/dist/training/cases/training/schema.js +207 -0
- package/dist/training/cases/training/schema.js.map +1 -0
- package/dist/training/cases/turn-bindings.d.ts +3 -0
- package/dist/training/cases/turn-bindings.js +61 -0
- package/dist/training/cases/turn-bindings.js.map +1 -0
- package/dist/training/cases/validation.d.ts +17 -0
- package/dist/training/cases/validation.js +92 -0
- package/dist/training/cases/validation.js.map +1 -0
- package/dist/training/cli/arguments.d.ts +18 -0
- package/dist/training/cli/arguments.js +165 -0
- package/dist/training/cli/arguments.js.map +1 -0
- package/dist/training/cli/commands.d.ts +3 -0
- package/dist/training/cli/commands.js +255 -0
- package/dist/training/cli/commands.js.map +1 -0
- package/dist/training/cli/datasets.d.ts +30 -0
- package/dist/training/cli/datasets.js +116 -0
- package/dist/training/cli/datasets.js.map +1 -0
- package/dist/training/cli/dry-run.d.ts +7 -0
- package/dist/training/cli/dry-run.js +37 -0
- package/dist/training/cli/dry-run.js.map +1 -0
- package/dist/training/cli/grader/atomic/decompose.d.ts +43 -0
- package/dist/training/cli/grader/atomic/decompose.js +208 -0
- package/dist/training/cli/grader/atomic/decompose.js.map +1 -0
- package/dist/training/cli/grader/atomic/files.d.ts +159 -0
- package/dist/training/cli/grader/atomic/files.js +97 -0
- package/dist/training/cli/grader/atomic/files.js.map +1 -0
- package/dist/training/cli/grader/atomic/index.d.ts +8 -0
- package/dist/training/cli/grader/atomic/index.js +34 -0
- package/dist/training/cli/grader/atomic/index.js.map +1 -0
- package/dist/training/cli/grader/atomic/reference.d.ts +131 -0
- package/dist/training/cli/grader/atomic/reference.js +133 -0
- package/dist/training/cli/grader/atomic/reference.js.map +1 -0
- package/dist/training/cli/grader/atomic/runtime.d.ts +3 -0
- package/dist/training/cli/grader/atomic/runtime.js +91 -0
- package/dist/training/cli/grader/atomic/runtime.js.map +1 -0
- package/dist/training/cli/grader/atomic/traps.d.ts +15 -0
- package/dist/training/cli/grader/atomic/traps.js +38 -0
- package/dist/training/cli/grader/atomic/traps.js.map +1 -0
- package/dist/training/cli/grader/backend.d.ts +19 -0
- package/dist/training/cli/grader/backend.js +39 -0
- package/dist/training/cli/grader/backend.js.map +1 -0
- package/dist/training/cli/grader/cache.d.ts +2 -0
- package/dist/training/cli/grader/cache.js +75 -0
- package/dist/training/cli/grader/cache.js.map +1 -0
- package/dist/training/cli/grader/calibrate.d.ts +19 -0
- package/dist/training/cli/grader/calibrate.js +237 -0
- package/dist/training/cli/grader/calibrate.js.map +1 -0
- package/dist/training/cli/grader/cost.d.ts +24 -0
- package/dist/training/cli/grader/cost.js +54 -0
- package/dist/training/cli/grader/cost.js.map +1 -0
- package/dist/training/cli/grader/exclusions.d.ts +12 -0
- package/dist/training/cli/grader/exclusions.js +49 -0
- package/dist/training/cli/grader/exclusions.js.map +1 -0
- package/dist/training/cli/grader/grade.d.ts +26 -0
- package/dist/training/cli/grader/grade.js +33 -0
- package/dist/training/cli/grader/grade.js.map +1 -0
- package/dist/training/cli/grader/index.d.ts +10 -0
- package/dist/training/cli/grader/index.js +73 -0
- package/dist/training/cli/grader/index.js.map +1 -0
- package/dist/training/cli/grader/label-call.d.ts +13 -0
- package/dist/training/cli/grader/label-call.js +67 -0
- package/dist/training/cli/grader/label-call.js.map +1 -0
- package/dist/training/cli/grader/label-import.d.ts +16 -0
- package/dist/training/cli/grader/label-import.js +84 -0
- package/dist/training/cli/grader/label-import.js.map +1 -0
- package/dist/training/cli/grader/label-inputs.d.ts +9 -0
- package/dist/training/cli/grader/label-inputs.js +56 -0
- package/dist/training/cli/grader/label-inputs.js.map +1 -0
- package/dist/training/cli/grader/label.d.ts +25 -0
- package/dist/training/cli/grader/label.js +172 -0
- package/dist/training/cli/grader/label.js.map +1 -0
- package/dist/training/cli/grader/records.d.ts +20 -0
- package/dist/training/cli/grader/records.js +65 -0
- package/dist/training/cli/grader/records.js.map +1 -0
- package/dist/training/cli/grader/report.d.ts +26 -0
- package/dist/training/cli/grader/report.js +42 -0
- package/dist/training/cli/grader/report.js.map +1 -0
- package/dist/training/cli/grader/runtime.d.ts +5 -0
- package/dist/training/cli/grader/runtime.js +64 -0
- package/dist/training/cli/grader/runtime.js.map +1 -0
- package/dist/training/cli/grader/validate.d.ts +5 -0
- package/dist/training/cli/grader/validate.js +42 -0
- package/dist/training/cli/grader/validate.js.map +1 -0
- package/dist/training/cli/index.d.ts +6 -0
- package/dist/training/cli/index.js +4 -0
- package/dist/training/cli/index.js.map +1 -0
- package/dist/training/cli/launch.d.ts +3 -0
- package/dist/training/cli/launch.js +17 -0
- package/dist/training/cli/launch.js.map +1 -0
- package/dist/training/cli/native.d.ts +235 -0
- package/dist/training/cli/native.js +83 -0
- package/dist/training/cli/native.js.map +1 -0
- package/dist/training/cli/output.d.ts +21 -0
- package/dist/training/cli/output.js +95 -0
- package/dist/training/cli/output.js.map +1 -0
- package/dist/training/cli/progress/activity.d.ts +11 -0
- package/dist/training/cli/progress/activity.js +45 -0
- package/dist/training/cli/progress/activity.js.map +1 -0
- package/dist/training/cli/progress/failure.d.ts +37 -0
- package/dist/training/cli/progress/failure.js +48 -0
- package/dist/training/cli/progress/failure.js.map +1 -0
- package/dist/training/cli/progress/generations.d.ts +11 -0
- package/dist/training/cli/progress/generations.js +50 -0
- package/dist/training/cli/progress/generations.js.map +1 -0
- package/dist/training/cli/progress/index.d.ts +6 -0
- package/dist/training/cli/progress/index.js +5 -0
- package/dist/training/cli/progress/index.js.map +1 -0
- package/dist/training/cli/progress/journal.d.ts +38 -0
- package/dist/training/cli/progress/journal.js +101 -0
- package/dist/training/cli/progress/journal.js.map +1 -0
- package/dist/training/cli/report/diff.d.ts +2 -0
- package/dist/training/cli/report/diff.js +24 -0
- package/dist/training/cli/report/diff.js.map +1 -0
- package/dist/training/cli/report/export.d.ts +9 -0
- package/dist/training/cli/report/export.js +81 -0
- package/dist/training/cli/report/export.js.map +1 -0
- package/dist/training/cli/report/fixture.d.ts +9 -0
- package/dist/training/cli/report/fixture.js +65 -0
- package/dist/training/cli/report/fixture.js.map +1 -0
- package/dist/training/cli/report/index.d.ts +1 -0
- package/dist/training/cli/report/index.js +2 -0
- package/dist/training/cli/report/index.js.map +1 -0
- package/dist/training/cli/report/markdown.d.ts +2 -0
- package/dist/training/cli/report/markdown.js +60 -0
- package/dist/training/cli/report/markdown.js.map +1 -0
- package/dist/training/cli/report/summary.d.ts +130 -0
- package/dist/training/cli/report/summary.js +165 -0
- package/dist/training/cli/report/summary.js.map +1 -0
- package/dist/training/cli/spawnfile/context.d.ts +75 -0
- package/dist/training/cli/spawnfile/context.js +78 -0
- package/dist/training/cli/spawnfile/context.js.map +1 -0
- package/dist/training/cli/spawnfile/index.d.ts +5 -0
- package/dist/training/cli/spawnfile/index.js +4 -0
- package/dist/training/cli/spawnfile/index.js.map +1 -0
- package/dist/training/cli/spawnfile/moments.d.ts +44 -0
- package/dist/training/cli/spawnfile/moments.js +71 -0
- package/dist/training/cli/spawnfile/moments.js.map +1 -0
- package/dist/training/cli/spawnfile/selection.d.ts +83 -0
- package/dist/training/cli/spawnfile/selection.js +54 -0
- package/dist/training/cli/spawnfile/selection.js.map +1 -0
- package/dist/training/cli/training/cache.d.ts +4 -0
- package/dist/training/cli/training/cache.js +43 -0
- package/dist/training/cli/training/cache.js.map +1 -0
- package/dist/training/cli/training/checkpoint.d.ts +19 -0
- package/dist/training/cli/training/checkpoint.js +62 -0
- package/dist/training/cli/training/checkpoint.js.map +1 -0
- package/dist/training/cli/training/comparison.d.ts +8 -0
- package/dist/training/cli/training/comparison.js +22 -0
- package/dist/training/cli/training/comparison.js.map +1 -0
- package/dist/training/cli/training/configuration.d.ts +10 -0
- package/dist/training/cli/training/configuration.js +81 -0
- package/dist/training/cli/training/configuration.js.map +1 -0
- package/dist/training/cli/training/deadlines.d.ts +7 -0
- package/dist/training/cli/training/deadlines.js +14 -0
- package/dist/training/cli/training/deadlines.js.map +1 -0
- package/dist/training/cli/training/index.d.ts +8 -0
- package/dist/training/cli/training/index.js +9 -0
- package/dist/training/cli/training/index.js.map +1 -0
- package/dist/training/cli/training/inference.d.ts +48 -0
- package/dist/training/cli/training/inference.js +96 -0
- package/dist/training/cli/training/inference.js.map +1 -0
- package/dist/training/cli/training/optimizer.d.ts +33 -0
- package/dist/training/cli/training/optimizer.js +92 -0
- package/dist/training/cli/training/optimizer.js.map +1 -0
- package/dist/training/cli/training/output-lock.d.ts +2 -0
- package/dist/training/cli/training/output-lock.js +30 -0
- package/dist/training/cli/training/output-lock.js.map +1 -0
- package/dist/training/cli/types.d.ts +101 -0
- package/dist/training/cli/types.js +2 -0
- package/dist/training/cli/types.js.map +1 -0
- package/dist/training/cli/viewer.d.ts +40 -0
- package/dist/training/cli/viewer.js +210 -0
- package/dist/training/cli/viewer.js.map +1 -0
- package/dist/training/contracts/atomic-feedback.d.ts +2 -0
- package/dist/training/contracts/atomic-feedback.js +2 -0
- package/dist/training/contracts/atomic-feedback.js.map +1 -0
- package/dist/training/contracts/dataset.d.ts +174 -0
- package/dist/training/contracts/dataset.js +2 -0
- package/dist/training/contracts/dataset.js.map +1 -0
- package/dist/training/contracts/evaluation.d.ts +256 -0
- package/dist/training/contracts/evaluation.js +41 -0
- package/dist/training/contracts/evaluation.js.map +1 -0
- package/dist/training/contracts/execution.d.ts +363 -0
- package/dist/training/contracts/execution.js +15 -0
- package/dist/training/contracts/execution.js.map +1 -0
- package/dist/training/contracts/grader-providers.d.ts +40 -0
- package/dist/training/contracts/grader-providers.js +27 -0
- package/dist/training/contracts/grader-providers.js.map +1 -0
- package/dist/training/contracts/grading.d.ts +74 -0
- package/dist/training/contracts/grading.js +2 -0
- package/dist/training/contracts/grading.js.map +1 -0
- package/dist/training/contracts/index.d.ts +16 -0
- package/dist/training/contracts/index.js +8 -0
- package/dist/training/contracts/index.js.map +1 -0
- package/dist/training/contracts/inference-grants.d.ts +34 -0
- package/dist/training/contracts/inference-grants.js +2 -0
- package/dist/training/contracts/inference-grants.js.map +1 -0
- package/dist/training/contracts/inference-registry.d.ts +38 -0
- package/dist/training/contracts/inference-registry.js +7 -0
- package/dist/training/contracts/inference-registry.js.map +1 -0
- package/dist/training/contracts/training-config.d.ts +95 -0
- package/dist/training/contracts/training-config.js +15 -0
- package/dist/training/contracts/training-config.js.map +1 -0
- package/dist/training/contracts/trial-slot.d.ts +12 -0
- package/dist/training/contracts/trial-slot.js +2 -0
- package/dist/training/contracts/trial-slot.js.map +1 -0
- package/dist/training/dspy/AGENTS.md +29 -0
- package/dist/training/dspy/README.md +206 -0
- package/dist/training/dspy/protocol.md +311 -0
- package/dist/training/dspy/pyproject.toml +36 -0
- package/dist/training/dspy/requirements.lock +69 -0
- package/dist/training/dspy/spawnfile_training_dspy/AGENTS.md +63 -0
- package/dist/training/dspy/spawnfile_training_dspy/__init__.py +6 -0
- package/dist/training/dspy/spawnfile_training_dspy/checkpoint.py +146 -0
- package/dist/training/dspy/spawnfile_training_dspy/legacy_wire_aliases.json +90 -0
- package/dist/training/dspy/spawnfile_training_dspy/main.py +36 -0
- package/dist/training/dspy/spawnfile_training_dspy/native.py +89 -0
- package/dist/training/dspy/spawnfile_training_dspy/optimizer.py +74 -0
- package/dist/training/dspy/spawnfile_training_dspy/proposal_history.py +275 -0
- package/dist/training/dspy/spawnfile_training_dspy/protocol.py +149 -0
- package/dist/training/dspy/spawnfile_training_dspy/reflection.py +199 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/AGENTS.md +41 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/__init__.py +1 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/behavior_change.py +152 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/boundaries.py +38 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/instruction_text.py +47 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/population.py +213 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/selection.py +24 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/variants.py +83 -0
- package/dist/training/dspy/spawnfile_training_dspy/session.py +116 -0
- package/dist/training/dspy/spawnfile_training_dspy/transport.py +129 -0
- package/dist/training/evaluation/atomic-grader.d.ts +5 -0
- package/dist/training/evaluation/atomic-grader.js +55 -0
- package/dist/training/evaluation/atomic-grader.js.map +1 -0
- package/dist/training/evaluation/embedding/index.d.ts +1 -0
- package/dist/training/evaluation/embedding/index.js +2 -0
- package/dist/training/evaluation/embedding/index.js.map +1 -0
- package/dist/training/evaluation/embedding/similarity.d.ts +4 -0
- package/dist/training/evaluation/embedding/similarity.js +38 -0
- package/dist/training/evaluation/embedding/similarity.js.map +1 -0
- package/dist/training/evaluation/engine.d.ts +6 -0
- package/dist/training/evaluation/engine.js +191 -0
- package/dist/training/evaluation/engine.js.map +1 -0
- package/dist/training/evaluation/grader.d.ts +4 -0
- package/dist/training/evaluation/grader.js +67 -0
- package/dist/training/evaluation/grader.js.map +1 -0
- package/dist/training/evaluation/index.d.ts +10 -0
- package/dist/training/evaluation/index.js +9 -0
- package/dist/training/evaluation/index.js.map +1 -0
- package/dist/training/evaluation/logic/index.d.ts +1 -0
- package/dist/training/evaluation/logic/index.js +2 -0
- package/dist/training/evaluation/logic/index.js.map +1 -0
- package/dist/training/evaluation/logic/results.d.ts +7 -0
- package/dist/training/evaluation/logic/results.js +70 -0
- package/dist/training/evaluation/logic/results.js.map +1 -0
- package/dist/training/evaluation/mechanical/index.d.ts +6 -0
- package/dist/training/evaluation/mechanical/index.js +7 -0
- package/dist/training/evaluation/mechanical/index.js.map +1 -0
- package/dist/training/evaluation/mechanical/predicates.d.ts +2 -0
- package/dist/training/evaluation/mechanical/predicates.js +27 -0
- package/dist/training/evaluation/mechanical/predicates.js.map +1 -0
- package/dist/training/evaluation/mechanical/sequence.d.ts +3 -0
- package/dist/training/evaluation/mechanical/sequence.js +75 -0
- package/dist/training/evaluation/mechanical/sequence.js.map +1 -0
- package/dist/training/evaluation/mechanical/text-checks.d.ts +3 -0
- package/dist/training/evaluation/mechanical/text-checks.js +65 -0
- package/dist/training/evaluation/mechanical/text-checks.js.map +1 -0
- package/dist/training/evaluation/mechanical/text-values.d.ts +7 -0
- package/dist/training/evaluation/mechanical/text-values.js +28 -0
- package/dist/training/evaluation/mechanical/text-values.js.map +1 -0
- package/dist/training/evaluation/mechanical/text.d.ts +3 -0
- package/dist/training/evaluation/mechanical/text.js +40 -0
- package/dist/training/evaluation/mechanical/text.js.map +1 -0
- package/dist/training/evaluation/mechanical/token-efficiency.d.ts +4 -0
- package/dist/training/evaluation/mechanical/token-efficiency.js +28 -0
- package/dist/training/evaluation/mechanical/token-efficiency.js.map +1 -0
- package/dist/training/evaluation/mechanical/tools.d.ts +3 -0
- package/dist/training/evaluation/mechanical/tools.js +39 -0
- package/dist/training/evaluation/mechanical/tools.js.map +1 -0
- package/dist/training/evaluation/registry.d.ts +4 -0
- package/dist/training/evaluation/registry.js +64 -0
- package/dist/training/evaluation/registry.js.map +1 -0
- package/dist/training/evaluation/repair.d.ts +14 -0
- package/dist/training/evaluation/repair.js +73 -0
- package/dist/training/evaluation/repair.js.map +1 -0
- package/dist/training/evaluation/schedule.d.ts +21 -0
- package/dist/training/evaluation/schedule.js +98 -0
- package/dist/training/evaluation/schedule.js.map +1 -0
- package/dist/training/evaluation/selectors.d.ts +22 -0
- package/dist/training/evaluation/selectors.js +61 -0
- package/dist/training/evaluation/selectors.js.map +1 -0
- package/dist/training/evaluation/semantic/attempts.d.ts +12 -0
- package/dist/training/evaluation/semantic/attempts.js +71 -0
- package/dist/training/evaluation/semantic/attempts.js.map +1 -0
- package/dist/training/evaluation/semantic/cache.d.ts +9 -0
- package/dist/training/evaluation/semantic/cache.js +40 -0
- package/dist/training/evaluation/semantic/cache.js.map +1 -0
- package/dist/training/evaluation/semantic/evidence-units.d.ts +14 -0
- package/dist/training/evaluation/semantic/evidence-units.js +58 -0
- package/dist/training/evaluation/semantic/evidence-units.js.map +1 -0
- package/dist/training/evaluation/semantic/failure.d.ts +30 -0
- package/dist/training/evaluation/semantic/failure.js +79 -0
- package/dist/training/evaluation/semantic/failure.js.map +1 -0
- package/dist/training/evaluation/semantic/index.d.ts +5 -0
- package/dist/training/evaluation/semantic/index.js +5 -0
- package/dist/training/evaluation/semantic/index.js.map +1 -0
- package/dist/training/evaluation/semantic/judgment.d.ts +21 -0
- package/dist/training/evaluation/semantic/judgment.js +50 -0
- package/dist/training/evaluation/semantic/judgment.js.map +1 -0
- package/dist/training/evaluation/semantic/protocol.d.ts +118 -0
- package/dist/training/evaluation/semantic/protocol.js +48 -0
- package/dist/training/evaluation/semantic/protocol.js.map +1 -0
- package/dist/training/evaluation/semantic/rubric.d.ts +3 -0
- package/dist/training/evaluation/semantic/rubric.js +202 -0
- package/dist/training/evaluation/semantic/rubric.js.map +1 -0
- package/dist/training/evaluation/semantic/templates.d.ts +7 -0
- package/dist/training/evaluation/semantic/templates.js +75 -0
- package/dist/training/evaluation/semantic/templates.js.map +1 -0
- package/dist/training/experiments/comparison/index.d.ts +2 -0
- package/dist/training/experiments/comparison/index.js +2 -0
- package/dist/training/experiments/comparison/index.js.map +1 -0
- package/dist/training/experiments/comparison/run.d.ts +3 -0
- package/dist/training/experiments/comparison/run.js +92 -0
- package/dist/training/experiments/comparison/run.js.map +1 -0
- package/dist/training/experiments/comparison/types.d.ts +39 -0
- package/dist/training/experiments/comparison/types.js +2 -0
- package/dist/training/experiments/comparison/types.js.map +1 -0
- package/dist/training/experiments/concurrency/index.d.ts +2 -0
- package/dist/training/experiments/concurrency/index.js +2 -0
- package/dist/training/experiments/concurrency/index.js.map +1 -0
- package/dist/training/experiments/concurrency/slots.d.ts +50 -0
- package/dist/training/experiments/concurrency/slots.js +120 -0
- package/dist/training/experiments/concurrency/slots.js.map +1 -0
- package/dist/training/experiments/costs/assumptions.d.ts +4 -0
- package/dist/training/experiments/costs/assumptions.js +18 -0
- package/dist/training/experiments/costs/assumptions.js.map +1 -0
- package/dist/training/experiments/costs/catalog.d.ts +3 -0
- package/dist/training/experiments/costs/catalog.js +24 -0
- package/dist/training/experiments/costs/catalog.js.map +1 -0
- package/dist/training/experiments/costs/config.d.ts +6 -0
- package/dist/training/experiments/costs/config.js +22 -0
- package/dist/training/experiments/costs/config.js.map +1 -0
- package/dist/training/experiments/costs/decisions.d.ts +5 -0
- package/dist/training/experiments/costs/decisions.js +48 -0
- package/dist/training/experiments/costs/decisions.js.map +1 -0
- package/dist/training/experiments/costs/index.d.ts +9 -0
- package/dist/training/experiments/costs/index.js +7 -0
- package/dist/training/experiments/costs/index.js.map +1 -0
- package/dist/training/experiments/costs/planning.d.ts +71 -0
- package/dist/training/experiments/costs/planning.js +140 -0
- package/dist/training/experiments/costs/planning.js.map +1 -0
- package/dist/training/experiments/costs/report.d.ts +71 -0
- package/dist/training/experiments/costs/report.js +269 -0
- package/dist/training/experiments/costs/report.js.map +1 -0
- package/dist/training/experiments/costs/types.d.ts +53 -0
- package/dist/training/experiments/costs/types.js +2 -0
- package/dist/training/experiments/costs/types.js.map +1 -0
- package/dist/training/experiments/costs/valuation.d.ts +3 -0
- package/dist/training/experiments/costs/valuation.js +124 -0
- package/dist/training/experiments/costs/valuation.js.map +1 -0
- package/dist/training/experiments/index.d.ts +12 -0
- package/dist/training/experiments/index.js +12 -0
- package/dist/training/experiments/index.js.map +1 -0
- package/dist/training/experiments/repair/import.d.ts +21 -0
- package/dist/training/experiments/repair/import.js +104 -0
- package/dist/training/experiments/repair/import.js.map +1 -0
- package/dist/training/experiments/repair/index.d.ts +6 -0
- package/dist/training/experiments/repair/index.js +5 -0
- package/dist/training/experiments/repair/index.js.map +1 -0
- package/dist/training/experiments/repair/measurement.d.ts +14 -0
- package/dist/training/experiments/repair/measurement.js +101 -0
- package/dist/training/experiments/repair/measurement.js.map +1 -0
- package/dist/training/experiments/repair/projection.d.ts +3 -0
- package/dist/training/experiments/repair/projection.js +63 -0
- package/dist/training/experiments/repair/projection.js.map +1 -0
- package/dist/training/experiments/repair/receipt.d.ts +43 -0
- package/dist/training/experiments/repair/receipt.js +52 -0
- package/dist/training/experiments/repair/receipt.js.map +1 -0
- package/dist/training/experiments/repair/record.d.ts +4 -0
- package/dist/training/experiments/repair/record.js +24 -0
- package/dist/training/experiments/repair/record.js.map +1 -0
- package/dist/training/experiments/replay/fixture.d.ts +10 -0
- package/dist/training/experiments/replay/fixture.js +53 -0
- package/dist/training/experiments/replay/fixture.js.map +1 -0
- package/dist/training/experiments/replay/index.d.ts +3 -0
- package/dist/training/experiments/replay/index.js +3 -0
- package/dist/training/experiments/replay/index.js.map +1 -0
- package/dist/training/experiments/replay/rescore.d.ts +3 -0
- package/dist/training/experiments/replay/rescore.js +63 -0
- package/dist/training/experiments/replay/rescore.js.map +1 -0
- package/dist/training/experiments/replay/schema.d.ts +408 -0
- package/dist/training/experiments/replay/schema.js +126 -0
- package/dist/training/experiments/replay/schema.js.map +1 -0
- package/dist/training/experiments/replay/source.d.ts +6 -0
- package/dist/training/experiments/replay/source.js +35 -0
- package/dist/training/experiments/replay/source.js.map +1 -0
- package/dist/training/experiments/replay/subject-usage.d.ts +3 -0
- package/dist/training/experiments/replay/subject-usage.js +18 -0
- package/dist/training/experiments/replay/subject-usage.js.map +1 -0
- package/dist/training/experiments/replay/types.d.ts +63 -0
- package/dist/training/experiments/replay/types.js +2 -0
- package/dist/training/experiments/replay/types.js.map +1 -0
- package/dist/training/experiments/training/checkpoint.d.ts +51 -0
- package/dist/training/experiments/training/checkpoint.js +200 -0
- package/dist/training/experiments/training/checkpoint.js.map +1 -0
- package/dist/training/experiments/training/criteria.d.ts +3 -0
- package/dist/training/experiments/training/criteria.js +23 -0
- package/dist/training/experiments/training/criteria.js.map +1 -0
- package/dist/training/experiments/training/feedback.d.ts +15 -0
- package/dist/training/experiments/training/feedback.js +133 -0
- package/dist/training/experiments/training/feedback.js.map +1 -0
- package/dist/training/experiments/training/held-out.d.ts +24 -0
- package/dist/training/experiments/training/held-out.js +41 -0
- package/dist/training/experiments/training/held-out.js.map +1 -0
- package/dist/training/experiments/training/index.d.ts +7 -0
- package/dist/training/experiments/training/index.js +7 -0
- package/dist/training/experiments/training/index.js.map +1 -0
- package/dist/training/experiments/training/partition.d.ts +20 -0
- package/dist/training/experiments/training/partition.js +24 -0
- package/dist/training/experiments/training/partition.js.map +1 -0
- package/dist/training/experiments/training/recovery.d.ts +17 -0
- package/dist/training/experiments/training/recovery.js +54 -0
- package/dist/training/experiments/training/recovery.js.map +1 -0
- package/dist/training/experiments/training/retry.d.ts +14 -0
- package/dist/training/experiments/training/retry.js +16 -0
- package/dist/training/experiments/training/retry.js.map +1 -0
- package/dist/training/experiments/training/scoring.d.ts +4 -0
- package/dist/training/experiments/training/scoring.js +42 -0
- package/dist/training/experiments/training/scoring.js.map +1 -0
- package/dist/training/experiments/training/training.d.ts +85 -0
- package/dist/training/experiments/training/training.js +208 -0
- package/dist/training/experiments/training/training.js.map +1 -0
- package/dist/training/experiments/trials/bindings.d.ts +4 -0
- package/dist/training/experiments/trials/bindings.js +46 -0
- package/dist/training/experiments/trials/bindings.js.map +1 -0
- package/dist/training/experiments/trials/closure.d.ts +2 -0
- package/dist/training/experiments/trials/closure.js +26 -0
- package/dist/training/experiments/trials/closure.js.map +1 -0
- package/dist/training/experiments/trials/control.d.ts +13 -0
- package/dist/training/experiments/trials/control.js +74 -0
- package/dist/training/experiments/trials/control.js.map +1 -0
- package/dist/training/experiments/trials/diagnostics.d.ts +25 -0
- package/dist/training/experiments/trials/diagnostics.js +99 -0
- package/dist/training/experiments/trials/diagnostics.js.map +1 -0
- package/dist/training/experiments/trials/files.d.ts +8 -0
- package/dist/training/experiments/trials/files.js +113 -0
- package/dist/training/experiments/trials/files.js.map +1 -0
- package/dist/training/experiments/trials/fixture.d.ts +13 -0
- package/dist/training/experiments/trials/fixture.js +40 -0
- package/dist/training/experiments/trials/fixture.js.map +1 -0
- package/dist/training/experiments/trials/index.d.ts +5 -0
- package/dist/training/experiments/trials/index.js +5 -0
- package/dist/training/experiments/trials/index.js.map +1 -0
- package/dist/training/experiments/trials/live.d.ts +20 -0
- package/dist/training/experiments/trials/live.js +68 -0
- package/dist/training/experiments/trials/live.js.map +1 -0
- package/dist/training/experiments/trials/paths.d.ts +5 -0
- package/dist/training/experiments/trials/paths.js +90 -0
- package/dist/training/experiments/trials/paths.js.map +1 -0
- package/dist/training/experiments/trials/preflight.d.ts +3 -0
- package/dist/training/experiments/trials/preflight.js +23 -0
- package/dist/training/experiments/trials/preflight.js.map +1 -0
- package/dist/training/experiments/trials/stored.d.ts +23 -0
- package/dist/training/experiments/trials/stored.js +46 -0
- package/dist/training/experiments/trials/stored.js.map +1 -0
- package/dist/training/experiments/trials/subject-usage.d.ts +7 -0
- package/dist/training/experiments/trials/subject-usage.js +66 -0
- package/dist/training/experiments/trials/subject-usage.js.map +1 -0
- package/dist/training/experiments/trials/trial.d.ts +11 -0
- package/dist/training/experiments/trials/trial.js +361 -0
- package/dist/training/experiments/trials/trial.js.map +1 -0
- package/dist/training/experiments/trials/types.d.ts +124 -0
- package/dist/training/experiments/trials/types.js +2 -0
- package/dist/training/experiments/trials/types.js.map +1 -0
- package/dist/training/graders/admission.d.ts +11 -0
- package/dist/training/graders/admission.js +22 -0
- package/dist/training/graders/admission.js.map +1 -0
- package/dist/training/graders/aggregation.d.ts +30 -0
- package/dist/training/graders/aggregation.js +71 -0
- package/dist/training/graders/aggregation.js.map +1 -0
- package/dist/training/graders/atomic/aggregate.d.ts +10 -0
- package/dist/training/graders/atomic/aggregate.js +31 -0
- package/dist/training/graders/atomic/aggregate.js.map +1 -0
- package/dist/training/graders/atomic/feedback.d.ts +3 -0
- package/dist/training/graders/atomic/feedback.js +16 -0
- package/dist/training/graders/atomic/feedback.js.map +1 -0
- package/dist/training/graders/atomic/format.d.ts +61 -0
- package/dist/training/graders/atomic/format.js +53 -0
- package/dist/training/graders/atomic/format.js.map +1 -0
- package/dist/training/graders/atomic/index.d.ts +7 -0
- package/dist/training/graders/atomic/index.js +6 -0
- package/dist/training/graders/atomic/index.js.map +1 -0
- package/dist/training/graders/atomic/runtime.d.ts +4 -0
- package/dist/training/graders/atomic/runtime.js +94 -0
- package/dist/training/graders/atomic/runtime.js.map +1 -0
- package/dist/training/graders/atomic/schema.d.ts +5 -0
- package/dist/training/graders/atomic/schema.js +37 -0
- package/dist/training/graders/atomic/schema.js.map +1 -0
- package/dist/training/graders/atomic/types.d.ts +68 -0
- package/dist/training/graders/atomic/types.js +2 -0
- package/dist/training/graders/atomic/types.js.map +1 -0
- package/dist/training/graders/calibration/escalation.d.ts +50 -0
- package/dist/training/graders/calibration/escalation.js +145 -0
- package/dist/training/graders/calibration/escalation.js.map +1 -0
- package/dist/training/graders/calibration/fitting.d.ts +28 -0
- package/dist/training/graders/calibration/fitting.js +121 -0
- package/dist/training/graders/calibration/fitting.js.map +1 -0
- package/dist/training/graders/calibration/index.d.ts +7 -0
- package/dist/training/graders/calibration/index.js +5 -0
- package/dist/training/graders/calibration/index.js.map +1 -0
- package/dist/training/graders/calibration/metrics.d.ts +31 -0
- package/dist/training/graders/calibration/metrics.js +145 -0
- package/dist/training/graders/calibration/metrics.js.map +1 -0
- package/dist/training/graders/calibration/selection.d.ts +13 -0
- package/dist/training/graders/calibration/selection.js +30 -0
- package/dist/training/graders/calibration/selection.js.map +1 -0
- package/dist/training/graders/calibration/types.d.ts +68 -0
- package/dist/training/graders/calibration/types.js +2 -0
- package/dist/training/graders/calibration/types.js.map +1 -0
- package/dist/training/graders/consensus.d.ts +11 -0
- package/dist/training/graders/consensus.js +29 -0
- package/dist/training/graders/consensus.js.map +1 -0
- package/dist/training/graders/decomposition/evidence.d.ts +21 -0
- package/dist/training/graders/decomposition/evidence.js +107 -0
- package/dist/training/graders/decomposition/evidence.js.map +1 -0
- package/dist/training/graders/decomposition/format.d.ts +265 -0
- package/dist/training/graders/decomposition/format.js +98 -0
- package/dist/training/graders/decomposition/format.js.map +1 -0
- package/dist/training/graders/decomposition/index.d.ts +10 -0
- package/dist/training/graders/decomposition/index.js +6 -0
- package/dist/training/graders/decomposition/index.js.map +1 -0
- package/dist/training/graders/decomposition/instantiate.d.ts +26 -0
- package/dist/training/graders/decomposition/instantiate.js +129 -0
- package/dist/training/graders/decomposition/instantiate.js.map +1 -0
- package/dist/training/graders/decomposition/location.d.ts +20 -0
- package/dist/training/graders/decomposition/location.js +75 -0
- package/dist/training/graders/decomposition/location.js.map +1 -0
- package/dist/training/graders/decomposition/metadata.d.ts +8 -0
- package/dist/training/graders/decomposition/metadata.js +14 -0
- package/dist/training/graders/decomposition/metadata.js.map +1 -0
- package/dist/training/graders/decomposition/spans.d.ts +6 -0
- package/dist/training/graders/decomposition/spans.js +18 -0
- package/dist/training/graders/decomposition/spans.js.map +1 -0
- package/dist/training/graders/decomposition/transport.d.ts +76 -0
- package/dist/training/graders/decomposition/transport.js +14 -0
- package/dist/training/graders/decomposition/transport.js.map +1 -0
- package/dist/training/graders/format/binding.d.ts +3 -0
- package/dist/training/graders/format/binding.js +37 -0
- package/dist/training/graders/format/binding.js.map +1 -0
- package/dist/training/graders/format/common.d.ts +13 -0
- package/dist/training/graders/format/common.js +77 -0
- package/dist/training/graders/format/common.js.map +1 -0
- package/dist/training/graders/format/grader.d.ts +236 -0
- package/dist/training/graders/format/grader.js +161 -0
- package/dist/training/graders/format/grader.js.map +1 -0
- package/dist/training/graders/format/index.d.ts +11 -0
- package/dist/training/graders/format/index.js +8 -0
- package/dist/training/graders/format/index.js.map +1 -0
- package/dist/training/graders/format/label-import.d.ts +42 -0
- package/dist/training/graders/format/label-import.js +44 -0
- package/dist/training/graders/format/label-import.js.map +1 -0
- package/dist/training/graders/format/labels.d.ts +45 -0
- package/dist/training/graders/format/labels.js +109 -0
- package/dist/training/graders/format/labels.js.map +1 -0
- package/dist/training/graders/format/questions.d.ts +67 -0
- package/dist/training/graders/format/questions.js +104 -0
- package/dist/training/graders/format/questions.js.map +1 -0
- package/dist/training/graders/format/row-regex.d.ts +2 -0
- package/dist/training/graders/format/row-regex.js +56 -0
- package/dist/training/graders/format/row-regex.js.map +1 -0
- package/dist/training/graders/format/rows.d.ts +15 -0
- package/dist/training/graders/format/rows.js +31 -0
- package/dist/training/graders/format/rows.js.map +1 -0
- package/dist/training/graders/format/sentences.d.ts +2 -0
- package/dist/training/graders/format/sentences.js +30 -0
- package/dist/training/graders/format/sentences.js.map +1 -0
- package/dist/training/graders/identity-calibration.d.ts +4 -0
- package/dist/training/graders/identity-calibration.js +15 -0
- package/dist/training/graders/identity-calibration.js.map +1 -0
- package/dist/training/graders/identity.d.ts +119 -0
- package/dist/training/graders/identity.js +119 -0
- package/dist/training/graders/identity.js.map +1 -0
- package/dist/training/graders/index.d.ts +23 -0
- package/dist/training/graders/index.js +14 -0
- package/dist/training/graders/index.js.map +1 -0
- package/dist/training/graders/instances.d.ts +21 -0
- package/dist/training/graders/instances.js +121 -0
- package/dist/training/graders/instances.js.map +1 -0
- package/dist/training/graders/labeling/import.d.ts +8 -0
- package/dist/training/graders/labeling/import.js +51 -0
- package/dist/training/graders/labeling/import.js.map +1 -0
- package/dist/training/graders/labeling/index.d.ts +3 -0
- package/dist/training/graders/labeling/index.js +3 -0
- package/dist/training/graders/labeling/index.js.map +1 -0
- package/dist/training/graders/labeling/planning.d.ts +39 -0
- package/dist/training/graders/labeling/planning.js +117 -0
- package/dist/training/graders/labeling/planning.js.map +1 -0
- package/dist/training/graders/references/council.d.ts +2 -0
- package/dist/training/graders/references/council.js +182 -0
- package/dist/training/graders/references/council.js.map +1 -0
- package/dist/training/graders/references/index.d.ts +5 -0
- package/dist/training/graders/references/index.js +5 -0
- package/dist/training/graders/references/index.js.map +1 -0
- package/dist/training/graders/references/metrics.d.ts +133 -0
- package/dist/training/graders/references/metrics.js +113 -0
- package/dist/training/graders/references/metrics.js.map +1 -0
- package/dist/training/graders/references/policy.d.ts +10 -0
- package/dist/training/graders/references/policy.js +16 -0
- package/dist/training/graders/references/policy.js.map +1 -0
- package/dist/training/graders/references/protocol.d.ts +11 -0
- package/dist/training/graders/references/protocol.js +63 -0
- package/dist/training/graders/references/protocol.js.map +1 -0
- package/dist/training/graders/references/types.d.ts +92 -0
- package/dist/training/graders/references/types.js +2 -0
- package/dist/training/graders/references/types.js.map +1 -0
- package/dist/training/graders/rows.d.ts +14 -0
- package/dist/training/graders/rows.js +39 -0
- package/dist/training/graders/rows.js.map +1 -0
- package/dist/training/graders/runtime/accounting.d.ts +10 -0
- package/dist/training/graders/runtime/accounting.js +43 -0
- package/dist/training/graders/runtime/accounting.js.map +1 -0
- package/dist/training/graders/runtime/grade.d.ts +3 -0
- package/dist/training/graders/runtime/grade.js +161 -0
- package/dist/training/graders/runtime/grade.js.map +1 -0
- package/dist/training/graders/runtime/identity.d.ts +6 -0
- package/dist/training/graders/runtime/identity.js +24 -0
- package/dist/training/graders/runtime/identity.js.map +1 -0
- package/dist/training/graders/runtime/index.d.ts +5 -0
- package/dist/training/graders/runtime/index.js +5 -0
- package/dist/training/graders/runtime/index.js.map +1 -0
- package/dist/training/graders/runtime/schema.d.ts +29 -0
- package/dist/training/graders/runtime/schema.js +27 -0
- package/dist/training/graders/runtime/schema.js.map +1 -0
- package/dist/training/graders/runtime/teacher.d.ts +8 -0
- package/dist/training/graders/runtime/teacher.js +43 -0
- package/dist/training/graders/runtime/teacher.js.map +1 -0
- package/dist/training/graders/runtime/types.d.ts +48 -0
- package/dist/training/graders/runtime/types.js +2 -0
- package/dist/training/graders/runtime/types.js.map +1 -0
- package/dist/training/graders/traps/generate.d.ts +6 -0
- package/dist/training/graders/traps/generate.js +94 -0
- package/dist/training/graders/traps/generate.js.map +1 -0
- package/dist/training/graders/traps/index.d.ts +3 -0
- package/dist/training/graders/traps/index.js +3 -0
- package/dist/training/graders/traps/index.js.map +1 -0
- package/dist/training/graders/traps/mutations.d.ts +10 -0
- package/dist/training/graders/traps/mutations.js +48 -0
- package/dist/training/graders/traps/mutations.js.map +1 -0
- package/dist/training/graders/traps/types.d.ts +37 -0
- package/dist/training/graders/traps/types.js +2 -0
- package/dist/training/graders/traps/types.js.map +1 -0
- package/dist/training/graders/traps/validation.d.ts +4 -0
- package/dist/training/graders/traps/validation.js +118 -0
- package/dist/training/graders/traps/validation.js.map +1 -0
- package/dist/training/index.d.ts +17 -0
- package/dist/training/index.js +16 -0
- package/dist/training/index.js.map +1 -0
- package/dist/training/inference/claude/index.d.ts +1 -0
- package/dist/training/inference/claude/index.js +2 -0
- package/dist/training/inference/claude/index.js.map +1 -0
- package/dist/training/inference/claude/protocol.d.ts +16 -0
- package/dist/training/inference/claude/protocol.js +72 -0
- package/dist/training/inference/claude/protocol.js.map +1 -0
- package/dist/training/inference/claude/provider.d.ts +9 -0
- package/dist/training/inference/claude/provider.js +153 -0
- package/dist/training/inference/claude/provider.js.map +1 -0
- package/dist/training/inference/claude/refusal.d.ts +2 -0
- package/dist/training/inference/claude/refusal.js +37 -0
- package/dist/training/inference/claude/refusal.js.map +1 -0
- package/dist/training/inference/decision/http.d.ts +14 -0
- package/dist/training/inference/decision/http.js +57 -0
- package/dist/training/inference/decision/http.js.map +1 -0
- package/dist/training/inference/decision/index.d.ts +6 -0
- package/dist/training/inference/decision/index.js +6 -0
- package/dist/training/inference/decision/index.js.map +1 -0
- package/dist/training/inference/decision/jev.d.ts +4 -0
- package/dist/training/inference/decision/jev.js +163 -0
- package/dist/training/inference/decision/jev.js.map +1 -0
- package/dist/training/inference/decision/ollama.d.ts +9 -0
- package/dist/training/inference/decision/ollama.js +101 -0
- package/dist/training/inference/decision/ollama.js.map +1 -0
- package/dist/training/inference/decision/prompt.d.ts +6 -0
- package/dist/training/inference/decision/prompt.js +19 -0
- package/dist/training/inference/decision/prompt.js.map +1 -0
- package/dist/training/inference/decision/teacher.d.ts +7 -0
- package/dist/training/inference/decision/teacher.js +61 -0
- package/dist/training/inference/decision/teacher.js.map +1 -0
- package/dist/training/inference/decision/typesafe/index.d.ts +9 -0
- package/dist/training/inference/decision/typesafe/index.js +82 -0
- package/dist/training/inference/decision/typesafe/index.js.map +1 -0
- package/dist/training/inference/decision/typesafe/transport.d.ts +44 -0
- package/dist/training/inference/decision/typesafe/transport.js +151 -0
- package/dist/training/inference/decision/typesafe/transport.js.map +1 -0
- package/dist/training/inference/decision/typesafe/wire.d.ts +25 -0
- package/dist/training/inference/decision/typesafe/wire.js +49 -0
- package/dist/training/inference/decision/typesafe/wire.js.map +1 -0
- package/dist/training/inference/diagnostic.d.ts +3 -0
- package/dist/training/inference/diagnostic.js +14 -0
- package/dist/training/inference/diagnostic.js.map +1 -0
- package/dist/training/inference/evaluator/index.d.ts +3 -0
- package/dist/training/inference/evaluator/index.js +4 -0
- package/dist/training/inference/evaluator/index.js.map +1 -0
- package/dist/training/inference/evaluator/ledger.d.ts +29 -0
- package/dist/training/inference/evaluator/ledger.js +70 -0
- package/dist/training/inference/evaluator/ledger.js.map +1 -0
- package/dist/training/inference/evaluator/policy.d.ts +39 -0
- package/dist/training/inference/evaluator/policy.js +67 -0
- package/dist/training/inference/evaluator/policy.js.map +1 -0
- package/dist/training/inference/evaluator/provider.d.ts +6 -0
- package/dist/training/inference/evaluator/provider.js +45 -0
- package/dist/training/inference/evaluator/provider.js.map +1 -0
- package/dist/training/inference/failure.d.ts +27 -0
- package/dist/training/inference/failure.js +36 -0
- package/dist/training/inference/failure.js.map +1 -0
- package/dist/training/inference/index.d.ts +8 -0
- package/dist/training/inference/index.js +9 -0
- package/dist/training/inference/index.js.map +1 -0
- package/dist/training/inference/ollama/context.d.ts +2 -0
- package/dist/training/inference/ollama/context.js +28 -0
- package/dist/training/inference/ollama/context.js.map +1 -0
- package/dist/training/inference/ollama/index.d.ts +2 -0
- package/dist/training/inference/ollama/index.js +3 -0
- package/dist/training/inference/ollama/index.js.map +1 -0
- package/dist/training/inference/ollama/provider.d.ts +12 -0
- package/dist/training/inference/ollama/provider.js +100 -0
- package/dist/training/inference/ollama/provider.js.map +1 -0
- package/dist/training/inference/request-cap.d.ts +7 -0
- package/dist/training/inference/request-cap.js +22 -0
- package/dist/training/inference/request-cap.js.map +1 -0
- package/dist/training/inference/response-schema.d.ts +9 -0
- package/dist/training/inference/response-schema.js +54 -0
- package/dist/training/inference/response-schema.js.map +1 -0
- package/dist/training/inference/routing.d.ts +17 -0
- package/dist/training/inference/routing.js +152 -0
- package/dist/training/inference/routing.js.map +1 -0
- package/dist/training/optimization/boundaries.d.ts +8 -0
- package/dist/training/optimization/boundaries.js +31 -0
- package/dist/training/optimization/boundaries.js.map +1 -0
- package/dist/training/optimization/bridge-fixtures.d.ts +13 -0
- package/dist/training/optimization/bridge-fixtures.js +40 -0
- package/dist/training/optimization/bridge-fixtures.js.map +1 -0
- package/dist/training/optimization/bridge-identity.d.ts +8 -0
- package/dist/training/optimization/bridge-identity.js +110 -0
- package/dist/training/optimization/bridge-identity.js.map +1 -0
- package/dist/training/optimization/checkpoint.d.ts +35 -0
- package/dist/training/optimization/checkpoint.js +187 -0
- package/dist/training/optimization/checkpoint.js.map +1 -0
- package/dist/training/optimization/evidence.d.ts +4 -0
- package/dist/training/optimization/evidence.js +65 -0
- package/dist/training/optimization/evidence.js.map +1 -0
- package/dist/training/optimization/host.d.ts +27 -0
- package/dist/training/optimization/host.js +144 -0
- package/dist/training/optimization/host.js.map +1 -0
- package/dist/training/optimization/index.d.ts +8 -0
- package/dist/training/optimization/index.js +6 -0
- package/dist/training/optimization/index.js.map +1 -0
- package/dist/training/optimization/inference.d.ts +4 -0
- package/dist/training/optimization/inference.js +33 -0
- package/dist/training/optimization/inference.js.map +1 -0
- package/dist/training/optimization/population-evidence.d.ts +4 -0
- package/dist/training/optimization/population-evidence.js +152 -0
- package/dist/training/optimization/population-evidence.js.map +1 -0
- package/dist/training/optimization/protocol.d.ts +532 -0
- package/dist/training/optimization/protocol.js +146 -0
- package/dist/training/optimization/protocol.js.map +1 -0
- package/dist/training/optimization/runner.d.ts +5 -0
- package/dist/training/optimization/runner.js +129 -0
- package/dist/training/optimization/runner.js.map +1 -0
- package/dist/training/optimization/testSupport.d.ts +9 -0
- package/dist/training/optimization/testSupport.js +29 -0
- package/dist/training/optimization/testSupport.js.map +1 -0
- package/dist/training/optimization/types.d.ts +73 -0
- package/dist/training/optimization/types.js +11 -0
- package/dist/training/optimization/types.js.map +1 -0
- package/dist/training/platform/index.d.ts +1 -0
- package/dist/training/platform/index.js +2 -0
- package/dist/training/platform/index.js.map +1 -0
- package/dist/training/platform/mutations/index.d.ts +5 -0
- package/dist/training/platform/mutations/index.js +10 -0
- package/dist/training/platform/mutations/index.js.map +1 -0
- package/dist/training/platform/process/index.d.ts +1 -0
- package/dist/training/platform/process/index.js +2 -0
- package/dist/training/platform/process/index.js.map +1 -0
- package/dist/training/platform/process/runner.d.ts +32 -0
- package/dist/training/platform/process/runner.js +190 -0
- package/dist/training/platform/process/runner.js.map +1 -0
- package/dist/training/providers/index.d.ts +2 -0
- package/dist/training/providers/index.js +3 -0
- package/dist/training/providers/index.js.map +1 -0
- package/dist/training/providers/policy.d.ts +23 -0
- package/dist/training/providers/policy.js +27 -0
- package/dist/training/providers/policy.js.map +1 -0
- package/dist/training/providers/registry.d.ts +2 -0
- package/dist/training/providers/registry.js +62 -0
- package/dist/training/providers/registry.js.map +1 -0
- package/dist/training/storage/cache/index.d.ts +2 -0
- package/dist/training/storage/cache/index.js +2 -0
- package/dist/training/storage/cache/index.js.map +1 -0
- package/dist/training/storage/cache/persistent.d.ts +12 -0
- package/dist/training/storage/cache/persistent.js +124 -0
- package/dist/training/storage/cache/persistent.js.map +1 -0
- package/dist/training/storage/cache/schema.d.ts +2 -0
- package/dist/training/storage/cache/schema.js +62 -0
- package/dist/training/storage/cache/schema.js.map +1 -0
- package/dist/training/storage/content.d.ts +13 -0
- package/dist/training/storage/content.js +44 -0
- package/dist/training/storage/content.js.map +1 -0
- package/dist/training/storage/evaluation-json.d.ts +12 -0
- package/dist/training/storage/evaluation-json.js +46 -0
- package/dist/training/storage/evaluation-json.js.map +1 -0
- package/dist/training/storage/filesystem.d.ts +6 -0
- package/dist/training/storage/filesystem.js +95 -0
- package/dist/training/storage/filesystem.js.map +1 -0
- package/dist/training/storage/index.d.ts +6 -0
- package/dist/training/storage/index.js +5 -0
- package/dist/training/storage/index.js.map +1 -0
- package/dist/training/storage/journal.d.ts +11 -0
- package/dist/training/storage/journal.js +81 -0
- package/dist/training/storage/journal.js.map +1 -0
- package/dist/training/storage/permissions.d.ts +5 -0
- package/dist/training/storage/permissions.js +40 -0
- package/dist/training/storage/permissions.js.map +1 -0
- package/dist/training/storage/store.d.ts +2 -0
- package/dist/training/storage/store.js +162 -0
- package/dist/training/storage/store.js.map +1 -0
- package/dist/training/storage/types.d.ts +67 -0
- package/dist/training/storage/types.js +2 -0
- package/dist/training/storage/types.js.map +1 -0
- package/dist/training/subjects/environment.d.ts +2 -0
- package/dist/training/subjects/environment.js +14 -0
- package/dist/training/subjects/environment.js.map +1 -0
- package/dist/training/subjects/index.d.ts +3 -0
- package/dist/training/subjects/index.js +3 -0
- package/dist/training/subjects/index.js.map +1 -0
- package/dist/training/subjects/registry.d.ts +15 -0
- package/dist/training/subjects/registry.js +13 -0
- package/dist/training/subjects/registry.js.map +1 -0
- package/dist/training/testing/evidence.d.ts +6 -0
- package/dist/training/testing/evidence.js +21 -0
- package/dist/training/testing/evidence.js.map +1 -0
- package/dist/training/testing/index.d.ts +1 -0
- package/dist/training/testing/index.js +2 -0
- package/dist/training/testing/index.js.map +1 -0
- package/dist/training/viewer/cockpit/activity.d.ts +2 -0
- package/dist/training/viewer/cockpit/activity.js +14 -0
- package/dist/training/viewer/cockpit/activity.js.map +1 -0
- package/dist/training/viewer/cockpit/evidence.d.ts +4 -0
- package/dist/training/viewer/cockpit/evidence.js +58 -0
- package/dist/training/viewer/cockpit/evidence.js.map +1 -0
- package/dist/training/viewer/cockpit/format.d.ts +11 -0
- package/dist/training/viewer/cockpit/format.js +27 -0
- package/dist/training/viewer/cockpit/format.js.map +1 -0
- package/dist/training/viewer/cockpit/index.d.ts +4 -0
- package/dist/training/viewer/cockpit/index.js +5 -0
- package/dist/training/viewer/cockpit/index.js.map +1 -0
- package/dist/training/viewer/cockpit/interaction.d.ts +2 -0
- package/dist/training/viewer/cockpit/interaction.js +103 -0
- package/dist/training/viewer/cockpit/interaction.js.map +1 -0
- package/dist/training/viewer/cockpit/overview.d.ts +4 -0
- package/dist/training/viewer/cockpit/overview.js +62 -0
- package/dist/training/viewer/cockpit/overview.js.map +1 -0
- package/dist/training/viewer/cockpit/page.d.ts +2 -0
- package/dist/training/viewer/cockpit/page.js +39 -0
- package/dist/training/viewer/cockpit/page.js.map +1 -0
- package/dist/training/viewer/cockpit/plots.d.ts +6 -0
- package/dist/training/viewer/cockpit/plots.js +67 -0
- package/dist/training/viewer/cockpit/plots.js.map +1 -0
- package/dist/training/viewer/cockpit/responsive.d.ts +2 -0
- package/dist/training/viewer/cockpit/responsive.js +86 -0
- package/dist/training/viewer/cockpit/responsive.js.map +1 -0
- package/dist/training/viewer/cockpit/styles.d.ts +2 -0
- package/dist/training/viewer/cockpit/styles.js +349 -0
- package/dist/training/viewer/cockpit/styles.js.map +1 -0
- package/dist/training/viewer/costs.d.ts +4 -0
- package/dist/training/viewer/costs.js +81 -0
- package/dist/training/viewer/costs.js.map +1 -0
- package/dist/training/viewer/from-trials.d.ts +33 -0
- package/dist/training/viewer/from-trials.js +96 -0
- package/dist/training/viewer/from-trials.js.map +1 -0
- package/dist/training/viewer/index.d.ts +4 -0
- package/dist/training/viewer/index.js +4 -0
- package/dist/training/viewer/index.js.map +1 -0
- package/dist/training/viewer/metrics/candidates.d.ts +10 -0
- package/dist/training/viewer/metrics/candidates.js +56 -0
- package/dist/training/viewer/metrics/candidates.js.map +1 -0
- package/dist/training/viewer/metrics/index.d.ts +2 -0
- package/dist/training/viewer/metrics/index.js +2 -0
- package/dist/training/viewer/metrics/index.js.map +1 -0
- package/dist/training/viewer/metrics/model.d.ts +4 -0
- package/dist/training/viewer/metrics/model.js +11 -0
- package/dist/training/viewer/metrics/model.js.map +1 -0
- package/dist/training/viewer/metrics/recorded-costs.d.ts +4 -0
- package/dist/training/viewer/metrics/recorded-costs.js +55 -0
- package/dist/training/viewer/metrics/recorded-costs.js.map +1 -0
- package/dist/training/viewer/metrics/scores.d.ts +11 -0
- package/dist/training/viewer/metrics/scores.js +139 -0
- package/dist/training/viewer/metrics/scores.js.map +1 -0
- package/dist/training/viewer/metrics/types.d.ts +95 -0
- package/dist/training/viewer/metrics/types.js +2 -0
- package/dist/training/viewer/metrics/types.js.map +1 -0
- package/dist/training/viewer/page.d.ts +4 -0
- package/dist/training/viewer/page.js +7 -0
- package/dist/training/viewer/page.js.map +1 -0
- package/dist/training/viewer/projection.d.ts +3 -0
- package/dist/training/viewer/projection.js +98 -0
- package/dist/training/viewer/projection.js.map +1 -0
- package/dist/training/viewer/server.d.ts +3 -0
- package/dist/training/viewer/server.js +80 -0
- package/dist/training/viewer/server.js.map +1 -0
- package/dist/training/viewer/stream.d.ts +7 -0
- package/dist/training/viewer/stream.js +70 -0
- package/dist/training/viewer/stream.js.map +1 -0
- package/dist/training/viewer/types.d.ts +172 -0
- package/dist/training/viewer/types.js +2 -0
- package/dist/training/viewer/types.js.map +1 -0
- package/examples/training/AGENTS.md +19 -0
- package/examples/training/fixed-questions/AGENTS.md +7 -0
- package/examples/training/fixed-questions/README.md +19 -0
- package/examples/training/fixed-questions/evals/AGENTS.md +7 -0
- package/examples/training/fixed-questions/evals/delivery.spawnfile-training.yaml +33 -0
- package/examples/training/fixed-questions/evals/item.grader.yaml +41 -0
- package/examples/training/native-formatting/AGENTS.md +10 -0
- package/examples/training/native-formatting/PROMPT.md +4 -0
- package/examples/training/native-formatting/README.md +63 -0
- package/examples/training/native-formatting/SOUL.md +4 -0
- package/examples/training/native-formatting/evals/AGENTS.md +6 -0
- package/examples/training/native-formatting/evals/test.spawnfile-training.yaml +22 -0
- package/examples/training/native-formatting/evals/train.spawnfile-training.yaml +32 -0
- package/examples/training/newsroom-reporting/.spawnignore +4 -0
- package/examples/training/newsroom-reporting/AGENTS.md +24 -0
- package/examples/training/newsroom-reporting/README.md +255 -0
- package/examples/training/newsroom-reporting/Spawnfile +248 -0
- package/examples/training/newsroom-reporting/environment/AGENTS.md +14 -0
- package/examples/training/newsroom-reporting/environment/scribe/AGENTS.md +28 -0
- package/examples/training/newsroom-reporting/environment/scribe/RUNBOOK.md +50 -0
- package/examples/training/newsroom-reporting/environment/scribe/SOUL.md +6 -0
- package/examples/training/newsroom-reporting/evals/AGENTS.md +14 -0
- package/examples/training/newsroom-reporting/evals/test.spawnfile-training.yaml +165 -0
- package/examples/training/newsroom-reporting/evals/train.spawnfile-training.yaml +195 -0
- package/package.json +19 -6
- package/runtimes.yaml +6 -6
- package/dist/cli/paideiaDelegation.js +0 -211
- package/dist/cli/paideiaSupervisor.d.ts +0 -17
- package/dist/cli/paideiaSupervisor.js +0 -48
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { defaultInferenceProviders } from '../../providers/index.js';
|
|
2
|
+
import { fail, fields, number, object, oneOf, safePath, string, uniqueStrings } from '../validation.js';
|
|
3
|
+
function integer(value, path, min = 1, max = Number.MAX_SAFE_INTEGER) {
|
|
4
|
+
if (!Number.isSafeInteger(number(value, path, min, max)))
|
|
5
|
+
fail(path, 'expected an integer');
|
|
6
|
+
}
|
|
7
|
+
/** Validate controls without executing templates or contacting declared providers. */
|
|
8
|
+
export function validateTrainingConfiguration(value, path = '$.training', registry = defaultInferenceProviders) {
|
|
9
|
+
const config = object(value, path);
|
|
10
|
+
fields(config, ['models', 'judges', 'optimizer', 'comparison', 'budget', 'cache', 'recovery', 'scoring', 'test', 'validation', 'validation_groups', 'seed'], path);
|
|
11
|
+
const models = object(config.models, `${path}.models`);
|
|
12
|
+
if (!Object.keys(models).length)
|
|
13
|
+
fail(`${path}.models`, 'requires a named model');
|
|
14
|
+
for (const [name, value] of Object.entries(models)) {
|
|
15
|
+
const location = `${path}.models.${name}`;
|
|
16
|
+
string(name, location);
|
|
17
|
+
const model = object(value, location);
|
|
18
|
+
fields(model, ['provider', 'model', 'endpoint', 'reasoning_effort', 'think', 'keep_alive_seconds', 'max_output_tokens', 'context_window'], location);
|
|
19
|
+
oneOf(model.provider, Object.keys(registry.providers), `${location}.provider`);
|
|
20
|
+
registry.providers[model.provider].validate(model, location);
|
|
21
|
+
}
|
|
22
|
+
function route(value, location, judge = false) {
|
|
23
|
+
const policy = object(value, location);
|
|
24
|
+
fields(policy, ['model', 'fallbacks', 'attempts', 'timeout_ms', ...(judge ? ['template', 'citation_repairs', 'protocol'] : ['proposal', 'method', 'variants', 'keep', 'budget', 'selection', 'boundaries', 'patience'])], location);
|
|
25
|
+
const primary = string(policy.model, `${location}.model`);
|
|
26
|
+
const fallbacks = policy.fallbacks === undefined ? [] : uniqueStrings(policy.fallbacks, `${location}.fallbacks`);
|
|
27
|
+
if (fallbacks.includes(primary))
|
|
28
|
+
fail(`${location}.fallbacks`, 'primary model cannot be its own fallback');
|
|
29
|
+
for (const name of [primary, ...fallbacks])
|
|
30
|
+
if (!Object.hasOwn(models, name))
|
|
31
|
+
fail(location, `unknown model ${name}`);
|
|
32
|
+
const providers = new Set([primary, ...fallbacks].map(name => models[name].provider));
|
|
33
|
+
for (const id of providers) {
|
|
34
|
+
const descriptor = registry.providers[id];
|
|
35
|
+
if (descriptor.incompatibleWith?.some(other => providers.has(other)))
|
|
36
|
+
fail(location, descriptor.incompatibilityReason ?? 'provider routes cannot fall back to an incompatible provider');
|
|
37
|
+
}
|
|
38
|
+
if (policy.attempts !== undefined)
|
|
39
|
+
integer(policy.attempts, `${location}.attempts`, 1, Math.min(10, 1 + fallbacks.length));
|
|
40
|
+
if (policy.timeout_ms !== undefined)
|
|
41
|
+
integer(policy.timeout_ms, `${location}.timeout_ms`, 1, 3_600_000);
|
|
42
|
+
if (policy.citation_repairs !== undefined)
|
|
43
|
+
oneOf(policy.citation_repairs, [0, 1], `${location}.citation_repairs`);
|
|
44
|
+
if (policy.protocol !== undefined)
|
|
45
|
+
oneOf(policy.protocol, ['citations', 'evidence-ids'], `${location}.protocol`);
|
|
46
|
+
if (policy.protocol === 'evidence-ids' && policy.citation_repairs === 1)
|
|
47
|
+
fail(`${location}.citation_repairs`, 'citation repair is not supported for evidence-ids');
|
|
48
|
+
if (policy.proposal !== undefined) {
|
|
49
|
+
const proposal = object(policy.proposal, `${location}.proposal`);
|
|
50
|
+
fields(proposal, ['strategy', 'min_change', 'rewrite_share', 'hypothesis_similarity', 'max_attempts', 'history_entries', 'history_bytes'], `${location}.proposal`);
|
|
51
|
+
if (proposal.strategy !== undefined)
|
|
52
|
+
oneOf(proposal.strategy, ['refine', 'rewrite'], `${location}.proposal.strategy`);
|
|
53
|
+
for (const field of ['min_change', 'rewrite_share', 'hypothesis_similarity']) {
|
|
54
|
+
if (proposal[field] !== undefined)
|
|
55
|
+
number(proposal[field], `${location}.proposal.${field}`, 0, 1);
|
|
56
|
+
}
|
|
57
|
+
for (const [field, min, max] of [['max_attempts', 1, 5], ['history_entries', 1, 100], ['history_bytes', 1024, 262144]]) {
|
|
58
|
+
if (proposal[field] !== undefined)
|
|
59
|
+
integer(proposal[field], `${location}.proposal.${field}`, min, max);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (!judge) {
|
|
63
|
+
if (policy.method !== undefined)
|
|
64
|
+
oneOf(policy.method, ['gepa'], `${location}.method`);
|
|
65
|
+
for (const field of ['variants', 'keep', 'patience']) {
|
|
66
|
+
if (policy[field] !== undefined)
|
|
67
|
+
integer(policy[field], `${location}.${field}`);
|
|
68
|
+
}
|
|
69
|
+
if (policy.selection !== undefined)
|
|
70
|
+
oneOf(policy.selection, ['pareto', 'top-k'], `${location}.selection`);
|
|
71
|
+
if (policy.budget !== undefined) {
|
|
72
|
+
const budget = object(policy.budget, `${location}.budget`);
|
|
73
|
+
fields(budget, ['rounds'], `${location}.budget`);
|
|
74
|
+
integer(budget.rounds, `${location}.budget.rounds`);
|
|
75
|
+
}
|
|
76
|
+
if (policy.boundaries !== undefined) {
|
|
77
|
+
if (!Array.isArray(policy.boundaries) || policy.boundaries.length > 50)
|
|
78
|
+
fail(`${location}.boundaries`, 'expected at most 50 strings');
|
|
79
|
+
for (const [index, boundary] of policy.boundaries.entries()) {
|
|
80
|
+
if (string(boundary, `${location}.boundaries[${index}]`).length > 500)
|
|
81
|
+
fail(`${location}.boundaries[${index}]`, 'expected 1..500 characters');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (policy.variants !== undefined) {
|
|
85
|
+
integer(policy.keep, `${location}.keep`, 1, policy.variants);
|
|
86
|
+
if (policy.budget === undefined)
|
|
87
|
+
fail(`${location}.budget.rounds`, 'required when variants is present');
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
for (const field of ['keep', 'budget', 'selection', 'boundaries', 'patience']) {
|
|
91
|
+
if (policy[field] !== undefined)
|
|
92
|
+
fail(`${location}.${field}`, 'requires optimizer.variants');
|
|
93
|
+
}
|
|
94
|
+
const proposal = policy.proposal;
|
|
95
|
+
for (const field of ['rewrite_share', 'hypothesis_similarity']) {
|
|
96
|
+
if (proposal?.[field] !== undefined)
|
|
97
|
+
fail(`${location}.proposal.${field}`, 'requires optimizer.variants');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (policy.template !== undefined) {
|
|
102
|
+
const template = object(policy.template, `${location}.template`);
|
|
103
|
+
fields(template, ['language', 'text'], `${location}.template`);
|
|
104
|
+
oneOf(template.language, ['jinja'], `${location}.template.language`);
|
|
105
|
+
string(template.text, `${location}.template.text`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
if (config.judges !== undefined) {
|
|
109
|
+
for (const [name, value] of Object.entries(object(config.judges, `${path}.judges`))) {
|
|
110
|
+
string(name, `${path}.judges`);
|
|
111
|
+
route(value, `${path}.judges.${name}`, true);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (config.comparison !== undefined) {
|
|
115
|
+
const comparison = object(config.comparison, `${path}.comparison`);
|
|
116
|
+
fields(comparison, ['candidate'], `${path}.comparison`);
|
|
117
|
+
const candidate = object(comparison.candidate, `${path}.comparison.candidate`);
|
|
118
|
+
fields(candidate, ['name', 'replacements'], `${path}.comparison.candidate`);
|
|
119
|
+
const name = string(candidate.name, `${path}.comparison.candidate.name`);
|
|
120
|
+
if (!name.trim() || name.length > 120)
|
|
121
|
+
fail(`${path}.comparison.candidate.name`, 'expected 1..120 characters');
|
|
122
|
+
if (!Array.isArray(candidate.replacements) || !candidate.replacements.length || candidate.replacements.length > 128) {
|
|
123
|
+
fail(`${path}.comparison.candidate.replacements`, 'requires 1..128 resource replacements');
|
|
124
|
+
}
|
|
125
|
+
const resources = new Set();
|
|
126
|
+
for (const [index, value] of candidate.replacements.entries()) {
|
|
127
|
+
const location = `${path}.comparison.candidate.replacements[${index}]`;
|
|
128
|
+
const row = object(value, location);
|
|
129
|
+
fields(row, ['resource', 'source'], location);
|
|
130
|
+
const resource = safePath(row.resource, `${location}.resource`);
|
|
131
|
+
safePath(row.source, `${location}.source`);
|
|
132
|
+
if (resources.has(resource))
|
|
133
|
+
fail(location, 'duplicate comparison resource');
|
|
134
|
+
resources.add(resource);
|
|
135
|
+
}
|
|
136
|
+
if (config.optimizer !== undefined)
|
|
137
|
+
fail(`${path}.optimizer`, 'comparison does not run an optimizer');
|
|
138
|
+
if (config.budget !== undefined && Object.hasOwn(object(config.budget, `${path}.budget`), 'max_proposals')) {
|
|
139
|
+
fail(`${path}.budget.max_proposals`, 'comparison has no proposals; omit this field');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (config.optimizer !== undefined)
|
|
143
|
+
route(config.optimizer, `${path}.optimizer`);
|
|
144
|
+
if (config.budget !== undefined) {
|
|
145
|
+
const budget = object(config.budget, `${path}.budget`);
|
|
146
|
+
fields(budget, ['trial_retries', 'test_repeats', 'max_trials', 'max_proposals', 'timeout_ms', 'experiment_timeout_ms', 'trial_timeout_ms'], `${path}.budget`);
|
|
147
|
+
for (const [key, value] of Object.entries(budget)) {
|
|
148
|
+
const maximum = key === 'timeout_ms' || key === 'experiment_timeout_ms' ? 604_800_000
|
|
149
|
+
: key === 'trial_retries' ? 3 : key === 'test_repeats' ? 8 : key === 'trial_timeout_ms' ? 86_400_000 : key === 'max_trials' ? 10_000 : 1000;
|
|
150
|
+
integer(value, `${path}.budget.${key}`, key === 'trial_retries' ? 0 : 1, maximum);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (config.comparison !== undefined && config.budget?.test_repeats !== undefined
|
|
154
|
+
&& config.budget.test_repeats !== 1) {
|
|
155
|
+
fail(`${path}.budget.test_repeats`, 'repeats are supported for optimizer training only');
|
|
156
|
+
}
|
|
157
|
+
if (config.comparison !== undefined && (config.budget?.trial_retries ?? 0) !== 0) {
|
|
158
|
+
fail(`${path}.budget.trial_retries`, 'retries are supported for optimizer training only');
|
|
159
|
+
}
|
|
160
|
+
const optimizer = config.optimizer;
|
|
161
|
+
const maxProposals = config.budget?.max_proposals;
|
|
162
|
+
if (optimizer?.variants !== undefined && maxProposals !== undefined && maxProposals < optimizer.variants + optimizer.keep) {
|
|
163
|
+
fail(`${path}.budget.max_proposals`, 'must be at least optimizer.keep + optimizer.variants');
|
|
164
|
+
}
|
|
165
|
+
if (config.cache !== undefined) {
|
|
166
|
+
const cache = object(config.cache, `${path}.cache`);
|
|
167
|
+
fields(cache, ['mode', 'max_entries', 'namespace', 'directory'], `${path}.cache`);
|
|
168
|
+
oneOf(cache.mode, ['off', 'exact', 'persistent'], `${path}.cache.mode`);
|
|
169
|
+
if (cache.mode === 'persistent') {
|
|
170
|
+
const namespace = string(cache.namespace, `${path}.cache.namespace`);
|
|
171
|
+
if (!namespace.trim())
|
|
172
|
+
fail(`${path}.cache.namespace`, 'namespace cannot be whitespace');
|
|
173
|
+
if (namespace.length > 512)
|
|
174
|
+
fail(`${path}.cache.namespace`, 'namespace exceeds 512 characters');
|
|
175
|
+
if (cache.directory !== undefined)
|
|
176
|
+
safePath(cache.directory, `${path}.cache.directory`);
|
|
177
|
+
}
|
|
178
|
+
else if (cache.namespace !== undefined || cache.directory !== undefined)
|
|
179
|
+
fail(`${path}.cache`, 'namespace and directory require persistent mode');
|
|
180
|
+
if (cache.max_entries !== undefined)
|
|
181
|
+
integer(cache.max_entries, `${path}.cache.max_entries`, 1, 10_000);
|
|
182
|
+
}
|
|
183
|
+
if (config.scoring !== undefined) {
|
|
184
|
+
const scoring = object(config.scoring, `${path}.scoring`);
|
|
185
|
+
fields(scoring, ['deferred'], `${path}.scoring`);
|
|
186
|
+
if (scoring.deferred !== undefined)
|
|
187
|
+
oneOf(scoring.deferred, ['zero', 'stage-score'], `${path}.scoring.deferred`);
|
|
188
|
+
}
|
|
189
|
+
if (config.recovery !== undefined) {
|
|
190
|
+
const recovery = object(config.recovery, `${path}.recovery`);
|
|
191
|
+
fields(recovery, ['max_attempts'], `${path}.recovery`);
|
|
192
|
+
if (recovery.max_attempts !== undefined)
|
|
193
|
+
integer(recovery.max_attempts, `${path}.recovery.max_attempts`, 0, 10);
|
|
194
|
+
}
|
|
195
|
+
if (config.test !== undefined)
|
|
196
|
+
safePath(config.test, `${path}.test`);
|
|
197
|
+
if (config.validation !== undefined)
|
|
198
|
+
safePath(config.validation, `${path}.validation`);
|
|
199
|
+
if (config.validation !== undefined && config.validation_groups !== undefined)
|
|
200
|
+
fail(path, 'validation and validation_groups are mutually exclusive');
|
|
201
|
+
if (config.validation_groups !== undefined)
|
|
202
|
+
uniqueStrings(config.validation_groups, `${path}.validation_groups`);
|
|
203
|
+
if (config.seed !== undefined)
|
|
204
|
+
integer(config.seed, `${path}.seed`, 0);
|
|
205
|
+
return structuredClone(config);
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/training/cases/training/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExG,SAAS,OAAO,CAAC,KAAc,EAAE,IAAY,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,gBAAgB;IACnF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAAE,IAAI,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAC9F,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAAC,KAAc,EAAE,IAAI,GAAG,YAAY,EAAE,WAAsC,yBAAyB;IAChJ,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;IACnK,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;QAAE,IAAI,CAAC,GAAG,IAAI,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,GAAG,IAAI,WAAW,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;QACrJ,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;QAC/E,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAkB,CAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;IACD,SAAS,KAAK,CAAC,KAAc,EAAE,QAAgB,EAAE,KAAK,GAAG,KAAK;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACpO,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,QAAQ,YAAY,CAAC,CAAC;QACjH,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,GAAG,QAAQ,YAAY,EAAE,0CAA0C,CAAC,CAAC;QAC3G,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;gBAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;QACtH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,MAAM,CAAC,IAAI,CAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClH,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAY,CAAE,CAAC;YACrD,IAAI,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,qBAAqB,IAAI,8DAA8D,CAAC,CAAC;QAC3L,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3H,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,QAAQ,aAAa,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QACxG,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,QAAQ,mBAAmB,CAAC,CAAC;QAClH,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;QACjH,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC,gBAAgB,KAAK,CAAC;YAAE,IAAI,CAAC,GAAG,QAAQ,mBAAmB,EAAE,mDAAmD,CAAC,CAAC;QACnK,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;YACjE,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,CAAC,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;YACnK,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,GAAG,QAAQ,oBAAoB,CAAC,CAAC;YACtH,KAAK,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE,uBAAuB,CAAC,EAAE,CAAC;gBAC7E,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS;oBAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,QAAQ,aAAa,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpG,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,CAAU,EAAE,CAAC;gBAChI,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS;oBAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,QAAQ,aAAa,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACzG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;YACtF,KAAK,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;gBACrD,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;oBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;YAClF,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,YAAY,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;gBAC3D,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;gBACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE;oBAAE,IAAI,CAAC,GAAG,QAAQ,aAAa,EAAE,6BAA6B,CAAC,CAAC;gBACtI,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAK,MAAM,CAAC,UAAwB,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3E,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,eAAe,KAAK,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG;wBAAE,IAAI,CAAC,GAAG,QAAQ,eAAe,KAAK,GAAG,EAAE,4BAA4B,CAAC,CAAC;gBAChJ,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,QAAQ,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,QAAkB,CAAC,CAAC;gBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;oBAAE,IAAI,CAAC,GAAG,QAAQ,gBAAgB,EAAE,mCAAmC,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,CAAC;oBAC9E,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;wBAAE,IAAI,CAAC,GAAG,QAAQ,IAAI,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA+C,CAAC;gBACxE,KAAK,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE,uBAAuB,CAAC,EAAE,CAAC;oBAC/D,IAAI,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,SAAS;wBAAE,IAAI,CAAC,GAAG,QAAQ,aAAa,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAC;gBAC5G,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;YACjE,MAAM,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;YAC/D,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,oBAAoB,CAAC,CAAC;YACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;YAC/B,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;QACnE,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC;QAC/E,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,4BAA4B,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG;YAAE,IAAI,CAAC,GAAG,IAAI,4BAA4B,EAAE,4BAA4B,CAAC,CAAC;QAC/G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpH,IAAI,CAAC,GAAG,IAAI,oCAAoC,EAAE,uCAAuC,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAK,SAAS,CAAC,YAA0B,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7E,MAAM,QAAQ,GAAG,GAAG,IAAI,sCAAsC,KAAK,GAAG,CAAC;YACvE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;YAChE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;YAC3C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;YAC7E,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,IAAI,YAAY,EAAE,sCAAsC,CAAC,CAAC;QACtG,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC;YAC3G,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,8CAA8C,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC;IACjF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;QAC9J,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,uBAAuB,CAAC,CAAC,CAAC,WAAW;gBACnF,CAAC,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9I,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,WAAW,GAAG,EAAE,EAAE,GAAG,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAK,MAAM,CAAC,MAAgD,EAAE,YAAY,KAAK,SAAS;WACnH,MAAM,CAAC,MAAmC,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,GAAG,IAAI,sBAAsB,EAAE,mDAAmD,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,CAAE,MAAM,CAAC,MAAiD,EAAE,aAAa,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7H,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,mDAAmD,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAA6D,CAAC;IACvF,MAAM,YAAY,GAAI,MAAM,CAAC,MAAiD,EAAE,aAAa,CAAC;IAC9F,IAAI,SAAS,EAAE,QAAQ,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAK,EAAE,CAAC;QAC3H,IAAI,CAAC,GAAG,IAAI,uBAAuB,EAAE,sDAAsD,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,CAAC;QAClF,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC;YACrE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;gBAAE,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,gCAAgC,CAAC,CAAC;YACzF,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG;gBAAE,IAAI,CAAC,GAAG,IAAI,kBAAkB,EAAE,kCAAkC,CAAC,CAAC;YAChG,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,kBAAkB,CAAC,CAAC;QAC1F,CAAC;aAAM,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,IAAI,QAAQ,EAAE,iDAAiD,CAAC,CAAC;QACpJ,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,oBAAoB,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,UAAU,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,IAAI,mBAAmB,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;IACvF,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,EAAE,yDAAyD,CAAC,CAAC;IACrJ,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS;QAAE,aAAa,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAC;IACjH,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,eAAe,CAAC,MAAM,CAAqC,CAAC;AACrE,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function validatePredicate(value: unknown, variables: readonly string[], path: string): void;
|
|
2
|
+
export declare function bindingShape(value: unknown, path: string): void;
|
|
3
|
+
export declare function validateBindingReferences(value: unknown, available: ReadonlySet<string>, path: string): void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Environment } from '@marcbachmann/cel-js';
|
|
2
|
+
import { fail, fields, object, oneOf, string } from './validation.js';
|
|
3
|
+
export function validatePredicate(value, variables, path) {
|
|
4
|
+
const source = string(value, path);
|
|
5
|
+
if (source.length > 16_000)
|
|
6
|
+
fail(path, 'predicate exceeds 16000 characters');
|
|
7
|
+
const environment = new Environment();
|
|
8
|
+
for (const variable of variables)
|
|
9
|
+
environment.registerVariable(variable, 'map');
|
|
10
|
+
const result = environment.check(source);
|
|
11
|
+
if (!result.valid)
|
|
12
|
+
fail(path, `invalid CEL predicate: ${result.error?.message ?? 'unsupported expression'}`);
|
|
13
|
+
if (!['bool', 'dyn'].includes(result.type ?? ''))
|
|
14
|
+
fail(path, 'CEL predicate must produce a boolean');
|
|
15
|
+
}
|
|
16
|
+
export function bindingShape(value, path) {
|
|
17
|
+
const bindings = object(value, path);
|
|
18
|
+
if (!Object.keys(bindings).length)
|
|
19
|
+
fail(path, 'expected at least one binding');
|
|
20
|
+
for (const [name, declaration] of Object.entries(bindings)) {
|
|
21
|
+
const location = `${path}.${name}`;
|
|
22
|
+
if (!/^[A-Za-z_][\w-]*$/.test(name))
|
|
23
|
+
fail(location, 'invalid binding name');
|
|
24
|
+
const binding = object(declaration, location);
|
|
25
|
+
fields(binding, ['event', 'where', 'distinct', 'cardinality', 'value'], location);
|
|
26
|
+
oneOf(binding.event, ['tool.dispatch', 'tool.complete', 'output'], `${location}.event`);
|
|
27
|
+
oneOf(binding.distinct, ['event.id', 'call.id'], `${location}.distinct`);
|
|
28
|
+
oneOf(binding.cardinality, ['one'], `${location}.cardinality`);
|
|
29
|
+
if (binding.event === 'output' && binding.distinct === 'call.id')
|
|
30
|
+
fail(location, 'output events have no call identity');
|
|
31
|
+
const selector = string(binding.value, `${location}.value`);
|
|
32
|
+
if (!/^(event|call)(\.[A-Za-z_][\w-]*)+$/.test(selector) ||
|
|
33
|
+
(binding.event === 'output' && selector.startsWith('call.')))
|
|
34
|
+
fail(location, 'unsupported typed observation selector');
|
|
35
|
+
if (binding.where !== undefined) {
|
|
36
|
+
const where = object(binding.where, `${location}.where`);
|
|
37
|
+
fields(where, ['cel'], `${location}.where`);
|
|
38
|
+
validatePredicate(where.cel, binding.event === 'output' ? ['event', 'context'] : ['event', 'call', 'context'], `${location}.where.cel`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export function validateBindingReferences(value, available, path) {
|
|
43
|
+
if (Array.isArray(value)) {
|
|
44
|
+
value.forEach((item, index) => validateBindingReferences(item, available, `${path}[${index}]`));
|
|
45
|
+
}
|
|
46
|
+
else if (value && typeof value === 'object') {
|
|
47
|
+
const map = value;
|
|
48
|
+
if (Object.hasOwn(map, 'binding')) {
|
|
49
|
+
fields(map, ['binding'], path);
|
|
50
|
+
const reference = string(map.binding, `${path}.binding`);
|
|
51
|
+
if (!/^[A-Za-z_][\w-]*(\.[A-Za-z_][\w-]*)*$/.test(reference) || !available.has(reference.split('.')[0])) {
|
|
52
|
+
fail(path, `binding must reference an earlier turn declaration: ${reference}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
for (const [key, item] of Object.entries(map))
|
|
57
|
+
validateBindingReferences(item, available, `${path}.${key}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=turn-bindings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-bindings.js","sourceRoot":"","sources":["../../../src/training/cases/turn-bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DataValue } from '../contracts/dataset.js';
|
|
2
|
+
export declare class DatasetError extends Error {
|
|
3
|
+
readonly path: string;
|
|
4
|
+
constructor(path: string, message: string);
|
|
5
|
+
}
|
|
6
|
+
export declare function fail(path: string, message: string): never;
|
|
7
|
+
export declare function object(value: unknown, path: string): Record<string, unknown>;
|
|
8
|
+
export declare function fields(value: Record<string, unknown>, allowed: readonly string[], path: string): void;
|
|
9
|
+
export declare function string(value: unknown, path: string): string;
|
|
10
|
+
export declare function sequence(value: unknown, path: string, nonempty?: boolean): unknown[];
|
|
11
|
+
export declare function oneOf(value: unknown, choices: readonly unknown[], path: string): void;
|
|
12
|
+
export declare function number(value: unknown, path: string, min?: number, max?: number): number;
|
|
13
|
+
export declare function exclusive(value: Record<string, unknown>, keys: readonly string[], path: string, required?: boolean): void;
|
|
14
|
+
export declare function safePath(value: unknown, path: string): string;
|
|
15
|
+
export declare function json(value: unknown, path: string, depth?: number): DataValue;
|
|
16
|
+
export declare function uniqueStrings(value: unknown, path: string, nonempty?: boolean): string[];
|
|
17
|
+
export declare function canonical(value: unknown): string;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export class DatasetError extends Error {
|
|
2
|
+
path;
|
|
3
|
+
constructor(path, message) {
|
|
4
|
+
super(`${path}: ${message}`);
|
|
5
|
+
this.path = path;
|
|
6
|
+
this.name = 'DatasetError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function fail(path, message) {
|
|
10
|
+
throw new DatasetError(path, message);
|
|
11
|
+
}
|
|
12
|
+
export function object(value, path) {
|
|
13
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
14
|
+
return fail(path, 'expected a mapping');
|
|
15
|
+
}
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
export function fields(value, allowed, path) {
|
|
19
|
+
for (const key of Object.keys(value)) {
|
|
20
|
+
if (!allowed.includes(key))
|
|
21
|
+
fail(`${path}.${key}`, 'unknown field');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function string(value, path) {
|
|
25
|
+
if (typeof value !== 'string' || value.length === 0)
|
|
26
|
+
return fail(path, 'expected a nonempty string');
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
export function sequence(value, path, nonempty = true) {
|
|
30
|
+
if (!Array.isArray(value) || (nonempty && value.length === 0)) {
|
|
31
|
+
return fail(path, 'expected a nonempty sequence');
|
|
32
|
+
}
|
|
33
|
+
return value;
|
|
34
|
+
}
|
|
35
|
+
export function oneOf(value, choices, path) {
|
|
36
|
+
if (!choices.includes(value))
|
|
37
|
+
fail(path, `expected one of ${choices.join(', ')}`);
|
|
38
|
+
}
|
|
39
|
+
export function number(value, path, min = 0, max = 1) {
|
|
40
|
+
if (typeof value !== 'number' || !Number.isFinite(value) || value < min || value > max) {
|
|
41
|
+
return fail(path, `expected a finite number between ${min} and ${max}`);
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
export function exclusive(value, keys, path, required = false) {
|
|
46
|
+
const present = keys.filter(key => value[key] !== undefined);
|
|
47
|
+
if (present.length > 1 || (required && present.length !== 1)) {
|
|
48
|
+
fail(path, `expected ${required ? 'exactly' : 'at most'} one of ${keys.join(', ')}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export function safePath(value, path) {
|
|
52
|
+
const result = string(value, path);
|
|
53
|
+
if (result.startsWith('/') || result.includes('\\') || result.includes('\0') ||
|
|
54
|
+
result.split('/').some(part => part === '..' || part === '.' || !part) || /^[A-Za-z]:/.test(result)) {
|
|
55
|
+
fail(path, 'expected a contained relative path');
|
|
56
|
+
}
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
export function json(value, path, depth = 0) {
|
|
60
|
+
if (depth > 64)
|
|
61
|
+
return fail(path, 'nesting exceeds 64 levels');
|
|
62
|
+
if (value === null || typeof value === 'boolean' || typeof value === 'string')
|
|
63
|
+
return value;
|
|
64
|
+
if (typeof value === 'number' && Number.isFinite(value))
|
|
65
|
+
return value;
|
|
66
|
+
if (Array.isArray(value))
|
|
67
|
+
return value.map((item, index) => json(item, `${path}[${index}]`, depth + 1));
|
|
68
|
+
const map = object(value, path);
|
|
69
|
+
const result = {};
|
|
70
|
+
for (const [key, item] of Object.entries(map)) {
|
|
71
|
+
if (['__proto__', 'constructor', 'prototype', '<<'].includes(key))
|
|
72
|
+
fail(path, `unsupported key ${key}`);
|
|
73
|
+
result[key] = json(item, `${path}.${key}`, depth + 1);
|
|
74
|
+
}
|
|
75
|
+
return result;
|
|
76
|
+
}
|
|
77
|
+
export function uniqueStrings(value, path, nonempty = true) {
|
|
78
|
+
const result = sequence(value, path, nonempty).map((item, index) => string(item, `${path}[${index}]`));
|
|
79
|
+
if (new Set(result).size !== result.length)
|
|
80
|
+
fail(path, 'duplicate identity');
|
|
81
|
+
return result;
|
|
82
|
+
}
|
|
83
|
+
export function canonical(value) {
|
|
84
|
+
if (Array.isArray(value))
|
|
85
|
+
return `[${value.map(canonical).join(',')}]`;
|
|
86
|
+
if (value && typeof value === 'object') {
|
|
87
|
+
return `{${Object.entries(value).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)
|
|
88
|
+
.map(([key, item]) => `${JSON.stringify(key)}:${canonical(item)}`).join(',')}}`;
|
|
89
|
+
}
|
|
90
|
+
return JSON.stringify(value);
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/training/cases/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TrainingConfiguration } from '../contracts/training-config.js';
|
|
2
|
+
export interface CliArguments {
|
|
3
|
+
command: 'help' | 'validate' | 'evaluate' | 'train' | 'view' | 'grader';
|
|
4
|
+
graderCommand?: 'validate' | 'label' | 'calibrate' | 'grade' | 'expand' | 'decompose' | 'traps' | 'reference';
|
|
5
|
+
dataset?: string;
|
|
6
|
+
training?: TrainingConfiguration;
|
|
7
|
+
frozenDataset?: {
|
|
8
|
+
path: string;
|
|
9
|
+
sourceDigest: string;
|
|
10
|
+
};
|
|
11
|
+
flags: Readonly<Record<string, readonly string[]>>;
|
|
12
|
+
}
|
|
13
|
+
export declare const helpText = "Training \u2014 explicit local native-agent experiments\n\ngrader decompose --templates FILE --inputs FILE --extractors PROVIDER[,PROVIDER] --out DIR [--timeout-ms N]\ngrader traps --templates FILE --decompositions DIR --out DIR [--references FILE] [--allow-rejections] [--seed S] [--timeout-ms N]\ngrader reference --templates FILE --decompositions DIR [--traps DIR] [--allow-rejections] --teachers PROVIDER,PROVIDER --out FILE [--concurrency N] [--timeout-ms N]\ngrader validate --grader FILE [--timeout-ms N]\ngrader label --grader FILE --inputs FILE --teachers a,b [--relabel] [--adjudication N] [--concurrency N] [--limit N] [--timeout-ms N]\ngrader label --grader FILE --import FILE [--relabel] [--timeout-ms N]\ngrader calibrate --grader FILE [--max-spend-usd N] [--exclude-dataset FILE]... [--seed S] [--report FILE.md] [--concurrency N] [--timeout-ms N]\ngrader grade --grader FILE [--max-spend-usd N] --output FILE.json [--context NAME=FILE]... [--timeout-ms N]\ngrader expand --grader FILE --output FILE.json [--context NAME=FILE]... [--timeout-ms N]\nvalidate DATASET [--judge NAME=MODEL]\nview OUT_DIRECTORY [--port PORT] [--timeout-ms N]\nevaluate DATASET --runtime RUNTIME --model MODEL --instructions FILE --out DIRECTORY\ntrain --train DATASET [--validation DATASET] [--test DATASET] --runtime RUNTIME --model MODEL\n --instructions FILE --editable FILE --optimizer-model MODEL --bridge-command EXECUTABLE --out DIRECTORY\n\nRepeat --instructions FILE, --supporting FILE or --locked FILE to select Markdown resources.\nAll resources are locked by default; train --editable selects a declared whole file.\nSource paths and native destinations are identical, relative to --source-root (default cwd).\nNative skills, Spawnfile compilation and custom setup recipes require a public API integration.\nRepeat --resource NAME=DIRECTORY for hash-pinned dataset inputs; --judge NAME=MODEL uses Claude subscriptions.\n--judge-citation-repairs NAME=0|1 selects one optional citation repair for a declared judge (default 0).\nThis never retries valid quality failures, authentication/quota failures or malformed JSON.\nDataset training controls declare named models, focused judges, fallbacks, templates, cache, optimizer, test and budgets.\nYAML test paths are relative to the training dataset; scalar CLI flags override authored defaults.\nConfigured judge policies cannot be replaced by --judge or conflicting citation repair flags.\nThe optimizer bridge defaults to the installed spawnfile-training-dspy executable for YAML-configured training.\nTrain accepts --validation DATASET, or repeated --validation-group GROUP, or freezes an internal group partition.\nExplicit validation and validation groups are mutually exclusive.\n--max-trials N (default 20, ceiling 10000) includes conservative reserved sealed-test trials.\n--concurrency N (1..8; defaults to provisioned slot count, otherwise 1); --slots-file FILE overrides /run/spawnfile-training/slots.json.\n--max-proposals N (default 3, ceiling 1000), --seed N (GEPA sampling only).\ntrain --dry-run resolves local inputs and prints an API-equivalent cost plan without launching any runtime or model.\ntrain --resume reopens the same --out with unchanged execution inputs and cumulative optimizer budgets.\ntrain --repair-measurements PARENT --out FRESH forks verified development evidence using a launcher-produced --repair-context receipt.\nRepair preserves valid grades and native work; its dry-run conservatively estimates a full run without importing evidence.\n--cost-config FILE selects a spawnfile.training.cost-config.v1 YAML with token assumptions and explicit model prices.\nDry-run requires no --out or --bridge-command. Unknown costs are reported, never priced at zero.\ntrain --experiment-timeout-ms N (default 43200000 / 12h, ceiling 604800000 / 7d) is the whole-command deadline for the experiment.\ntrain --timeout-ms N is a legacy experiment deadline alias; --experiment-timeout-ms takes precedence.\ntrain --trial-timeout-ms N (default 3600000 / 1h, ceiling 86400000 / 24h) bounds each native trial separately.\nTraining inference defaults to 1800000 / 30min per call; route timeout_ms overrides it.\nBroker turn limits and atomic extractor.deadline_ms (default 900000 / 15min) remain independent.\n--timeout-ms N (default 180000, ceiling 3600000) bounds evaluate/grader commands.\nOutput stays local. An invocation index identifies immutable stored report and candidate blobs.\n--view PORT enables persisted live observation during evaluate/train (0 selects a free port).\nview reads a saved invocation with its recorded frozen-candidate authorization and has no default deadline.\nCtrl+C closes the server; view --timeout-ms N adds an explicit deadline.\nExit: 0 completed/passing, 1 completed with failed checks, 2 error, 130 cancelled.\n";
|
|
14
|
+
export declare function parseArguments(argv: readonly string[]): CliArguments;
|
|
15
|
+
export declare function one(args: CliArguments, name: string, fallback?: string): string;
|
|
16
|
+
export declare function count(args: CliArguments, name: string, fallback: number, maximum: number, minimum?: number): number;
|
|
17
|
+
export declare function pairs(values: readonly string[]): Record<string, string>;
|
|
18
|
+
export declare function judgeCitationRepairs(args: CliArguments, judges?: Record<string, string>): Record<string, 0 | 1>;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
const repeated = new Set(['instructions', 'supporting', 'locked', 'editable', 'resource', 'judge', 'judge-citation-repairs', 'validation-group', 'exclude-dataset', 'context']);
|
|
2
|
+
const common = ['runtime', 'model', 'instructions', 'supporting', 'locked', 'resource', 'judge', 'judge-citation-repairs', 'source-root', 'out', 'max-trials', 'timeout-ms', 'view', 'cost-config', 'spawnfile-context'];
|
|
3
|
+
const graderFlags = {
|
|
4
|
+
decompose: ['templates', 'inputs', 'extractors', 'out', 'timeout-ms'],
|
|
5
|
+
traps: ['allow-rejections', 'references', 'templates', 'decompositions', 'out', 'seed', 'timeout-ms'],
|
|
6
|
+
reference: ['allow-rejections', 'templates', 'decompositions', 'traps', 'teachers', 'out', 'concurrency', 'batch-size', 'timeout-ms'],
|
|
7
|
+
validate: ['grader', 'timeout-ms'],
|
|
8
|
+
label: ['grader', 'import', 'inputs', 'teachers', 'relabel', 'adjudication', 'concurrency', 'limit', 'timeout-ms'],
|
|
9
|
+
calibrate: ['max-spend-usd', 'grader', 'exclude-dataset', 'seed', 'report', 'concurrency', 'timeout-ms'],
|
|
10
|
+
grade: ['max-spend-usd', 'grader', 'output', 'context', 'timeout-ms'],
|
|
11
|
+
expand: ['grader', 'output', 'context', 'timeout-ms'],
|
|
12
|
+
};
|
|
13
|
+
const flags = {
|
|
14
|
+
validate: ['judge', 'judge-citation-repairs'], evaluate: common, view: ['port', 'timeout-ms'],
|
|
15
|
+
train: [...common, 'experiment-timeout-ms', 'trial-timeout-ms', 'concurrency', 'slots-file', 'train', 'validation', 'test', 'editable', 'validation-group', 'optimizer-model', 'bridge-command', 'max-proposals', 'seed', 'dry-run', 'resume', 'repair-measurements', 'repair-context'],
|
|
16
|
+
};
|
|
17
|
+
export const helpText = `Training — explicit local native-agent experiments
|
|
18
|
+
|
|
19
|
+
grader decompose --templates FILE --inputs FILE --extractors PROVIDER[,PROVIDER] --out DIR [--timeout-ms N]
|
|
20
|
+
grader traps --templates FILE --decompositions DIR --out DIR [--references FILE] [--allow-rejections] [--seed S] [--timeout-ms N]
|
|
21
|
+
grader reference --templates FILE --decompositions DIR [--traps DIR] [--allow-rejections] --teachers PROVIDER,PROVIDER --out FILE [--concurrency N] [--timeout-ms N]
|
|
22
|
+
grader validate --grader FILE [--timeout-ms N]
|
|
23
|
+
grader label --grader FILE --inputs FILE --teachers a,b [--relabel] [--adjudication N] [--concurrency N] [--limit N] [--timeout-ms N]
|
|
24
|
+
grader label --grader FILE --import FILE [--relabel] [--timeout-ms N]
|
|
25
|
+
grader calibrate --grader FILE [--max-spend-usd N] [--exclude-dataset FILE]... [--seed S] [--report FILE.md] [--concurrency N] [--timeout-ms N]
|
|
26
|
+
grader grade --grader FILE [--max-spend-usd N] --output FILE.json [--context NAME=FILE]... [--timeout-ms N]
|
|
27
|
+
grader expand --grader FILE --output FILE.json [--context NAME=FILE]... [--timeout-ms N]
|
|
28
|
+
validate DATASET [--judge NAME=MODEL]
|
|
29
|
+
view OUT_DIRECTORY [--port PORT] [--timeout-ms N]
|
|
30
|
+
evaluate DATASET --runtime RUNTIME --model MODEL --instructions FILE --out DIRECTORY
|
|
31
|
+
train --train DATASET [--validation DATASET] [--test DATASET] --runtime RUNTIME --model MODEL
|
|
32
|
+
--instructions FILE --editable FILE --optimizer-model MODEL --bridge-command EXECUTABLE --out DIRECTORY
|
|
33
|
+
|
|
34
|
+
Repeat --instructions FILE, --supporting FILE or --locked FILE to select Markdown resources.
|
|
35
|
+
All resources are locked by default; train --editable selects a declared whole file.
|
|
36
|
+
Source paths and native destinations are identical, relative to --source-root (default cwd).
|
|
37
|
+
Native skills, Spawnfile compilation and custom setup recipes require a public API integration.
|
|
38
|
+
Repeat --resource NAME=DIRECTORY for hash-pinned dataset inputs; --judge NAME=MODEL uses Claude subscriptions.
|
|
39
|
+
--judge-citation-repairs NAME=0|1 selects one optional citation repair for a declared judge (default 0).
|
|
40
|
+
This never retries valid quality failures, authentication/quota failures or malformed JSON.
|
|
41
|
+
Dataset training controls declare named models, focused judges, fallbacks, templates, cache, optimizer, test and budgets.
|
|
42
|
+
YAML test paths are relative to the training dataset; scalar CLI flags override authored defaults.
|
|
43
|
+
Configured judge policies cannot be replaced by --judge or conflicting citation repair flags.
|
|
44
|
+
The optimizer bridge defaults to the installed spawnfile-training-dspy executable for YAML-configured training.
|
|
45
|
+
Train accepts --validation DATASET, or repeated --validation-group GROUP, or freezes an internal group partition.
|
|
46
|
+
Explicit validation and validation groups are mutually exclusive.
|
|
47
|
+
--max-trials N (default 20, ceiling 10000) includes conservative reserved sealed-test trials.
|
|
48
|
+
--concurrency N (1..8; defaults to provisioned slot count, otherwise 1); --slots-file FILE overrides /run/spawnfile-training/slots.json.
|
|
49
|
+
--max-proposals N (default 3, ceiling 1000), --seed N (GEPA sampling only).
|
|
50
|
+
train --dry-run resolves local inputs and prints an API-equivalent cost plan without launching any runtime or model.
|
|
51
|
+
train --resume reopens the same --out with unchanged execution inputs and cumulative optimizer budgets.
|
|
52
|
+
train --repair-measurements PARENT --out FRESH forks verified development evidence using a launcher-produced --repair-context receipt.
|
|
53
|
+
Repair preserves valid grades and native work; its dry-run conservatively estimates a full run without importing evidence.
|
|
54
|
+
--cost-config FILE selects a spawnfile.training.cost-config.v1 YAML with token assumptions and explicit model prices.
|
|
55
|
+
Dry-run requires no --out or --bridge-command. Unknown costs are reported, never priced at zero.
|
|
56
|
+
train --experiment-timeout-ms N (default 43200000 / 12h, ceiling 604800000 / 7d) is the whole-command deadline for the experiment.
|
|
57
|
+
train --timeout-ms N is a legacy experiment deadline alias; --experiment-timeout-ms takes precedence.
|
|
58
|
+
train --trial-timeout-ms N (default 3600000 / 1h, ceiling 86400000 / 24h) bounds each native trial separately.
|
|
59
|
+
Training inference defaults to 1800000 / 30min per call; route timeout_ms overrides it.
|
|
60
|
+
Broker turn limits and atomic extractor.deadline_ms (default 900000 / 15min) remain independent.
|
|
61
|
+
--timeout-ms N (default 180000, ceiling 3600000) bounds evaluate/grader commands.
|
|
62
|
+
Output stays local. An invocation index identifies immutable stored report and candidate blobs.
|
|
63
|
+
--view PORT enables persisted live observation during evaluate/train (0 selects a free port).
|
|
64
|
+
view reads a saved invocation with its recorded frozen-candidate authorization and has no default deadline.
|
|
65
|
+
Ctrl+C closes the server; view --timeout-ms N adds an explicit deadline.
|
|
66
|
+
Exit: 0 completed/passing, 1 completed with failed checks, 2 error, 130 cancelled.
|
|
67
|
+
`;
|
|
68
|
+
export function parseArguments(argv) {
|
|
69
|
+
if (argv.length === 0 || (argv.length === 1 && ['help', '--help', '-h'].includes(argv[0])))
|
|
70
|
+
return { command: 'help', flags: {} };
|
|
71
|
+
const command = argv[0];
|
|
72
|
+
const graderCommand = command === 'grader' ? argv[1] : undefined;
|
|
73
|
+
const allowed = command === 'grader' ? graderFlags[graderCommand ?? ''] : flags[command];
|
|
74
|
+
if (!allowed)
|
|
75
|
+
throw new Error(`Unsupported command ${command}; use --help`);
|
|
76
|
+
const values = {};
|
|
77
|
+
const positional = [];
|
|
78
|
+
for (let index = command === 'grader' ? 2 : 1; index < argv.length; index += 1) {
|
|
79
|
+
const token = argv[index];
|
|
80
|
+
if (!token.startsWith('-')) {
|
|
81
|
+
positional.push(token);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
const name = token.slice(2);
|
|
85
|
+
if (!token.startsWith('--') || !allowed.includes(name))
|
|
86
|
+
throw new Error(`Unsupported option ${token} for ${command}`);
|
|
87
|
+
if (name === 'dry-run' || name === 'resume' || name === 'relabel' || name === 'allow-rejections') {
|
|
88
|
+
if (values[name])
|
|
89
|
+
throw new Error(`Option ${token} may appear only once`);
|
|
90
|
+
values[name] = ['true'];
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const value = argv[++index];
|
|
94
|
+
if (value === undefined || value.length === 0 || value.startsWith('-'))
|
|
95
|
+
throw new Error(`Option ${token} requires a value`);
|
|
96
|
+
if (values[name] && !repeated.has(name))
|
|
97
|
+
throw new Error(`Option ${token} may appear only once`);
|
|
98
|
+
(values[name] ??= []).push(value);
|
|
99
|
+
}
|
|
100
|
+
if (command === 'grader') {
|
|
101
|
+
if (positional.length)
|
|
102
|
+
throw new Error('grader accepts flags only');
|
|
103
|
+
if (values.import && (values.inputs || values.teachers))
|
|
104
|
+
throw new Error('--import is mutually exclusive with --inputs/--teachers');
|
|
105
|
+
if (values.import && (values.adjudication || values.concurrency || values.limit))
|
|
106
|
+
throw new Error('--import does not accept --adjudication/--concurrency/--limit');
|
|
107
|
+
const atomicRequired = {
|
|
108
|
+
decompose: ['templates', 'inputs', 'extractors', 'out'],
|
|
109
|
+
traps: ['templates', 'decompositions', 'out'],
|
|
110
|
+
reference: ['templates', 'decompositions', 'teachers', 'out'],
|
|
111
|
+
};
|
|
112
|
+
for (const required of atomicRequired[graderCommand ?? ''] ?? (graderCommand === 'label' && !values.import ? ['grader', 'inputs', 'teachers'] : graderCommand === 'grade' || graderCommand === 'expand' ? ['grader', 'output'] : ['grader'])) {
|
|
113
|
+
if (!values[required])
|
|
114
|
+
throw new Error(`Required option --${required} is missing`);
|
|
115
|
+
}
|
|
116
|
+
if (values['max-spend-usd'] && (!values['max-spend-usd'][0].trim() || !Number.isFinite(Number(values['max-spend-usd'][0])) || Number(values['max-spend-usd'][0]) < 0))
|
|
117
|
+
throw new Error('--max-spend-usd must be a finite nonnegative number');
|
|
118
|
+
return { command: 'grader', graderCommand: graderCommand, flags: values };
|
|
119
|
+
}
|
|
120
|
+
if (positional.length !== (command === 'train' ? 0 : 1))
|
|
121
|
+
throw new Error(`${command} requires ${command === 'train' ? '--train and --test, without positional arguments' : 'exactly one dataset path'}`);
|
|
122
|
+
const args = { command: command, dataset: positional[0], flags: values };
|
|
123
|
+
if (Boolean(values['repair-context']) !== Boolean(values['repair-measurements']) && !values['dry-run']) {
|
|
124
|
+
throw new Error('Measurement repair requires both a parent and a protected launcher receipt');
|
|
125
|
+
}
|
|
126
|
+
judgeCitationRepairs(args);
|
|
127
|
+
return args;
|
|
128
|
+
}
|
|
129
|
+
export function one(args, name, fallback) {
|
|
130
|
+
const value = args.flags[name]?.[0] ?? fallback;
|
|
131
|
+
if (value === undefined || value.trim().length === 0)
|
|
132
|
+
throw new Error(`Required option --${name} is missing`);
|
|
133
|
+
return value;
|
|
134
|
+
}
|
|
135
|
+
export function count(args, name, fallback, maximum, minimum = 1) {
|
|
136
|
+
const text = one(args, name, String(fallback));
|
|
137
|
+
const value = Number(text);
|
|
138
|
+
if (!/^\d+$/.test(text) || !Number.isSafeInteger(value) || value < minimum || value > maximum) {
|
|
139
|
+
throw new Error(`--${name} must be an integer from ${minimum} to ${maximum}`);
|
|
140
|
+
}
|
|
141
|
+
return value;
|
|
142
|
+
}
|
|
143
|
+
export function pairs(values) {
|
|
144
|
+
const result = {};
|
|
145
|
+
for (const value of values) {
|
|
146
|
+
const split = value.indexOf('=');
|
|
147
|
+
const name = value.slice(0, split), target = value.slice(split + 1);
|
|
148
|
+
if (split < 1 || !/^[A-Za-z][\w.-]{0,119}$/.test(name) || !target.trim() || Object.hasOwn(result, name)) {
|
|
149
|
+
throw new Error('Mappings require unique NAME=VALUE entries');
|
|
150
|
+
}
|
|
151
|
+
result[name] = target;
|
|
152
|
+
}
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
155
|
+
export function judgeCitationRepairs(args, judges = pairs(args.flags.judge ?? [])) {
|
|
156
|
+
const selections = pairs(args.flags['judge-citation-repairs'] ?? []);
|
|
157
|
+
for (const [name, value] of Object.entries(selections)) {
|
|
158
|
+
if (!Object.hasOwn(judges, name))
|
|
159
|
+
throw new Error(`--judge-citation-repairs names unknown judge ${name}`);
|
|
160
|
+
if (value !== '0' && value !== '1')
|
|
161
|
+
throw new Error('--judge-citation-repairs requires literal NAME=0 or NAME=1');
|
|
162
|
+
}
|
|
163
|
+
return Object.fromEntries(Object.keys(judges).map(name => [name, selections[name] === '1' ? 1 : 0]));
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=arguments.js.map
|