spawnfile 0.1.33 → 0.1.35
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 +3 -3
- package/dist/auth/profileStore.d.ts +3 -1
- package/dist/auth/profileStore.js +31 -30
- package/dist/auth/trainingAuth.d.ts +2 -5
- package/dist/auth/types.d.ts +16 -0
- package/dist/cli/authCommands.d.ts +1 -1
- package/dist/cli/authCommands.js +21 -1
- package/dist/cli/devCommands.d.ts +1 -1
- package/dist/cli/devCommands.js +0 -66
- package/dist/cli/runCli.d.ts +3 -4
- package/dist/cli/runCli.js +4 -3
- package/dist/cli/trainCommand.js +9 -15
- package/dist/cli/trainingBooted.d.ts +9 -0
- package/dist/cli/trainingBooted.js +45 -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 +19 -90
- package/dist/compiler/containerDaimonGatewayRender.d.ts +50 -0
- package/dist/compiler/containerDaimonGatewayRender.js +161 -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 +29 -47
- 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 +3 -0
- package/dist/compiler/runProject.js +12 -5
- package/dist/compiler/runProjectAuth.js +6 -18
- 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/rewind/contract.d.ts +6 -6
- package/dist/compiler/training/trial/boot.d.ts +72 -0
- package/dist/compiler/training/trial/boot.js +225 -0
- package/dist/compiler/training/trial/docker.d.ts +10 -0
- package/dist/compiler/training/trial/docker.js +22 -0
- package/dist/compiler/training/trial/gateway.d.ts +47 -0
- package/dist/compiler/training/trial/gateway.js +113 -0
- package/dist/compiler/training/trial/homeLogin.d.ts +31 -0
- package/dist/compiler/training/trial/homeLogin.js +69 -0
- package/dist/compiler/training/trial/index.d.ts +8 -0
- package/dist/compiler/training/trial/index.js +8 -0
- package/dist/compiler/training/trial/judge.d.ts +15 -0
- package/dist/compiler/training/trial/judge.js +42 -0
- package/dist/compiler/training/trial/launcher.d.ts +47 -0
- package/dist/compiler/training/trial/launcher.js +193 -0
- package/dist/compiler/training/trial/login.d.ts +35 -0
- package/dist/compiler/training/trial/login.js +85 -0
- package/dist/compiler/training/trial/project.d.ts +11 -0
- package/dist/compiler/training/trial/project.js +31 -0
- package/dist/compiler/training/trial/realmTurns.d.ts +20 -0
- package/dist/compiler/training/trial/realmTurns.js +69 -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/manifest/renderSpawnfile.js +2 -1
- 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 +8 -14
- 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 +15 -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 +27 -3
- package/dist/runtime/daimon/subscriptionRealms.js +35 -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 +50 -0
- package/dist/runtime/daimon/training/booted/adapter.js +60 -0
- package/dist/runtime/daimon/training/booted/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/booted/index.d.ts +4 -0
- package/dist/runtime/daimon/training/booted/index.js +3 -0
- package/dist/runtime/daimon/training/booted/index.js.map +1 -0
- package/dist/runtime/daimon/training/booted/judge.d.ts +39 -0
- package/dist/runtime/daimon/training/booted/judge.js +122 -0
- package/dist/runtime/daimon/training/booted/judge.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/wakeMoments.js +0 -1
- package/dist/runtime/install.js +0 -21
- package/dist/runtime/registry.js +0 -2
- package/dist/runtime/trainingGraderProviders.js +10 -4
- package/dist/runtime/trainingProviders.d.ts +5 -3
- package/dist/runtime/trainingProviders.js +21 -24
- 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/runtime/usageRequestLedger.d.ts +2 -0
- package/dist/runtime/usageRequestLedger.js +3 -1
- package/dist/shared/errors.js +0 -1
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.d.ts +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js +1 -0
- package/dist/shared/trainingLegacy/trainingLegacyHashDomains.js.map +1 -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.d.ts +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js +0 -2
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.d.ts +0 -17
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js +0 -80
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.d.ts +0 -12
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js +0 -125
- 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.d.ts +0 -6
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js +0 -219
- 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/providers/grok-subscription/cli.d.ts +0 -21
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +0 -81
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +0 -4
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js +0 -5
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +0 -26
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +0 -102
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.d.ts +0 -9
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +0 -38
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.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
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* curl on stdin (`-H @-`), never on a command line another host process could
|
|
6
|
-
* read.
|
|
7
|
-
*/
|
|
8
|
-
export interface RuntimeControlTarget {
|
|
9
|
-
containerRef: string;
|
|
10
|
-
dockerArgs: readonly string[];
|
|
11
|
-
dockerCommand: string;
|
|
12
|
-
imageRef: string;
|
|
13
|
-
token: string;
|
|
14
|
-
}
|
|
15
|
-
export interface ControlResponse {
|
|
16
|
-
body: string;
|
|
17
|
-
status: number;
|
|
18
|
-
}
|
|
1
|
+
import { type DaimonControlResponse, type DaimonControlTarget } from "../runtime/daimon/control.js";
|
|
2
|
+
/** The running organization's control plane, through the shared Daimon control client. */
|
|
3
|
+
export type RuntimeControlTarget = DaimonControlTarget;
|
|
4
|
+
export type ControlResponse = DaimonControlResponse;
|
|
19
5
|
export type ControlCall = (target: RuntimeControlTarget, method: "GET" | "POST", route: string) => Promise<ControlResponse>;
|
|
20
6
|
export declare const CONTROL_CALL_TIMEOUT_MS = 60000;
|
|
21
|
-
export declare const controlHelperArgs: (target:
|
|
7
|
+
export declare const controlHelperArgs: (target: DaimonControlTarget, method: import("../runtime/daimon/control.js").DaimonControlMethod, route: string) => string[];
|
|
22
8
|
export declare const parseHelperOutput: (stdout: string) => ControlResponse;
|
|
23
9
|
export declare const helperControlCall: ControlCall;
|
|
24
10
|
export type DrainState = "draining" | "drained" | null;
|
|
@@ -1,74 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { DAIMON_CONTROL_PORT } from "../runtime/daimon/config.js";
|
|
1
|
+
import { DAIMON_CONTROL_CALL_TIMEOUT_MS, DaimonControlError, daimonControlHelperArgs, daimonHelperControlCall, parseDaimonControlHelperOutput } from "../runtime/daimon/control.js";
|
|
3
2
|
import { ReleaseError } from "./types.js";
|
|
4
|
-
export const CONTROL_CALL_TIMEOUT_MS =
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
"--network", `container:${target.containerRef}`,
|
|
10
|
-
"--entrypoint", "curl",
|
|
11
|
-
target.imageRef,
|
|
12
|
-
"-sS", "--max-time", "15", "-X", method, "-H", "@-",
|
|
13
|
-
"--output", "-", "--write-out", "\\n%{http_code}",
|
|
14
|
-
`http://127.0.0.1:${DAIMON_CONTROL_PORT}${route}`
|
|
15
|
-
];
|
|
16
|
-
const redact = (text, token) => (token ? text.split(token).join("[redacted]") : text).replace(/\s+/gu, " ").slice(0, 240);
|
|
3
|
+
export const CONTROL_CALL_TIMEOUT_MS = DAIMON_CONTROL_CALL_TIMEOUT_MS;
|
|
4
|
+
export const controlHelperArgs = daimonControlHelperArgs;
|
|
5
|
+
const asRelease = (error) => {
|
|
6
|
+
throw error instanceof DaimonControlError ? new ReleaseError("drain-failed", error.message) : error;
|
|
7
|
+
};
|
|
17
8
|
export const parseHelperOutput = (stdout) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
try {
|
|
10
|
+
return parseDaimonControlHelperOutput(stdout);
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
return asRelease(error);
|
|
21
14
|
}
|
|
22
|
-
return { body: stdout.slice(0, match.index), status: Number(match[1]) };
|
|
23
15
|
};
|
|
24
|
-
export const helperControlCall = (target, method, route) =>
|
|
25
|
-
const child = spawn(target.dockerCommand, controlHelperArgs(target, method, route), {
|
|
26
|
-
stdio: ["pipe", "pipe", "pipe"]
|
|
27
|
-
});
|
|
28
|
-
const out = [];
|
|
29
|
-
let bytes = 0;
|
|
30
|
-
let stderr = "";
|
|
31
|
-
let settled = false;
|
|
32
|
-
const finish = (error, value) => {
|
|
33
|
-
if (settled)
|
|
34
|
-
return;
|
|
35
|
-
settled = true;
|
|
36
|
-
clearTimeout(timer);
|
|
37
|
-
if (error)
|
|
38
|
-
reject(error);
|
|
39
|
-
else
|
|
40
|
-
resolve(value);
|
|
41
|
-
};
|
|
42
|
-
const timer = setTimeout(() => {
|
|
43
|
-
child.kill("SIGKILL");
|
|
44
|
-
finish(new ReleaseError("drain-failed", `runtime control ${method} ${route} timed out`));
|
|
45
|
-
}, CONTROL_CALL_TIMEOUT_MS);
|
|
46
|
-
child.stdout.on("data", (chunk) => {
|
|
47
|
-
bytes += chunk.length;
|
|
48
|
-
if (bytes > MAX_CONTROL_OUTPUT_BYTES) {
|
|
49
|
-
child.kill("SIGKILL");
|
|
50
|
-
finish(new ReleaseError("drain-failed", `runtime control ${method} ${route} answered more than the output bound`));
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
out.push(chunk);
|
|
54
|
-
});
|
|
55
|
-
child.stderr.on("data", (chunk) => { stderr = `${stderr}${chunk.toString("utf8")}`.slice(-2000); });
|
|
56
|
-
child.once("error", (error) => finish(new ReleaseError("drain-failed", `cannot start the runtime control helper: ${error.message}`)));
|
|
57
|
-
child.once("close", (code) => {
|
|
58
|
-
if (code !== 0) {
|
|
59
|
-
finish(new ReleaseError("drain-failed", `runtime control ${method} ${route} failed (exit ${code ?? "signal"}): ${redact(stderr, target.token)}`));
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
try {
|
|
63
|
-
finish(null, parseHelperOutput(Buffer.concat(out).toString("utf8")));
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
finish(error);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
child.stdin.on("error", () => undefined);
|
|
70
|
-
child.stdin.end(`Authorization: Bearer ${target.token}\n`);
|
|
71
|
-
});
|
|
16
|
+
export const helperControlCall = (target, method, route) => daimonHelperControlCall(target, method, route).catch(asRelease);
|
|
72
17
|
/** The parts of `noopolis.daimon.work-availability.v1` a release reads. */
|
|
73
18
|
export const parseAvailability = (response, route) => {
|
|
74
19
|
if (response.status === 404) {
|
package/dist/report/types.d.ts
CHANGED
|
@@ -19,10 +19,7 @@ export interface ContainerRuntimeInstanceReport {
|
|
|
19
19
|
skill_roots: string[];
|
|
20
20
|
}>;
|
|
21
21
|
config_path: string;
|
|
22
|
-
/**
|
|
23
|
-
* engine kind (see `PI_ENGINE_KINDS` in `src/runtime/pi/appTemplate.ts`, e.g.
|
|
24
|
-
* "scripted"), so a scripted-engine run is disclosable on the compile report rather
|
|
25
|
-
* than an invisible test-only branch. Only pi/daimon runtime instances populate this. */
|
|
22
|
+
/** Adapter-resolved engine kinds by agent node id. */
|
|
26
23
|
engine_by_node_id?: Record<string, string>;
|
|
27
24
|
home_path: string | null;
|
|
28
25
|
id: string;
|
|
@@ -32,8 +29,8 @@ export interface ContainerRuntimeInstanceReport {
|
|
|
32
29
|
node_ids?: string[];
|
|
33
30
|
published_port?: number | null;
|
|
34
31
|
runtime: string;
|
|
35
|
-
/** Per
|
|
36
|
-
* telemetry persistent mount
|
|
32
|
+
/** Per daimon agent (keyed by node id, e.g. "agent:eleanor"): the id of its daimon
|
|
33
|
+
* telemetry persistent mount, so
|
|
37
34
|
* `artifactsExportPlan.ts` can egress `causal.jsonl` from that agent's durable volume
|
|
38
35
|
* instead of `docker cp`ing it out of the (possibly already-gone) live container. */
|
|
39
36
|
telemetry_mount_ids?: Record<string, string>;
|
package/dist/runtime/common.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare const createDiagnostic: (level: DiagnosticReport["level"], messag
|
|
|
39
39
|
export declare const createDocumentFiles: (baseDirectory: string, documents: ResolvedDocument[]) => EmittedFile[];
|
|
40
40
|
/**
|
|
41
41
|
* Skill roots for the runtimes whose declared skills are read by an external
|
|
42
|
-
* coding-agent CLI engine (`daimon`
|
|
42
|
+
* coding-agent CLI engine (`daimon`). `.codex/skills` is Codex's own
|
|
43
43
|
* workspace discovery root; `.agents/skills` is the generic cross-engine root
|
|
44
44
|
* that grok, agy, and every other file-reading CLI engine use. Both entries
|
|
45
45
|
* are required and the two emitted files are byte-identical on purpose — this
|
package/dist/runtime/common.js
CHANGED
|
@@ -64,7 +64,7 @@ export const createDocumentFiles = (baseDirectory, documents) => documents.map((
|
|
|
64
64
|
}));
|
|
65
65
|
/**
|
|
66
66
|
* Skill roots for the runtimes whose declared skills are read by an external
|
|
67
|
-
* coding-agent CLI engine (`daimon`
|
|
67
|
+
* coding-agent CLI engine (`daimon`). `.codex/skills` is Codex's own
|
|
68
68
|
* workspace discovery root; `.agents/skills` is the generic cross-engine root
|
|
69
69
|
* that grok, agy, and every other file-reading CLI engine use. Both entries
|
|
70
70
|
* are required and the two emitted files are byte-identical on purpose — this
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { RuntimeContainerPackageOverrides } from "./containerPackageOverrides.js";
|
|
2
2
|
export declare const RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs";
|
|
3
3
|
export interface RuntimeInstallRecipe {
|
|
4
4
|
baseImage?: string;
|
|
@@ -33,4 +33,4 @@ export interface RuntimeInstallRecipeOptions {
|
|
|
33
33
|
*/
|
|
34
34
|
packageOverrides?: RuntimeContainerPackageOverrides;
|
|
35
35
|
}
|
|
36
|
-
export declare const createRuntimeInstallRecipe: (runtimeName: string,
|
|
36
|
+
export declare const createRuntimeInstallRecipe: (runtimeName: string, _options?: RuntimeInstallRecipeOptions) => Promise<RuntimeInstallRecipe>;
|
|
@@ -1,24 +1,15 @@
|
|
|
1
|
-
import { DAIMON_PACKAGE_NAME } from './daimon/packageName.js';
|
|
2
1
|
import { createDaimonInstallCommands } from "./daimonInstall.js";
|
|
3
2
|
import { SpawnfileError } from "../shared/index.js";
|
|
4
3
|
import { NOOPOLIS_RUN_ID_ENV, resolveNoopolisRunId } from "./common.js";
|
|
5
|
-
import { createVendorCopyCommand, needsVendorCopyCommand, resolveInstallPackageSpec } from "./containerPackageOverrides.js";
|
|
6
4
|
import { resolveRuntimeInstallSelection } from "./install.js";
|
|
7
5
|
import { DAIMON_LOCAL_RUNTIME_IDENTITY_ENV, loadLocalDaimonRuntimeIdentity } from "./localDaimonAuthority.js";
|
|
8
6
|
import { DAIMON_CONTRACT_MANIFEST_SHA256 } from "./daimon/contractManifest.js";
|
|
9
7
|
import { DAIMON_WAKE_FUSE_DIRECTORY, DAIMON_WAKE_FUSE_DIRECTORY_ENV } from "./daimon/config.js";
|
|
10
8
|
export const RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs";
|
|
11
|
-
const PI_RUNTIME_BASE_IMAGE_ENV = "SPAWNFILE_PI_RUNTIME_BASE_IMAGE";
|
|
12
9
|
const LEGACY_DAIMON_RUNTIME_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_IMAGE";
|
|
13
10
|
const LEGACY_DAIMON_RUNTIME_CAPABILITY_RECEIPT_ENV = "SPAWNFILE_DAIMON_RUNTIME_CAPABILITY_RECEIPT";
|
|
14
11
|
const OPENCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_OPENCLAW_RUNTIME_IMAGE";
|
|
15
12
|
const PICOCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_PICOCLAW_RUNTIME_IMAGE";
|
|
16
|
-
const PI_DAIMON_PACKAGE_VERSION = "0.1.2";
|
|
17
|
-
const MNEME_PACKAGE_NAME = "@noopolis/mneme";
|
|
18
|
-
const MNEME_PACKAGE_VERSION = "0.1.1";
|
|
19
|
-
const PI_AI_PACKAGE_NAME = "@earendil-works/pi-ai";
|
|
20
|
-
const PI_CODING_AGENT_PACKAGE_NAME = "@earendil-works/pi-coding-agent";
|
|
21
|
-
const PI_PACKAGE_VERSION = "0.79.10";
|
|
22
13
|
/**
|
|
23
14
|
* Builds the shared container env assembly injected into every generated
|
|
24
15
|
* runtime install recipe. Currently just NOOPOLIS_RUN_ID, sourced from the
|
|
@@ -75,12 +66,11 @@ const resolveDaimonRuntimeImageRef = async (selection) => {
|
|
|
75
66
|
image: pinnedImage
|
|
76
67
|
};
|
|
77
68
|
};
|
|
78
|
-
export const createRuntimeInstallRecipe = async (runtimeName,
|
|
69
|
+
export const createRuntimeInstallRecipe = async (runtimeName, _options = {}) => {
|
|
79
70
|
const selection = await resolveRuntimeInstallSelection(runtimeName);
|
|
80
71
|
assertArtifactInstallSelection(runtimeName, selection);
|
|
81
72
|
const installRoot = `${RUNTIME_INSTALL_ROOT}/${runtimeName}`;
|
|
82
73
|
const containerEnv = createRuntimeContainerEnv();
|
|
83
|
-
const packageOverrides = options.packageOverrides;
|
|
84
74
|
switch (runtimeName) {
|
|
85
75
|
case "openclaw": {
|
|
86
76
|
const openClawRuntimeImage = resolveRuntimeImageRef(OPENCLAW_RUNTIME_IMAGE_ENV, selection);
|
|
@@ -143,34 +133,6 @@ export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
|
|
|
143
133
|
runtimeRoot: installRoot
|
|
144
134
|
};
|
|
145
135
|
}
|
|
146
|
-
case "pi": {
|
|
147
|
-
if (selection.kind !== "npm") {
|
|
148
|
-
throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no compiled artifact recipe for ${selection.kind}`);
|
|
149
|
-
}
|
|
150
|
-
const prebuiltBaseImage = process.env[PI_RUNTIME_BASE_IMAGE_ENV]?.trim() || undefined;
|
|
151
|
-
const npmPackages = [
|
|
152
|
-
resolveInstallPackageSpec(DAIMON_PACKAGE_NAME, PI_DAIMON_PACKAGE_VERSION, packageOverrides),
|
|
153
|
-
resolveInstallPackageSpec(MNEME_PACKAGE_NAME, MNEME_PACKAGE_VERSION, packageOverrides),
|
|
154
|
-
`${selection.packageName}@${selection.version}`,
|
|
155
|
-
`${PI_AI_PACKAGE_NAME}@${selection.version}`
|
|
156
|
-
];
|
|
157
|
-
return {
|
|
158
|
-
...(prebuiltBaseImage ? { baseImage: prebuiltBaseImage } : {}),
|
|
159
|
-
commands: prebuiltBaseImage
|
|
160
|
-
? [`mkdir -p ${installRoot}`]
|
|
161
|
-
: [
|
|
162
|
-
`mkdir -p ${installRoot}`,
|
|
163
|
-
`cd ${installRoot} && npm install --omit=dev --no-fund --no-audit ${npmPackages.join(" ")}`
|
|
164
|
-
],
|
|
165
|
-
copyCommands: !prebuiltBaseImage &&
|
|
166
|
-
needsVendorCopyCommand([DAIMON_PACKAGE_NAME, MNEME_PACKAGE_NAME], packageOverrides)
|
|
167
|
-
? [createVendorCopyCommand()]
|
|
168
|
-
: [],
|
|
169
|
-
env: containerEnv,
|
|
170
|
-
runtimeName,
|
|
171
|
-
runtimeRoot: installRoot
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
136
|
/* c8 ignore next 5 -- compileable runtimes are exhaustively covered above */
|
|
175
137
|
default:
|
|
176
138
|
throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no container install recipe`);
|
|
@@ -2,10 +2,10 @@ import path from "node:path";
|
|
|
2
2
|
import { CLI_ENGINE_SKILL_BASE_DIRECTORIES } from "../common.js";
|
|
3
3
|
import { daimonGrokSkillsError } from "./grokSkillsSupport.js";
|
|
4
4
|
import { daimonAgentSkillsFromResolved } from "./grokWorkerSkills.js";
|
|
5
|
-
import {
|
|
5
|
+
import { daimonGatewayedSubscriptionRealms, daimonSubscriptionRealmMountId } from "./subscriptionRealms.js";
|
|
6
6
|
import { parseEveryScheduleMs } from "../scheduleUtils.js";
|
|
7
7
|
import { SpawnfileError } from "../../shared/index.js";
|
|
8
|
-
import { DAIMON_AGY_SUBSCRIPTION_REALM,
|
|
8
|
+
import { DAIMON_AGY_SUBSCRIPTION_REALM, DAIMON_GROK_TURN_USAGE_LEDGER } from "./contractManifest.js";
|
|
9
9
|
import { DAIMON_INSTANCE_STATE_ROOT, daimonMemoryCapabilityFor, daimonMemorySelectionWarning, daimonMemoryVectorRecallWarning, resolveDaimonAgentMemory } from "./memory.js";
|
|
10
10
|
import { assertDaimonScheduleAuthority } from "./scheduleAuthority.js";
|
|
11
11
|
import { assertDaimonAttentionAuthority, resolveDaimonAttention } from "./attention.js";
|
|
@@ -32,7 +32,7 @@ export const DAIMON_RUNTIME_HOMES_DIRECTORY = "runtime-homes";
|
|
|
32
32
|
const DAIMON_MAX_CONFIG_BYTES = 1_048_576;
|
|
33
33
|
const DAIMON_MAX_INSTRUCTION_BYTES = 16_384;
|
|
34
34
|
const DAIMON_MAX_INSTRUCTION_CODEPOINTS = 16_384;
|
|
35
|
-
import { DAIMON_ENGINES, DAIMON_DEFAULT_ENGINE, getDaimonEngineDescriptor, daimonEngineHasBroker } from "./engines.js";
|
|
35
|
+
import { DAIMON_ENGINES, DAIMON_DEFAULT_ENGINE, DAIMON_SECRET_SERVICE_ENGINE_ID, getDaimonEngineDescriptor, daimonEngineHasBroker } from "./engines.js";
|
|
36
36
|
export { DAIMON_ENGINES } from "./engines.js";
|
|
37
37
|
const normalizeSchedule = (node) => {
|
|
38
38
|
const schedule = node.schedule;
|
|
@@ -224,7 +224,7 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
224
224
|
.map((input) => [input.id, daimonAgentSkillsFromResolved(input.value.skills)]));
|
|
225
225
|
const hasAgy = configAgents.some((agent) => getDaimonEngineDescriptor(agent.engine.kind)?.auth.staging === "secret-service");
|
|
226
226
|
const hasGrok = configAgents.some((agent) => daimonEngineHasBroker(agent.engine.kind));
|
|
227
|
-
const portableRealms =
|
|
227
|
+
const portableRealms = daimonGatewayedSubscriptionRealms(configAgents.map((agent) => agent.engine.kind));
|
|
228
228
|
const agyRuntimeHomeMounts = configAgents
|
|
229
229
|
.filter((agent) => getDaimonEngineDescriptor(agent.engine.kind)?.auth.staging === "secret-service")
|
|
230
230
|
.map((agent) => ({
|
|
@@ -279,11 +279,10 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
279
279
|
}
|
|
280
280
|
],
|
|
281
281
|
id: DAIMON_ORGANIZATION_TARGET_ID,
|
|
282
|
-
...(hasAgy ||
|
|
282
|
+
...(hasAgy || portableRealms.opaqueMountTargets.length > 0 ? {
|
|
283
283
|
opaqueMountTargets: [
|
|
284
284
|
...portableRealms.opaqueMountTargets,
|
|
285
|
-
...(hasAgy ? [DAIMON_AGY_SUBSCRIPTION_REALM.unlockMountPath] : [])
|
|
286
|
-
...(hasGrok ? [DAIMON_GROK_SUBSCRIPTION_REALM.bootstrapMountPath] : [])
|
|
285
|
+
...(hasAgy ? [DAIMON_AGY_SUBSCRIPTION_REALM.unlockMountPath] : [])
|
|
287
286
|
],
|
|
288
287
|
} : {}),
|
|
289
288
|
persistentMounts: [...portableRealms.persistentMounts, ...portableEngineHomeMounts, ...toolStateMounts, ...recordingMounts, {
|
|
@@ -295,12 +294,7 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
295
294
|
lifecycle: "exclusive-reattach",
|
|
296
295
|
mountPath: DAIMON_WAKE_FUSE_DIRECTORY,
|
|
297
296
|
reason: "Daimon durable wake-fuse admission ledger"
|
|
298
|
-
},
|
|
299
|
-
id: "daimon-grok-subscription-realm",
|
|
300
|
-
lifecycle: "exclusive-reattach",
|
|
301
|
-
mountPath: DAIMON_GROK_SUBSCRIPTION_REALM.durableMountPath,
|
|
302
|
-
reason: "Daimon host Grok subscription credential realm"
|
|
303
|
-
}] : []), {
|
|
297
|
+
}, {
|
|
304
298
|
// Non-run-scoped for the same reason as the durable memory mounts (see
|
|
305
299
|
// durableMemoryVolumeName in src/compiler/memoryArtifacts.ts): a
|
|
306
300
|
// run-scoped volume means every `spawnfile up` starts a new empty
|
|
@@ -321,7 +315,7 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
321
315
|
mountPath: DAIMON_GROK_TURN_USAGE_LEDGER.directoryPath,
|
|
322
316
|
reason: "Daimon per-turn engine usage ledger"
|
|
323
317
|
}, ...(hasAgy ? [{
|
|
324
|
-
id:
|
|
318
|
+
id: daimonSubscriptionRealmMountId(DAIMON_SECRET_SERVICE_ENGINE_ID),
|
|
325
319
|
// The AGY subscription credential is an OS-keyring entry created by an
|
|
326
320
|
// interactive browser OAuth that has no headless equivalent; it lives
|
|
327
321
|
// in this volume. Without this lifecycle the volume name folds in the
|
|
@@ -253,4 +253,3 @@ export const readVerifiedDaimonContractManifest = async (runtimeRoot) => {
|
|
|
253
253
|
return fail("digest sidecar does not match its bytes");
|
|
254
254
|
return Object.freeze({ digest: `sha256:${digest}`, manifest: parseDaimonContractManifest(parsed) });
|
|
255
255
|
};
|
|
256
|
-
//# sourceMappingURL=contractManifest.js.map
|
|
@@ -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: "c5337565df0b60151ae731b17878f784c13a9337";
|
|
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 = "c5337565df0b60151ae731b17878f784c13a9337";
|
|
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 {};
|