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
|
@@ -4,20 +4,17 @@ name: luna-shadow
|
|
|
4
4
|
description: "Luna inner archetype (Grok CLI engine)"
|
|
5
5
|
|
|
6
6
|
runtime:
|
|
7
|
-
name:
|
|
7
|
+
name: daimon
|
|
8
8
|
options:
|
|
9
|
-
engine:
|
|
9
|
+
engine: codex
|
|
10
10
|
|
|
11
11
|
execution:
|
|
12
12
|
model:
|
|
13
13
|
primary:
|
|
14
|
-
provider:
|
|
15
|
-
name:
|
|
14
|
+
provider: openai
|
|
15
|
+
name: gpt-5.4-mini
|
|
16
16
|
auth:
|
|
17
|
-
method:
|
|
18
|
-
endpoint:
|
|
19
|
-
compatibility: openai
|
|
20
|
-
base_url: http://127.0.0.1:11434/v1
|
|
17
|
+
method: codex
|
|
21
18
|
sandbox:
|
|
22
19
|
mode: workspace
|
|
23
20
|
|
|
@@ -4,20 +4,17 @@ name: selene-animus
|
|
|
4
4
|
description: "Selene inner archetype (Antigravity CLI engine)"
|
|
5
5
|
|
|
6
6
|
runtime:
|
|
7
|
-
name:
|
|
7
|
+
name: daimon
|
|
8
8
|
options:
|
|
9
|
-
engine:
|
|
9
|
+
engine: codex
|
|
10
10
|
|
|
11
11
|
execution:
|
|
12
12
|
model:
|
|
13
13
|
primary:
|
|
14
|
-
provider:
|
|
15
|
-
name:
|
|
14
|
+
provider: openai
|
|
15
|
+
name: gpt-5.4-mini
|
|
16
16
|
auth:
|
|
17
|
-
method:
|
|
18
|
-
endpoint:
|
|
19
|
-
compatibility: openai
|
|
20
|
-
base_url: http://127.0.0.1:11434/v1
|
|
17
|
+
method: codex
|
|
21
18
|
sandbox:
|
|
22
19
|
mode: workspace
|
|
23
20
|
|
|
@@ -4,20 +4,17 @@ name: selene-representative
|
|
|
4
4
|
description: "Selene representative (Grok CLI engine)"
|
|
5
5
|
|
|
6
6
|
runtime:
|
|
7
|
-
name:
|
|
7
|
+
name: daimon
|
|
8
8
|
options:
|
|
9
|
-
engine:
|
|
9
|
+
engine: codex
|
|
10
10
|
|
|
11
11
|
execution:
|
|
12
12
|
model:
|
|
13
13
|
primary:
|
|
14
|
-
provider:
|
|
15
|
-
name:
|
|
14
|
+
provider: openai
|
|
15
|
+
name: gpt-5.4-mini
|
|
16
16
|
auth:
|
|
17
|
-
method:
|
|
18
|
-
endpoint:
|
|
19
|
-
compatibility: openai
|
|
20
|
-
base_url: http://127.0.0.1:11434/v1
|
|
17
|
+
method: codex
|
|
21
18
|
sandbox:
|
|
22
19
|
mode: workspace
|
|
23
20
|
|
|
@@ -3,18 +3,18 @@ kind: agent
|
|
|
3
3
|
name: localist
|
|
4
4
|
description: "Pi agent configured for a local OpenAI-compatible model"
|
|
5
5
|
|
|
6
|
-
runtime:
|
|
6
|
+
runtime:
|
|
7
|
+
name: daimon
|
|
8
|
+
options:
|
|
9
|
+
engine: codex
|
|
7
10
|
|
|
8
11
|
execution:
|
|
9
12
|
model:
|
|
10
13
|
primary:
|
|
11
|
-
provider:
|
|
12
|
-
name:
|
|
14
|
+
provider: openai
|
|
15
|
+
name: gpt-5.4-mini
|
|
13
16
|
auth:
|
|
14
|
-
method:
|
|
15
|
-
endpoint:
|
|
16
|
-
compatibility: openai
|
|
17
|
-
base_url: http://host.docker.internal:11434/v1
|
|
17
|
+
method: codex
|
|
18
18
|
sandbox:
|
|
19
19
|
mode: workspace
|
|
20
20
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spawnfile",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"description": "Canonical source compiler for autonomous agents and teams.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"compile:explicit-test-mcp": "node --experimental-strip-types scripts/compile-explicit-test-mcp.ts",
|
|
21
|
-
"build": "rm -rf dist && tsc --project tsconfig.build.json && tsc --project tsconfig.training.build.json && chmod +x dist/cli/index.js && node --experimental-strip-types ./src/evidenceExportHelper/copyAssets.ts && node --experimental-strip-types ./src/runtime/copyScaffoldAssets.ts && node --experimental-strip-types ./src/deployment/native/copyArtifacts.ts && node --experimental-strip-types ./src/
|
|
21
|
+
"build": "rm -rf dist && tsc --project tsconfig.build.json && tsc --project tsconfig.training.build.json && chmod +x dist/cli/index.js && node --experimental-strip-types ./src/evidenceExportHelper/copyAssets.ts && node --experimental-strip-types ./src/runtime/copyScaffoldAssets.ts && node --experimental-strip-types ./src/deployment/native/copyArtifacts.ts && node --experimental-strip-types ./src/training/copyAssets.ts",
|
|
22
22
|
"build:native": "node --experimental-strip-types ./src/deployment/native/build.ts",
|
|
23
23
|
"clean": "rm -rf coverage dist",
|
|
24
24
|
"coverage": "vitest run --coverage",
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
"test:moltnet-source-provenance-docker": "node --experimental-strip-types --test scripts/moltnet-source-provenance.integration.test.ts",
|
|
44
44
|
"verify:package-closure": "node --experimental-strip-types ./scripts/verify-package-closure.ts",
|
|
45
45
|
"test:e2e:docker-auth": "tsx src/e2e/cli.ts",
|
|
46
|
-
"test:e2e:daimon-memory-recall": "tsx src/e2e/cli.ts daimon-memory-recall",
|
|
47
46
|
"test:e2e:jungian-self-org": "tsx src/e2e/cli.ts jungian-self-org",
|
|
48
47
|
"test:e2e:moltnet-team-chat": "tsx src/e2e/cli.ts moltnet-team-chat",
|
|
49
48
|
"test:e2e:moltnet-memetics": "tsx src/e2e/cli.ts moltnet-memetics",
|
|
@@ -55,19 +54,15 @@
|
|
|
55
54
|
"test:vitest": "rm -f coverage/vitest-results.json coverage/coverage-summary.json && vitest run --coverage.thresholds.branches=0 --coverage.thresholds.functions=0 --coverage.thresholds.lines=0 --coverage.thresholds.statements=0",
|
|
56
55
|
"test:verdict": "node -e \"const fs=require('fs'); const file='coverage/vitest-results.json'; if (!fs.existsSync(file)) { console.error('VERDICT: results file missing'); process.exit(1); } let result; try { result=JSON.parse(fs.readFileSync(file, 'utf8')); } catch { console.error('VERDICT: results file unparseable'); process.exit(1); } const total=result.numTotalTests; const totalSuites=result.numTotalTestSuites; const passedTests=result.numPassedTests; const failedTests=result.numFailedTests; const pendingTests=result.numPendingTests; const todoTests=result.numTodoTests; const failedSuites=result.numFailedTestSuites; if (typeof result.success !== 'boolean' || !Number.isInteger(passedTests) || passedTests < 0 || !Number.isInteger(failedTests) || failedTests < 0 || !Number.isInteger(pendingTests) || pendingTests < 0 || !Number.isInteger(todoTests) || todoTests < 0 || !Number.isInteger(failedSuites) || failedSuites < 0 || !Number.isInteger(totalSuites) || totalSuites < 0) { console.error('VERDICT: results schema unrecognised'); process.exit(1); } if (!Number.isInteger(total) || total <= 0) { console.error('VERDICT: no tests found'); process.exit(1); } if (passedTests + failedTests + pendingTests + todoTests !== total) { console.error('VERDICT: results counters do not reconcile (tests='+total+', passed='+passedTests+', failed='+failedTests+', skipped='+pendingTests+', todo='+todoTests+')'); process.exit(1); } const failed=result.success === false || failedTests > 0 || failedSuites > 0; if (failed) { console.error('VERDICT: test failures found (tests='+failedTests+', suites='+failedSuites+', success='+result.success+')'); process.exit(2); } if (passedTests === 0) { console.error('VERDICT: no tests actually ran (skipped='+pendingTests+', todo='+todoTests+')'); process.exit(1); } console.log('VERDICT: tests passed (tests='+total+', suites='+totalSuites+', passed='+passedTests+', skipped='+pendingTests+', todo='+todoTests+')');\"",
|
|
57
56
|
"test:coverage-verdict": "node --import tsx -e \"import fs from 'node:fs'; const file='coverage/coverage-summary.json'; const fail=(message)=>{ console.error('COVERAGE VERDICT: '+message); process.exit(1); }; let summary; try { summary=JSON.parse(fs.readFileSync(file, 'utf8')); } catch (error) { fail(error && error.code === 'ENOENT' ? 'summary file missing' : 'summary file unparseable'); } import('./vitest.config.ts').then(({default:config})=>{ const thresholds=config.test && config.test.coverage && config.test.coverage.thresholds; if (!thresholds || typeof thresholds !== 'object' || !summary || typeof summary !== 'object' || !summary.total || typeof summary.total !== 'object') fail('summary or threshold schema unrecognised'); const metricNames=['branches','functions','lines','statements']; const metrics=metricNames.filter((metric)=>Object.prototype.hasOwnProperty.call(thresholds, metric)); if (metrics.length === 0) fail('no threshold metrics configured'); let shortfall=false; for (const metric of metrics) { const threshold=thresholds[metric]; const pct=summary.total[metric] && summary.total[metric].pct; if (typeof threshold !== 'number' || !Number.isFinite(threshold) || typeof pct !== 'number' || !Number.isFinite(pct)) fail('missing or non-numeric value for '+metric); console.log('COVERAGE: '+metric+' '+pct+'% (threshold '+threshold+'%)'); if (pct < threshold) shortfall=true; } if (shortfall) { console.error('COVERAGE VERDICT: thresholds not met'); process.exit(2); } console.log('COVERAGE VERDICT: thresholds met'); }).catch((error)=>fail('could not load vitest config: '+error.message));\"",
|
|
58
|
-
"test:node": "mkdir -p coverage || exit 1; rm -f coverage/node-test.tap || exit 1; node --import tsx --test --test-reporter=tap src/runtime/pi/appControlDeliveryMetadata.test.ts > coverage/node-test.tap 2>&1; node_status=$?; cat coverage/node-test.tap; cat_status=$?; npm run test:node-verdict; verdict_status=$?; if [ \"$verdict_status\" -eq 2 ]; then exit 2; fi; if [ \"$verdict_status\" -ne 0 ]; then exit 1; fi; if [ \"$cat_status\" -ne 0 ]; then echo 'NODE VERDICT: could not read TAP output' >&2; exit 1; fi; if [ \"$node_status\" -ne 0 ]; then echo \"NODE VERDICT: node:test runner exited $node_status despite a passing TAP summary\" >&2; exit 1; fi; exit 0",
|
|
59
|
-
"test:node-verdict": "node -e \"const fs=require('fs'); const text=fs.readFileSync('coverage/node-test.tap', 'utf8'); const tests=text.match(/^# tests ([0-9]+)\\r?$/m); const suites=text.match(/^# suites ([0-9]+)\\r?$/m); const passed=text.match(/^# pass ([0-9]+)\\r?$/m); const failed=text.match(/^# fail ([0-9]+)\\r?$/m); const skipped=text.match(/^# skipped ([0-9]+)\\r?$/m); const todo=text.match(/^# todo ([0-9]+)\\r?$/m); const cancelled=text.match(/^# cancelled ([0-9]+)\\r?$/m); if (!tests || !suites || !passed || !failed || !skipped || !todo || !cancelled) { console.error('NODE VERDICT: TAP summary unrecognised'); process.exit(1); } const testCount=Number(tests[1]); const suiteCount=Number(suites[1]); const passCount=Number(passed[1]); const failCount=Number(failed[1]); const skippedCount=Number(skipped[1]); const todoCount=Number(todo[1]); const cancelledCount=Number(cancelled[1]); if (failCount > 0) { console.error('NODE VERDICT: test failures found (tests='+testCount+', failed='+failCount+')'); process.exit(2); } if (cancelledCount > 0) { console.error('NODE VERDICT: incomplete run (cancelled='+cancelledCount+')'); process.exit(1); } if (passCount + skippedCount + todoCount + cancelledCount !== testCount) { console.error('NODE VERDICT: TAP counts do not reconcile (tests='+testCount+', passed='+passCount+', skipped='+skippedCount+', todo='+todoCount+', cancelled='+cancelledCount+')'); process.exit(1); } if (testCount < 10) { console.error('NODE VERDICT: expected at least 10 node:test cases, found '+testCount+' — cases were removed or the file was gutted'); process.exit(1); } if (passCount < 10) { console.error('NODE VERDICT: expected at least 10 passing node:test cases, found '+passCount+' (skipped='+skippedCount+', todo='+todoCount+')'); process.exit(1); } if (suiteCount < 1) { console.error('NODE VERDICT: expected at least 1 node:test suite, found '+suiteCount); process.exit(1); } console.log('NODE VERDICT: tests passed (tests='+testCount+', suites='+suiteCount+', passed='+passCount+', skipped='+skippedCount+', todo='+todoCount+', failed=0)');\"",
|
|
60
|
-
"verify:training-image-modes": "tsx scripts/verify-training-image-modes.ts",
|
|
61
57
|
"test:product-state-volume": "node --experimental-strip-types scripts/product-state-volume-integration.test.ts",
|
|
62
58
|
"test:boundaries": "vitest run --coverage.enabled=false src/ownership/rootOwnershipBoundary.test.ts src/deployment/providerRuntimeBoundary.test.ts src/ownership/mnemePublicImportBoundary.test.ts src/target/containerBundleArchive.test.ts",
|
|
63
59
|
"test:causal-conformance": "tsx src/ledger/causalConformanceCli.ts",
|
|
64
60
|
"typecheck": "tsc --project tsconfig.json --noEmit && tsc --project scripts/tsconfig.json && tsc --project .github/scripts/ci/tsconfig.json && tsc --project tsconfig.training.json --noEmit",
|
|
65
61
|
"test:e2e:distribution-image": "tsx src/e2e/cli.ts distribution-image",
|
|
66
62
|
"test:e2e:distribution-roundtrip": "tsx src/e2e/cli.ts distribution-roundtrip",
|
|
67
|
-
"test:e2e:daimon-org": "tsx src/e2e/cli.ts daimon-org",
|
|
68
63
|
"test:live:grok-lean-worker": "node --experimental-strip-types ./scripts/grok-lean-worker-live-check.ts",
|
|
69
|
-
"test:scripts": "node --experimental-strip-types --test scripts/build-local-daimon-runtime.test.ts scripts/daimon-publish-inputs.test.ts scripts/daimon-image-contract.test.ts scripts/generate-daimon-engine-descriptors.test.ts scripts/runtime-image-workflows.test.ts scripts/grok-lean-worker-live-check.test.ts scripts/build-local-moltnet.test.ts scripts/compile-explicit-test-mcp.test.ts scripts/native-helper-workflows.test.ts scripts/typescript-policy.test.ts scripts/training-
|
|
70
|
-
"test:unit": "npm run test:vitest; vitest_status=$?; npm run test:verdict; verdict_status=$?; npm run test:coverage-verdict; coverage_status=$?;
|
|
64
|
+
"test:scripts": "node --experimental-strip-types --test scripts/build-local-daimon-runtime.test.ts scripts/daimon-publish-inputs.test.ts scripts/daimon-image-contract.test.ts scripts/generate-daimon-engine-descriptors.test.ts scripts/runtime-image-workflows.test.ts scripts/grok-lean-worker-live-check.test.ts scripts/build-local-moltnet.test.ts scripts/compile-explicit-test-mcp.test.ts scripts/native-helper-workflows.test.ts scripts/typescript-policy.test.ts scripts/training-public-exports.test.ts",
|
|
65
|
+
"test:unit": "npm run test:vitest; vitest_status=$?; npm run test:verdict; verdict_status=$?; npm run test:coverage-verdict; coverage_status=$?; failed_lanes=''; if [ \"$verdict_status\" -eq 2 ]; then failed_lanes='vitest test failures'; fi; result_status=0; if [ -n \"$failed_lanes\" ]; then echo \"FAIL(tests): $failed_lanes\"; result_status=1; fi; if [ \"$verdict_status\" -ne 0 ] && [ \"$verdict_status\" -ne 2 ]; then echo 'FAIL(vitest-verdict): could not determine the vitest result'; result_status=1; fi; if [ \"$result_status\" -ne 0 ]; then exit 1; elif [ \"$vitest_status\" -ne 0 ]; then echo \"FAIL(vitest): exited $vitest_status with no test failure\"; exit 1; elif [ \"$coverage_status\" -eq 2 ]; then echo 'FAIL(coverage): thresholds not met (tests all passed)'; exit 2; elif [ \"$coverage_status\" -ne 0 ]; then echo 'FAIL(coverage-verdict): could not evaluate coverage (tests all passed)'; exit 1; else echo 'PASS'; fi",
|
|
71
66
|
"test": "npm run test:unit && npm run test:scripts",
|
|
72
67
|
"test:training-python": "node --experimental-strip-types scripts/test-training-python.ts",
|
|
73
68
|
"vendor:daimon-engine-descriptors": "node --experimental-strip-types ./scripts/generate-daimon-engine-descriptors.ts"
|
|
@@ -112,10 +107,6 @@
|
|
|
112
107
|
"types": "./dist/training/public.d.ts",
|
|
113
108
|
"import": "./dist/training/public.js"
|
|
114
109
|
},
|
|
115
|
-
"./training/daimon": {
|
|
116
|
-
"types": "./dist/runtime/daimon/training/public.d.ts",
|
|
117
|
-
"import": "./dist/runtime/daimon/training/public.js"
|
|
118
|
-
},
|
|
119
110
|
"./training/cli": {
|
|
120
111
|
"types": "./dist/runtime/trainingPublic.d.ts",
|
|
121
112
|
"import": "./dist/runtime/trainingPublic.js"
|
package/runtimes.yaml
CHANGED
|
@@ -13,16 +13,16 @@
|
|
|
13
13
|
runtimes:
|
|
14
14
|
daimon:
|
|
15
15
|
remote: git@github.com:noopolis/daimon-harness.git
|
|
16
|
-
ref:
|
|
16
|
+
ref: c5337565df0b60151ae731b17878f784c13a9337
|
|
17
17
|
default_branch: main
|
|
18
18
|
install:
|
|
19
19
|
kind: container_image
|
|
20
20
|
image: noopolis/spawnfile-runtime-daimon
|
|
21
|
-
tag: 0.2.
|
|
22
|
-
digest: sha256:
|
|
21
|
+
tag: 0.2.16-c533756
|
|
22
|
+
digest: sha256:cec10f3e0b0547d352de0a61d7d2345efe66f8ece6bf6fe7e5178cee1465f239
|
|
23
23
|
capability_receipts:
|
|
24
|
-
amd64: sha256:
|
|
25
|
-
arm64: sha256:
|
|
24
|
+
amd64: sha256:effee312a6ad276d19176e11eb34eea20f3dcb823a0141117e00f81ef970a491
|
|
25
|
+
arm64: sha256:01a5c19684a2a61de82b7630cafe8085bee7164f53555e5a3680b9e11f657c6a
|
|
26
26
|
contract_manifest_sha256: sha256:85de96d75cf1e02e0e88bd6e1dcce39a125c1d5b97f1eb9c01911a0d5c3316e8
|
|
27
27
|
status: active
|
|
28
28
|
|
|
@@ -46,16 +46,6 @@ runtimes:
|
|
|
46
46
|
tag: 0.3.1
|
|
47
47
|
status: active
|
|
48
48
|
|
|
49
|
-
pi:
|
|
50
|
-
remote: git@github.com:earendil-works/pi.git
|
|
51
|
-
ref: v0.79.10
|
|
52
|
-
default_branch: main
|
|
53
|
-
install:
|
|
54
|
-
kind: npm
|
|
55
|
-
package: "@earendil-works/pi-coding-agent"
|
|
56
|
-
version: 0.79.10
|
|
57
|
-
status: active
|
|
58
|
-
|
|
59
49
|
hermes-agent:
|
|
60
50
|
remote: git@github.com:NousResearch/hermes-agent.git
|
|
61
51
|
ref: v2026.6.5
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { DaimonGrokRegistration } from "./containerDaimonGrokWorkerRender.js";
|
|
2
|
-
/** Exit without closing/unlinking the listener: the next process needs a socket inode, not a live peer. */
|
|
3
|
-
export declare const GROK_SOCKET_PLACEHOLDER_PROGRAM: string;
|
|
4
|
-
/** Lines inside the shared root program, after its canonical-path and ownership helpers. */
|
|
5
|
-
export declare const renderDaimonGrokTaskClockProvisioning: (registrations: readonly DaimonGrokRegistration[]) => string[];
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { DAIMON_GROK_ENGINE_BROKER } from "../runtime/daimon/contractManifest.js";
|
|
2
|
-
const broker = DAIMON_GROK_ENGINE_BROKER;
|
|
3
|
-
const clock = broker.worker.taskClock;
|
|
4
|
-
/** Exit without closing/unlinking the listener: the next process needs a socket inode, not a live peer. */
|
|
5
|
-
export const GROK_SOCKET_PLACEHOLDER_PROGRAM = [
|
|
6
|
-
"const fs = require('node:fs'), net = require('node:net');",
|
|
7
|
-
"const [file, uid, gid] = process.argv.slice(1);",
|
|
8
|
-
"const server = net.createServer(); server.on('error', (error) => { console.error(error.message); process.exit(1); });",
|
|
9
|
-
"server.listen(file, () => { fs.chmodSync(file, 0o600); fs.chownSync(file, Number(uid), Number(gid)); process.exit(0); });"
|
|
10
|
-
].join("\n");
|
|
11
|
-
/** Lines inside the shared root program, after its canonical-path and ownership helpers. */
|
|
12
|
-
export const renderDaimonGrokTaskClockProvisioning = (registrations) => {
|
|
13
|
-
if (!registrations.some((entry) => entry.configVariant === "clocked"))
|
|
14
|
-
return [];
|
|
15
|
-
return [
|
|
16
|
-
`const taskClock = ${JSON.stringify(clock)};`,
|
|
17
|
-
`const clocks = ${JSON.stringify(registrations.filter(entry => entry.configVariant === "clocked").map(entry => ({ directoryPath: clock.slotDirectoryPattern.replace("{slot}", String(entry.slot)), timestampFilePath: clock.slotFilePattern.replace("{slot}", String(entry.slot)) })))};`,
|
|
18
|
-
// All ancestors must stay searchable and non-writable by the worker, including the control root.
|
|
19
|
-
"for (const entry of grokWorkers) { for (let at = require('node:path').dirname(taskClock.rootDirectoryPath);; at = require('node:path').dirname(at)) { const info = assertCanonical(at, 'task clock ancestor'); const access = info.uid === entry.uid ? (info.mode >> 6) & 7 : info.gid === entry.uid ? (info.mode >> 3) & 7 : info.mode & 7; if (!info.isDirectory() || !(access & 1) || (access & 2)) throw new Error(`unsafe task clock ancestor: ${at}`); if (at === '/') break; } }",
|
|
20
|
-
"ensureDirectory(taskClock.rootDirectoryPath, 0, 0, taskClock.directoryMode); assertCanonical(taskClock.rootDirectoryPath, 'task clock root');",
|
|
21
|
-
"for (const current of clocks) { ensureDirectory(current.directoryPath, 0, 0, taskClock.directoryMode); assertCanonical(current.directoryPath, 'task clock');",
|
|
22
|
-
"ensureExactFile(current.timestampFilePath, '+0\\n', taskClock.fileMode); fs.chownSync(current.timestampFilePath, taskClock.ownerUid, taskClock.ownerUid);",
|
|
23
|
-
"withMode(current.directoryPath, taskClock.directoryMode, taskClock.ownerUid, taskClock.ownerUid); }",
|
|
24
|
-
// Startup attestation runs BEFORE the backend listens. All deny targets must already exist,
|
|
25
|
-
// and the backend only replaces a socket owned by its uid. Listeners unlink these real socket
|
|
26
|
-
// nodes in turn; readiness must prove replacement, never certify a placeholder as a listener.
|
|
27
|
-
`for (const socket of ${JSON.stringify([broker.controlSocketPath, broker.backendSocketPath, broker.launcherSocketPath])}) { require('node:child_process').execFileSync(process.execPath, ['-e', ${JSON.stringify(GROK_SOCKET_PLACEHOLDER_PROGRAM)}, socket, '${clock.ownerUid}', '${clock.ownerUid}'], { timeout: 5000, stdio: 'pipe' }); const info = fs.lstatSync(socket); if (!info.isSocket() || info.uid !== ${clock.ownerUid} || info.gid !== ${clock.ownerUid} || (info.mode & 0o7777) !== 0o600) throw new Error('unsafe broker socket placeholder'); }`
|
|
28
|
-
];
|
|
29
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ContainerPersistentMountReport } from "../report/index.js";
|
|
2
|
-
import type { CompiledNodeArtifact, RuntimeTargetPlan } from "./containerArtifactsTypes.js";
|
|
3
|
-
import type { CompilePlan } from "./types.js";
|
|
4
|
-
export interface DaimonTelemetryArtifactBundle {
|
|
5
|
-
/** One durable volume per legacy Pi agent, mounted onto its telemetry directory. */
|
|
6
|
-
mounts: ContainerPersistentMountReport[];
|
|
7
|
-
/** Runtime target plan id (e.g. "pi-app") -> { node id -> telemetry persistent mount id
|
|
8
|
-
* }, so `containerArtifacts.ts` can stamp `runtime_instances[].telemetry_mount_ids` and
|
|
9
|
-
* `artifactsExportPlan.ts`'s `planDaimonFiles` can resolve each agent's telemetry volume
|
|
10
|
-
* without re-deriving container paths of its own. */
|
|
11
|
-
telemetryMountIdsByInstance: Map<string, Record<string, string>>;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Registers one run-scoped durable volume per legacy Pi agent for its daimon turn/wake
|
|
15
|
-
* causal telemetry directory (`<instanceRoot>/runtime/agents/<slug>/telemetry` — the parent
|
|
16
|
-
* of `causal.jsonl`, see `appCoreSource.ts`'s `runtimeHomePath`/`instanceRoot`), mirroring
|
|
17
|
-
* exactly how `moltnetArtifacts.ts` mounts the Moltnet causal directory (Piece 4b,
|
|
18
|
-
* Decision 21: daimon inner-truth telemetry was container-local — `docker cp` only — until
|
|
19
|
-
* now). Daimon's own write path is untouched: this only makes the HOST side of that same
|
|
20
|
-
* directory a named volume, so `docker rm` no longer discards it.
|
|
21
|
-
*/
|
|
22
|
-
export declare const createDaimonTelemetryArtifacts: (plan: CompilePlan, runtimePlans: RuntimeTargetPlan[], compiledNodes: CompiledNodeArtifact[]) => DaimonTelemetryArtifactBundle;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import path from "node:path/posix";
|
|
2
|
-
import { resolveNoopolisRunId } from "../runtime/index.js";
|
|
3
|
-
import { createPersistentVolumeName } from "./moltnetArtifactPaths.js";
|
|
4
|
-
/** Only the legacy generated Pi application writes this telemetry layout. */
|
|
5
|
-
const PI_TELEMETRY_RUNTIME_NAMES = new Set(["pi"]);
|
|
6
|
-
const createTelemetryMountId = (agentSlug) => `agent-${agentSlug}-daimon-telemetry`;
|
|
7
|
-
/**
|
|
8
|
-
* Registers one run-scoped durable volume per legacy Pi agent for its daimon turn/wake
|
|
9
|
-
* causal telemetry directory (`<instanceRoot>/runtime/agents/<slug>/telemetry` — the parent
|
|
10
|
-
* of `causal.jsonl`, see `appCoreSource.ts`'s `runtimeHomePath`/`instanceRoot`), mirroring
|
|
11
|
-
* exactly how `moltnetArtifacts.ts` mounts the Moltnet causal directory (Piece 4b,
|
|
12
|
-
* Decision 21: daimon inner-truth telemetry was container-local — `docker cp` only — until
|
|
13
|
-
* now). Daimon's own write path is untouched: this only makes the HOST side of that same
|
|
14
|
-
* directory a named volume, so `docker rm` no longer discards it.
|
|
15
|
-
*/
|
|
16
|
-
export const createDaimonTelemetryArtifacts = (plan, runtimePlans, compiledNodes) => {
|
|
17
|
-
// Same run-scoping key as every other durable mount (see
|
|
18
|
-
// moltnetArtifactPaths.ts's createPersistentVolumeName doc comment): present for
|
|
19
|
-
// `spawnfile run`/`up` (which always call ensureNoopolisRunId() first), absent for a
|
|
20
|
-
// bare `spawnfile compile`/`build`, keeping those byte-identical to before this module
|
|
21
|
-
// existed.
|
|
22
|
-
const runId = resolveNoopolisRunId(process.env);
|
|
23
|
-
const agentSlugByNodeId = new Map(compiledNodes
|
|
24
|
-
.filter((node) => node.kind === "agent" && Boolean(node.id))
|
|
25
|
-
.map((node) => [node.id, node.slug]));
|
|
26
|
-
const mounts = [];
|
|
27
|
-
const telemetryMountIdsByInstance = new Map();
|
|
28
|
-
for (const runtimePlan of runtimePlans) {
|
|
29
|
-
if (!PI_TELEMETRY_RUNTIME_NAMES.has(runtimePlan.runtimeName) || !runtimePlan.instancePaths.homePath) {
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
const instanceRoot = runtimePlan.instancePaths.instanceRoot ?? path.dirname(runtimePlan.instancePaths.homePath);
|
|
33
|
-
const mountIdsByNodeId = {};
|
|
34
|
-
for (const nodeId of runtimePlan.sourceIds ?? []) {
|
|
35
|
-
const agentSlug = agentSlugByNodeId.get(nodeId);
|
|
36
|
-
if (!agentSlug) {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
const mountId = createTelemetryMountId(agentSlug);
|
|
40
|
-
mounts.push({
|
|
41
|
-
id: mountId,
|
|
42
|
-
mount_path: path.join(instanceRoot, "runtime", "agents", agentSlug, "telemetry"),
|
|
43
|
-
reason: `daimon turn/wake causal telemetry for ${agentSlug}`,
|
|
44
|
-
volume_name: createPersistentVolumeName(plan.root, mountId, runId)
|
|
45
|
-
});
|
|
46
|
-
mountIdsByNodeId[nodeId] = mountId;
|
|
47
|
-
}
|
|
48
|
-
if (Object.keys(mountIdsByNodeId).length > 0) {
|
|
49
|
-
telemetryMountIdsByInstance.set(runtimePlan.id, mountIdsByNodeId);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return {
|
|
53
|
-
mounts: mounts.sort((left, right) => left.id.localeCompare(right.id)),
|
|
54
|
-
telemetryMountIdsByInstance
|
|
55
|
-
};
|
|
56
|
-
};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/** Clock directories are public by contract; prove the sibling mask in the worker's mount namespace. */
|
|
2
|
-
export declare const probeTrainingSiblingClock: (slot: number, target: string, execute?: (command: string, args: string[], options: {
|
|
3
|
-
timeout: number;
|
|
4
|
-
}) => Promise<{
|
|
5
|
-
stdout: string;
|
|
6
|
-
}>) => Promise<boolean>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { execFile } from "node:child_process";
|
|
2
|
-
import { promisify } from "node:util";
|
|
3
|
-
import { SpawnfileError } from "../../../shared/index.js";
|
|
4
|
-
import { trainingSlotPaths } from "./paths.js";
|
|
5
|
-
const run = promisify(execFile);
|
|
6
|
-
const quote = (value) => `'${value.replace(/'/gu, `'"'"'`)}'`;
|
|
7
|
-
/** Clock directories are public by contract; prove the sibling mask in the worker's mount namespace. */
|
|
8
|
-
export const probeTrainingSiblingClock = async (slot, target, execute = run) => {
|
|
9
|
-
const p = trainingSlotPaths(slot);
|
|
10
|
-
const script = [
|
|
11
|
-
'set -eu',
|
|
12
|
-
`cat ${quote(p.clockFile)} >/dev/null`,
|
|
13
|
-
// Use the same mode-000 directory bind as Grok's deny mounts. Neither an unavailable
|
|
14
|
-
// namespace nor a hidden own clock is a successful denial.
|
|
15
|
-
`blocked=$(mktemp -d ${quote(`${p.privateTmp}/clock-probe.XXXXXX`)})`,
|
|
16
|
-
'trap \'chmod 700 "$blocked"; rmdir "$blocked"\' EXIT',
|
|
17
|
-
'chmod 000 "$blocked"',
|
|
18
|
-
`bwrap --die-with-parent --cap-drop ALL --ro-bind / / --dev /dev --ro-bind "$blocked" ${quote(target)} -- /bin/sh -ceu ${quote(`cat ${quote(p.clockFile)} >/dev/null; if ls -A ${quote(target)} >/dev/null 2>&1; then echo reachable; else echo denied; fi`)}`
|
|
19
|
-
].join("\n");
|
|
20
|
-
const result = await execute("setpriv", ["--clear-groups", `--reuid=${p.workerUid}`, `--regid=${p.workerUid}`,
|
|
21
|
-
"--inh-caps=-all", "--ambient-caps=-all", "--bounding-set=-all", "--", "/bin/sh", "-ceu", script], { timeout: 10_000 });
|
|
22
|
-
if (result.stdout.trim() === "denied")
|
|
23
|
-
return true;
|
|
24
|
-
if (result.stdout.trim() === "reachable")
|
|
25
|
-
return false;
|
|
26
|
-
throw new SpawnfileError("runtime_error", "Training clock canary returned no verified verdict");
|
|
27
|
-
};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* `spawnfile.training-broker.v2`: the only thing the host tells the
|
|
4
|
-
* broker-capable training container about its slot. It is data, never code —
|
|
5
|
-
* the image's own Spawnfile distribution renders the provisioning from it with
|
|
6
|
-
* the same renderers production uses, so no host-written executable is ever
|
|
7
|
-
* mounted (`../container/AGENTS.md`).
|
|
8
|
-
*
|
|
9
|
-
* It carries no credentials: the training Grok login reaches the container only
|
|
10
|
-
* as the read-only bootstrap leaf bind, and the rotating credential lives on
|
|
11
|
-
* the named realm volume.
|
|
12
|
-
*/
|
|
13
|
-
export declare const trainingBrokerDeclarationSchema: z.ZodObject<{
|
|
14
|
-
version: z.ZodLiteral<"spawnfile.training-broker.v2">;
|
|
15
|
-
maxRunRequests: z.ZodDefault<z.ZodNumber>;
|
|
16
|
-
slots: z.ZodDefault<z.ZodNumber>;
|
|
17
|
-
engine: z.ZodLiteral<"grok">;
|
|
18
|
-
agentId: z.ZodString;
|
|
19
|
-
model: z.ZodEnum<{
|
|
20
|
-
"grok-4.6": "grok-4.6";
|
|
21
|
-
"grok-4.5": "grok-4.5";
|
|
22
|
-
"grok-build": "grok-build";
|
|
23
|
-
}>;
|
|
24
|
-
reasoningEffort: z.ZodEnum<{
|
|
25
|
-
low: "low";
|
|
26
|
-
medium: "medium";
|
|
27
|
-
high: "high";
|
|
28
|
-
}>;
|
|
29
|
-
architecture: z.ZodEnum<{
|
|
30
|
-
arm64: "arm64";
|
|
31
|
-
x64: "x64";
|
|
32
|
-
}>;
|
|
33
|
-
limits: z.ZodObject<{
|
|
34
|
-
maxRequests: z.ZodNumber;
|
|
35
|
-
maxTokens: z.ZodNumber;
|
|
36
|
-
timeoutMs: z.ZodNumber;
|
|
37
|
-
}, z.core.$strict>;
|
|
38
|
-
bootstrap: z.ZodString;
|
|
39
|
-
organizationUid: z.ZodLiteral<2000>;
|
|
40
|
-
seccompProfileSha256: z.ZodString;
|
|
41
|
-
unenforcedBindPolicy: z.ZodDefault<z.ZodEnum<{
|
|
42
|
-
refuse: "refuse";
|
|
43
|
-
"profile-only": "profile-only";
|
|
44
|
-
}>>;
|
|
45
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
46
|
-
name: z.ZodString;
|
|
47
|
-
files: z.ZodArray<z.ZodObject<{
|
|
48
|
-
path: z.ZodString;
|
|
49
|
-
content: z.ZodString;
|
|
50
|
-
}, z.core.$strict>>;
|
|
51
|
-
}, z.core.$strict>>>;
|
|
52
|
-
}, z.core.$strict>;
|
|
53
|
-
export type TrainingBrokerDeclaration = z.infer<typeof trainingBrokerDeclarationSchema>;
|
|
54
|
-
export declare const parseTrainingBrokerDeclaration: (value: unknown) => TrainingBrokerDeclaration;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { DAIMON_BROKER_ENGINE_ID } from "../../../runtime/daimon/index.js";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { z } from "zod";
|
|
4
|
-
import { DAIMON_GROK_BROKER_MODELS, DAIMON_GROK_BROKER_REASONING_EFFORTS, DAIMON_GROK_ENGINE_BROKER } from "../../../runtime/daimon/contractManifest.js";
|
|
5
|
-
const canonical = z.string().min(2).max(4_096).refine((value) => path.posix.isAbsolute(value) && path.posix.normalize(value) === value && !value.endsWith("/") && !value.includes("\0"), "canonical absolute path");
|
|
6
|
-
/**
|
|
7
|
-
* `spawnfile.training-broker.v2`: the only thing the host tells the
|
|
8
|
-
* broker-capable training container about its slot. It is data, never code —
|
|
9
|
-
* the image's own Spawnfile distribution renders the provisioning from it with
|
|
10
|
-
* the same renderers production uses, so no host-written executable is ever
|
|
11
|
-
* mounted (`../container/AGENTS.md`).
|
|
12
|
-
*
|
|
13
|
-
* It carries no credentials: the training Grok login reaches the container only
|
|
14
|
-
* as the read-only bootstrap leaf bind, and the rotating credential lives on
|
|
15
|
-
* the named realm volume.
|
|
16
|
-
*/
|
|
17
|
-
export const trainingBrokerDeclarationSchema = z.strictObject({
|
|
18
|
-
version: z.literal("spawnfile.training-broker.v2"),
|
|
19
|
-
maxRunRequests: z.number().int().positive().max(Number.MAX_SAFE_INTEGER).default(1000),
|
|
20
|
-
slots: z.number().int().min(1).max(8).default(4),
|
|
21
|
-
engine: z.literal(DAIMON_BROKER_ENGINE_ID),
|
|
22
|
-
agentId: z.string().min(1).max(128).regex(/^[A-Za-z0-9][A-Za-z0-9._:-]*$/u),
|
|
23
|
-
model: z.enum(DAIMON_GROK_BROKER_MODELS),
|
|
24
|
-
reasoningEffort: z.enum(DAIMON_GROK_BROKER_REASONING_EFFORTS),
|
|
25
|
-
architecture: z.enum(["arm64", "x64"]),
|
|
26
|
-
limits: z.strictObject({
|
|
27
|
-
maxRequests: z.number().int().min(DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds.maxRequests[0]).max(DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds.maxRequests[1]),
|
|
28
|
-
maxTokens: z.number().int().min(DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds.maxTokens[0]).max(DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds.maxTokens[1]),
|
|
29
|
-
timeoutMs: z.number().int().min(DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds.timeoutMs[0]).max(DAIMON_GROK_ENGINE_BROKER.turnLimits.bounds.timeoutMs[1])
|
|
30
|
-
}),
|
|
31
|
-
/** The read-only bootstrap credential leaf, already refused if it is the desktop `~/.grok/auth.json`. */
|
|
32
|
-
bootstrap: canonical,
|
|
33
|
-
/** The uid the trained evaluator (Training, DSPy, judges) runs as; the only uid the slot supervisor serves. */
|
|
34
|
-
organizationUid: z.literal(DAIMON_GROK_ENGINE_BROKER.identities.organizationUid),
|
|
35
|
-
seccompProfileSha256: z.string().regex(/^[a-f0-9]{64}$/u),
|
|
36
|
-
/**
|
|
37
|
-
* What the slot supervisor does with a deny path whose backing filesystem
|
|
38
|
-
* does not enforce unix ownership — virtiofs and grpcfuse under Docker
|
|
39
|
-
* Desktop and Colima, where `chown` is silently ignored and uid 2200 reads a
|
|
40
|
-
* root `0600` file (P0 §5). The backing filesystem decides, not the fact of
|
|
41
|
-
* being a host bind: the same bind over ext4 or overlay on a Linux daemon is
|
|
42
|
-
* probed for real, which is what makes `refuse` a default a run can meet.
|
|
43
|
-
*
|
|
44
|
-
* `refuse` (the default) fails the slot and writes no receipt: a worker-uid
|
|
45
|
-
* probe over such a path carries no information, so the supervisor will not
|
|
46
|
-
* certify it. `profile-only` is the operator's explicit acceptance that for
|
|
47
|
-
* those paths the boundary is the bubblewrap-enforced `deny` list alone —
|
|
48
|
-
* verified to block both shell `cat` and `read_file` on 1.0.34 (P0 §4), but
|
|
49
|
-
* *not* a boundary a worker-uid namespace cannot lift — and the supervisor
|
|
50
|
-
* records every path that used that weaker evidence in its log.
|
|
51
|
-
*
|
|
52
|
-
* It does not reach `TRAINING_SEALED_DENY_PATHS`. The sealed train and test
|
|
53
|
-
* datasets are held by DAC on their ancestor under both values, and a slot
|
|
54
|
-
* that cannot prove that denial is refused whatever this says.
|
|
55
|
-
*/
|
|
56
|
-
unenforcedBindPolicy: z.enum(["refuse", "profile-only"]).default("refuse"),
|
|
57
|
-
/**
|
|
58
|
-
* The subject's declared skills in Daimon's engine-neutral form (the
|
|
59
|
-
* compiled `.agents/skills` tree), omitted when it declares none. Root
|
|
60
|
-
* provisioning renders them into every slot's `$GROK_HOME/skills`, and the
|
|
61
|
-
* entrypoint, supervisor and lease all resolve the projection from this one
|
|
62
|
-
* read-only input, so they bind the same `skillsSha256`. Daimon's own parser
|
|
63
|
-
* (mirrored in `runtime/daimon/grokWorkerSkills.ts`) enforces the bounds.
|
|
64
|
-
*/
|
|
65
|
-
skills: z.array(z.strictObject({
|
|
66
|
-
name: z.string().min(1).max(128),
|
|
67
|
-
files: z.array(z.strictObject({ path: z.string().min(1).max(1_024), content: z.string() })).min(1).max(64)
|
|
68
|
-
})).min(1).max(64).optional()
|
|
69
|
-
}).strict();
|
|
70
|
-
export const parseTrainingBrokerDeclaration = (value) => trainingBrokerDeclarationSchema.parse(value);
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { type DaimonProjectionModule } from "./projection.js";
|
|
2
|
-
export declare const TRAINING_GROK_BROKER_CONTROL_SOCKET_ENV = "SPAWNFILE_TRAINING_GROK_BROKER_CONTROL_SOCKET";
|
|
3
|
-
export declare const TRAINING_GROK_GRANT_HOME_ROOT_ENV = "SPAWNFILE_TRAINING_GROK_GRANT_HOME_ROOT";
|
|
4
|
-
export declare const TRAINING_ENTRYPOINT_COMMAND = "/opt/training/bin/train";
|
|
5
|
-
/**
|
|
6
|
-
* The desktop Grok login, in every spelling a caller might reach it by.
|
|
7
|
-
*
|
|
8
|
-
* D2 is explicit: training uses one dedicated Grok login and never the
|
|
9
|
-
* developer's own. An in-container refresh rotates the credential, so mounting
|
|
10
|
-
* the desktop leaf would invalidate the developer's desktop session as a side
|
|
11
|
-
* effect of a training run — and the refreshed token would live on tmpfs, so
|
|
12
|
-
* the desktop login would be gone rather than moved.
|
|
13
|
-
*/
|
|
14
|
-
export declare const desktopGrokAuthPaths: (home?: string) => string[];
|
|
15
|
-
export declare const assertNotDesktopGrokAuth: (source: string, home?: string) => string;
|
|
16
|
-
export interface TrainingEntrypointOptions {
|
|
17
|
-
argv: readonly string[];
|
|
18
|
-
declarationPath?: string;
|
|
19
|
-
loadDaimon?: () => Promise<DaimonProjectionModule>;
|
|
20
|
-
log?: (line: string) => void;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* The broker-capable training container's root entrypoint.
|
|
24
|
-
*
|
|
25
|
-
* Order matters and is the whole privilege model: provision as root with the
|
|
26
|
-
* production capability set, start the launcher (root) and the broker and
|
|
27
|
-
* relay (2100) and prove each one's post-drop identity, publish the slot
|
|
28
|
-
* supervisor socket, and only then drop to uid 2000 with an empty capability
|
|
29
|
-
* bounding set to run `train`. The training core, DSPy and the judges are that uid; the
|
|
30
|
-
* model's own tools are the worker uid the launcher alone can reach.
|
|
31
|
-
*/
|
|
32
|
-
export declare const runTrainingBrokerEntrypoint: (options: TrainingEntrypointOptions) => Promise<number>;
|
|
33
|
-
/**
|
|
34
|
-
* `train` as uid 2000 with an empty bounding set, proven inside the child
|
|
35
|
-
* before it execs: `setpriv --bounding-set=-all` silently does nothing without
|
|
36
|
-
* `CAP_SETPCAP`, so the guard has to read `/proc/self/status` rather than
|
|
37
|
-
* trust the flag.
|
|
38
|
-
*/
|
|
39
|
-
export declare const trainingChildArgv: (argv: readonly string[], uid?: number) => string[];
|