spawnfile 0.1.25 → 0.1.28
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/index.d.ts +2 -1
- package/dist/compiler/training/index.js +2 -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/public.d.ts +6 -0
- package/dist/runtime/daimon/training/public.js +5 -0
- package/dist/runtime/daimon/training/public.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 +10 -0
- package/dist/runtime/trainingCli.js +27 -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/trainingPublic.d.ts +3 -0
- package/dist/runtime/trainingPublic.js +2 -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 +23 -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 +13 -0
- package/dist/training/experiments/index.js +13 -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 +8 -0
- package/dist/training/experiments/training/index.js +8 -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/public.d.ts +10 -0
- package/dist/training/public.js +7 -0
- package/dist/training/public.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 +31 -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 @@
|
|
|
1
|
+
{"version":3,"file":"cost-projection.js","sourceRoot":"","sources":["../../../src/training/cases/cost-projection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqB5C,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO;QAAE,IAAI,OAAO,MAAM,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ;YAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxH,OAAO,EAAE,MAAM,EAAE,oCAAoC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO;QAC7F,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,eAAe,EAAE,OAAO,CAAC,gBAAgB;QAC7E,WAAW,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,qBAAqB,CAAC,EAAE;QAC/H,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAsB;IAC/C,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,CAAC,KAAgB,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,IAAI;YAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,IAAI;YAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE;QAAE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;YAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACzF,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM;QAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,EAAE,mCAAmC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,EAAE,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7N,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DataMap, DataValue, Dataset, DatasetRecord, ResolutionOptions } from '../contracts/dataset.js';
|
|
2
|
+
export declare function mergeFixtureValues(left: unknown, right: unknown, path?: string): unknown;
|
|
3
|
+
export declare function overlayValues(base: unknown, local: unknown): unknown;
|
|
4
|
+
export declare function resolveContext(value: DataValue, context: DataMap, path: string, depth?: number): DataValue;
|
|
5
|
+
export declare function expandRecord(dataset: Dataset, record: DatasetRecord, options: ResolutionOptions, costOnly?: boolean): DatasetRecord;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { validateBindingReferences } from './turn-bindings.js';
|
|
2
|
+
import { canonical, fail, object } from './validation.js';
|
|
3
|
+
function isMapping(value) {
|
|
4
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
5
|
+
}
|
|
6
|
+
export function mergeFixtureValues(left, right, path = '$') {
|
|
7
|
+
if (isMapping(left) && isMapping(right)) {
|
|
8
|
+
const merged = structuredClone(left);
|
|
9
|
+
for (const [key, value] of Object.entries(right)) {
|
|
10
|
+
merged[key] = Object.hasOwn(left, key) ? mergeFixtureValues(left[key], value, `${path}.${key}`) : structuredClone(value);
|
|
11
|
+
}
|
|
12
|
+
return merged;
|
|
13
|
+
}
|
|
14
|
+
if (canonical(left) !== canonical(right))
|
|
15
|
+
fail(path, 'conflicting selected fixtures');
|
|
16
|
+
return structuredClone(left);
|
|
17
|
+
}
|
|
18
|
+
export function overlayValues(base, local) {
|
|
19
|
+
if (isMapping(base) && isMapping(local)) {
|
|
20
|
+
const result = structuredClone(base);
|
|
21
|
+
for (const [key, value] of Object.entries(local))
|
|
22
|
+
result[key] = overlayValues(base[key], value);
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
return structuredClone(local);
|
|
26
|
+
}
|
|
27
|
+
export function resolveContext(value, context, path, depth = 0) {
|
|
28
|
+
if (depth > 64)
|
|
29
|
+
return fail(path, 'context binding cycle or excessive nesting');
|
|
30
|
+
if (Array.isArray(value))
|
|
31
|
+
return value.map((item, index) => resolveContext(item, context, `${path}[${index}]`, depth + 1));
|
|
32
|
+
if (!isMapping(value))
|
|
33
|
+
return value;
|
|
34
|
+
if (Object.hasOwn(value, 'context')) {
|
|
35
|
+
if (Object.keys(value).length !== 1 || typeof value.context !== 'string')
|
|
36
|
+
return fail(path, 'invalid context binding');
|
|
37
|
+
let resolved = context;
|
|
38
|
+
for (const key of value.context.split('.')) {
|
|
39
|
+
if (!isMapping(resolved) || !Object.hasOwn(resolved, key))
|
|
40
|
+
return fail(path, `missing context ${value.context}`);
|
|
41
|
+
resolved = resolved[key];
|
|
42
|
+
}
|
|
43
|
+
return resolveContext(resolved, context, path, depth + 1);
|
|
44
|
+
}
|
|
45
|
+
const result = {};
|
|
46
|
+
for (const [key, item] of Object.entries(value))
|
|
47
|
+
result[key] = resolveContext(item, context, `${path}.${key}`, depth + 1);
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
function changedPaths(base, local, prefix = '') {
|
|
51
|
+
if (isMapping(local) && !isMapping(base) && !Object.keys(local).length)
|
|
52
|
+
return [prefix];
|
|
53
|
+
if (isMapping(local))
|
|
54
|
+
return Object.entries(local).flatMap(([key, value]) => changedPaths(isMapping(base) ? base[key] : undefined, value, prefix ? `${prefix}.${key}` : key));
|
|
55
|
+
return canonical(base) === canonical(local) ? [] : [prefix];
|
|
56
|
+
}
|
|
57
|
+
function allowed(path, paths) {
|
|
58
|
+
return paths.some(prefix => path === prefix || path.startsWith(`${prefix}.`));
|
|
59
|
+
}
|
|
60
|
+
export function expandRecord(dataset, record, options, costOnly = false) {
|
|
61
|
+
let merged = {};
|
|
62
|
+
for (const name of record.use ?? []) {
|
|
63
|
+
const fixture = dataset.fixtures?.[name];
|
|
64
|
+
if (!fixture)
|
|
65
|
+
fail(`record.${record.id}.use`, `unknown fixture ${name}`);
|
|
66
|
+
merged = mergeFixtureValues(merged, fixture, `record.${record.id}`);
|
|
67
|
+
}
|
|
68
|
+
const expanded = overlayValues(merged, record);
|
|
69
|
+
const rootSetup = dataset.setup ?? {};
|
|
70
|
+
const localSetup = expanded.setup ?? {};
|
|
71
|
+
const changes = changedPaths(rootSetup, localSetup);
|
|
72
|
+
if (changes.length) {
|
|
73
|
+
const profile = rootSetup.profile;
|
|
74
|
+
if (typeof profile !== 'string')
|
|
75
|
+
fail(`record.${record.id}.setup`, 'record parameters require a dataset preparation profile');
|
|
76
|
+
const preparation = options.registry?.preparations?.[profile];
|
|
77
|
+
if (!preparation && !costOnly)
|
|
78
|
+
fail(`record.${record.id}.setup`, `unsupported preparation ${profile}`);
|
|
79
|
+
for (const path of changes) {
|
|
80
|
+
if (path === 'profile' || (!costOnly && (!allowed(path, preparation.unlockedPaths) || !allowed(path, options.unlockedSetupPaths ?? [])))) {
|
|
81
|
+
fail(`record.${record.id}.setup.${path}`, 'locked preparation parameter');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const context = expanded.context ?? {};
|
|
86
|
+
expanded.context = resolveFields(context, context, `record.${record.id}.context`, false);
|
|
87
|
+
if (dataset.setup !== undefined || expanded.setup !== undefined) {
|
|
88
|
+
const setup = overlayValues(rootSetup, localSetup);
|
|
89
|
+
const { artifacts, ...parameters } = setup;
|
|
90
|
+
expanded.setup = resolveFields(parameters, expanded.context, `record.${record.id}.setup`, false);
|
|
91
|
+
if (artifacts !== undefined) {
|
|
92
|
+
expanded.setup.artifacts = resolveFields(artifacts, expanded.context, `record.${record.id}.setup.artifacts`, false);
|
|
93
|
+
}
|
|
94
|
+
const profile = expanded.setup.profile;
|
|
95
|
+
if (typeof profile !== 'string')
|
|
96
|
+
fail(`record.${record.id}.setup.profile`, 'required preparation profile');
|
|
97
|
+
const preparation = options.registry?.preparations?.[profile];
|
|
98
|
+
if (!preparation && !costOnly)
|
|
99
|
+
fail(`record.${record.id}.setup`, `unsupported preparation ${profile}`);
|
|
100
|
+
const { profile: _profile, ...resolvedParameters } = expanded.setup;
|
|
101
|
+
if (!costOnly)
|
|
102
|
+
preparation.validate(resolvedParameters, `record.${record.id}.setup`);
|
|
103
|
+
}
|
|
104
|
+
if (expanded.input) {
|
|
105
|
+
expanded.input = resolveFields(expanded.input, expanded.context, `record.${record.id}.input`, false);
|
|
106
|
+
}
|
|
107
|
+
for (const turn of expanded.turns ?? []) {
|
|
108
|
+
turn.input = resolveFields(turn.input, expanded.context, `record.${record.id}.turn.${turn.id}.input`, true);
|
|
109
|
+
}
|
|
110
|
+
if (expanded.reference) {
|
|
111
|
+
expanded.reference = resolveFields(expanded.reference, expanded.context, `record.${record.id}.reference`, false);
|
|
112
|
+
}
|
|
113
|
+
if (expanded.outputs && expanded.setup?.artifacts) {
|
|
114
|
+
const collectors = object(expanded.setup.artifacts, `record.${record.id}.setup.artifacts`);
|
|
115
|
+
for (const name of Object.keys(expanded.outputs))
|
|
116
|
+
if (Object.hasOwn(collectors, name))
|
|
117
|
+
fail(`record.${record.id}.outputs.${name}`, 'conflicts with trusted preparation artifact');
|
|
118
|
+
}
|
|
119
|
+
return expanded;
|
|
120
|
+
}
|
|
121
|
+
/** Containers name fields; only their values may carry the reserved binding forms. */
|
|
122
|
+
function resolveFields(values, context, path, allowDeferred) {
|
|
123
|
+
const result = {};
|
|
124
|
+
for (const [key, value] of Object.entries(values)) {
|
|
125
|
+
const location = `${path}.${key}`;
|
|
126
|
+
if (!allowDeferred)
|
|
127
|
+
validateBindingReferences(value, new Set(), location);
|
|
128
|
+
result[key] = resolveContext(value, context, location);
|
|
129
|
+
if (!allowDeferred)
|
|
130
|
+
validateBindingReferences(result[key], new Set(), location);
|
|
131
|
+
}
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=fixtures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../../../src/training/cases/fixtures.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CheckNode } from '../contracts/dataset.js';
|
|
2
|
+
import type { PlanResolution } from './plans.js';
|
|
3
|
+
export interface GraderBinding {
|
|
4
|
+
definitionDigest: string;
|
|
5
|
+
calibrationDigest?: string;
|
|
6
|
+
kind?: 'atomic';
|
|
7
|
+
templatesDigest?: string;
|
|
8
|
+
gates: {
|
|
9
|
+
id: string;
|
|
10
|
+
check: CheckNode;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
13
|
+
export declare function validateGraderParameters(parameters: Readonly<Record<string, unknown>>, location: string): void;
|
|
14
|
+
export declare function resolveGraderCheck(node: CheckNode, context: PlanResolution, location: string, resolveGate: (check: CheckNode, location: string) => CheckNode, isBuiltin: (name: string) => boolean): CheckNode;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { canonicalWireId } from '../contracts/index.js';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { allQuestions, parseCalibrationJson, parseGraderYaml, sha256, validateGrader } from '../graders/index.js';
|
|
4
|
+
import { checkBinding, parseYaml } from '../graders/format/index.js';
|
|
5
|
+
import { parseAtomicGrader, validateAtomicTemplates } from '../graders/atomic/index.js';
|
|
6
|
+
import { parseCheckTemplatesYaml } from '../graders/decomposition/index.js';
|
|
7
|
+
import { fail, fields, object, safePath, string } from './validation.js';
|
|
8
|
+
export function validateGraderParameters(parameters, location) {
|
|
9
|
+
const input = string(parameters.input, `${location}.input`);
|
|
10
|
+
if (!/^artifact:[^#]+(?:#.*)?$/.test(input))
|
|
11
|
+
fail(`${location}.input`, 'grader requires an artifact selector');
|
|
12
|
+
if (parameters.grader_binding === undefined)
|
|
13
|
+
safePath(parameters.grader, `${location}.grader`);
|
|
14
|
+
else {
|
|
15
|
+
string(parameters.grader, `${location}.grader`);
|
|
16
|
+
const binding = object(parameters.grader_binding, `${location}.grader_binding`);
|
|
17
|
+
fields(binding, ['definitionDigest', 'calibrationDigest', 'kind', 'templatesDigest', 'gates'], `${location}.grader_binding`);
|
|
18
|
+
if (binding.kind !== undefined && binding.kind !== 'atomic')
|
|
19
|
+
fail(location, 'invalid grader binding kind');
|
|
20
|
+
for (const key of ['definitionDigest', binding.kind === 'atomic' ? 'templatesDigest' : 'calibrationDigest']) {
|
|
21
|
+
if (!/^[a-f0-9]{64}$/.test(string(binding[key], location)))
|
|
22
|
+
fail(location, `invalid ${key}`);
|
|
23
|
+
}
|
|
24
|
+
if (!Array.isArray(binding.gates))
|
|
25
|
+
fail(location, 'grader binding gates must be an array');
|
|
26
|
+
}
|
|
27
|
+
for (const [name, selector] of Object.entries(object(parameters.context ?? {}, `${location}.context`))) {
|
|
28
|
+
if (!/^(input:files|context:[A-Za-z_][\w-]*|artifact:[^#]+(?:#.*)?)$/.test(string(selector, `${location}.context.${name}`))) {
|
|
29
|
+
fail(`${location}.context.${name}`, 'unsupported trial context selector');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export function resolveGraderCheck(node, context, location, resolveGate, isBuiltin) {
|
|
34
|
+
const filename = safePath(node.grader, `${location}.grader`);
|
|
35
|
+
if (context.resolvingGrader)
|
|
36
|
+
fail(location, 'nested graders are not supported as gates');
|
|
37
|
+
context.resolvingGrader = true;
|
|
38
|
+
try {
|
|
39
|
+
return resolveGraderFile(node, context, location, resolveGate, filename, isBuiltin);
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
context.resolvingGrader = false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function resolveGraderFile(node, context, location, resolveGate, filename, isBuiltin) {
|
|
46
|
+
if (!context.readCriterionFile || !context.criterionFileDigests)
|
|
47
|
+
fail(location, `grader requires protected bytes: ${filename}`);
|
|
48
|
+
const read = (name) => {
|
|
49
|
+
const files = context.criterionFiles ??= new Map();
|
|
50
|
+
let bytes = files.get(name);
|
|
51
|
+
if (bytes === undefined) {
|
|
52
|
+
try {
|
|
53
|
+
bytes = Buffer.from(context.readCriterionFile(name));
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
fail(location, `cannot load grader resource ${name}: ${String(error)}`);
|
|
57
|
+
}
|
|
58
|
+
files.set(name, bytes);
|
|
59
|
+
}
|
|
60
|
+
const digest = sha256(bytes);
|
|
61
|
+
context.criterionFileDigests[name] = `sha256:${digest}`;
|
|
62
|
+
context.versions[`criterion-file:${name}`] = `sha256:${digest}`;
|
|
63
|
+
return new TextDecoder('utf-8', { fatal: true }).decode(bytes);
|
|
64
|
+
};
|
|
65
|
+
const source = read(filename);
|
|
66
|
+
const parsed = parseYaml(source);
|
|
67
|
+
const atomic = canonicalWireId(parsed?.schema) === 'spawnfile.training.atomic-grader.v1' ? parseAtomicGrader(parsed) : undefined;
|
|
68
|
+
const legacy = atomic ? undefined : validateGrader(parseGraderYaml(source));
|
|
69
|
+
const identityMode = legacy?.calibration === 'identity';
|
|
70
|
+
const resourcePath = safePath(path.posix.join(path.posix.dirname(filename), atomic?.templates ?? legacy.calibration), `${location}.resource`);
|
|
71
|
+
const resourceSource = identityMode ? 'identity' : read(resourcePath);
|
|
72
|
+
const templates = atomic ? parseCheckTemplatesYaml(resourceSource) : undefined;
|
|
73
|
+
if (atomic)
|
|
74
|
+
validateAtomicTemplates(atomic, templates);
|
|
75
|
+
else if (!identityMode)
|
|
76
|
+
parseCalibrationJson(resourceSource);
|
|
77
|
+
const grader = legacy ?? { context: templates.context, gates: atomic.gates };
|
|
78
|
+
const bindings = object(node.context ?? {}, `${location}.context`);
|
|
79
|
+
for (const name of Object.keys(bindings)) {
|
|
80
|
+
if (!Object.hasOwn(grader.context, name))
|
|
81
|
+
fail(location, `unknown grader context ${name}`);
|
|
82
|
+
}
|
|
83
|
+
if (atomic)
|
|
84
|
+
for (const name of Object.keys(templates.context)) {
|
|
85
|
+
if (!Object.hasOwn(bindings, name))
|
|
86
|
+
fail(location, `unbound grader context ${name}`);
|
|
87
|
+
}
|
|
88
|
+
for (const question of legacy ? allQuestions(legacy) : []) {
|
|
89
|
+
for (const selector of [...question.reads, ...(typeof question.when === 'object' ? [question.when.field] : [])]) {
|
|
90
|
+
if (selector.startsWith('context.') && !Object.hasOwn(bindings, selector.slice(8))) {
|
|
91
|
+
fail(location, `unbound grader context ${selector.slice(8)} in question ${question.id}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
const gates = grader.gates.flatMap(gate => 'check' in gate
|
|
96
|
+
? [{ id: gate.id, check: resolveGate(gate.check, `${location}.gates.${gate.id}`) }] : []);
|
|
97
|
+
// Rulesets must not hide unbound tool gates from the grader format validator.
|
|
98
|
+
if (legacy)
|
|
99
|
+
validateGrader({ ...legacy, gates: legacy.gates.map(gate => 'check' in gate ? gates.find(resolved => resolved.id === gate.id) : gate) });
|
|
100
|
+
if (atomic)
|
|
101
|
+
gates.forEach(gate => checkBinding(gate.check, `${location}.gates.${gate.id}`));
|
|
102
|
+
const artifact = node.input.slice(9).split('#')[0];
|
|
103
|
+
function assertBinding(check) {
|
|
104
|
+
const inputs = Array.isArray(check.input) ? check.input : [check.input];
|
|
105
|
+
if (check.eval && isBuiltin(check.eval) && inputs.some(input => typeof input === 'string' &&
|
|
106
|
+
input.split('#')[0] !== `artifact:${artifact}`)) {
|
|
107
|
+
fail(location, `grader gate input must select graded artifact ${artifact}`);
|
|
108
|
+
}
|
|
109
|
+
if (check.eval === 'tool-sequence' && check.ending_at.artifact !== artifact) {
|
|
110
|
+
fail(location, `grader gate must end at graded artifact ${artifact}`);
|
|
111
|
+
}
|
|
112
|
+
for (const child of [...(check.all ?? []), ...(check.any ?? []), ...(check.not ? [check.not] : [])])
|
|
113
|
+
assertBinding(child);
|
|
114
|
+
}
|
|
115
|
+
gates.forEach(gate => assertBinding(gate.check));
|
|
116
|
+
const grader_binding = { definitionDigest: context.criterionFileDigests[filename].slice(7),
|
|
117
|
+
...(atomic ? { kind: 'atomic', templatesDigest: context.criterionFileDigests[resourcePath].slice(7) }
|
|
118
|
+
: { calibrationDigest: identityMode ? sha256('identity') : context.criterionFileDigests[resourcePath].slice(7) }), gates };
|
|
119
|
+
context.versions[`grader:${filename}`] = `${grader_binding.definitionDigest}:${grader_binding.templatesDigest ?? grader_binding.calibrationDigest}`;
|
|
120
|
+
return { ...structuredClone(node), grader: path.resolve(path.dirname(context.sourceName ?? 'dataset.yaml'), filename), grader_binding };
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=grader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grader.js","sourceRoot":"","sources":["../../../src/training/cases/grader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAUzE,MAAM,UAAU,wBAAwB,CAAC,UAA6C,EAAE,QAAgB;IACtG,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC;IAC5D,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,GAAG,QAAQ,QAAQ,EAAE,sCAAsC,CAAC,CAAC;IAC/G,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS;QAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;SAC1F,CAAC;QACJ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,EAAE,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,GAAG,QAAQ,iBAAiB,CAAC,CAAC;QAC7H,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QAC3G,KAAK,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5G,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,QAAQ,EAAE,uCAAuC,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC,gEAAgE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,QAAQ,YAAY,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5H,IAAI,CAAC,GAAG,QAAQ,YAAY,IAAI,EAAE,EAAE,oCAAoC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAe,EAAE,OAAuB,EAAE,QAAgB,EAC3F,WAA8D,EAAE,SAAoC;IACpG,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,eAAe;QAAE,IAAI,CAAC,QAAQ,EAAE,2CAA2C,CAAC,CAAC;IACzF,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC;QAAC,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAAC,CAAC;YACpF,CAAC;QAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;IAAC,CAAC;AAC9C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAe,EAAE,OAAuB,EAAE,QAAgB,EACnF,WAA8D,EAAE,QAAgB,EAAE,SAAoC;IACtH,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,oBAAoB;QAAE,IAAI,CAAC,QAAQ,EAAE,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAChI,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,KAAK,IAAI,GAAG,EAAsB,CAAC;QACvE,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YAC9D,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,EAAE,+BAA+B,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAC1F,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,oBAAqB,CAAC,IAAI,CAAC,GAAG,UAAU,MAAM,EAAE,CAAC;QACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,CAAC,GAAG,UAAU,MAAM,EAAE,CAAC;QAChE,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAwB,CAAC;IACxD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,qCAAqC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjI,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,MAAM,EAAE,WAAW,KAAK,UAAU,CAAC;IACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,IAAI,MAAO,CAAC,WAAW,CAAC,EAAE,GAAG,QAAQ,WAAW,CAAC,CAAC;IAC/I,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,IAAI,MAAM;QAAE,uBAAuB,CAAC,MAAM,EAAE,SAAU,CAAC,CAAC;SACnD,IAAI,CAAC,YAAY;QAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,OAAO,EAAE,SAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAO,CAAC,KAAK,EAAE,CAAC;IAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC;IACnE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,IAAI,CAAC,QAAQ,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,MAAM;QAAE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,SAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAAE,IAAI,CAAC,QAAQ,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1D,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAChH,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC,QAAQ,EAAE,0BAA0B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,IAAI;QACxD,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAkB,EAAE,GAAG,QAAQ,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzG,8EAA8E;IAC9E,IAAI,MAAM;QAAE,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtJ,IAAI,MAAM;QAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,UAAU,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IAChE,SAAS,aAAa,CAAC,KAAgB;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;YACvF,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,QAAQ,EAAE,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,EAAE,iDAAiD,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAK,KAAK,CAAC,SAAkC,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACtG,IAAI,CAAC,QAAQ,EAAE,2CAA2C,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5H,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,MAAM,cAAc,GAAkB,EAAE,gBAAgB,EAAE,OAAO,CAAC,oBAAqB,CAAC,QAAQ,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACzG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,oBAAqB,CAAC,YAAY,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YAC9G,CAAC,CAAC,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAqB,CAAC,YAAY,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IACjI,OAAO,CAAC,QAAQ,CAAC,UAAU,QAAQ,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC,gBAAgB,IAAI,cAAc,CAAC,eAAe,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;IACpJ,OAAO,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC,EAAE,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;AAC1I,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { parseDatasetYaml } from './parser.js';
|
|
2
|
+
export { resolveDataset, resolveDatasetForCost } from './resolver.js';
|
|
3
|
+
export { validateDatasetSplit, validateCostDatasetSplit, selectedFiles } from './splits.js';
|
|
4
|
+
export { normalizeStages } from './plans.js';
|
|
5
|
+
export { builtinEvaluatorDefinitions } from './builtin-evaluators.js';
|
|
6
|
+
export { compileJsonSchema } from './json-schema.js';
|
|
7
|
+
export { DatasetError, fail, fields, number, string } from './validation.js';
|
|
8
|
+
export { validateTrainingConfiguration, trainingJudgeVersions } from './training/index.js';
|
|
9
|
+
export { projectDatasetCost } from './cost-projection.js';
|
|
10
|
+
export type { CostDataset, CostRecord } from './cost-projection.js';
|
|
11
|
+
export type { GraderBinding } from './grader.js';
|
|
12
|
+
export { isTextSelector, textSelectors } from './text-checks.js';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { parseDatasetYaml } from './parser.js';
|
|
2
|
+
export { resolveDataset, resolveDatasetForCost } from './resolver.js';
|
|
3
|
+
export { validateDatasetSplit, validateCostDatasetSplit, selectedFiles } from './splits.js';
|
|
4
|
+
export { normalizeStages } from './plans.js';
|
|
5
|
+
export { builtinEvaluatorDefinitions } from './builtin-evaluators.js';
|
|
6
|
+
export { compileJsonSchema } from './json-schema.js';
|
|
7
|
+
export { DatasetError, fail, fields, number, string } from './validation.js';
|
|
8
|
+
export { validateTrainingConfiguration, trainingJudgeVersions } from './training/index.js';
|
|
9
|
+
export { projectDatasetCost } from './cost-projection.js';
|
|
10
|
+
export { isTextSelector, textSelectors } from './text-checks.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/training/cases/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Ajv } from 'ajv';
|
|
2
|
+
/** Shared authoring/runtime policy. `required` need not also declare properties. */
|
|
3
|
+
export function compileJsonSchema(schema) {
|
|
4
|
+
return new Ajv({ strict: true, strictRequired: false, allErrors: true }).compile(schema);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=json-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../../src/training/cases/json-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAyC,MAAM,KAAK,CAAC;AAEjE,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,MAAe;IAC/C,OAAO,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAmB,CAAC,CAAC;AACxG,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { InferenceProviderRegistry } from '../contracts/inference-registry.js';
|
|
2
|
+
import type { DatasetDocument } from '../contracts/dataset.js';
|
|
3
|
+
export declare function parseDatasetYaml(source: string, options?: {
|
|
4
|
+
sourceName?: string;
|
|
5
|
+
inferenceProviders?: InferenceProviderRegistry;
|
|
6
|
+
}): DatasetDocument;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { isAlias, isMap, isScalar, isSeq, LineCounter, parseDocument } from 'yaml';
|
|
3
|
+
import { validateDataset } from './schema.js';
|
|
4
|
+
import { fail } from './validation.js';
|
|
5
|
+
export function parseDatasetYaml(source, options = {}) {
|
|
6
|
+
const sourceName = options.sourceName ?? '<dataset>';
|
|
7
|
+
if (Buffer.byteLength(source) > 2_000_000)
|
|
8
|
+
fail(sourceName, 'dataset exceeds 2 MB');
|
|
9
|
+
const lineCounter = new LineCounter();
|
|
10
|
+
const document = parseDocument(source, { lineCounter, uniqueKeys: true, version: '1.2', merge: false });
|
|
11
|
+
const problems = [...document.errors, ...document.warnings];
|
|
12
|
+
if (problems.length)
|
|
13
|
+
fail(sourceName, problems.map(error => error.message).join('\n'));
|
|
14
|
+
const locations = {};
|
|
15
|
+
let count = 0;
|
|
16
|
+
function visit(node, path, depth) {
|
|
17
|
+
if (++count > 50_000 || depth > 64)
|
|
18
|
+
fail(path, 'dataset node/depth resource limit exceeded');
|
|
19
|
+
if (!node)
|
|
20
|
+
return;
|
|
21
|
+
if (isAlias(node))
|
|
22
|
+
fail(path, 'YAML aliases are unsupported; use named fixtures');
|
|
23
|
+
if (node.range) {
|
|
24
|
+
const position = lineCounter.linePos(node.range[0]);
|
|
25
|
+
locations[path] = { line: position.line, column: position.col };
|
|
26
|
+
}
|
|
27
|
+
if (isMap(node)) {
|
|
28
|
+
for (const pair of node.items) {
|
|
29
|
+
if (!isScalar(pair.key) || typeof pair.key.value !== 'string')
|
|
30
|
+
fail(path, 'mapping keys must be strings');
|
|
31
|
+
visit(pair.value, `${path}.${pair.key.value}`, depth + 1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (isSeq(node))
|
|
35
|
+
node.items.forEach((item, index) => visit(item, `${path}[${index}]`, depth + 1));
|
|
36
|
+
}
|
|
37
|
+
visit(document.contents, '$', 0);
|
|
38
|
+
return {
|
|
39
|
+
dataset: validateDataset(document.toJS({ maxAliasCount: 0 }), options.inferenceProviders),
|
|
40
|
+
sourceName,
|
|
41
|
+
sourceDigest: `sha256:${createHash('sha256').update(source).digest('hex')}`,
|
|
42
|
+
locations,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/training/cases/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Dataset, DatasetRegistry, LiveCheck, Stage } from '../contracts/dataset.js';
|
|
2
|
+
export interface PlanResolution {
|
|
3
|
+
registry: DatasetRegistry;
|
|
4
|
+
sourceName?: string;
|
|
5
|
+
resolvingGrader?: boolean;
|
|
6
|
+
versions: Record<string, string>;
|
|
7
|
+
artifacts?: ReadonlySet<string>;
|
|
8
|
+
criterionFileDigests?: Record<string, string>;
|
|
9
|
+
criterionFiles?: Map<string, Uint8Array>;
|
|
10
|
+
readCriterionFile?: (path: string) => string | Uint8Array;
|
|
11
|
+
}
|
|
12
|
+
export declare function normalizeStages(plan: Pick<Dataset, 'checks' | 'stages'>, shorthandId?: string): Stage[];
|
|
13
|
+
export declare function resolveStages(stages: Stage[], context: PlanResolution, mechanicalOnly?: boolean): Stage[];
|
|
14
|
+
export declare function resolveLive(checks: LiveCheck[], context: PlanResolution): LiveCheck[];
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { isTextSelector, textSelectors } from './text-checks.js';
|
|
2
|
+
import { resolveGraderCheck } from './grader.js';
|
|
3
|
+
import { createHash } from 'node:crypto';
|
|
4
|
+
import { builtinEvaluatorDefinitions } from './builtin-evaluators.js';
|
|
5
|
+
import { compileJsonSchema } from './json-schema.js';
|
|
6
|
+
import { validateBindingReferences } from './turn-bindings.js';
|
|
7
|
+
import { checkShape } from './check-schema.js';
|
|
8
|
+
import { fail, object, string } from './validation.js';
|
|
9
|
+
function combine(values) {
|
|
10
|
+
return {
|
|
11
|
+
mechanical: values.every(value => value.mechanical),
|
|
12
|
+
incremental: values.every(value => value.incremental),
|
|
13
|
+
stopProof: values.every(value => value.stopProof),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function normalizeStages(plan, shorthandId = 'shared-checks') {
|
|
17
|
+
if (plan.stages)
|
|
18
|
+
return structuredClone(plan.stages);
|
|
19
|
+
if (!plan.checks)
|
|
20
|
+
return [];
|
|
21
|
+
return [{ id: shorthandId, checks: structuredClone(plan.checks), gate: { all: plan.checks.map(check => ({ passed: check.id })) } }];
|
|
22
|
+
}
|
|
23
|
+
function artifacts(node, context, path) {
|
|
24
|
+
if (!context.artifacts)
|
|
25
|
+
return;
|
|
26
|
+
const names = [];
|
|
27
|
+
for (const key of ['input', 'evidence', 'reference', 'source']) {
|
|
28
|
+
for (const selector of textSelectors(node[key])) {
|
|
29
|
+
if (typeof selector === 'string' && selector.startsWith('artifact:'))
|
|
30
|
+
names.push(selector.slice(9).split('#')[0]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
if (node.ending_at)
|
|
34
|
+
names.push(string(object(node.ending_at, path).artifact, path));
|
|
35
|
+
for (const name of names)
|
|
36
|
+
if (!context.artifacts.has(name))
|
|
37
|
+
fail(path, `undeclared artifact ${name}`);
|
|
38
|
+
}
|
|
39
|
+
function expand(node, context, known, path, ruleStack = []) {
|
|
40
|
+
checkShape(node, path);
|
|
41
|
+
if (node.use) {
|
|
42
|
+
for (const [key, value] of Object.entries(node.with ?? {}))
|
|
43
|
+
validateBindingReferences(value, new Set(), `${path}.with.${key}`);
|
|
44
|
+
if (ruleStack.includes(node.use) || ruleStack.length > 32)
|
|
45
|
+
fail(path, 'ruleset expansion cycle or depth limit');
|
|
46
|
+
const ruleset = context.registry.rulesets?.[node.use];
|
|
47
|
+
if (!ruleset)
|
|
48
|
+
fail(path, `unsupported ruleset ${node.use}`);
|
|
49
|
+
context.versions[`ruleset:${node.use}`] = ruleset.version;
|
|
50
|
+
const expanded = ruleset.expand(structuredClone(node.with ?? {}));
|
|
51
|
+
const result = expand(expanded, context, known, path, [...ruleStack, node.use]);
|
|
52
|
+
return { ...result, node: { ...result.node, ...(node.id ? { id: node.id } : {}) } };
|
|
53
|
+
}
|
|
54
|
+
if (node.eval) {
|
|
55
|
+
const definition = context.registry.evaluators?.[node.eval] ?? builtinEvaluatorDefinitions[node.eval];
|
|
56
|
+
if (!definition)
|
|
57
|
+
fail(path, `unsupported evaluator ${node.eval}`);
|
|
58
|
+
context.versions[`evaluator:${node.eval}`] = definition.version;
|
|
59
|
+
const { id: _id, eval: _eval, ...parameters } = node;
|
|
60
|
+
for (const [key, value] of Object.entries(parameters))
|
|
61
|
+
validateBindingReferences(value, new Set(), `${path}.${key}`);
|
|
62
|
+
definition.validate(parameters, path);
|
|
63
|
+
artifacts(node, context, path);
|
|
64
|
+
const sidecar = node.eval === 'json-schema' && typeof node.schema === 'string' ? node.schema :
|
|
65
|
+
node.eval === 'llm-rubric' && node.rubric && typeof node.rubric === 'object' ?
|
|
66
|
+
node.rubric.file : undefined;
|
|
67
|
+
const sidecars = node.eval === 'values-in-source' ? textSelectors(node.source).filter(source => !isTextSelector(source)) : sidecar ? [sidecar] : [];
|
|
68
|
+
for (const sidecar of sidecars) {
|
|
69
|
+
if (!context.readCriterionFile || !context.criterionFileDigests)
|
|
70
|
+
fail(path, `criterion sidecar requires protected bytes: ${sidecar}`);
|
|
71
|
+
const files = context.criterionFiles ??= new Map();
|
|
72
|
+
let bytes = files.get(sidecar);
|
|
73
|
+
if (bytes === undefined) {
|
|
74
|
+
bytes = Buffer.from(context.readCriterionFile(sidecar));
|
|
75
|
+
files.set(sidecar, bytes);
|
|
76
|
+
}
|
|
77
|
+
if (node.eval === 'json-schema')
|
|
78
|
+
compileJsonSchema(JSON.parse(new TextDecoder('utf-8', { fatal: true, ignoreBOM: true }).decode(bytes)));
|
|
79
|
+
context.criterionFileDigests[sidecar] = `sha256:${createHash('sha256').update(bytes).digest('hex')}`;
|
|
80
|
+
context.versions[`criterion-file:${sidecar}`] = context.criterionFileDigests[sidecar];
|
|
81
|
+
}
|
|
82
|
+
if (node.eval === 'llm-rubric') {
|
|
83
|
+
const name = string(node.judge, `${path}.judge`);
|
|
84
|
+
const route = context.registry.judges?.[name];
|
|
85
|
+
if (!route)
|
|
86
|
+
fail(path, `unresolved judge route ${name}`);
|
|
87
|
+
context.versions[`judge:${name}`] = route.version;
|
|
88
|
+
}
|
|
89
|
+
if (node.eval === 'embedding-similarity') {
|
|
90
|
+
const name = string(node.provider, `${path}.provider`);
|
|
91
|
+
const route = context.registry.embeddings?.[name];
|
|
92
|
+
if (!route)
|
|
93
|
+
fail(path, `unresolved embedding route ${name}`);
|
|
94
|
+
context.versions[`embedding:${name}`] = route.version;
|
|
95
|
+
}
|
|
96
|
+
const resolvedNode = node.eval === 'grader' ? resolveGraderCheck(node, context, path, (gate, gatePath) => expand(gate, context, new Map(), gatePath, ruleStack).node, name => Object.hasOwn(builtinEvaluatorDefinitions, name)) : structuredClone(node);
|
|
97
|
+
return { node: resolvedNode, nature: {
|
|
98
|
+
mechanical: definition.kind === 'mechanical', incremental: definition.incremental,
|
|
99
|
+
stopProof: definition.stopProof,
|
|
100
|
+
} };
|
|
101
|
+
}
|
|
102
|
+
if (node.passed || node.score) {
|
|
103
|
+
const id = node.passed ?? node.score;
|
|
104
|
+
const nature = known.get(id);
|
|
105
|
+
if (!nature)
|
|
106
|
+
fail(path, `unresolved, forward or cyclic result reference ${id}`);
|
|
107
|
+
return { node: structuredClone(node), nature: node.score ? { ...nature, stopProof: false } : nature };
|
|
108
|
+
}
|
|
109
|
+
const operation = node.all ? 'all' : node.any ? 'any' : 'not';
|
|
110
|
+
const children = operation === 'not' ? [node.not] : node[operation];
|
|
111
|
+
const resolved = children.map((child, index) => expand(child, context, known, `${path}.${operation}[${index}]`, ruleStack));
|
|
112
|
+
return {
|
|
113
|
+
node: { ...(node.id ? { id: node.id } : {}), [operation]: operation === 'not' ? resolved[0].node : resolved.map(result => result.node) },
|
|
114
|
+
nature: combine(resolved.map(result => result.nature)),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
export function resolveStages(stages, context, mechanicalOnly = false) {
|
|
118
|
+
const known = new Map();
|
|
119
|
+
const identities = new Set();
|
|
120
|
+
return stages.map((stage, index) => {
|
|
121
|
+
const path = `stages[${index}]`;
|
|
122
|
+
if (identities.has(stage.id))
|
|
123
|
+
fail(path, `duplicate plan ID ${stage.id}`);
|
|
124
|
+
identities.add(stage.id);
|
|
125
|
+
const when = stage.when ? expand(stage.when, context, known, `${path}.when`) : undefined;
|
|
126
|
+
if (when && mechanicalOnly && !when.nature.mechanical)
|
|
127
|
+
fail(path, 'semantic conditions cannot gate later work');
|
|
128
|
+
const checks = stage.checks.map((check, checkIndex) => {
|
|
129
|
+
const id = check.id;
|
|
130
|
+
if (identities.has(id))
|
|
131
|
+
fail(path, `duplicate plan ID ${id}`);
|
|
132
|
+
identities.add(id);
|
|
133
|
+
const result = expand(check, context, known, `${path}.checks[${checkIndex}]`);
|
|
134
|
+
if (mechanicalOnly && !result.nature.mechanical)
|
|
135
|
+
fail(path, 'semantic/embedding checks cannot gate a later turn');
|
|
136
|
+
known.set(id, result.nature);
|
|
137
|
+
return result;
|
|
138
|
+
});
|
|
139
|
+
let nature = combine(checks.map(check => check.nature));
|
|
140
|
+
if (when)
|
|
141
|
+
nature = combine([nature, when.nature]);
|
|
142
|
+
if (stage.score) {
|
|
143
|
+
for (const id of Object.keys(stage.score.linear)) {
|
|
144
|
+
if (!checks.some(check => check.node.id === id))
|
|
145
|
+
fail(path, `score component is not a check in this stage: ${id}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
known.set(stage.id, nature);
|
|
149
|
+
const gate = stage.gate ? expand(stage.gate, context, known, `${path}.gate`) : undefined;
|
|
150
|
+
if (gate && mechanicalOnly && !gate.nature.mechanical)
|
|
151
|
+
fail(path, 'semantic/embedding gates cannot block later work');
|
|
152
|
+
if (gate)
|
|
153
|
+
for (const check of checks) {
|
|
154
|
+
const id = check.node.id;
|
|
155
|
+
if (!Object.hasOwn(stage.score?.linear ?? {}, id) && !referencesPassed(gate.node, id)) {
|
|
156
|
+
fail(path, `non-gate criterion ${id} requires an explicit score weight`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (gate && referencesPassed(gate.node, stage.id))
|
|
160
|
+
fail(path, 'stage gate cannot depend on its own verdict');
|
|
161
|
+
known.set(stage.id, combine([nature, ...(gate ? [gate.nature] : [])]));
|
|
162
|
+
return { id: stage.id, checks: checks.map(check => check.node),
|
|
163
|
+
...(when ? { when: when.node } : {}), ...(stage.score ? { score: structuredClone(stage.score) } : {}),
|
|
164
|
+
...(gate ? { gate: gate.node } : {}) };
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
export function resolveLive(checks, context) {
|
|
168
|
+
return checks.map((check, index) => {
|
|
169
|
+
const path = `live.checks[${index}]`;
|
|
170
|
+
const { on, on_fail: action = 'continue', ...criterion } = check;
|
|
171
|
+
const resolved = expand(criterion, context, new Map(), path);
|
|
172
|
+
if (!resolved.nature.incremental)
|
|
173
|
+
fail(path, 'evaluator does not support incremental observation');
|
|
174
|
+
if (action === 'stop' && (!resolved.nature.mechanical || !resolved.nature.stopProof)) {
|
|
175
|
+
fail(path, 'hard stopping requires mechanical finality proofs throughout the criterion');
|
|
176
|
+
}
|
|
177
|
+
if (typeof on !== 'string' && context.artifacts && !context.artifacts.has(on.artifact))
|
|
178
|
+
fail(path, `undeclared live artifact ${on.artifact}`);
|
|
179
|
+
return { ...resolved.node, id: check.id, on: structuredClone(on), on_fail: action };
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
function referencesPassed(node, id) {
|
|
183
|
+
return node.passed === id || (node.not ? referencesPassed(node.not, id) : false) ||
|
|
184
|
+
[...(node.all ?? []), ...(node.any ?? [])].some(child => referencesPassed(child, id));
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=plans.js.map
|