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
package/README.md
CHANGED
|
@@ -83,7 +83,7 @@ See [container deployment](specs/CONTAINERS.md), [status](specs/STATUS.md), and
|
|
|
83
83
|
| **OpenClaw** | OpenClaw agents and their native messaging surfaces. The default agent scaffold. |
|
|
84
84
|
| **PicoClaw** | PicoClaw agents and their native messaging surfaces. |
|
|
85
85
|
|
|
86
|
-
Daimon requires a pinned runtime image matching the compiler contract.
|
|
86
|
+
Daimon requires a pinned runtime image matching the compiler contract.
|
|
87
87
|
|
|
88
88
|
Portability is capability-specific: the compiler reports each feature as **supported**, **degraded**, or **unsupported**. Read that report before switching runtimes. Exact versions live in [runtimes.yaml](runtimes.yaml); the [runtime specification](specs/RUNTIMES.md) describes the adapter model.
|
|
89
89
|
|
|
@@ -3,12 +3,12 @@ import type { AuditReport } from "./types.js";
|
|
|
3
3
|
export declare const auditReportSchema: z.ZodObject<{
|
|
4
4
|
checks: z.ZodArray<z.ZodObject<{
|
|
5
5
|
category: z.ZodEnum<{
|
|
6
|
-
provenance: "provenance";
|
|
7
|
-
causal: "causal";
|
|
8
6
|
container: "container";
|
|
9
|
-
control: "control";
|
|
10
7
|
memory: "memory";
|
|
11
8
|
network: "network";
|
|
9
|
+
provenance: "provenance";
|
|
10
|
+
causal: "causal";
|
|
11
|
+
control: "control";
|
|
12
12
|
}>;
|
|
13
13
|
evidence: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
14
14
|
id: z.ZodString;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { AuthProfile, ImportedAuthKind, ResolvedAuthProfile } from "./types.js";
|
|
1
|
+
import type { AuthProfile, ImportedAuthKind, ResolvedAuthProfile, SubscriptionRealmBinding } from "./types.js";
|
|
2
2
|
export declare const createResolvedAuthProfile: (profileName: string, profile: AuthProfile) => ResolvedAuthProfile;
|
|
3
3
|
export declare const loadAuthProfile: (profileName: string) => Promise<ResolvedAuthProfile | null>;
|
|
4
4
|
export declare const requireAuthProfile: (profileName: string) => Promise<ResolvedAuthProfile>;
|
|
5
5
|
export declare const ensureAuthProfile: (profileName: string) => Promise<ResolvedAuthProfile>;
|
|
6
6
|
export declare const setAuthProfileEnv: (profileName: string, env: Record<string, string>) => Promise<ResolvedAuthProfile>;
|
|
7
|
+
/** Records an engine's volume-held login on the profile (names only, never login bytes). */
|
|
8
|
+
export declare const registerSubscriptionRealm: (profileName: string, engine: string, binding: SubscriptionRealmBinding) => Promise<ResolvedAuthProfile>;
|
|
7
9
|
export declare const registerImportedAuth: (profileName: string, kind: ImportedAuthKind) => Promise<{
|
|
8
10
|
directory: string;
|
|
9
11
|
profile: ResolvedAuthProfile;
|
|
@@ -4,7 +4,7 @@ import { ensurePrivateDirectory, fileExists, readUtf8File, removeDirectory, writ
|
|
|
4
4
|
import { SpawnfileError } from "../shared/index.js";
|
|
5
5
|
import { resolveAuthHome, resolveImportedAuthDirectory, resolveProfileDirectory, resolveProfilePath, resolveProfilesRoot } from "./paths.js";
|
|
6
6
|
const importedAuthEntrySchema = z.object({
|
|
7
|
-
kind: z.enum(["claude-code", "codex"]),
|
|
7
|
+
kind: z.enum(["claude-code", "codex", "grok"]),
|
|
8
8
|
relativePath: z.string().min(1)
|
|
9
9
|
});
|
|
10
10
|
const authProfileSchema = z.object({
|
|
@@ -12,9 +12,15 @@ const authProfileSchema = z.object({
|
|
|
12
12
|
imports: z
|
|
13
13
|
.object({
|
|
14
14
|
"claude-code": importedAuthEntrySchema.optional(),
|
|
15
|
-
codex: importedAuthEntrySchema.optional()
|
|
15
|
+
codex: importedAuthEntrySchema.optional(),
|
|
16
|
+
grok: importedAuthEntrySchema.optional()
|
|
16
17
|
})
|
|
17
18
|
.default({}),
|
|
19
|
+
realms: z.record(z.string().regex(/^[a-z][a-z0-9-]*$/u), z.object({
|
|
20
|
+
realmVolume: z.string().min(1),
|
|
21
|
+
unlockVolume: z.string().min(1),
|
|
22
|
+
homeVolume: z.string().min(1).optional()
|
|
23
|
+
}).strict()).optional(),
|
|
18
24
|
version: z.literal(1)
|
|
19
25
|
});
|
|
20
26
|
const createEmptyProfile = () => ({
|
|
@@ -35,6 +41,17 @@ export const createResolvedAuthProfile = (profileName, profile) => ({
|
|
|
35
41
|
name: profileName,
|
|
36
42
|
profileDirectory: resolveProfileDirectory(profileName),
|
|
37
43
|
profilePath: resolveProfilePath(profileName),
|
|
44
|
+
...(profile.realms && Object.keys(profile.realms).length > 0 ? { realms: structuredClone(profile.realms) } : {}),
|
|
45
|
+
version: 1
|
|
46
|
+
});
|
|
47
|
+
/** The stored form of a resolved profile: import paths relative to its directory again. */
|
|
48
|
+
const storedProfile = (current) => ({
|
|
49
|
+
env: { ...current.env },
|
|
50
|
+
imports: Object.fromEntries(Object.entries(current.imports).map(([kind, entry]) => [
|
|
51
|
+
kind,
|
|
52
|
+
{ kind: entry.kind, relativePath: path.relative(current.profileDirectory, entry.path) }
|
|
53
|
+
])),
|
|
54
|
+
...(current.realms ? { realms: structuredClone(current.realms) } : {}),
|
|
38
55
|
version: 1
|
|
39
56
|
});
|
|
40
57
|
export const loadAuthProfile = async (profileName) => {
|
|
@@ -80,20 +97,13 @@ const writeProfile = async (profileName, profile) => {
|
|
|
80
97
|
};
|
|
81
98
|
export const setAuthProfileEnv = async (profileName, env) => {
|
|
82
99
|
const current = (await loadAuthProfile(profileName)) ?? (await ensureAuthProfile(profileName));
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
{
|
|
91
|
-
kind: entry.kind,
|
|
92
|
-
relativePath: path.relative(current.profileDirectory, entry.path)
|
|
93
|
-
}
|
|
94
|
-
])),
|
|
95
|
-
version: 1
|
|
96
|
-
});
|
|
100
|
+
const stored = storedProfile(current);
|
|
101
|
+
return writeProfile(profileName, { ...stored, env: { ...stored.env, ...env } });
|
|
102
|
+
};
|
|
103
|
+
/** Records an engine's volume-held login on the profile (names only, never login bytes). */
|
|
104
|
+
export const registerSubscriptionRealm = async (profileName, engine, binding) => {
|
|
105
|
+
const stored = storedProfile((await loadAuthProfile(profileName)) ?? (await ensureAuthProfile(profileName)));
|
|
106
|
+
return writeProfile(profileName, { ...stored, realms: { ...stored.realms, [engine]: { ...binding } } });
|
|
97
107
|
};
|
|
98
108
|
export const registerImportedAuth = async (profileName, kind) => {
|
|
99
109
|
const current = (await loadAuthProfile(profileName)) ?? (await ensureAuthProfile(profileName));
|
|
@@ -104,22 +114,13 @@ export const registerImportedAuth = async (profileName, kind) => {
|
|
|
104
114
|
if (kind !== "grok")
|
|
105
115
|
await removeDirectory(importDirectory);
|
|
106
116
|
await ensurePrivateDirectory(importDirectory);
|
|
117
|
+
const stored = storedProfile(current);
|
|
107
118
|
const nextProfile = {
|
|
108
|
-
|
|
119
|
+
...stored,
|
|
109
120
|
imports: {
|
|
110
|
-
...
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
kind: entry.kind,
|
|
114
|
-
relativePath: path.relative(current.profileDirectory, entry.path)
|
|
115
|
-
}
|
|
116
|
-
])),
|
|
117
|
-
[kind]: {
|
|
118
|
-
kind,
|
|
119
|
-
relativePath: path.relative(current.profileDirectory, importDirectory)
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
version: 1
|
|
121
|
+
...stored.imports,
|
|
122
|
+
[kind]: { kind, relativePath: path.relative(current.profileDirectory, importDirectory) }
|
|
123
|
+
}
|
|
123
124
|
};
|
|
124
125
|
return {
|
|
125
126
|
directory: importDirectory,
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Grok is deliberately absent
|
|
3
|
-
*
|
|
4
|
-
* read-only bootstrap leaf, and judges spend it through short inference grants
|
|
5
|
-
* (D2). Staging a Grok credential into a shared runtime home would put a
|
|
6
|
-
* rotating login where the evaluator and the image both reach it.
|
|
2
|
+
* Grok is deliberately absent: a training run's Grok login lives in its auth
|
|
3
|
+
* gateway's realm volume, never in a staged runtime home.
|
|
7
4
|
*/
|
|
8
5
|
export type TrainingAuthProvider = "codex" | "claude";
|
|
9
6
|
export interface TrainingAuthStageOptions {
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -3,9 +3,23 @@ export interface ImportedAuthEntry {
|
|
|
3
3
|
kind: ImportedAuthKind;
|
|
4
4
|
relativePath: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* A login that lives in Docker volumes rather than an importable file: the
|
|
8
|
+
* engine's durable realm volume, the volume holding its unlock secret, and the
|
|
9
|
+
* volume holding the engine's login files from its runtime home (seeded into
|
|
10
|
+
* each fresh home at boot, written back after the container stops).
|
|
11
|
+
* Created once by `spawnfile auth login <engine>`; the profile records names only.
|
|
12
|
+
*/
|
|
13
|
+
export interface SubscriptionRealmBinding {
|
|
14
|
+
realmVolume: string;
|
|
15
|
+
unlockVolume: string;
|
|
16
|
+
/** Absent on a login recorded before home login files were kept: log in again. */
|
|
17
|
+
homeVolume?: string;
|
|
18
|
+
}
|
|
6
19
|
export interface AuthProfile {
|
|
7
20
|
env: Record<string, string>;
|
|
8
21
|
imports: Partial<Record<ImportedAuthKind, ImportedAuthEntry>>;
|
|
22
|
+
realms?: Record<string, SubscriptionRealmBinding>;
|
|
9
23
|
version: 1;
|
|
10
24
|
}
|
|
11
25
|
export interface ResolvedAuthProfile {
|
|
@@ -18,5 +32,7 @@ export interface ResolvedAuthProfile {
|
|
|
18
32
|
name: string;
|
|
19
33
|
profileDirectory: string;
|
|
20
34
|
profilePath: string;
|
|
35
|
+
/** Volume-held logins by engine id; absent means none. */
|
|
36
|
+
realms?: Record<string, SubscriptionRealmBinding>;
|
|
21
37
|
version: 1;
|
|
22
38
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
2
|
import type { CliHandlers, CliStreams } from "./runCli.js";
|
|
3
|
-
type AuthCommandHandlers = Pick<CliHandlers, "importClaudeCodeAuth" | "importCodexAuth" | "importGrokAuth" | "importEnvFile" | "initializeTargetSecretSourceLifecycle" | "provisionCredentials" | "requireAuthProfile" | "syncProjectAuth">;
|
|
3
|
+
type AuthCommandHandlers = Pick<CliHandlers, "importClaudeCodeAuth" | "importCodexAuth" | "importGrokAuth" | "importEnvFile" | "initializeTargetSecretSourceLifecycle" | "loginSubscriptionRealm" | "provisionCredentials" | "requireAuthProfile" | "syncProjectAuth">;
|
|
4
4
|
export declare const registerAuthCommands: (program: Command, handlers: AuthCommandHandlers, streams: CliStreams, stdin: AsyncIterable<unknown>) => void;
|
|
5
5
|
export {};
|
package/dist/cli/authCommands.js
CHANGED
|
@@ -9,10 +9,12 @@ import { envFileAliasOption, resolveEnvFileOption, runtimeEnvFileOption } from "
|
|
|
9
9
|
const formatAuthProfileSummary = (profile) => {
|
|
10
10
|
const envKeys = Object.keys(profile.env).sort();
|
|
11
11
|
const importedKinds = Object.keys(profile.imports).sort();
|
|
12
|
+
const realms = Object.keys(profile.realms ?? {}).sort();
|
|
12
13
|
return [
|
|
13
14
|
`profile: ${profile.name}`,
|
|
14
15
|
`env: ${envKeys.length > 0 ? envKeys.join(", ") : "none"}`,
|
|
15
|
-
`imports: ${importedKinds.length > 0 ? importedKinds.join(", ") : "none"}
|
|
16
|
+
`imports: ${importedKinds.length > 0 ? importedKinds.join(", ") : "none"}`,
|
|
17
|
+
...(realms.length > 0 ? [`logins: ${realms.join(", ")}`] : [])
|
|
16
18
|
];
|
|
17
19
|
};
|
|
18
20
|
const emitLines = (streams, lines) => lines.forEach((line) => streams.stdout(line));
|
|
@@ -108,6 +110,24 @@ export const registerAuthCommands = (program, handlers, streams, stdin) => {
|
|
|
108
110
|
const profile = await handlers.importCodexAuth(options.profile, options.from);
|
|
109
111
|
emitLines(streams, formatAuthProfileSummary(profile));
|
|
110
112
|
});
|
|
113
|
+
authCommand
|
|
114
|
+
.command("login")
|
|
115
|
+
.description("Sign an auth profile into its own volume-held login (AGY) from this terminal")
|
|
116
|
+
.argument("<engine>", "Daimon engine whose login lives in a keyring realm, e.g. agy")
|
|
117
|
+
.option("-p, --profile <name>", "Auth profile name", "default")
|
|
118
|
+
.option("--dry-run", "Prepare the login volumes and print the login command without running it")
|
|
119
|
+
.action(async (engine, options) => {
|
|
120
|
+
if (!options.dryRun && process.stdin.isTTY !== true) {
|
|
121
|
+
throw new Error("spawnfile auth login is interactive; run it from a terminal");
|
|
122
|
+
}
|
|
123
|
+
const result = await handlers.loginSubscriptionRealm({ engine, profileName: options.profile, dryRun: options.dryRun === true });
|
|
124
|
+
emitLines(streams, [
|
|
125
|
+
...formatAuthProfileSummary(result.profile),
|
|
126
|
+
`realm volume: ${result.binding.realmVolume}`,
|
|
127
|
+
`unlock volume: ${result.binding.unlockVolume}`,
|
|
128
|
+
...(options.dryRun ? [`login command: ${result.command.join(" ")}`] : [])
|
|
129
|
+
]);
|
|
130
|
+
});
|
|
111
131
|
authCommand
|
|
112
132
|
.command("sync")
|
|
113
133
|
.description("Provision auth material a project requires into a profile")
|
package/dist/cli/devCommands.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
import { InvalidArgumentError } from "commander";
|
|
2
1
|
import { envFileAliasOption, resolveEnvFileOption, runtimeEnvFileOption } from "./envFileOption.js";
|
|
3
|
-
const parsePositiveIntegerOption = (value) => {
|
|
4
|
-
if (!/^[1-9]\d*$/u.test(value)) {
|
|
5
|
-
throw new InvalidArgumentError("must be a positive integer");
|
|
6
|
-
}
|
|
7
|
-
return Number(value);
|
|
8
|
-
};
|
|
9
2
|
export const registerDevCommands = (program, handlers, streams) => {
|
|
10
3
|
const dev = program.command("dev").description("Run an interactive Spawnfile development deployment");
|
|
11
4
|
dev
|
|
@@ -41,65 +34,6 @@ export const registerDevCommands = (program, handlers, streams) => {
|
|
|
41
34
|
streams.stdout(`record: ${result.deploymentRecordPath}`);
|
|
42
35
|
}
|
|
43
36
|
});
|
|
44
|
-
dev
|
|
45
|
-
.command("apply")
|
|
46
|
-
.description("Hot-apply one agent into a running dev deployment")
|
|
47
|
-
.argument("[path]", "Project directory or Spawnfile path", process.cwd())
|
|
48
|
-
.requiredOption("--agent <id>", "Agent id, slug, or name to hot-apply")
|
|
49
|
-
.option("--deployment <name>", "Detached deployment record name")
|
|
50
|
-
.option("--docker-command <command>", "Docker command")
|
|
51
|
-
.option("-o, --out <directory>", "Dev output directory")
|
|
52
|
-
.action(async (inputPath, options) => {
|
|
53
|
-
const result = await handlers.devApplyProject(inputPath, {
|
|
54
|
-
agent: options.agent,
|
|
55
|
-
deploymentName: options.deployment,
|
|
56
|
-
dockerCommand: options.dockerCommand,
|
|
57
|
-
outputDirectory: options.out
|
|
58
|
-
});
|
|
59
|
-
streams.stdout(`applied agent ${result.agentId}`);
|
|
60
|
-
streams.stdout(`container: ${result.containerName}`);
|
|
61
|
-
streams.stdout(`bridge: ${result.bridgeStarted ? "started" : "unchanged"}`);
|
|
62
|
-
});
|
|
63
|
-
dev
|
|
64
|
-
.command("restart")
|
|
65
|
-
.description("Reload one agent in a running dev deployment")
|
|
66
|
-
.argument("[path]", "Project directory or Spawnfile path", process.cwd())
|
|
67
|
-
.requiredOption("--agent <id>", "Agent id, slug, or name to reload")
|
|
68
|
-
.option("--deployment <name>", "Detached deployment record name")
|
|
69
|
-
.option("--docker-command <command>", "Docker command")
|
|
70
|
-
.option("-o, --out <directory>", "Dev output directory")
|
|
71
|
-
.action(async (inputPath, options) => {
|
|
72
|
-
const result = await handlers.devRestartProject(inputPath, {
|
|
73
|
-
agent: options.agent,
|
|
74
|
-
deploymentName: options.deployment,
|
|
75
|
-
dockerCommand: options.dockerCommand,
|
|
76
|
-
outputDirectory: options.out
|
|
77
|
-
});
|
|
78
|
-
streams.stdout(`restarted agent ${result.agentId}`);
|
|
79
|
-
streams.stdout(`container: ${result.containerName}`);
|
|
80
|
-
streams.stdout(`bridge: ${result.bridgeStarted ? "started" : "unchanged"}`);
|
|
81
|
-
});
|
|
82
|
-
dev
|
|
83
|
-
.command("activity")
|
|
84
|
-
.description("Print the current Pi agent activity buffer from a running dev deployment")
|
|
85
|
-
.argument("[path]", "Project directory or Spawnfile path", process.cwd())
|
|
86
|
-
.option("--agent <id>", "Only show events for one agent id, slug, or name")
|
|
87
|
-
.option("--deployment <name>", "Detached deployment record name")
|
|
88
|
-
.option("--docker-command <command>", "Docker command")
|
|
89
|
-
.option("-o, --out <directory>", "Dev output directory")
|
|
90
|
-
.option("--tail <count>", "Maximum buffered events to print", parsePositiveIntegerOption)
|
|
91
|
-
.action(async (inputPath, options) => {
|
|
92
|
-
const result = await handlers.devActivityProject(inputPath, {
|
|
93
|
-
agent: options.agent,
|
|
94
|
-
deploymentName: options.deployment,
|
|
95
|
-
dockerCommand: options.dockerCommand,
|
|
96
|
-
outputDirectory: options.out,
|
|
97
|
-
tail: options.tail
|
|
98
|
-
});
|
|
99
|
-
for (const event of result.events) {
|
|
100
|
-
streams.stdout(JSON.stringify(event));
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
37
|
dev
|
|
104
38
|
.command("stop")
|
|
105
39
|
.description("Stop the recorded dev deployment container")
|
package/dist/cli/runCli.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { loginSubscriptionRealm } from "../compiler/training/trial/index.js";
|
|
1
2
|
import { importClaudeCodeAuth, importCodexAuth, importGrokAuth, importEnvFile, initializeTargetSecretSourceLifecycle, provisionCredentials, requireAuthProfile } from "../auth/index.js";
|
|
2
3
|
import { addAgentProject, addProjectSurface, addProjectModelFallback, addSubagentProject, addTeamProject, buildOrganizationView, buildCompilePlan, buildProject, buildUpReceipt, clearProjectModelFallbacks, compileProject, createTrainingContext, createTrainingPlan, loadTrainingProject, resolveTrainingPlan, materializeTrainingMoment, lowerTrainingExecution, allocateTrainingOutputParent, initProject, listInitTemplates, publishProject, upProject, removeProjectSurface, runProject, setProjectPrimaryModel, setProjectRuntime, setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth } from "../compiler/index.js";
|
|
3
|
-
import {
|
|
4
|
+
import { devStopProject, devUpProject } from "../dev/index.js";
|
|
4
5
|
import { consumeImageUp } from "../distribution/index.js";
|
|
5
6
|
import { createDockerProbeGateway, downDeployment, exportRunArtifacts, inspectDockerDeployment, listDeploymentRecords, listHomeDeploymentRecords } from "../deployment/index.js";
|
|
6
7
|
import { listRuntimeAdapters } from "../runtime/index.js";
|
|
@@ -37,6 +38,7 @@ export interface CliHandlers {
|
|
|
37
38
|
importClaudeCodeAuth: typeof importClaudeCodeAuth;
|
|
38
39
|
importCodexAuth: typeof importCodexAuth;
|
|
39
40
|
importGrokAuth: typeof importGrokAuth;
|
|
41
|
+
loginSubscriptionRealm: typeof loginSubscriptionRealm;
|
|
40
42
|
importEnvFile: typeof importEnvFile;
|
|
41
43
|
initProject: typeof initProject;
|
|
42
44
|
listInitTemplates: typeof listInitTemplates;
|
|
@@ -55,9 +57,6 @@ export interface CliHandlers {
|
|
|
55
57
|
upProject: typeof upProject;
|
|
56
58
|
buildUpReceipt: typeof buildUpReceipt;
|
|
57
59
|
consumeImageUp: typeof consumeImageUp;
|
|
58
|
-
devActivityProject: typeof devActivityProject;
|
|
59
|
-
devApplyProject: typeof devApplyProject;
|
|
60
|
-
devRestartProject: typeof devRestartProject;
|
|
61
60
|
devStopProject: typeof devStopProject;
|
|
62
61
|
devUpProject: typeof devUpProject;
|
|
63
62
|
setProjectPrimaryModel: typeof setProjectPrimaryModel;
|
package/dist/cli/runCli.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
|
+
import { loginSubscriptionRealm } from "../compiler/training/trial/index.js";
|
|
2
3
|
import { Command } from "commander";
|
|
3
4
|
import { importClaudeCodeAuth, importCodexAuth, importGrokAuth, importEnvFile, initializeTargetSecretSourceLifecycle, provisionCredentials, requireAuthProfile } from "../auth/index.js";
|
|
4
5
|
import { addAgentProject, addProjectSurface, addProjectModelFallback, addSubagentProject, addTeamProject, buildOrganizationView, buildCompilePlan, buildProject, buildUpReceipt, clearProjectModelFallbacks, compileProject, createTrainingContext, createTrainingPlan, loadTrainingProject, resolveTrainingPlan, materializeTrainingMoment, lowerTrainingExecution, allocateTrainingOutputParent, initProject, listInitTemplates, preflightCompilePlan, publishProject, upProject, removeProjectSurface, runProject, setProjectPrimaryModel, setProjectRuntime, setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth } from "../compiler/index.js";
|
|
5
|
-
import {
|
|
6
|
+
import { devStopProject, devUpProject } from "../dev/index.js";
|
|
6
7
|
import { consumeImageUp } from "../distribution/index.js";
|
|
7
8
|
import { createDockerProbeGateway, downDeployment, exportRunArtifacts, inspectDockerDeployment, listDeploymentRecords, listHomeDeploymentRecords } from "../deployment/index.js";
|
|
8
9
|
import { errorExitCode, isSpawnfileError } from "../shared/index.js";
|
|
@@ -44,12 +45,12 @@ const createDefaultHandlers = () => ({
|
|
|
44
45
|
addAgentProject, addProjectModelFallback, addProjectSurface,
|
|
45
46
|
addSubagentProject, addTeamProject, clearProjectModelFallbacks,
|
|
46
47
|
importClaudeCodeAuth, importCodexAuth, importGrokAuth, importEnvFile, initializeTargetSecretSourceLifecycle,
|
|
47
|
-
provisionCredentials,
|
|
48
|
+
loginSubscriptionRealm, provisionCredentials,
|
|
48
49
|
createDockerProbeGateway, exportRunArtifacts, downDeployment, inspectDockerDeployment,
|
|
49
50
|
listDeploymentRecords, listHomeDeploymentRecords,
|
|
50
51
|
initProject, listInitTemplates, listRuntimeAdapters, removeProjectSurface, requireAuthProfile,
|
|
51
52
|
runProject, setProjectPrimaryModel, setProjectRuntime, upProject, buildUpReceipt, consumeImageUp,
|
|
52
|
-
|
|
53
|
+
devStopProject, devUpProject,
|
|
53
54
|
setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth
|
|
54
55
|
});
|
|
55
56
|
const isCliStreams = (value) => {
|
package/dist/cli/trainCommand.js
CHANGED
|
@@ -8,14 +8,11 @@ export const registerTrainCommand = (program, handlers, streams, packageVersion,
|
|
|
8
8
|
.description("Plan, rewind, or train one canonical agent through its declared training inputs")
|
|
9
9
|
.argument("[path]", "Canonical project directory or Spawnfile path", process.cwd())
|
|
10
10
|
.option("--agent <id>", "Canonical agent id or unambiguous short name (inferred for one agent)")
|
|
11
|
-
.option("--
|
|
12
|
-
.option("--training-config <json>", "V2 image recipe and declared inputs, or advanced v1 local bindings")
|
|
11
|
+
.option("--auth-profile <name>", "Login for production-booted Daimon trials (held by the run's auth gateway)")
|
|
13
12
|
.option("--plan", "Print the resolved training authoring plan without executing training")
|
|
14
13
|
.option("--materialize <example>", "Rewind an authored example into --out without running training")
|
|
15
14
|
.option("--history <directory>", "Local recorded history for --materialize")
|
|
16
15
|
.option("--dry-run", "Validate and estimate without compiling, authenticating or starting models")
|
|
17
|
-
.option("--repair-measurements <parent-out>", "Fork captured work into a fresh output for authorized measurement repair")
|
|
18
|
-
.option("--repair-witness <manifest>", "Explicit verified image witness for a legacy parent")
|
|
19
16
|
.option("--resume", "Resume the exact persisted training experiment in --out");
|
|
20
17
|
for (const name of forwarded) {
|
|
21
18
|
const flag = `--${name} <value>`;
|
|
@@ -83,11 +80,9 @@ export const registerTrainCommand = (program, handlers, streams, packageVersion,
|
|
|
83
80
|
args.push("--experiment-timeout-ms", String(timeout));
|
|
84
81
|
if (options.trialTimeoutMs === undefined && plan.deadlines?.trial_ms !== undefined)
|
|
85
82
|
args.push("--trial-timeout-ms", String(plan.deadlines.trial_ms));
|
|
86
|
-
const lowered = plan.targets.length > 0 ? await handlers.lowerTrainingExecution({ project, plan, args
|
|
87
|
-
trainingConfig: options.trainingConfig, trainingImage: options.trainingImage }) : undefined;
|
|
83
|
+
const lowered = plan.targets.length > 0 ? await handlers.lowerTrainingExecution({ project, plan, args }) : undefined;
|
|
88
84
|
if (lowered && options.dryRun === true) {
|
|
89
|
-
streams.stdout(JSON.stringify(
|
|
90
|
-
declaration: lowered.declaration, ...(lowered.trainingImage ? { imageOverride: lowered.trainingImage } : {}) } }, null, 2));
|
|
85
|
+
streams.stdout(JSON.stringify(lowered.execution, null, 2));
|
|
91
86
|
setExitCode(0);
|
|
92
87
|
return;
|
|
93
88
|
}
|
|
@@ -97,16 +92,15 @@ export const registerTrainCommand = (program, handlers, streams, packageVersion,
|
|
|
97
92
|
if (!lowered && options.dryRun !== true && typeof options.out !== "string") {
|
|
98
93
|
throw new SpawnfileError("validation_error", "Actual training requires --out when no training targets are declared");
|
|
99
94
|
}
|
|
100
|
-
if (!lowered && options.dryRun !== true && typeof options.trainingConfig !== "string") {
|
|
101
|
-
throw new SpawnfileError("validation_error", "Actual training requires --training-config when no training targets are declared; host execution is disabled");
|
|
102
|
-
}
|
|
103
95
|
const context = await handlers.createTrainingContext(inputPath, { agent: plan.agent.id, packageVersion });
|
|
96
|
+
// Trials are production-booted Daimon organizations: the container per trial is the isolation.
|
|
97
|
+
if (options.dryRun !== true && context.agent.runtime !== "daimon") {
|
|
98
|
+
throw new SpawnfileError("validation_error", `Actual training boots Daimon trials; agent ${context.agent.id} runs on ${context.agent.runtime}`);
|
|
99
|
+
}
|
|
104
100
|
if (lowered)
|
|
105
101
|
await handlers.allocateTrainingOutputParent(lowered.execution.output);
|
|
106
|
-
setExitCode(await handlers.runTraining({ context, args: lowered?.execution.args ?? args,
|
|
107
|
-
|
|
108
|
-
trainingImage: lowered?.trainingImage ?? options.trainingImage,
|
|
109
|
-
trainingConfig: lowered?.trainingConfig ?? options.trainingConfig,
|
|
102
|
+
setExitCode(await handlers.runTraining({ context, args: lowered?.execution.args ?? args,
|
|
103
|
+
authProfile: options.authProfile,
|
|
110
104
|
dryRun: options.dryRun === true,
|
|
111
105
|
timeoutMs: timeout + 5000, streams, signal }));
|
|
112
106
|
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RunTrainingOptions } from "./trainingExecution.js";
|
|
2
|
+
/**
|
|
3
|
+
* Production-booted training for a Daimon subject: the training core and the
|
|
4
|
+
* grader run here, and every trial is the subject's own compiled organization
|
|
5
|
+
* in its own container, sharing the run's one auth gateway (and so one login).
|
|
6
|
+
* Every subscription judgment of the run wakes one of the run's warm, tool-free
|
|
7
|
+
* judge containers on that same gateway; none reads a personal login.
|
|
8
|
+
*/
|
|
9
|
+
export declare const runBootedTraining: (options: RunTrainingOptions) => Promise<number>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { requireAuthProfile } from "../auth/index.js";
|
|
3
|
+
import { createBootedTrialRun } from "../compiler/training/trial/index.js";
|
|
4
|
+
import { bindBootedJudges, createDaimonBootedAdapter } from "../runtime/daimon/training/booted/index.js";
|
|
5
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
6
|
+
const failure = (message) => new SpawnfileError("runtime_error", message);
|
|
7
|
+
const flag = (args, name) => {
|
|
8
|
+
const index = args.indexOf(`--${name}`);
|
|
9
|
+
return index < 0 ? undefined : args[index + 1];
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Production-booted training for a Daimon subject: the training core and the
|
|
13
|
+
* grader run here, and every trial is the subject's own compiled organization
|
|
14
|
+
* in its own container, sharing the run's one auth gateway (and so one login).
|
|
15
|
+
* Every subscription judgment of the run wakes one of the run's warm, tool-free
|
|
16
|
+
* judge containers on that same gateway; none reads a personal login.
|
|
17
|
+
*/
|
|
18
|
+
export const runBootedTraining = async (options) => {
|
|
19
|
+
if (!options.authProfile)
|
|
20
|
+
throw failure("Production-booted Daimon training requires --auth-profile (the login its auth gateway holds)");
|
|
21
|
+
const out = flag(options.args, "out");
|
|
22
|
+
if (!out)
|
|
23
|
+
throw failure("Production-booted Daimon training requires --out");
|
|
24
|
+
const system = options.context.documents.find((document) => document.role === "system");
|
|
25
|
+
const instructions = flag(options.args, "instructions") === undefined
|
|
26
|
+
? system ? ["--source-root", options.context.project.root, "--instructions", system.destinationPath]
|
|
27
|
+
: (() => { throw failure(`Agent ${options.context.agent.id} declares no system document to train`); })()
|
|
28
|
+
: [];
|
|
29
|
+
const run = createBootedTrialRun({
|
|
30
|
+
agentManifestPath: options.context.agent.source,
|
|
31
|
+
authProfile: await requireAuthProfile(options.authProfile),
|
|
32
|
+
scratchRoot: path.join(path.resolve(out), "booted-trials")
|
|
33
|
+
});
|
|
34
|
+
bindBootedJudges(run);
|
|
35
|
+
try {
|
|
36
|
+
const { main } = await import("../runtime/trainingCli.js");
|
|
37
|
+
return await main(["train", ...options.args, ...(flag(options.args, "runtime") ? [] : ["--runtime", "daimon"]), ...instructions], {
|
|
38
|
+
cwd: process.cwd(), signal: options.signal, stdout: options.streams.stdout, stderr: options.streams.stderr
|
|
39
|
+
}, { adapter: (_runtime, adapter) => createDaimonBootedAdapter({ launcher: run, timeoutMs: adapter.timeoutMs }) });
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
bindBootedJudges(undefined);
|
|
43
|
+
await run.close();
|
|
44
|
+
}
|
|
45
|
+
};
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { TrainingContext } from "../compiler/training/index.js";
|
|
2
2
|
import type { CliStreams } from "./runCli.js";
|
|
3
3
|
export interface RunTrainingOptions {
|
|
4
4
|
context: TrainingContext;
|
|
5
|
-
execution?: TrainingExecution;
|
|
6
5
|
args: readonly string[];
|
|
7
6
|
dryRun: boolean;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
trainingImage?: string;
|
|
11
|
-
trainingConfig?: string;
|
|
7
|
+
/** Auth profile whose login a production-booted run's gateway holds. */
|
|
8
|
+
authProfile?: string;
|
|
12
9
|
timeoutMs: number;
|
|
13
10
|
streams: CliStreams;
|
|
14
11
|
signal?: AbortSignal;
|
|
15
12
|
}
|
|
16
|
-
/**
|
|
13
|
+
/** Actual training boots production trials; dry-run estimates run on the host through the training composition. */
|
|
17
14
|
export declare const runTraining: (options: RunTrainingOptions) => Promise<number>;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { canonicalWireId } from '../shared/index.js';
|
|
2
|
-
import { launchTrainingContainer } from "../compiler/training/container/index.js";
|
|
3
|
-
import { runTrainingDocker } from "../compiler/training/container/process.js";
|
|
4
|
-
import { prepareTraining } from "../compiler/training/preparation/index.js";
|
|
5
|
-
import { readBoundedJson } from "../compiler/training/preparation/inputs.js";
|
|
6
2
|
import { SpawnfileError } from "../shared/index.js";
|
|
3
|
+
import { runBootedTraining } from "./trainingBooted.js";
|
|
7
4
|
const failure = (message) => new SpawnfileError("runtime_error", message);
|
|
8
5
|
const validCostReceipt = (line) => {
|
|
9
6
|
try {
|
|
@@ -16,37 +13,12 @@ const validCostReceipt = (line) => {
|
|
|
16
13
|
return false;
|
|
17
14
|
}
|
|
18
15
|
};
|
|
19
|
-
/**
|
|
16
|
+
/** Actual training boots production trials; dry-run estimates run on the host through the training composition. */
|
|
20
17
|
export const runTraining = async (options) => {
|
|
21
18
|
if (options.signal?.aborted)
|
|
22
19
|
return 130;
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
if (options.trainingConfig) {
|
|
26
|
-
const config = await readBoundedJson(options.trainingConfig);
|
|
27
|
-
// Image declarations go through preparation; lowered launch configurations go straight to Docker.
|
|
28
|
-
if (config.version === "spawnfile.training-container.v2" || (["spawnfile.training-container.v3", "spawnfile.training-container.v4"].includes(String(config.version)) && config.image !== undefined)) {
|
|
29
|
-
if (options.trainingImage && !options.execution)
|
|
30
|
-
throw failure("V2 owns its image declaration; --training-image is only for v1");
|
|
31
|
-
const prepared = await prepareTraining({ configPath: options.trainingConfig, context: options.context, args: options.args,
|
|
32
|
-
repairMeasurements: options.repairMeasurements, repairWitness: options.repairWitness,
|
|
33
|
-
execution: options.execution, outputOverride: options.execution?.output, imageOverride: options.execution ? options.trainingImage : undefined,
|
|
34
|
-
dryRun: options.dryRun, process: runTrainingDocker, timeoutMs: options.timeoutMs, signal: options.signal, streams: options.streams });
|
|
35
|
-
if (!("dryRun" in prepared))
|
|
36
|
-
return launchTrainingContainer({ ...prepared,
|
|
37
|
-
timeoutMs: options.timeoutMs, signal: options.signal, streams: options.streams });
|
|
38
|
-
options.streams.stderr(`Training preparation plan ${prepared.digest}; no Docker, auth or filesystem mutations`);
|
|
39
|
-
options = { ...options, repairMeasurements: undefined, repairWitness: undefined };
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
if (options.repairMeasurements)
|
|
43
|
-
throw failure("Measurement repair requires the v2 preparation declaration");
|
|
44
|
-
if (!options.dryRun) {
|
|
45
|
-
if (!options.trainingImage || !options.trainingConfig)
|
|
46
|
-
throw failure("Actual training requires --training-image and --training-config; host execution is disabled");
|
|
47
|
-
return launchTrainingContainer({ image: options.trainingImage, configPath: options.trainingConfig,
|
|
48
|
-
context: options.context, args: options.args, execution: options.execution, timeoutMs: options.timeoutMs, streams: options.streams, signal: options.signal });
|
|
49
|
-
}
|
|
20
|
+
if (!options.dryRun)
|
|
21
|
+
return runBootedTraining(options);
|
|
50
22
|
const controller = new AbortController();
|
|
51
23
|
const deadline = performance.now() + options.timeoutMs;
|
|
52
24
|
let active = true, lastLine = "";
|
|
@@ -5,7 +5,6 @@ import { SpawnfileError } from "../shared/index.js";
|
|
|
5
5
|
import { createMoltnetSummary, createOrganizationSummary } from "./containerArtifactSummaries.js";
|
|
6
6
|
import { createEnvVariableMap, createRuntimeTargetPlans } from "./containerArtifactsPlans.js";
|
|
7
7
|
import { createDockerIgnoreContent } from "./dockerBuildContext.js";
|
|
8
|
-
import { createDaimonTelemetryArtifacts } from "./daimonTelemetryArtifacts.js";
|
|
9
8
|
import { createRootfsFiles, renderDockerfile, renderEntrypoint, renderEnvExample } from "./containerArtifactsRender.js";
|
|
10
9
|
import { createMemoryArtifactBundle } from "./memoryArtifacts.js";
|
|
11
10
|
import { resolveRecordingReport } from "./recordingReport.js";
|
|
@@ -39,7 +38,6 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
39
38
|
const localDaimonIdentityPath = process.env[DAIMON_LOCAL_RUNTIME_IDENTITY_ENV]?.trim();
|
|
40
39
|
const localDaimonIdentity = localDaimonIdentityPath ? await loadLocalDaimonRuntimeIdentity(localDaimonIdentityPath) : undefined;
|
|
41
40
|
const runtimePlans = await createRuntimeTargetPlans(plan, compiledNodes, options.worldBindings, options.deploymentLineage);
|
|
42
|
-
const daimonTelemetryArtifacts = createDaimonTelemetryArtifacts(plan, runtimePlans, compiledNodes);
|
|
43
41
|
const envVariableMap = createEnvVariableMap(compiledNodes, runtimePlans, options.moltnet);
|
|
44
42
|
const projectedWorldTokenEnvNames = [...new Set(runtimePlans.flatMap((runtimePlan) => runtimePlan.worldTokenEnvNames ?? []))].sort();
|
|
45
43
|
const worldTokenEnvNames = (options.worldBindings?.artifact.bindings ?? [])
|
|
@@ -80,7 +78,6 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
80
78
|
const persistentMountCandidates = [
|
|
81
79
|
...memoryArtifacts.mounts,
|
|
82
80
|
...workspaceResourceMounts,
|
|
83
|
-
...daimonTelemetryArtifacts.mounts,
|
|
84
81
|
...runtimePlans.flatMap((runtimePlan) => runtimePlan.persistentMounts ?? []),
|
|
85
82
|
...((options.moltnet?.persistentMounts ?? []).map((mount) => ({
|
|
86
83
|
...(mount.declaredVolumeName ? { declared_volume_name: mount.declaredVolumeName } : {}),
|
|
@@ -109,7 +106,6 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
109
106
|
].sort();
|
|
110
107
|
const runtimeInstances = runtimePlans
|
|
111
108
|
.map((plan) => {
|
|
112
|
-
const telemetryMountIds = daimonTelemetryArtifacts.telemetryMountIdsByInstance.get(plan.id);
|
|
113
109
|
return {
|
|
114
110
|
...(plan.agentPathsByNodeId ? { agent_paths: Object.fromEntries(Object.entries(plan.agentPathsByNodeId).map(([id, paths]) => [id, {
|
|
115
111
|
workspace_path: paths.workspacePath, home_path: paths.homePath, skill_roots: paths.skillRoots
|
|
@@ -126,7 +122,6 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
126
122
|
node_ids: [...(plan.sourceIds ?? [])],
|
|
127
123
|
published_port: plan.publishedPort ?? null,
|
|
128
124
|
runtime: plan.runtimeName,
|
|
129
|
-
...(telemetryMountIds ? { telemetry_mount_ids: telemetryMountIds } : {}),
|
|
130
125
|
workspace_path: plan.instancePaths.workspacePath
|
|
131
126
|
};
|
|
132
127
|
})
|
|
@@ -30,6 +30,8 @@
|
|
|
30
30
|
* particular `printf %b` implementation treats `\nnn` vs `\0nnn`. For a path
|
|
31
31
|
* containing none of those four characters both forms are identical.
|
|
32
32
|
*/
|
|
33
|
+
import { DAIMON_GATEWAY_URL_ENV } from "../runtime/daimon/gateway.js";
|
|
34
|
+
import { isDaimonGatewayRealmMountId } from "../runtime/daimon/subscriptionRealms.js";
|
|
33
35
|
export const EPHEMERAL_STATE_OPT_OUT_ENV = "SPAWNFILE_ALLOW_EPHEMERAL_STATE";
|
|
34
36
|
const shellQuote = (value) => `'${value.replace(/'/g, `'"'"'`)}'`;
|
|
35
37
|
const MOUNTINFO_ESCAPES = {
|
|
@@ -79,7 +81,9 @@ export const createBackedMountChecks = (mounts) => {
|
|
|
79
81
|
}
|
|
80
82
|
return [...byPath.values()]
|
|
81
83
|
.sort((left, right) => left.mount_path.localeCompare(right.mount_path))
|
|
82
|
-
.map((mount) =>
|
|
84
|
+
.map((mount) =>
|
|
85
|
+
// An organization booted against an external auth gateway mounts no realm.
|
|
86
|
+
`${isDaimonGatewayRealmMountId(mount.id) ? `[ -n "\${${DAIMON_GATEWAY_URL_ENV}:-}" ] || ` : ""}require_backed_mount ${shellQuote(mount.id)} ${shellQuote(escapeMountInfoPath(mount.mount_path))} ${shellQuote(mount.mount_path)} ${shellQuote(mount.volume_name)}`);
|
|
83
87
|
};
|
|
84
88
|
/**
|
|
85
89
|
* The full guard — function plus checks — or nothing at all when the compile
|