spawnfile 0.1.33 → 0.1.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/auth/trainingAuth.d.ts +2 -5
- package/dist/cli/devCommands.d.ts +1 -1
- package/dist/cli/devCommands.js +0 -66
- package/dist/cli/runCli.d.ts +1 -4
- package/dist/cli/runCli.js +2 -2
- package/dist/cli/trainCommand.js +9 -15
- package/dist/cli/trainingBooted.d.ts +7 -0
- package/dist/cli/trainingBooted.js +41 -0
- package/dist/cli/trainingExecution.d.ts +4 -7
- package/dist/cli/trainingExecution.js +4 -32
- package/dist/compiler/containerArtifacts.js +0 -5
- package/dist/compiler/containerBackedMountRender.js +5 -1
- package/dist/compiler/containerDaimonBrokerRender.d.ts +5 -50
- package/dist/compiler/containerDaimonBrokerRender.js +7 -88
- package/dist/compiler/containerDaimonGatewayRender.d.ts +50 -0
- package/dist/compiler/containerDaimonGatewayRender.js +157 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +2 -10
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +13 -25
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +11 -49
- package/dist/compiler/containerDaimonGrokWorkerRender.js +15 -39
- package/dist/compiler/containerDaimonStartupSupervision.d.ts +8 -0
- package/dist/compiler/containerDaimonStartupSupervision.js +39 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +1 -2
- package/dist/compiler/containerDaimonUidEntrypointRender.js +26 -46
- package/dist/compiler/containerRuntimeReadinessRender.js +1 -1
- package/dist/compiler/memoryArtifacts.js +0 -1
- package/dist/compiler/moltnetArtifacts.js +1 -17
- package/dist/compiler/moltnetClientConfig.js +1 -1
- package/dist/compiler/moltnetRuntimeConfig.js +0 -10
- package/dist/compiler/runProject.d.ts +1 -0
- package/dist/compiler/runProject.js +9 -3
- package/dist/compiler/runProjectAuth.js +2 -17
- package/dist/compiler/training/contract.d.ts +0 -2
- package/dist/compiler/training/contract.js +0 -2
- package/dist/compiler/training/execution.d.ts +1 -128
- package/dist/compiler/training/execution.js +7 -68
- package/dist/compiler/training/index.d.ts +0 -8
- package/dist/compiler/training/index.js +0 -7
- package/dist/compiler/training/output.d.ts +1 -0
- package/dist/compiler/training/output.js +1 -1
- package/dist/compiler/training/trial/boot.d.ts +53 -0
- package/dist/compiler/training/trial/boot.js +147 -0
- package/dist/compiler/training/trial/docker.d.ts +8 -0
- package/dist/compiler/training/trial/docker.js +22 -0
- package/dist/compiler/training/trial/gateway.d.ts +42 -0
- package/dist/compiler/training/trial/gateway.js +98 -0
- package/dist/compiler/training/trial/index.d.ts +4 -0
- package/dist/compiler/training/trial/index.js +4 -0
- package/dist/compiler/training/trial/launcher.d.ts +32 -0
- package/dist/compiler/training/trial/launcher.js +49 -0
- package/dist/compiler/training/trial/project.d.ts +11 -0
- package/dist/compiler/training/trial/project.js +31 -0
- package/dist/compiler/upReceipt.d.ts +2 -17
- package/dist/compiler/upReceipt.js +2 -17
- package/dist/deployment/artifactsExportPlan.js +2 -18
- package/dist/deployment/privateArtifactsExport.js +1 -1
- package/dist/dev/docker.d.ts +0 -5
- package/dist/dev/docker.js +0 -46
- package/dist/dev/index.d.ts +0 -1
- package/dist/dev/index.js +0 -1
- package/dist/dev/project.d.ts +0 -16
- package/dist/dev/project.js +1 -128
- package/dist/distribution/distributionReportSchema.js +1 -1
- package/dist/distribution/imageRuntimeAuth.js +3 -2
- package/dist/release/drainControl.d.ts +5 -19
- package/dist/release/drainControl.js +12 -67
- package/dist/report/types.d.ts +3 -6
- package/dist/runtime/common.d.ts +1 -1
- package/dist/runtime/common.js +1 -1
- package/dist/runtime/container.d.ts +2 -2
- package/dist/runtime/container.js +1 -39
- package/dist/runtime/daimon/config.js +6 -12
- package/dist/runtime/daimon/contractManifest.js +0 -1
- package/dist/runtime/daimon/contractManifestSchema.js +0 -1
- package/dist/runtime/daimon/control.d.ts +31 -0
- package/dist/runtime/daimon/control.js +83 -0
- package/dist/runtime/daimon/engineDescriptorSchema.js +0 -1
- package/dist/runtime/daimon/engineDescriptors.generated.d.ts +1 -1
- package/dist/runtime/daimon/engineDescriptors.generated.js +1 -2
- package/dist/runtime/daimon/engines.js +0 -1
- package/dist/runtime/daimon/gateway.d.ts +62 -0
- package/dist/runtime/daimon/gateway.js +77 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +0 -5
- package/dist/runtime/daimon/grokWorkerContract.js +1 -13
- package/dist/runtime/daimon/index.d.ts +2 -0
- package/dist/runtime/daimon/index.js +2 -1
- package/dist/runtime/daimon/memory.js +1 -1
- package/dist/runtime/daimon/packageName.js +0 -1
- package/dist/runtime/daimon/runAuth.js +7 -4
- package/dist/runtime/daimon/runtimeIdentity.d.ts +2 -0
- package/dist/runtime/daimon/runtimeIdentity.js +2 -0
- package/dist/runtime/daimon/subscriptionRealms.d.ts +9 -3
- package/dist/runtime/daimon/subscriptionRealms.js +22 -13
- package/dist/runtime/daimon/testHelpers.d.ts +2 -0
- package/dist/runtime/{pi → daimon}/testHelpers.js +3 -3
- package/dist/runtime/daimon/training/booted/adapter.d.ts +46 -0
- package/dist/runtime/daimon/training/booted/adapter.js +59 -0
- package/dist/runtime/daimon/training/booted/adapter.js.map +1 -0
- package/dist/runtime/daimon/training/booted/index.d.ts +2 -0
- package/dist/runtime/daimon/training/booted/index.js +2 -0
- package/dist/runtime/daimon/training/booted/index.js.map +1 -0
- package/dist/runtime/daimon/training/index.d.ts +5 -0
- package/dist/runtime/daimon/training/index.js +8 -4
- package/dist/runtime/daimon/training/index.js.map +1 -1
- package/dist/runtime/daimon/training/providers/codex-subscription/index.js.map +1 -0
- package/dist/runtime/daimon/training/providers/codex-subscription/protocol.js.map +1 -0
- package/dist/runtime/daimon/training/providers/codex-subscription/provider.js.map +1 -0
- package/dist/runtime/daimon/training/providers/codex-subscription/strict-schema.js.map +1 -0
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.d.ts +1 -3
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js +5 -5
- package/dist/runtime/daimon/training/providers/grok-subscription/cli.js.map +1 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/index.d.ts +1 -2
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js +0 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/index.js.map +1 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.d.ts +5 -17
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js +18 -31
- package/dist/runtime/daimon/training/providers/grok-subscription/protocol.js.map +1 -1
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js +1 -2
- package/dist/runtime/daimon/training/providers/grok-subscription/provider.js.map +1 -1
- package/dist/runtime/daimon/wakeMoments.js +0 -1
- package/dist/runtime/install.js +0 -21
- package/dist/runtime/registry.js +0 -2
- package/dist/runtime/trainingGraderProviders.js +1 -1
- package/dist/runtime/trainingProviders.d.ts +1 -2
- package/dist/runtime/trainingProviders.js +9 -19
- package/dist/runtime/trainingSubjects.d.ts +0 -121
- package/dist/runtime/trainingSubjects.js +2 -13
- package/dist/runtime/types.d.ts +1 -8
- package/dist/shared/errors.js +0 -1
- package/dist/status/lifecycleProbes.js +3 -6
- package/dist/status/moltnetWiringProbes.js +1 -17
- package/dist/training/subjects/index.d.ts +0 -1
- package/dist/training/subjects/index.js +0 -1
- package/dist/training/subjects/index.js.map +1 -1
- package/examples/README.md +0 -1
- package/examples/daimon-org/agents/mapper/Spawnfile +4 -1
- package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +4 -1
- package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +1 -1
- package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +5 -8
- package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +1 -1
- package/examples/mixed-runtime-org/agents/localist/Spawnfile +7 -7
- package/package.json +4 -13
- package/runtimes.yaml +5 -15
- package/dist/compiler/containerDaimonGrokTaskClock.d.ts +0 -5
- package/dist/compiler/containerDaimonGrokTaskClock.js +0 -29
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +0 -22
- package/dist/compiler/daimonTelemetryArtifacts.js +0 -56
- package/dist/compiler/training/broker/clockProbe.d.ts +0 -6
- package/dist/compiler/training/broker/clockProbe.js +0 -27
- package/dist/compiler/training/broker/declaration.d.ts +0 -54
- package/dist/compiler/training/broker/declaration.js +0 -70
- package/dist/compiler/training/broker/entrypoint.d.ts +0 -39
- package/dist/compiler/training/broker/entrypoint.js +0 -124
- package/dist/compiler/training/broker/evaluatorSecrets.d.ts +0 -2
- package/dist/compiler/training/broker/evaluatorSecrets.js +0 -62
- package/dist/compiler/training/broker/index.d.ts +0 -12
- package/dist/compiler/training/broker/index.js +0 -12
- package/dist/compiler/training/broker/main.d.ts +0 -2
- package/dist/compiler/training/broker/main.js +0 -14
- package/dist/compiler/training/broker/paths.d.ts +0 -236
- package/dist/compiler/training/broker/paths.js +0 -249
- package/dist/compiler/training/broker/processes.d.ts +0 -51
- package/dist/compiler/training/broker/processes.js +0 -102
- package/dist/compiler/training/broker/projection.d.ts +0 -61
- package/dist/compiler/training/broker/projection.js +0 -109
- package/dist/compiler/training/broker/provisioning.d.ts +0 -78
- package/dist/compiler/training/broker/provisioning.js +0 -231
- package/dist/compiler/training/broker/receipt.d.ts +0 -77
- package/dist/compiler/training/broker/receipt.js +0 -110
- package/dist/compiler/training/broker/recycleClient.d.ts +0 -33
- package/dist/compiler/training/broker/recycleClient.js +0 -112
- package/dist/compiler/training/broker/registration.d.ts +0 -46
- package/dist/compiler/training/broker/registration.js +0 -113
- package/dist/compiler/training/broker/reset.d.ts +0 -9
- package/dist/compiler/training/broker/reset.js +0 -71
- package/dist/compiler/training/broker/rootScript.d.ts +0 -32
- package/dist/compiler/training/broker/rootScript.js +0 -33
- package/dist/compiler/training/broker/runtime.d.ts +0 -22
- package/dist/compiler/training/broker/runtime.js +0 -128
- package/dist/compiler/training/broker/seccompRoutes.d.ts +0 -31
- package/dist/compiler/training/broker/seccompRoutes.js +0 -36
- package/dist/compiler/training/broker/supervisor.d.ts +0 -108
- package/dist/compiler/training/broker/supervisor.js +0 -172
- package/dist/compiler/training/broker/taskClock.d.ts +0 -5
- package/dist/compiler/training/broker/taskClock.js +0 -41
- package/dist/compiler/training/container/contract.d.ts +0 -54
- package/dist/compiler/training/container/contract.js +0 -52
- package/dist/compiler/training/container/evaluators.d.ts +0 -48
- package/dist/compiler/training/container/evaluators.js +0 -50
- package/dist/compiler/training/container/grokWriteback.d.ts +0 -8
- package/dist/compiler/training/container/grokWriteback.js +0 -26
- package/dist/compiler/training/container/index.d.ts +0 -5
- package/dist/compiler/training/container/index.js +0 -3
- package/dist/compiler/training/container/launch.d.ts +0 -21
- package/dist/compiler/training/container/launch.js +0 -280
- package/dist/compiler/training/container/nativeSlots.d.ts +0 -14
- package/dist/compiler/training/container/nativeSlots.js +0 -13
- package/dist/compiler/training/container/outputCopy.d.ts +0 -2
- package/dist/compiler/training/container/outputCopy.js +0 -72
- package/dist/compiler/training/container/outputVolume.d.ts +0 -28
- package/dist/compiler/training/container/outputVolume.js +0 -185
- package/dist/compiler/training/container/prepare.d.ts +0 -10
- package/dist/compiler/training/container/prepare.js +0 -125
- package/dist/compiler/training/container/process.d.ts +0 -14
- package/dist/compiler/training/container/process.js +0 -70
- package/dist/compiler/training/container/security.d.ts +0 -38
- package/dist/compiler/training/container/security.js +0 -68
- package/dist/compiler/training/container/subjectIsolation.d.ts +0 -5
- package/dist/compiler/training/container/subjectIsolation.js +0 -16
- package/dist/compiler/training/preparation/assets/Dockerfile +0 -100
- package/dist/compiler/training/preparation/assets/package-lock.json +0 -5483
- package/dist/compiler/training/preparation/broker.d.ts +0 -30
- package/dist/compiler/training/preparation/broker.js +0 -68
- package/dist/compiler/training/preparation/contextModes.d.ts +0 -12
- package/dist/compiler/training/preparation/contextModes.js +0 -38
- package/dist/compiler/training/preparation/contract.d.ts +0 -203
- package/dist/compiler/training/preparation/contract.js +0 -114
- package/dist/compiler/training/preparation/copyAssets.d.ts +0 -1
- package/dist/compiler/training/preparation/copyAssets.js +0 -8
- package/dist/compiler/training/preparation/daimonParent.d.ts +0 -42
- package/dist/compiler/training/preparation/daimonParent.js +0 -114
- package/dist/compiler/training/preparation/files.d.ts +0 -29
- package/dist/compiler/training/preparation/files.js +0 -146
- package/dist/compiler/training/preparation/image.d.ts +0 -28
- package/dist/compiler/training/preparation/image.js +0 -105
- package/dist/compiler/training/preparation/index.d.ts +0 -3
- package/dist/compiler/training/preparation/index.js +0 -2
- package/dist/compiler/training/preparation/inputs.d.ts +0 -24
- package/dist/compiler/training/preparation/inputs.js +0 -101
- package/dist/compiler/training/preparation/prepare.d.ts +0 -38
- package/dist/compiler/training/preparation/prepare.js +0 -224
- package/dist/compiler/training/preparation/scratch.d.ts +0 -8
- package/dist/compiler/training/preparation/scratch.js +0 -114
- package/dist/compiler/training/repair/compatibility.d.ts +0 -11
- package/dist/compiler/training/repair/compatibility.js +0 -45
- package/dist/compiler/training/repair/contract.d.ts +0 -832
- package/dist/compiler/training/repair/contract.js +0 -34
- package/dist/compiler/training/repair/index.d.ts +0 -3
- package/dist/compiler/training/repair/index.js +0 -3
- package/dist/compiler/training/repair/prepare.d.ts +0 -378
- package/dist/compiler/training/repair/prepare.js +0 -84
- package/dist/compiler/training/repair/witness.d.ts +0 -348
- package/dist/compiler/training/repair/witness.js +0 -62
- package/dist/compiler/training/subjectDeclaration.d.ts +0 -26
- package/dist/compiler/training/subjectDeclaration.js +0 -54
- package/dist/compiler/training/subjectLease.d.ts +0 -115
- package/dist/compiler/training/subjectLease.js +0 -179
- package/dist/dev/activity.d.ts +0 -14
- package/dist/dev/activity.js +0 -48
- package/dist/runtime/codex-exec/training/adapter.d.ts +0 -13
- package/dist/runtime/codex-exec/training/adapter.js +0 -101
- package/dist/runtime/codex-exec/training/adapter.js.map +0 -1
- package/dist/runtime/codex-exec/training/environment.d.ts +0 -3
- package/dist/runtime/codex-exec/training/environment.js +0 -26
- package/dist/runtime/codex-exec/training/environment.js.map +0 -1
- package/dist/runtime/codex-exec/training/index.d.ts +0 -2
- package/dist/runtime/codex-exec/training/index.js +0 -3
- package/dist/runtime/codex-exec/training/index.js.map +0 -1
- package/dist/runtime/codex-exec/training/protocol.d.ts +0 -15
- package/dist/runtime/codex-exec/training/protocol.js +0 -102
- package/dist/runtime/codex-exec/training/protocol.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/index.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/protocol.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/provider.js.map +0 -1
- package/dist/runtime/codex-exec/training/providers/codex-subscription/strict-schema.js.map +0 -1
- package/dist/runtime/daimon/contractManifest.js.map +0 -1
- package/dist/runtime/daimon/contractManifestSchema.js.map +0 -1
- package/dist/runtime/daimon/engineDescriptorSchema.js.map +0 -1
- package/dist/runtime/daimon/engineDescriptors.generated.js.map +0 -1
- package/dist/runtime/daimon/engines.js.map +0 -1
- package/dist/runtime/daimon/index.js.map +0 -1
- package/dist/runtime/daimon/packageName.js.map +0 -1
- package/dist/runtime/daimon/training/legacy/adapter.d.ts +0 -11
- package/dist/runtime/daimon/training/legacy/adapter.js +0 -175
- package/dist/runtime/daimon/training/legacy/adapter.js.map +0 -1
- package/dist/runtime/daimon/training/legacy/index.d.ts +0 -2
- package/dist/runtime/daimon/training/legacy/index.js +0 -3
- package/dist/runtime/daimon/training/legacy/index.js.map +0 -1
- package/dist/runtime/daimon/training/legacy/public.d.ts +0 -49
- package/dist/runtime/daimon/training/legacy/public.js +0 -16
- package/dist/runtime/daimon/training/legacy/public.js.map +0 -1
- package/dist/runtime/daimon/training/native/adapter.d.ts +0 -18
- package/dist/runtime/daimon/training/native/adapter.js +0 -252
- package/dist/runtime/daimon/training/native/adapter.js.map +0 -1
- package/dist/runtime/daimon/training/native/admission.d.ts +0 -7
- package/dist/runtime/daimon/training/native/admission.js +0 -52
- package/dist/runtime/daimon/training/native/admission.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/arguments.d.ts +0 -16
- package/dist/runtime/daimon/training/native/child/arguments.js +0 -70
- package/dist/runtime/daimon/training/native/child/arguments.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/deferred-trial.d.ts +0 -24
- package/dist/runtime/daimon/training/native/child/deferred-trial.js +0 -63
- package/dist/runtime/daimon/training/native/child/deferred-trial.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/diagnostics.d.ts +0 -58
- package/dist/runtime/daimon/training/native/child/diagnostics.js +0 -215
- package/dist/runtime/daimon/training/native/child/diagnostics.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/fixture.d.ts +0 -16
- package/dist/runtime/daimon/training/native/child/fixture.js +0 -159
- package/dist/runtime/daimon/training/native/child/fixture.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/grok.d.ts +0 -14
- package/dist/runtime/daimon/training/native/child/grok.js +0 -47
- package/dist/runtime/daimon/training/native/child/grok.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/index.d.ts +0 -7
- package/dist/runtime/daimon/training/native/child/index.js +0 -5
- package/dist/runtime/daimon/training/native/child/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/lifecycle.d.ts +0 -40
- package/dist/runtime/daimon/training/native/child/lifecycle.js +0 -400
- package/dist/runtime/daimon/training/native/child/lifecycle.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/probe.d.ts +0 -2
- package/dist/runtime/daimon/training/native/child/probe.js +0 -11
- package/dist/runtime/daimon/training/native/child/probe.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/sandbox.d.ts +0 -4
- package/dist/runtime/daimon/training/native/child/sandbox.js +0 -76
- package/dist/runtime/daimon/training/native/child/sandbox.js.map +0 -1
- package/dist/runtime/daimon/training/native/child/types.d.ts +0 -15
- package/dist/runtime/daimon/training/native/child/types.js +0 -2
- package/dist/runtime/daimon/training/native/child/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/docker.d.ts +0 -29
- package/dist/runtime/daimon/training/native/container/docker.js +0 -105
- package/dist/runtime/daimon/training/native/container/docker.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/grok-slot.d.ts +0 -22
- package/dist/runtime/daimon/training/native/container/grok-slot.js +0 -38
- package/dist/runtime/daimon/training/native/container/grok-slot.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/index.d.ts +0 -6
- package/dist/runtime/daimon/training/native/container/index.js +0 -6
- package/dist/runtime/daimon/training/native/container/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/lifecycle.d.ts +0 -8
- package/dist/runtime/daimon/training/native/container/lifecycle.js +0 -111
- package/dist/runtime/daimon/training/native/container/lifecycle.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/manifest.d.ts +0 -17
- package/dist/runtime/daimon/training/native/container/manifest.js +0 -164
- package/dist/runtime/daimon/training/native/container/manifest.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/native-preflight.d.ts +0 -8
- package/dist/runtime/daimon/training/native/container/native-preflight.js +0 -40
- package/dist/runtime/daimon/training/native/container/native-preflight.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/preflight.d.ts +0 -15
- package/dist/runtime/daimon/training/native/container/preflight.js +0 -79
- package/dist/runtime/daimon/training/native/container/preflight.js.map +0 -1
- package/dist/runtime/daimon/training/native/container/slot.d.ts +0 -4
- package/dist/runtime/daimon/training/native/container/slot.js +0 -58
- package/dist/runtime/daimon/training/native/container/slot.js.map +0 -1
- package/dist/runtime/daimon/training/native/external.d.ts +0 -37
- package/dist/runtime/daimon/training/native/external.js +0 -75
- package/dist/runtime/daimon/training/native/external.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/authority.d.ts +0 -36
- package/dist/runtime/daimon/training/native/grants/authority.js +0 -49
- package/dist/runtime/daimon/training/native/grants/authority.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/index.d.ts +0 -2
- package/dist/runtime/daimon/training/native/grants/index.js +0 -3
- package/dist/runtime/daimon/training/native/grants/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/pins.d.ts +0 -30
- package/dist/runtime/daimon/training/native/grants/pins.js +0 -20
- package/dist/runtime/daimon/training/native/grants/pins.js.map +0 -1
- package/dist/runtime/daimon/training/native/grants/test-socket.d.ts +0 -6
- package/dist/runtime/daimon/training/native/grants/test-socket.js +0 -35
- package/dist/runtime/daimon/training/native/grants/test-socket.js.map +0 -1
- package/dist/runtime/daimon/training/native/grok-fixtures.d.ts +0 -34
- package/dist/runtime/daimon/training/native/grok-fixtures.js +0 -179
- package/dist/runtime/daimon/training/native/grok-fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/native/index.d.ts +0 -38
- package/dist/runtime/daimon/training/native/index.js +0 -27
- package/dist/runtime/daimon/training/native/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/live-checkout.d.ts +0 -2
- package/dist/runtime/daimon/training/native/live-checkout.js +0 -15
- package/dist/runtime/daimon/training/native/live-checkout.js.map +0 -1
- package/dist/runtime/daimon/training/native/observations.d.ts +0 -51
- package/dist/runtime/daimon/training/native/observations.js +0 -217
- package/dist/runtime/daimon/training/native/observations.js.map +0 -1
- package/dist/runtime/daimon/training/native/outcome.d.ts +0 -13
- package/dist/runtime/daimon/training/native/outcome.js +0 -37
- package/dist/runtime/daimon/training/native/outcome.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/engine-config.d.ts +0 -21
- package/dist/runtime/daimon/training/native/preparation/engine-config.js +0 -30
- package/dist/runtime/daimon/training/native/preparation/engine-config.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/fixtures.d.ts +0 -17
- package/dist/runtime/daimon/training/native/preparation/fixtures.js +0 -52
- package/dist/runtime/daimon/training/native/preparation/fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/index.d.ts +0 -7
- package/dist/runtime/daimon/training/native/preparation/index.js +0 -5
- package/dist/runtime/daimon/training/native/preparation/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/layout.d.ts +0 -66
- package/dist/runtime/daimon/training/native/preparation/layout.js +0 -87
- package/dist/runtime/daimon/training/native/preparation/layout.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/subject.d.ts +0 -14
- package/dist/runtime/daimon/training/native/preparation/subject.js +0 -67
- package/dist/runtime/daimon/training/native/preparation/subject.js.map +0 -1
- package/dist/runtime/daimon/training/native/preparation/types.d.ts +0 -69
- package/dist/runtime/daimon/training/native/preparation/types.js +0 -2
- package/dist/runtime/daimon/training/native/preparation/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/artifacts.d.ts +0 -25
- package/dist/runtime/daimon/training/native/receipt/artifacts.js +0 -32
- package/dist/runtime/daimon/training/native/receipt/artifacts.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.d.ts +0 -129
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js +0 -45
- package/dist/runtime/daimon/training/native/receipt/grok-clocked-pins.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/grok.d.ts +0 -246
- package/dist/runtime/daimon/training/native/receipt/grok.js +0 -195
- package/dist/runtime/daimon/training/native/receipt/grok.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/index.d.ts +0 -11
- package/dist/runtime/daimon/training/native/receipt/index.js +0 -8
- package/dist/runtime/daimon/training/native/receipt/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/paths.d.ts +0 -3
- package/dist/runtime/daimon/training/native/receipt/paths.js +0 -18
- package/dist/runtime/daimon/training/native/receipt/paths.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/sandbox.d.ts +0 -42
- package/dist/runtime/daimon/training/native/receipt/sandbox.js +0 -35
- package/dist/runtime/daimon/training/native/receipt/sandbox.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/schema.d.ts +0 -490
- package/dist/runtime/daimon/training/native/receipt/schema.js +0 -138
- package/dist/runtime/daimon/training/native/receipt/schema.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/subscription.d.ts +0 -13
- package/dist/runtime/daimon/training/native/receipt/subscription.js +0 -13
- package/dist/runtime/daimon/training/native/receipt/subscription.js.map +0 -1
- package/dist/runtime/daimon/training/native/receipt/task-clock.d.ts +0 -19
- package/dist/runtime/daimon/training/native/receipt/task-clock.js +0 -49
- package/dist/runtime/daimon/training/native/receipt/task-clock.js.map +0 -1
- package/dist/runtime/daimon/training/native/sealed-usage.d.ts +0 -218
- package/dist/runtime/daimon/training/native/sealed-usage.js +0 -261
- package/dist/runtime/daimon/training/native/sealed-usage.js.map +0 -1
- package/dist/runtime/daimon/training/native/test-fixtures.d.ts +0 -27
- package/dist/runtime/daimon/training/native/test-fixtures.js +0 -162
- package/dist/runtime/daimon/training/native/test-fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/native/transcript.d.ts +0 -96
- package/dist/runtime/daimon/training/native/transcript.js +0 -239
- package/dist/runtime/daimon/training/native/transcript.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/delivery.d.ts +0 -27
- package/dist/runtime/daimon/training/native/transport/delivery.js +0 -98
- package/dist/runtime/daimon/training/native/transport/delivery.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/http.d.ts +0 -3
- package/dist/runtime/daimon/training/native/transport/http.js +0 -81
- package/dist/runtime/daimon/training/native/transport/http.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/index.d.ts +0 -4
- package/dist/runtime/daimon/training/native/transport/index.js +0 -3
- package/dist/runtime/daimon/training/native/transport/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/transport/types.d.ts +0 -15
- package/dist/runtime/daimon/training/native/transport/types.js +0 -2
- package/dist/runtime/daimon/training/native/transport/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/cli.d.ts +0 -1
- package/dist/runtime/daimon/training/native/worker/cli.js +0 -17
- package/dist/runtime/daimon/training/native/worker/cli.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/control.d.ts +0 -20
- package/dist/runtime/daimon/training/native/worker/control.js +0 -266
- package/dist/runtime/daimon/training/native/worker/control.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/deliveries.d.ts +0 -38
- package/dist/runtime/daimon/training/native/worker/deliveries.js +0 -91
- package/dist/runtime/daimon/training/native/worker/deliveries.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/collect.d.ts +0 -54
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js +0 -278
- package/dist/runtime/daimon/training/native/worker/evidence/collect.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/execution.d.ts +0 -102
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js +0 -191
- package/dist/runtime/daimon/training/native/worker/evidence/execution.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/index.d.ts +0 -3
- package/dist/runtime/daimon/training/native/worker/evidence/index.js +0 -4
- package/dist/runtime/daimon/training/native/worker/evidence/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/io.d.ts +0 -20
- package/dist/runtime/daimon/training/native/worker/evidence/io.js +0 -130
- package/dist/runtime/daimon/training/native/worker/evidence/io.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/evidence/seal.d.ts +0 -3
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js +0 -67
- package/dist/runtime/daimon/training/native/worker/evidence/seal.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/index.d.ts +0 -11
- package/dist/runtime/daimon/training/native/worker/index.js +0 -8
- package/dist/runtime/daimon/training/native/worker/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/profile.d.ts +0 -23
- package/dist/runtime/daimon/training/native/worker/profile.js +0 -149
- package/dist/runtime/daimon/training/native/worker/profile.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/public.d.ts +0 -53
- package/dist/runtime/daimon/training/native/worker/public.js +0 -22
- package/dist/runtime/daimon/training/native/worker/public.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/sandbox.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/sandbox.js +0 -54
- package/dist/runtime/daimon/training/native/worker/sandbox.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/server.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/server.js +0 -102
- package/dist/runtime/daimon/training/native/worker/server.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/types.d.ts +0 -318
- package/dist/runtime/daimon/training/native/worker/types.js +0 -2
- package/dist/runtime/daimon/training/native/worker/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js +0 -4
- package/dist/runtime/daimon/training/native/worker/wake-delivery/index.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.d.ts +0 -3
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js +0 -16
- package/dist/runtime/daimon/training/native/worker/wake-delivery/source.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.d.ts +0 -4
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js +0 -52
- package/dist/runtime/daimon/training/native/worker/wake-delivery/terminal.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.d.ts +0 -21
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js +0 -198
- package/dist/runtime/daimon/training/native/worker/wake-delivery/transport.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.d.ts +0 -91
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js +0 -2
- package/dist/runtime/daimon/training/native/worker/wake-delivery/types.js.map +0 -1
- package/dist/runtime/daimon/training/native/worker/worker.d.ts +0 -1
- package/dist/runtime/daimon/training/native/worker/worker.js +0 -105
- package/dist/runtime/daimon/training/native/worker/worker.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/broker.d.ts +0 -20
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js +0 -55
- package/dist/runtime/daimon/training/providers/grok-broker/broker.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.d.ts +0 -15
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js +0 -29
- package/dist/runtime/daimon/training/providers/grok-broker/grant-fixtures.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.d.ts +0 -16
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js +0 -60
- package/dist/runtime/daimon/training/providers/grok-broker/grant-home.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.d.ts +0 -81
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js +0 -221
- package/dist/runtime/daimon/training/providers/grok-broker/grant-pool.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.d.ts +0 -31
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js +0 -78
- package/dist/runtime/daimon/training/providers/grok-broker/grant-releases.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/grants.d.ts +0 -63
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js +0 -20
- package/dist/runtime/daimon/training/providers/grok-broker/grants.js.map +0 -1
- package/dist/runtime/daimon/training/providers/grok-broker/index.d.ts +0 -3
- package/dist/runtime/daimon/training/providers/grok-broker/index.js +0 -4
- package/dist/runtime/daimon/training/providers/grok-broker/index.js.map +0 -1
- package/dist/runtime/daimon/training/public.d.ts +0 -6
- package/dist/runtime/daimon/training/public.js +0 -5
- package/dist/runtime/daimon/training/public.js.map +0 -1
- package/dist/runtime/daimon/training/services/account-lease.d.ts +0 -7
- package/dist/runtime/daimon/training/services/account-lease.js +0 -76
- package/dist/runtime/daimon/training/services/account-lease.js.map +0 -1
- package/dist/runtime/daimon/training/services/freshness.d.ts +0 -15
- package/dist/runtime/daimon/training/services/freshness.js +0 -19
- package/dist/runtime/daimon/training/services/freshness.js.map +0 -1
- package/dist/runtime/daimon/training/services/index.d.ts +0 -4
- package/dist/runtime/daimon/training/services/index.js +0 -4
- package/dist/runtime/daimon/training/services/index.js.map +0 -1
- package/dist/runtime/daimon/training/services/slot-freshness.d.ts +0 -34
- package/dist/runtime/daimon/training/services/slot-freshness.js +0 -178
- package/dist/runtime/daimon/training/services/slot-freshness.js.map +0 -1
- package/dist/runtime/daimon/wakeMoments.js.map +0 -1
- package/dist/runtime/pi/adapter.d.ts +0 -3
- package/dist/runtime/pi/adapter.js +0 -230
- package/dist/runtime/pi/appActivitySource.d.ts +0 -1
- package/dist/runtime/pi/appActivitySource.js +0 -199
- package/dist/runtime/pi/appAgentConfig.d.ts +0 -11
- package/dist/runtime/pi/appAgentConfig.js +0 -264
- package/dist/runtime/pi/appCliEnginesSource.d.ts +0 -1
- package/dist/runtime/pi/appCliEnginesSource.js +0 -183
- package/dist/runtime/pi/appCliSource.d.ts +0 -1
- package/dist/runtime/pi/appCliSource.js +0 -353
- package/dist/runtime/pi/appControlSource.d.ts +0 -1
- package/dist/runtime/pi/appControlSource.js +0 -390
- package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +0 -1
- package/dist/runtime/pi/appControlWakeIdentitySource.js +0 -19
- package/dist/runtime/pi/appCoreSource.d.ts +0 -4
- package/dist/runtime/pi/appCoreSource.js +0 -244
- package/dist/runtime/pi/appPreludeSource.d.ts +0 -1
- package/dist/runtime/pi/appPreludeSource.js +0 -192
- package/dist/runtime/pi/appScheduleSource.d.ts +0 -1
- package/dist/runtime/pi/appScheduleSource.js +0 -84
- package/dist/runtime/pi/appScriptedEngine.d.ts +0 -31
- package/dist/runtime/pi/appScriptedEngine.js +0 -42
- package/dist/runtime/pi/appSource.d.ts +0 -4
- package/dist/runtime/pi/appSource.js +0 -12
- package/dist/runtime/pi/appTemplate.d.ts +0 -14
- package/dist/runtime/pi/appTemplate.js +0 -28
- package/dist/runtime/pi/appTemplateTypes.d.ts +0 -64
- package/dist/runtime/pi/appTemplateTypes.js +0 -18
- package/dist/runtime/pi/appWakeContextSource.d.ts +0 -1
- package/dist/runtime/pi/appWakeContextSource.js +0 -398
- package/dist/runtime/pi/containerTargets.d.ts +0 -4
- package/dist/runtime/pi/containerTargets.js +0 -63
- package/dist/runtime/pi/runAuth.d.ts +0 -2
- package/dist/runtime/pi/runAuth.js +0 -185
- package/dist/runtime/pi/testHelpers.d.ts +0 -2
- package/dist/shared/errors.js.map +0 -1
- package/dist/training/subjects/environment.d.ts +0 -2
- package/dist/training/subjects/environment.js +0 -14
- package/dist/training/subjects/environment.js.map +0 -1
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/index.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/index.js +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/protocol.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/protocol.js +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/provider.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/provider.js +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/strict-schema.d.ts +0 -0
- /package/dist/runtime/{codex-exec → daimon}/training/providers/codex-subscription/strict-schema.js +0 -0
|
@@ -4,7 +4,7 @@ import path from "node:path";
|
|
|
4
4
|
import { ensureDirectory } from "../filesystem/index.js";
|
|
5
5
|
import { copyContainerFileToHost, } from "./artifactsExportDocker.js";
|
|
6
6
|
const plans = (report) => (report.container?.runtime_instances ?? [])
|
|
7
|
-
.filter((instance) =>
|
|
7
|
+
.filter((instance) => instance.runtime === "daimon"
|
|
8
8
|
&& instance.home_path !== null)
|
|
9
9
|
.flatMap((instance) => {
|
|
10
10
|
const instanceRoot = path.posix.dirname(instance.home_path);
|
package/dist/dev/docker.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type CompileProjectResult } from "../compiler/index.js";
|
|
2
1
|
import { type DeploymentRecord } from "../deployment/index.js";
|
|
3
2
|
export type DevExecFile = (file: string, args: string[], options: {
|
|
4
3
|
timeout: number;
|
|
@@ -9,8 +8,4 @@ export type DevExecFile = (file: string, args: string[], options: {
|
|
|
9
8
|
export declare const defaultExecFile: DevExecFile;
|
|
10
9
|
export declare const dockerArgsForRecord: (record: DeploymentRecord) => string[];
|
|
11
10
|
export declare const firstContainerName: (record: DeploymentRecord) => string;
|
|
12
|
-
export declare const compileForDevApply: (inputPath: string, outputDirectory: string, record: DeploymentRecord, dockerCommand: string, execFileImpl: DevExecFile) => Promise<CompileProjectResult>;
|
|
13
11
|
export declare const runDocker: (command: string, args: string[], execFileImpl: DevExecFile, timeout?: number) => Promise<string>;
|
|
14
|
-
export declare const copyIntoContainer: (dockerCommand: string, dockerPrefix: string[], source: string, destination: string, execFileImpl: DevExecFile) => Promise<void>;
|
|
15
|
-
export declare const ensureContainerDirectories: (dockerCommand: string, dockerPrefix: string[], containerName: string, paths: string[], execFileImpl: DevExecFile) => Promise<void>;
|
|
16
|
-
export declare const chownContainerPaths: (dockerCommand: string, dockerPrefix: string[], containerName: string, paths: string[], execFileImpl: DevExecFile) => Promise<void>;
|
package/dist/dev/docker.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { execFile as execFileCallback } from "node:child_process";
|
|
2
2
|
import { promisify } from "node:util";
|
|
3
|
-
import { compileProject, normalizeDockerArchitecture } from "../compiler/index.js";
|
|
4
3
|
import { dockerContextNameForTarget, dockerHostValueForTarget } from "../deployment/index.js";
|
|
5
4
|
import { SpawnfileError } from "../shared/index.js";
|
|
6
5
|
export const defaultExecFile = promisify(execFileCallback);
|
|
@@ -20,52 +19,7 @@ export const firstContainerName = (record) => {
|
|
|
20
19
|
}
|
|
21
20
|
return name;
|
|
22
21
|
};
|
|
23
|
-
export const compileForDevApply = async (inputPath, outputDirectory, record, dockerCommand, execFileImpl) => {
|
|
24
|
-
const dockerContext = dockerContextNameForTarget(record.target) ?? undefined;
|
|
25
|
-
const architecture = dockerContext
|
|
26
|
-
? normalizeDockerArchitecture((await execFileImpl(dockerCommand, ["--context", dockerContext, "info", "--format", "{{.Architecture}}"], { timeout: 10_000 })).stdout)
|
|
27
|
-
: undefined;
|
|
28
|
-
return compileProject(inputPath, {
|
|
29
|
-
clean: false,
|
|
30
|
-
containerArchitecture: architecture,
|
|
31
|
-
outputDirectory
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
22
|
export const runDocker = async (command, args, execFileImpl, timeout = 30_000) => {
|
|
35
23
|
const { stdout } = await execFileImpl(command, args, { timeout });
|
|
36
24
|
return stdout;
|
|
37
25
|
};
|
|
38
|
-
export const copyIntoContainer = async (dockerCommand, dockerPrefix, source, destination, execFileImpl) => {
|
|
39
|
-
await runDocker(dockerCommand, [...dockerPrefix, "cp", source, destination], execFileImpl, 60_000);
|
|
40
|
-
};
|
|
41
|
-
export const ensureContainerDirectories = async (dockerCommand, dockerPrefix, containerName, paths, execFileImpl) => {
|
|
42
|
-
if (paths.length === 0) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
await runDocker(dockerCommand, [
|
|
46
|
-
...dockerPrefix,
|
|
47
|
-
"exec",
|
|
48
|
-
"--user",
|
|
49
|
-
"root",
|
|
50
|
-
containerName,
|
|
51
|
-
"mkdir",
|
|
52
|
-
"-p",
|
|
53
|
-
...paths
|
|
54
|
-
], execFileImpl);
|
|
55
|
-
};
|
|
56
|
-
export const chownContainerPaths = async (dockerCommand, dockerPrefix, containerName, paths, execFileImpl) => {
|
|
57
|
-
if (paths.length === 0) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
await runDocker(dockerCommand, [
|
|
61
|
-
...dockerPrefix,
|
|
62
|
-
"exec",
|
|
63
|
-
"--user",
|
|
64
|
-
"root",
|
|
65
|
-
containerName,
|
|
66
|
-
"chown",
|
|
67
|
-
"-R",
|
|
68
|
-
"spawnfile:spawnfile",
|
|
69
|
-
...paths
|
|
70
|
-
], execFileImpl);
|
|
71
|
-
};
|
package/dist/dev/index.d.ts
CHANGED
package/dist/dev/index.js
CHANGED
package/dist/dev/project.d.ts
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
import { type UpProjectOptions, type UpProjectResult } from "../compiler/index.js";
|
|
2
2
|
import { type DeploymentRecord } from "../deployment/index.js";
|
|
3
3
|
import { type DevExecFile } from "./docker.js";
|
|
4
|
-
export declare const PI_CONTROL_URL = "http://127.0.0.1:19690";
|
|
5
4
|
export interface DevProjectOptions {
|
|
6
5
|
deploymentName?: string;
|
|
7
6
|
dockerCommand?: string;
|
|
8
7
|
outputDirectory?: string;
|
|
9
8
|
}
|
|
10
|
-
export interface DevApplyProjectOptions extends DevProjectOptions {
|
|
11
|
-
agent: string;
|
|
12
|
-
execFile?: DevExecFile;
|
|
13
|
-
restart?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface DevApplyProjectResult {
|
|
16
|
-
agentId: string;
|
|
17
|
-
bridgeStarted: boolean;
|
|
18
|
-
containerName: string;
|
|
19
|
-
deploymentName: string;
|
|
20
|
-
existingAgent: boolean;
|
|
21
|
-
outputDirectory: string;
|
|
22
|
-
}
|
|
23
9
|
export interface DevStopProjectResult {
|
|
24
10
|
containerName: string;
|
|
25
11
|
deploymentName: string;
|
|
@@ -35,8 +21,6 @@ export declare const resolveDevOutputDirectory: (inputPath: string, outputDirect
|
|
|
35
21
|
*/
|
|
36
22
|
export declare const devUpProject: (inputPath: string, options?: UpProjectOptions) => Promise<UpProjectResult>;
|
|
37
23
|
export declare const selectDeploymentRecord: (outputDirectory: string, deploymentName?: string) => Promise<DeploymentRecord>;
|
|
38
|
-
export declare const devApplyProject: (inputPath: string, options: DevApplyProjectOptions) => Promise<DevApplyProjectResult>;
|
|
39
|
-
export declare const devRestartProject: (inputPath: string, options: DevApplyProjectOptions) => Promise<DevApplyProjectResult>;
|
|
40
24
|
export declare const devStopProject: (inputPath: string, options?: DevProjectOptions & {
|
|
41
25
|
execFile?: DevExecFile;
|
|
42
26
|
}) => Promise<DevStopProjectResult>;
|
package/dist/dev/project.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { readFile } from "node:fs/promises";
|
|
3
2
|
import { buildCompilePlan, upProject } from "../compiler/index.js";
|
|
4
3
|
import { listDeploymentRecords, normalizeDeploymentName } from "../deployment/index.js";
|
|
5
4
|
import { SpawnfileError } from "../shared/index.js";
|
|
6
5
|
import { DEV_DEPLOYMENT_LINEAGE_NAMESPACE } from "../compiler/deploymentLineage.js";
|
|
7
|
-
import {
|
|
6
|
+
import { defaultExecFile, dockerArgsForRecord, firstContainerName, runDocker } from "./docker.js";
|
|
8
7
|
const DEV_OUTPUT_DIRECTORY = ".spawn-dev";
|
|
9
|
-
export const PI_CONTROL_URL = "http://127.0.0.1:19690";
|
|
10
8
|
export const resolveDevOutputDirectory = async (inputPath, outputDirectory) => {
|
|
11
9
|
if (outputDirectory) {
|
|
12
10
|
return path.resolve(outputDirectory);
|
|
@@ -45,131 +43,6 @@ export const selectDeploymentRecord = async (outputDirectory, deploymentName) =>
|
|
|
45
43
|
}
|
|
46
44
|
return records[0].record;
|
|
47
45
|
};
|
|
48
|
-
const readJson = async (filePath) => JSON.parse(await readFile(filePath, "utf8"));
|
|
49
|
-
const rootfsPath = (outputDirectory, containerPath) => path.join(outputDirectory, "container", "rootfs", containerPath.replace(/^\/+/u, ""));
|
|
50
|
-
const matchesAgent = (agent, input) => agent.slug === input || agent.id === input || agent.name === input || agent.id === `agent:${input}`;
|
|
51
|
-
const selectPiAgent = async (compileResult, agentInput) => {
|
|
52
|
-
const instance = compileResult.report.container?.runtime_instances.find((candidate) => candidate.id === "pi-app" && ["daimon", "pi"].includes(candidate.runtime));
|
|
53
|
-
if (!instance?.config_path || !instance.workspace_path || !instance.home_path) {
|
|
54
|
-
throw new SpawnfileError("runtime_error", "Compiled output does not contain a generated Daimon runtime instance");
|
|
55
|
-
}
|
|
56
|
-
const configPath = rootfsPath(compileResult.outputDirectory, instance.config_path);
|
|
57
|
-
const config = await readJson(configPath);
|
|
58
|
-
const agent = (config.agents ?? []).find((candidate) => matchesAgent(candidate, agentInput));
|
|
59
|
-
if (!agent) {
|
|
60
|
-
throw new SpawnfileError("validation_error", `Daimon agent "${agentInput}" was not found in compiled output`);
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
agent,
|
|
64
|
-
configPath,
|
|
65
|
-
instanceRoot: path.posix.dirname(instance.home_path),
|
|
66
|
-
remoteConfigPath: instance.config_path,
|
|
67
|
-
remoteWorkspaceRoot: `${instance.workspace_path}/agents`,
|
|
68
|
-
workspacePath: rootfsPath(compileResult.outputDirectory, `${instance.workspace_path}/agents/${agent.slug}`)
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
const selectMoltnetNodes = async (result, agent) => {
|
|
72
|
-
const nodePlans = result.report.container?.moltnet?.node_plans ?? [];
|
|
73
|
-
const matches = [];
|
|
74
|
-
for (const plan of nodePlans) {
|
|
75
|
-
const configPath = rootfsPath(result.outputDirectory, plan.config_path);
|
|
76
|
-
const config = await readJson(configPath);
|
|
77
|
-
const attachment = (config.attachments ?? []).find((candidate) => {
|
|
78
|
-
const id = candidate.agent?.id ?? "";
|
|
79
|
-
const name = candidate.agent?.name ?? "";
|
|
80
|
-
return id === agent.slug || id === agent.id || name === agent.name;
|
|
81
|
-
});
|
|
82
|
-
if (attachment?.agent?.id) {
|
|
83
|
-
matches.push({
|
|
84
|
-
configPath,
|
|
85
|
-
remotePath: plan.config_path,
|
|
86
|
-
...(attachment.moltnet?.token_path
|
|
87
|
-
? { tokenDirectory: path.posix.dirname(attachment.moltnet.token_path) }
|
|
88
|
-
: {})
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return matches;
|
|
93
|
-
};
|
|
94
|
-
const selectManagedMoltnetServers = (result) => (result.report.container?.moltnet?.server_plans ?? [])
|
|
95
|
-
.filter((plan) => plan.mode === "managed" && Boolean(plan.config_path))
|
|
96
|
-
.map((plan) => ({
|
|
97
|
-
configPath: rootfsPath(result.outputDirectory, plan.config_path),
|
|
98
|
-
remotePath: plan.config_path
|
|
99
|
-
}));
|
|
100
|
-
const shellQuote = (value) => `'${value.replaceAll("'", "'\"'\"'")}'`;
|
|
101
|
-
const listRunningPiAgents = async (dockerCommand, dockerPrefix, containerName, execFileImpl) => {
|
|
102
|
-
const stdout = await runDocker(dockerCommand, [...dockerPrefix, "exec", containerName, "curl", "-fsS", `${PI_CONTROL_URL}/spawnfile/agents`], execFileImpl);
|
|
103
|
-
const parsed = JSON.parse(stdout);
|
|
104
|
-
return parsed.agents ?? [];
|
|
105
|
-
};
|
|
106
|
-
const loadPiAgent = async (dockerCommand, dockerPrefix, containerName, slug, action, execFileImpl) => {
|
|
107
|
-
await runDocker(dockerCommand, [
|
|
108
|
-
...dockerPrefix,
|
|
109
|
-
"exec",
|
|
110
|
-
containerName,
|
|
111
|
-
"curl",
|
|
112
|
-
"-fsS",
|
|
113
|
-
"-X",
|
|
114
|
-
"POST",
|
|
115
|
-
"-H",
|
|
116
|
-
"content-type: application/json",
|
|
117
|
-
"--data",
|
|
118
|
-
JSON.stringify({ slug }),
|
|
119
|
-
`${PI_CONTROL_URL}/spawnfile/agents/${action}`
|
|
120
|
-
], execFileImpl, 120_000);
|
|
121
|
-
};
|
|
122
|
-
export const devApplyProject = async (inputPath, options) => {
|
|
123
|
-
const outputDirectory = await resolveDevOutputDirectory(inputPath, options.outputDirectory);
|
|
124
|
-
const record = await selectDeploymentRecord(outputDirectory, options.deploymentName);
|
|
125
|
-
const dockerCommand = options.dockerCommand ?? "docker";
|
|
126
|
-
const dockerPrefix = dockerArgsForRecord(record);
|
|
127
|
-
const containerName = firstContainerName(record);
|
|
128
|
-
const execFileImpl = options.execFile ?? defaultExecFile;
|
|
129
|
-
const existingAgents = await listRunningPiAgents(dockerCommand, dockerPrefix, containerName, execFileImpl);
|
|
130
|
-
const compileResult = await compileForDevApply(inputPath, outputDirectory, record, dockerCommand, execFileImpl);
|
|
131
|
-
const { agent, configPath, instanceRoot, remoteConfigPath, remoteWorkspaceRoot, workspacePath } = await selectPiAgent(compileResult, options.agent);
|
|
132
|
-
const nodes = await selectMoltnetNodes(compileResult, agent);
|
|
133
|
-
const serverConfigs = selectManagedMoltnetServers(compileResult);
|
|
134
|
-
const existingAgent = existingAgents.some((candidate) => matchesAgent(candidate, agent.slug));
|
|
135
|
-
await copyIntoContainer(dockerCommand, dockerPrefix, configPath, `${containerName}:${remoteConfigPath}`, execFileImpl);
|
|
136
|
-
await copyIntoContainer(dockerCommand, dockerPrefix, workspacePath, `${containerName}:${remoteWorkspaceRoot}`, execFileImpl);
|
|
137
|
-
for (const node of nodes) {
|
|
138
|
-
await copyIntoContainer(dockerCommand, dockerPrefix, node.configPath, `${containerName}:${node.remotePath}`, execFileImpl);
|
|
139
|
-
}
|
|
140
|
-
for (const serverConfig of serverConfigs) {
|
|
141
|
-
await copyIntoContainer(dockerCommand, dockerPrefix, serverConfig.configPath, `${containerName}:${serverConfig.remotePath}`, execFileImpl);
|
|
142
|
-
}
|
|
143
|
-
const tokenDirectories = nodes
|
|
144
|
-
.map((node) => node.tokenDirectory)
|
|
145
|
-
.filter((directory) => Boolean(directory));
|
|
146
|
-
await ensureContainerDirectories(dockerCommand, dockerPrefix, containerName, tokenDirectories, execFileImpl);
|
|
147
|
-
await chownContainerPaths(dockerCommand, dockerPrefix, containerName, [
|
|
148
|
-
instanceRoot,
|
|
149
|
-
...nodes.flatMap((node) => [
|
|
150
|
-
node.remotePath,
|
|
151
|
-
...(node.tokenDirectory ? [node.tokenDirectory] : [])
|
|
152
|
-
]),
|
|
153
|
-
...serverConfigs.map((serverConfig) => serverConfig.remotePath)
|
|
154
|
-
], execFileImpl);
|
|
155
|
-
await loadPiAgent(dockerCommand, dockerPrefix, containerName, agent.slug, options.restart === true ? "restart" : "load", execFileImpl);
|
|
156
|
-
if (!existingAgent) {
|
|
157
|
-
for (const node of nodes) {
|
|
158
|
-
const prepare = node.tokenDirectory ? `mkdir -p ${shellQuote(node.tokenDirectory)} && ` : "";
|
|
159
|
-
const command = `${prepare}/usr/local/bin/moltnet node ${shellQuote(node.remotePath)}`;
|
|
160
|
-
await runDocker(dockerCommand, [...dockerPrefix, "exec", "-d", "--user", "spawnfile", containerName, "sh", "-lc", command], execFileImpl);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
return {
|
|
164
|
-
agentId: agent.id,
|
|
165
|
-
bridgeStarted: !existingAgent && nodes.length > 0,
|
|
166
|
-
containerName,
|
|
167
|
-
deploymentName: record.name,
|
|
168
|
-
existingAgent,
|
|
169
|
-
outputDirectory
|
|
170
|
-
};
|
|
171
|
-
};
|
|
172
|
-
export const devRestartProject = async (inputPath, options) => devApplyProject(inputPath, { ...options, restart: true });
|
|
173
46
|
export const devStopProject = async (inputPath, options = {}) => {
|
|
174
47
|
const outputDirectory = await resolveDevOutputDirectory(inputPath, options.outputDirectory);
|
|
175
48
|
const record = await selectDeploymentRecord(outputDirectory, options.deploymentName);
|
|
@@ -42,7 +42,7 @@ const runtimeInstanceSchema = z.object({
|
|
|
42
42
|
node_ids: z.array(z.string()),
|
|
43
43
|
published_port: portSchema.nullable(),
|
|
44
44
|
runtime: z.string().min(1),
|
|
45
|
-
// node id -> persistent mount id for per-agent telemetry; every
|
|
45
|
+
// node id -> persistent mount id for per-agent telemetry; every Daimon
|
|
46
46
|
// image this compiler builds carries it, so a strict schema without it
|
|
47
47
|
// refused image-mode `up` of the compiler's own output.
|
|
48
48
|
telemetry_mount_ids: z.record(z.string().min(1), instanceIdSchema).optional(),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { daimonGatewayBootstrapMountPath } from "../runtime/daimon/gateway.js";
|
|
1
2
|
import { DAIMON_ENGINE_DESCRIPTORS } from "../runtime/daimon/engines.js";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { loadImportedClaudeCodeCredential, loadImportedCodexCredential } from "../auth/index.js";
|
|
@@ -60,7 +61,7 @@ export const prepareDaimonImageAuthMounts = async (instance, environment, authPr
|
|
|
60
61
|
const source = daimonSourcePathForEngine(descriptor.id, environment, authProfile, descriptor);
|
|
61
62
|
const ownerUid = await assertSafeDaimonSourceFile(source, descriptor.id, descriptor.auth.maxCredentialBytes, descriptor);
|
|
62
63
|
assertDaimonCredentialContainerOwner(ownerUid, descriptor.id, containerCredentialUid);
|
|
63
|
-
mounts.push("-v", `${source}:${descriptor.auth.realm
|
|
64
|
+
mounts.push("-v", `${source}:${daimonGatewayBootstrapMountPath(descriptor.auth.realm)}:ro`);
|
|
64
65
|
}
|
|
65
66
|
for (const descriptor of descriptors) {
|
|
66
67
|
if (descriptor.auth.staging !== "broker-realm")
|
|
@@ -69,7 +70,7 @@ export const prepareDaimonImageAuthMounts = async (instance, environment, authPr
|
|
|
69
70
|
// do not require ownership by the eventual organization uid.
|
|
70
71
|
const source = daimonSourcePathForEngine(descriptor.id, environment, null, descriptor);
|
|
71
72
|
await assertSafeDaimonSourceFile(source, descriptor.id, descriptor.auth.maxCredentialBytes, descriptor);
|
|
72
|
-
mounts.push("-v", `${source}:${descriptor.auth.realm
|
|
73
|
+
mounts.push("-v", `${source}:${daimonGatewayBootstrapMountPath(descriptor.auth.realm)}:ro`);
|
|
73
74
|
}
|
|
74
75
|
for (const descriptor of descriptors) {
|
|
75
76
|
if (descriptor.auth.staging !== "secret-service")
|
|
@@ -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 } 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";
|
|
@@ -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
|
|
@@ -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
|