spawnfile 0.1.25 → 0.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/audit/readAudit.d.ts +2 -2
- package/dist/auth/trainingAuth.js +1 -1
- package/dist/cli/runCli.d.ts +2 -2
- package/dist/cli/runCli.js +2 -2
- package/dist/cli/trainCommand.js +4 -5
- package/dist/cli/{paideiaDelegation.d.ts → trainingExecution.d.ts} +3 -4
- package/dist/cli/trainingExecution.js +151 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +2 -2
- package/dist/compiler/containerDaimonGrokWorkerRender.js +3 -2
- package/dist/compiler/containerDaimonUidEntrypointRender.js +4 -3
- package/dist/compiler/containerPackageOverrides.d.ts +1 -1
- package/dist/compiler/training/broker/declaration.d.ts +2 -2
- package/dist/compiler/training/broker/declaration.js +3 -2
- package/dist/compiler/training/broker/entrypoint.d.ts +3 -3
- package/dist/compiler/training/broker/entrypoint.js +7 -6
- package/dist/compiler/training/broker/evaluatorSecrets.js +4 -2
- package/dist/compiler/training/broker/paths.d.ts +15 -15
- package/dist/compiler/training/broker/paths.js +23 -23
- package/dist/compiler/training/broker/projection.d.ts +4 -4
- package/dist/compiler/training/broker/projection.js +9 -7
- package/dist/compiler/training/broker/provisioning.d.ts +1 -1
- package/dist/compiler/training/broker/provisioning.js +3 -3
- package/dist/compiler/training/broker/registration.d.ts +1 -1
- package/dist/compiler/training/broker/registration.js +1 -1
- package/dist/compiler/training/broker/supervisor.d.ts +1 -1
- package/dist/compiler/training/container/contract.js +2 -1
- package/dist/compiler/training/container/evaluators.d.ts +3 -3
- package/dist/compiler/training/container/evaluators.js +6 -6
- package/dist/compiler/training/container/launch.js +15 -7
- package/dist/compiler/training/container/security.js +3 -3
- package/dist/compiler/training/container/subjectIsolation.js +2 -1
- package/dist/compiler/training/execution.d.ts +8 -10
- package/dist/compiler/training/execution.js +1 -1
- package/dist/compiler/training/moments.js +2 -2
- package/dist/compiler/training/plan/contract.d.ts +7 -7
- package/dist/compiler/training/plan/load.js +2 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +8 -17
- package/dist/compiler/training/preparation/assets/package-lock.json +2012 -316
- package/dist/compiler/training/preparation/broker.js +2 -1
- package/dist/compiler/training/preparation/contract.d.ts +5 -9
- package/dist/compiler/training/preparation/contract.js +4 -3
- package/dist/compiler/training/preparation/image.js +2 -4
- package/dist/compiler/training/preparation/prepare.js +3 -3
- package/dist/compiler/training/repair/compatibility.js +17 -6
- package/dist/compiler/training/repair/contract.d.ts +14 -22
- package/dist/compiler/training/repair/contract.js +3 -2
- package/dist/compiler/training/repair/prepare.d.ts +5 -9
- package/dist/compiler/training/repair/prepare.js +10 -4
- package/dist/compiler/training/repair/witness.d.ts +4 -8
- package/dist/compiler/training/repair/witness.js +16 -2
- package/dist/compiler/training/rewind/contract.d.ts +9 -9
- package/dist/compiler/training/subjectDeclaration.d.ts +2 -1
- package/dist/compiler/training/subjectDeclaration.js +4 -2
- package/dist/compiler/training/subjectLease.d.ts +9 -8
- package/dist/compiler/training/subjectLease.js +17 -13
- package/dist/distribution/imageRuntimeAuth.js +33 -24
- package/dist/manifest/executionSchemas.d.ts +9 -9
- package/dist/manifest/mcpSchemas.d.ts +3 -3
- package/dist/manifest/schemas.d.ts +71 -71
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkSchemas.d.ts +2 -2
- package/dist/manifest/teamNetworkServerSchemas.d.ts +2 -2
- package/dist/manifest/trainingDataSchemas.d.ts +2 -2
- package/dist/runtime/codex-exec/training/adapter.d.ts +13 -0
- package/dist/runtime/codex-exec/training/adapter.js +101 -0
- package/dist/runtime/codex-exec/training/adapter.js.map +1 -0
- package/dist/runtime/codex-exec/training/environment.d.ts +3 -0
- package/dist/runtime/codex-exec/training/environment.js +26 -0
- package/dist/runtime/codex-exec/training/environment.js.map +1 -0
- package/dist/runtime/codex-exec/training/index.d.ts +2 -0
- package/dist/runtime/codex-exec/training/index.js +3 -0
- package/dist/runtime/codex-exec/training/index.js.map +1 -0
- package/dist/runtime/codex-exec/training/protocol.d.ts +15 -0
- package/dist/runtime/codex-exec/training/protocol.js +102 -0
- package/dist/runtime/codex-exec/training/protocol.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.d.ts +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js +2 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.d.ts +17 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js +80 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.d.ts +12 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js +125 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +1 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.d.ts +6 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js +219 -0
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +1 -0
- package/dist/runtime/container.js +1 -1
- package/dist/runtime/containerPackageOverrides.d.ts +2 -2
- package/dist/runtime/containerPackageOverrides.js +1 -1
- package/dist/runtime/daimon/adapter.js +9 -9
- package/dist/runtime/daimon/config.d.ts +2 -1
- package/dist/runtime/daimon/config.js +25 -25
- package/dist/runtime/daimon/contract-manifest.json +1 -1
- package/dist/runtime/daimon/contract-manifest.sha256 +1 -1
- package/dist/runtime/daimon/contractManifest.d.ts +206 -202
- package/dist/runtime/daimon/contractManifest.js +48 -145
- package/dist/runtime/daimon/contractManifest.js.map +1 -0
- package/dist/runtime/daimon/contractManifestSchema.d.ts +1455 -0
- package/dist/runtime/daimon/contractManifestSchema.js +19 -0
- package/dist/runtime/daimon/contractManifestSchema.js.map +1 -0
- package/dist/runtime/daimon/engineDescriptorSchema.d.ts +1826 -0
- package/dist/runtime/daimon/engineDescriptorSchema.js +107 -0
- package/dist/runtime/daimon/engineDescriptorSchema.js.map +1 -0
- package/dist/runtime/daimon/engineDescriptors.generated.d.ts +477 -0
- package/dist/runtime/daimon/engineDescriptors.generated.js +5 -0
- package/dist/runtime/daimon/engineDescriptors.generated.js.map +1 -0
- package/dist/runtime/daimon/engines.d.ts +664 -0
- package/dist/runtime/daimon/engines.js +25 -0
- package/dist/runtime/daimon/engines.js.map +1 -0
- package/dist/runtime/daimon/grokModel.d.ts +2 -1
- package/dist/runtime/daimon/grokModel.js +10 -7
- package/dist/runtime/daimon/grokSkillsSupport.js +2 -1
- package/dist/runtime/daimon/grokTurnLimits.js +3 -3
- package/dist/runtime/daimon/grokWorkerContract.d.ts +2 -2
- package/dist/runtime/daimon/grokWorkerContract.js +10 -9
- package/dist/runtime/daimon/index.d.ts +4 -0
- package/dist/runtime/daimon/index.js +5 -0
- package/dist/runtime/daimon/index.js.map +1 -0
- package/dist/runtime/daimon/packageName.d.ts +2 -0
- package/dist/runtime/daimon/packageName.js +3 -0
- package/dist/runtime/daimon/packageName.js.map +1 -0
- package/dist/runtime/daimon/runAuth.d.ts +4 -4
- package/dist/runtime/daimon/runAuth.js +71 -53
- package/dist/runtime/daimon/training/index.d.ts +2 -0
- package/dist/runtime/daimon/training/index.js +7 -0
- package/dist/runtime/daimon/training/index.js.map +1 -0
- package/dist/runtime/daimon/training/legacy/adapter.d.ts +11 -0
- package/dist/runtime/daimon/training/legacy/adapter.js +175 -0
- package/dist/runtime/daimon/training/legacy/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/legacy/index.d.ts +2 -0
- package/dist/runtime/daimon/training/legacy/index.js +3 -0
- package/dist/runtime/daimon/training/legacy/index.js.map +1 -0
- package/dist/runtime/daimon/training/legacy/public.d.ts +49 -0
- package/dist/runtime/daimon/training/legacy/public.js +16 -0
- package/dist/runtime/daimon/training/legacy/public.js.map +1 -0
- package/dist/runtime/daimon/training/native/adapter.d.ts +18 -0
- package/dist/runtime/daimon/training/native/adapter.js +231 -0
- package/dist/runtime/daimon/training/native/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/native/admission.d.ts +7 -0
- package/dist/runtime/daimon/training/native/admission.js +52 -0
- package/dist/runtime/daimon/training/native/admission.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/arguments.d.ts +16 -0
- package/dist/runtime/daimon/training/native/child/arguments.js +69 -0
- package/dist/runtime/daimon/training/native/child/arguments.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +24 -0
- package/dist/runtime/daimon/training/native/child/deferred-trial.js +63 -0
- package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +58 -0
- package/dist/runtime/daimon/training/native/child/diagnostics.js +215 -0
- package/dist/runtime/daimon/training/native/child/diagnostics.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/fixture.d.ts +16 -0
- package/dist/runtime/daimon/training/native/child/fixture.js +157 -0
- package/dist/runtime/daimon/training/native/child/fixture.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/grok.d.ts +14 -0
- package/dist/runtime/daimon/training/native/child/grok.js +47 -0
- package/dist/runtime/daimon/training/native/child/grok.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/index.d.ts +7 -0
- package/dist/runtime/daimon/training/native/child/index.js +5 -0
- package/dist/runtime/daimon/training/native/child/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +40 -0
- package/dist/runtime/daimon/training/native/child/lifecycle.js +391 -0
- package/dist/runtime/daimon/training/native/child/lifecycle.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/probe.d.ts +2 -0
- package/dist/runtime/daimon/training/native/child/probe.js +11 -0
- package/dist/runtime/daimon/training/native/child/probe.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/sandbox.d.ts +4 -0
- package/dist/runtime/daimon/training/native/child/sandbox.js +76 -0
- package/dist/runtime/daimon/training/native/child/sandbox.js.map +1 -0
- package/dist/runtime/daimon/training/native/child/types.d.ts +15 -0
- package/dist/runtime/daimon/training/native/child/types.js +2 -0
- package/dist/runtime/daimon/training/native/child/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/docker.d.ts +29 -0
- package/dist/runtime/daimon/training/native/container/docker.js +105 -0
- package/dist/runtime/daimon/training/native/container/docker.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +22 -0
- package/dist/runtime/daimon/training/native/container/grok-slot.js +38 -0
- package/dist/runtime/daimon/training/native/container/grok-slot.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/index.d.ts +6 -0
- package/dist/runtime/daimon/training/native/container/index.js +6 -0
- package/dist/runtime/daimon/training/native/container/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +8 -0
- package/dist/runtime/daimon/training/native/container/lifecycle.js +110 -0
- package/dist/runtime/daimon/training/native/container/lifecycle.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/manifest.d.ts +17 -0
- package/dist/runtime/daimon/training/native/container/manifest.js +144 -0
- package/dist/runtime/daimon/training/native/container/manifest.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +8 -0
- package/dist/runtime/daimon/training/native/container/native-preflight.js +40 -0
- package/dist/runtime/daimon/training/native/container/native-preflight.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/preflight.d.ts +15 -0
- package/dist/runtime/daimon/training/native/container/preflight.js +79 -0
- package/dist/runtime/daimon/training/native/container/preflight.js.map +1 -0
- package/dist/runtime/daimon/training/native/container/slot.d.ts +4 -0
- package/dist/runtime/daimon/training/native/container/slot.js +58 -0
- package/dist/runtime/daimon/training/native/container/slot.js.map +1 -0
- package/dist/runtime/daimon/training/native/external.d.ts +37 -0
- package/dist/runtime/daimon/training/native/external.js +75 -0
- package/dist/runtime/daimon/training/native/external.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/authority.d.ts +36 -0
- package/dist/runtime/daimon/training/native/grants/authority.js +49 -0
- package/dist/runtime/daimon/training/native/grants/authority.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/index.d.ts +2 -0
- package/dist/runtime/daimon/training/native/grants/index.js +3 -0
- package/dist/runtime/daimon/training/native/grants/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/pins.d.ts +30 -0
- package/dist/runtime/daimon/training/native/grants/pins.js +20 -0
- package/dist/runtime/daimon/training/native/grants/pins.js.map +1 -0
- package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +6 -0
- package/dist/runtime/daimon/training/native/grants/test-socket.js +35 -0
- package/dist/runtime/daimon/training/native/grants/test-socket.js.map +1 -0
- package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +34 -0
- package/dist/runtime/daimon/training/native/grok-fixtures.js +179 -0
- package/dist/runtime/daimon/training/native/grok-fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/native/index.d.ts +38 -0
- package/dist/runtime/daimon/training/native/index.js +27 -0
- package/dist/runtime/daimon/training/native/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/live-checkout.d.ts +2 -0
- package/dist/runtime/daimon/training/native/live-checkout.js +15 -0
- package/dist/runtime/daimon/training/native/live-checkout.js.map +1 -0
- package/dist/runtime/daimon/training/native/observations.d.ts +51 -0
- package/dist/runtime/daimon/training/native/observations.js +217 -0
- package/dist/runtime/daimon/training/native/observations.js.map +1 -0
- package/dist/runtime/daimon/training/native/outcome.d.ts +13 -0
- package/dist/runtime/daimon/training/native/outcome.js +37 -0
- package/dist/runtime/daimon/training/native/outcome.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +21 -0
- package/dist/runtime/daimon/training/native/preparation/engine-config.js +30 -0
- package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +17 -0
- package/dist/runtime/daimon/training/native/preparation/fixtures.js +50 -0
- package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/index.d.ts +7 -0
- package/dist/runtime/daimon/training/native/preparation/index.js +5 -0
- package/dist/runtime/daimon/training/native/preparation/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/layout.d.ts +66 -0
- package/dist/runtime/daimon/training/native/preparation/layout.js +87 -0
- package/dist/runtime/daimon/training/native/preparation/layout.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/subject.d.ts +14 -0
- package/dist/runtime/daimon/training/native/preparation/subject.js +67 -0
- package/dist/runtime/daimon/training/native/preparation/subject.js.map +1 -0
- package/dist/runtime/daimon/training/native/preparation/types.d.ts +69 -0
- package/dist/runtime/daimon/training/native/preparation/types.js +2 -0
- package/dist/runtime/daimon/training/native/preparation/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +25 -0
- package/dist/runtime/daimon/training/native/receipt/artifacts.js +32 -0
- package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +129 -0
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +45 -0
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/grok.d.ts +246 -0
- package/dist/runtime/daimon/training/native/receipt/grok.js +195 -0
- package/dist/runtime/daimon/training/native/receipt/grok.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/index.d.ts +10 -0
- package/dist/runtime/daimon/training/native/receipt/index.js +7 -0
- package/dist/runtime/daimon/training/native/receipt/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/paths.d.ts +3 -0
- package/dist/runtime/daimon/training/native/receipt/paths.js +18 -0
- package/dist/runtime/daimon/training/native/receipt/paths.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +42 -0
- package/dist/runtime/daimon/training/native/receipt/sandbox.js +35 -0
- package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/schema.d.ts +486 -0
- package/dist/runtime/daimon/training/native/receipt/schema.js +138 -0
- package/dist/runtime/daimon/training/native/receipt/schema.js.map +1 -0
- package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +19 -0
- package/dist/runtime/daimon/training/native/receipt/task-clock.js +49 -0
- package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +1 -0
- package/dist/runtime/daimon/training/native/sealed-usage.d.ts +218 -0
- package/dist/runtime/daimon/training/native/sealed-usage.js +261 -0
- package/dist/runtime/daimon/training/native/sealed-usage.js.map +1 -0
- package/dist/runtime/daimon/training/native/test-fixtures.d.ts +27 -0
- package/dist/runtime/daimon/training/native/test-fixtures.js +158 -0
- package/dist/runtime/daimon/training/native/test-fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/native/transcript.d.ts +96 -0
- package/dist/runtime/daimon/training/native/transcript.js +239 -0
- package/dist/runtime/daimon/training/native/transcript.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/delivery.d.ts +27 -0
- package/dist/runtime/daimon/training/native/transport/delivery.js +98 -0
- package/dist/runtime/daimon/training/native/transport/delivery.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/http.d.ts +3 -0
- package/dist/runtime/daimon/training/native/transport/http.js +81 -0
- package/dist/runtime/daimon/training/native/transport/http.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/index.d.ts +4 -0
- package/dist/runtime/daimon/training/native/transport/index.js +3 -0
- package/dist/runtime/daimon/training/native/transport/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/transport/types.d.ts +15 -0
- package/dist/runtime/daimon/training/native/transport/types.js +2 -0
- package/dist/runtime/daimon/training/native/transport/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/cli.d.ts +1 -0
- package/dist/runtime/daimon/training/native/worker/cli.js +17 -0
- package/dist/runtime/daimon/training/native/worker/cli.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/control.d.ts +20 -0
- package/dist/runtime/daimon/training/native/worker/control.js +266 -0
- package/dist/runtime/daimon/training/native/worker/control.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +38 -0
- package/dist/runtime/daimon/training/native/worker/deliveries.js +91 -0
- package/dist/runtime/daimon/training/native/worker/deliveries.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +54 -0
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js +278 -0
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +102 -0
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js +191 -0
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +3 -0
- package/dist/runtime/daimon/training/native/worker/evidence/index.js +4 -0
- package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +20 -0
- package/dist/runtime/daimon/training/native/worker/evidence/io.js +130 -0
- package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +3 -0
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js +67 -0
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/index.d.ts +11 -0
- package/dist/runtime/daimon/training/native/worker/index.js +8 -0
- package/dist/runtime/daimon/training/native/worker/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/profile.d.ts +23 -0
- package/dist/runtime/daimon/training/native/worker/profile.js +149 -0
- package/dist/runtime/daimon/training/native/worker/profile.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/public.d.ts +41 -0
- package/dist/runtime/daimon/training/native/worker/public.js +22 -0
- package/dist/runtime/daimon/training/native/worker/public.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/sandbox.js +52 -0
- package/dist/runtime/daimon/training/native/worker/sandbox.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/server.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/server.js +102 -0
- package/dist/runtime/daimon/training/native/worker/server.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/types.d.ts +318 -0
- package/dist/runtime/daimon/training/native/worker/types.js +2 -0
- package/dist/runtime/daimon/training/native/worker/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +4 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +3 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +16 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +4 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +52 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +21 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +198 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +91 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +2 -0
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +1 -0
- package/dist/runtime/daimon/training/native/worker/worker.d.ts +1 -0
- package/dist/runtime/daimon/training/native/worker/worker.js +103 -0
- package/dist/runtime/daimon/training/native/worker/worker.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +20 -0
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js +55 -0
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +15 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +29 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +16 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +60 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +81 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +221 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +31 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +78 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +63 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js +20 -0
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +3 -0
- package/dist/runtime/daimon/training/providers/grok-broker/index.js +4 -0
- package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +21 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +81 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +4 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js +5 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +26 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +102 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.d.ts +9 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +38 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +1 -0
- package/dist/runtime/daimon/training/services/freshness.d.ts +15 -0
- package/dist/runtime/daimon/training/services/freshness.js +19 -0
- package/dist/runtime/daimon/training/services/freshness.js.map +1 -0
- package/dist/runtime/daimon/training/services/index.d.ts +3 -0
- package/dist/runtime/daimon/training/services/index.js +3 -0
- package/dist/runtime/daimon/training/services/index.js.map +1 -0
- package/dist/runtime/daimon/training/services/slot-freshness.d.ts +34 -0
- package/dist/runtime/daimon/training/services/slot-freshness.js +178 -0
- package/dist/runtime/daimon/training/services/slot-freshness.js.map +1 -0
- package/dist/runtime/daimon/wakeMoments.js +1 -0
- package/dist/runtime/daimon/wakeMoments.js.map +1 -0
- package/dist/runtime/pi/appPreludeSource.js +3 -2
- package/dist/runtime/pi/appTemplate.d.ts +1 -1
- package/dist/runtime/pi/appTemplate.js +2 -1
- package/dist/runtime/registry.d.ts +6 -0
- package/dist/runtime/registry.js +2 -0
- package/dist/runtime/trainingCli.d.ts +5 -0
- package/dist/runtime/trainingCli.js +23 -0
- package/dist/runtime/trainingGraderProviders.d.ts +4 -0
- package/dist/runtime/trainingGraderProviders.js +55 -0
- package/dist/runtime/trainingProviders.d.ts +4 -0
- package/dist/runtime/trainingProviders.js +89 -0
- package/dist/runtime/trainingSubjects.d.ts +129 -0
- package/dist/runtime/trainingSubjects.js +32 -0
- package/dist/shared/daimonCodexDocker.js +9 -10
- package/dist/shared/errors.js +1 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/trainingLegacy/index.d.ts +5 -0
- package/dist/shared/trainingLegacy/index.js +6 -0
- package/dist/shared/trainingLegacy/index.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyEnvironment.d.ts +6 -0
- package/dist/shared/trainingLegacy/trainingLegacyEnvironment.js +40 -0
- package/dist/shared/trainingLegacy/trainingLegacyEnvironment.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyFiles.d.ts +4 -0
- package/dist/shared/trainingLegacy/trainingLegacyFiles.js +34 -0
- package/dist/shared/trainingLegacy/trainingLegacyFiles.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.d.ts +5 -0
- package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.js +6 -0
- package/dist/shared/trainingLegacy/trainingLegacyGraderProviders.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.d.ts +39 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js +41 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyWire.d.ts +15 -0
- package/dist/shared/trainingLegacy/trainingLegacyWire.js +21 -0
- package/dist/shared/trainingLegacy/trainingLegacyWire.js.map +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyWireAliases.json +90 -0
- package/dist/target/contracts.d.ts +2 -2
- package/dist/training/candidates/authored.d.ts +3 -0
- package/dist/training/candidates/authored.js +27 -0
- package/dist/training/candidates/authored.js.map +1 -0
- package/dist/training/candidates/derive.d.ts +3 -0
- package/dist/training/candidates/derive.js +66 -0
- package/dist/training/candidates/derive.js.map +1 -0
- package/dist/training/candidates/filesystem.d.ts +7 -0
- package/dist/training/candidates/filesystem.js +41 -0
- package/dist/training/candidates/filesystem.js.map +1 -0
- package/dist/training/candidates/headings.d.ts +9 -0
- package/dist/training/candidates/headings.js +47 -0
- package/dist/training/candidates/headings.js.map +1 -0
- package/dist/training/candidates/identity.d.ts +6 -0
- package/dist/training/candidates/identity.js +29 -0
- package/dist/training/candidates/identity.js.map +1 -0
- package/dist/training/candidates/index.d.ts +6 -0
- package/dist/training/candidates/index.js +6 -0
- package/dist/training/candidates/index.js.map +1 -0
- package/dist/training/candidates/materialize.d.ts +2 -0
- package/dist/training/candidates/materialize.js +39 -0
- package/dist/training/candidates/materialize.js.map +1 -0
- package/dist/training/candidates/snapshot.d.ts +5 -0
- package/dist/training/candidates/snapshot.js +22 -0
- package/dist/training/candidates/snapshot.js.map +1 -0
- package/dist/training/candidates/types.d.ts +41 -0
- package/dist/training/candidates/types.js +2 -0
- package/dist/training/candidates/types.js.map +1 -0
- package/dist/training/candidates/validation.d.ts +4 -0
- package/dist/training/candidates/validation.js +89 -0
- package/dist/training/candidates/validation.js.map +1 -0
- package/dist/training/capture/index.d.ts +2 -0
- package/dist/training/capture/index.js +2 -0
- package/dist/training/capture/index.js.map +1 -0
- package/dist/training/capture/trace.d.ts +16 -0
- package/dist/training/capture/trace.js +74 -0
- package/dist/training/capture/trace.js.map +1 -0
- package/dist/training/cases/builtin-evaluators.d.ts +2 -0
- package/dist/training/cases/builtin-evaluators.js +120 -0
- package/dist/training/cases/builtin-evaluators.js.map +1 -0
- package/dist/training/cases/check-schema.d.ts +2 -0
- package/dist/training/cases/check-schema.js +60 -0
- package/dist/training/cases/check-schema.js.map +1 -0
- package/dist/training/cases/cost-projection.d.ts +27 -0
- package/dist/training/cases/cost-projection.js +29 -0
- package/dist/training/cases/cost-projection.js.map +1 -0
- package/dist/training/cases/fixtures.d.ts +5 -0
- package/dist/training/cases/fixtures.js +134 -0
- package/dist/training/cases/fixtures.js.map +1 -0
- package/dist/training/cases/grader.d.ts +14 -0
- package/dist/training/cases/grader.js +122 -0
- package/dist/training/cases/grader.js.map +1 -0
- package/dist/training/cases/index.d.ts +12 -0
- package/dist/training/cases/index.js +11 -0
- package/dist/training/cases/index.js.map +1 -0
- package/dist/training/cases/json-schema.d.ts +3 -0
- package/dist/training/cases/json-schema.js +6 -0
- package/dist/training/cases/json-schema.js.map +1 -0
- package/dist/training/cases/parser.d.ts +6 -0
- package/dist/training/cases/parser.js +45 -0
- package/dist/training/cases/parser.js.map +1 -0
- package/dist/training/cases/plans.d.ts +14 -0
- package/dist/training/cases/plans.js +186 -0
- package/dist/training/cases/plans.js.map +1 -0
- package/dist/training/cases/resolver.d.ts +5 -0
- package/dist/training/cases/resolver.js +90 -0
- package/dist/training/cases/resolver.js.map +1 -0
- package/dist/training/cases/schema.d.ts +5 -0
- package/dist/training/cases/schema.js +154 -0
- package/dist/training/cases/schema.js.map +1 -0
- package/dist/training/cases/splits.d.ts +16 -0
- package/dist/training/cases/splits.js +71 -0
- package/dist/training/cases/splits.js.map +1 -0
- package/dist/training/cases/text-checks.d.ts +3 -0
- package/dist/training/cases/text-checks.js +50 -0
- package/dist/training/cases/text-checks.js.map +1 -0
- package/dist/training/cases/training/identity.d.ts +6 -0
- package/dist/training/cases/training/identity.js +26 -0
- package/dist/training/cases/training/identity.js.map +1 -0
- package/dist/training/cases/training/index.d.ts +2 -0
- package/dist/training/cases/training/index.js +3 -0
- package/dist/training/cases/training/index.js.map +1 -0
- package/dist/training/cases/training/schema.d.ts +4 -0
- package/dist/training/cases/training/schema.js +207 -0
- package/dist/training/cases/training/schema.js.map +1 -0
- package/dist/training/cases/turn-bindings.d.ts +3 -0
- package/dist/training/cases/turn-bindings.js +61 -0
- package/dist/training/cases/turn-bindings.js.map +1 -0
- package/dist/training/cases/validation.d.ts +17 -0
- package/dist/training/cases/validation.js +92 -0
- package/dist/training/cases/validation.js.map +1 -0
- package/dist/training/cli/arguments.d.ts +18 -0
- package/dist/training/cli/arguments.js +165 -0
- package/dist/training/cli/arguments.js.map +1 -0
- package/dist/training/cli/commands.d.ts +3 -0
- package/dist/training/cli/commands.js +255 -0
- package/dist/training/cli/commands.js.map +1 -0
- package/dist/training/cli/datasets.d.ts +30 -0
- package/dist/training/cli/datasets.js +116 -0
- package/dist/training/cli/datasets.js.map +1 -0
- package/dist/training/cli/dry-run.d.ts +7 -0
- package/dist/training/cli/dry-run.js +37 -0
- package/dist/training/cli/dry-run.js.map +1 -0
- package/dist/training/cli/grader/atomic/decompose.d.ts +43 -0
- package/dist/training/cli/grader/atomic/decompose.js +208 -0
- package/dist/training/cli/grader/atomic/decompose.js.map +1 -0
- package/dist/training/cli/grader/atomic/files.d.ts +159 -0
- package/dist/training/cli/grader/atomic/files.js +97 -0
- package/dist/training/cli/grader/atomic/files.js.map +1 -0
- package/dist/training/cli/grader/atomic/index.d.ts +8 -0
- package/dist/training/cli/grader/atomic/index.js +34 -0
- package/dist/training/cli/grader/atomic/index.js.map +1 -0
- package/dist/training/cli/grader/atomic/reference.d.ts +131 -0
- package/dist/training/cli/grader/atomic/reference.js +133 -0
- package/dist/training/cli/grader/atomic/reference.js.map +1 -0
- package/dist/training/cli/grader/atomic/runtime.d.ts +3 -0
- package/dist/training/cli/grader/atomic/runtime.js +91 -0
- package/dist/training/cli/grader/atomic/runtime.js.map +1 -0
- package/dist/training/cli/grader/atomic/traps.d.ts +15 -0
- package/dist/training/cli/grader/atomic/traps.js +38 -0
- package/dist/training/cli/grader/atomic/traps.js.map +1 -0
- package/dist/training/cli/grader/backend.d.ts +19 -0
- package/dist/training/cli/grader/backend.js +39 -0
- package/dist/training/cli/grader/backend.js.map +1 -0
- package/dist/training/cli/grader/cache.d.ts +2 -0
- package/dist/training/cli/grader/cache.js +75 -0
- package/dist/training/cli/grader/cache.js.map +1 -0
- package/dist/training/cli/grader/calibrate.d.ts +19 -0
- package/dist/training/cli/grader/calibrate.js +237 -0
- package/dist/training/cli/grader/calibrate.js.map +1 -0
- package/dist/training/cli/grader/cost.d.ts +24 -0
- package/dist/training/cli/grader/cost.js +54 -0
- package/dist/training/cli/grader/cost.js.map +1 -0
- package/dist/training/cli/grader/exclusions.d.ts +12 -0
- package/dist/training/cli/grader/exclusions.js +49 -0
- package/dist/training/cli/grader/exclusions.js.map +1 -0
- package/dist/training/cli/grader/grade.d.ts +26 -0
- package/dist/training/cli/grader/grade.js +33 -0
- package/dist/training/cli/grader/grade.js.map +1 -0
- package/dist/training/cli/grader/index.d.ts +10 -0
- package/dist/training/cli/grader/index.js +73 -0
- package/dist/training/cli/grader/index.js.map +1 -0
- package/dist/training/cli/grader/label-call.d.ts +13 -0
- package/dist/training/cli/grader/label-call.js +67 -0
- package/dist/training/cli/grader/label-call.js.map +1 -0
- package/dist/training/cli/grader/label-import.d.ts +16 -0
- package/dist/training/cli/grader/label-import.js +84 -0
- package/dist/training/cli/grader/label-import.js.map +1 -0
- package/dist/training/cli/grader/label-inputs.d.ts +9 -0
- package/dist/training/cli/grader/label-inputs.js +56 -0
- package/dist/training/cli/grader/label-inputs.js.map +1 -0
- package/dist/training/cli/grader/label.d.ts +25 -0
- package/dist/training/cli/grader/label.js +172 -0
- package/dist/training/cli/grader/label.js.map +1 -0
- package/dist/training/cli/grader/records.d.ts +20 -0
- package/dist/training/cli/grader/records.js +65 -0
- package/dist/training/cli/grader/records.js.map +1 -0
- package/dist/training/cli/grader/report.d.ts +26 -0
- package/dist/training/cli/grader/report.js +42 -0
- package/dist/training/cli/grader/report.js.map +1 -0
- package/dist/training/cli/grader/runtime.d.ts +5 -0
- package/dist/training/cli/grader/runtime.js +64 -0
- package/dist/training/cli/grader/runtime.js.map +1 -0
- package/dist/training/cli/grader/validate.d.ts +5 -0
- package/dist/training/cli/grader/validate.js +42 -0
- package/dist/training/cli/grader/validate.js.map +1 -0
- package/dist/training/cli/index.d.ts +6 -0
- package/dist/training/cli/index.js +4 -0
- package/dist/training/cli/index.js.map +1 -0
- package/dist/training/cli/launch.d.ts +3 -0
- package/dist/training/cli/launch.js +17 -0
- package/dist/training/cli/launch.js.map +1 -0
- package/dist/training/cli/native.d.ts +235 -0
- package/dist/training/cli/native.js +83 -0
- package/dist/training/cli/native.js.map +1 -0
- package/dist/training/cli/output.d.ts +21 -0
- package/dist/training/cli/output.js +95 -0
- package/dist/training/cli/output.js.map +1 -0
- package/dist/training/cli/progress/activity.d.ts +11 -0
- package/dist/training/cli/progress/activity.js +45 -0
- package/dist/training/cli/progress/activity.js.map +1 -0
- package/dist/training/cli/progress/failure.d.ts +37 -0
- package/dist/training/cli/progress/failure.js +48 -0
- package/dist/training/cli/progress/failure.js.map +1 -0
- package/dist/training/cli/progress/generations.d.ts +11 -0
- package/dist/training/cli/progress/generations.js +50 -0
- package/dist/training/cli/progress/generations.js.map +1 -0
- package/dist/training/cli/progress/index.d.ts +6 -0
- package/dist/training/cli/progress/index.js +5 -0
- package/dist/training/cli/progress/index.js.map +1 -0
- package/dist/training/cli/progress/journal.d.ts +38 -0
- package/dist/training/cli/progress/journal.js +101 -0
- package/dist/training/cli/progress/journal.js.map +1 -0
- package/dist/training/cli/report/diff.d.ts +2 -0
- package/dist/training/cli/report/diff.js +24 -0
- package/dist/training/cli/report/diff.js.map +1 -0
- package/dist/training/cli/report/export.d.ts +9 -0
- package/dist/training/cli/report/export.js +81 -0
- package/dist/training/cli/report/export.js.map +1 -0
- package/dist/training/cli/report/fixture.d.ts +9 -0
- package/dist/training/cli/report/fixture.js +65 -0
- package/dist/training/cli/report/fixture.js.map +1 -0
- package/dist/training/cli/report/index.d.ts +1 -0
- package/dist/training/cli/report/index.js +2 -0
- package/dist/training/cli/report/index.js.map +1 -0
- package/dist/training/cli/report/markdown.d.ts +2 -0
- package/dist/training/cli/report/markdown.js +60 -0
- package/dist/training/cli/report/markdown.js.map +1 -0
- package/dist/training/cli/report/summary.d.ts +130 -0
- package/dist/training/cli/report/summary.js +165 -0
- package/dist/training/cli/report/summary.js.map +1 -0
- package/dist/training/cli/spawnfile/context.d.ts +75 -0
- package/dist/training/cli/spawnfile/context.js +78 -0
- package/dist/training/cli/spawnfile/context.js.map +1 -0
- package/dist/training/cli/spawnfile/index.d.ts +5 -0
- package/dist/training/cli/spawnfile/index.js +4 -0
- package/dist/training/cli/spawnfile/index.js.map +1 -0
- package/dist/training/cli/spawnfile/moments.d.ts +44 -0
- package/dist/training/cli/spawnfile/moments.js +71 -0
- package/dist/training/cli/spawnfile/moments.js.map +1 -0
- package/dist/training/cli/spawnfile/selection.d.ts +83 -0
- package/dist/training/cli/spawnfile/selection.js +54 -0
- package/dist/training/cli/spawnfile/selection.js.map +1 -0
- package/dist/training/cli/training/cache.d.ts +4 -0
- package/dist/training/cli/training/cache.js +43 -0
- package/dist/training/cli/training/cache.js.map +1 -0
- package/dist/training/cli/training/checkpoint.d.ts +19 -0
- package/dist/training/cli/training/checkpoint.js +62 -0
- package/dist/training/cli/training/checkpoint.js.map +1 -0
- package/dist/training/cli/training/comparison.d.ts +8 -0
- package/dist/training/cli/training/comparison.js +22 -0
- package/dist/training/cli/training/comparison.js.map +1 -0
- package/dist/training/cli/training/configuration.d.ts +10 -0
- package/dist/training/cli/training/configuration.js +81 -0
- package/dist/training/cli/training/configuration.js.map +1 -0
- package/dist/training/cli/training/deadlines.d.ts +7 -0
- package/dist/training/cli/training/deadlines.js +14 -0
- package/dist/training/cli/training/deadlines.js.map +1 -0
- package/dist/training/cli/training/index.d.ts +8 -0
- package/dist/training/cli/training/index.js +9 -0
- package/dist/training/cli/training/index.js.map +1 -0
- package/dist/training/cli/training/inference.d.ts +48 -0
- package/dist/training/cli/training/inference.js +96 -0
- package/dist/training/cli/training/inference.js.map +1 -0
- package/dist/training/cli/training/optimizer.d.ts +33 -0
- package/dist/training/cli/training/optimizer.js +92 -0
- package/dist/training/cli/training/optimizer.js.map +1 -0
- package/dist/training/cli/training/output-lock.d.ts +2 -0
- package/dist/training/cli/training/output-lock.js +30 -0
- package/dist/training/cli/training/output-lock.js.map +1 -0
- package/dist/training/cli/types.d.ts +101 -0
- package/dist/training/cli/types.js +2 -0
- package/dist/training/cli/types.js.map +1 -0
- package/dist/training/cli/viewer.d.ts +40 -0
- package/dist/training/cli/viewer.js +210 -0
- package/dist/training/cli/viewer.js.map +1 -0
- package/dist/training/contracts/atomic-feedback.d.ts +2 -0
- package/dist/training/contracts/atomic-feedback.js +2 -0
- package/dist/training/contracts/atomic-feedback.js.map +1 -0
- package/dist/training/contracts/dataset.d.ts +174 -0
- package/dist/training/contracts/dataset.js +2 -0
- package/dist/training/contracts/dataset.js.map +1 -0
- package/dist/training/contracts/evaluation.d.ts +256 -0
- package/dist/training/contracts/evaluation.js +41 -0
- package/dist/training/contracts/evaluation.js.map +1 -0
- package/dist/training/contracts/execution.d.ts +363 -0
- package/dist/training/contracts/execution.js +15 -0
- package/dist/training/contracts/execution.js.map +1 -0
- package/dist/training/contracts/grader-providers.d.ts +40 -0
- package/dist/training/contracts/grader-providers.js +27 -0
- package/dist/training/contracts/grader-providers.js.map +1 -0
- package/dist/training/contracts/grading.d.ts +74 -0
- package/dist/training/contracts/grading.js +2 -0
- package/dist/training/contracts/grading.js.map +1 -0
- package/dist/training/contracts/index.d.ts +16 -0
- package/dist/training/contracts/index.js +8 -0
- package/dist/training/contracts/index.js.map +1 -0
- package/dist/training/contracts/inference-grants.d.ts +34 -0
- package/dist/training/contracts/inference-grants.js +2 -0
- package/dist/training/contracts/inference-grants.js.map +1 -0
- package/dist/training/contracts/inference-registry.d.ts +38 -0
- package/dist/training/contracts/inference-registry.js +7 -0
- package/dist/training/contracts/inference-registry.js.map +1 -0
- package/dist/training/contracts/training-config.d.ts +95 -0
- package/dist/training/contracts/training-config.js +15 -0
- package/dist/training/contracts/training-config.js.map +1 -0
- package/dist/training/contracts/trial-slot.d.ts +12 -0
- package/dist/training/contracts/trial-slot.js +2 -0
- package/dist/training/contracts/trial-slot.js.map +1 -0
- package/dist/training/dspy/AGENTS.md +29 -0
- package/dist/training/dspy/README.md +206 -0
- package/dist/training/dspy/protocol.md +311 -0
- package/dist/training/dspy/pyproject.toml +36 -0
- package/dist/training/dspy/requirements.lock +69 -0
- package/dist/training/dspy/spawnfile_training_dspy/AGENTS.md +63 -0
- package/dist/training/dspy/spawnfile_training_dspy/__init__.py +6 -0
- package/dist/training/dspy/spawnfile_training_dspy/checkpoint.py +146 -0
- package/dist/training/dspy/spawnfile_training_dspy/legacy_wire_aliases.json +90 -0
- package/dist/training/dspy/spawnfile_training_dspy/main.py +36 -0
- package/dist/training/dspy/spawnfile_training_dspy/native.py +89 -0
- package/dist/training/dspy/spawnfile_training_dspy/optimizer.py +74 -0
- package/dist/training/dspy/spawnfile_training_dspy/proposal_history.py +275 -0
- package/dist/training/dspy/spawnfile_training_dspy/protocol.py +149 -0
- package/dist/training/dspy/spawnfile_training_dspy/reflection.py +199 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/AGENTS.md +41 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/__init__.py +1 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/behavior_change.py +152 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/boundaries.py +38 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/instruction_text.py +47 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/population.py +213 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/selection.py +24 -0
- package/dist/training/dspy/spawnfile_training_dspy/search/variants.py +83 -0
- package/dist/training/dspy/spawnfile_training_dspy/session.py +116 -0
- package/dist/training/dspy/spawnfile_training_dspy/transport.py +129 -0
- package/dist/training/evaluation/atomic-grader.d.ts +5 -0
- package/dist/training/evaluation/atomic-grader.js +55 -0
- package/dist/training/evaluation/atomic-grader.js.map +1 -0
- package/dist/training/evaluation/embedding/index.d.ts +1 -0
- package/dist/training/evaluation/embedding/index.js +2 -0
- package/dist/training/evaluation/embedding/index.js.map +1 -0
- package/dist/training/evaluation/embedding/similarity.d.ts +4 -0
- package/dist/training/evaluation/embedding/similarity.js +38 -0
- package/dist/training/evaluation/embedding/similarity.js.map +1 -0
- package/dist/training/evaluation/engine.d.ts +6 -0
- package/dist/training/evaluation/engine.js +191 -0
- package/dist/training/evaluation/engine.js.map +1 -0
- package/dist/training/evaluation/grader.d.ts +4 -0
- package/dist/training/evaluation/grader.js +67 -0
- package/dist/training/evaluation/grader.js.map +1 -0
- package/dist/training/evaluation/index.d.ts +10 -0
- package/dist/training/evaluation/index.js +9 -0
- package/dist/training/evaluation/index.js.map +1 -0
- package/dist/training/evaluation/logic/index.d.ts +1 -0
- package/dist/training/evaluation/logic/index.js +2 -0
- package/dist/training/evaluation/logic/index.js.map +1 -0
- package/dist/training/evaluation/logic/results.d.ts +7 -0
- package/dist/training/evaluation/logic/results.js +70 -0
- package/dist/training/evaluation/logic/results.js.map +1 -0
- package/dist/training/evaluation/mechanical/index.d.ts +6 -0
- package/dist/training/evaluation/mechanical/index.js +7 -0
- package/dist/training/evaluation/mechanical/index.js.map +1 -0
- package/dist/training/evaluation/mechanical/predicates.d.ts +2 -0
- package/dist/training/evaluation/mechanical/predicates.js +27 -0
- package/dist/training/evaluation/mechanical/predicates.js.map +1 -0
- package/dist/training/evaluation/mechanical/sequence.d.ts +3 -0
- package/dist/training/evaluation/mechanical/sequence.js +75 -0
- package/dist/training/evaluation/mechanical/sequence.js.map +1 -0
- package/dist/training/evaluation/mechanical/text-checks.d.ts +3 -0
- package/dist/training/evaluation/mechanical/text-checks.js +65 -0
- package/dist/training/evaluation/mechanical/text-checks.js.map +1 -0
- package/dist/training/evaluation/mechanical/text-values.d.ts +7 -0
- package/dist/training/evaluation/mechanical/text-values.js +28 -0
- package/dist/training/evaluation/mechanical/text-values.js.map +1 -0
- package/dist/training/evaluation/mechanical/text.d.ts +3 -0
- package/dist/training/evaluation/mechanical/text.js +40 -0
- package/dist/training/evaluation/mechanical/text.js.map +1 -0
- package/dist/training/evaluation/mechanical/token-efficiency.d.ts +4 -0
- package/dist/training/evaluation/mechanical/token-efficiency.js +28 -0
- package/dist/training/evaluation/mechanical/token-efficiency.js.map +1 -0
- package/dist/training/evaluation/mechanical/tools.d.ts +3 -0
- package/dist/training/evaluation/mechanical/tools.js +39 -0
- package/dist/training/evaluation/mechanical/tools.js.map +1 -0
- package/dist/training/evaluation/registry.d.ts +4 -0
- package/dist/training/evaluation/registry.js +64 -0
- package/dist/training/evaluation/registry.js.map +1 -0
- package/dist/training/evaluation/repair.d.ts +14 -0
- package/dist/training/evaluation/repair.js +73 -0
- package/dist/training/evaluation/repair.js.map +1 -0
- package/dist/training/evaluation/schedule.d.ts +21 -0
- package/dist/training/evaluation/schedule.js +98 -0
- package/dist/training/evaluation/schedule.js.map +1 -0
- package/dist/training/evaluation/selectors.d.ts +22 -0
- package/dist/training/evaluation/selectors.js +61 -0
- package/dist/training/evaluation/selectors.js.map +1 -0
- package/dist/training/evaluation/semantic/attempts.d.ts +12 -0
- package/dist/training/evaluation/semantic/attempts.js +71 -0
- package/dist/training/evaluation/semantic/attempts.js.map +1 -0
- package/dist/training/evaluation/semantic/cache.d.ts +9 -0
- package/dist/training/evaluation/semantic/cache.js +40 -0
- package/dist/training/evaluation/semantic/cache.js.map +1 -0
- package/dist/training/evaluation/semantic/evidence-units.d.ts +14 -0
- package/dist/training/evaluation/semantic/evidence-units.js +58 -0
- package/dist/training/evaluation/semantic/evidence-units.js.map +1 -0
- package/dist/training/evaluation/semantic/failure.d.ts +30 -0
- package/dist/training/evaluation/semantic/failure.js +79 -0
- package/dist/training/evaluation/semantic/failure.js.map +1 -0
- package/dist/training/evaluation/semantic/index.d.ts +5 -0
- package/dist/training/evaluation/semantic/index.js +5 -0
- package/dist/training/evaluation/semantic/index.js.map +1 -0
- package/dist/training/evaluation/semantic/judgment.d.ts +21 -0
- package/dist/training/evaluation/semantic/judgment.js +50 -0
- package/dist/training/evaluation/semantic/judgment.js.map +1 -0
- package/dist/training/evaluation/semantic/protocol.d.ts +118 -0
- package/dist/training/evaluation/semantic/protocol.js +48 -0
- package/dist/training/evaluation/semantic/protocol.js.map +1 -0
- package/dist/training/evaluation/semantic/rubric.d.ts +3 -0
- package/dist/training/evaluation/semantic/rubric.js +202 -0
- package/dist/training/evaluation/semantic/rubric.js.map +1 -0
- package/dist/training/evaluation/semantic/templates.d.ts +7 -0
- package/dist/training/evaluation/semantic/templates.js +75 -0
- package/dist/training/evaluation/semantic/templates.js.map +1 -0
- package/dist/training/experiments/comparison/index.d.ts +2 -0
- package/dist/training/experiments/comparison/index.js +2 -0
- package/dist/training/experiments/comparison/index.js.map +1 -0
- package/dist/training/experiments/comparison/run.d.ts +3 -0
- package/dist/training/experiments/comparison/run.js +92 -0
- package/dist/training/experiments/comparison/run.js.map +1 -0
- package/dist/training/experiments/comparison/types.d.ts +39 -0
- package/dist/training/experiments/comparison/types.js +2 -0
- package/dist/training/experiments/comparison/types.js.map +1 -0
- package/dist/training/experiments/concurrency/index.d.ts +2 -0
- package/dist/training/experiments/concurrency/index.js +2 -0
- package/dist/training/experiments/concurrency/index.js.map +1 -0
- package/dist/training/experiments/concurrency/slots.d.ts +50 -0
- package/dist/training/experiments/concurrency/slots.js +120 -0
- package/dist/training/experiments/concurrency/slots.js.map +1 -0
- package/dist/training/experiments/costs/assumptions.d.ts +4 -0
- package/dist/training/experiments/costs/assumptions.js +18 -0
- package/dist/training/experiments/costs/assumptions.js.map +1 -0
- package/dist/training/experiments/costs/catalog.d.ts +3 -0
- package/dist/training/experiments/costs/catalog.js +24 -0
- package/dist/training/experiments/costs/catalog.js.map +1 -0
- package/dist/training/experiments/costs/config.d.ts +6 -0
- package/dist/training/experiments/costs/config.js +22 -0
- package/dist/training/experiments/costs/config.js.map +1 -0
- package/dist/training/experiments/costs/decisions.d.ts +5 -0
- package/dist/training/experiments/costs/decisions.js +48 -0
- package/dist/training/experiments/costs/decisions.js.map +1 -0
- package/dist/training/experiments/costs/index.d.ts +9 -0
- package/dist/training/experiments/costs/index.js +7 -0
- package/dist/training/experiments/costs/index.js.map +1 -0
- package/dist/training/experiments/costs/planning.d.ts +71 -0
- package/dist/training/experiments/costs/planning.js +140 -0
- package/dist/training/experiments/costs/planning.js.map +1 -0
- package/dist/training/experiments/costs/report.d.ts +71 -0
- package/dist/training/experiments/costs/report.js +269 -0
- package/dist/training/experiments/costs/report.js.map +1 -0
- package/dist/training/experiments/costs/types.d.ts +53 -0
- package/dist/training/experiments/costs/types.js +2 -0
- package/dist/training/experiments/costs/types.js.map +1 -0
- package/dist/training/experiments/costs/valuation.d.ts +3 -0
- package/dist/training/experiments/costs/valuation.js +124 -0
- package/dist/training/experiments/costs/valuation.js.map +1 -0
- package/dist/training/experiments/index.d.ts +12 -0
- package/dist/training/experiments/index.js +12 -0
- package/dist/training/experiments/index.js.map +1 -0
- package/dist/training/experiments/repair/import.d.ts +21 -0
- package/dist/training/experiments/repair/import.js +104 -0
- package/dist/training/experiments/repair/import.js.map +1 -0
- package/dist/training/experiments/repair/index.d.ts +6 -0
- package/dist/training/experiments/repair/index.js +5 -0
- package/dist/training/experiments/repair/index.js.map +1 -0
- package/dist/training/experiments/repair/measurement.d.ts +14 -0
- package/dist/training/experiments/repair/measurement.js +101 -0
- package/dist/training/experiments/repair/measurement.js.map +1 -0
- package/dist/training/experiments/repair/projection.d.ts +3 -0
- package/dist/training/experiments/repair/projection.js +63 -0
- package/dist/training/experiments/repair/projection.js.map +1 -0
- package/dist/training/experiments/repair/receipt.d.ts +43 -0
- package/dist/training/experiments/repair/receipt.js +52 -0
- package/dist/training/experiments/repair/receipt.js.map +1 -0
- package/dist/training/experiments/repair/record.d.ts +4 -0
- package/dist/training/experiments/repair/record.js +24 -0
- package/dist/training/experiments/repair/record.js.map +1 -0
- package/dist/training/experiments/replay/fixture.d.ts +10 -0
- package/dist/training/experiments/replay/fixture.js +53 -0
- package/dist/training/experiments/replay/fixture.js.map +1 -0
- package/dist/training/experiments/replay/index.d.ts +3 -0
- package/dist/training/experiments/replay/index.js +3 -0
- package/dist/training/experiments/replay/index.js.map +1 -0
- package/dist/training/experiments/replay/rescore.d.ts +3 -0
- package/dist/training/experiments/replay/rescore.js +63 -0
- package/dist/training/experiments/replay/rescore.js.map +1 -0
- package/dist/training/experiments/replay/schema.d.ts +408 -0
- package/dist/training/experiments/replay/schema.js +126 -0
- package/dist/training/experiments/replay/schema.js.map +1 -0
- package/dist/training/experiments/replay/source.d.ts +6 -0
- package/dist/training/experiments/replay/source.js +35 -0
- package/dist/training/experiments/replay/source.js.map +1 -0
- package/dist/training/experiments/replay/subject-usage.d.ts +3 -0
- package/dist/training/experiments/replay/subject-usage.js +18 -0
- package/dist/training/experiments/replay/subject-usage.js.map +1 -0
- package/dist/training/experiments/replay/types.d.ts +63 -0
- package/dist/training/experiments/replay/types.js +2 -0
- package/dist/training/experiments/replay/types.js.map +1 -0
- package/dist/training/experiments/training/checkpoint.d.ts +51 -0
- package/dist/training/experiments/training/checkpoint.js +200 -0
- package/dist/training/experiments/training/checkpoint.js.map +1 -0
- package/dist/training/experiments/training/criteria.d.ts +3 -0
- package/dist/training/experiments/training/criteria.js +23 -0
- package/dist/training/experiments/training/criteria.js.map +1 -0
- package/dist/training/experiments/training/feedback.d.ts +15 -0
- package/dist/training/experiments/training/feedback.js +133 -0
- package/dist/training/experiments/training/feedback.js.map +1 -0
- package/dist/training/experiments/training/held-out.d.ts +24 -0
- package/dist/training/experiments/training/held-out.js +41 -0
- package/dist/training/experiments/training/held-out.js.map +1 -0
- package/dist/training/experiments/training/index.d.ts +7 -0
- package/dist/training/experiments/training/index.js +7 -0
- package/dist/training/experiments/training/index.js.map +1 -0
- package/dist/training/experiments/training/partition.d.ts +20 -0
- package/dist/training/experiments/training/partition.js +24 -0
- package/dist/training/experiments/training/partition.js.map +1 -0
- package/dist/training/experiments/training/recovery.d.ts +17 -0
- package/dist/training/experiments/training/recovery.js +54 -0
- package/dist/training/experiments/training/recovery.js.map +1 -0
- package/dist/training/experiments/training/retry.d.ts +14 -0
- package/dist/training/experiments/training/retry.js +16 -0
- package/dist/training/experiments/training/retry.js.map +1 -0
- package/dist/training/experiments/training/scoring.d.ts +4 -0
- package/dist/training/experiments/training/scoring.js +42 -0
- package/dist/training/experiments/training/scoring.js.map +1 -0
- package/dist/training/experiments/training/training.d.ts +85 -0
- package/dist/training/experiments/training/training.js +208 -0
- package/dist/training/experiments/training/training.js.map +1 -0
- package/dist/training/experiments/trials/bindings.d.ts +4 -0
- package/dist/training/experiments/trials/bindings.js +46 -0
- package/dist/training/experiments/trials/bindings.js.map +1 -0
- package/dist/training/experiments/trials/closure.d.ts +2 -0
- package/dist/training/experiments/trials/closure.js +26 -0
- package/dist/training/experiments/trials/closure.js.map +1 -0
- package/dist/training/experiments/trials/control.d.ts +13 -0
- package/dist/training/experiments/trials/control.js +74 -0
- package/dist/training/experiments/trials/control.js.map +1 -0
- package/dist/training/experiments/trials/diagnostics.d.ts +25 -0
- package/dist/training/experiments/trials/diagnostics.js +99 -0
- package/dist/training/experiments/trials/diagnostics.js.map +1 -0
- package/dist/training/experiments/trials/files.d.ts +8 -0
- package/dist/training/experiments/trials/files.js +113 -0
- package/dist/training/experiments/trials/files.js.map +1 -0
- package/dist/training/experiments/trials/fixture.d.ts +13 -0
- package/dist/training/experiments/trials/fixture.js +40 -0
- package/dist/training/experiments/trials/fixture.js.map +1 -0
- package/dist/training/experiments/trials/index.d.ts +5 -0
- package/dist/training/experiments/trials/index.js +5 -0
- package/dist/training/experiments/trials/index.js.map +1 -0
- package/dist/training/experiments/trials/live.d.ts +20 -0
- package/dist/training/experiments/trials/live.js +68 -0
- package/dist/training/experiments/trials/live.js.map +1 -0
- package/dist/training/experiments/trials/paths.d.ts +5 -0
- package/dist/training/experiments/trials/paths.js +90 -0
- package/dist/training/experiments/trials/paths.js.map +1 -0
- package/dist/training/experiments/trials/preflight.d.ts +3 -0
- package/dist/training/experiments/trials/preflight.js +23 -0
- package/dist/training/experiments/trials/preflight.js.map +1 -0
- package/dist/training/experiments/trials/stored.d.ts +23 -0
- package/dist/training/experiments/trials/stored.js +46 -0
- package/dist/training/experiments/trials/stored.js.map +1 -0
- package/dist/training/experiments/trials/subject-usage.d.ts +7 -0
- package/dist/training/experiments/trials/subject-usage.js +66 -0
- package/dist/training/experiments/trials/subject-usage.js.map +1 -0
- package/dist/training/experiments/trials/trial.d.ts +11 -0
- package/dist/training/experiments/trials/trial.js +361 -0
- package/dist/training/experiments/trials/trial.js.map +1 -0
- package/dist/training/experiments/trials/types.d.ts +124 -0
- package/dist/training/experiments/trials/types.js +2 -0
- package/dist/training/experiments/trials/types.js.map +1 -0
- package/dist/training/graders/admission.d.ts +11 -0
- package/dist/training/graders/admission.js +22 -0
- package/dist/training/graders/admission.js.map +1 -0
- package/dist/training/graders/aggregation.d.ts +30 -0
- package/dist/training/graders/aggregation.js +71 -0
- package/dist/training/graders/aggregation.js.map +1 -0
- package/dist/training/graders/atomic/aggregate.d.ts +10 -0
- package/dist/training/graders/atomic/aggregate.js +31 -0
- package/dist/training/graders/atomic/aggregate.js.map +1 -0
- package/dist/training/graders/atomic/feedback.d.ts +3 -0
- package/dist/training/graders/atomic/feedback.js +16 -0
- package/dist/training/graders/atomic/feedback.js.map +1 -0
- package/dist/training/graders/atomic/format.d.ts +61 -0
- package/dist/training/graders/atomic/format.js +53 -0
- package/dist/training/graders/atomic/format.js.map +1 -0
- package/dist/training/graders/atomic/index.d.ts +7 -0
- package/dist/training/graders/atomic/index.js +6 -0
- package/dist/training/graders/atomic/index.js.map +1 -0
- package/dist/training/graders/atomic/runtime.d.ts +4 -0
- package/dist/training/graders/atomic/runtime.js +94 -0
- package/dist/training/graders/atomic/runtime.js.map +1 -0
- package/dist/training/graders/atomic/schema.d.ts +5 -0
- package/dist/training/graders/atomic/schema.js +37 -0
- package/dist/training/graders/atomic/schema.js.map +1 -0
- package/dist/training/graders/atomic/types.d.ts +68 -0
- package/dist/training/graders/atomic/types.js +2 -0
- package/dist/training/graders/atomic/types.js.map +1 -0
- package/dist/training/graders/calibration/escalation.d.ts +50 -0
- package/dist/training/graders/calibration/escalation.js +145 -0
- package/dist/training/graders/calibration/escalation.js.map +1 -0
- package/dist/training/graders/calibration/fitting.d.ts +28 -0
- package/dist/training/graders/calibration/fitting.js +121 -0
- package/dist/training/graders/calibration/fitting.js.map +1 -0
- package/dist/training/graders/calibration/index.d.ts +7 -0
- package/dist/training/graders/calibration/index.js +5 -0
- package/dist/training/graders/calibration/index.js.map +1 -0
- package/dist/training/graders/calibration/metrics.d.ts +31 -0
- package/dist/training/graders/calibration/metrics.js +145 -0
- package/dist/training/graders/calibration/metrics.js.map +1 -0
- package/dist/training/graders/calibration/selection.d.ts +13 -0
- package/dist/training/graders/calibration/selection.js +30 -0
- package/dist/training/graders/calibration/selection.js.map +1 -0
- package/dist/training/graders/calibration/types.d.ts +68 -0
- package/dist/training/graders/calibration/types.js +2 -0
- package/dist/training/graders/calibration/types.js.map +1 -0
- package/dist/training/graders/consensus.d.ts +11 -0
- package/dist/training/graders/consensus.js +29 -0
- package/dist/training/graders/consensus.js.map +1 -0
- package/dist/training/graders/decomposition/evidence.d.ts +21 -0
- package/dist/training/graders/decomposition/evidence.js +107 -0
- package/dist/training/graders/decomposition/evidence.js.map +1 -0
- package/dist/training/graders/decomposition/format.d.ts +265 -0
- package/dist/training/graders/decomposition/format.js +98 -0
- package/dist/training/graders/decomposition/format.js.map +1 -0
- package/dist/training/graders/decomposition/index.d.ts +10 -0
- package/dist/training/graders/decomposition/index.js +6 -0
- package/dist/training/graders/decomposition/index.js.map +1 -0
- package/dist/training/graders/decomposition/instantiate.d.ts +26 -0
- package/dist/training/graders/decomposition/instantiate.js +129 -0
- package/dist/training/graders/decomposition/instantiate.js.map +1 -0
- package/dist/training/graders/decomposition/location.d.ts +20 -0
- package/dist/training/graders/decomposition/location.js +75 -0
- package/dist/training/graders/decomposition/location.js.map +1 -0
- package/dist/training/graders/decomposition/metadata.d.ts +8 -0
- package/dist/training/graders/decomposition/metadata.js +14 -0
- package/dist/training/graders/decomposition/metadata.js.map +1 -0
- package/dist/training/graders/decomposition/spans.d.ts +6 -0
- package/dist/training/graders/decomposition/spans.js +18 -0
- package/dist/training/graders/decomposition/spans.js.map +1 -0
- package/dist/training/graders/decomposition/transport.d.ts +76 -0
- package/dist/training/graders/decomposition/transport.js +14 -0
- package/dist/training/graders/decomposition/transport.js.map +1 -0
- package/dist/training/graders/format/binding.d.ts +3 -0
- package/dist/training/graders/format/binding.js +37 -0
- package/dist/training/graders/format/binding.js.map +1 -0
- package/dist/training/graders/format/common.d.ts +13 -0
- package/dist/training/graders/format/common.js +77 -0
- package/dist/training/graders/format/common.js.map +1 -0
- package/dist/training/graders/format/grader.d.ts +236 -0
- package/dist/training/graders/format/grader.js +161 -0
- package/dist/training/graders/format/grader.js.map +1 -0
- package/dist/training/graders/format/index.d.ts +11 -0
- package/dist/training/graders/format/index.js +8 -0
- package/dist/training/graders/format/index.js.map +1 -0
- package/dist/training/graders/format/label-import.d.ts +42 -0
- package/dist/training/graders/format/label-import.js +44 -0
- package/dist/training/graders/format/label-import.js.map +1 -0
- package/dist/training/graders/format/labels.d.ts +45 -0
- package/dist/training/graders/format/labels.js +109 -0
- package/dist/training/graders/format/labels.js.map +1 -0
- package/dist/training/graders/format/questions.d.ts +67 -0
- package/dist/training/graders/format/questions.js +104 -0
- package/dist/training/graders/format/questions.js.map +1 -0
- package/dist/training/graders/format/row-regex.d.ts +2 -0
- package/dist/training/graders/format/row-regex.js +56 -0
- package/dist/training/graders/format/row-regex.js.map +1 -0
- package/dist/training/graders/format/rows.d.ts +15 -0
- package/dist/training/graders/format/rows.js +31 -0
- package/dist/training/graders/format/rows.js.map +1 -0
- package/dist/training/graders/format/sentences.d.ts +2 -0
- package/dist/training/graders/format/sentences.js +30 -0
- package/dist/training/graders/format/sentences.js.map +1 -0
- package/dist/training/graders/identity-calibration.d.ts +4 -0
- package/dist/training/graders/identity-calibration.js +15 -0
- package/dist/training/graders/identity-calibration.js.map +1 -0
- package/dist/training/graders/identity.d.ts +119 -0
- package/dist/training/graders/identity.js +119 -0
- package/dist/training/graders/identity.js.map +1 -0
- package/dist/training/graders/index.d.ts +23 -0
- package/dist/training/graders/index.js +14 -0
- package/dist/training/graders/index.js.map +1 -0
- package/dist/training/graders/instances.d.ts +21 -0
- package/dist/training/graders/instances.js +121 -0
- package/dist/training/graders/instances.js.map +1 -0
- package/dist/training/graders/labeling/import.d.ts +8 -0
- package/dist/training/graders/labeling/import.js +51 -0
- package/dist/training/graders/labeling/import.js.map +1 -0
- package/dist/training/graders/labeling/index.d.ts +3 -0
- package/dist/training/graders/labeling/index.js +3 -0
- package/dist/training/graders/labeling/index.js.map +1 -0
- package/dist/training/graders/labeling/planning.d.ts +39 -0
- package/dist/training/graders/labeling/planning.js +117 -0
- package/dist/training/graders/labeling/planning.js.map +1 -0
- package/dist/training/graders/references/council.d.ts +2 -0
- package/dist/training/graders/references/council.js +182 -0
- package/dist/training/graders/references/council.js.map +1 -0
- package/dist/training/graders/references/index.d.ts +5 -0
- package/dist/training/graders/references/index.js +5 -0
- package/dist/training/graders/references/index.js.map +1 -0
- package/dist/training/graders/references/metrics.d.ts +133 -0
- package/dist/training/graders/references/metrics.js +113 -0
- package/dist/training/graders/references/metrics.js.map +1 -0
- package/dist/training/graders/references/policy.d.ts +10 -0
- package/dist/training/graders/references/policy.js +16 -0
- package/dist/training/graders/references/policy.js.map +1 -0
- package/dist/training/graders/references/protocol.d.ts +11 -0
- package/dist/training/graders/references/protocol.js +63 -0
- package/dist/training/graders/references/protocol.js.map +1 -0
- package/dist/training/graders/references/types.d.ts +92 -0
- package/dist/training/graders/references/types.js +2 -0
- package/dist/training/graders/references/types.js.map +1 -0
- package/dist/training/graders/rows.d.ts +14 -0
- package/dist/training/graders/rows.js +39 -0
- package/dist/training/graders/rows.js.map +1 -0
- package/dist/training/graders/runtime/accounting.d.ts +10 -0
- package/dist/training/graders/runtime/accounting.js +43 -0
- package/dist/training/graders/runtime/accounting.js.map +1 -0
- package/dist/training/graders/runtime/grade.d.ts +3 -0
- package/dist/training/graders/runtime/grade.js +161 -0
- package/dist/training/graders/runtime/grade.js.map +1 -0
- package/dist/training/graders/runtime/identity.d.ts +6 -0
- package/dist/training/graders/runtime/identity.js +24 -0
- package/dist/training/graders/runtime/identity.js.map +1 -0
- package/dist/training/graders/runtime/index.d.ts +5 -0
- package/dist/training/graders/runtime/index.js +5 -0
- package/dist/training/graders/runtime/index.js.map +1 -0
- package/dist/training/graders/runtime/schema.d.ts +29 -0
- package/dist/training/graders/runtime/schema.js +27 -0
- package/dist/training/graders/runtime/schema.js.map +1 -0
- package/dist/training/graders/runtime/teacher.d.ts +8 -0
- package/dist/training/graders/runtime/teacher.js +43 -0
- package/dist/training/graders/runtime/teacher.js.map +1 -0
- package/dist/training/graders/runtime/types.d.ts +48 -0
- package/dist/training/graders/runtime/types.js +2 -0
- package/dist/training/graders/runtime/types.js.map +1 -0
- package/dist/training/graders/traps/generate.d.ts +6 -0
- package/dist/training/graders/traps/generate.js +94 -0
- package/dist/training/graders/traps/generate.js.map +1 -0
- package/dist/training/graders/traps/index.d.ts +3 -0
- package/dist/training/graders/traps/index.js +3 -0
- package/dist/training/graders/traps/index.js.map +1 -0
- package/dist/training/graders/traps/mutations.d.ts +10 -0
- package/dist/training/graders/traps/mutations.js +48 -0
- package/dist/training/graders/traps/mutations.js.map +1 -0
- package/dist/training/graders/traps/types.d.ts +37 -0
- package/dist/training/graders/traps/types.js +2 -0
- package/dist/training/graders/traps/types.js.map +1 -0
- package/dist/training/graders/traps/validation.d.ts +4 -0
- package/dist/training/graders/traps/validation.js +118 -0
- package/dist/training/graders/traps/validation.js.map +1 -0
- package/dist/training/index.d.ts +17 -0
- package/dist/training/index.js +16 -0
- package/dist/training/index.js.map +1 -0
- package/dist/training/inference/claude/index.d.ts +1 -0
- package/dist/training/inference/claude/index.js +2 -0
- package/dist/training/inference/claude/index.js.map +1 -0
- package/dist/training/inference/claude/protocol.d.ts +16 -0
- package/dist/training/inference/claude/protocol.js +72 -0
- package/dist/training/inference/claude/protocol.js.map +1 -0
- package/dist/training/inference/claude/provider.d.ts +9 -0
- package/dist/training/inference/claude/provider.js +153 -0
- package/dist/training/inference/claude/provider.js.map +1 -0
- package/dist/training/inference/claude/refusal.d.ts +2 -0
- package/dist/training/inference/claude/refusal.js +37 -0
- package/dist/training/inference/claude/refusal.js.map +1 -0
- package/dist/training/inference/decision/http.d.ts +14 -0
- package/dist/training/inference/decision/http.js +57 -0
- package/dist/training/inference/decision/http.js.map +1 -0
- package/dist/training/inference/decision/index.d.ts +6 -0
- package/dist/training/inference/decision/index.js +6 -0
- package/dist/training/inference/decision/index.js.map +1 -0
- package/dist/training/inference/decision/jev.d.ts +4 -0
- package/dist/training/inference/decision/jev.js +163 -0
- package/dist/training/inference/decision/jev.js.map +1 -0
- package/dist/training/inference/decision/ollama.d.ts +9 -0
- package/dist/training/inference/decision/ollama.js +101 -0
- package/dist/training/inference/decision/ollama.js.map +1 -0
- package/dist/training/inference/decision/prompt.d.ts +6 -0
- package/dist/training/inference/decision/prompt.js +19 -0
- package/dist/training/inference/decision/prompt.js.map +1 -0
- package/dist/training/inference/decision/teacher.d.ts +7 -0
- package/dist/training/inference/decision/teacher.js +61 -0
- package/dist/training/inference/decision/teacher.js.map +1 -0
- package/dist/training/inference/decision/typesafe/index.d.ts +9 -0
- package/dist/training/inference/decision/typesafe/index.js +82 -0
- package/dist/training/inference/decision/typesafe/index.js.map +1 -0
- package/dist/training/inference/decision/typesafe/transport.d.ts +44 -0
- package/dist/training/inference/decision/typesafe/transport.js +151 -0
- package/dist/training/inference/decision/typesafe/transport.js.map +1 -0
- package/dist/training/inference/decision/typesafe/wire.d.ts +25 -0
- package/dist/training/inference/decision/typesafe/wire.js +49 -0
- package/dist/training/inference/decision/typesafe/wire.js.map +1 -0
- package/dist/training/inference/diagnostic.d.ts +3 -0
- package/dist/training/inference/diagnostic.js +14 -0
- package/dist/training/inference/diagnostic.js.map +1 -0
- package/dist/training/inference/evaluator/index.d.ts +3 -0
- package/dist/training/inference/evaluator/index.js +4 -0
- package/dist/training/inference/evaluator/index.js.map +1 -0
- package/dist/training/inference/evaluator/ledger.d.ts +29 -0
- package/dist/training/inference/evaluator/ledger.js +70 -0
- package/dist/training/inference/evaluator/ledger.js.map +1 -0
- package/dist/training/inference/evaluator/policy.d.ts +39 -0
- package/dist/training/inference/evaluator/policy.js +67 -0
- package/dist/training/inference/evaluator/policy.js.map +1 -0
- package/dist/training/inference/evaluator/provider.d.ts +6 -0
- package/dist/training/inference/evaluator/provider.js +45 -0
- package/dist/training/inference/evaluator/provider.js.map +1 -0
- package/dist/training/inference/failure.d.ts +27 -0
- package/dist/training/inference/failure.js +36 -0
- package/dist/training/inference/failure.js.map +1 -0
- package/dist/training/inference/index.d.ts +8 -0
- package/dist/training/inference/index.js +9 -0
- package/dist/training/inference/index.js.map +1 -0
- package/dist/training/inference/ollama/context.d.ts +2 -0
- package/dist/training/inference/ollama/context.js +28 -0
- package/dist/training/inference/ollama/context.js.map +1 -0
- package/dist/training/inference/ollama/index.d.ts +2 -0
- package/dist/training/inference/ollama/index.js +3 -0
- package/dist/training/inference/ollama/index.js.map +1 -0
- package/dist/training/inference/ollama/provider.d.ts +12 -0
- package/dist/training/inference/ollama/provider.js +100 -0
- package/dist/training/inference/ollama/provider.js.map +1 -0
- package/dist/training/inference/request-cap.d.ts +7 -0
- package/dist/training/inference/request-cap.js +22 -0
- package/dist/training/inference/request-cap.js.map +1 -0
- package/dist/training/inference/response-schema.d.ts +9 -0
- package/dist/training/inference/response-schema.js +54 -0
- package/dist/training/inference/response-schema.js.map +1 -0
- package/dist/training/inference/routing.d.ts +17 -0
- package/dist/training/inference/routing.js +152 -0
- package/dist/training/inference/routing.js.map +1 -0
- package/dist/training/optimization/boundaries.d.ts +8 -0
- package/dist/training/optimization/boundaries.js +31 -0
- package/dist/training/optimization/boundaries.js.map +1 -0
- package/dist/training/optimization/bridge-fixtures.d.ts +13 -0
- package/dist/training/optimization/bridge-fixtures.js +40 -0
- package/dist/training/optimization/bridge-fixtures.js.map +1 -0
- package/dist/training/optimization/bridge-identity.d.ts +8 -0
- package/dist/training/optimization/bridge-identity.js +110 -0
- package/dist/training/optimization/bridge-identity.js.map +1 -0
- package/dist/training/optimization/checkpoint.d.ts +35 -0
- package/dist/training/optimization/checkpoint.js +187 -0
- package/dist/training/optimization/checkpoint.js.map +1 -0
- package/dist/training/optimization/evidence.d.ts +4 -0
- package/dist/training/optimization/evidence.js +65 -0
- package/dist/training/optimization/evidence.js.map +1 -0
- package/dist/training/optimization/host.d.ts +27 -0
- package/dist/training/optimization/host.js +144 -0
- package/dist/training/optimization/host.js.map +1 -0
- package/dist/training/optimization/index.d.ts +8 -0
- package/dist/training/optimization/index.js +6 -0
- package/dist/training/optimization/index.js.map +1 -0
- package/dist/training/optimization/inference.d.ts +4 -0
- package/dist/training/optimization/inference.js +33 -0
- package/dist/training/optimization/inference.js.map +1 -0
- package/dist/training/optimization/population-evidence.d.ts +4 -0
- package/dist/training/optimization/population-evidence.js +152 -0
- package/dist/training/optimization/population-evidence.js.map +1 -0
- package/dist/training/optimization/protocol.d.ts +532 -0
- package/dist/training/optimization/protocol.js +146 -0
- package/dist/training/optimization/protocol.js.map +1 -0
- package/dist/training/optimization/runner.d.ts +5 -0
- package/dist/training/optimization/runner.js +129 -0
- package/dist/training/optimization/runner.js.map +1 -0
- package/dist/training/optimization/testSupport.d.ts +9 -0
- package/dist/training/optimization/testSupport.js +29 -0
- package/dist/training/optimization/testSupport.js.map +1 -0
- package/dist/training/optimization/types.d.ts +73 -0
- package/dist/training/optimization/types.js +11 -0
- package/dist/training/optimization/types.js.map +1 -0
- package/dist/training/platform/index.d.ts +1 -0
- package/dist/training/platform/index.js +2 -0
- package/dist/training/platform/index.js.map +1 -0
- package/dist/training/platform/mutations/index.d.ts +5 -0
- package/dist/training/platform/mutations/index.js +10 -0
- package/dist/training/platform/mutations/index.js.map +1 -0
- package/dist/training/platform/process/index.d.ts +1 -0
- package/dist/training/platform/process/index.js +2 -0
- package/dist/training/platform/process/index.js.map +1 -0
- package/dist/training/platform/process/runner.d.ts +32 -0
- package/dist/training/platform/process/runner.js +190 -0
- package/dist/training/platform/process/runner.js.map +1 -0
- package/dist/training/providers/index.d.ts +2 -0
- package/dist/training/providers/index.js +3 -0
- package/dist/training/providers/index.js.map +1 -0
- package/dist/training/providers/policy.d.ts +23 -0
- package/dist/training/providers/policy.js +27 -0
- package/dist/training/providers/policy.js.map +1 -0
- package/dist/training/providers/registry.d.ts +2 -0
- package/dist/training/providers/registry.js +62 -0
- package/dist/training/providers/registry.js.map +1 -0
- package/dist/training/storage/cache/index.d.ts +2 -0
- package/dist/training/storage/cache/index.js +2 -0
- package/dist/training/storage/cache/index.js.map +1 -0
- package/dist/training/storage/cache/persistent.d.ts +12 -0
- package/dist/training/storage/cache/persistent.js +124 -0
- package/dist/training/storage/cache/persistent.js.map +1 -0
- package/dist/training/storage/cache/schema.d.ts +2 -0
- package/dist/training/storage/cache/schema.js +62 -0
- package/dist/training/storage/cache/schema.js.map +1 -0
- package/dist/training/storage/content.d.ts +13 -0
- package/dist/training/storage/content.js +44 -0
- package/dist/training/storage/content.js.map +1 -0
- package/dist/training/storage/evaluation-json.d.ts +12 -0
- package/dist/training/storage/evaluation-json.js +46 -0
- package/dist/training/storage/evaluation-json.js.map +1 -0
- package/dist/training/storage/filesystem.d.ts +6 -0
- package/dist/training/storage/filesystem.js +95 -0
- package/dist/training/storage/filesystem.js.map +1 -0
- package/dist/training/storage/index.d.ts +6 -0
- package/dist/training/storage/index.js +5 -0
- package/dist/training/storage/index.js.map +1 -0
- package/dist/training/storage/journal.d.ts +11 -0
- package/dist/training/storage/journal.js +81 -0
- package/dist/training/storage/journal.js.map +1 -0
- package/dist/training/storage/permissions.d.ts +5 -0
- package/dist/training/storage/permissions.js +40 -0
- package/dist/training/storage/permissions.js.map +1 -0
- package/dist/training/storage/store.d.ts +2 -0
- package/dist/training/storage/store.js +162 -0
- package/dist/training/storage/store.js.map +1 -0
- package/dist/training/storage/types.d.ts +67 -0
- package/dist/training/storage/types.js +2 -0
- package/dist/training/storage/types.js.map +1 -0
- package/dist/training/subjects/environment.d.ts +2 -0
- package/dist/training/subjects/environment.js +14 -0
- package/dist/training/subjects/environment.js.map +1 -0
- package/dist/training/subjects/index.d.ts +3 -0
- package/dist/training/subjects/index.js +3 -0
- package/dist/training/subjects/index.js.map +1 -0
- package/dist/training/subjects/registry.d.ts +15 -0
- package/dist/training/subjects/registry.js +13 -0
- package/dist/training/subjects/registry.js.map +1 -0
- package/dist/training/testing/evidence.d.ts +6 -0
- package/dist/training/testing/evidence.js +21 -0
- package/dist/training/testing/evidence.js.map +1 -0
- package/dist/training/testing/index.d.ts +1 -0
- package/dist/training/testing/index.js +2 -0
- package/dist/training/testing/index.js.map +1 -0
- package/dist/training/viewer/cockpit/activity.d.ts +2 -0
- package/dist/training/viewer/cockpit/activity.js +14 -0
- package/dist/training/viewer/cockpit/activity.js.map +1 -0
- package/dist/training/viewer/cockpit/evidence.d.ts +4 -0
- package/dist/training/viewer/cockpit/evidence.js +58 -0
- package/dist/training/viewer/cockpit/evidence.js.map +1 -0
- package/dist/training/viewer/cockpit/format.d.ts +11 -0
- package/dist/training/viewer/cockpit/format.js +27 -0
- package/dist/training/viewer/cockpit/format.js.map +1 -0
- package/dist/training/viewer/cockpit/index.d.ts +4 -0
- package/dist/training/viewer/cockpit/index.js +5 -0
- package/dist/training/viewer/cockpit/index.js.map +1 -0
- package/dist/training/viewer/cockpit/interaction.d.ts +2 -0
- package/dist/training/viewer/cockpit/interaction.js +103 -0
- package/dist/training/viewer/cockpit/interaction.js.map +1 -0
- package/dist/training/viewer/cockpit/overview.d.ts +4 -0
- package/dist/training/viewer/cockpit/overview.js +62 -0
- package/dist/training/viewer/cockpit/overview.js.map +1 -0
- package/dist/training/viewer/cockpit/page.d.ts +2 -0
- package/dist/training/viewer/cockpit/page.js +39 -0
- package/dist/training/viewer/cockpit/page.js.map +1 -0
- package/dist/training/viewer/cockpit/plots.d.ts +6 -0
- package/dist/training/viewer/cockpit/plots.js +67 -0
- package/dist/training/viewer/cockpit/plots.js.map +1 -0
- package/dist/training/viewer/cockpit/responsive.d.ts +2 -0
- package/dist/training/viewer/cockpit/responsive.js +86 -0
- package/dist/training/viewer/cockpit/responsive.js.map +1 -0
- package/dist/training/viewer/cockpit/styles.d.ts +2 -0
- package/dist/training/viewer/cockpit/styles.js +349 -0
- package/dist/training/viewer/cockpit/styles.js.map +1 -0
- package/dist/training/viewer/costs.d.ts +4 -0
- package/dist/training/viewer/costs.js +81 -0
- package/dist/training/viewer/costs.js.map +1 -0
- package/dist/training/viewer/from-trials.d.ts +33 -0
- package/dist/training/viewer/from-trials.js +96 -0
- package/dist/training/viewer/from-trials.js.map +1 -0
- package/dist/training/viewer/index.d.ts +4 -0
- package/dist/training/viewer/index.js +4 -0
- package/dist/training/viewer/index.js.map +1 -0
- package/dist/training/viewer/metrics/candidates.d.ts +10 -0
- package/dist/training/viewer/metrics/candidates.js +56 -0
- package/dist/training/viewer/metrics/candidates.js.map +1 -0
- package/dist/training/viewer/metrics/index.d.ts +2 -0
- package/dist/training/viewer/metrics/index.js +2 -0
- package/dist/training/viewer/metrics/index.js.map +1 -0
- package/dist/training/viewer/metrics/model.d.ts +4 -0
- package/dist/training/viewer/metrics/model.js +11 -0
- package/dist/training/viewer/metrics/model.js.map +1 -0
- package/dist/training/viewer/metrics/recorded-costs.d.ts +4 -0
- package/dist/training/viewer/metrics/recorded-costs.js +55 -0
- package/dist/training/viewer/metrics/recorded-costs.js.map +1 -0
- package/dist/training/viewer/metrics/scores.d.ts +11 -0
- package/dist/training/viewer/metrics/scores.js +139 -0
- package/dist/training/viewer/metrics/scores.js.map +1 -0
- package/dist/training/viewer/metrics/types.d.ts +95 -0
- package/dist/training/viewer/metrics/types.js +2 -0
- package/dist/training/viewer/metrics/types.js.map +1 -0
- package/dist/training/viewer/page.d.ts +4 -0
- package/dist/training/viewer/page.js +7 -0
- package/dist/training/viewer/page.js.map +1 -0
- package/dist/training/viewer/projection.d.ts +3 -0
- package/dist/training/viewer/projection.js +98 -0
- package/dist/training/viewer/projection.js.map +1 -0
- package/dist/training/viewer/server.d.ts +3 -0
- package/dist/training/viewer/server.js +80 -0
- package/dist/training/viewer/server.js.map +1 -0
- package/dist/training/viewer/stream.d.ts +7 -0
- package/dist/training/viewer/stream.js +70 -0
- package/dist/training/viewer/stream.js.map +1 -0
- package/dist/training/viewer/types.d.ts +172 -0
- package/dist/training/viewer/types.js +2 -0
- package/dist/training/viewer/types.js.map +1 -0
- package/examples/training/AGENTS.md +19 -0
- package/examples/training/fixed-questions/AGENTS.md +7 -0
- package/examples/training/fixed-questions/README.md +19 -0
- package/examples/training/fixed-questions/evals/AGENTS.md +7 -0
- package/examples/training/fixed-questions/evals/delivery.spawnfile-training.yaml +33 -0
- package/examples/training/fixed-questions/evals/item.grader.yaml +41 -0
- package/examples/training/native-formatting/AGENTS.md +10 -0
- package/examples/training/native-formatting/PROMPT.md +4 -0
- package/examples/training/native-formatting/README.md +63 -0
- package/examples/training/native-formatting/SOUL.md +4 -0
- package/examples/training/native-formatting/evals/AGENTS.md +6 -0
- package/examples/training/native-formatting/evals/test.spawnfile-training.yaml +22 -0
- package/examples/training/native-formatting/evals/train.spawnfile-training.yaml +32 -0
- package/examples/training/newsroom-reporting/.spawnignore +4 -0
- package/examples/training/newsroom-reporting/AGENTS.md +24 -0
- package/examples/training/newsroom-reporting/README.md +255 -0
- package/examples/training/newsroom-reporting/Spawnfile +248 -0
- package/examples/training/newsroom-reporting/environment/AGENTS.md +14 -0
- package/examples/training/newsroom-reporting/environment/scribe/AGENTS.md +28 -0
- package/examples/training/newsroom-reporting/environment/scribe/RUNBOOK.md +50 -0
- package/examples/training/newsroom-reporting/environment/scribe/SOUL.md +6 -0
- package/examples/training/newsroom-reporting/evals/AGENTS.md +14 -0
- package/examples/training/newsroom-reporting/evals/test.spawnfile-training.yaml +165 -0
- package/examples/training/newsroom-reporting/evals/train.spawnfile-training.yaml +195 -0
- package/package.json +19 -6
- package/runtimes.yaml +6 -6
- package/dist/cli/paideiaDelegation.js +0 -211
- package/dist/cli/paideiaSupervisor.d.ts +0 -17
- package/dist/cli/paideiaSupervisor.js +0 -48
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { readFile, stat } from 'node:fs/promises';
|
|
2
|
+
import { isAbsolute } from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
const slotSchema = z.object({
|
|
5
|
+
index: z.number().int().min(0).max(7),
|
|
6
|
+
workerUid: z.number().int().positive().max(4_294_967_294),
|
|
7
|
+
roots: z.record(z.string().min(1), z.string().refine(isAbsolute)),
|
|
8
|
+
ports: z.object({ base: z.number().int().min(1024).max(65535), count: z.number().int().positive() }).strict(),
|
|
9
|
+
}).strict();
|
|
10
|
+
const sharedUidSlotSchema = slotSchema.extend({ isolation: z.literal('shared-uid') });
|
|
11
|
+
const provisionedSlotSchema = z.union([slotSchema, sharedUidSlotSchema]);
|
|
12
|
+
const slotsDocumentSchema = z.discriminatedUnion('schema', [
|
|
13
|
+
z.object({ schema: z.literal('spawnfile.training-slots.v1'), slots: z.array(slotSchema).min(1).max(8) }).strict(),
|
|
14
|
+
z.object({ schema: z.literal('spawnfile.training-slots.v2'), slots: z.array(sharedUidSlotSchema).min(1).max(8) }).strict(),
|
|
15
|
+
]);
|
|
16
|
+
export const trialConcurrency = (value) => z.number().int().min(1).max(8).parse(value);
|
|
17
|
+
export async function loadTrialSlots(options = {}) {
|
|
18
|
+
if (options.concurrency !== undefined)
|
|
19
|
+
trialConcurrency(options.concurrency);
|
|
20
|
+
let slots = options.slots;
|
|
21
|
+
if (!slots) {
|
|
22
|
+
const path = options.slotsFile ?? '/run/spawnfile-training/slots.json';
|
|
23
|
+
try {
|
|
24
|
+
const info = await stat(path);
|
|
25
|
+
if ((info.mode & 0o222) !== 0)
|
|
26
|
+
throw new Error('Trial slot descriptor file must be read-only');
|
|
27
|
+
const document = slotsDocumentSchema.parse(JSON.parse(await readFile(path, 'utf8')));
|
|
28
|
+
slots = document.slots;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
if (error.code !== 'ENOENT' || options.slotsFile)
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!slots) {
|
|
36
|
+
if ((options.concurrency ?? 1) > 1)
|
|
37
|
+
throw new Error('Concurrent trials require provisioned slot descriptors');
|
|
38
|
+
return { concurrency: 1, pool: undefined, slots: undefined };
|
|
39
|
+
}
|
|
40
|
+
const parsed = z.array(provisionedSlotSchema).min(1).max(8).parse(slots);
|
|
41
|
+
for (const [i, slot] of parsed.entries()) {
|
|
42
|
+
const sharedUid = 'isolation' in slot && slot.isolation === 'shared-uid';
|
|
43
|
+
if (slot.ports.base + slot.ports.count > 65536 || !sharedUid && !Object.keys(slot.roots).length)
|
|
44
|
+
throw new Error('Invalid slot roots or port block');
|
|
45
|
+
for (const prior of parsed.slice(0, i)) {
|
|
46
|
+
const sharedIdentity = sharedUid && 'isolation' in prior && prior.isolation === 'shared-uid';
|
|
47
|
+
if (prior.index === slot.index || prior.workerUid === slot.workerUid && !sharedIdentity ||
|
|
48
|
+
prior.ports.base < slot.ports.base + slot.ports.count && slot.ports.base < prior.ports.base + prior.ports.count) {
|
|
49
|
+
throw new Error('Slot indices, worker identities and port blocks must be disjoint');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const concurrency = options.concurrency ?? parsed.length;
|
|
54
|
+
if (concurrency > parsed.length)
|
|
55
|
+
throw new Error('Trial concurrency exceeds provisioned slots');
|
|
56
|
+
return { concurrency, pool: new SlotPool(parsed.slice(0, concurrency)), slots: parsed };
|
|
57
|
+
}
|
|
58
|
+
/** Resolve an offset from the descriptor supplied to native preparation. */
|
|
59
|
+
export function slotPort(slot, index) {
|
|
60
|
+
if (!Number.isSafeInteger(index) || index < 0 || index >= slot.ports.count)
|
|
61
|
+
throw new RangeError('Port index is outside the leased block');
|
|
62
|
+
return slot.ports.base + index;
|
|
63
|
+
}
|
|
64
|
+
export class SlotPool {
|
|
65
|
+
free;
|
|
66
|
+
waiting = [];
|
|
67
|
+
usable;
|
|
68
|
+
quarantined = [];
|
|
69
|
+
constructor(slots) {
|
|
70
|
+
if (!slots.length)
|
|
71
|
+
throw new Error('No usable trial slots remain');
|
|
72
|
+
this.free = structuredClone([...slots]);
|
|
73
|
+
this.usable = slots.length;
|
|
74
|
+
}
|
|
75
|
+
acquire(signal) {
|
|
76
|
+
if (signal?.aborted)
|
|
77
|
+
return Promise.reject(signal.reason);
|
|
78
|
+
if (!this.usable)
|
|
79
|
+
return Promise.reject(this.exhausted());
|
|
80
|
+
const slot = this.free.shift();
|
|
81
|
+
if (slot)
|
|
82
|
+
return Promise.resolve(this.lease(slot));
|
|
83
|
+
return new Promise((resolve, reject) => {
|
|
84
|
+
const waiter = { resolve, reject, signal, abort: () => {
|
|
85
|
+
this.waiting.splice(this.waiting.indexOf(waiter), 1);
|
|
86
|
+
reject(signal.reason);
|
|
87
|
+
} };
|
|
88
|
+
this.waiting.push(waiter);
|
|
89
|
+
signal?.addEventListener('abort', waiter.abort, { once: true });
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
lease(slot) {
|
|
93
|
+
let released = false;
|
|
94
|
+
return { slot: structuredClone(slot), port: index => slotPort(slot, index), release: (confirmed, cause) => {
|
|
95
|
+
if (released)
|
|
96
|
+
throw new Error('Trial slot lease already released');
|
|
97
|
+
released = true;
|
|
98
|
+
if (confirmed)
|
|
99
|
+
this.free.push(slot);
|
|
100
|
+
else {
|
|
101
|
+
this.usable -= 1;
|
|
102
|
+
this.quarantined.push(`slot ${slot.index}: ${cause?.trim().slice(0, 300) || 'closure unconfirmed'}`);
|
|
103
|
+
}
|
|
104
|
+
while (this.waiting.length && (this.free.length || !this.usable)) {
|
|
105
|
+
const waiter = this.waiting.shift();
|
|
106
|
+
waiter.signal?.removeEventListener('abort', waiter.abort);
|
|
107
|
+
if (!this.usable)
|
|
108
|
+
waiter.reject(this.exhausted());
|
|
109
|
+
else
|
|
110
|
+
waiter.resolve(this.lease(this.free.shift()));
|
|
111
|
+
}
|
|
112
|
+
if (!this.usable)
|
|
113
|
+
throw this.exhausted();
|
|
114
|
+
} };
|
|
115
|
+
}
|
|
116
|
+
exhausted() {
|
|
117
|
+
return new Error(`No usable trial slots remain; all slots quarantined (${this.quarantined.join('; ')})`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=slots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slots.js","sourceRoot":"","sources":["../../../../src/training/experiments/concurrency/slots.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CostAssumptions } from './types.js';
|
|
2
|
+
/** Broad uncalibrated planning ranges per complete trial / inference call, not measured limits. */
|
|
3
|
+
export declare const defaultCostAssumptions: CostAssumptions;
|
|
4
|
+
export declare function resolveCostAssumptions(input?: unknown): CostAssumptions;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
const range = z.object({ low: z.number().int().nonnegative().max(1e9), high: z.number().int().nonnegative().max(1e9) })
|
|
3
|
+
.strict().refine(value => value.low <= value.high, 'Range low must not exceed high');
|
|
4
|
+
const fraction = z.object({ low: z.number().min(0).max(1), high: z.number().min(0).max(1) })
|
|
5
|
+
.strict().refine(value => value.low <= value.high, 'Range low must not exceed high');
|
|
6
|
+
const tokens = z.object({ inputTokens: range, outputTokens: range, cacheReadFraction: fraction }).strict();
|
|
7
|
+
const schema = z.object({ subject: tokens.optional(), judge: tokens.optional(), optimizer: tokens.optional(),
|
|
8
|
+
judges: z.record(z.string().min(1), tokens).optional() }).strict();
|
|
9
|
+
/** Broad uncalibrated planning ranges per complete trial / inference call, not measured limits. */
|
|
10
|
+
export const defaultCostAssumptions = {
|
|
11
|
+
subject: { inputTokens: { low: 10000, high: 250000 }, outputTokens: { low: 2000, high: 16000 }, cacheReadFraction: { low: 0, high: 0.8 } },
|
|
12
|
+
judge: { inputTokens: { low: 2000, high: 32000 }, outputTokens: { low: 200, high: 2000 }, cacheReadFraction: { low: 0, high: 0.5 } },
|
|
13
|
+
optimizer: { inputTokens: { low: 8000, high: 64000 }, outputTokens: { low: 500, high: 8000 }, cacheReadFraction: { low: 0, high: 0.5 } },
|
|
14
|
+
};
|
|
15
|
+
export function resolveCostAssumptions(input = {}) {
|
|
16
|
+
return structuredClone({ ...defaultCostAssumptions, ...schema.parse(input) });
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=assumptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assumptions.js","sourceRoot":"","sources":["../../../../src/training/experiments/costs/assumptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;KACpH,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;AACvF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KACzF,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;AACvF,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAC3G,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE;IAC1G,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAErE,mGAAmG;AACnG,MAAM,CAAC,MAAM,sBAAsB,GAAoB;IACrD,OAAO,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC1I,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IACpI,SAAS,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;CACzI,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,QAAiB,EAAE;IACxD,OAAO,eAAe,CAAC,EAAE,GAAG,sBAAsB,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Offline snapshot; refreshing rates is an explicit source change, never a dry-run side effect. */
|
|
2
|
+
export const standardPrices = [
|
|
3
|
+
{
|
|
4
|
+
model: 'gpt-5.5', vendor: 'openai', currency: 'USD',
|
|
5
|
+
perMillion: { input: 5, cacheRead: 0.5, output: 30 },
|
|
6
|
+
source: 'https://developers.openai.com/api/docs/models/gpt-5.5', checkedAt: '2026-09-13',
|
|
7
|
+
scope: 'Standard global text-token pricing; excludes tools, regional uplifts and priority tiers.',
|
|
8
|
+
longContext: { aboveInputTokens: 272000, inputMultiplier: 2, outputMultiplier: 1.5 },
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
model: 'gpt-5.5-2026-04-23', vendor: 'openai', currency: 'USD',
|
|
12
|
+
perMillion: { input: 5, cacheRead: 0.5, output: 30 },
|
|
13
|
+
source: 'https://developers.openai.com/api/docs/models/gpt-5.5', checkedAt: '2026-09-13',
|
|
14
|
+
scope: 'Standard global text-token pricing; excludes tools, regional uplifts and priority tiers.',
|
|
15
|
+
longContext: { aboveInputTokens: 272000, inputMultiplier: 2, outputMultiplier: 1.5 },
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
model: 'claude-fable-5-1', vendor: 'anthropic', currency: 'USD',
|
|
19
|
+
perMillion: { input: 10, cacheRead: 0.25, output: 50, cacheWrite5m: 12.5, cacheWrite1h: 20 },
|
|
20
|
+
source: 'https://platform.claude.com/docs/en/about-claude/pricing', checkedAt: '2026-09-13',
|
|
21
|
+
scope: 'Standard global text-token pricing; excludes tools, residency and fast-mode surcharges.',
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../src/training/experiments/costs/catalog.ts"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAA0B;IACnD;QACE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;QACnD,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QACpD,MAAM,EAAE,uDAAuD,EAAE,SAAS,EAAE,YAAY;QACxF,KAAK,EAAE,0FAA0F;QACjG,WAAW,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE;KACrF;IACD;QACE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK;QAC9D,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QACpD,MAAM,EAAE,uDAAuD,EAAE,SAAS,EAAE,YAAY;QACxF,KAAK,EAAE,0FAA0F;QACjG,WAAW,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE;KACrF;IACD;QACE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK;QAC/D,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE;QAC5F,MAAM,EAAE,0DAA0D,EAAE,SAAS,EAAE,YAAY;QAC3F,KAAK,EAAE,yFAAyF;KACjG;CACF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CostAssumptions, ModelPrice } from './types.js';
|
|
2
|
+
/** Explicit per-model overrides; no alias guessing and no network price refresh. */
|
|
3
|
+
export declare function resolveCostConfig(value?: unknown): {
|
|
4
|
+
assumptions: CostAssumptions;
|
|
5
|
+
prices: ModelPrice[];
|
|
6
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { compatibleWireLiteral } from '../../contracts/index.js';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { resolveCostAssumptions } from './assumptions.js';
|
|
4
|
+
import { standardPrices } from './catalog.js';
|
|
5
|
+
const rate = z.number().nonnegative().finite();
|
|
6
|
+
const price = z.object({ model: z.string().min(1), vendor: z.string().min(1), currency: z.literal('USD'),
|
|
7
|
+
perMillion: z.object({ input: rate, cacheRead: rate, output: rate, cacheWrite5m: rate.optional(), cacheWrite1h: rate.optional() }).strict(),
|
|
8
|
+
source: z.string().min(1), checkedAt: z.iso.date(), scope: z.string().min(1),
|
|
9
|
+
longContext: z.object({ aboveInputTokens: z.number().int().positive(), inputMultiplier: z.number().min(1), outputMultiplier: z.number().min(1) }).strict().optional(),
|
|
10
|
+
}).strict();
|
|
11
|
+
const schema = z.object({ schema: compatibleWireLiteral('spawnfile.training.cost-config.v1'), assumptions: z.unknown().optional(),
|
|
12
|
+
prices: z.array(price).optional() }).strict();
|
|
13
|
+
/** Explicit per-model overrides; no alias guessing and no network price refresh. */
|
|
14
|
+
export function resolveCostConfig(value) {
|
|
15
|
+
const config = value === undefined ? undefined : schema.parse(value);
|
|
16
|
+
const overrides = config?.prices ?? [];
|
|
17
|
+
if (new Set(overrides.map(entry => entry.model)).size !== overrides.length)
|
|
18
|
+
throw new Error('Duplicate cost model override');
|
|
19
|
+
return { assumptions: resolveCostAssumptions(config?.assumptions),
|
|
20
|
+
prices: structuredClone([...standardPrices.filter(entry => !overrides.some(override => override.model === entry.model)), ...overrides]) };
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/training/experiments/costs/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAC;AAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtG,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3I,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtK,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAqB,CAAC,mCAAmC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/H,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhD,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,KAAe;IAC/C,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAC7H,OAAO,EAAE,WAAW,EAAE,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC;QAC/D,MAAM,EAAE,eAAe,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC;AAC9I,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TrialReport } from '../trials/index.js';
|
|
2
|
+
import type { RescoreReport } from '../replay/index.js';
|
|
3
|
+
import type { CostEntry } from './report.js';
|
|
4
|
+
/** Originating request identity survives check aliases and selective measurement repair. */
|
|
5
|
+
export declare function decisionCostEntries(trials: readonly TrialReport[], rescores?: readonly RescoreReport[]): CostEntry[];
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
+
/** Originating request identity survives check aliases and selective measurement repair. */
|
|
3
|
+
export function decisionCostEntries(trials, rescores = []) {
|
|
4
|
+
const receipts = new Map();
|
|
5
|
+
const visit = (value, measurement, trialId, path, plan) => {
|
|
6
|
+
const canonical = value.id && plan?.checks[value.id] ? `check/${value.id}` : path;
|
|
7
|
+
[...value.decisionAccounting?.receipts ?? [], ...value.grading?.decisionAccounting?.receipts ?? [],
|
|
8
|
+
...value.atomicGrading?.receipts ?? []].forEach((receipt, index) => {
|
|
9
|
+
const id = receipt.requestId === undefined
|
|
10
|
+
? JSON.stringify(['decision', measurement, canonical, index]) // Legacy captures have no origin identity.
|
|
11
|
+
: JSON.stringify(['decision', receipt.requestId]);
|
|
12
|
+
const entry = receipts.get(id) ?? { trialId, versions: [] };
|
|
13
|
+
if (!entry.versions.some(version => isDeepStrictEqual(version, receipt)))
|
|
14
|
+
entry.versions.push(receipt);
|
|
15
|
+
receipts.set(id, entry);
|
|
16
|
+
});
|
|
17
|
+
value.children?.forEach((child, index) => visit(child, measurement, trialId, `${canonical}/children/${index}`, plan));
|
|
18
|
+
};
|
|
19
|
+
const plan = (evaluation, id, trialId) => {
|
|
20
|
+
Object.entries(evaluation.checks).forEach(([key, value]) => visit(value, id, trialId, `check/${key}`, evaluation));
|
|
21
|
+
evaluation.stages.forEach(stage => {
|
|
22
|
+
stage.checks.forEach((value, index) => visit(value, id, trialId, `stage/${stage.id}/check/${index}`, evaluation));
|
|
23
|
+
visit(stage.gate, id, trialId, `check/${stage.id}`, evaluation);
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
for (const trial of trials) {
|
|
27
|
+
plan(trial.evaluation, trial.id, trial.id);
|
|
28
|
+
trial.turns.forEach(turn => turn.checks.forEach((value, index) => visit(value, trial.id, trial.id, `turn/${turn.id}/${index}`)));
|
|
29
|
+
trial.live.forEach((value, index) => visit(value.result, trial.id, trial.id, `live/${index}`));
|
|
30
|
+
// Decisive failures reference a live result; do not bill that reference again.
|
|
31
|
+
if (trial.decisiveFailure && !trial.live.some(value => JSON.stringify(value.result) === JSON.stringify(trial.decisiveFailure))) {
|
|
32
|
+
visit(trial.decisiveFailure, trial.id, trial.id, 'decisiveFailure');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
rescores.forEach(rescore => plan(rescore.evaluation, rescore.id, rescore.runId));
|
|
36
|
+
return [...receipts].map(([id, { trialId, versions }]) => {
|
|
37
|
+
const receipt = versions[0];
|
|
38
|
+
const known = versions.length === 1 && receipt.usd !== null && Number.isFinite(receipt.usd) && receipt.usd >= 0;
|
|
39
|
+
return { id, trialId, role: 'judge', name: `decision/${receipt.model}`, model: receipt.model,
|
|
40
|
+
modelBasis: 'requested-assumption', responseRoute: receipt.endpoint, outcome: String(receipt.status ?? 'unknown'), usage: null,
|
|
41
|
+
decisionReceipt: receipt, ...(versions.length > 1 ? { decisionReceiptVersions: versions } : {}),
|
|
42
|
+
valuation: { status: known ? 'priced' : 'incomplete', price: null,
|
|
43
|
+
apiEquivalentUsd: known ? { low: receipt.usd, high: receipt.usd } : null,
|
|
44
|
+
assumptions: [versions.length > 1 ? 'Conflicting representations of one decision receipt; cost cannot be selected.'
|
|
45
|
+
: 'Recorded usage-priced API decision cost; admission estimates are not spend or invoice evidence.'] } };
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=decisions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../../../src/training/experiments/costs/decisions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { valueUsage } from './valuation.js';
|
|
2
|
+
export { standardPrices } from './catalog.js';
|
|
3
|
+
export { defaultCostAssumptions, resolveCostAssumptions } from './assumptions.js';
|
|
4
|
+
export { resolveCostConfig } from './config.js';
|
|
5
|
+
export { planTrainingCost } from './planning.js';
|
|
6
|
+
export { summarizeCosts, includeDecisionCosts } from './report.js';
|
|
7
|
+
export type { CostReport, CostReportOptions, CostEntry, CostGroup, OptimizerGeneration } from './report.js';
|
|
8
|
+
export type { TrainingCostOptions, TrainingCostPlan, PlannedCostLine } from './planning.js';
|
|
9
|
+
export type { Range, TokenRates, ModelPrice, CostValuation, UsageCharge, TokenAssumption, CostAssumptions } from './types.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { valueUsage } from './valuation.js';
|
|
2
|
+
export { standardPrices } from './catalog.js';
|
|
3
|
+
export { defaultCostAssumptions, resolveCostAssumptions } from './assumptions.js';
|
|
4
|
+
export { resolveCostConfig } from './config.js';
|
|
5
|
+
export { planTrainingCost } from './planning.js';
|
|
6
|
+
export { summarizeCosts, includeDecisionCosts } from './report.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/training/experiments/costs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { ResolvedDataset } from '../../contracts/dataset.js';
|
|
2
|
+
import { type CostDataset } from '../../cases/index.js';
|
|
3
|
+
import type { CostAssumptions, ModelPrice, Range, TokenAssumption } from './types.js';
|
|
4
|
+
export interface PlannedInferenceRoute {
|
|
5
|
+
model: string;
|
|
6
|
+
provider: string;
|
|
7
|
+
fallbacks?: readonly {
|
|
8
|
+
model: string;
|
|
9
|
+
provider: string;
|
|
10
|
+
}[];
|
|
11
|
+
attempts?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface TrainingCostOptions<Dataset = ResolvedDataset> {
|
|
14
|
+
train: Dataset;
|
|
15
|
+
validation?: Dataset;
|
|
16
|
+
validationGroups?: readonly string[];
|
|
17
|
+
test: Dataset;
|
|
18
|
+
subjectModel: string;
|
|
19
|
+
mode?: 'comparison';
|
|
20
|
+
optimizerModel?: string;
|
|
21
|
+
judges: Readonly<Record<string, PlannedInferenceRoute & {
|
|
22
|
+
citationRepairs?: 0 | 1;
|
|
23
|
+
}>>;
|
|
24
|
+
optimizerRoute?: PlannedInferenceRoute;
|
|
25
|
+
testRepeats?: number;
|
|
26
|
+
maxTrials: number;
|
|
27
|
+
maxProposals: number;
|
|
28
|
+
assumptions?: Partial<CostAssumptions>;
|
|
29
|
+
prices?: readonly ModelPrice[];
|
|
30
|
+
}
|
|
31
|
+
export interface PlannedCostLine {
|
|
32
|
+
role: 'subject' | 'judge' | 'optimizer';
|
|
33
|
+
name: string;
|
|
34
|
+
phase: 'development' | 'held-out' | 'optimization';
|
|
35
|
+
model: string;
|
|
36
|
+
provider?: string;
|
|
37
|
+
plannedCalls: number;
|
|
38
|
+
tokensPerCall: TokenAssumption;
|
|
39
|
+
apiEquivalentUsd: Range | null;
|
|
40
|
+
price: ModelPrice | null;
|
|
41
|
+
}
|
|
42
|
+
export interface TrainingCostPlan {
|
|
43
|
+
schema: 'spawnfile.training.training-cost-plan.v1';
|
|
44
|
+
modelCallsMade: 0;
|
|
45
|
+
billing: 'API-equivalent valuation; subscription fees are not apportioned';
|
|
46
|
+
coverage: 'estimated' | 'partial';
|
|
47
|
+
budget: {
|
|
48
|
+
maxTrials: number;
|
|
49
|
+
maxProposals: number;
|
|
50
|
+
metricCalls: number;
|
|
51
|
+
reservedTestTrials: number;
|
|
52
|
+
};
|
|
53
|
+
datasetDigests: {
|
|
54
|
+
train: string;
|
|
55
|
+
test: string;
|
|
56
|
+
validation?: string;
|
|
57
|
+
};
|
|
58
|
+
/** Always emitted by current planning; absent only in older stored v1 plans. */
|
|
59
|
+
judgeRoutes?: Record<string, PlannedInferenceRoute & {
|
|
60
|
+
citationRepairs: 0 | 1;
|
|
61
|
+
}>;
|
|
62
|
+
lines: PlannedCostLine[];
|
|
63
|
+
apiEquivalentUsd: Range | null;
|
|
64
|
+
pricedSubtotalUsd: Range;
|
|
65
|
+
assumptions: CostAssumptions;
|
|
66
|
+
warnings: string[];
|
|
67
|
+
/** Present in current estimates; older persisted v1 plans omit this disclosure. */
|
|
68
|
+
preparationValidation?: CostDataset['preparation'];
|
|
69
|
+
}
|
|
70
|
+
/** Pure planning over resolved cases. Does not construct an adapter or touch credentials. */
|
|
71
|
+
export declare function planTrainingCost(options: TrainingCostOptions<ResolvedDataset | CostDataset>): TrainingCostPlan;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { canonicalWireId } from '../../contracts/index.js';
|
|
2
|
+
import { testRepeatCount } from '../../contracts/training-config.js';
|
|
3
|
+
import { builtinEvaluatorDefinitions, validateCostDatasetSplit, projectDatasetCost } from '../../cases/index.js';
|
|
4
|
+
import { resolveTrainingPartitions } from '../training/index.js';
|
|
5
|
+
import { resolveCostAssumptions } from './assumptions.js';
|
|
6
|
+
import { valueUsage } from './valuation.js';
|
|
7
|
+
/** Pure planning over resolved cases. Does not construct an adapter or touch credentials. */
|
|
8
|
+
export function planTrainingCost(options) {
|
|
9
|
+
const testRepeats = testRepeatCount(options.testRepeats);
|
|
10
|
+
if (options.mode === 'comparison' && testRepeats !== 1)
|
|
11
|
+
throw new Error('Comparison does not support test repeats');
|
|
12
|
+
const project = (dataset) => {
|
|
13
|
+
const normalized = { ...dataset, schema: canonicalWireId(dataset.schema) };
|
|
14
|
+
return normalized.schema === 'spawnfile.training.cost-dataset.v1' ? normalized : projectDatasetCost(normalized);
|
|
15
|
+
};
|
|
16
|
+
const train = project(options.train), test = project(options.test);
|
|
17
|
+
const validation = options.validation ? project(options.validation) : undefined;
|
|
18
|
+
const judgeRoutes = Object.fromEntries(Object.entries(options.judges).map(([name, route]) => {
|
|
19
|
+
const citationRepairs = route.citationRepairs === undefined ? 0 : route.citationRepairs;
|
|
20
|
+
if (citationRepairs !== 0 && citationRepairs !== 1)
|
|
21
|
+
throw new Error(`Invalid citation repair policy for judge ${name}`);
|
|
22
|
+
return [name, { ...route, citationRepairs }];
|
|
23
|
+
}));
|
|
24
|
+
if (options.mode === 'comparison' && (options.maxProposals !== 0 || options.optimizerRoute || options.optimizerModel))
|
|
25
|
+
throw new Error('Comparison has no optimizer budget or route');
|
|
26
|
+
if (options.mode !== 'comparison' && !options.optimizerRoute && !options.optimizerModel)
|
|
27
|
+
throw new Error('Optimizer model is required');
|
|
28
|
+
for (const [value, max] of [[options.maxTrials, 10000], ...options.mode === 'comparison' ? [] : [[options.maxProposals, 1000]]]) {
|
|
29
|
+
if (!Number.isSafeInteger(value) || value < 1 || value > max)
|
|
30
|
+
throw new Error('Invalid training cost budget');
|
|
31
|
+
}
|
|
32
|
+
const partition = resolveTrainingPartitions(train, validation, options.validationGroups);
|
|
33
|
+
if ([partition.train, partition.validation, test].some(dataset => dataset.records.length === 0)) {
|
|
34
|
+
throw new Error('Cost planning requires nonempty training, validation and test partitions');
|
|
35
|
+
}
|
|
36
|
+
validateCostDatasetSplit(partition.train, test, partition.validation);
|
|
37
|
+
const reservedTestTrials = test.records.length * 2 * testRepeats;
|
|
38
|
+
const metricCalls = options.mode === 'comparison' ? 2 * (partition.train.records.length + partition.validation.records.length) : options.maxTrials - reservedTestTrials;
|
|
39
|
+
if (options.mode === 'comparison' && metricCalls + reservedTestTrials > options.maxTrials)
|
|
40
|
+
throw new Error('Comparison budget cannot cover both arms on every case');
|
|
41
|
+
if (metricCalls < partition.validation.records.length)
|
|
42
|
+
throw new Error('Trial budget cannot cover baseline validation and two held-out passes');
|
|
43
|
+
const assumptions = resolveCostAssumptions(options.assumptions);
|
|
44
|
+
const warnings = new Set([
|
|
45
|
+
options.mode === 'comparison' ? 'Fixed comparison: both arms run once on every case; no optimizer calls.' : 'Budget scenario assumes every permitted trial and optimizer proposal is used; early stopping may use less.',
|
|
46
|
+
'Token ranges are uncalibrated assumptions per full subject trial or judge/optimizer call, not a guaranteed spending ceiling.',
|
|
47
|
+
'Prompt growth, tool output and private environment size can exceed these assumptions; calibrate them from recorded trials.',
|
|
48
|
+
'Only standard global API text-token prices are valued; subscription quota percentages, tools and infrastructure are excluded.',
|
|
49
|
+
'Cache creation and unknown session context tiers are included as pricing ranges. No batch discount is assumed.',
|
|
50
|
+
]);
|
|
51
|
+
const profiles = [...new Set([train, test, ...(validation ? [validation] : [])].flatMap(dataset => dataset.preparation.profiles))].sort();
|
|
52
|
+
const preparationValidation = { status: 'unverified', profiles, checks: ['availability', 'locks', 'parameter-semantics'] };
|
|
53
|
+
if (profiles.length)
|
|
54
|
+
warnings.add(`Preparation profiles ${profiles.join(', ')}: availability, parameter semantics and override locks are unverified; this estimate is not execution readiness.`);
|
|
55
|
+
const lines = [];
|
|
56
|
+
let incomplete = false;
|
|
57
|
+
const omitCost = (warning) => { incomplete = true; warnings.add(warning); };
|
|
58
|
+
const add = (role, name, phase, model, plannedCalls, tokensPerCall, provider) => {
|
|
59
|
+
const common = { role, name, model, billing: 'subscription', contextTier: 'unknown' };
|
|
60
|
+
const low = valueUsage({ ...common, usage: { inputTokens: tokensPerCall.inputTokens.low,
|
|
61
|
+
cachedInputTokens: Math.floor(tokensPerCall.inputTokens.low * tokensPerCall.cacheReadFraction.high),
|
|
62
|
+
outputTokens: tokensPerCall.outputTokens.low, reasoningTokens: null, source: 'planning-assumption' } }, options.prices);
|
|
63
|
+
const high = valueUsage({ ...common, usage: { inputTokens: tokensPerCall.inputTokens.high,
|
|
64
|
+
cachedInputTokens: Math.floor(tokensPerCall.inputTokens.high * tokensPerCall.cacheReadFraction.low),
|
|
65
|
+
outputTokens: tokensPerCall.outputTokens.high, reasoningTokens: null, source: 'planning-assumption' } }, options.prices);
|
|
66
|
+
const apiEquivalentUsd = low.apiEquivalentUsd && high.apiEquivalentUsd
|
|
67
|
+
? { low: plannedCalls * low.apiEquivalentUsd.low, high: plannedCalls * high.apiEquivalentUsd.high } : null;
|
|
68
|
+
if (apiEquivalentUsd === null)
|
|
69
|
+
omitCost(`Unpriced ${role} ${name}: exact model ${model} has no usable rate.`);
|
|
70
|
+
lines.push({ role, name, phase, model, provider, plannedCalls, tokensPerCall, apiEquivalentUsd, price: low.price });
|
|
71
|
+
};
|
|
72
|
+
const development = [...partition.train.records, ...partition.validation.records];
|
|
73
|
+
const addRoute = (role, name, phase, route, calls, perCall) => {
|
|
74
|
+
const routes = [route, ...route.fallbacks ?? []];
|
|
75
|
+
const attempts = route.attempts ?? routes.length;
|
|
76
|
+
if (!Number.isSafeInteger(attempts) || attempts < 1 || attempts > routes.length)
|
|
77
|
+
throw new Error('Invalid planned route attempt budget');
|
|
78
|
+
for (const [index, selected] of routes.slice(0, attempts).entries()) {
|
|
79
|
+
add(role, name, phase, selected.model, calls, perCall, selected.provider);
|
|
80
|
+
if (index && lines.at(-1).apiEquivalentUsd)
|
|
81
|
+
lines.at(-1).apiEquivalentUsd.low = 0;
|
|
82
|
+
}
|
|
83
|
+
if (attempts > 1)
|
|
84
|
+
warnings.add(`${role} ${name}: reserves every permitted fallback attempt; fallback lower cost is zero and provider prefix-cache reuse is not guaranteed.`);
|
|
85
|
+
};
|
|
86
|
+
add('subject', options.train.subject ?? 'subject', 'development', options.subjectModel, metricCalls, assumptions.subject);
|
|
87
|
+
add('subject', options.train.subject ?? 'subject', 'held-out', options.subjectModel, reservedTestTrials, assumptions.subject);
|
|
88
|
+
const developmentCounts = development.map(record => countChecks(record, omitCost));
|
|
89
|
+
const testCounts = test.records.map(record => countChecks(record, omitCost));
|
|
90
|
+
const names = new Set([...developmentCounts, ...testCounts].flatMap(counts => Object.keys(counts)));
|
|
91
|
+
for (const name of names) {
|
|
92
|
+
const route = judgeRoutes[name];
|
|
93
|
+
if (!route)
|
|
94
|
+
throw new Error(`Missing judge route ${name}`);
|
|
95
|
+
const perCall = assumptions.judges?.[name] ?? assumptions.judge;
|
|
96
|
+
const maxPerMetric = Math.max(...developmentCounts.map(counts => counts[name] ?? 0));
|
|
97
|
+
const testCalls = 2 * testRepeats * testCounts.reduce((sum, counts) => sum + (counts[name] ?? 0), 0);
|
|
98
|
+
const attempts = 1 + route.citationRepairs;
|
|
99
|
+
if (route.citationRepairs)
|
|
100
|
+
warnings.add(`Judge ${name} reserves one citation repair per check; valid quality failures, authentication/quota failures and malformed JSON are not retried.`);
|
|
101
|
+
const developmentCalls = options.mode === 'comparison' ? 2 * developmentCounts.reduce((sum, counts) => sum + (counts[name] ?? 0), 0) : metricCalls * maxPerMetric;
|
|
102
|
+
if (developmentCalls)
|
|
103
|
+
addRoute('judge', name, 'development', route, developmentCalls * attempts, perCall);
|
|
104
|
+
if (testCalls)
|
|
105
|
+
addRoute('judge', name, 'held-out', route, testCalls * attempts, perCall);
|
|
106
|
+
}
|
|
107
|
+
if (options.mode !== 'comparison')
|
|
108
|
+
addRoute('optimizer', 'reflection', 'optimization', options.optimizerRoute ?? { model: options.optimizerModel, provider: 'claude-subscription' }, options.maxProposals, assumptions.optimizer);
|
|
109
|
+
const pricedSubtotalUsd = lines.reduce((sum, line) => ({ low: sum.low + (line.apiEquivalentUsd?.low ?? 0),
|
|
110
|
+
high: sum.high + (line.apiEquivalentUsd?.high ?? 0) }), { low: 0, high: 0 });
|
|
111
|
+
return { schema: 'spawnfile.training.training-cost-plan.v1', modelCallsMade: 0,
|
|
112
|
+
billing: 'API-equivalent valuation; subscription fees are not apportioned', coverage: incomplete ? 'partial' : 'estimated',
|
|
113
|
+
budget: { maxTrials: options.maxTrials, maxProposals: options.maxProposals, metricCalls, reservedTestTrials },
|
|
114
|
+
datasetDigests: { train: options.train.sourceDigest, test: options.test.sourceDigest,
|
|
115
|
+
...(options.validation ? { validation: options.validation.sourceDigest } : {}) },
|
|
116
|
+
judgeRoutes, preparationValidation, lines, apiEquivalentUsd: incomplete ? null : pricedSubtotalUsd, pricedSubtotalUsd, assumptions, warnings: [...warnings] };
|
|
117
|
+
}
|
|
118
|
+
function countChecks(record, omitCost) {
|
|
119
|
+
const counts = {};
|
|
120
|
+
const visit = (node, live = false) => {
|
|
121
|
+
if (node.eval === 'llm-rubric') {
|
|
122
|
+
if (live)
|
|
123
|
+
omitCost(`Unbounded live judge ${String(node.judge)}: event frequency is unknown; omitted from finite subtotal.`);
|
|
124
|
+
else
|
|
125
|
+
counts[node.judge] = (counts[node.judge] ?? 0) + 1;
|
|
126
|
+
}
|
|
127
|
+
else if (node.eval && builtinEvaluatorDefinitions[node.eval]?.kind !== 'mechanical') {
|
|
128
|
+
omitCost(`Unsupported cost source ${node.eval}: no declared inference cost model; omitted from subtotal.`);
|
|
129
|
+
}
|
|
130
|
+
for (const child of node.all ?? node.any ?? [])
|
|
131
|
+
visit(child, live);
|
|
132
|
+
if (node.not)
|
|
133
|
+
visit(node.not, live);
|
|
134
|
+
// passed/score references reuse results and never cause another model call.
|
|
135
|
+
};
|
|
136
|
+
for (const { check, live } of record.costChecks)
|
|
137
|
+
visit(check, live);
|
|
138
|
+
return counts;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=planning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planning.js","sourceRoot":"","sources":["../../../../src/training/experiments/costs/planning.ts"],"names":[],"mappings":"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"}
|