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
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function recordNativeStartupClosure(error: unknown, confirmed: boolean): unknown;
|
|
2
|
-
export declare const nativeStartupClosureConfirmed: (error: unknown) => boolean;
|
|
3
|
-
/** Serializes complete native hosts on one persistent subscription account.
|
|
4
|
-
* The non-secret SQLite inode is never unlinked: the kernel releases ownership
|
|
5
|
-
* on process death, while cancelling a waiter leaves the active owner intact.
|
|
6
|
-
*/
|
|
7
|
-
export declare function acquireNativeAccountLease(root: string, signal?: AbortSignal, maxWaitMs?: number): Promise<() => void>;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { closeSync, constants, openSync } from 'node:fs';
|
|
2
|
-
import { lstat, realpath } from 'node:fs/promises';
|
|
3
|
-
import { join, resolve } from 'node:path';
|
|
4
|
-
import { setTimeout as pause } from 'node:timers/promises';
|
|
5
|
-
const closedStartups = new WeakSet();
|
|
6
|
-
// An unconfirmed native shutdown fences the account until this container exits.
|
|
7
|
-
// Keep ownership strongly reachable; GC must never silently release that fence.
|
|
8
|
-
const activeLeases = new Set();
|
|
9
|
-
export function recordNativeStartupClosure(error, confirmed) {
|
|
10
|
-
if (!confirmed)
|
|
11
|
-
return error;
|
|
12
|
-
const failure = error !== null && typeof error === 'object' ? error : new Error('Native startup failed', { cause: error });
|
|
13
|
-
closedStartups.add(failure);
|
|
14
|
-
return failure;
|
|
15
|
-
}
|
|
16
|
-
export const nativeStartupClosureConfirmed = (error) => error !== null && typeof error === 'object' && closedStartups.has(error);
|
|
17
|
-
/** Serializes complete native hosts on one persistent subscription account.
|
|
18
|
-
* The non-secret SQLite inode is never unlinked: the kernel releases ownership
|
|
19
|
-
* on process death, while cancelling a waiter leaves the active owner intact.
|
|
20
|
-
*/
|
|
21
|
-
export async function acquireNativeAccountLease(root, signal, maxWaitMs = 30 * 60_000) {
|
|
22
|
-
signal?.throwIfAborted();
|
|
23
|
-
if (!Number.isFinite(maxWaitMs) || maxWaitMs < 0)
|
|
24
|
-
throw new Error('Invalid native account wait bound');
|
|
25
|
-
const directory = await lstat(root);
|
|
26
|
-
if (await realpath(root) !== resolve(root) || !directory.isDirectory() || directory.uid !== process.getuid?.()
|
|
27
|
-
|| (directory.mode & 0o777) !== 0o700)
|
|
28
|
-
throw new Error('Unsafe native account directory');
|
|
29
|
-
const file = join(root, '.training-host.sqlite');
|
|
30
|
-
// Do not open/close an existing inode: that could drop another POSIX lock
|
|
31
|
-
// held in this process. SQLite coordinates all existing-inode descriptors.
|
|
32
|
-
try {
|
|
33
|
-
closeSync(openSync(file, constants.O_CREAT | constants.O_EXCL | constants.O_WRONLY | constants.O_NOFOLLOW, 0o600));
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
if (error.code !== 'EEXIST')
|
|
37
|
-
throw error;
|
|
38
|
-
}
|
|
39
|
-
const entry = await lstat(file);
|
|
40
|
-
if (!entry.isFile() || entry.isSymbolicLink() || entry.nlink !== 1 || entry.uid !== process.getuid?.()
|
|
41
|
-
|| (entry.mode & 0o777) !== 0o600)
|
|
42
|
-
throw new Error('Unsafe native account lease');
|
|
43
|
-
const { DatabaseSync } = await import('node:sqlite');
|
|
44
|
-
const database = new DatabaseSync(file);
|
|
45
|
-
const deadline = performance.now() + maxWaitMs;
|
|
46
|
-
try {
|
|
47
|
-
database.exec('PRAGMA busy_timeout = 0');
|
|
48
|
-
for (;;) {
|
|
49
|
-
signal?.throwIfAborted();
|
|
50
|
-
try {
|
|
51
|
-
database.exec('BEGIN EXCLUSIVE');
|
|
52
|
-
let closed = false;
|
|
53
|
-
const close = () => { if (!closed) {
|
|
54
|
-
closed = true;
|
|
55
|
-
database.close();
|
|
56
|
-
activeLeases.delete(close);
|
|
57
|
-
} };
|
|
58
|
-
activeLeases.add(close);
|
|
59
|
-
return close;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
if (error.errcode !== 5)
|
|
63
|
-
throw error;
|
|
64
|
-
const remaining = deadline - performance.now();
|
|
65
|
-
if (remaining <= 0)
|
|
66
|
-
throw new Error('Native account admission exceeded its wait bound', { cause: error });
|
|
67
|
-
await pause(Math.min(25, remaining), undefined, { signal });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
database.close();
|
|
73
|
-
throw error;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=account-lease.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"account-lease.js","sourceRoot":"","sources":["../../../../../src/runtime/daimon/training/services/account-lease.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type GrokSlotFreshnessOptions, type GrokSlotFreshnessStore } from './slot-freshness.js';
|
|
2
|
-
/** The experiment-state file holding every slot's recycle generation floor and pending nonce. */
|
|
3
|
-
export declare const experimentSlotFreshnessFile = "grok-slot-freshness.json";
|
|
4
|
-
/**
|
|
5
|
-
* The one Training-owned slot freshness store for an experiment.
|
|
6
|
-
*
|
|
7
|
-
* The experiment runner creates it inside its own durable state root and passes
|
|
8
|
-
* the same store to subject preparation (`prepareNativeSubject` mints from it)
|
|
9
|
-
* and to `NativeChildExecution.grokSlots` (the child accepts the verified slot
|
|
10
|
-
* receipt into it), so integrations never configure a freshness file. Living
|
|
11
|
-
* beside the run's other state, it survives resume and container replacement,
|
|
12
|
-
* which is what keeps a generation floor from ever moving backwards. Nothing is
|
|
13
|
-
* written until a broker slot first requests a nonce.
|
|
14
|
-
*/
|
|
15
|
-
export declare function createExperimentSlotFreshness(stateRoot: string, options?: GrokSlotFreshnessOptions): GrokSlotFreshnessStore;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { createGrokSlotFreshnessStore } from './slot-freshness.js';
|
|
3
|
-
/** The experiment-state file holding every slot's recycle generation floor and pending nonce. */
|
|
4
|
-
export const experimentSlotFreshnessFile = 'grok-slot-freshness.json';
|
|
5
|
-
/**
|
|
6
|
-
* The one Training-owned slot freshness store for an experiment.
|
|
7
|
-
*
|
|
8
|
-
* The experiment runner creates it inside its own durable state root and passes
|
|
9
|
-
* the same store to subject preparation (`prepareNativeSubject` mints from it)
|
|
10
|
-
* and to `NativeChildExecution.grokSlots` (the child accepts the verified slot
|
|
11
|
-
* receipt into it), so integrations never configure a freshness file. Living
|
|
12
|
-
* beside the run's other state, it survives resume and container replacement,
|
|
13
|
-
* which is what keeps a generation floor from ever moving backwards. Nothing is
|
|
14
|
-
* written until a broker slot first requests a nonce.
|
|
15
|
-
*/
|
|
16
|
-
export function createExperimentSlotFreshness(stateRoot, options) {
|
|
17
|
-
return createGrokSlotFreshnessStore(join(stateRoot, experimentSlotFreshnessFile), options);
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=freshness.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"freshness.js","sourceRoot":"","sources":["../../../../../src/runtime/daimon/training/services/freshness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,4BAA4B,EAA8D,MAAM,qBAAqB,CAAC;AAE/H,iGAAiG;AACjG,MAAM,CAAC,MAAM,2BAA2B,GAAG,0BAA0B,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAiB,EAAE,OAAkC;IACjG,OAAO,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,2BAA2B,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { createExperimentSlotFreshness, experimentSlotFreshnessFile } from './freshness.js';
|
|
2
|
-
export { createGrokSlotFreshnessStore, assertNoFloorRollback } from './slot-freshness.js';
|
|
3
|
-
export type { GrokSlotFreshness, GrokSlotFreshnessOptions, GrokSlotFreshnessStore } from './slot-freshness.js';
|
|
4
|
-
export { acquireNativeAccountLease, recordNativeStartupClosure, nativeStartupClosureConfirmed } from './account-lease.js';
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { createExperimentSlotFreshness, experimentSlotFreshnessFile } from './freshness.js';
|
|
2
|
-
export { createGrokSlotFreshnessStore, assertNoFloorRollback } from './slot-freshness.js';
|
|
3
|
-
export { acquireNativeAccountLease, recordNativeStartupClosure, nativeStartupClosureConfirmed } from './account-lease.js';
|
|
4
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/runtime/daimon/training/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export interface GrokSlotFreshness {
|
|
2
|
-
expectedNonce: string;
|
|
3
|
-
minGeneration: number;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Evaluator-owned slot recycle freshness, persisted in the caller's experiment state.
|
|
7
|
-
* `request` mints this trial's recycle nonce and the generation floor to write into
|
|
8
|
-
* launch.v2 `broker`; `accept` records a verified receipt so it can never be replayed.
|
|
9
|
-
*/
|
|
10
|
-
export interface GrokSlotFreshnessStore {
|
|
11
|
-
request(slot: number): Promise<GrokSlotFreshness>;
|
|
12
|
-
accept(slot: number, receipt: {
|
|
13
|
-
nonce: string;
|
|
14
|
-
generation: number;
|
|
15
|
-
}): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
export interface GrokSlotFreshnessOptions {
|
|
18
|
-
lockTimeoutMs?: number;
|
|
19
|
-
}
|
|
20
|
-
interface FreshnessFloors {
|
|
21
|
-
slots: Record<string, {
|
|
22
|
-
lastGeneration: number;
|
|
23
|
-
}>;
|
|
24
|
-
}
|
|
25
|
-
/** Compare-and-swap guard: a write may never lower any slot's generation floor already on disk. */
|
|
26
|
-
export declare function assertNoFloorRollback(disk: FreshnessFloors, next: FreshnessFloors): void;
|
|
27
|
-
/**
|
|
28
|
-
* Every operation re-reads the file under an exclusive O_EXCL lockfile shared by all
|
|
29
|
-
* store instances and processes, then compare-and-swaps: no slot's generation floor on
|
|
30
|
-
* disk is ever lowered. A lock whose owner process is gone (same PID namespace) is
|
|
31
|
-
* reclaimed; a live owner is waited for until the lock deadline.
|
|
32
|
-
*/
|
|
33
|
-
export declare function createGrokSlotFreshnessStore(file: string, options?: GrokSlotFreshnessOptions): GrokSlotFreshnessStore;
|
|
34
|
-
export {};
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { compatibleWireLiteral } from '../../../../training/index.js';
|
|
2
|
-
import { randomBytes, randomUUID } from 'node:crypto';
|
|
3
|
-
import { constants } from 'node:fs';
|
|
4
|
-
import { lstat, open, readFile, rename, unlink } from 'node:fs/promises';
|
|
5
|
-
import { dirname, isAbsolute } from 'node:path';
|
|
6
|
-
import { setTimeout as pause } from 'node:timers/promises';
|
|
7
|
-
import { z } from 'zod';
|
|
8
|
-
const schema = 'spawnfile.training.daimon-native.grok-slot-freshness.v1';
|
|
9
|
-
const nonce = z.string().regex(/^[a-f0-9]{64}$/u);
|
|
10
|
-
const stateSchema = z.strictObject({ schema: compatibleWireLiteral(schema),
|
|
11
|
-
slots: z.record(z.string().regex(/^(?:0|[1-9][0-9]{0,15})$/u), z.strictObject({ lastGeneration: z.number().int().min(0).max(Number.MAX_SAFE_INTEGER), pendingNonce: nonce.optional() })) });
|
|
12
|
-
const lockSchema = z.strictObject({ pid: z.number().int().positive(), token: z.string().min(1) });
|
|
13
|
-
/** Compare-and-swap guard: a write may never lower any slot's generation floor already on disk. */
|
|
14
|
-
export function assertNoFloorRollback(disk, next) {
|
|
15
|
-
for (const [slot, entry] of Object.entries(disk.slots)) {
|
|
16
|
-
if ((next.slots[slot]?.lastGeneration ?? -1) < entry.lastGeneration)
|
|
17
|
-
throw new Error('Grok slot freshness state refuses to lower a generation floor');
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
const noFollowRead = constants.O_RDONLY | constants.O_NOFOLLOW;
|
|
21
|
-
const exclusiveCreate = constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | constants.O_NOFOLLOW;
|
|
22
|
-
const alive = (pid) => {
|
|
23
|
-
try {
|
|
24
|
-
process.kill(pid, 0);
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
return error.code === 'EPERM';
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Every operation re-reads the file under an exclusive O_EXCL lockfile shared by all
|
|
33
|
-
* store instances and processes, then compare-and-swaps: no slot's generation floor on
|
|
34
|
-
* disk is ever lowered. A lock whose owner process is gone (same PID namespace) is
|
|
35
|
-
* reclaimed; a live owner is waited for until the lock deadline.
|
|
36
|
-
*/
|
|
37
|
-
export function createGrokSlotFreshnessStore(file, options = {}) {
|
|
38
|
-
if (!isAbsolute(file))
|
|
39
|
-
throw new Error('Grok slot freshness state requires an absolute experiment-state path');
|
|
40
|
-
const lockTimeoutMs = options.lockTimeoutMs ?? 10_000;
|
|
41
|
-
const lockFile = `${file}.lock`;
|
|
42
|
-
const key = (slot) => {
|
|
43
|
-
if (!Number.isSafeInteger(slot) || slot < 0)
|
|
44
|
-
throw new Error('Invalid Grok broker slot');
|
|
45
|
-
return String(slot);
|
|
46
|
-
};
|
|
47
|
-
const refuseLink = async (path) => {
|
|
48
|
-
try {
|
|
49
|
-
const entry = await lstat(path);
|
|
50
|
-
if (!entry.isFile() || entry.isSymbolicLink() || entry.nlink !== 1)
|
|
51
|
-
throw new Error('Grok slot freshness state must be a private regular file, never a symlink');
|
|
52
|
-
return true;
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
if (error.code === 'ENOENT')
|
|
56
|
-
return false;
|
|
57
|
-
throw error;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const load = async () => {
|
|
61
|
-
if (!await refuseLink(file))
|
|
62
|
-
return { schema, slots: {} };
|
|
63
|
-
const handle = await open(file, noFollowRead);
|
|
64
|
-
try {
|
|
65
|
-
return stateSchema.parse(JSON.parse(await handle.readFile('utf8')));
|
|
66
|
-
}
|
|
67
|
-
finally {
|
|
68
|
-
await handle.close();
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
const save = async (state) => {
|
|
72
|
-
const temporary = `${file}.${randomUUID()}.tmp`;
|
|
73
|
-
const handle = await open(temporary, exclusiveCreate, 0o600);
|
|
74
|
-
try {
|
|
75
|
-
await handle.writeFile(`${JSON.stringify(state)}\n`);
|
|
76
|
-
await handle.sync();
|
|
77
|
-
}
|
|
78
|
-
finally {
|
|
79
|
-
await handle.close();
|
|
80
|
-
}
|
|
81
|
-
await refuseLink(file);
|
|
82
|
-
await rename(temporary, file);
|
|
83
|
-
const directory = await open(dirname(file), 'r');
|
|
84
|
-
try {
|
|
85
|
-
await directory.sync();
|
|
86
|
-
}
|
|
87
|
-
finally {
|
|
88
|
-
await directory.close();
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
const acquire = async () => {
|
|
92
|
-
const token = randomUUID();
|
|
93
|
-
const deadline = Date.now() + lockTimeoutMs;
|
|
94
|
-
for (let delay = 5;; delay = Math.min(delay * 2, 100)) {
|
|
95
|
-
try {
|
|
96
|
-
const handle = await open(lockFile, exclusiveCreate, 0o600);
|
|
97
|
-
try {
|
|
98
|
-
await handle.writeFile(JSON.stringify({ pid: process.pid, token }));
|
|
99
|
-
await handle.sync();
|
|
100
|
-
}
|
|
101
|
-
finally {
|
|
102
|
-
await handle.close();
|
|
103
|
-
}
|
|
104
|
-
return token;
|
|
105
|
-
}
|
|
106
|
-
catch (error) {
|
|
107
|
-
if (error.code !== 'EEXIST')
|
|
108
|
-
throw error;
|
|
109
|
-
}
|
|
110
|
-
let owner;
|
|
111
|
-
try {
|
|
112
|
-
owner = lockSchema.parse(JSON.parse(await readFile(lockFile, 'utf8')));
|
|
113
|
-
}
|
|
114
|
-
catch {
|
|
115
|
-
owner = undefined;
|
|
116
|
-
}
|
|
117
|
-
if (owner && !alive(owner.pid)) {
|
|
118
|
-
// Reclaim only the exact dead owner's lock: move it aside, then confirm it is still that owner.
|
|
119
|
-
const aside = `${lockFile}.${randomUUID()}.stale`;
|
|
120
|
-
try {
|
|
121
|
-
await rename(lockFile, aside);
|
|
122
|
-
const moved = lockSchema.safeParse(JSON.parse(await readFile(aside, 'utf8')));
|
|
123
|
-
if (moved.success && moved.data.token === owner.token) {
|
|
124
|
-
await unlink(aside);
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
|
-
await rename(aside, lockFile);
|
|
128
|
-
}
|
|
129
|
-
catch { /* another reclaimer won; retry acquisition */ }
|
|
130
|
-
}
|
|
131
|
-
if (Date.now() >= deadline)
|
|
132
|
-
throw new Error('Grok slot freshness state lock is held by another live evaluator');
|
|
133
|
-
await pause(delay);
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
const release = async (token) => {
|
|
137
|
-
const held = lockSchema.safeParse(JSON.parse(await readFile(lockFile, 'utf8')));
|
|
138
|
-
if (held.success && held.data.token === token)
|
|
139
|
-
await unlink(lockFile);
|
|
140
|
-
};
|
|
141
|
-
const transaction = async (mutate) => {
|
|
142
|
-
const token = await acquire();
|
|
143
|
-
try {
|
|
144
|
-
const disk = await load();
|
|
145
|
-
const next = structuredClone(disk);
|
|
146
|
-
const result = mutate(next);
|
|
147
|
-
assertNoFloorRollback(disk, next);
|
|
148
|
-
await save(next);
|
|
149
|
-
return result;
|
|
150
|
-
}
|
|
151
|
-
finally {
|
|
152
|
-
await release(token);
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
return {
|
|
156
|
-
request: async (slot) => {
|
|
157
|
-
const id = key(slot);
|
|
158
|
-
return transaction(state => {
|
|
159
|
-
const entry = state.slots[id] ?? { lastGeneration: 0 };
|
|
160
|
-
const expectedNonce = randomBytes(32).toString('hex');
|
|
161
|
-
state.slots[id] = { lastGeneration: entry.lastGeneration, pendingNonce: expectedNonce };
|
|
162
|
-
return { expectedNonce, minGeneration: entry.lastGeneration + 1 };
|
|
163
|
-
});
|
|
164
|
-
},
|
|
165
|
-
accept: async (slot, receipt) => {
|
|
166
|
-
const id = key(slot);
|
|
167
|
-
await transaction(state => {
|
|
168
|
-
const entry = state.slots[id];
|
|
169
|
-
if (!entry?.pendingNonce || entry.pendingNonce !== receipt.nonce)
|
|
170
|
-
throw new Error('Grok slot preflight receipt is stale: nonce');
|
|
171
|
-
if (!Number.isSafeInteger(receipt.generation) || receipt.generation <= entry.lastGeneration)
|
|
172
|
-
throw new Error('Grok slot preflight receipt is stale: generation');
|
|
173
|
-
state.slots[id] = { lastGeneration: receipt.generation };
|
|
174
|
-
});
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=slot-freshness.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slot-freshness.js","sourceRoot":"","sources":["../../../../../src/runtime/daimon/training/services/slot-freshness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wakeMoments.js","sourceRoot":"","sources":["../../../src/runtime/daimon/wakeMoments.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,gCAAgC;IACzC,QAAQ,EAAE,oBAAoB;IAC9B,kBAAkB,EAAE,WAAW;IAC/B,gBAAgB,EAAE,WAAW;IAC7B,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,OAAO;IAC3B,WAAW,EAAE,SAAS;IACtB,gBAAgB,EAAE,WAAW;IAC7B,iBAAiB,EAAE,MAAM;IACzB,sBAAsB,EAAE,KAAK;IAC7B,WAAW,EAAE,oBAAoB;CACzB,CAAC;AAEX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAuC,EAAE,CACzF,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;OACjE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM;OACrE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAC/D,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAK,KAAiC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC"}
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import { readUtf8File, resolveProjectPath } from "../../filesystem/index.js";
|
|
2
|
-
import { SpawnfileError } from "../../shared/index.js";
|
|
3
|
-
import { CLI_ENGINE_SKILL_BASE_DIRECTORIES, createAgentCapabilities, createDiagnostic, createDocumentFiles, createSkillFiles } from "../common.js";
|
|
4
|
-
import { resolveScriptedEngineCommandOption, resolveScriptedEngineStagedPath } from "./appScriptedEngine.js";
|
|
5
|
-
import { isPiEveryScheduleValue, PI_BUILTIN_TOOLS, PI_ENGINE_KINDS, PI_PACKAGE_NAME, PI_PACKAGE_VERSION, PI_THINKING_FORMATS, PI_THINKING_LEVELS } from "./appTemplate.js";
|
|
6
|
-
import { createPiContainerTargets, PI_CONFIG_FILE, PI_CONTROL_PORT, } from "./containerTargets.js";
|
|
7
|
-
import { preparePiRuntimeAuth } from "./runAuth.js";
|
|
8
|
-
/**
|
|
9
|
-
* Stages a `scripted`-engine's `engine_command` script into this agent's
|
|
10
|
-
* emitted workspace files, the same way `createDocumentFiles`/
|
|
11
|
-
* `createSkillFiles` stage docs/skills: read once at compile time (relative
|
|
12
|
-
* to the declaring manifest, via `resolveProjectPath(node.sourcePath ?? node.source, ...)`,
|
|
13
|
-
* mirroring `surfaces.ts`'s `loadResolvedDocuments`) and emitted as a
|
|
14
|
-
* `workspace/...` file, which `createContainerTargets` below relocates to
|
|
15
|
-
* `workspace/agents/<slug>/...` (`moveWorkspaceFileToAgentWorkspace`) just
|
|
16
|
-
* like every other per-agent workspace file. Returns `[]` for every engine
|
|
17
|
-
* other than `scripted` (and defensively for a `scripted` engine missing
|
|
18
|
-
* `engine_command`, though `validateRuntimeOptions` below already rejects
|
|
19
|
-
* that before `compileAgent` ever runs).
|
|
20
|
-
*/
|
|
21
|
-
const createScriptedEngineFiles = async (node) => {
|
|
22
|
-
const option = resolveScriptedEngineCommandOption(node);
|
|
23
|
-
const stagedPath = resolveScriptedEngineStagedPath(node);
|
|
24
|
-
if (!option || !stagedPath) {
|
|
25
|
-
return [];
|
|
26
|
-
}
|
|
27
|
-
const sourcePath = resolveProjectPath(node.sourcePath ?? node.source, option);
|
|
28
|
-
const content = await readUtf8File(sourcePath);
|
|
29
|
-
return [
|
|
30
|
-
{
|
|
31
|
-
content,
|
|
32
|
-
mode: 0o755,
|
|
33
|
-
path: `workspace/${stagedPath}`
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
};
|
|
37
|
-
const scheduleOutcomeFor = (node) => {
|
|
38
|
-
if (!node.schedule) {
|
|
39
|
-
return {};
|
|
40
|
-
}
|
|
41
|
-
if (node.schedule.kind === "every" || node.schedule.kind === "disabled") {
|
|
42
|
-
return {
|
|
43
|
-
message: "Pi generated runtime app owns this schedule",
|
|
44
|
-
outcome: "supported"
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
return {
|
|
48
|
-
message: "Pi generated runtime app supports every schedules in Spawnfile v0.1",
|
|
49
|
-
outcome: "degraded"
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
const createScheduleDiagnostics = (node) => node.schedule?.kind === "cron"
|
|
53
|
-
? [
|
|
54
|
-
createDiagnostic("warn", "Pi generated runtime app supports every schedules in Spawnfile v0.1; cron schedules are degraded")
|
|
55
|
-
]
|
|
56
|
-
: [];
|
|
57
|
-
const createMemoryConsolidationDiagnostics = (node) => (node.memoryAccess ?? []).flatMap((access) => access.bank.consolidation.mode === "scheduled" &&
|
|
58
|
-
access.bank.consolidation.schedule &&
|
|
59
|
-
!isPiEveryScheduleValue(access.bank.consolidation.schedule)
|
|
60
|
-
? [
|
|
61
|
-
createDiagnostic("warn", `Pi generated runtime app supports every memory consolidation schedules in Spawnfile v0.1; memory bank ${access.bank.id} consolidation is degraded`)
|
|
62
|
-
]
|
|
63
|
-
: []);
|
|
64
|
-
const moltnetCapabilityOptions = (node) => node.surfaces?.moltnet
|
|
65
|
-
? {
|
|
66
|
-
moltnetMessage: "Pi generated runtime app exposes a control endpoint for Moltnet bridge wake delivery",
|
|
67
|
-
moltnetOutcome: "supported"
|
|
68
|
-
}
|
|
69
|
-
: {};
|
|
70
|
-
const assertSupportedPiSurfaces = (surfaces) => {
|
|
71
|
-
if (!surfaces) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const unsupported = [
|
|
75
|
-
surfaces.discord ? "discord" : null,
|
|
76
|
-
surfaces.http ? "http" : null,
|
|
77
|
-
surfaces.slack ? "slack" : null,
|
|
78
|
-
surfaces.telegram ? "telegram" : null,
|
|
79
|
-
surfaces.webhook ? "webhook" : null,
|
|
80
|
-
surfaces.whatsapp ? "whatsapp" : null
|
|
81
|
-
].filter((surface) => surface !== null);
|
|
82
|
-
if (unsupported.length > 0) {
|
|
83
|
-
throw new SpawnfileError("validation_error", `Pi runtime only supports Moltnet surfaces in Spawnfile v0.1; unsupported surfaces: ${unsupported.join(", ")}`);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
export const piAdapter = {
|
|
87
|
-
assertSupportedModelTarget(target) {
|
|
88
|
-
if (target.reasoningEffort !== undefined) {
|
|
89
|
-
throw new SpawnfileError("validation_error", "Pi runtime does not support reasoning_effort; only Daimon Codex and Grok engines support it");
|
|
90
|
-
}
|
|
91
|
-
if (target.endpoint) {
|
|
92
|
-
if (target.provider !== "custom" && target.provider !== "local") {
|
|
93
|
-
throw new SpawnfileError("validation_error", "Pi runtime only supports endpoints on custom or local model providers");
|
|
94
|
-
}
|
|
95
|
-
if (target.auth.method === "none" || target.auth.method === "api_key") {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
throw new SpawnfileError("validation_error", `Pi runtime endpoint models only support none or api_key auth, got ${target.auth.method}`);
|
|
99
|
-
}
|
|
100
|
-
if (target.provider === "openai") {
|
|
101
|
-
if (target.auth.method === "api_key" || target.auth.method === "codex") {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
if (target.provider === "anthropic" && target.auth.method === "api_key") {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (target.provider === "anthropic" && target.auth.method === "claude-code") {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
throw new SpawnfileError("validation_error", `Pi runtime does not support model auth method ${target.auth.method} for provider ${target.provider}`);
|
|
112
|
-
},
|
|
113
|
-
assertSupportedSurfaces(surfaces) {
|
|
114
|
-
assertSupportedPiSurfaces(surfaces);
|
|
115
|
-
},
|
|
116
|
-
container: {
|
|
117
|
-
configFileName: PI_CONFIG_FILE,
|
|
118
|
-
configPathEnv: "SPAWNFILE_PI_CONFIG",
|
|
119
|
-
homeEnv: "SPAWNFILE_PI_HOME",
|
|
120
|
-
instancePaths: {
|
|
121
|
-
configPathTemplate: "<instance-root>/pi/<config-file>",
|
|
122
|
-
homePathTemplate: "<instance-root>/home",
|
|
123
|
-
sourceWorkspacePathTemplate: "<instance-root>/workspace/agents/<source-slug>",
|
|
124
|
-
workspacePathTemplate: "<instance-root>/workspace"
|
|
125
|
-
},
|
|
126
|
-
port: PI_CONTROL_PORT,
|
|
127
|
-
portEnv: "SPAWNFILE_PI_CONTROL_PORT",
|
|
128
|
-
globalNpmPackages: ["@anthropic-ai/claude-code", "@openai/codex@0.142.3"],
|
|
129
|
-
postRootfsCommands: [
|
|
130
|
-
"curl -fsSL https://x.ai/cli/install.sh | GROK_BIN_DIR=/usr/local/bin bash",
|
|
131
|
-
"if [ -L /usr/local/bin/grok ]; then cp -L /usr/local/bin/grok /usr/local/bin/grok.real && mv /usr/local/bin/grok.real /usr/local/bin/grok && chmod 0755 /usr/local/bin/grok && ln -sf /usr/local/bin/grok /usr/local/bin/agent; fi",
|
|
132
|
-
"curl -fsSL https://antigravity.google/cli/install.sh | bash -s -- --dir /usr/local/bin"
|
|
133
|
-
],
|
|
134
|
-
standaloneBaseImage: "node:24-bookworm-slim",
|
|
135
|
-
startCommand: ["node", "<runtime-root>/app.mjs", "<config-path>"],
|
|
136
|
-
systemDeps: ["bash", "ca-certificates", "curl", "git", "procps", "tar"]
|
|
137
|
-
},
|
|
138
|
-
systemInstructionSurface: {
|
|
139
|
-
placement: "append_pointer",
|
|
140
|
-
resolvePath() {
|
|
141
|
-
return "workspace/AGENTS.md";
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
async compileAgent(node) {
|
|
145
|
-
const scheduleOutcome = scheduleOutcomeFor(node);
|
|
146
|
-
return {
|
|
147
|
-
capabilities: createAgentCapabilities(node, {
|
|
148
|
-
memoryMessage: "Daimon exposes Mneme memory through generated runtime turns",
|
|
149
|
-
memoryOutcome: "supported",
|
|
150
|
-
...moltnetCapabilityOptions(node),
|
|
151
|
-
mcpOutcome: node.mcpServers.length > 0 ? "degraded" : "supported",
|
|
152
|
-
sandboxOutcome: node.execution?.sandbox ? "degraded" : "supported",
|
|
153
|
-
scheduleMessage: scheduleOutcome.message,
|
|
154
|
-
scheduleOutcome: scheduleOutcome.outcome,
|
|
155
|
-
subagentOutcome: node.subagents.length > 0 ? "degraded" : "supported"
|
|
156
|
-
}),
|
|
157
|
-
diagnostics: [
|
|
158
|
-
...createScheduleDiagnostics(node),
|
|
159
|
-
...createMemoryConsolidationDiagnostics(node),
|
|
160
|
-
...(node.execution?.sandbox
|
|
161
|
-
? [createDiagnostic("warn", "Pi runtime relies on container and workspace isolation; Pi itself is not a sandbox engine")]
|
|
162
|
-
: []),
|
|
163
|
-
...(node.mcpServers.length > 0
|
|
164
|
-
? [createDiagnostic("warn", "Pi runtime does not lower MCP server declarations in Spawnfile v0.1")]
|
|
165
|
-
: []),
|
|
166
|
-
...(node.subagents.length > 0
|
|
167
|
-
? [createDiagnostic("warn", "Pi runtime groups compiled agents but does not preserve native parent-owned subagent semantics in v0.1")]
|
|
168
|
-
: [])
|
|
169
|
-
],
|
|
170
|
-
files: [
|
|
171
|
-
...createDocumentFiles("workspace", node.docs),
|
|
172
|
-
...createSkillFiles(CLI_ENGINE_SKILL_BASE_DIRECTORIES, node.skills),
|
|
173
|
-
...(await createScriptedEngineFiles(node))
|
|
174
|
-
]
|
|
175
|
-
};
|
|
176
|
-
},
|
|
177
|
-
async createContainerTargets(inputs) {
|
|
178
|
-
return createPiContainerTargets(inputs);
|
|
179
|
-
},
|
|
180
|
-
name: "pi",
|
|
181
|
-
prepareRuntimeAuth: preparePiRuntimeAuth,
|
|
182
|
-
validateRuntimeOptions(options) {
|
|
183
|
-
const diagnostics = [];
|
|
184
|
-
if (options.engine !== undefined &&
|
|
185
|
-
(typeof options.engine !== "string" ||
|
|
186
|
-
!PI_ENGINE_KINDS.includes(options.engine))) {
|
|
187
|
-
diagnostics.push(createDiagnostic("error", `Pi runtime option engine must be one of ${PI_ENGINE_KINDS.join(", ")}`));
|
|
188
|
-
}
|
|
189
|
-
if (options.engine === "scripted" &&
|
|
190
|
-
(typeof options.engine_command !== "string" || options.engine_command.trim().length === 0)) {
|
|
191
|
-
diagnostics.push(createDiagnostic("error", "Pi runtime option engine_command is required (a fixture-relative script path) when engine is scripted"));
|
|
192
|
-
}
|
|
193
|
-
if (options.thinking !== undefined &&
|
|
194
|
-
(typeof options.thinking !== "string" ||
|
|
195
|
-
!PI_THINKING_LEVELS.includes(options.thinking))) {
|
|
196
|
-
diagnostics.push(createDiagnostic("error", `Pi runtime option thinking must be one of ${PI_THINKING_LEVELS.join(", ")}`));
|
|
197
|
-
}
|
|
198
|
-
if (options.thinking_format !== undefined &&
|
|
199
|
-
(typeof options.thinking_format !== "string" ||
|
|
200
|
-
!PI_THINKING_FORMATS.includes(options.thinking_format))) {
|
|
201
|
-
diagnostics.push(createDiagnostic("error", `Pi runtime option thinking_format must be one of ${PI_THINKING_FORMATS.join(", ")}`));
|
|
202
|
-
}
|
|
203
|
-
if (options.tools !== undefined &&
|
|
204
|
-
(!Array.isArray(options.tools)
|
|
205
|
-
|| options.tools.some((item) => typeof item !== "string"
|
|
206
|
-
|| !PI_BUILTIN_TOOLS.includes(item))
|
|
207
|
-
|| new Set(options.tools).size !== options.tools.length)) {
|
|
208
|
-
diagnostics.push(createDiagnostic("error", `Pi runtime option tools must contain unique values from ${PI_BUILTIN_TOOLS.join(", ")}`));
|
|
209
|
-
}
|
|
210
|
-
if (options.raw_training_capture_turns !== undefined
|
|
211
|
-
&& (!Number.isSafeInteger(options.raw_training_capture_turns)
|
|
212
|
-
|| typeof options.raw_training_capture_turns !== "number"
|
|
213
|
-
|| options.raw_training_capture_turns < 1
|
|
214
|
-
|| options.raw_training_capture_turns > 100_000)) {
|
|
215
|
-
diagnostics.push(createDiagnostic("error", "Pi runtime option raw_training_capture_turns must be an integer between 1 and 100000"));
|
|
216
|
-
}
|
|
217
|
-
const unsupported = Object.keys(options).filter((key) => key !== "restrict_to_workspace"
|
|
218
|
-
&& key !== "engine"
|
|
219
|
-
&& key !== "engine_command"
|
|
220
|
-
&& key !== "thinking"
|
|
221
|
-
&& key !== "thinking_format"
|
|
222
|
-
&& key !== "tools"
|
|
223
|
-
&& key !== "raw_training_capture_turns");
|
|
224
|
-
for (const key of unsupported) {
|
|
225
|
-
diagnostics.push(createDiagnostic("warn", `Pi runtime option ${key} is not used yet`));
|
|
226
|
-
}
|
|
227
|
-
return diagnostics;
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
export const PI_RUNTIME_PACKAGE = `${PI_PACKAGE_NAME}@${PI_PACKAGE_VERSION}`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const renderPiActivitySource: () => string;
|