spawnfile 0.1.32 → 0.1.34
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/auth/trainingAuth.d.ts +2 -5
- package/dist/cli/devCommands.d.ts +1 -1
- package/dist/cli/devCommands.js +0 -66
- package/dist/cli/runCli.d.ts +1 -4
- package/dist/cli/runCli.js +2 -2
- package/dist/cli/trainCommand.js +9 -15
- package/dist/cli/trainingBooted.d.ts +7 -0
- package/dist/cli/trainingBooted.js +41 -0
- package/dist/cli/trainingExecution.d.ts +4 -7
- package/dist/cli/trainingExecution.js +4 -32
- package/dist/compiler/containerArtifacts.js +0 -5
- package/dist/compiler/containerBackedMountRender.js +5 -1
- package/dist/compiler/containerDaimonBrokerRender.d.ts +5 -50
- package/dist/compiler/containerDaimonBrokerRender.js +7 -88
- package/dist/compiler/containerDaimonGatewayRender.d.ts +50 -0
- package/dist/compiler/containerDaimonGatewayRender.js +157 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +2 -10
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +13 -25
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +11 -49
- package/dist/compiler/containerDaimonGrokWorkerRender.js +15 -39
- package/dist/compiler/containerDaimonStartupSupervision.d.ts +8 -0
- package/dist/compiler/containerDaimonStartupSupervision.js +39 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +1 -2
- package/dist/compiler/containerDaimonUidEntrypointRender.js +26 -46
- package/dist/compiler/containerRuntimeReadinessRender.js +1 -1
- package/dist/compiler/memoryArtifacts.js +0 -1
- package/dist/compiler/moltnetArtifacts.js +1 -17
- package/dist/compiler/moltnetClientConfig.js +1 -1
- package/dist/compiler/moltnetRuntimeConfig.js +0 -10
- package/dist/compiler/runProject.d.ts +1 -0
- package/dist/compiler/runProject.js +9 -3
- package/dist/compiler/runProjectAuth.js +2 -17
- package/dist/compiler/training/contract.d.ts +0 -2
- package/dist/compiler/training/contract.js +0 -2
- package/dist/compiler/training/execution.d.ts +1 -128
- package/dist/compiler/training/execution.js +7 -68
- package/dist/compiler/training/index.d.ts +0 -8
- package/dist/compiler/training/index.js +0 -7
- package/dist/compiler/training/output.d.ts +1 -0
- package/dist/compiler/training/output.js +1 -1
- package/dist/compiler/training/trial/boot.d.ts +53 -0
- package/dist/compiler/training/trial/boot.js +147 -0
- package/dist/compiler/training/trial/docker.d.ts +8 -0
- package/dist/compiler/training/trial/docker.js +22 -0
- package/dist/compiler/training/trial/gateway.d.ts +42 -0
- package/dist/compiler/training/trial/gateway.js +98 -0
- package/dist/compiler/training/trial/index.d.ts +4 -0
- package/dist/compiler/training/trial/index.js +4 -0
- package/dist/compiler/training/trial/launcher.d.ts +32 -0
- package/dist/compiler/training/trial/launcher.js +49 -0
- package/dist/compiler/training/trial/project.d.ts +11 -0
- package/dist/compiler/training/trial/project.js +31 -0
- package/dist/compiler/upReceipt.d.ts +2 -17
- package/dist/compiler/upReceipt.js +2 -17
- package/dist/deployment/artifactsExportPlan.js +2 -18
- package/dist/deployment/privateArtifactsExport.js +1 -1
- package/dist/dev/docker.d.ts +0 -5
- package/dist/dev/docker.js +0 -46
- package/dist/dev/index.d.ts +0 -1
- package/dist/dev/index.js +0 -1
- package/dist/dev/project.d.ts +0 -16
- package/dist/dev/project.js +1 -128
- package/dist/distribution/distributionReportSchema.js +1 -1
- package/dist/distribution/imageRuntimeAuth.js +3 -2
- package/dist/release/drainControl.d.ts +5 -19
- package/dist/release/drainControl.js +12 -67
- package/dist/report/types.d.ts +3 -6
- package/dist/runtime/common.d.ts +1 -1
- package/dist/runtime/common.js +1 -1
- package/dist/runtime/container.d.ts +2 -2
- package/dist/runtime/container.js +1 -39
- package/dist/runtime/daimon/config.js +6 -12
- package/dist/runtime/daimon/contractManifest.js +0 -1
- package/dist/runtime/daimon/contractManifestSchema.js +0 -1
- package/dist/runtime/daimon/control.d.ts +31 -0
- package/dist/runtime/daimon/control.js +83 -0
- package/dist/runtime/daimon/engineDescriptorSchema.js +0 -1
- package/dist/runtime/daimon/engineDescriptors.generated.d.ts +1 -1
- package/dist/runtime/daimon/engineDescriptors.generated.js +1 -2
- package/dist/runtime/daimon/engines.js +0 -1
- package/dist/runtime/daimon/gateway.d.ts +62 -0
- package/dist/runtime/daimon/gateway.js +77 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +0 -5
- package/dist/runtime/daimon/grokWorkerContract.js +1 -13
- package/dist/runtime/daimon/index.d.ts +2 -0
- package/dist/runtime/daimon/index.js +2 -1
- package/dist/runtime/daimon/memory.js +1 -1
- package/dist/runtime/daimon/packageName.js +0 -1
- package/dist/runtime/daimon/runAuth.js +7 -4
- package/dist/runtime/daimon/runtimeIdentity.d.ts +2 -0
- package/dist/runtime/daimon/runtimeIdentity.js +2 -0
- package/dist/runtime/daimon/subscriptionRealms.d.ts +9 -3
- package/dist/runtime/daimon/subscriptionRealms.js +22 -13
- package/dist/runtime/daimon/testHelpers.d.ts +2 -0
- package/dist/runtime/{pi → daimon}/testHelpers.js +3 -3
- package/dist/runtime/daimon/training/booted/adapter.d.ts +46 -0
- package/dist/runtime/daimon/training/booted/adapter.js +59 -0
- package/dist/runtime/daimon/training/booted/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/booted/index.d.ts +2 -0
- package/dist/runtime/daimon/training/booted/index.js +2 -0
- package/dist/runtime/daimon/training/booted/index.js.map +1 -0
- package/dist/runtime/daimon/training/index.d.ts +5 -0
- package/dist/runtime/daimon/training/index.js +8 -4
- package/dist/runtime/daimon/training/index.js.map +1 -1
- package/dist/runtime/daimon/training/providers/codex-subscription/index.js.map +1 -0
- package/dist/runtime/daimon/training/providers/codex-subscription/protocol.js.map +1 -0
- package/dist/runtime/daimon/training/providers/codex-subscription/provider.js.map +1 -0
- package/dist/runtime/daimon/training/providers/codex-subscription/strict-schema.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +1 -3
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +5 -5
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +1 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +1 -2
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js +0 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +1 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +5 -17
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +18 -31
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +1 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +1 -2
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +1 -1
- package/dist/runtime/daimon/wakeMoments.js +0 -1
- package/dist/runtime/install.js +0 -21
- package/dist/runtime/registry.js +0 -2
- package/dist/runtime/trainingGraderProviders.js +1 -1
- package/dist/runtime/trainingProviders.d.ts +1 -2
- package/dist/runtime/trainingProviders.js +9 -19
- package/dist/runtime/trainingSubjects.d.ts +0 -121
- package/dist/runtime/trainingSubjects.js +2 -13
- package/dist/runtime/types.d.ts +1 -8
- package/dist/shared/errors.js +0 -1
- package/dist/status/lifecycleProbes.js +3 -6
- package/dist/status/moltnetWiringProbes.js +1 -17
- package/dist/training/subjects/index.d.ts +0 -1
- package/dist/training/subjects/index.js +0 -1
- package/dist/training/subjects/index.js.map +1 -1
- package/examples/README.md +0 -1
- package/examples/daimon-org/agents/mapper/Spawnfile +4 -1
- package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +4 -1
- package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +1 -1
- package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +1 -1
- package/examples/mixed-runtime-org/agents/localist/Spawnfile +7 -7
- package/package.json +4 -13
- package/runtimes.yaml +5 -15
- package/dist/compiler/containerDaimonGrokTaskClock.d.ts +0 -5
- package/dist/compiler/containerDaimonGrokTaskClock.js +0 -29
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +0 -22
- package/dist/compiler/daimonTelemetryArtifacts.js +0 -56
- package/dist/compiler/training/broker/clockProbe.d.ts +0 -6
- package/dist/compiler/training/broker/clockProbe.js +0 -27
- package/dist/compiler/training/broker/declaration.d.ts +0 -54
- package/dist/compiler/training/broker/declaration.js +0 -70
- package/dist/compiler/training/broker/entrypoint.d.ts +0 -39
- package/dist/compiler/training/broker/entrypoint.js +0 -124
- package/dist/compiler/training/broker/evaluatorSecrets.d.ts +0 -2
- package/dist/compiler/training/broker/evaluatorSecrets.js +0 -62
- package/dist/compiler/training/broker/index.d.ts +0 -12
- package/dist/compiler/training/broker/index.js +0 -12
- package/dist/compiler/training/broker/main.d.ts +0 -2
- package/dist/compiler/training/broker/main.js +0 -14
- package/dist/compiler/training/broker/paths.d.ts +0 -236
- package/dist/compiler/training/broker/paths.js +0 -249
- package/dist/compiler/training/broker/processes.d.ts +0 -51
- package/dist/compiler/training/broker/processes.js +0 -102
- package/dist/compiler/training/broker/projection.d.ts +0 -61
- package/dist/compiler/training/broker/projection.js +0 -109
- package/dist/compiler/training/broker/provisioning.d.ts +0 -78
- package/dist/compiler/training/broker/provisioning.js +0 -231
- package/dist/compiler/training/broker/receipt.d.ts +0 -77
- package/dist/compiler/training/broker/receipt.js +0 -110
- package/dist/compiler/training/broker/recycleClient.d.ts +0 -33
- package/dist/compiler/training/broker/recycleClient.js +0 -112
- package/dist/compiler/training/broker/registration.d.ts +0 -46
- package/dist/compiler/training/broker/registration.js +0 -113
- package/dist/compiler/training/broker/reset.d.ts +0 -9
- package/dist/compiler/training/broker/reset.js +0 -71
- package/dist/compiler/training/broker/rootScript.d.ts +0 -32
- package/dist/compiler/training/broker/rootScript.js +0 -33
- package/dist/compiler/training/broker/runtime.d.ts +0 -22
- package/dist/compiler/training/broker/runtime.js +0 -128
- package/dist/compiler/training/broker/seccompRoutes.d.ts +0 -31
- package/dist/compiler/training/broker/seccompRoutes.js +0 -36
- package/dist/compiler/training/broker/supervisor.d.ts +0 -108
- package/dist/compiler/training/broker/supervisor.js +0 -172
- package/dist/compiler/training/broker/taskClock.d.ts +0 -5
- package/dist/compiler/training/broker/taskClock.js +0 -41
- package/dist/compiler/training/container/contract.d.ts +0 -54
- package/dist/compiler/training/container/contract.js +0 -52
- package/dist/compiler/training/container/evaluators.d.ts +0 -48
- package/dist/compiler/training/container/evaluators.js +0 -50
- package/dist/compiler/training/container/grokWriteback.d.ts +0 -8
- package/dist/compiler/training/container/grokWriteback.js +0 -26
- package/dist/compiler/training/container/index.d.ts +0 -5
- package/dist/compiler/training/container/index.js +0 -3
- package/dist/compiler/training/container/launch.d.ts +0 -21
- package/dist/compiler/training/container/launch.js +0 -280
- package/dist/compiler/training/container/nativeSlots.d.ts +0 -14
- package/dist/compiler/training/container/nativeSlots.js +0 -13
- package/dist/compiler/training/container/outputCopy.d.ts +0 -2
- package/dist/compiler/training/container/outputCopy.js +0 -72
- package/dist/compiler/training/container/outputVolume.d.ts +0 -28
- package/dist/compiler/training/container/outputVolume.js +0 -185
- package/dist/compiler/training/container/prepare.d.ts +0 -10
- package/dist/compiler/training/container/prepare.js +0 -125
- package/dist/compiler/training/container/process.d.ts +0 -14
- package/dist/compiler/training/container/process.js +0 -70
- package/dist/compiler/training/container/security.d.ts +0 -38
- package/dist/compiler/training/container/security.js +0 -68
- package/dist/compiler/training/container/subjectIsolation.d.ts +0 -5
- package/dist/compiler/training/container/subjectIsolation.js +0 -16
- package/dist/compiler/training/preparation/assets/Dockerfile +0 -100
- package/dist/compiler/training/preparation/assets/package-lock.json +0 -5483
- package/dist/compiler/training/preparation/broker.d.ts +0 -30
- package/dist/compiler/training/preparation/broker.js +0 -68
- package/dist/compiler/training/preparation/contextModes.d.ts +0 -12
- package/dist/compiler/training/preparation/contextModes.js +0 -38
- package/dist/compiler/training/preparation/contract.d.ts +0 -203
- package/dist/compiler/training/preparation/contract.js +0 -114
- package/dist/compiler/training/preparation/copyAssets.d.ts +0 -1
- package/dist/compiler/training/preparation/copyAssets.js +0 -8
- package/dist/compiler/training/preparation/daimonParent.d.ts +0 -42
- package/dist/compiler/training/preparation/daimonParent.js +0 -114
- package/dist/compiler/training/preparation/files.d.ts +0 -29
- package/dist/compiler/training/preparation/files.js +0 -146
- package/dist/compiler/training/preparation/image.d.ts +0 -28
- package/dist/compiler/training/preparation/image.js +0 -105
- package/dist/compiler/training/preparation/index.d.ts +0 -3
- package/dist/compiler/training/preparation/index.js +0 -2
- package/dist/compiler/training/preparation/inputs.d.ts +0 -24
- package/dist/compiler/training/preparation/inputs.js +0 -101
- package/dist/compiler/training/preparation/prepare.d.ts +0 -38
- package/dist/compiler/training/preparation/prepare.js +0 -224
- package/dist/compiler/training/preparation/scratch.d.ts +0 -8
- package/dist/compiler/training/preparation/scratch.js +0 -114
- package/dist/compiler/training/repair/compatibility.d.ts +0 -11
- package/dist/compiler/training/repair/compatibility.js +0 -45
- package/dist/compiler/training/repair/contract.d.ts +0 -832
- package/dist/compiler/training/repair/contract.js +0 -34
- package/dist/compiler/training/repair/index.d.ts +0 -3
- package/dist/compiler/training/repair/index.js +0 -3
- package/dist/compiler/training/repair/prepare.d.ts +0 -378
- package/dist/compiler/training/repair/prepare.js +0 -84
- package/dist/compiler/training/repair/witness.d.ts +0 -348
- package/dist/compiler/training/repair/witness.js +0 -62
- package/dist/compiler/training/subjectDeclaration.d.ts +0 -26
- package/dist/compiler/training/subjectDeclaration.js +0 -54
- package/dist/compiler/training/subjectLease.d.ts +0 -115
- package/dist/compiler/training/subjectLease.js +0 -179
- package/dist/dev/activity.d.ts +0 -14
- package/dist/dev/activity.js +0 -48
- package/dist/runtime/codex-exec/training/adapter.d.ts +0 -13
- package/dist/runtime/codex-exec/training/adapter.js +0 -101
- package/dist/runtime/codex-exec/training/adapter.js.map +0 -1
- package/dist/runtime/codex-exec/training/environment.d.ts +0 -3
- package/dist/runtime/codex-exec/training/environment.js +0 -26
- package/dist/runtime/codex-exec/training/environment.js.map +0 -1
- package/dist/runtime/codex-exec/training/index.d.ts +0 -2
- package/dist/runtime/codex-exec/training/index.js +0 -3
- package/dist/runtime/codex-exec/training/index.js.map +0 -1
- package/dist/runtime/codex-exec/training/protocol.d.ts +0 -15
- package/dist/runtime/codex-exec/training/protocol.js +0 -102
- package/dist/runtime/codex-exec/training/protocol.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +0 -1
- package/dist/runtime/daimon/contractManifest.js.map +0 -1
- package/dist/runtime/daimon/contractManifestSchema.js.map +0 -1
- package/dist/runtime/daimon/engineDescriptorSchema.js.map +0 -1
- package/dist/runtime/daimon/engineDescriptors.generated.js.map +0 -1
- package/dist/runtime/daimon/engines.js.map +0 -1
- package/dist/runtime/daimon/index.js.map +0 -1
- package/dist/runtime/daimon/packageName.js.map +0 -1
- package/dist/runtime/daimon/training/legacy/adapter.d.ts +0 -11
- package/dist/runtime/daimon/training/legacy/adapter.js +0 -175
- package/dist/runtime/daimon/training/legacy/adapter.js.map +0 -1
- package/dist/runtime/daimon/training/legacy/index.d.ts +0 -2
- package/dist/runtime/daimon/training/legacy/index.js +0 -3
- package/dist/runtime/daimon/training/legacy/index.js.map +0 -1
- package/dist/runtime/daimon/training/legacy/public.d.ts +0 -49
- package/dist/runtime/daimon/training/legacy/public.js +0 -16
- package/dist/runtime/daimon/training/legacy/public.js.map +0 -1
- package/dist/runtime/daimon/training/native/adapter.d.ts +0 -18
- package/dist/runtime/daimon/training/native/adapter.js +0 -252
- package/dist/runtime/daimon/training/native/adapter.js.map +0 -1
- package/dist/runtime/daimon/training/native/admission.d.ts +0 -7
- package/dist/runtime/daimon/training/native/admission.js +0 -52
- package/dist/runtime/daimon/training/native/admission.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/arguments.d.ts +0 -16
- package/dist/runtime/daimon/training/native/child/arguments.js +0 -70
- package/dist/runtime/daimon/training/native/child/arguments.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +0 -24
- package/dist/runtime/daimon/training/native/child/deferred-trial.js +0 -63
- package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +0 -58
- package/dist/runtime/daimon/training/native/child/diagnostics.js +0 -215
- package/dist/runtime/daimon/training/native/child/diagnostics.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/fixture.d.ts +0 -16
- package/dist/runtime/daimon/training/native/child/fixture.js +0 -159
- package/dist/runtime/daimon/training/native/child/fixture.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/grok.d.ts +0 -14
- package/dist/runtime/daimon/training/native/child/grok.js +0 -47
- package/dist/runtime/daimon/training/native/child/grok.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/index.d.ts +0 -7
- package/dist/runtime/daimon/training/native/child/index.js +0 -5
- package/dist/runtime/daimon/training/native/child/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +0 -40
- package/dist/runtime/daimon/training/native/child/lifecycle.js +0 -400
- package/dist/runtime/daimon/training/native/child/lifecycle.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/probe.d.ts +0 -2
- package/dist/runtime/daimon/training/native/child/probe.js +0 -11
- package/dist/runtime/daimon/training/native/child/probe.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/sandbox.d.ts +0 -4
- package/dist/runtime/daimon/training/native/child/sandbox.js +0 -76
- package/dist/runtime/daimon/training/native/child/sandbox.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/types.d.ts +0 -15
- package/dist/runtime/daimon/training/native/child/types.js +0 -2
- package/dist/runtime/daimon/training/native/child/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/docker.d.ts +0 -29
- package/dist/runtime/daimon/training/native/container/docker.js +0 -105
- package/dist/runtime/daimon/training/native/container/docker.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +0 -22
- package/dist/runtime/daimon/training/native/container/grok-slot.js +0 -38
- package/dist/runtime/daimon/training/native/container/grok-slot.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/index.d.ts +0 -6
- package/dist/runtime/daimon/training/native/container/index.js +0 -6
- package/dist/runtime/daimon/training/native/container/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +0 -8
- package/dist/runtime/daimon/training/native/container/lifecycle.js +0 -111
- package/dist/runtime/daimon/training/native/container/lifecycle.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/manifest.d.ts +0 -17
- package/dist/runtime/daimon/training/native/container/manifest.js +0 -164
- package/dist/runtime/daimon/training/native/container/manifest.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +0 -8
- package/dist/runtime/daimon/training/native/container/native-preflight.js +0 -40
- package/dist/runtime/daimon/training/native/container/native-preflight.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/preflight.d.ts +0 -15
- package/dist/runtime/daimon/training/native/container/preflight.js +0 -79
- package/dist/runtime/daimon/training/native/container/preflight.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/slot.d.ts +0 -4
- package/dist/runtime/daimon/training/native/container/slot.js +0 -58
- package/dist/runtime/daimon/training/native/container/slot.js.map +0 -1
- package/dist/runtime/daimon/training/native/external.d.ts +0 -37
- package/dist/runtime/daimon/training/native/external.js +0 -75
- package/dist/runtime/daimon/training/native/external.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/authority.d.ts +0 -36
- package/dist/runtime/daimon/training/native/grants/authority.js +0 -49
- package/dist/runtime/daimon/training/native/grants/authority.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/index.d.ts +0 -2
- package/dist/runtime/daimon/training/native/grants/index.js +0 -3
- package/dist/runtime/daimon/training/native/grants/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/pins.d.ts +0 -30
- package/dist/runtime/daimon/training/native/grants/pins.js +0 -20
- package/dist/runtime/daimon/training/native/grants/pins.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +0 -6
- package/dist/runtime/daimon/training/native/grants/test-socket.js +0 -35
- package/dist/runtime/daimon/training/native/grants/test-socket.js.map +0 -1
- package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +0 -34
- package/dist/runtime/daimon/training/native/grok-fixtures.js +0 -179
- package/dist/runtime/daimon/training/native/grok-fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/native/index.d.ts +0 -38
- package/dist/runtime/daimon/training/native/index.js +0 -27
- package/dist/runtime/daimon/training/native/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/live-checkout.d.ts +0 -2
- package/dist/runtime/daimon/training/native/live-checkout.js +0 -15
- package/dist/runtime/daimon/training/native/live-checkout.js.map +0 -1
- package/dist/runtime/daimon/training/native/observations.d.ts +0 -51
- package/dist/runtime/daimon/training/native/observations.js +0 -217
- package/dist/runtime/daimon/training/native/observations.js.map +0 -1
- package/dist/runtime/daimon/training/native/outcome.d.ts +0 -13
- package/dist/runtime/daimon/training/native/outcome.js +0 -37
- package/dist/runtime/daimon/training/native/outcome.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +0 -21
- package/dist/runtime/daimon/training/native/preparation/engine-config.js +0 -30
- package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +0 -17
- package/dist/runtime/daimon/training/native/preparation/fixtures.js +0 -52
- package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/index.d.ts +0 -7
- package/dist/runtime/daimon/training/native/preparation/index.js +0 -5
- package/dist/runtime/daimon/training/native/preparation/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/layout.d.ts +0 -66
- package/dist/runtime/daimon/training/native/preparation/layout.js +0 -87
- package/dist/runtime/daimon/training/native/preparation/layout.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/subject.d.ts +0 -14
- package/dist/runtime/daimon/training/native/preparation/subject.js +0 -67
- package/dist/runtime/daimon/training/native/preparation/subject.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/types.d.ts +0 -69
- package/dist/runtime/daimon/training/native/preparation/types.js +0 -2
- package/dist/runtime/daimon/training/native/preparation/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +0 -25
- package/dist/runtime/daimon/training/native/receipt/artifacts.js +0 -32
- package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +0 -129
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +0 -45
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/grok.d.ts +0 -246
- package/dist/runtime/daimon/training/native/receipt/grok.js +0 -195
- package/dist/runtime/daimon/training/native/receipt/grok.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/index.d.ts +0 -11
- package/dist/runtime/daimon/training/native/receipt/index.js +0 -8
- package/dist/runtime/daimon/training/native/receipt/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/paths.d.ts +0 -3
- package/dist/runtime/daimon/training/native/receipt/paths.js +0 -18
- package/dist/runtime/daimon/training/native/receipt/paths.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +0 -42
- package/dist/runtime/daimon/training/native/receipt/sandbox.js +0 -35
- package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/schema.d.ts +0 -490
- package/dist/runtime/daimon/training/native/receipt/schema.js +0 -138
- package/dist/runtime/daimon/training/native/receipt/schema.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/subscription.d.ts +0 -13
- package/dist/runtime/daimon/training/native/receipt/subscription.js +0 -13
- package/dist/runtime/daimon/training/native/receipt/subscription.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +0 -19
- package/dist/runtime/daimon/training/native/receipt/task-clock.js +0 -49
- package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +0 -1
- package/dist/runtime/daimon/training/native/sealed-usage.d.ts +0 -218
- package/dist/runtime/daimon/training/native/sealed-usage.js +0 -261
- package/dist/runtime/daimon/training/native/sealed-usage.js.map +0 -1
- package/dist/runtime/daimon/training/native/test-fixtures.d.ts +0 -27
- package/dist/runtime/daimon/training/native/test-fixtures.js +0 -162
- package/dist/runtime/daimon/training/native/test-fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/native/transcript.d.ts +0 -96
- package/dist/runtime/daimon/training/native/transcript.js +0 -239
- package/dist/runtime/daimon/training/native/transcript.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/delivery.d.ts +0 -27
- package/dist/runtime/daimon/training/native/transport/delivery.js +0 -98
- package/dist/runtime/daimon/training/native/transport/delivery.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/http.d.ts +0 -3
- package/dist/runtime/daimon/training/native/transport/http.js +0 -81
- package/dist/runtime/daimon/training/native/transport/http.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/index.d.ts +0 -4
- package/dist/runtime/daimon/training/native/transport/index.js +0 -3
- package/dist/runtime/daimon/training/native/transport/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/types.d.ts +0 -15
- package/dist/runtime/daimon/training/native/transport/types.js +0 -2
- package/dist/runtime/daimon/training/native/transport/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/cli.d.ts +0 -1
- package/dist/runtime/daimon/training/native/worker/cli.js +0 -17
- package/dist/runtime/daimon/training/native/worker/cli.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/control.d.ts +0 -20
- package/dist/runtime/daimon/training/native/worker/control.js +0 -266
- package/dist/runtime/daimon/training/native/worker/control.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +0 -38
- package/dist/runtime/daimon/training/native/worker/deliveries.js +0 -91
- package/dist/runtime/daimon/training/native/worker/deliveries.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +0 -54
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js +0 -278
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +0 -102
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js +0 -191
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +0 -3
- package/dist/runtime/daimon/training/native/worker/evidence/index.js +0 -4
- package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +0 -20
- package/dist/runtime/daimon/training/native/worker/evidence/io.js +0 -130
- package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +0 -3
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js +0 -67
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/index.d.ts +0 -11
- package/dist/runtime/daimon/training/native/worker/index.js +0 -8
- package/dist/runtime/daimon/training/native/worker/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/profile.d.ts +0 -23
- package/dist/runtime/daimon/training/native/worker/profile.js +0 -149
- package/dist/runtime/daimon/training/native/worker/profile.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/public.d.ts +0 -53
- package/dist/runtime/daimon/training/native/worker/public.js +0 -22
- package/dist/runtime/daimon/training/native/worker/public.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/sandbox.js +0 -54
- package/dist/runtime/daimon/training/native/worker/sandbox.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/server.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/server.js +0 -102
- package/dist/runtime/daimon/training/native/worker/server.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/types.d.ts +0 -318
- package/dist/runtime/daimon/training/native/worker/types.js +0 -2
- package/dist/runtime/daimon/training/native/worker/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +0 -4
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +0 -3
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +0 -16
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +0 -52
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +0 -21
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +0 -198
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +0 -91
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +0 -2
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/worker.d.ts +0 -1
- package/dist/runtime/daimon/training/native/worker/worker.js +0 -105
- package/dist/runtime/daimon/training/native/worker/worker.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +0 -20
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js +0 -55
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +0 -15
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +0 -29
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +0 -16
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +0 -60
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +0 -81
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +0 -221
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +0 -31
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +0 -78
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +0 -63
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js +0 -20
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +0 -3
- package/dist/runtime/daimon/training/providers/grok-broker/index.js +0 -4
- package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +0 -1
- package/dist/runtime/daimon/training/public.d.ts +0 -6
- package/dist/runtime/daimon/training/public.js +0 -5
- package/dist/runtime/daimon/training/public.js.map +0 -1
- package/dist/runtime/daimon/training/services/account-lease.d.ts +0 -7
- package/dist/runtime/daimon/training/services/account-lease.js +0 -76
- package/dist/runtime/daimon/training/services/account-lease.js.map +0 -1
- package/dist/runtime/daimon/training/services/freshness.d.ts +0 -15
- package/dist/runtime/daimon/training/services/freshness.js +0 -19
- package/dist/runtime/daimon/training/services/freshness.js.map +0 -1
- package/dist/runtime/daimon/training/services/index.d.ts +0 -4
- package/dist/runtime/daimon/training/services/index.js +0 -4
- package/dist/runtime/daimon/training/services/index.js.map +0 -1
- package/dist/runtime/daimon/training/services/slot-freshness.d.ts +0 -34
- package/dist/runtime/daimon/training/services/slot-freshness.js +0 -178
- package/dist/runtime/daimon/training/services/slot-freshness.js.map +0 -1
- package/dist/runtime/daimon/wakeMoments.js.map +0 -1
- package/dist/runtime/pi/adapter.d.ts +0 -3
- package/dist/runtime/pi/adapter.js +0 -230
- package/dist/runtime/pi/appActivitySource.d.ts +0 -1
- package/dist/runtime/pi/appActivitySource.js +0 -199
- package/dist/runtime/pi/appAgentConfig.d.ts +0 -11
- package/dist/runtime/pi/appAgentConfig.js +0 -264
- package/dist/runtime/pi/appCliEnginesSource.d.ts +0 -1
- package/dist/runtime/pi/appCliEnginesSource.js +0 -183
- package/dist/runtime/pi/appCliSource.d.ts +0 -1
- package/dist/runtime/pi/appCliSource.js +0 -353
- package/dist/runtime/pi/appControlSource.d.ts +0 -1
- package/dist/runtime/pi/appControlSource.js +0 -390
- package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +0 -1
- package/dist/runtime/pi/appControlWakeIdentitySource.js +0 -19
- package/dist/runtime/pi/appCoreSource.d.ts +0 -4
- package/dist/runtime/pi/appCoreSource.js +0 -244
- package/dist/runtime/pi/appPreludeSource.d.ts +0 -1
- package/dist/runtime/pi/appPreludeSource.js +0 -192
- package/dist/runtime/pi/appScheduleSource.d.ts +0 -1
- package/dist/runtime/pi/appScheduleSource.js +0 -84
- package/dist/runtime/pi/appScriptedEngine.d.ts +0 -31
- package/dist/runtime/pi/appScriptedEngine.js +0 -42
- package/dist/runtime/pi/appSource.d.ts +0 -4
- package/dist/runtime/pi/appSource.js +0 -12
- package/dist/runtime/pi/appTemplate.d.ts +0 -14
- package/dist/runtime/pi/appTemplate.js +0 -28
- package/dist/runtime/pi/appTemplateTypes.d.ts +0 -64
- package/dist/runtime/pi/appTemplateTypes.js +0 -18
- package/dist/runtime/pi/appWakeContextSource.d.ts +0 -1
- package/dist/runtime/pi/appWakeContextSource.js +0 -398
- package/dist/runtime/pi/containerTargets.d.ts +0 -4
- package/dist/runtime/pi/containerTargets.js +0 -63
- package/dist/runtime/pi/runAuth.d.ts +0 -2
- package/dist/runtime/pi/runAuth.js +0 -185
- package/dist/runtime/pi/testHelpers.d.ts +0 -2
- package/dist/shared/errors.js.map +0 -1
- package/dist/training/subjects/environment.d.ts +0 -2
- package/dist/training/subjects/environment.js +0 -14
- package/dist/training/subjects/environment.js.map +0 -1
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/index.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/index.js +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/protocol.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/protocol.js +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/provider.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/provider.js +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/strict-schema.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/strict-schema.js +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client for a running Daimon organization's control API (port 19700), reached
|
|
3
|
+
* the way every other Spawnfile probe reaches a container's loopback: an
|
|
4
|
+
* ephemeral curl helper from the same image inside the target's network
|
|
5
|
+
* namespace. The bearer token and any JSON body reach curl as a config on
|
|
6
|
+
* stdin (`--config -`), never on a command line another host process could read.
|
|
7
|
+
* Shared by `spawnfile release` (drain/resume) and production-booted training
|
|
8
|
+
* trials (wakes and receipts).
|
|
9
|
+
*/
|
|
10
|
+
export interface DaimonControlTarget {
|
|
11
|
+
containerRef: string;
|
|
12
|
+
dockerArgs: readonly string[];
|
|
13
|
+
dockerCommand: string;
|
|
14
|
+
imageRef: string;
|
|
15
|
+
token: string;
|
|
16
|
+
}
|
|
17
|
+
export interface DaimonControlResponse {
|
|
18
|
+
body: string;
|
|
19
|
+
status: number;
|
|
20
|
+
}
|
|
21
|
+
export type DaimonControlMethod = "GET" | "POST";
|
|
22
|
+
export type DaimonControlCall = (target: DaimonControlTarget, method: DaimonControlMethod, route: string, body?: unknown) => Promise<DaimonControlResponse>;
|
|
23
|
+
/** A control call that could not produce an HTTP answer. Its message never carries the token. */
|
|
24
|
+
export declare class DaimonControlError extends Error {
|
|
25
|
+
}
|
|
26
|
+
export declare const DAIMON_CONTROL_CALL_TIMEOUT_MS = 60000;
|
|
27
|
+
export declare const daimonControlHelperArgs: (target: DaimonControlTarget, method: DaimonControlMethod, route: string) => string[];
|
|
28
|
+
/** The stdin config: bearer header, plus a JSON content type and body when one is sent. */
|
|
29
|
+
export declare const daimonControlHelperConfig: (token: string, body?: unknown) => string;
|
|
30
|
+
export declare const parseDaimonControlHelperOutput: (stdout: string) => DaimonControlResponse;
|
|
31
|
+
export declare const daimonHelperControlCall: DaimonControlCall;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { DAIMON_CONTROL_PORT } from "./config.js";
|
|
3
|
+
/** A control call that could not produce an HTTP answer. Its message never carries the token. */
|
|
4
|
+
export class DaimonControlError extends Error {
|
|
5
|
+
}
|
|
6
|
+
export const DAIMON_CONTROL_CALL_TIMEOUT_MS = 60_000;
|
|
7
|
+
const MAX_CONTROL_OUTPUT_BYTES = 1024 * 1024;
|
|
8
|
+
export const daimonControlHelperArgs = (target, method, route) => [
|
|
9
|
+
...target.dockerArgs,
|
|
10
|
+
"run", "--rm", "-i", "--pull", "never",
|
|
11
|
+
"--network", `container:${target.containerRef}`,
|
|
12
|
+
"--entrypoint", "curl",
|
|
13
|
+
target.imageRef,
|
|
14
|
+
"-sS", "--max-time", "15", "-X", method, "--config", "-",
|
|
15
|
+
"--output", "-", "--write-out", "\\n%{http_code}",
|
|
16
|
+
`http://127.0.0.1:${DAIMON_CONTROL_PORT}${route}`
|
|
17
|
+
];
|
|
18
|
+
/** curl config quoting: a double-quoted value with `\` and `"` escaped and no raw newlines. */
|
|
19
|
+
const quoteCurlConfig = (value) => `"${value.replace(/\\/gu, "\\\\").replace(/"/gu, "\\\"").replace(/\n/gu, "\\n").replace(/\r/gu, "\\r")}"`;
|
|
20
|
+
/** The stdin config: bearer header, plus a JSON content type and body when one is sent. */
|
|
21
|
+
export const daimonControlHelperConfig = (token, body) => [
|
|
22
|
+
`header = ${quoteCurlConfig(`Authorization: Bearer ${token}`)}`,
|
|
23
|
+
...(body === undefined ? [] : [
|
|
24
|
+
`header = ${quoteCurlConfig("Content-Type: application/json")}`,
|
|
25
|
+
`data-binary = ${quoteCurlConfig(JSON.stringify(body))}`
|
|
26
|
+
])
|
|
27
|
+
].join("\n") + "\n";
|
|
28
|
+
const redact = (text, token) => (token ? text.split(token).join("[redacted]") : text).replace(/\s+/gu, " ").slice(0, 240);
|
|
29
|
+
export const parseDaimonControlHelperOutput = (stdout) => {
|
|
30
|
+
const match = /\n(\d{3})$/u.exec(stdout);
|
|
31
|
+
if (!match || match.index === undefined) {
|
|
32
|
+
throw new DaimonControlError("the runtime control helper returned no HTTP status");
|
|
33
|
+
}
|
|
34
|
+
return { body: stdout.slice(0, match.index), status: Number(match[1]) };
|
|
35
|
+
};
|
|
36
|
+
export const daimonHelperControlCall = (target, method, route, body) => new Promise((resolve, reject) => {
|
|
37
|
+
const child = spawn(target.dockerCommand, daimonControlHelperArgs(target, method, route), {
|
|
38
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
39
|
+
});
|
|
40
|
+
const out = [];
|
|
41
|
+
let bytes = 0;
|
|
42
|
+
let stderr = "";
|
|
43
|
+
let settled = false;
|
|
44
|
+
const finish = (error, value) => {
|
|
45
|
+
if (settled)
|
|
46
|
+
return;
|
|
47
|
+
settled = true;
|
|
48
|
+
clearTimeout(timer);
|
|
49
|
+
if (error)
|
|
50
|
+
reject(error);
|
|
51
|
+
else
|
|
52
|
+
resolve(value);
|
|
53
|
+
};
|
|
54
|
+
const timer = setTimeout(() => {
|
|
55
|
+
child.kill("SIGKILL");
|
|
56
|
+
finish(new DaimonControlError(`runtime control ${method} ${route} timed out`));
|
|
57
|
+
}, DAIMON_CONTROL_CALL_TIMEOUT_MS);
|
|
58
|
+
child.stdout.on("data", (chunk) => {
|
|
59
|
+
bytes += chunk.length;
|
|
60
|
+
if (bytes > MAX_CONTROL_OUTPUT_BYTES) {
|
|
61
|
+
child.kill("SIGKILL");
|
|
62
|
+
finish(new DaimonControlError(`runtime control ${method} ${route} answered more than the output bound`));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
out.push(chunk);
|
|
66
|
+
});
|
|
67
|
+
child.stderr.on("data", (chunk) => { stderr = `${stderr}${chunk.toString("utf8")}`.slice(-2000); });
|
|
68
|
+
child.once("error", (error) => finish(new DaimonControlError(`cannot start the runtime control helper: ${error.message}`)));
|
|
69
|
+
child.once("close", (code) => {
|
|
70
|
+
if (code !== 0) {
|
|
71
|
+
finish(new DaimonControlError(`runtime control ${method} ${route} failed (exit ${code ?? "signal"}): ${redact(stderr, target.token)}`));
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
finish(null, parseDaimonControlHelperOutput(Buffer.concat(out).toString("utf8")));
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
finish(error);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
child.stdin.on("error", () => undefined);
|
|
82
|
+
child.stdin.end(daimonControlHelperConfig(target.token, body));
|
|
83
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT: "
|
|
1
|
+
export declare const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT: "a42a2b23722eadc44874e8caf117d17237e1095f";
|
|
2
2
|
export declare const DAIMON_V5_ENGINE_DESCRIPTORS: {
|
|
3
3
|
readonly agy: {
|
|
4
4
|
readonly auth: {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/* v8 ignore file -- generated data module */
|
|
2
2
|
// Generated by scripts/generate-daimon-engine-descriptors.ts from pinned Daimon static descriptors. Do not edit.
|
|
3
|
-
export const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT = "
|
|
3
|
+
export const DAIMON_ENGINE_DESCRIPTOR_SOURCE_COMMIT = "a42a2b23722eadc44874e8caf117d17237e1095f";
|
|
4
4
|
export const DAIMON_V5_ENGINE_DESCRIPTORS = { "agy": { "auth": { "busEnvironment": "DBUS_SESSION_BUS_ADDRESS", "format": null, "method": null, "provider": null, "realm": { "directoryMode": 448, "durableMountPath": "/var/lib/spawnfile/daimon/agy-subscription-realm", "fileMode": 384, "maxUnlockBytes": 4096, "unlockMountPath": "/var/lib/spawnfile/daimon/agy-unlock-secret", "unlockSourceSlot": "agy-unlock-secret" }, "staging": "secret-service" }, "authKinds": ["subscription"], "broker": null, "capabilities": { "broker": false, "nativeSandbox": false, "portableCredential": false, "secretService": true }, "credentialMaterial": null, "homeDirectory": "", "homeEnvironment": "ANTIGRAVITY_CLI_HOME", "id": "agy", "modelSelection": { "configurable": false, "declarationRequiresBroker": false, "defaults": { "model": null, "reasoningEffort": null }, "models": null, "reasoningEfforts": [], "requiresPairedDeclaration": false }, "requiredBinaries": ["agy", "dbus-daemon", "gnome-keyring-daemon"], "sandbox": { "configurable": false }, "training": { "inferenceGrants": null, "subject": { "isolation": null, "reason": "no verified per-agent sandbox", "supported": false } } }, "codex": { "auth": { "directoryMode": 448, "fileMode": 384, "fileName": "auth.json", "format": { "accessTokenKeys": ["access_token", "accessToken", "token"], "containerKey": "tokens", "fallbackToRoot": true, "refreshTokenKeys": ["refresh_token", "refreshToken"] }, "maxCredentialBytes": 65536, "method": "codex", "provider": "openai", "realm": { "agentCredentialRelativePath": ".codex/auth.json", "bootstrapMountPath": "/var/lib/spawnfile/daimon/codex-bootstrap-auth", "bootstrapSourceSlot": "codex-auth", "directoryMode": 448, "durableMountPath": "/var/lib/spawnfile/daimon/codex-subscription-realm", "fileMode": 384, "maxCredentialBytes": 65536 }, "staging": "portable-realm" }, "authKinds": ["subscription"], "broker": null, "capabilities": { "broker": false, "nativeSandbox": true, "portableCredential": true, "secretService": false }, "credentialMaterial": { "destinationRelativePath": ".codex/auth.json", "directoryMode": 448, "fileMode": 384, "sourceRelativePath": ".daimon-inbound/codex-auth", "sourceSlot": "codex-auth" }, "homeDirectory": ".codex", "homeEnvironment": "CODEX_HOME", "id": "codex", "modelSelection": { "configurable": true, "declarationRequiresBroker": false, "defaults": { "model": null, "reasoningEffort": null }, "models": { "kind": "non-empty-string" }, "reasoningEfforts": ["none", "minimal", "low", "medium", "high", "xhigh", "max", "ultra", "persistent"], "requiresPairedDeclaration": false }, "piAuthMethod": "codex", "piProvider": "openai-codex", "piSourceProvider": "openai", "requiredBinaries": ["codex"], "sandbox": { "configurable": true, "policy": { "mode": "workspace-write", "networkAccess": false, "webSearch": "disabled" } }, "training": { "inferenceGrants": null, "subject": { "isolation": "native-sandbox", "supported": true } } }, "grok": { "auth": { "directoryMode": 448, "fileMode": 384, "fileName": "auth.json", "format": { "accessTokenKeys": ["key"], "entryKeyPattern": "^https://auth\\.x\\.ai::", "expiresAtKey": "expires_at", "refreshTokenKeys": ["refresh_token"] }, "maxCredentialBytes": 65536, "method": "grok", "provider": "xai", "realm": { "agentCredentialRelativePath": ".grok/auth.json", "bootstrapMountPath": "/var/lib/spawnfile/daimon/grok-bootstrap-auth", "bootstrapSourceSlot": "grok-auth", "directoryMode": 448, "durableMountPath": "/var/lib/spawnfile/daimon/grok-subscription-realm", "fileMode": 384, "maxCredentialBytes": 65536 }, "staging": "broker-realm" }, "authKinds": ["subscription"], "broker": { "artifacts": { "arm64Sha256": "d0dc1c03197c3e90f09b66ad7c89b4f7b448d06dc84c03b247dce976d6018d6e", "sourceSha256": "15836d7ad69f12ef581a6e5b8635c9db43b2177dac609160c0749d3d1fefbaa8", "x64Sha256": "95aa9c272225e74ff9f45f54dde4bc30aee324e9ba24d8a876db9151c81b454d" }, "backendSocketPath": "/run/daimon-engine-broker/backend.sock", "bounds": { "capabilityBundleBytes": 8196, "capabilityBytes": 4096, "outputBytes": 262144, "promptBytes": 65536 }, "controlProtocolVersion": "noopolis.daimon.engine-broker.v4", "controlSocketPath": "/run/daimon-engine-broker/control.sock", "credentialHomePath": "/var/lib/spawnfile/daimon/grok-subscription-realm", "grokCliArtifacts": { "arm64": { "bytes": 136090504, "sha256": "39ab87666877d64ef3a40aa60fbe0c3b6a6acd7001b78fe60e2c76bb6cfc4a94", "url": "https://storage.googleapis.com/grok-build-public-artifacts/cli/grok-1.0.34-linux-aarch64" }, "x64": { "bytes": 163035648, "sha256": "be5905e107d2b8b5f3c142d21ecfe4c8fd32a913d2fd551b788707930c4dc80d", "url": "https://storage.googleapis.com/grok-build-public-artifacts/cli/grok-1.0.34-linux-x86_64" } }, "grokCliBuild": "3736acbc8658", "grokCliVersion": "1.0.34", "grokExecutablePath": "/usr/local/bin/grok", "identities": { "brokerUid": 2100, "firstWorkerUid": 2200, "organizationUid": 2000 }, "inferenceGrants": { "bodyMembers": ["messages", "model", "reasoning_effort", "response_format", "stream", "stream_options"], "client": { "configSha256": { "grok-4.5": { "high": "ffbc33728b821e9854fbc7c93601e599225da421ecfd6ebf10d314afcc28d6f2", "low": "a07f7436f1268bb399ec233c65d3b3d8fb99a11a1f175f8da1ca133c9367bc74", "medium": "1f4c0d4dad1f3b09419b5739db6423a09e0049abc091594c64123a75dd53dfb9" }, "grok-4.6": { "high": "5652656effa82f0c4f09cf8226b16e6140332a5a358b571194bb5563312367ac", "low": "79314d039f787e4ebfec7dacf57adc969086b948f564dec008f0ed6367e6062f", "medium": "6f538de0547c0c4e6a3f04ae08595ceadadabb06b75f6b6ee4c428744bb95cd8" }, "grok-build": { "high": "98d16f2b7d12f4eb540d625c853e51d227933e204923e43e8b9b4176f10aca2c", "low": "ca15c6a562a008227d39c51d3a3a83715663089b3784e8b46debb1fb67b3c4a1", "medium": "01783fb6beadcf6f8486fff0836820ad43fab5662b812a907fe9cfdb83e9804d" } }, "envKey": "DAIMON_INFERENCE_GRANT", "modelId": "daimon-inference-grok" }, "failureCodes": ["auth_stale", "grant_limit", "invalid_request", "unavailable"], "ledgerDedupeKey": ["grant", "request"], "ledgerVersion": "noopolis.daimon.inference-usage.v1", "limits": { "maxRequests": 64, "maxTokens": 2000000 }, "maxInFlightRequestsPerGrant": 1, "maxLiveGrants": 8, "messageRoles": ["system", "user", "assistant"], "purposes": ["judge", "optimizer"], "requestKinds": ["request_inference_grant", "release_inference_grant"], "tokenPrefix": "inference_", "ttlMs": 600000 }, "launcherSocketPath": "/run/daimon-engine-broker/launcher.sock", "mcpFacade": { "host": "127.0.0.1", "path": "/mcp", "port": 43124 }, "nativeAbiVersion": 2, "nativeExecutablePath": "/opt/daimon/bin/daimon-engine-broker", "projectionVersion": "noopolis.daimon.grok-broker-projection.v3", "providerProxy": { "host": "127.0.0.1", "port": 43123 }, "registrationPath": "/etc/daimon-engine-broker/registrations.bin", "runRequestBudget": { "countsCredentialRetries": true, "fileName": "run-requests.json", "includesInferenceGrants": true, "maximumField": "maxRunRequests", "storeField": "runRequestStore" }, "serviceConfigPath": "/etc/daimon-engine-broker/service.json", "serviceConfigVersions": ["noopolis.daimon.engine-broker-service.v1", "noopolis.daimon.engine-broker-service.v2", "noopolis.daimon.engine-broker-service.v3"], "slotPreflightVersion": "noopolis.daimon.grok-slot-preflight.v2", "slotRouting": { "controlCaller": "organization", "key": "slot", "repeatedAgentIds": true, "resetRequest": "reset_slot", "resetResponse": "slot_reset", "slotEnvironment": "DAIMON_ENGINE_BROKER_SLOT", "turnStoreDirectory": "slot-{slot}", "workersMayControl": false }, "turnLimits": { "bounds": { "maxRequests": [1, 48], "maxTokens": [1, 10000000], "timeoutMs": [1000, 3600000] }, "keys": ["maxRequests", "maxTokens", "timeoutMs"], "limitReasons": ["tokens", "requests", "timeout", "none"], "maxInFlightRequests": 1, "missingUsageEstimate": { "inputBytesPerToken": 2, "outputTokens": 4096 }, "requestUsageMaxTokens": 500000, "tokenCeilingOvershoot": "at-most-one-request", "v1Defaults": { "maxRequests": 32, "maxTokens": 300000, "timeoutMs": 240000 }, "wakeMayOnlyLower": true }, "turnRecordVersions": ["noopolis.daimon.engine-broker-turn.v1", "noopolis.daimon.engine-broker-turn.v2"], "turnStorePath": "/var/lib/spawnfile/daimon/grok-subscription-realm/turns", "wakeLimitEnvironment": { "maxTokens": "DAIMON_ENGINE_WAKE_TOKEN_CEILING", "timeoutMs": "DAIMON_ENGINE_WAKE_TIMEOUT_MS" }, "worker": { "clockedConfigSha256": { "grok-4.5": { "high": "907d8967960c342b442d6d256b2585f3c85bd846a78578f596f0b605403d6d34", "low": "3c4f3515b21c1bffb3fb770e2ecb4b918b6c43d5e77c1fd47e1e6698d1fedee7", "medium": "9117e12b2f3f6fa045799592969cbaae1c2f3b1ea79330badac8655b9b41dd7a" }, "grok-4.6": { "high": "203744f6f0dfc0bc80cfb896880497edfd9b3de4dcf33060e8ef4d2ef5f220a7", "low": "751f1dcd04983e5e5883df5a8fefa04f201e187e5ef1f344d3bf83f950830432", "medium": "f1406f93a8091eb0c09e07321254a9c783a89b0bbf5548d9613d53a8d087a517" }, "grok-build": { "high": "6efddadc82c38020d3351829e54bb09fa456cd6d76ea1247902794d82a4a3ffa", "low": "a8c63ba910623a0686930c27db0733f4a2588c7fca9dd7da25c3f18027720ab5", "medium": "6afcd2b90c0d19794f8c0d22147a0f011946a92e613f89dae98b0ca729313101" } }, "configSha256": { "grok-4.5": { "high": "c63c3387ce92d94ec3f690abfe98942afcd7c9e17ff84816bbe751f340ab251f", "low": "8247127c3625ff7c5d8d527a53596b89ec6557a821ac46cfd00bd122b90daff6", "medium": "59288cee61297bb8c002097061a48f77b09d310754187a253ee089f7172a9155" }, "grok-4.6": { "high": "65b0212564fb74042b1503d293fb8d3620276033264c0efade2a539ca09218e3", "low": "ab58499ac32678097c146479896f2b8a8e2b0e39aea22dc0a60b6227e370538e", "medium": "df1a5cc84346e7f6bf6090492fbd19faaefb42953e3bb2e8c6cbc0572242403f" }, "grok-build": { "high": "a23724e00d670caee185ba7690d2daa868173e53905cf446f5329666f01ab4e3", "low": "fb343f2809903f26d21681470943235031f946e99085542fd89555eb7782cbb5", "medium": "8a587ef75c90eab70d19b24583e60051d6fba9d90c558839fdbb15588b4cc656" } }, "defaultModel": "grok-4.6", "defaultReasoningEffort": "low", "home": { "directory": { "group": "worker", "mode": 1017, "uid": 0 }, "organizationRuntimeHome": { "group": "worker", "mode": 456, "owner": "organization" }, "privateTmp": { "mode": 448, "owner": "worker", "relativeToWorkerHome": "tmp" }, "readOnlyFiles": { "gid": 0, "mode": 292, "names": ["config.toml", "managed_config.toml", "requirements.toml", "sandbox.toml", "trusted_folders.toml"], "uid": 0 }, "sandboxEvents": { "group": "broker", "mode": 416, "owner": "worker", "relativePath": "sessions/sandbox-events.jsonl" }, "sessionsDirectory": { "group": "worker", "mode": 1017, "relativePath": "sessions", "uid": 0 }, "sharedTmp": { "maxGroupExclusive": 2200, "mode": 1020, "otherMode": 4, "paths": ["/tmp", "/var/tmp"], "uid": 0 }, "spillDirectory": { "fileMode": 416, "group": "worker", "mode": 1512, "owner": "organization", "relativeToRuntimeHome": "tool-output" } }, "maxTurns": 48, "modelId": "daimon-broker-grok", "models": ["grok-4.6", "grok-4.5", "grok-build"], "reasoningEfforts": ["low", "medium", "high"], "systemPromptSha256": "2c31c0085a54a4efbf9c0cf0b8124c56e47f38691b7f0c7fa233a74abaa8ddf8", "taskClock": { "directoryMode": 493, "directoryPath": "/run/daimon-engine-broker/task-clock/slot-0", "fileMode": 420, "ownerUid": 2100, "preloadPath": "/usr/local/lib/daimon/libfaketime.so.1", "rootDirectoryPath": "/run/daimon-engine-broker/task-clock", "slotDirectoryPattern": "/run/daimon-engine-broker/task-clock/slot-{slot}", "slotFilePattern": "/run/daimon-engine-broker/task-clock/slot-{slot}/faketime", "timestampFilePath": "/run/daimon-engine-broker/task-clock/slot-0/faketime", "version": "noopolis.daimon.grok-broker-task-clock.v2", "workerView": "own-directory-visible-sibling-directories-denied" }, "toolIds": ["run_terminal_cmd", "read_file", "grep", "list_dir", "search_tool", "use_tool"], "visibleTools": ["grep", "list_dir", "read_file", "run_terminal_command", "search_tool", "use_tool"] } }, "capabilities": { "broker": true, "nativeSandbox": true, "portableCredential": true, "secretService": false }, "credentialMaterial": { "destinationRelativePath": ".grok/auth.json" }, "homeDirectory": ".grok", "homeEnvironment": "GROK_HOME", "id": "grok", "modelSelection": { "configurable": true, "declarationRequiresBroker": true, "defaults": { "model": "grok-4.6", "reasoningEffort": "low" }, "models": { "kind": "enum", "values": ["grok-4.6", "grok-4.5", "grok-build"] }, "reasoningEfforts": ["low", "medium", "high"], "requiresPairedDeclaration": true }, "requiredBinaries": ["grok", "daimon-engine-broker"], "sandbox": { "baseProfile": "strict", "configurable": false, "denyPaths": { "canonicalAbsolute": true, "forbiddenCharacterPattern": "[\"\\\\\\u0000-\\u001f\\u007f*?[\\]]", "rootAllowed": false, "trailingSlashAllowed": false }, "profile": "daimon-strict", "restrictNetwork": true }, "training": { "inferenceGrants": { "bodyMembers": ["messages", "model", "reasoning_effort", "response_format", "stream", "stream_options"], "client": { "configSha256": { "grok-4.5": { "high": "ffbc33728b821e9854fbc7c93601e599225da421ecfd6ebf10d314afcc28d6f2", "low": "a07f7436f1268bb399ec233c65d3b3d8fb99a11a1f175f8da1ca133c9367bc74", "medium": "1f4c0d4dad1f3b09419b5739db6423a09e0049abc091594c64123a75dd53dfb9" }, "grok-4.6": { "high": "5652656effa82f0c4f09cf8226b16e6140332a5a358b571194bb5563312367ac", "low": "79314d039f787e4ebfec7dacf57adc969086b948f564dec008f0ed6367e6062f", "medium": "6f538de0547c0c4e6a3f04ae08595ceadadabb06b75f6b6ee4c428744bb95cd8" }, "grok-build": { "high": "98d16f2b7d12f4eb540d625c853e51d227933e204923e43e8b9b4176f10aca2c", "low": "ca15c6a562a008227d39c51d3a3a83715663089b3784e8b46debb1fb67b3c4a1", "medium": "01783fb6beadcf6f8486fff0836820ad43fab5662b812a907fe9cfdb83e9804d" } }, "envKey": "DAIMON_INFERENCE_GRANT", "modelId": "daimon-inference-grok" }, "failureCodes": ["auth_stale", "grant_limit", "invalid_request", "unavailable"], "ledgerDedupeKey": ["grant", "request"], "ledgerVersion": "noopolis.daimon.inference-usage.v1", "limits": { "maxRequests": 64, "maxTokens": 2000000 }, "maxInFlightRequestsPerGrant": 1, "maxLiveGrants": 8, "messageRoles": ["system", "user", "assistant"], "purposes": ["judge", "optimizer"], "requestKinds": ["request_inference_grant", "release_inference_grant"], "tokenPrefix": "inference_", "ttlMs": 600000 }, "subject": { "isolation": "broker-worker", "supported": true } } } };
|
|
5
|
-
//# sourceMappingURL=engineDescriptors.generated.js.map
|
|
@@ -23,4 +23,3 @@ export const DAIMON_SECRET_SERVICE_ENGINE_ID = byStaging("secret-service", DAIMO
|
|
|
23
23
|
export const DAIMON_ENGINE_BROKER = byStaging("broker-realm", DAIMON_PINNED_BROKER_DESCRIPTOR.id).broker;
|
|
24
24
|
// Admission additionally consumes training.subject; the declared inventory stays compatible.
|
|
25
25
|
export const daimonTrainingDeclaration = { adapterId: "daimon-native", engines: DAIMON_ENGINES };
|
|
26
|
-
//# sourceMappingURL=engines.js.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type DaimonEngineDescriptor } from "./engines.js";
|
|
2
|
+
/**
|
|
3
|
+
* In-container placement of Daimon's auth gateway (`daimon-runtime gateway`).
|
|
4
|
+
*
|
|
5
|
+
* The gateway is the only process that holds a gatewayed engine's subscription
|
|
6
|
+
* login. It runs as its own uid on loopback; the organization runtime gets a
|
|
7
|
+
* URL and a key instead of a realm. These names are Daimon's public contract
|
|
8
|
+
* (`src/gateway/` and `engines/codex/gatewayProvider.ts` in Daimon).
|
|
9
|
+
*/
|
|
10
|
+
export declare const DAIMON_GATEWAY_URL_ENV = "DAIMON_GATEWAY_URL";
|
|
11
|
+
/** Must keep its `_KEY` suffix: Codex's shell policy keeps `*KEY*` out of model-run commands. */
|
|
12
|
+
export declare const DAIMON_GATEWAY_KEY_ENV = "DAIMON_GATEWAY_KEY";
|
|
13
|
+
export declare const DAIMON_GATEWAY_CONFIG_VERSION = "noopolis.daimon.gateway.v1";
|
|
14
|
+
export declare const DAIMON_GATEWAY_KEY_TABLE_VERSION = "noopolis.daimon.gateway-keys.v1";
|
|
15
|
+
export declare const DAIMON_GATEWAY_HOST = "127.0.0.1";
|
|
16
|
+
export declare const DAIMON_GATEWAY_PORT = 43200;
|
|
17
|
+
export declare const DAIMON_GATEWAY_URL = "http://127.0.0.1:43200";
|
|
18
|
+
/** Root-owned, gateway-group-readable: config and key table. */
|
|
19
|
+
export declare const DAIMON_GATEWAY_ETC = "/etc/daimon-gateway";
|
|
20
|
+
export declare const DAIMON_GATEWAY_CONFIG = "/etc/daimon-gateway/config.json";
|
|
21
|
+
export declare const DAIMON_GATEWAY_KEY_TABLE = "/etc/daimon-gateway/keys.json";
|
|
22
|
+
/** Gateway-private copies of bootstrap leaves, rewritten on every start. */
|
|
23
|
+
export declare const DAIMON_GATEWAY_RUN = "/run/daimon-gateway";
|
|
24
|
+
/**
|
|
25
|
+
* Bind target directory for gatewayed bootstrap leaves. The host leaf keeps its
|
|
26
|
+
* host owner (the organization uid), so it is mounted under a root-only 0700
|
|
27
|
+
* directory the organization uid cannot traverse; root copies it for the gateway.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DAIMON_GATEWAY_BOOTSTRAP_ROOT = "/var/lib/spawnfile/daimon/gateway-bootstrap";
|
|
30
|
+
/** Key-table principal: Daimon reads one gateway key per organization runtime process. */
|
|
31
|
+
export declare const DAIMON_GATEWAY_PRINCIPAL = "daimon-organization";
|
|
32
|
+
export type DaimonGatewayedDescriptor = DaimonEngineDescriptor & {
|
|
33
|
+
auth: Extract<DaimonEngineDescriptor["auth"], {
|
|
34
|
+
staging: "portable-realm" | "broker-realm";
|
|
35
|
+
}>;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Whether Spawnfile places a gateway for this engine. The descriptors carry
|
|
39
|
+
* no gateway field, so the seam is the staging role: every realm-staged login
|
|
40
|
+
* (portable or brokered) is gatewayed; per-agent files and AGY's secret
|
|
41
|
+
* service never are. Replace with Daimon's own declaration once published.
|
|
42
|
+
*/
|
|
43
|
+
export declare const isDaimonGatewayedEngine: (descriptor: DaimonEngineDescriptor | undefined) => descriptor is DaimonGatewayedDescriptor;
|
|
44
|
+
export declare const daimonGatewayedEngines: (engines: Iterable<string>) => DaimonGatewayedDescriptor[];
|
|
45
|
+
type RealmBootstrap = Readonly<{
|
|
46
|
+
bootstrapMountPath: string;
|
|
47
|
+
}>;
|
|
48
|
+
/** Where a gatewayed engine's read-only bootstrap leaf is bind-mounted. */
|
|
49
|
+
export declare const daimonGatewayBootstrapMountPath: (realm: RealmBootstrap) => string;
|
|
50
|
+
/** The gateway-owned copy the gateway reads as its bootstrap. */
|
|
51
|
+
export declare const daimonGatewayBootstrapCopyPath: (realm: RealmBootstrap) => string;
|
|
52
|
+
/**
|
|
53
|
+
* Where the gateway mounts a realm volume. A brokered engine's descriptor
|
|
54
|
+
* realm path is also its broker's local turn-state home, so its volume moves
|
|
55
|
+
* to a sibling `gateway-` path; every other realm keeps its descriptor path.
|
|
56
|
+
*/
|
|
57
|
+
export declare const daimonGatewayRealmPath: (descriptor: DaimonGatewayedDescriptor) => string;
|
|
58
|
+
/** Gateway-private refresh home for a brokered engine, whose CLI refreshes its own login. */
|
|
59
|
+
export declare const daimonGatewayRefreshScratchPath: (descriptor: DaimonGatewayedDescriptor) => string | undefined;
|
|
60
|
+
/** `host` is loopback in-container; the training sidecar binds its private network (`0.0.0.0`). */
|
|
61
|
+
export declare const renderDaimonGatewayConfig: (descriptors: readonly DaimonGatewayedDescriptor[], host?: string) => string;
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { getDaimonEngineDescriptor } from "./engines.js";
|
|
3
|
+
/**
|
|
4
|
+
* In-container placement of Daimon's auth gateway (`daimon-runtime gateway`).
|
|
5
|
+
*
|
|
6
|
+
* The gateway is the only process that holds a gatewayed engine's subscription
|
|
7
|
+
* login. It runs as its own uid on loopback; the organization runtime gets a
|
|
8
|
+
* URL and a key instead of a realm. These names are Daimon's public contract
|
|
9
|
+
* (`src/gateway/` and `engines/codex/gatewayProvider.ts` in Daimon).
|
|
10
|
+
*/
|
|
11
|
+
export const DAIMON_GATEWAY_URL_ENV = "DAIMON_GATEWAY_URL";
|
|
12
|
+
/** Must keep its `_KEY` suffix: Codex's shell policy keeps `*KEY*` out of model-run commands. */
|
|
13
|
+
export const DAIMON_GATEWAY_KEY_ENV = "DAIMON_GATEWAY_KEY";
|
|
14
|
+
export const DAIMON_GATEWAY_CONFIG_VERSION = "noopolis.daimon.gateway.v1";
|
|
15
|
+
export const DAIMON_GATEWAY_KEY_TABLE_VERSION = "noopolis.daimon.gateway-keys.v1";
|
|
16
|
+
export const DAIMON_GATEWAY_HOST = "127.0.0.1";
|
|
17
|
+
export const DAIMON_GATEWAY_PORT = 43_200;
|
|
18
|
+
export const DAIMON_GATEWAY_URL = `http://${DAIMON_GATEWAY_HOST}:${DAIMON_GATEWAY_PORT}`;
|
|
19
|
+
/** Root-owned, gateway-group-readable: config and key table. */
|
|
20
|
+
export const DAIMON_GATEWAY_ETC = "/etc/daimon-gateway";
|
|
21
|
+
export const DAIMON_GATEWAY_CONFIG = `${DAIMON_GATEWAY_ETC}/config.json`;
|
|
22
|
+
export const DAIMON_GATEWAY_KEY_TABLE = `${DAIMON_GATEWAY_ETC}/keys.json`;
|
|
23
|
+
/** Gateway-private copies of bootstrap leaves, rewritten on every start. */
|
|
24
|
+
export const DAIMON_GATEWAY_RUN = "/run/daimon-gateway";
|
|
25
|
+
/**
|
|
26
|
+
* Bind target directory for gatewayed bootstrap leaves. The host leaf keeps its
|
|
27
|
+
* host owner (the organization uid), so it is mounted under a root-only 0700
|
|
28
|
+
* directory the organization uid cannot traverse; root copies it for the gateway.
|
|
29
|
+
*/
|
|
30
|
+
export const DAIMON_GATEWAY_BOOTSTRAP_ROOT = "/var/lib/spawnfile/daimon/gateway-bootstrap";
|
|
31
|
+
/** Key-table principal: Daimon reads one gateway key per organization runtime process. */
|
|
32
|
+
export const DAIMON_GATEWAY_PRINCIPAL = "daimon-organization";
|
|
33
|
+
/** Staging kinds whose login is one durable realm seeded from a bootstrap leaf: exactly what the gateway owns. */
|
|
34
|
+
const GATEWAYED_STAGINGS = new Set(["portable-realm", "broker-realm"]);
|
|
35
|
+
/**
|
|
36
|
+
* Whether Spawnfile places a gateway for this engine. The descriptors carry
|
|
37
|
+
* no gateway field, so the seam is the staging role: every realm-staged login
|
|
38
|
+
* (portable or brokered) is gatewayed; per-agent files and AGY's secret
|
|
39
|
+
* service never are. Replace with Daimon's own declaration once published.
|
|
40
|
+
*/
|
|
41
|
+
export const isDaimonGatewayedEngine = (descriptor) => descriptor !== undefined && GATEWAYED_STAGINGS.has(descriptor.auth.staging);
|
|
42
|
+
export const daimonGatewayedEngines = (engines) => [...new Set(engines)].sort().flatMap((engine) => {
|
|
43
|
+
const descriptor = getDaimonEngineDescriptor(engine);
|
|
44
|
+
return isDaimonGatewayedEngine(descriptor) ? [descriptor] : [];
|
|
45
|
+
});
|
|
46
|
+
/** Where a gatewayed engine's read-only bootstrap leaf is bind-mounted. */
|
|
47
|
+
export const daimonGatewayBootstrapMountPath = (realm) => path.posix.join(DAIMON_GATEWAY_BOOTSTRAP_ROOT, path.posix.basename(realm.bootstrapMountPath));
|
|
48
|
+
/** The gateway-owned copy the gateway reads as its bootstrap. */
|
|
49
|
+
export const daimonGatewayBootstrapCopyPath = (realm) => path.posix.join(DAIMON_GATEWAY_RUN, path.posix.basename(realm.bootstrapMountPath));
|
|
50
|
+
/**
|
|
51
|
+
* Where the gateway mounts a realm volume. A brokered engine's descriptor
|
|
52
|
+
* realm path is also its broker's local turn-state home, so its volume moves
|
|
53
|
+
* to a sibling `gateway-` path; every other realm keeps its descriptor path.
|
|
54
|
+
*/
|
|
55
|
+
export const daimonGatewayRealmPath = (descriptor) => {
|
|
56
|
+
const durable = descriptor.auth.realm.durableMountPath;
|
|
57
|
+
return descriptor.broker?.credentialHomePath === durable
|
|
58
|
+
? path.posix.join(path.posix.dirname(durable), `gateway-${path.posix.basename(durable)}`)
|
|
59
|
+
: durable;
|
|
60
|
+
};
|
|
61
|
+
/** Gateway-private refresh home for a brokered engine, whose CLI refreshes its own login. */
|
|
62
|
+
export const daimonGatewayRefreshScratchPath = (descriptor) => descriptor.broker === null ? undefined : path.posix.join(DAIMON_GATEWAY_RUN, `${descriptor.id}-refresh`);
|
|
63
|
+
/** `host` is loopback in-container; the training sidecar binds its private network (`0.0.0.0`). */
|
|
64
|
+
export const renderDaimonGatewayConfig = (descriptors, host = DAIMON_GATEWAY_HOST) => `${JSON.stringify({
|
|
65
|
+
version: DAIMON_GATEWAY_CONFIG_VERSION,
|
|
66
|
+
host,
|
|
67
|
+
port: DAIMON_GATEWAY_PORT,
|
|
68
|
+
key_table_path: DAIMON_GATEWAY_KEY_TABLE,
|
|
69
|
+
...Object.fromEntries(descriptors.map((descriptor) => [descriptor.id, {
|
|
70
|
+
realm_path: daimonGatewayRealmPath(descriptor),
|
|
71
|
+
bootstrap_path: daimonGatewayBootstrapCopyPath(descriptor.auth.realm),
|
|
72
|
+
...(descriptor.broker === null ? {} : {
|
|
73
|
+
command: descriptor.broker.grokExecutablePath,
|
|
74
|
+
scratch_path: daimonGatewayRefreshScratchPath(descriptor)
|
|
75
|
+
})
|
|
76
|
+
}]))
|
|
77
|
+
})}\n`;
|
|
@@ -10,11 +10,6 @@ export declare const resolveDaimonGrokWorkerConfig: (model: DaimonGrokBrokerMode
|
|
|
10
10
|
bytes: string;
|
|
11
11
|
sha256: string;
|
|
12
12
|
};
|
|
13
|
-
/** Validate Daimon's slot-zero template before substituting only the canonical slot path. */
|
|
14
|
-
export declare const resolveDaimonGrokClockedWorkerConfig: (model: DaimonGrokBrokerModel, reasoningEffort: DaimonGrokBrokerReasoningEffort, slot: number, vendored?: Readonly<Record<string, Readonly<Record<string, string>>>>) => {
|
|
15
|
-
bytes: string;
|
|
16
|
-
sha256: string;
|
|
17
|
-
};
|
|
18
13
|
/**
|
|
19
14
|
* Byte mirror of Daimon's `renderGrokWorkerSandboxProfile`
|
|
20
15
|
* (`daimon/src/runtime/grokWorkerSandboxProfile.ts`), pinned to Daimon's own
|
|
@@ -2,7 +2,7 @@ import { DAIMON_BROKER_ENGINE_ID, getDaimonEngineDescriptor, DAIMON_ENGINE_BROKE
|
|
|
2
2
|
import { createHash } from "node:crypto";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { SpawnfileError } from "../../shared/index.js";
|
|
5
|
-
import { DAIMON_GROK_WORKER_CONFIG_BYTES
|
|
5
|
+
import { DAIMON_GROK_WORKER_CONFIG_BYTES } from "./grokWorkerConfigBytes.js";
|
|
6
6
|
const workerDescriptor = getDaimonEngineDescriptor(DAIMON_BROKER_ENGINE_ID);
|
|
7
7
|
export const DAIMON_GROK_WORKER_SANDBOX_PROFILE = workerDescriptor.sandbox.profile;
|
|
8
8
|
export const DAIMON_GROK_WORKER_HOME_DIRECTORY = workerDescriptor.homeDirectory;
|
|
@@ -23,18 +23,6 @@ export const resolveDaimonGrokWorkerConfig = (model, reasoningEffort, vendored =
|
|
|
23
23
|
}
|
|
24
24
|
return { bytes, sha256: pin };
|
|
25
25
|
};
|
|
26
|
-
/** Validate Daimon's slot-zero template before substituting only the canonical slot path. */
|
|
27
|
-
export const resolveDaimonGrokClockedWorkerConfig = (model, reasoningEffort, slot, vendored = DAIMON_GROK_CLOCKED_WORKER_CONFIG_BYTES) => {
|
|
28
|
-
if (!Number.isSafeInteger(slot) || slot < 0)
|
|
29
|
-
throw new SpawnfileError("compile_error", "Invalid Grok clock slot");
|
|
30
|
-
const template = vendored[model]?.[reasoningEffort];
|
|
31
|
-
const pin = DAIMON_ENGINE_BROKER.worker.clockedConfigSha256[model]?.[reasoningEffort];
|
|
32
|
-
if (!template || sha256(template) !== pin)
|
|
33
|
-
throw new SpawnfileError("compile_error", "Clocked worker config does not match the contract manifest pin");
|
|
34
|
-
const clock = DAIMON_ENGINE_BROKER.worker.taskClock;
|
|
35
|
-
const bytes = template.replaceAll(clock.timestampFilePath, clock.slotFilePattern.replace("{slot}", String(slot)));
|
|
36
|
-
return { bytes, sha256: sha256(bytes) };
|
|
37
|
-
};
|
|
38
26
|
/**
|
|
39
27
|
* Byte mirror of Daimon's `renderGrokWorkerSandboxProfile`
|
|
40
28
|
* (`daimon/src/runtime/grokWorkerSandboxProfile.ts`), pinned to Daimon's own
|
|
@@ -2,3 +2,5 @@ export * from './contractManifest.js';
|
|
|
2
2
|
export { DAIMON_PACKAGE_NAME } from './packageName.js';
|
|
3
3
|
export * from './engines.js';
|
|
4
4
|
export * from './contractManifestSchema.js';
|
|
5
|
+
export { DAIMON_GATEWAY_KEY_ENV, DAIMON_GATEWAY_URL_ENV } from './gateway.js';
|
|
6
|
+
export { isDaimonGatewayRealmMountId } from './subscriptionRealms.js';
|
|
@@ -2,4 +2,5 @@ export * from './contractManifest.js';
|
|
|
2
2
|
export { DAIMON_PACKAGE_NAME } from './packageName.js';
|
|
3
3
|
export * from './engines.js';
|
|
4
4
|
export * from './contractManifestSchema.js';
|
|
5
|
-
|
|
5
|
+
export { DAIMON_GATEWAY_KEY_ENV, DAIMON_GATEWAY_URL_ENV } from './gateway.js';
|
|
6
|
+
export { isDaimonGatewayRealmMountId } from './subscriptionRealms.js';
|
|
@@ -4,7 +4,7 @@ import { SpawnfileError } from "../../shared/index.js";
|
|
|
4
4
|
* Daimon's organization runtime accepts exactly one `memory` block per agent
|
|
5
5
|
* (`OrganizationRuntimeMemory` = `{ runtimeHomePath, source?, tokenBudget? }`),
|
|
6
6
|
* so lowering picks one declared bank deterministically, the same way the
|
|
7
|
-
* legacy generated-Pi emitter
|
|
7
|
+
* legacy generated-Pi emitter did.
|
|
8
8
|
*/
|
|
9
9
|
const memoryAccessKey = (access) => `${access.source}:${access.bank.id}`;
|
|
10
10
|
const selectDaimonMemoryAccess = (node) => [...(node.memoryAccess ?? [])].sort((left, right) => memoryAccessKey(left).localeCompare(memoryAccessKey(right)))[0];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DAIMON_GATEWAY_URL_ENV, daimonGatewayBootstrapMountPath } from "./gateway.js";
|
|
1
2
|
import os from "node:os";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { constants } from "node:fs";
|
|
@@ -268,7 +269,9 @@ export const prepareDaimonRuntimeAuth = async (input) => {
|
|
|
268
269
|
mountArgs.push("-v", `${sourcePath}:${ingressPath}:ro`);
|
|
269
270
|
}
|
|
270
271
|
// Realm auth is staged once per organization, in the historical mount order.
|
|
271
|
-
|
|
272
|
+
// An external auth gateway supplied at boot holds every gatewayed login itself.
|
|
273
|
+
const externalGateway = Boolean(input.env[DAIMON_GATEWAY_URL_ENV]);
|
|
274
|
+
for (const staging of externalGateway ? ["secret-service"] : ["portable-realm", "broker-realm", "secret-service"]) {
|
|
272
275
|
for (const engine of new Set(agents.map((agent) => agent.engine.kind))) {
|
|
273
276
|
const descriptor = descriptorForEngine(engine);
|
|
274
277
|
if (descriptor.auth.staging !== staging)
|
|
@@ -277,13 +280,13 @@ export const prepareDaimonRuntimeAuth = async (input) => {
|
|
|
277
280
|
if (descriptor.auth.staging === "portable-realm") {
|
|
278
281
|
const ownerUid = await assertSafeDaimonSourceFile(source, engine, descriptor.auth.maxCredentialBytes, engine);
|
|
279
282
|
assertDaimonCredentialContainerOwner(ownerUid, engine, containerCredentialUid);
|
|
280
|
-
mountArgs.push("-v", `${source}:${descriptor.auth.realm
|
|
283
|
+
mountArgs.push("-v", `${source}:${daimonGatewayBootstrapMountPath(descriptor.auth.realm)}:ro`);
|
|
281
284
|
}
|
|
282
285
|
else if (descriptor.auth.staging === "broker-realm") {
|
|
283
286
|
const realm = descriptor.auth.realm;
|
|
284
|
-
//
|
|
287
|
+
// Root stages broker bootstrap material for the gateway; the organization uid never reads it.
|
|
285
288
|
await assertSafeDaimonSourceFile(source, engine, descriptor.auth.maxCredentialBytes, engine);
|
|
286
|
-
mountArgs.push("-v", `${source}:${realm
|
|
289
|
+
mountArgs.push("-v", `${source}:${daimonGatewayBootstrapMountPath(realm)}:ro`);
|
|
287
290
|
}
|
|
288
291
|
else if (descriptor.auth.staging === "secret-service") {
|
|
289
292
|
const realm = descriptor.auth.realm;
|
|
@@ -18,5 +18,7 @@
|
|
|
18
18
|
* rather than something the container can repair.
|
|
19
19
|
*/
|
|
20
20
|
export declare const DAIMON_ORGANIZATION_UID = 2000;
|
|
21
|
+
/** The auth gateway: sole holder of every gatewayed subscription realm. */
|
|
22
|
+
export declare const DAIMON_GATEWAY_UID = 2050;
|
|
21
23
|
export declare const DAIMON_BROKER_UID = 2100;
|
|
22
24
|
export declare const DAIMON_FIRST_WORKER_UID = 2200;
|
|
@@ -18,5 +18,7 @@
|
|
|
18
18
|
* rather than something the container can repair.
|
|
19
19
|
*/
|
|
20
20
|
export const DAIMON_ORGANIZATION_UID = 2_000;
|
|
21
|
+
/** The auth gateway: sole holder of every gatewayed subscription realm. */
|
|
22
|
+
export const DAIMON_GATEWAY_UID = 2_050;
|
|
21
23
|
export const DAIMON_BROKER_UID = 2_100;
|
|
22
24
|
export const DAIMON_FIRST_WORKER_UID = 2_200;
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Whether a compiled persistent mount is a gatewayed realm. An organization
|
|
3
|
+
* booted against an external gateway (`DAIMON_GATEWAY_URL` at boot) mounts
|
|
4
|
+
* none of these and stages no bootstrap leaf: the gateway alone holds them.
|
|
5
|
+
*/
|
|
6
|
+
export declare const isDaimonGatewayRealmMountId: (id: string) => boolean;
|
|
7
|
+
export declare const daimonGatewayedSubscriptionRealms: (engines: readonly string[]) => {
|
|
8
|
+
opaqueMountTargets: string[];
|
|
3
9
|
persistentMounts: {
|
|
4
10
|
id: string;
|
|
5
11
|
lifecycle: "exclusive-reattach";
|
|
6
|
-
mountPath:
|
|
12
|
+
mountPath: string;
|
|
7
13
|
reason: string;
|
|
8
14
|
}[];
|
|
9
15
|
};
|
|
@@ -1,18 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { daimonGatewayBootstrapMountPath, daimonGatewayedEngines, daimonGatewayRealmPath } from "./gateway.js";
|
|
2
|
+
import { DAIMON_ENGINES } from "./engines.js";
|
|
3
|
+
/**
|
|
4
|
+
* Realm resources for every gatewayed engine: one exclusive-reattach realm
|
|
5
|
+
* volume the auth gateway alone owns, and one opaque bootstrap leaf mounted
|
|
6
|
+
* under the gateway-private root. The volume id is the realm's identity, so a
|
|
7
|
+
* moved mount path still reattaches the same login.
|
|
8
|
+
*/
|
|
9
|
+
const realmMountId = (engine) => `daimon-${engine}-subscription-realm`;
|
|
10
|
+
/**
|
|
11
|
+
* Whether a compiled persistent mount is a gatewayed realm. An organization
|
|
12
|
+
* booted against an external gateway (`DAIMON_GATEWAY_URL` at boot) mounts
|
|
13
|
+
* none of these and stages no bootstrap leaf: the gateway alone holds them.
|
|
14
|
+
*/
|
|
15
|
+
export const isDaimonGatewayRealmMountId = (id) => daimonGatewayedEngines(DAIMON_ENGINES).some((descriptor) => realmMountId(descriptor.id) === id);
|
|
16
|
+
export const daimonGatewayedSubscriptionRealms = (engines) => {
|
|
17
|
+
const descriptors = daimonGatewayedEngines(engines);
|
|
9
18
|
return {
|
|
10
|
-
opaqueMountTargets:
|
|
11
|
-
persistentMounts:
|
|
12
|
-
id:
|
|
19
|
+
opaqueMountTargets: descriptors.map((descriptor) => daimonGatewayBootstrapMountPath(descriptor.auth.realm)),
|
|
20
|
+
persistentMounts: descriptors.map((descriptor) => ({
|
|
21
|
+
id: realmMountId(descriptor.id),
|
|
13
22
|
lifecycle: "exclusive-reattach",
|
|
14
|
-
mountPath:
|
|
15
|
-
reason: `Daimon host ${
|
|
23
|
+
mountPath: daimonGatewayRealmPath(descriptor),
|
|
24
|
+
reason: `Daimon host ${descriptor.id} subscription credential realm`
|
|
16
25
|
}))
|
|
17
26
|
};
|
|
18
27
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const
|
|
2
|
-
description: "
|
|
1
|
+
export const createDaimonTestNode = (overrides = {}) => ({
|
|
2
|
+
description: "Daimon test agent",
|
|
3
3
|
docs: [
|
|
4
4
|
{
|
|
5
5
|
content: "# Instructions\n",
|
|
@@ -23,7 +23,7 @@ export const createPiTestNode = (overrides = {}) => ({
|
|
|
23
23
|
name: "assistant",
|
|
24
24
|
policyMode: null,
|
|
25
25
|
policyOnDegrade: null,
|
|
26
|
-
runtime: { name: "
|
|
26
|
+
runtime: { name: "daimon", options: {} },
|
|
27
27
|
secrets: [],
|
|
28
28
|
skills: [
|
|
29
29
|
{
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { SubjectAdapter } from '../../../../training/index.js';
|
|
2
|
+
export declare const BOOTED_ADAPTER_ID = "daimon-booted";
|
|
3
|
+
export declare const BOOTED_EVIDENCE_SCHEMA = "spawnfile.training.daimon-booted.wake.v1";
|
|
4
|
+
/** One ledger row a wake appended (`noopolis.daimon.turn-usage.v1`), as far as Training reads it. */
|
|
5
|
+
export interface BootedUsageRow {
|
|
6
|
+
input: number;
|
|
7
|
+
cache_read: number;
|
|
8
|
+
output: number;
|
|
9
|
+
notional_usd: number;
|
|
10
|
+
complete: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface BootedWake {
|
|
13
|
+
state: 'completed' | 'failed' | 'stopped' | 'timeout';
|
|
14
|
+
acceptanceId: string;
|
|
15
|
+
executionId: string | null;
|
|
16
|
+
code: string | null;
|
|
17
|
+
text: string;
|
|
18
|
+
usage: readonly BootedUsageRow[];
|
|
19
|
+
transcript: string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface BootedTrialHandle {
|
|
22
|
+
wake(text: string, options: {
|
|
23
|
+
deliveryId: string;
|
|
24
|
+
timeoutMs: number;
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
}): Promise<BootedWake>;
|
|
27
|
+
teardown(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/** Boots one trial organization of the subject with the candidate's instructions. */
|
|
30
|
+
export interface BootedTrialLauncher {
|
|
31
|
+
boot(input: {
|
|
32
|
+
trialId: string;
|
|
33
|
+
instructions: string;
|
|
34
|
+
signal?: AbortSignal;
|
|
35
|
+
}): Promise<BootedTrialHandle>;
|
|
36
|
+
}
|
|
37
|
+
export interface BootedAdapterOptions {
|
|
38
|
+
launcher: BootedTrialLauncher;
|
|
39
|
+
timeoutMs: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A training trial as a production-booted organization: the container is the
|
|
43
|
+
* isolation, the wake is the turn, and the evidence is what the runtime itself
|
|
44
|
+
* recorded (receipt, usage ledger, engine transcript).
|
|
45
|
+
*/
|
|
46
|
+
export declare function createDaimonBootedAdapter(options: BootedAdapterOptions): SubjectAdapter;
|