spawnfile 0.1.17 → 0.1.18
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/importers.js +21 -5
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/index.js +1 -0
- package/dist/auth/profileStore.js +4 -1
- package/dist/auth/trainingGrokWriteback.d.ts +4 -0
- package/dist/auth/trainingGrokWriteback.js +119 -0
- package/dist/auth/trainingGrokWritebackLock.d.ts +5 -0
- package/dist/auth/trainingGrokWritebackLock.js +56 -0
- package/dist/cli/authCommands.js +9 -5
- package/dist/cli/compileBuildCommands.js +4 -0
- package/dist/cli/devCommands.js +4 -2
- package/dist/cli/downCommand.d.ts +2 -0
- package/dist/cli/downCommand.js +3 -0
- package/dist/cli/envFileOption.d.ts +18 -0
- package/dist/cli/envFileOption.js +20 -0
- package/dist/cli/lifecycleCommands.d.ts +1 -1
- package/dist/cli/lifecycleCommands.js +3 -1
- package/dist/cli/lifecyclePlan.d.ts +1 -0
- package/dist/cli/lifecyclePlan.js +2 -0
- package/dist/cli/paideiaDelegation.d.ts +2 -1
- package/dist/cli/paideiaDelegation.js +5 -4
- package/dist/cli/recordCommands.d.ts +17 -0
- package/dist/cli/recordCommands.js +43 -0
- package/dist/cli/releaseCommand.d.ts +6 -0
- package/dist/cli/releaseCommand.js +91 -0
- package/dist/cli/runCli.d.ts +7 -1
- package/dist/cli/runCli.js +11 -6
- package/dist/cli/runPublishCommands.js +5 -3
- package/dist/cli/trainCommand.js +73 -20
- package/dist/cli/upCommand.js +5 -1
- package/dist/cli/volumeCommands.d.ts +8 -0
- package/dist/cli/volumeCommands.js +53 -0
- package/dist/compiler/agentNodeMerge.js +3 -2
- package/dist/compiler/buildCompilePlan.js +4 -0
- package/dist/compiler/buildCompilePlanAgent.js +3 -1
- package/dist/compiler/buildCompilePlanTraversal.js +2 -0
- package/dist/compiler/buildCompilePlanTraversalHelpers.d.ts +2 -2
- package/dist/compiler/buildCompilePlanTraversalHelpers.js +4 -3
- package/dist/compiler/buildProject.d.ts +10 -0
- package/dist/compiler/buildProject.js +14 -2
- package/dist/compiler/cleanCompileOutput.d.ts +2 -0
- package/dist/compiler/cleanCompileOutput.js +14 -0
- package/dist/compiler/compilePlanHelpers.js +2 -0
- package/dist/compiler/compileProject.d.ts +10 -0
- package/dist/compiler/compileProject.js +29 -3
- package/dist/compiler/containerArtifactSummaries.js +1 -0
- package/dist/compiler/containerArtifacts.d.ts +4 -4
- package/dist/compiler/containerArtifacts.js +18 -34
- package/dist/compiler/containerArtifactsPlans.js +7 -0
- package/dist/compiler/containerArtifactsTypes.d.ts +7 -0
- package/dist/compiler/containerDaimonBrokerRender.d.ts +3 -1
- package/dist/compiler/containerDaimonBrokerRender.js +6 -3
- package/dist/compiler/containerDaimonGrokTaskClock.d.ts +5 -0
- package/dist/compiler/containerDaimonGrokTaskClock.js +29 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +1 -1
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +38 -16
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +33 -8
- package/dist/compiler/containerDaimonGrokWorkerRender.js +18 -5
- package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +14 -1
- package/dist/compiler/containerDaimonOwnershipGuardRender.js +15 -2
- package/dist/compiler/containerDaimonUidEntrypointRender.js +6 -12
- package/dist/compiler/containerTargetResources.d.ts +10 -0
- package/dist/compiler/containerTargetResources.js +21 -13
- package/dist/compiler/containerWorkspaceResourceRender.js +4 -1
- package/dist/compiler/index.d.ts +2 -0
- package/dist/compiler/index.js +2 -0
- package/dist/compiler/mcpPlaceholders.d.ts +11 -0
- package/dist/compiler/mcpPlaceholders.js +58 -0
- package/dist/compiler/mcpServerInheritance.d.ts +18 -0
- package/dist/compiler/mcpServerInheritance.js +43 -0
- package/dist/compiler/moltnetArtifactTypes.d.ts +1 -0
- package/dist/compiler/moltnetArtifacts.js +1 -0
- package/dist/compiler/preflightCompilePlan.d.ts +9 -0
- package/dist/compiler/preflightCompilePlan.js +38 -0
- package/dist/compiler/recordingAgentFacts.d.ts +4 -0
- package/dist/compiler/recordingAgentFacts.js +35 -0
- package/dist/compiler/recordingCapability.d.ts +4 -0
- package/dist/compiler/recordingCapability.js +22 -0
- package/dist/compiler/recordingReport.d.ts +4 -0
- package/dist/compiler/recordingReport.js +18 -0
- package/dist/compiler/runProject.d.ts +2 -1
- package/dist/compiler/runProject.js +2 -0
- package/dist/compiler/surfaces.d.ts +1 -2
- package/dist/compiler/surfaces.js +0 -1
- package/dist/compiler/syncProjectAuth.js +2 -1
- package/dist/compiler/training/broker/clockProbe.d.ts +6 -0
- package/dist/compiler/training/broker/clockProbe.js +27 -0
- package/dist/compiler/training/broker/declaration.d.ts +4 -2
- package/dist/compiler/training/broker/declaration.js +4 -2
- package/dist/compiler/training/broker/entrypoint.js +33 -18
- package/dist/compiler/training/broker/evaluatorSecrets.d.ts +2 -0
- package/dist/compiler/training/broker/evaluatorSecrets.js +60 -0
- package/dist/compiler/training/broker/index.d.ts +3 -2
- package/dist/compiler/training/broker/index.js +3 -2
- package/dist/compiler/training/broker/main.js +1 -1
- package/dist/compiler/training/broker/paths.d.ts +96 -56
- package/dist/compiler/training/broker/paths.js +97 -89
- package/dist/compiler/training/broker/processes.d.ts +9 -0
- package/dist/compiler/training/broker/processes.js +4 -1
- package/dist/compiler/training/broker/projection.d.ts +3 -2
- package/dist/compiler/training/broker/projection.js +21 -9
- package/dist/compiler/training/broker/provisioning.d.ts +6 -15
- package/dist/compiler/training/broker/provisioning.js +71 -53
- package/dist/compiler/training/broker/registration.d.ts +3 -1
- package/dist/compiler/training/broker/registration.js +29 -21
- package/dist/compiler/training/broker/reset.d.ts +9 -0
- package/dist/compiler/training/broker/reset.js +71 -0
- package/dist/compiler/training/broker/runtime.d.ts +10 -13
- package/dist/compiler/training/broker/runtime.js +69 -115
- package/dist/compiler/training/broker/supervisor.d.ts +10 -11
- package/dist/compiler/training/broker/supervisor.js +22 -23
- package/dist/compiler/training/broker/taskClock.d.ts +5 -0
- package/dist/compiler/training/broker/taskClock.js +41 -0
- package/dist/compiler/training/compiledAgent.d.ts +21 -0
- package/dist/compiler/training/compiledAgent.js +62 -0
- package/dist/compiler/training/container/contract.d.ts +23 -0
- package/dist/compiler/training/container/contract.js +23 -5
- package/dist/compiler/training/container/evaluators.d.ts +48 -0
- package/dist/compiler/training/container/evaluators.js +50 -0
- package/dist/compiler/training/container/grokWriteback.d.ts +8 -0
- package/dist/compiler/training/container/grokWriteback.js +26 -0
- package/dist/compiler/training/container/index.d.ts +2 -1
- package/dist/compiler/training/container/index.js +2 -1
- package/dist/compiler/training/container/launch.d.ts +3 -0
- package/dist/compiler/training/container/launch.js +119 -28
- package/dist/compiler/training/container/nativeSlots.d.ts +14 -0
- package/dist/compiler/training/container/nativeSlots.js +13 -0
- package/dist/compiler/training/container/outputCopy.d.ts +2 -0
- package/dist/compiler/training/container/outputCopy.js +72 -0
- package/dist/compiler/training/container/outputVolume.d.ts +27 -0
- package/dist/compiler/training/container/outputVolume.js +161 -0
- package/dist/compiler/training/container/prepare.d.ts +3 -1
- package/dist/compiler/training/container/prepare.js +57 -12
- package/dist/compiler/training/container/security.d.ts +5 -3
- package/dist/compiler/training/container/security.js +15 -5
- package/dist/compiler/training/container/subjectIsolation.d.ts +5 -0
- package/dist/compiler/training/container/subjectIsolation.js +15 -0
- package/dist/compiler/training/context.d.ts +8 -0
- package/dist/compiler/training/context.js +12 -12
- package/dist/compiler/training/contract.d.ts +2 -0
- package/dist/compiler/training/contract.js +2 -0
- package/dist/compiler/training/execution.d.ts +417 -0
- package/dist/compiler/training/execution.js +160 -0
- package/dist/compiler/training/index.d.ts +8 -0
- package/dist/compiler/training/index.js +7 -0
- package/dist/compiler/training/moments.d.ts +80 -0
- package/dist/compiler/training/moments.js +118 -0
- package/dist/compiler/training/output.d.ts +2 -0
- package/dist/compiler/training/output.js +20 -0
- package/dist/compiler/training/plan/contract.d.ts +287 -0
- package/dist/compiler/training/plan/contract.js +49 -0
- package/dist/compiler/training/plan/index.d.ts +5 -0
- package/dist/compiler/training/plan/index.js +4 -0
- package/dist/compiler/training/plan/load.d.ts +9 -0
- package/dist/compiler/training/plan/load.js +153 -0
- package/dist/compiler/training/plan/references.d.ts +19 -0
- package/dist/compiler/training/plan/references.js +57 -0
- package/dist/compiler/training/plan/resolve.d.ts +4 -0
- package/dist/compiler/training/plan/resolve.js +73 -0
- package/dist/compiler/training/plan/targets.d.ts +11 -0
- package/dist/compiler/training/plan/targets.js +71 -0
- package/dist/compiler/training/plan/types.d.ts +36 -0
- package/dist/compiler/training/plan/types.js +1 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +13 -2
- package/dist/compiler/training/preparation/assets/package-lock.json +2 -2
- package/dist/compiler/training/preparation/broker.d.ts +3 -3
- package/dist/compiler/training/preparation/broker.js +6 -4
- package/dist/compiler/training/preparation/contract.d.ts +27 -2
- package/dist/compiler/training/preparation/contract.js +23 -4
- package/dist/compiler/training/preparation/files.d.ts +5 -1
- package/dist/compiler/training/preparation/files.js +76 -15
- package/dist/compiler/training/preparation/image.js +9 -4
- package/dist/compiler/training/preparation/inputs.d.ts +1 -0
- package/dist/compiler/training/preparation/inputs.js +18 -10
- package/dist/compiler/training/preparation/prepare.d.ts +5 -0
- package/dist/compiler/training/preparation/prepare.js +66 -29
- package/dist/compiler/training/preparation/scratch.d.ts +6 -17
- package/dist/compiler/training/preparation/scratch.js +89 -23
- package/dist/compiler/training/repair/contract.d.ts +338 -4
- package/dist/compiler/training/repair/contract.js +2 -0
- package/dist/compiler/training/repair/index.d.ts +1 -1
- package/dist/compiler/training/repair/index.js +1 -1
- package/dist/compiler/training/repair/prepare.d.ts +155 -3
- package/dist/compiler/training/repair/prepare.js +6 -2
- package/dist/compiler/training/repair/witness.d.ts +152 -3
- package/dist/compiler/training/repair/witness.js +8 -2
- package/dist/compiler/training/resolution.d.ts +25 -0
- package/dist/compiler/training/resolution.js +69 -0
- package/dist/compiler/training/rewind/contract.d.ts +321 -0
- package/dist/compiler/training/rewind/contract.js +39 -0
- package/dist/compiler/training/rewind/deployedResource.d.ts +22 -0
- package/dist/compiler/training/rewind/deployedResource.js +19 -0
- package/dist/compiler/training/rewind/feed.d.ts +12 -0
- package/dist/compiler/training/rewind/feed.js +182 -0
- package/dist/compiler/training/rewind/feedContent.d.ts +6 -0
- package/dist/compiler/training/rewind/feedContent.js +38 -0
- package/dist/compiler/training/rewind/git.d.ts +8 -0
- package/dist/compiler/training/rewind/git.js +159 -0
- package/dist/compiler/training/rewind/gitArchive.d.ts +2 -0
- package/dist/compiler/training/rewind/gitArchive.js +7 -0
- package/dist/compiler/training/rewind/gitHistory.d.ts +3 -0
- package/dist/compiler/training/rewind/gitHistory.js +55 -0
- package/dist/compiler/training/rewind/gitProcess.d.ts +19 -0
- package/dist/compiler/training/rewind/gitProcess.js +81 -0
- package/dist/compiler/training/rewind/gitTree.d.ts +14 -0
- package/dist/compiler/training/rewind/gitTree.js +90 -0
- package/dist/compiler/training/rewind/history.d.ts +28 -0
- package/dist/compiler/training/rewind/history.js +239 -0
- package/dist/compiler/training/rewind/index.d.ts +18 -0
- package/dist/compiler/training/rewind/index.js +15 -0
- package/dist/compiler/training/rewind/inputs.d.ts +9 -0
- package/dist/compiler/training/rewind/inputs.js +67 -0
- package/dist/compiler/training/rewind/instant.d.ts +4 -0
- package/dist/compiler/training/rewind/instant.js +24 -0
- package/dist/compiler/training/rewind/leakCheck.d.ts +10 -0
- package/dist/compiler/training/rewind/leakCheck.js +56 -0
- package/dist/compiler/training/rewind/leakFeed.d.ts +5 -0
- package/dist/compiler/training/rewind/leakFeed.js +25 -0
- package/dist/compiler/training/rewind/leakFiles.d.ts +10 -0
- package/dist/compiler/training/rewind/leakFiles.js +106 -0
- package/dist/compiler/training/rewind/leakGit.d.ts +3 -0
- package/dist/compiler/training/rewind/leakGit.js +78 -0
- package/dist/compiler/training/rewind/leakGitPayload.d.ts +4 -0
- package/dist/compiler/training/rewind/leakGitPayload.js +57 -0
- package/dist/compiler/training/rewind/leakInputs.d.ts +7 -0
- package/dist/compiler/training/rewind/leakInputs.js +135 -0
- package/dist/compiler/training/rewind/leakLayout.d.ts +2 -0
- package/dist/compiler/training/rewind/leakLayout.js +17 -0
- package/dist/compiler/training/rewind/leakProvenance.d.ts +3 -0
- package/dist/compiler/training/rewind/leakProvenance.js +88 -0
- package/dist/compiler/training/rewind/materialize.d.ts +136 -0
- package/dist/compiler/training/rewind/materialize.js +212 -0
- package/dist/compiler/training/rewind/memory.d.ts +10 -0
- package/dist/compiler/training/rewind/memory.js +84 -0
- package/dist/compiler/training/rewind/memorySchemas.d.ts +87 -0
- package/dist/compiler/training/rewind/memorySchemas.js +50 -0
- package/dist/compiler/training/rewind/moltnet.d.ts +2 -0
- package/dist/compiler/training/rewind/moltnet.js +54 -0
- package/dist/compiler/training/rewind/moltnetJson.d.ts +13 -0
- package/dist/compiler/training/rewind/moltnetJson.js +180 -0
- package/dist/compiler/training/rewind/moltnetSchemas.d.ts +1226 -0
- package/dist/compiler/training/rewind/moltnetSchemas.js +75 -0
- package/dist/compiler/training/rewind/moltnetSqlite.d.ts +31 -0
- package/dist/compiler/training/rewind/moltnetSqlite.js +192 -0
- package/dist/compiler/training/rewind/moltnetSqliteData.d.ts +10 -0
- package/dist/compiler/training/rewind/moltnetSqliteData.js +113 -0
- package/dist/compiler/training/rewind/recordInput.d.ts +40 -0
- package/dist/compiler/training/rewind/recordInput.js +49 -0
- package/dist/compiler/training/rewind/recordedBundle.d.ts +4 -0
- package/dist/compiler/training/rewind/recordedBundle.js +58 -0
- package/dist/compiler/training/rewind/recordedCommit.d.ts +2 -0
- package/dist/compiler/training/rewind/recordedCommit.js +10 -0
- package/dist/compiler/training/rewind/select.d.ts +18 -0
- package/dist/compiler/training/rewind/select.js +64 -0
- package/dist/compiler/training/rewind/snapshotManifest.d.ts +42 -0
- package/dist/compiler/training/rewind/snapshotManifest.js +134 -0
- package/dist/compiler/training/rewind/taskClock.d.ts +12 -0
- package/dist/compiler/training/rewind/taskClock.js +40 -0
- package/dist/compiler/training/rewind/timestamps.d.ts +4 -0
- package/dist/compiler/training/rewind/timestamps.js +26 -0
- package/dist/compiler/training/rewind/types.d.ts +43 -0
- package/dist/compiler/training/rewind/types.js +1 -0
- package/dist/compiler/training/rewind/volumes.d.ts +12 -0
- package/dist/compiler/training/rewind/volumes.js +58 -0
- package/dist/compiler/training/selection.d.ts +7 -0
- package/dist/compiler/training/selection.js +15 -0
- package/dist/compiler/types.d.ts +6 -3
- package/dist/compiler/upProject.d.ts +1 -0
- package/dist/compiler/upProject.js +21 -5
- package/dist/compiler/workspaceBundleArtifacts.d.ts +16 -1
- package/dist/compiler/workspaceBundleArtifacts.js +69 -20
- package/dist/compiler/workspaceBundleCache.d.ts +23 -0
- package/dist/compiler/workspaceBundleCache.js +79 -0
- package/dist/compiler/workspaceBundleDependencies.d.ts +21 -0
- package/dist/compiler/workspaceBundleDependencies.js +122 -0
- package/dist/compiler/workspaceBundleFiles.d.ts +51 -0
- package/dist/compiler/workspaceBundleFiles.js +251 -0
- package/dist/compiler/workspaceBundleGenerated.d.ts +25 -0
- package/dist/compiler/workspaceBundleGenerated.js +103 -0
- package/dist/compiler/workspaceBundleGit.d.ts +64 -0
- package/dist/compiler/workspaceBundleGit.js +154 -0
- package/dist/compiler/workspaceBundleKey.d.ts +34 -0
- package/dist/compiler/workspaceBundleKey.js +17 -0
- package/dist/compiler/workspaceBundleResolve.d.ts +56 -0
- package/dist/compiler/workspaceBundleResolve.js +144 -0
- package/dist/compiler/workspaceBundleRun.d.ts +41 -0
- package/dist/compiler/workspaceBundleRun.js +79 -0
- package/dist/compiler/workspaceBundleTar.d.ts +47 -0
- package/dist/compiler/workspaceBundleTar.js +140 -0
- package/dist/compiler/workspaceBundleTree.d.ts +15 -0
- package/dist/compiler/workspaceBundleTree.js +58 -0
- package/dist/compiler/workspaceGitFetch.d.ts +41 -0
- package/dist/compiler/workspaceGitFetch.js +155 -0
- package/dist/compiler/workspaceGitPins.d.ts +33 -0
- package/dist/compiler/workspaceGitPins.js +127 -0
- package/dist/compiler/workspaceResources.d.ts +5 -1
- package/dist/compiler/workspaceResources.js +32 -5
- package/dist/deployment/activation.d.ts +3 -0
- package/dist/deployment/activation.js +12 -0
- package/dist/deployment/canaryCutover.d.ts +1 -1
- package/dist/deployment/candidateRecording.d.ts +8 -0
- package/dist/deployment/candidateRecording.js +22 -0
- package/dist/deployment/dockerManager.d.ts +5 -3
- package/dist/deployment/dockerManager.js +12 -2
- package/dist/deployment/downDeployment.d.ts +2 -0
- package/dist/deployment/downDeployment.js +6 -2
- package/dist/deployment/homeStore.d.ts +9 -1
- package/dist/deployment/homeStore.js +16 -53
- package/dist/deployment/index.d.ts +6 -0
- package/dist/deployment/index.js +6 -0
- package/dist/deployment/pidLock.d.ts +25 -0
- package/dist/deployment/pidLock.js +81 -0
- package/dist/deployment/record.d.ts +85 -1
- package/dist/deployment/record.js +11 -5
- package/dist/deployment/recordPublication.d.ts +15 -0
- package/dist/deployment/recordPublication.js +76 -0
- package/dist/deployment/recordedMemoryRetention.d.ts +18 -0
- package/dist/deployment/recordedMemoryRetention.js +27 -0
- package/dist/deployment/resourceLog.d.ts +140 -0
- package/dist/deployment/resourceLog.js +78 -0
- package/dist/distribution/buildDistributionReport.d.ts +3 -0
- package/dist/distribution/buildDistributionReport.js +5 -0
- package/dist/distribution/consumeImage.d.ts +3 -0
- package/dist/distribution/consumeImage.js +23 -31
- package/dist/distribution/consumeImageLifecycle.d.ts +4 -1
- package/dist/distribution/consumeImageLifecycle.js +14 -3
- package/dist/distribution/consumeImageSupport.d.ts +7 -0
- package/dist/distribution/consumeImageSupport.js +25 -0
- package/dist/distribution/distributionReportSchema.d.ts +47 -0
- package/dist/distribution/distributionReportSchema.js +20 -0
- package/dist/distribution/renderImageInterface.js +1 -1
- package/dist/distribution/types.d.ts +15 -0
- package/dist/filesystem/durableWrite.d.ts +10 -0
- package/dist/filesystem/durableWrite.js +87 -0
- package/dist/filesystem/index.d.ts +2 -0
- package/dist/filesystem/index.js +2 -0
- package/dist/filesystem/retainedJsonl.d.ts +23 -0
- package/dist/filesystem/retainedJsonl.js +123 -0
- package/dist/manifest/commandSchemas.d.ts +5 -0
- package/dist/manifest/commandSchemas.js +5 -0
- package/dist/manifest/executionSchemas.d.ts +20 -0
- package/dist/manifest/executionSchemas.js +13 -3
- package/dist/manifest/index.d.ts +2 -0
- package/dist/manifest/index.js +2 -0
- package/dist/manifest/loadManifest.js +3 -26
- package/dist/manifest/mcpSchemas.d.ts +61 -0
- package/dist/manifest/mcpSchemas.js +57 -11
- package/dist/manifest/memorySchemas.d.ts +1 -1
- package/dist/manifest/memorySchemas.js +1 -1
- package/dist/manifest/parseManifest.d.ts +7 -0
- package/dist/manifest/parseManifest.js +65 -0
- package/dist/manifest/renderSpawnfile.js +4 -1
- package/dist/manifest/renderSpawnfileWorkspace.js +6 -2
- package/dist/manifest/schemas.d.ts +1206 -132
- package/dist/manifest/schemas.js +14 -4
- package/dist/manifest/teamNetworkSchemas.d.ts +1 -1
- package/dist/manifest/trainingDataSchemas.d.ts +357 -0
- package/dist/manifest/trainingDataSchemas.js +31 -0
- package/dist/manifest/trainingSchemas.d.ts +49 -0
- package/dist/manifest/trainingSchemas.js +44 -0
- package/dist/manifest/volumeFeedSchemas.d.ts +52 -0
- package/dist/manifest/volumeFeedSchemas.js +104 -0
- package/dist/manifest/workspaceSchemas.d.ts +182 -5
- package/dist/manifest/workspaceSchemas.js +111 -7
- package/dist/recording/compose.d.ts +3 -0
- package/dist/recording/compose.js +93 -0
- package/dist/recording/deployment.d.ts +15 -0
- package/dist/recording/deployment.js +38 -0
- package/dist/recording/history.d.ts +16 -0
- package/dist/recording/history.js +47 -0
- package/dist/recording/index.d.ts +9 -0
- package/dist/recording/index.js +9 -0
- package/dist/recording/moment.d.ts +61 -0
- package/dist/recording/moment.js +36 -0
- package/dist/recording/parse.d.ts +15 -0
- package/dist/recording/parse.js +74 -0
- package/dist/recording/read.d.ts +8 -0
- package/dist/recording/read.js +61 -0
- package/dist/recording/store.d.ts +10 -0
- package/dist/recording/store.js +94 -0
- package/dist/recording/sync.d.ts +24 -0
- package/dist/recording/sync.js +126 -0
- package/dist/recording/types.d.ts +45 -0
- package/dist/recording/types.js +2 -0
- package/dist/release/drainControl.d.ts +54 -0
- package/dist/release/drainControl.js +137 -0
- package/dist/release/drainPhase.d.ts +37 -0
- package/dist/release/drainPhase.js +161 -0
- package/dist/release/index.d.ts +11 -0
- package/dist/release/index.js +11 -0
- package/dist/release/ledger.d.ts +75 -0
- package/dist/release/ledger.js +111 -0
- package/dist/release/notify.d.ts +58 -0
- package/dist/release/notify.js +126 -0
- package/dist/release/pending.d.ts +35 -0
- package/dist/release/pending.js +60 -0
- package/dist/release/postDeploy.d.ts +32 -0
- package/dist/release/postDeploy.js +62 -0
- package/dist/release/releaseDefaults.d.ts +9 -0
- package/dist/release/releaseDefaults.js +115 -0
- package/dist/release/releaseDocker.d.ts +38 -0
- package/dist/release/releaseDocker.js +94 -0
- package/dist/release/releaseTypes.d.ts +94 -0
- package/dist/release/releaseTypes.js +1 -0
- package/dist/release/runRelease.d.ts +9 -0
- package/dist/release/runRelease.js +218 -0
- package/dist/release/swap.d.ts +23 -0
- package/dist/release/swap.js +55 -0
- package/dist/release/types.d.ts +50 -0
- package/dist/release/types.js +29 -0
- package/dist/report/index.d.ts +1 -0
- package/dist/report/index.js +1 -0
- package/dist/report/recording.d.ts +57 -0
- package/dist/report/recording.js +26 -0
- package/dist/report/types.d.ts +58 -0
- package/dist/runtime/container.js +8 -13
- package/dist/runtime/daimon/adapter.js +15 -4
- package/dist/runtime/daimon/config.d.ts +4 -0
- package/dist/runtime/daimon/config.js +53 -4
- package/dist/runtime/daimon/contract-manifest.json +1 -0
- package/dist/runtime/daimon/contract-manifest.sha256 +1 -0
- package/dist/runtime/daimon/contractManifest.d.ts +59 -8
- package/dist/runtime/daimon/contractManifest.js +26 -10
- package/dist/runtime/daimon/grokTurnLimits.d.ts +25 -0
- package/dist/runtime/daimon/grokTurnLimits.js +51 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +17 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.js +17 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +5 -0
- package/dist/runtime/daimon/grokWorkerContract.js +13 -1
- package/dist/runtime/daimon/recording.d.ts +19 -0
- package/dist/runtime/daimon/recording.js +50 -0
- package/dist/runtime/daimon/scheduleAuthority.d.ts +8 -0
- package/dist/runtime/daimon/scheduleAuthority.js +19 -5
- package/dist/runtime/daimon/wakeMoments.d.ts +15 -0
- package/dist/runtime/daimon/wakeMoments.js +17 -0
- package/dist/runtime/daimonInstall.d.ts +3 -0
- package/dist/runtime/daimonInstall.js +25 -0
- package/dist/runtime/index.d.ts +1 -0
- package/dist/runtime/index.js +1 -0
- package/dist/runtime/install.d.ts +2 -0
- package/dist/runtime/install.js +1 -0
- package/dist/runtime/openclaw/adapter.js +3 -0
- package/dist/runtime/pi/adapter.js +3 -0
- package/dist/runtime/pi/containerTargets.js +6 -0
- package/dist/runtime/picoclaw/adapter.js +3 -0
- package/dist/runtime/registry.d.ts +3 -0
- package/dist/runtime/registry.js +13 -1
- package/dist/runtime/types.d.ts +15 -0
- package/dist/runtime/usageLedgerRead.d.ts +6 -0
- package/dist/runtime/usageLedgerRead.js +3 -3
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/recording.d.ts +8 -0
- package/dist/shared/recording.js +25 -0
- package/dist/target/dockerCommandExecutorCore.js +1 -1
- package/dist/target/dockerTargetBinding.js +2 -1
- package/dist/volume/feedLand.d.ts +31 -0
- package/dist/volume/feedLand.js +174 -0
- package/dist/volume/feedLandings.d.ts +45 -0
- package/dist/volume/feedLandings.js +111 -0
- package/dist/volume/feedLayout.d.ts +61 -0
- package/dist/volume/feedLayout.js +234 -0
- package/dist/volume/feedLock.d.ts +7 -0
- package/dist/volume/feedLock.js +131 -0
- package/dist/volume/feedManifest.d.ts +27 -0
- package/dist/volume/feedManifest.js +123 -0
- package/dist/volume/feedPrepare.d.ts +16 -0
- package/dist/volume/feedPrepare.js +228 -0
- package/dist/volume/feedProject.d.ts +39 -0
- package/dist/volume/feedProject.js +92 -0
- package/dist/volume/feedRecord.d.ts +55 -0
- package/dist/volume/feedRecord.js +148 -0
- package/dist/volume/feedRef.d.ts +43 -0
- package/dist/volume/feedRef.js +117 -0
- package/dist/volume/feedRefresh.d.ts +15 -0
- package/dist/volume/feedRefresh.js +187 -0
- package/dist/volume/feedSource.d.ts +66 -0
- package/dist/volume/feedSource.js +104 -0
- package/dist/volume/feedTarget.d.ts +70 -0
- package/dist/volume/feedTarget.js +9 -0
- package/dist/volume/feedTestKit.d.ts +11 -0
- package/dist/volume/feedTestKit.js +45 -0
- package/dist/volume/feedVerify.d.ts +18 -0
- package/dist/volume/feedVerify.js +104 -0
- package/dist/volume/index.d.ts +13 -0
- package/dist/volume/index.js +13 -0
- package/package.json +3 -3
- package/runtimes.yaml +8 -6
package/dist/report/types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RuntimeLifecycleStatus } from "../shared/index.js";
|
|
2
2
|
import type { ModelAuthMethod } from "../shared/index.js";
|
|
3
|
+
import type { RecordingAgentReport } from "./recording.js";
|
|
3
4
|
export type CapabilityOutcome = "degraded" | "supported" | "unsupported";
|
|
4
5
|
export interface CapabilityReport {
|
|
5
6
|
key: string;
|
|
@@ -11,6 +12,12 @@ export interface DiagnosticReport {
|
|
|
11
12
|
message: string;
|
|
12
13
|
}
|
|
13
14
|
export interface ContainerRuntimeInstanceReport {
|
|
15
|
+
/** Per-agent paths for shared runtime instances; all paths are container absolute. */
|
|
16
|
+
agent_paths?: Record<string, {
|
|
17
|
+
workspace_path: string;
|
|
18
|
+
home_path: string | null;
|
|
19
|
+
skill_roots: string[];
|
|
20
|
+
}>;
|
|
14
21
|
config_path: string;
|
|
15
22
|
/** Per pi/daimon agent (keyed by node id, e.g. "agent:eleanor"): the resolved pi
|
|
16
23
|
* engine kind (see `PI_ENGINE_KINDS` in `src/runtime/pi/appTemplate.ts`, e.g.
|
|
@@ -173,6 +180,7 @@ export interface ContainerPortMappingReport {
|
|
|
173
180
|
published_port: number;
|
|
174
181
|
}
|
|
175
182
|
export interface ContainerMoltnetNodePlanSummary {
|
|
183
|
+
node_id?: string;
|
|
176
184
|
config_path: string;
|
|
177
185
|
credential_agent_id?: string;
|
|
178
186
|
credential_id?: string;
|
|
@@ -268,6 +276,53 @@ export interface ContainerReport {
|
|
|
268
276
|
persistent_mounts?: ContainerPersistentMountReport[];
|
|
269
277
|
workspace_resources?: ContainerWorkspaceResourceReport[];
|
|
270
278
|
}
|
|
279
|
+
/** Association captured while walking the resolved compile graph. */
|
|
280
|
+
export interface WorkspaceResourceOwnership {
|
|
281
|
+
agent_node_ids: string[];
|
|
282
|
+
declared_by?: string;
|
|
283
|
+
}
|
|
284
|
+
/** One workspace bundle archive the compile staged, with the digest Spawnfile built or verified. */
|
|
285
|
+
export interface CompileReportWorkspaceBundle extends Partial<WorkspaceResourceOwnership> {
|
|
286
|
+
cache_key?: string;
|
|
287
|
+
content_bytes?: number;
|
|
288
|
+
file_count?: number;
|
|
289
|
+
id: string;
|
|
290
|
+
identity?: "dev" | "release";
|
|
291
|
+
/** Input kind of a built bundle. */
|
|
292
|
+
input?: "dependencies" | "files" | "generated";
|
|
293
|
+
origin: "built" | "prebuilt";
|
|
294
|
+
platform?: string;
|
|
295
|
+
sha256: string;
|
|
296
|
+
}
|
|
297
|
+
/** A `fetch: build` git resource: the commit its selector resolved to and the archive cut from that commit. */
|
|
298
|
+
export interface CompileReportWorkspaceGitResource extends Partial<WorkspaceResourceOwnership> {
|
|
299
|
+
auth: "none" | "ssh_key" | "ssh_key_env";
|
|
300
|
+
cache_key: string;
|
|
301
|
+
commit: string;
|
|
302
|
+
content_bytes: number;
|
|
303
|
+
file_count: number;
|
|
304
|
+
id: string;
|
|
305
|
+
identity: "dev" | "release";
|
|
306
|
+
platform: string;
|
|
307
|
+
selector: {
|
|
308
|
+
kind: "branch" | "ref" | "tag";
|
|
309
|
+
value: string;
|
|
310
|
+
} | {
|
|
311
|
+
kind: "default_branch";
|
|
312
|
+
};
|
|
313
|
+
sha256: string;
|
|
314
|
+
url: string;
|
|
315
|
+
}
|
|
316
|
+
/** Present only when at least one effective compiled agent enables recording. */
|
|
317
|
+
export interface RecordingReport {
|
|
318
|
+
agents?: RecordingAgentReport[];
|
|
319
|
+
/** Maximum recording window across agents, including the 30-day default. */
|
|
320
|
+
keep_ms: number;
|
|
321
|
+
/** Durable memory mounts accessible to any recording agent, including team banks. */
|
|
322
|
+
memory_mount_ids: string[];
|
|
323
|
+
/** Per-agent recording stores protected by the same destructive-volume guard. */
|
|
324
|
+
recording_mount_ids?: string[];
|
|
325
|
+
}
|
|
271
326
|
export interface CompileReport {
|
|
272
327
|
compile_fingerprint?: string;
|
|
273
328
|
container?: ContainerReport;
|
|
@@ -276,7 +331,10 @@ export interface CompileReport {
|
|
|
276
331
|
nodes: NodeReport[];
|
|
277
332
|
output_directory?: string;
|
|
278
333
|
project_name?: string;
|
|
334
|
+
recording?: RecordingReport;
|
|
279
335
|
root: string;
|
|
280
336
|
spawnfile_version: "0.1";
|
|
337
|
+
workspace_bundles?: CompileReportWorkspaceBundle[];
|
|
338
|
+
workspace_git_resources?: CompileReportWorkspaceGitResource[];
|
|
281
339
|
}
|
|
282
340
|
export {};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
+
import { createDaimonInstallCommands } from "./daimonInstall.js";
|
|
1
2
|
import { SpawnfileError } from "../shared/index.js";
|
|
2
3
|
import { NOOPOLIS_RUN_ID_ENV, resolveNoopolisRunId } from "./common.js";
|
|
3
4
|
import { createVendorCopyCommand, needsVendorCopyCommand, resolveInstallPackageSpec } from "./containerPackageOverrides.js";
|
|
4
5
|
import { resolveRuntimeInstallSelection } from "./install.js";
|
|
5
6
|
import { DAIMON_LOCAL_RUNTIME_IDENTITY_ENV, loadLocalDaimonRuntimeIdentity } from "./localDaimonAuthority.js";
|
|
6
|
-
import { DAIMON_CONTRACT_MANIFEST_SHA256
|
|
7
|
+
import { DAIMON_CONTRACT_MANIFEST_SHA256 } from "./daimon/contractManifest.js";
|
|
7
8
|
import { DAIMON_WAKE_FUSE_DIRECTORY, DAIMON_WAKE_FUSE_DIRECTORY_ENV } from "./daimon/config.js";
|
|
8
9
|
export const RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs";
|
|
9
10
|
const PI_RUNTIME_BASE_IMAGE_ENV = "SPAWNFILE_PI_RUNTIME_BASE_IMAGE";
|
|
10
11
|
const LEGACY_DAIMON_RUNTIME_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_IMAGE";
|
|
11
12
|
const LEGACY_DAIMON_RUNTIME_CAPABILITY_RECEIPT_ENV = "SPAWNFILE_DAIMON_RUNTIME_CAPABILITY_RECEIPT";
|
|
12
|
-
const DAIMON_CAPABILITY_RECEIPT_FILE = "capability-receipt.json";
|
|
13
13
|
const OPENCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_OPENCLAW_RUNTIME_IMAGE";
|
|
14
14
|
const PICOCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_PICOCLAW_RUNTIME_IMAGE";
|
|
15
15
|
const DAIMON_PACKAGE_NAME = "@noopolis/daimon";
|
|
@@ -54,7 +54,7 @@ const resolveRuntimeImageRef = (envName, selection) => process.env[envName]?.tri
|
|
|
54
54
|
const resolveDaimonRuntimeImageRef = async (selection) => {
|
|
55
55
|
if (selection.kind !== "container_image" ||
|
|
56
56
|
!selection.digest ||
|
|
57
|
-
!selection.capabilityReceipt) {
|
|
57
|
+
!(selection.capabilityReceipt || selection.capabilityReceipts)) {
|
|
58
58
|
throw new SpawnfileError("runtime_error", "Daimon organization runtime v1 requires a pinned generic Daimon runtime image");
|
|
59
59
|
}
|
|
60
60
|
const pinnedImage = `${selection.image}@${selection.digest}`;
|
|
@@ -70,7 +70,10 @@ const resolveDaimonRuntimeImageRef = async (selection) => {
|
|
|
70
70
|
if (selection.contractManifestSha256 !== DAIMON_CONTRACT_MANIFEST_SHA256) {
|
|
71
71
|
throw new SpawnfileError("runtime_error", "Selected Daimon runtime image does not attest the compiler's exact contract manifest; build and select a matching local artifact or pin a published compatible release");
|
|
72
72
|
}
|
|
73
|
-
return {
|
|
73
|
+
return {
|
|
74
|
+
capabilityReceipt: selection.capabilityReceipts ?? selection.capabilityReceipt,
|
|
75
|
+
image: pinnedImage
|
|
76
|
+
};
|
|
74
77
|
};
|
|
75
78
|
export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
|
|
76
79
|
const selection = await resolveRuntimeInstallSelection(runtimeName);
|
|
@@ -130,15 +133,7 @@ export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
|
|
|
130
133
|
case "daimon": {
|
|
131
134
|
const daimonRuntime = await resolveDaimonRuntimeImageRef(selection);
|
|
132
135
|
return {
|
|
133
|
-
commands:
|
|
134
|
-
`test -f ${installRoot}/${DAIMON_CAPABILITY_RECEIPT_FILE} && actual="$(sha256sum ${installRoot}/${DAIMON_CAPABILITY_RECEIPT_FILE} | awk '{print "sha256:" $1}')" && test "$actual" = ${JSON.stringify(daimonRuntime.capabilityReceipt)}`,
|
|
135
|
-
`test -f ${installRoot}/contract-manifest.json && test -f ${installRoot}/contract-manifest.sha256 && manifest="$(cat ${installRoot}/contract-manifest.sha256)" && test "$manifest" = ${JSON.stringify(DAIMON_CONTRACT_MANIFEST_SHA256)} && test "$(sha256sum ${installRoot}/contract-manifest.json | awk '{print "sha256:" $1}')" = "$manifest" && node -e 'const fs=require("fs");const r=JSON.parse(fs.readFileSync(process.argv[1],"utf8"));if(r.manifest_sha256!==process.argv[2])process.exit(1)' ${installRoot}/${DAIMON_CAPABILITY_RECEIPT_FILE} "$manifest"`,
|
|
136
|
-
`ln -sf ${installRoot}/bin/daimon-runtime /usr/local/bin/daimon-runtime`,
|
|
137
|
-
`ln -sf ${installRoot}/bin/codex /usr/local/bin/codex`,
|
|
138
|
-
`install -o root -g root -m 0555 ${installRoot}/bin/grok /usr/local/bin/grok && arch="$(dpkg --print-architecture)" && case "$arch" in amd64) expected=${DAIMON_GROK_ENGINE_BROKER.grokCliArtifacts.x64.sha256} ;; arm64) expected=${DAIMON_GROK_ENGINE_BROKER.grokCliArtifacts.arm64.sha256} ;; *) exit 1 ;; esac && test "$(sha256sum /usr/local/bin/grok | awk '{print $1}')" = "$expected"`,
|
|
139
|
-
`ln -sf ${installRoot}/bin/agy /usr/local/bin/agy`,
|
|
140
|
-
`mkdir -p /opt/daimon/bin && install -o root -g root -m 0555 ${installRoot}/bin/daimon-engine-broker /opt/daimon/bin/daimon-engine-broker && arch="$(dpkg --print-architecture)" && case "$arch" in amd64) expected=${DAIMON_GROK_ENGINE_BROKER.artifacts.x64Sha256} ;; arm64) expected=${DAIMON_GROK_ENGINE_BROKER.artifacts.arm64Sha256} ;; *) exit 1 ;; esac && test "$(sha256sum /opt/daimon/bin/daimon-engine-broker | awk '{print $1}')" = "$expected"`
|
|
141
|
-
],
|
|
136
|
+
commands: createDaimonInstallCommands(installRoot, daimonRuntime.capabilityReceipt),
|
|
142
137
|
copyCommands: [createRuntimeImageCopyCommand(daimonRuntime.image, installRoot)],
|
|
143
138
|
env: {
|
|
144
139
|
...containerEnv,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SpawnfileError } from "../../shared/index.js";
|
|
2
2
|
import { CLI_ENGINE_SKILL_BASE_DIRECTORIES, createAgentCapabilities, createDiagnostic, createDocumentFiles, createSkillFiles } from "../common.js";
|
|
3
3
|
import { parseEveryScheduleMs } from "../scheduleUtils.js";
|
|
4
|
-
import { createDaimonContainerTargets, daimonMemoryCapabilityFor, daimonMemorySelectionWarning, daimonMemoryVectorRecallWarning, DAIMON_CONFIG_FILE, DAIMON_CONTROL_PORT, DAIMON_ENGINES, resolveDaimonEngine } from "./config.js";
|
|
4
|
+
import { assertDaimonAgentOptions, assertDaimonInstructionBounds, createDaimonContainerTargets, daimonMemoryCapabilityFor, daimonMemorySelectionWarning, daimonMemoryVectorRecallWarning, DAIMON_CONFIG_FILE, DAIMON_CONTROL_PORT, DAIMON_ENGINES, resolveDaimonEngine } from "./config.js";
|
|
5
5
|
import { resolveDaimonGrokModel } from "./grokModel.js";
|
|
6
6
|
import { prepareDaimonRuntimeAuth } from "./runAuth.js";
|
|
7
7
|
import { hasDaimonScheduleAuthority } from "./scheduleAuthority.js";
|
|
@@ -18,7 +18,7 @@ const assertDaimonSurfaces = (surfaces) => {
|
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
const assertDaimonModel = (target) => {
|
|
21
|
-
if (target.provider === "openai" && target.auth.method === "codex" && !target.endpoint
|
|
21
|
+
if (target.provider === "openai" && target.auth.method === "codex" && !target.endpoint)
|
|
22
22
|
return;
|
|
23
23
|
if (target.provider === "xai" && target.auth.method === "grok" && !target.endpoint)
|
|
24
24
|
return;
|
|
@@ -99,11 +99,14 @@ const daimonCodexPolicyError = (node) => {
|
|
|
99
99
|
* organization, and the declaration this compiler lowers is one the runtime
|
|
100
100
|
* actually honours. The remaining validations are engine-independent and stay.
|
|
101
101
|
*/
|
|
102
|
+
// `${workspace}` in an MCP command resolves to the agent workspace under
|
|
103
|
+
// `<instance-root>`, which container rendering makes absolute.
|
|
104
|
+
const isTargetAbsolutePath = (value) => value !== undefined && (value.startsWith("/") || value.startsWith("<instance-root>/"));
|
|
102
105
|
const unsupportedAgentFeatures = (node) => {
|
|
103
106
|
for (const server of node.mcpServers) {
|
|
104
107
|
if (!server.tools?.length)
|
|
105
108
|
throw new SpawnfileError("validation_error", `Daimon MCP server ${server.name} requires an explicit tools allowlist`);
|
|
106
|
-
if (server.transport === "stdio" && !server.command
|
|
109
|
+
if (server.transport === "stdio" && !isTargetAbsolutePath(server.command))
|
|
107
110
|
throw new SpawnfileError("validation_error", `Daimon stdio MCP server ${server.name} requires an absolute command`);
|
|
108
111
|
}
|
|
109
112
|
const engine = resolveDaimonEngine(node);
|
|
@@ -210,6 +213,14 @@ export const daimonAdapter = {
|
|
|
210
213
|
},
|
|
211
214
|
createContainerTargets: createDaimonContainerTargets,
|
|
212
215
|
name: "daimon",
|
|
216
|
+
preflightAgent(node, nodeId) {
|
|
217
|
+
unsupportedAgentFeatures(node);
|
|
218
|
+
const codexPolicyError = daimonCodexPolicyError(node);
|
|
219
|
+
if (codexPolicyError)
|
|
220
|
+
throw new SpawnfileError("validation_error", codexPolicyError);
|
|
221
|
+
assertDaimonAgentOptions(nodeId, node);
|
|
222
|
+
assertDaimonInstructionBounds(nodeId, node);
|
|
223
|
+
},
|
|
213
224
|
prepareRuntimeAuth: prepareDaimonRuntimeAuth,
|
|
214
225
|
systemInstructionSurface: {
|
|
215
226
|
placement: "append_pointer",
|
|
@@ -223,7 +234,7 @@ export const daimonAdapter = {
|
|
|
223
234
|
(typeof options.engine !== "string" || !DAIMON_ENGINES.includes(options.engine))) {
|
|
224
235
|
diagnostics.push(createDiagnostic("error", `Daimon runtime option engine must be one of ${DAIMON_ENGINES.join(", ")}`));
|
|
225
236
|
}
|
|
226
|
-
for (const key of Object.keys(options).filter((key) => !["engine", "restrict_to_workspace", "codex_policy", "attention"].includes(key))) {
|
|
237
|
+
for (const key of Object.keys(options).filter((key) => !["engine", "restrict_to_workspace", "codex_policy", "attention", "turn_limits"].includes(key))) {
|
|
227
238
|
diagnostics.push(createDiagnostic("error", `Daimon runtime option ${key} is not part of organization runtime v1`));
|
|
228
239
|
}
|
|
229
240
|
if (options.codex_policy !== undefined && options.codex_policy !== "workspace-no-network") {
|
|
@@ -21,5 +21,9 @@ export declare const DAIMON_WAKE_FUSE_MOUNT_ID = "daimon-wake-fuse";
|
|
|
21
21
|
export declare const DAIMON_RUNTIME_HOMES_DIRECTORY = "runtime-homes";
|
|
22
22
|
export declare const DAIMON_ENGINES: readonly ["agy", "codex", "grok"];
|
|
23
23
|
type DaimonEngine = typeof DAIMON_ENGINES[number];
|
|
24
|
+
/** The per-agent option checks `createDaimonContainerTargets` applies, for preflight. */
|
|
25
|
+
export declare const assertDaimonAgentOptions: (agentId: string, node: ResolvedAgentNode) => void;
|
|
26
|
+
/** The instruction-size check compile applies in `createDaimonContainerTargets`, for preflight. */
|
|
27
|
+
export declare const assertDaimonInstructionBounds: (agentId: string, node: ResolvedAgentNode) => void;
|
|
24
28
|
export declare const resolveDaimonEngine: (node: ResolvedAgentNode) => DaimonEngine;
|
|
25
29
|
export declare const createDaimonContainerTargets: (inputs: ContainerTargetInput[]) => Promise<ContainerTarget[]>;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import { CLI_ENGINE_SKILL_BASE_DIRECTORIES } from "../common.js";
|
|
2
3
|
import { parseEveryScheduleMs } from "../scheduleUtils.js";
|
|
3
4
|
import { SpawnfileError } from "../../shared/index.js";
|
|
4
5
|
import { DAIMON_AGY_SUBSCRIPTION_REALM, DAIMON_ENGINE_CREDENTIALS, DAIMON_GROK_SUBSCRIPTION_REALM, DAIMON_GROK_TURN_USAGE_LEDGER } from "./contractManifest.js";
|
|
5
6
|
import { DAIMON_INSTANCE_STATE_ROOT, daimonMemoryCapabilityFor, daimonMemorySelectionWarning, daimonMemoryVectorRecallWarning, resolveDaimonAgentMemory } from "./memory.js";
|
|
6
7
|
import { assertDaimonScheduleAuthority } from "./scheduleAuthority.js";
|
|
7
8
|
import { assertDaimonAttentionAuthority, resolveDaimonAttention } from "./attention.js";
|
|
9
|
+
import { resolveDaimonGrokTurnLimits } from "./grokTurnLimits.js";
|
|
8
10
|
import { resolveDaimonGrokModel } from "./grokModel.js";
|
|
11
|
+
import { assertDaimonRecordingIsolation, daimonRecordingMountId, resolveDaimonAgentRecording } from "./recording.js";
|
|
9
12
|
export const DAIMON_CODEX_WORKSPACE_NO_NETWORK_POLICY = { mode: "workspace-write", networkAccess: false, webSearch: "disabled" };
|
|
10
13
|
// Re-exported so every existing importer of these names keeps working; the
|
|
11
14
|
// definitions themselves now live in `./memory.js`.
|
|
@@ -50,11 +53,31 @@ const normalizeSchedule = (node) => {
|
|
|
50
53
|
const formatInstructions = (node) => node.docs.map((document) => `# ${document.role}\n\n${document.content}`).join("\n\n").trim() ||
|
|
51
54
|
`You are ${node.name}. Follow the workspace instructions.`;
|
|
52
55
|
const assertPublicInstructionBounds = (agentId, instructions) => {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
const bytes = Buffer.byteLength(instructions, "utf8");
|
|
57
|
+
const codepoints = [...instructions].length;
|
|
58
|
+
if (bytes > DAIMON_MAX_INSTRUCTION_BYTES || codepoints > DAIMON_MAX_INSTRUCTION_CODEPOINTS) {
|
|
59
|
+
throw new SpawnfileError("validation_error", `Daimon organization runtime v1 instructions for ${agentId} exceed Daimon's public config limit (${bytes} bytes, ${codepoints} code points; limit ${DAIMON_MAX_INSTRUCTION_BYTES} each)`);
|
|
56
60
|
}
|
|
57
61
|
};
|
|
62
|
+
const assertTurnLimitsEngine = (agentId, engine, turnLimits) => {
|
|
63
|
+
if (engine !== "grok" && turnLimits !== undefined) {
|
|
64
|
+
throw new SpawnfileError("validation_error", `Daimon runtime option turn_limits is only supported on a brokered Grok agent: ${agentId}`);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
// Daimon lowers only the primary model; an effort on a fallback would be accepted and dropped.
|
|
68
|
+
const assertNoFallbackReasoningEffort = (agentId, node) => {
|
|
69
|
+
if ((node.execution?.model?.fallback ?? []).some((target) => target.reasoning_effort !== undefined)) {
|
|
70
|
+
throw new SpawnfileError("validation_error", `Daimon lowers reasoning_effort only from the primary model; remove it from fallback models: ${agentId}`);
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
/** The per-agent option checks `createDaimonContainerTargets` applies, for preflight. */
|
|
74
|
+
export const assertDaimonAgentOptions = (agentId, node) => {
|
|
75
|
+
resolveDaimonAttention(node.runtime.options.attention);
|
|
76
|
+
assertNoFallbackReasoningEffort(agentId, node);
|
|
77
|
+
assertTurnLimitsEngine(agentId, resolveDaimonEngine(node), resolveDaimonGrokTurnLimits(node.runtime.options.turn_limits));
|
|
78
|
+
};
|
|
79
|
+
/** The instruction-size check compile applies in `createDaimonContainerTargets`, for preflight. */
|
|
80
|
+
export const assertDaimonInstructionBounds = (agentId, node) => assertPublicInstructionBounds(agentId, formatInstructions(node));
|
|
58
81
|
export const resolveDaimonEngine = (node) => {
|
|
59
82
|
const engine = node.runtime.options.engine ?? "codex";
|
|
60
83
|
if (typeof engine === "string" && DAIMON_ENGINES.includes(engine)) {
|
|
@@ -69,12 +92,14 @@ const resolveDaimonEngineConfig = (node) => {
|
|
|
69
92
|
return { kind, model: declared.model, reasoningEffort: declared.reasoningEffort };
|
|
70
93
|
}
|
|
71
94
|
const model = kind === "codex" ? node.execution?.model?.primary?.name : undefined;
|
|
95
|
+
const reasoningEffort = kind === "codex" ? node.execution?.model?.primary?.reasoning_effort : undefined;
|
|
72
96
|
const codexSandbox = kind === "codex" && node.runtime.options.codex_policy === "workspace-no-network"
|
|
73
97
|
? DAIMON_CODEX_WORKSPACE_NO_NETWORK_POLICY
|
|
74
98
|
: undefined;
|
|
75
99
|
return {
|
|
76
100
|
kind,
|
|
77
101
|
...(model === undefined ? {} : { model }),
|
|
102
|
+
...(reasoningEffort === undefined ? {} : { reasoningEffort }),
|
|
78
103
|
...(codexSandbox === undefined ? {} : { codexSandbox })
|
|
79
104
|
};
|
|
80
105
|
};
|
|
@@ -127,8 +152,14 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
127
152
|
if (agents.length > DAIMON_MAX_AGENTS) {
|
|
128
153
|
throw new SpawnfileError("validation_error", `Daimon organization runtime v1 supports at most 32 agents; found ${agents.length}. Split the organization across explicit runtime boundaries.`);
|
|
129
154
|
}
|
|
155
|
+
for (const input of agents)
|
|
156
|
+
assertNoFallbackReasoningEffort(input.id, input.value);
|
|
130
157
|
const hasSchedules = agents.some((input) => input.value.schedule !== undefined);
|
|
131
158
|
const attentionById = new Map(agents.map((input) => [input.id, resolveDaimonAttention(input.value.runtime.options.attention)]));
|
|
159
|
+
// Declared per agent and carried to the broker's service config, never into the Daimon
|
|
160
|
+
// organization config: `turn_limits` is a registration budget, and the contract's
|
|
161
|
+
// `consumedConfigFields` does not include it.
|
|
162
|
+
const turnLimitsById = new Map(agents.map((input) => [input.id, resolveDaimonGrokTurnLimits(input.value.runtime.options.turn_limits)]));
|
|
132
163
|
const hasAttention = [...attentionById.values()].some((attention) => attention !== undefined);
|
|
133
164
|
if (hasAttention)
|
|
134
165
|
await assertDaimonAttentionAuthority();
|
|
@@ -137,6 +168,7 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
137
168
|
const configAgents = agents
|
|
138
169
|
.map((input) => {
|
|
139
170
|
const memory = resolveDaimonAgentMemory(input.value);
|
|
171
|
+
const recording = resolveDaimonAgentRecording(input, DAIMON_ORGANIZATION_TARGET_ID, agents.length);
|
|
140
172
|
return {
|
|
141
173
|
engine: resolveDaimonEngineConfig(input.value),
|
|
142
174
|
id: input.id,
|
|
@@ -148,6 +180,7 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
148
180
|
...(server.auth?.mode === "bearer" ? { authSecretEnv: server.auth.secret } : {})
|
|
149
181
|
})) }),
|
|
150
182
|
...(memory ? { memory } : {}),
|
|
183
|
+
...(recording ? { recording } : {}),
|
|
151
184
|
...(attentionById.get(input.id) === undefined ? {} : { attention: attentionById.get(input.id) }),
|
|
152
185
|
...(input.value.surfaces?.moltnet?.length ? { moltnet: {
|
|
153
186
|
cliPath: "/usr/local/bin/moltnet",
|
|
@@ -160,7 +193,18 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
160
193
|
};
|
|
161
194
|
})
|
|
162
195
|
.sort((left, right) => left.id.localeCompare(right.id));
|
|
196
|
+
assertDaimonRecordingIsolation(configAgents.map((agent) => agent.recording), DAIMON_INSTANCE_STATE_ROOT);
|
|
197
|
+
const recordingMounts = configAgents.flatMap((agent) => agent.recording ? [{
|
|
198
|
+
id: daimonRecordingMountId(path.posix.basename(agent.recording.directory)),
|
|
199
|
+
lifecycle: "exclusive-reattach", mountPath: agent.recording.directory,
|
|
200
|
+
reason: `Daimon wake recording for ${agent.id}`
|
|
201
|
+
}] : []);
|
|
163
202
|
const engineByNodeId = Object.fromEntries(configAgents.map((agent) => [agent.id, agent.engine.kind]));
|
|
203
|
+
for (const agent of configAgents)
|
|
204
|
+
assertTurnLimitsEngine(agent.id, agent.engine.kind, turnLimitsById.get(agent.id));
|
|
205
|
+
const grokTurnLimitsByNodeId = Object.fromEntries(configAgents
|
|
206
|
+
.filter((agent) => agent.engine.kind === "grok" && turnLimitsById.get(agent.id) !== undefined)
|
|
207
|
+
.map((agent) => [agent.id, turnLimitsById.get(agent.id)]));
|
|
164
208
|
const grokModelByNodeId = Object.fromEntries(configAgents
|
|
165
209
|
.filter((agent) => agent.engine.kind === "grok" && agent.engine.model !== undefined && agent.engine.reasoningEffort !== undefined)
|
|
166
210
|
.map((agent) => [agent.id, { model: agent.engine.model, reasoningEffort: agent.engine.reasoningEffort }]));
|
|
@@ -204,8 +248,13 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
204
248
|
throw new SpawnfileError("validation_error", "Daimon organization runtime v1 config exceeds Daimon's public config limit");
|
|
205
249
|
}
|
|
206
250
|
return [{
|
|
251
|
+
agentPathsByNodeId: Object.fromEntries(configAgents.map((agent) => [agent.id, {
|
|
252
|
+
workspacePath: agent.workspacePath, homePath: agent.runtimeHomePath,
|
|
253
|
+
skillRoots: agent.engine.kind === "grok" ? [] : CLI_ENGINE_SKILL_BASE_DIRECTORIES.map((root) => path.posix.join(agent.workspacePath, path.posix.relative("workspace", root)))
|
|
254
|
+
}])),
|
|
207
255
|
engineByNodeId,
|
|
208
256
|
...(hasGrok ? { grokModelByNodeId } : {}),
|
|
257
|
+
...(hasGrok && Object.keys(grokTurnLimitsByNodeId).length > 0 ? { grokTurnLimitsByNodeId } : {}),
|
|
209
258
|
files: [
|
|
210
259
|
...agents.flatMap((input) => input.emittedFiles.map((file) => moveWorkspaceFile(file, input.slug))),
|
|
211
260
|
{ content: serializedConfig, path: DAIMON_CONFIG_FILE },
|
|
@@ -222,7 +271,7 @@ export const createDaimonContainerTargets = async (inputs) => {
|
|
|
222
271
|
...(hasGrok ? [DAIMON_GROK_SUBSCRIPTION_REALM.bootstrapMountPath] : [])
|
|
223
272
|
],
|
|
224
273
|
} : {}),
|
|
225
|
-
persistentMounts: [...portableEngineHomeMounts, ...toolStateMounts, {
|
|
274
|
+
persistentMounts: [...portableEngineHomeMounts, ...toolStateMounts, ...recordingMounts, {
|
|
226
275
|
id: DAIMON_RUNTIME_ACCEPTANCE_STORE_MOUNT_ID,
|
|
227
276
|
mountPath: `<instance-root>/${DAIMON_RUNTIME_ACCEPTANCE_STORE_DIRECTORY}`,
|
|
228
277
|
reason: "Daimon organization durable wake acceptance store"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"activityResponseSchema":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"id":{"format":"uuid","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$","type":"string"},"kind":{"enum":["wake_started","wake_completed","wake_rejected","wake_aborted","agent_stopped"]},"occurredAt":{"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$","type":"string"},"wakeId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["id","agentId","kind","occurredAt"],"type":"object"},"maxItems":100,"type":"array"},"nextCursor":{"maxLength":16,"minLength":1,"pattern":"^(0|[1-9][0-9]{0,15})$","type":"string"},"version":{"const":"noopolis.daimon.organization-runtime-activity.v1"}},"required":["version","items"],"type":"object"},"activityV2ResponseSchema":{"additionalProperties":false,"properties":{"executions":{"items":{"additionalProperties":false,"properties":{"agent_id":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"delivery_ids":{"items":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"maxItems":32,"type":"array"},"execution_id":{"type":"string"},"state":{"const":"running"}},"required":["agent_id","execution_id","state","delivery_ids"],"type":"object"},"maxItems":32,"type":"array"},"items":{"items":{"additionalProperties":false,"properties":{"acceptance_id":{"type":"string"},"accepted_at":{"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$","type":"string"},"active":{"type":"boolean"},"agent_id":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"code":{"enum":["engine_failed","host_stopped","host_stopping","queued_wake_stopped","active_wake_aborted","queue_full","unknown_agent"]},"deferred":{"type":"boolean"},"delivery_id":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"execution_id":{"type":"string"},"queue_position":{"minimum":1,"type":"integer"},"request_digest":{"type":"string"},"state":{"enum":["accepted","running","completed","failed","stopped"]},"text":{"maxLength":16384,"type":"string"},"updated_at":{"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$","type":"string"},"version":{"const":"noopolis.daimon.wake-receipt-status.v2"}},"required":["version","acceptance_id","agent_id","delivery_id","request_digest","state","accepted_at","updated_at","active"],"type":"object"},"maxItems":2112,"type":"array"},"state":{"enum":["running","stopped"]},"version":{"const":"noopolis.daimon.organization-runtime-activity.v2"}},"required":["version","items"],"type":"object"},"agySubscriptionRealm":{"directoryMode":448,"durableMountPath":"/var/lib/spawnfile/daimon/agy-subscription-realm","fileMode":384,"maxUnlockBytes":4096,"unlockMountPath":"/var/lib/spawnfile/daimon/agy-unlock-secret","unlockSourceSlot":"agy-unlock-secret"},"attention":{"accounting":"execution-start-reservations","busyDispatch":"bounded-pending-message-batch","completion":"explicit-per-delivery","defaultMaxBatchBytes":12000,"defaultMaxBatchMessages":8,"enabledBy":"agents[].attention","idleDispatch":"immediate","unhandled":"deferred-until-new-input"},"consumedConfigFields":["version","host.bindHost","host.port","host.controlTokenEnv","agents[].id","agents[].name","agents[].instructions","agents[].workspacePath","agents[].runtimeHomePath","agents[].engine.kind","agents[].engine.model","agents[].engine.reasoningEffort","agents[].engine.codexSandbox","agents[].schedule.kind","agents[].schedule.interval_ms","agents[].schedule.cron","agents[].schedule.timezone","agents[].schedule.prompt","agents[].schedule.jitter_seconds","agents[].mcp","agents[].moltnet","agents[].memory","agents[].attention","agents[].recording"],"deliverySemantics":{"activeDeliveryIdempotency":"unbounded-until-terminal","concurrentSameAgentTurns":false,"externalEffectsExactlyOnce":false,"recovery":"at-least-once-with-stable-wake-id","terminalReceiptHorizon":2048},"engineCredentialMaterial":{"codex":{"destinationRelativePath":".codex/auth.json","directoryMode":448,"fileMode":384,"sourceRelativePath":".daimon-inbound/codex-auth","sourceSlot":"codex-auth"}},"grokEngineBroker":{"artifacts":{"arm64Sha256":"d0dc1c03197c3e90f09b66ad7c89b4f7b448d06dc84c03b247dce976d6018d6e","sourceSha256":"15836d7ad69f12ef581a6e5b8635c9db43b2177dac609160c0749d3d1fefbaa8","x64Sha256":"95aa9c272225e74ff9f45f54dde4bc30aee324e9ba24d8a876db9151c81b454d"},"backendSocketPath":"/run/daimon-engine-broker/backend.sock","bounds":{"capabilityBundleBytes":8196,"capabilityBytes":4096,"outputBytes":262144,"promptBytes":65536},"controlProtocolVersion":"noopolis.daimon.engine-broker.v4","controlSocketPath":"/run/daimon-engine-broker/control.sock","credentialHomePath":"/var/lib/spawnfile/daimon/grok-subscription-realm","grokCliArtifacts":{"arm64":{"bytes":136090504,"sha256":"39ab87666877d64ef3a40aa60fbe0c3b6a6acd7001b78fe60e2c76bb6cfc4a94","url":"https://storage.googleapis.com/grok-build-public-artifacts/cli/grok-1.0.34-linux-aarch64"},"x64":{"bytes":163035648,"sha256":"be5905e107d2b8b5f3c142d21ecfe4c8fd32a913d2fd551b788707930c4dc80d","url":"https://storage.googleapis.com/grok-build-public-artifacts/cli/grok-1.0.34-linux-x86_64"}},"grokCliBuild":"3736acbc8658","grokCliVersion":"1.0.34","grokExecutablePath":"/usr/local/bin/grok","identities":{"brokerUid":2100,"firstWorkerUid":2200,"organizationUid":2000},"inferenceGrants":{"bodyMembers":["messages","model","reasoning_effort","response_format","stream","stream_options"],"client":{"configSha256":{"grok-4.5":{"high":"ffbc33728b821e9854fbc7c93601e599225da421ecfd6ebf10d314afcc28d6f2","low":"a07f7436f1268bb399ec233c65d3b3d8fb99a11a1f175f8da1ca133c9367bc74","medium":"1f4c0d4dad1f3b09419b5739db6423a09e0049abc091594c64123a75dd53dfb9"},"grok-4.6":{"high":"5652656effa82f0c4f09cf8226b16e6140332a5a358b571194bb5563312367ac","low":"79314d039f787e4ebfec7dacf57adc969086b948f564dec008f0ed6367e6062f","medium":"6f538de0547c0c4e6a3f04ae08595ceadadabb06b75f6b6ee4c428744bb95cd8"},"grok-build":{"high":"98d16f2b7d12f4eb540d625c853e51d227933e204923e43e8b9b4176f10aca2c","low":"ca15c6a562a008227d39c51d3a3a83715663089b3784e8b46debb1fb67b3c4a1","medium":"01783fb6beadcf6f8486fff0836820ad43fab5662b812a907fe9cfdb83e9804d"}},"envKey":"DAIMON_INFERENCE_GRANT","modelId":"daimon-inference-grok"},"failureCodes":["auth_stale","grant_limit","invalid_request","unavailable"],"ledgerDedupeKey":["grant","request"],"ledgerVersion":"noopolis.daimon.inference-usage.v1","limits":{"maxRequests":64,"maxTokens":2000000},"maxInFlightRequestsPerGrant":1,"maxLiveGrants":8,"messageRoles":["system","user","assistant"],"purposes":["judge","optimizer"],"requestKinds":["request_inference_grant","release_inference_grant"],"tokenPrefix":"inference_","ttlMs":600000},"launcherSocketPath":"/run/daimon-engine-broker/launcher.sock","mcpFacade":{"host":"127.0.0.1","path":"/mcp","port":43124},"nativeAbiVersion":2,"nativeExecutablePath":"/opt/daimon/bin/daimon-engine-broker","projectionVersion":"noopolis.daimon.grok-broker-projection.v3","providerProxy":{"host":"127.0.0.1","port":43123},"registrationPath":"/etc/daimon-engine-broker/registrations.bin","runRequestBudget":{"countsCredentialRetries":true,"fileName":"run-requests.json","includesInferenceGrants":true,"maximumField":"maxRunRequests","storeField":"runRequestStore"},"serviceConfigPath":"/etc/daimon-engine-broker/service.json","serviceConfigVersions":["noopolis.daimon.engine-broker-service.v1","noopolis.daimon.engine-broker-service.v2","noopolis.daimon.engine-broker-service.v3"],"slotPreflightVersion":"noopolis.daimon.grok-slot-preflight.v2","slotRouting":{"controlCaller":"organization","key":"slot","repeatedAgentIds":true,"resetRequest":"reset_slot","resetResponse":"slot_reset","slotEnvironment":"DAIMON_ENGINE_BROKER_SLOT","turnStoreDirectory":"slot-{slot}","workersMayControl":false},"turnLimits":{"bounds":{"maxRequests":[1,48],"maxTokens":[1,10000000],"timeoutMs":[1000,3600000]},"keys":["maxRequests","maxTokens","timeoutMs"],"limitReasons":["tokens","requests","timeout","none"],"maxInFlightRequests":1,"missingUsageEstimate":{"inputBytesPerToken":2,"outputTokens":4096},"requestUsageMaxTokens":500000,"tokenCeilingOvershoot":"at-most-one-request","v1Defaults":{"maxRequests":32,"maxTokens":300000,"timeoutMs":240000},"wakeMayOnlyLower":true},"turnRecordVersions":["noopolis.daimon.engine-broker-turn.v1","noopolis.daimon.engine-broker-turn.v2"],"turnStorePath":"/var/lib/spawnfile/daimon/grok-subscription-realm/turns","wakeLimitEnvironment":{"maxTokens":"DAIMON_ENGINE_WAKE_TOKEN_CEILING","timeoutMs":"DAIMON_ENGINE_WAKE_TIMEOUT_MS"},"worker":{"clockedConfigSha256":{"grok-4.5":{"high":"907d8967960c342b442d6d256b2585f3c85bd846a78578f596f0b605403d6d34","low":"3c4f3515b21c1bffb3fb770e2ecb4b918b6c43d5e77c1fd47e1e6698d1fedee7","medium":"9117e12b2f3f6fa045799592969cbaae1c2f3b1ea79330badac8655b9b41dd7a"},"grok-4.6":{"high":"203744f6f0dfc0bc80cfb896880497edfd9b3de4dcf33060e8ef4d2ef5f220a7","low":"751f1dcd04983e5e5883df5a8fefa04f201e187e5ef1f344d3bf83f950830432","medium":"f1406f93a8091eb0c09e07321254a9c783a89b0bbf5548d9613d53a8d087a517"},"grok-build":{"high":"6efddadc82c38020d3351829e54bb09fa456cd6d76ea1247902794d82a4a3ffa","low":"a8c63ba910623a0686930c27db0733f4a2588c7fca9dd7da25c3f18027720ab5","medium":"6afcd2b90c0d19794f8c0d22147a0f011946a92e613f89dae98b0ca729313101"}},"configSha256":{"grok-4.5":{"high":"c63c3387ce92d94ec3f690abfe98942afcd7c9e17ff84816bbe751f340ab251f","low":"8247127c3625ff7c5d8d527a53596b89ec6557a821ac46cfd00bd122b90daff6","medium":"59288cee61297bb8c002097061a48f77b09d310754187a253ee089f7172a9155"},"grok-4.6":{"high":"65b0212564fb74042b1503d293fb8d3620276033264c0efade2a539ca09218e3","low":"ab58499ac32678097c146479896f2b8a8e2b0e39aea22dc0a60b6227e370538e","medium":"df1a5cc84346e7f6bf6090492fbd19faaefb42953e3bb2e8c6cbc0572242403f"},"grok-build":{"high":"a23724e00d670caee185ba7690d2daa868173e53905cf446f5329666f01ab4e3","low":"fb343f2809903f26d21681470943235031f946e99085542fd89555eb7782cbb5","medium":"8a587ef75c90eab70d19b24583e60051d6fba9d90c558839fdbb15588b4cc656"}},"defaultModel":"grok-4.6","defaultReasoningEffort":"low","home":{"directory":{"group":"worker","mode":1017,"uid":0},"organizationRuntimeHome":{"group":"worker","mode":456,"owner":"organization"},"privateTmp":{"mode":448,"owner":"worker","relativeToWorkerHome":"tmp"},"readOnlyFiles":{"gid":0,"mode":292,"names":["config.toml","managed_config.toml","requirements.toml","sandbox.toml","trusted_folders.toml"],"uid":0},"sandboxEvents":{"group":"broker","mode":416,"owner":"worker","relativePath":"sessions/sandbox-events.jsonl"},"sessionsDirectory":{"group":"worker","mode":1017,"relativePath":"sessions","uid":0},"sharedTmp":{"maxGroupExclusive":2200,"mode":1020,"otherMode":4,"paths":["/tmp","/var/tmp"],"uid":0},"spillDirectory":{"fileMode":416,"group":"worker","mode":1512,"owner":"organization","relativeToRuntimeHome":"tool-output"}},"maxTurns":48,"modelId":"daimon-broker-grok","models":["grok-4.6","grok-4.5","grok-build"],"reasoningEfforts":["low","medium","high"],"systemPromptSha256":"2c31c0085a54a4efbf9c0cf0b8124c56e47f38691b7f0c7fa233a74abaa8ddf8","taskClock":{"directoryMode":493,"directoryPath":"/run/daimon-engine-broker/task-clock/slot-0","fileMode":420,"ownerUid":2100,"preloadPath":"/usr/local/lib/daimon/libfaketime.so.1","rootDirectoryPath":"/run/daimon-engine-broker/task-clock","slotDirectoryPattern":"/run/daimon-engine-broker/task-clock/slot-{slot}","slotFilePattern":"/run/daimon-engine-broker/task-clock/slot-{slot}/faketime","timestampFilePath":"/run/daimon-engine-broker/task-clock/slot-0/faketime","version":"noopolis.daimon.grok-broker-task-clock.v2","workerView":"own-directory-visible-sibling-directories-denied"},"toolIds":["run_terminal_cmd","read_file","grep","list_dir","search_tool","use_tool"],"visibleTools":["grep","list_dir","read_file","run_terminal_command","search_tool","use_tool"]}},"grokSubscriptionRealm":{"agentCredentialRelativePath":".grok/auth.json","bootstrapMountPath":"/var/lib/spawnfile/daimon/grok-bootstrap-auth","bootstrapSourceSlot":"grok-auth","directoryMode":448,"durableMountPath":"/var/lib/spawnfile/daimon/grok-subscription-realm","fileMode":384,"maxCredentialBytes":65536},"healthResponseSchema":{"additionalProperties":false,"properties":{"agents":{"items":{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"state":{"enum":["starting","running","stopping","stopped","idle","failed"]}},"required":["agentId","state"],"type":"object"},"maxItems":32,"type":"array"},"state":{"enum":["starting","running","stopping","stopped"]},"version":{"const":"noopolis.daimon.organization-runtime-health.v1"}},"required":["version","state","agents"],"type":"object"},"operatorDrain":{"authorization":"control-bearer","blockedReason":"operator_stop","drainRoute":"POST /v2/drain","queuedWakes":"retained","response":"workAvailabilityResponseSchema","resumeClearsOperatorStop":false,"resumeRoute":"POST /v2/resume","runningTurns":"finish","scope":"process"},"organizationRuntimeConfigSchema":{"$id":"noopolis.daimon.organization-runtime.v1","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"agents":{"items":{"additionalProperties":false,"properties":{"attention":{"additionalProperties":false,"properties":{"maxBatchBytes":{"maximum":12000,"minimum":1024,"type":"integer"},"maxBatchMessages":{"maximum":32,"minimum":1,"type":"integer"},"maxExecutions":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"maxTokens":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"engine":{"additionalProperties":false,"allOf":[{"if":{"properties":{"kind":{"const":"grok"}}},"then":{"dependentRequired":{"model":["reasoningEffort"],"reasoningEffort":["model"]},"properties":{"codexSandbox":false,"model":{"enum":["grok-4.6","grok-4.5","grok-build"]},"reasoningEffort":{"enum":["low","medium","high"]}}}},{"if":{"properties":{"kind":{"const":"agy"}}},"then":{"properties":{"codexSandbox":false,"model":false,"reasoningEffort":false}}}],"properties":{"codexSandbox":{"additionalProperties":false,"properties":{"mode":{"const":"workspace-write"},"networkAccess":{"const":false},"webSearch":{"const":"disabled"}},"required":["mode","networkAccess","webSearch"],"type":"object"},"kind":{"enum":["codex","grok","agy"]},"model":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"reasoningEffort":{"enum":["none","minimal","low","medium","high","xhigh","max","ultra","persistent"]}},"required":["kind"],"type":"object"},"id":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"instructions":{"maxLength":16384,"minLength":1,"pattern":"\\S","type":"string"},"mcp":{"items":{"additionalProperties":false,"properties":{"args":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"},"authSecretEnv":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"command":{"pattern":"^/","type":"string"},"env":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"maxLength":4096,"minLength":1,"type":"string"},"tools":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array","uniqueItems":true},"transport":{"enum":["stdio","sse","streamable_http"]},"url":{"type":"string"}},"required":["name","transport","args","env","tools"],"type":"object"},"maxItems":8,"type":"array"},"memory":{"additionalProperties":false,"properties":{"runtimeHomePath":{"maxLength":4096,"pattern":"^/","type":"string"},"source":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"tokenBudget":{"maximum":1000000,"minimum":1,"type":"integer"}},"required":["runtimeHomePath"],"type":"object"},"moltnet":{"additionalProperties":false,"properties":{"cliPath":{"pattern":"^/","type":"string"},"configPath":{"pattern":"^/","type":"string"},"networks":{"items":{"additionalProperties":false,"properties":{"dms":{"type":"boolean"},"id":{"minLength":1,"type":"string"},"rooms":{"items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true}},"required":["id","rooms","dms"],"type":"object"},"maxItems":16,"type":"array"}},"required":["cliPath","configPath","networks"],"type":"object"},"name":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"recording":{"additionalProperties":false,"properties":{"directory":{"maxLength":4096,"pattern":"^/[^\\u0000]*$","type":"string"},"keepMs":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"snapshots":{"items":{"additionalProperties":false,"properties":{"id":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"path":{"maxLength":4096,"pattern":"^/[^\\u0000]*$","type":"string"}},"required":["id","path"],"type":"object"},"maxItems":16,"type":"array","uniqueItems":true}},"required":["directory","keepMs","snapshots"],"type":"object"},"runtimeHomePath":{"maxLength":4096,"pattern":"^/","type":"string"},"workspacePath":{"maxLength":4096,"pattern":"^/","type":"string"}},"required":["id","name","instructions","workspacePath","runtimeHomePath","engine"],"type":"object"},"maxItems":32,"minItems":1,"type":"array"},"host":{"additionalProperties":false,"properties":{"bindHost":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"controlTokenEnv":{"maxLength":4096,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"port":{"maximum":65535,"minimum":1,"type":"integer"}},"required":["bindHost","port","controlTokenEnv"],"type":"object"},"version":{"const":"noopolis.daimon.organization-runtime.v1"}},"required":["version","host","agents"],"type":"object"},"organizationRuntimeConfigV2Schema":{"$id":"noopolis.daimon.organization-runtime.v2","$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"properties":{"agents":{"items":{"additionalProperties":false,"properties":{"attention":{"additionalProperties":false,"properties":{"maxBatchBytes":{"maximum":12000,"minimum":1024,"type":"integer"},"maxBatchMessages":{"maximum":32,"minimum":1,"type":"integer"},"maxExecutions":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"maxTokens":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"engine":{"additionalProperties":false,"allOf":[{"if":{"properties":{"kind":{"const":"grok"}}},"then":{"dependentRequired":{"model":["reasoningEffort"],"reasoningEffort":["model"]},"properties":{"codexSandbox":false,"model":{"enum":["grok-4.6","grok-4.5","grok-build"]},"reasoningEffort":{"enum":["low","medium","high"]}}}},{"if":{"properties":{"kind":{"const":"agy"}}},"then":{"properties":{"codexSandbox":false,"model":false,"reasoningEffort":false}}}],"properties":{"codexSandbox":{"additionalProperties":false,"properties":{"mode":{"const":"workspace-write"},"networkAccess":{"const":false},"webSearch":{"const":"disabled"}},"required":["mode","networkAccess","webSearch"],"type":"object"},"kind":{"enum":["codex","grok","agy"]},"model":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"reasoningEffort":{"enum":["none","minimal","low","medium","high","xhigh","max","ultra","persistent"]}},"required":["kind"],"type":"object"},"id":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"instructions":{"maxLength":16384,"minLength":1,"pattern":"\\S","type":"string"},"mcp":{"items":{"additionalProperties":false,"properties":{"args":{"items":{"maxLength":4096,"type":"string"},"maxItems":32,"type":"array"},"authSecretEnv":{"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"command":{"pattern":"^/","type":"string"},"env":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"maxLength":4096,"minLength":1,"type":"string"},"tools":{"items":{"maxLength":4096,"minLength":1,"type":"string"},"maxItems":32,"minItems":1,"type":"array","uniqueItems":true},"transport":{"enum":["stdio","sse","streamable_http"]},"url":{"type":"string"}},"required":["name","transport","args","env","tools"],"type":"object"},"maxItems":8,"type":"array"},"memory":{"additionalProperties":false,"properties":{"runtimeHomePath":{"maxLength":4096,"pattern":"^/","type":"string"},"source":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"tokenBudget":{"maximum":1000000,"minimum":1,"type":"integer"}},"required":["runtimeHomePath"],"type":"object"},"moltnet":{"additionalProperties":false,"properties":{"cliPath":{"pattern":"^/","type":"string"},"configPath":{"pattern":"^/","type":"string"},"networks":{"items":{"additionalProperties":false,"properties":{"dms":{"type":"boolean"},"id":{"minLength":1,"type":"string"},"rooms":{"items":{"minLength":1,"type":"string"},"type":"array","uniqueItems":true}},"required":["id","rooms","dms"],"type":"object"},"maxItems":16,"type":"array"}},"required":["cliPath","configPath","networks"],"type":"object"},"name":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"recording":{"additionalProperties":false,"properties":{"directory":{"maxLength":4096,"pattern":"^/[^\\u0000]*$","type":"string"},"keepMs":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"snapshots":{"items":{"additionalProperties":false,"properties":{"id":{"pattern":"^[A-Za-z0-9._-]{1,128}$","type":"string"},"path":{"maxLength":4096,"pattern":"^/[^\\u0000]*$","type":"string"}},"required":["id","path"],"type":"object"},"maxItems":16,"type":"array","uniqueItems":true}},"required":["directory","keepMs","snapshots"],"type":"object"},"runtimeHomePath":{"maxLength":4096,"pattern":"^/","type":"string"},"schedule":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"disabled"}},"required":["kind"],"type":"object"},{"additionalProperties":false,"properties":{"interval_ms":{"maximum":31536000000,"minimum":1,"type":"integer"},"jitter_seconds":{"maximum":3600,"minimum":0,"type":"integer"},"kind":{"const":"every"},"prompt":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["kind","interval_ms","prompt"],"type":"object"},{"additionalProperties":false,"properties":{"cron":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"jitter_seconds":{"maximum":3600,"minimum":0,"type":"integer"},"kind":{"const":"cron"},"prompt":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"timezone":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["kind","cron","timezone","prompt"],"type":"object"}]},"workspacePath":{"maxLength":4096,"pattern":"^/","type":"string"}},"required":["id","name","instructions","workspacePath","runtimeHomePath","engine","schedule"],"type":"object"},"maxItems":32,"minItems":1,"type":"array"},"host":{"additionalProperties":false,"properties":{"bindHost":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"controlTokenEnv":{"maxLength":4096,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$","type":"string"},"port":{"maximum":65535,"minimum":1,"type":"integer"}},"required":["bindHost","port","controlTokenEnv"],"type":"object"},"version":{"const":"noopolis.daimon.organization-runtime.v2"}},"required":["version","host","agents"],"type":"object"},"supportedEngineKinds":["agy","codex","grok"],"version":"noopolis.daimon.runtime-contract-manifest.v5","wakeAcceptanceTypes":["manual","message","schedule","external"],"wakeMoments":{"captureDeadlineMs":60000,"completionSuffix":".complete","configField":"agents[].recording","finalizationDeadlineMs":1000,"maxManifestBytes":134217728,"maxRowBytes":4194304,"maxSnapshotEntries":200000,"maxSnapshotRoots":16,"rowsFile":"wake-moments.jsonl","snapshotsDirectory":"snapshots","version":"noopolis.daimon.wake-moment.v1"},"wakeRequestSchema":{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"event":{"additionalProperties":false,"properties":{"id":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"kind":{"enum":["manual","message","schedule","external"]},"occurredAt":{"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$","type":"string"},"text":{"maxLength":4096,"type":"string"},"version":{"const":"noopolis.daimon.wake.v1"}},"required":["version","id","kind","text","occurredAt"],"type":"object"}},"required":["agentId","event"],"type":"object"},"wakeResultSchema":{"oneOf":[{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"durationMs":{"minimum":0,"type":"integer"},"status":{"const":"completed"},"text":{"maxLength":4096,"type":"string"},"version":{"const":"noopolis.daimon.wake-result.v1"},"wakeId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["version","status","agentId","wakeId","text","durationMs"],"type":"object"},{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"code":{"enum":["unauthorized","unknown_agent","queue_full","durable_inbox_required"]},"status":{"const":"rejected"},"version":{"const":"noopolis.daimon.wake-result.v1"},"wakeId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["version","status","agentId","wakeId","code"],"type":"object"},{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"type":"string"},"code":{"const":"invalid_request"},"status":{"const":"rejected"},"version":{"const":"noopolis.daimon.wake-result.v1"},"wakeId":{"maxLength":4096,"type":"string"}},"required":["version","status","agentId","wakeId","code"],"type":"object"},{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"code":{"enum":["host_stopping","host_stopped","queued_wake_stopped","active_wake_aborted"]},"status":{"const":"stopped"},"version":{"const":"noopolis.daimon.wake-result.v1"},"wakeId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["version","status","agentId","wakeId","code"],"type":"object"},{"additionalProperties":false,"properties":{"agentId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"},"code":{"const":"engine_failed"},"status":{"const":"failed"},"version":{"const":"noopolis.daimon.wake-result.v1"},"wakeId":{"maxLength":4096,"minLength":1,"pattern":"\\S","type":"string"}},"required":["version","status","agentId","wakeId","code"],"type":"object"}]},"workAvailabilityResponseSchema":{"additionalProperties":false,"properties":{"agents":{"items":{"additionalProperties":false,"properties":{"agent_id":{"type":"string"},"budget":{"additionalProperties":false,"properties":{"agent_executions_remaining":{"minimum":0,"type":"integer"},"agent_executions_used":{"minimum":0,"type":"integer"},"agent_tokens_remaining":{"minimum":0,"type":"integer"},"agent_tokens_used":{"minimum":0,"type":"integer"},"armed":{"type":"boolean"},"epoch":{"type":"string"},"executions_remaining":{"minimum":0,"type":"integer"},"executions_used":{"minimum":0,"type":"integer"},"reason":{"type":"string"},"state":{"enum":["available","paused","stopped"]},"tokens_remaining":{"minimum":0,"type":"integer"},"tokens_used":{"minimum":0,"type":"integer"}},"required":["armed","epoch","state","executions_used","executions_remaining","tokens_used","tokens_remaining","agent_executions_used","agent_tokens_used"],"type":"object"},"deferred":{"minimum":0,"type":"integer"},"error":{"type":"string"},"pending":{"minimum":0,"type":"integer"},"running":{"type":"boolean"}},"required":["agent_id","pending","running","deferred","budget"],"type":"object"},"maxItems":32,"type":"array"},"drain":{"additionalProperties":false,"properties":{"since":{"type":"string"},"state":{"enum":["draining","drained"]}},"required":["state","since"],"type":"object"},"state":{"enum":["running","paused","stopped"]},"version":{"const":"noopolis.daimon.work-availability.v1"}},"required":["version","state","agents"],"type":"object"},"workBlockedSchema":{"additionalProperties":false,"properties":{"reason":{"enum":["operator_stop","ledger_unavailable","host_stopping","host_stopped","queue_full"]},"retry_after_ms":{"maximum":300000,"minimum":1000,"type":"integer"},"version":{"const":"noopolis.daimon.work-blocked.v1"}},"required":["version","reason","retry_after_ms"],"type":"object"}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
sha256:e39551277c6727c8807b1247e759f57addcee3f17f1405ebc927179647d64de6
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const
|
|
1
|
+
import { DAIMON_WAKE_MOMENTS } from "./wakeMoments.js";
|
|
2
|
+
export declare const DAIMON_CONTRACT_MANIFEST_VERSION: "noopolis.daimon.runtime-contract-manifest.v5";
|
|
3
|
+
export declare const DAIMON_CONTRACT_MANIFEST_SHA256: "sha256:e39551277c6727c8807b1247e759f57addcee3f17f1405ebc927179647d64de6";
|
|
3
4
|
export declare const DAIMON_CONTRACT_MANIFEST_FILE = "contract-manifest.json";
|
|
4
5
|
export declare const DAIMON_CONTRACT_MANIFEST_DIGEST_FILE = "contract-manifest.sha256";
|
|
5
6
|
export declare const DAIMON_RUNTIME_HOME_ROOT = "/var/lib/spawnfile/instances/daimon";
|
|
@@ -98,6 +99,36 @@ export declare const DAIMON_GROK_ENGINE_BROKER: {
|
|
|
98
99
|
readonly high: "a23724e00d670caee185ba7690d2daa868173e53905cf446f5329666f01ab4e3";
|
|
99
100
|
};
|
|
100
101
|
};
|
|
102
|
+
readonly clockedConfigSha256: {
|
|
103
|
+
readonly "grok-4.5": {
|
|
104
|
+
readonly high: "907d8967960c342b442d6d256b2585f3c85bd846a78578f596f0b605403d6d34";
|
|
105
|
+
readonly low: "3c4f3515b21c1bffb3fb770e2ecb4b918b6c43d5e77c1fd47e1e6698d1fedee7";
|
|
106
|
+
readonly medium: "9117e12b2f3f6fa045799592969cbaae1c2f3b1ea79330badac8655b9b41dd7a";
|
|
107
|
+
};
|
|
108
|
+
readonly "grok-4.6": {
|
|
109
|
+
readonly high: "203744f6f0dfc0bc80cfb896880497edfd9b3de4dcf33060e8ef4d2ef5f220a7";
|
|
110
|
+
readonly low: "751f1dcd04983e5e5883df5a8fefa04f201e187e5ef1f344d3bf83f950830432";
|
|
111
|
+
readonly medium: "f1406f93a8091eb0c09e07321254a9c783a89b0bbf5548d9613d53a8d087a517";
|
|
112
|
+
};
|
|
113
|
+
readonly "grok-build": {
|
|
114
|
+
readonly high: "6efddadc82c38020d3351829e54bb09fa456cd6d76ea1247902794d82a4a3ffa";
|
|
115
|
+
readonly low: "a8c63ba910623a0686930c27db0733f4a2588c7fca9dd7da25c3f18027720ab5";
|
|
116
|
+
readonly medium: "6afcd2b90c0d19794f8c0d22147a0f011946a92e613f89dae98b0ca729313101";
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
readonly taskClock: {
|
|
120
|
+
readonly directoryMode: 493;
|
|
121
|
+
readonly directoryPath: "/run/daimon-engine-broker/task-clock/slot-0";
|
|
122
|
+
readonly fileMode: 420;
|
|
123
|
+
readonly ownerUid: 2100;
|
|
124
|
+
readonly preloadPath: "/usr/local/lib/daimon/libfaketime.so.1";
|
|
125
|
+
readonly rootDirectoryPath: "/run/daimon-engine-broker/task-clock";
|
|
126
|
+
readonly slotDirectoryPattern: "/run/daimon-engine-broker/task-clock/slot-{slot}";
|
|
127
|
+
readonly slotFilePattern: "/run/daimon-engine-broker/task-clock/slot-{slot}/faketime";
|
|
128
|
+
readonly timestampFilePath: "/run/daimon-engine-broker/task-clock/slot-0/faketime";
|
|
129
|
+
readonly version: "noopolis.daimon.grok-broker-task-clock.v2";
|
|
130
|
+
readonly workerView: "own-directory-visible-sibling-directories-denied";
|
|
131
|
+
};
|
|
101
132
|
readonly home: {
|
|
102
133
|
readonly directory: {
|
|
103
134
|
readonly uid: 0;
|
|
@@ -154,9 +185,26 @@ export declare const DAIMON_GROK_ENGINE_BROKER: {
|
|
|
154
185
|
readonly capabilityBundleBytes: 8196;
|
|
155
186
|
readonly outputBytes: 262144;
|
|
156
187
|
};
|
|
157
|
-
readonly controlProtocolVersion: "noopolis.daimon.engine-broker.
|
|
188
|
+
readonly controlProtocolVersion: "noopolis.daimon.engine-broker.v4";
|
|
158
189
|
readonly turnRecordVersions: readonly ["noopolis.daimon.engine-broker-turn.v1", "noopolis.daimon.engine-broker-turn.v2"];
|
|
159
|
-
readonly serviceConfigVersions: readonly ["noopolis.daimon.engine-broker-service.v1", "noopolis.daimon.engine-broker-service.v2"];
|
|
190
|
+
readonly serviceConfigVersions: readonly ["noopolis.daimon.engine-broker-service.v1", "noopolis.daimon.engine-broker-service.v2", "noopolis.daimon.engine-broker-service.v3"];
|
|
191
|
+
readonly slotRouting: {
|
|
192
|
+
readonly controlCaller: "organization";
|
|
193
|
+
readonly key: "slot";
|
|
194
|
+
readonly repeatedAgentIds: true;
|
|
195
|
+
readonly resetRequest: "reset_slot";
|
|
196
|
+
readonly resetResponse: "slot_reset";
|
|
197
|
+
readonly slotEnvironment: "DAIMON_ENGINE_BROKER_SLOT";
|
|
198
|
+
readonly turnStoreDirectory: "slot-{slot}";
|
|
199
|
+
readonly workersMayControl: false;
|
|
200
|
+
};
|
|
201
|
+
readonly runRequestBudget: {
|
|
202
|
+
readonly countsCredentialRetries: true;
|
|
203
|
+
readonly fileName: "run-requests.json";
|
|
204
|
+
readonly includesInferenceGrants: true;
|
|
205
|
+
readonly maximumField: "maxRunRequests";
|
|
206
|
+
readonly storeField: "runRequestStore";
|
|
207
|
+
};
|
|
160
208
|
readonly turnLimits: {
|
|
161
209
|
readonly keys: readonly ["maxRequests", "maxTokens", "timeoutMs"];
|
|
162
210
|
readonly v1Defaults: {
|
|
@@ -183,7 +231,7 @@ export declare const DAIMON_GROK_ENGINE_BROKER: {
|
|
|
183
231
|
readonly timeoutMs: "DAIMON_ENGINE_WAKE_TIMEOUT_MS";
|
|
184
232
|
readonly maxTokens: "DAIMON_ENGINE_WAKE_TOKEN_CEILING";
|
|
185
233
|
};
|
|
186
|
-
readonly projectionVersion: "noopolis.daimon.grok-broker-projection.
|
|
234
|
+
readonly projectionVersion: "noopolis.daimon.grok-broker-projection.v3";
|
|
187
235
|
readonly slotPreflightVersion: "noopolis.daimon.grok-slot-preflight.v2";
|
|
188
236
|
readonly inferenceGrants: {
|
|
189
237
|
readonly requestKinds: readonly ["request_inference_grant", "release_inference_grant"];
|
|
@@ -224,9 +272,9 @@ export declare const DAIMON_GROK_ENGINE_BROKER: {
|
|
|
224
272
|
};
|
|
225
273
|
};
|
|
226
274
|
readonly artifacts: {
|
|
227
|
-
readonly sourceSha256: "
|
|
228
|
-
readonly x64Sha256: "
|
|
229
|
-
readonly arm64Sha256: "
|
|
275
|
+
readonly sourceSha256: "15836d7ad69f12ef581a6e5b8635c9db43b2177dac609160c0749d3d1fefbaa8";
|
|
276
|
+
readonly x64Sha256: "95aa9c272225e74ff9f45f54dde4bc30aee324e9ba24d8a876db9151c81b454d";
|
|
277
|
+
readonly arm64Sha256: "d0dc1c03197c3e90f09b66ad7c89b4f7b448d06dc84c03b247dce976d6018d6e";
|
|
230
278
|
};
|
|
231
279
|
};
|
|
232
280
|
/**
|
|
@@ -269,6 +317,7 @@ export type DaimonEngine = typeof DAIMON_ENGINE_KINDS[number];
|
|
|
269
317
|
export type DaimonPortableEngine = keyof typeof DAIMON_ENGINE_CREDENTIALS;
|
|
270
318
|
type DaimonCredentialMaterial = (typeof DAIMON_ENGINE_CREDENTIALS)[DaimonPortableEngine];
|
|
271
319
|
export interface DaimonContractManifest {
|
|
320
|
+
readonly wakeMoments?: typeof DAIMON_WAKE_MOMENTS;
|
|
272
321
|
readonly agySubscriptionRealm: typeof DAIMON_AGY_SUBSCRIPTION_REALM;
|
|
273
322
|
readonly consumedConfigFields: readonly string[];
|
|
274
323
|
readonly engineCredentialMaterial: Readonly<Record<DaimonPortableEngine, DaimonCredentialMaterial>>;
|
|
@@ -290,6 +339,8 @@ export interface VerifiedDaimonContractManifest {
|
|
|
290
339
|
readonly manifest: DaimonContractManifest;
|
|
291
340
|
}
|
|
292
341
|
export declare const parseDaimonContractManifest: (raw: unknown) => DaimonContractManifest;
|
|
342
|
+
/** Capability comes from receipt-bound manifest content, never a runtime version. */
|
|
343
|
+
export declare const daimonSupportsWakeMoments: (manifest: DaimonContractManifest) => boolean;
|
|
293
344
|
export declare const assertDaimonRuntimeHome: (candidate: string) => string;
|
|
294
345
|
export declare const readVerifiedDaimonContractManifest: (runtimeRoot: string) => Promise<VerifiedDaimonContractManifest>;
|
|
295
346
|
export {};
|