spawnfile 0.1.14 → 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 +60 -159
- package/dist/audit/checksShared.d.ts +1 -1
- package/dist/auth/importers.d.ts +10 -0
- package/dist/auth/importers.js +46 -5
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.js +2 -0
- package/dist/auth/paths.d.ts +1 -1
- package/dist/auth/profileStore.js +13 -10
- package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
- package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
- package/dist/auth/targetSecretSourceFsPublish.d.ts +2 -0
- package/dist/auth/targetSecretSourceFsPublish.js +3 -1
- package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +2 -1
- package/dist/auth/targetSecretSourceFsPublishImmutable.js +104 -71
- package/dist/auth/targetSecretSourceFsRead.js +5 -14
- package/dist/auth/trainingAuth.d.ts +21 -0
- package/dist/auth/trainingAuth.js +86 -0
- 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/auth/types.d.ts +1 -1
- package/dist/cli/authCommands.d.ts +1 -1
- package/dist/cli/authCommands.js +18 -5
- package/dist/cli/canaryCutoverCommand.d.ts +2 -0
- package/dist/cli/canaryCutoverCommand.js +30 -0
- package/dist/cli/capabilitiesCommand.d.ts +3 -0
- package/dist/cli/capabilitiesCommand.js +12 -0
- package/dist/cli/capabilitiesReceipt.d.ts +56 -0
- package/dist/cli/capabilitiesReceipt.js +56 -0
- package/dist/cli/compileBuildCommands.js +17 -0
- package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
- package/dist/cli/composedLifecycleContractSet.js +204 -0
- package/dist/cli/devCommands.js +6 -2
- package/dist/cli/downCommand.d.ts +2 -0
- package/dist/cli/downCommand.js +22 -8
- package/dist/cli/envFileOption.d.ts +18 -0
- package/dist/cli/envFileOption.js +20 -0
- package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
- package/dist/cli/evidenceExportHelperCommand.js +51 -0
- package/dist/cli/index.js +12 -3
- package/dist/cli/lifecycleCommands.d.ts +1 -1
- package/dist/cli/lifecycleCommands.js +3 -1
- package/dist/cli/lifecycleMachine.d.ts +7 -1
- package/dist/cli/lifecycleMachine.js +2 -2
- package/dist/cli/lifecyclePlan.d.ts +1 -0
- package/dist/cli/lifecyclePlan.js +2 -0
- package/dist/cli/paideiaDelegation.d.ts +18 -0
- package/dist/cli/paideiaDelegation.js +211 -0
- package/dist/cli/paideiaSupervisor.d.ts +17 -0
- package/dist/cli/paideiaSupervisor.js +48 -0
- package/dist/cli/productStateCloneCommand.d.ts +2 -0
- package/dist/cli/productStateCloneCommand.js +34 -0
- 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 +19 -3
- package/dist/cli/runCli.js +43 -10
- package/dist/cli/runPublishCommands.js +5 -3
- package/dist/cli/targetCommands.d.ts +4 -7
- package/dist/cli/targetCommands.js +16 -46
- package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
- package/dist/cli/targetConfigPreparedPlan.js +74 -0
- package/dist/cli/targetConfigResolver.d.ts +3 -0
- package/dist/cli/targetConfigResolver.js +111 -0
- package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
- package/dist/cli/targetConfigResolverCommand.js +43 -0
- package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
- package/dist/cli/targetConfigResolverContracts.js +30 -0
- package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
- package/dist/cli/targetConfigResolverDocker.js +47 -0
- package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
- package/dist/cli/targetConfigResolverValidation.js +94 -0
- package/dist/cli/targetDefaultAuthorities.d.ts +2 -0
- package/dist/cli/targetDefaultAuthorities.js +3 -0
- package/dist/cli/targetDefaultConfig.d.ts +7 -0
- package/dist/cli/targetDefaultConfig.js +22 -5
- package/dist/cli/targetDefaultConfigStdin.js +7 -1
- package/dist/cli/targetDefaultHandlerFactory.js +23 -2
- package/dist/cli/targetDefaultHandlers.d.ts +2 -2
- package/dist/cli/targetProductionCommands.d.ts +5 -0
- package/dist/cli/targetProductionCommands.js +45 -0
- package/dist/cli/trainCommand.d.ts +3 -0
- package/dist/cli/trainCommand.js +114 -0
- package/dist/cli/upCommand.js +40 -7
- package/dist/cli/upLifecycleRecovery.d.ts +2 -2
- package/dist/cli/upLifecycleRecovery.js +188 -44
- package/dist/cli/usageCommand.d.ts +40 -0
- package/dist/cli/usageCommand.js +284 -0
- package/dist/cli/usageCommandLive.d.ts +84 -0
- package/dist/cli/usageCommandLive.js +95 -0
- package/dist/cli/usageDeploymentSource.d.ts +9 -0
- package/dist/cli/usageDeploymentSource.js +22 -0
- package/dist/cli/volumeCommands.d.ts +8 -0
- package/dist/cli/volumeCommands.js +53 -0
- package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
- package/dist/cli/workspaceResourceMigrationCommand.js +36 -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/buildCompilePlanTeams.d.ts +1 -1
- package/dist/compiler/buildCompilePlanTeams.js +6 -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 +5 -0
- package/dist/compiler/compileProject.d.ts +12 -0
- package/dist/compiler/compileProject.js +33 -3
- package/dist/compiler/compileProjectSupport.js +9 -0
- package/dist/compiler/containerArtifactSummaries.js +1 -0
- package/dist/compiler/containerArtifacts.d.ts +7 -5
- package/dist/compiler/containerArtifacts.js +77 -41
- package/dist/compiler/containerArtifactsPlans.d.ts +1 -1
- package/dist/compiler/containerArtifactsPlans.js +31 -7
- package/dist/compiler/containerArtifactsRender.d.ts +2 -1
- package/dist/compiler/containerArtifactsRender.js +91 -58
- package/dist/compiler/containerArtifactsTypes.d.ts +15 -0
- package/dist/compiler/containerBackedMountRender.d.ts +56 -0
- package/dist/compiler/containerBackedMountRender.js +101 -0
- package/dist/compiler/containerDaimonBrokerRender.d.ts +114 -0
- package/dist/compiler/containerDaimonBrokerRender.js +194 -0
- package/dist/compiler/containerDaimonGrokTaskClock.d.ts +5 -0
- package/dist/compiler/containerDaimonGrokTaskClock.js +29 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +130 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +197 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.js +281 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +25 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.js +204 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.js +291 -0
- package/dist/compiler/containerEntrypointRender.d.ts +7 -0
- package/dist/compiler/containerEntrypointRender.js +28 -22
- package/dist/compiler/containerPersistentMounts.d.ts +30 -0
- package/dist/compiler/containerPersistentMounts.js +66 -0
- package/dist/compiler/containerReadinessPaths.d.ts +1 -0
- package/dist/compiler/containerReadinessPaths.js +1 -0
- package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
- package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
- package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
- package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
- package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
- package/dist/compiler/containerStateOwnershipRender.js +75 -0
- package/dist/compiler/containerTargetResources.d.ts +32 -1
- package/dist/compiler/containerTargetResources.js +115 -15
- package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
- package/dist/compiler/containerVolumeBootstrap.js +3 -0
- package/dist/compiler/containerWorkspaceResourceRender.js +52 -1
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +2 -2
- package/dist/compiler/daimonTelemetryArtifacts.js +5 -10
- package/dist/compiler/deploymentLineage.d.ts +40 -0
- package/dist/compiler/deploymentLineage.js +50 -0
- package/dist/compiler/index.d.ts +5 -0
- package/dist/compiler/index.js +5 -0
- package/dist/compiler/initProject.d.ts +2 -0
- package/dist/compiler/initProject.js +39 -1
- package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
- package/dist/compiler/localMoltnetAuthority.js +177 -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/memoryArtifacts.d.ts +1 -1
- package/dist/compiler/memoryArtifacts.js +108 -32
- package/dist/compiler/modelEnv.d.ts +5 -0
- package/dist/compiler/modelEnv.js +8 -2
- package/dist/compiler/moltnetArtifactPaths.d.ts +17 -12
- package/dist/compiler/moltnetArtifactPaths.js +17 -15
- package/dist/compiler/moltnetArtifactTypes.d.ts +11 -0
- package/dist/compiler/moltnetArtifacts.d.ts +1 -1
- package/dist/compiler/moltnetArtifacts.js +53 -12
- package/dist/compiler/moltnetBinaries.d.ts +16 -4
- package/dist/compiler/moltnetBinaries.js +46 -6
- package/dist/compiler/moltnetClientConfig.js +1 -1
- package/dist/compiler/moltnetConfigLowering.d.ts +3 -1
- package/dist/compiler/moltnetConfigLowering.js +30 -6
- package/dist/compiler/moltnetNodeConfig.js +1 -1
- package/dist/compiler/moltnetReleaseAuthority.d.ts +24 -1
- package/dist/compiler/moltnetReleaseAuthority.js +33 -4
- package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -1
- package/dist/compiler/moltnetRepresentativeResolution.js +2 -2
- package/dist/compiler/moltnetResolution.js +9 -15
- package/dist/compiler/moltnetRoomMemberships.js +20 -5
- package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
- package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
- package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
- package/dist/compiler/moltnetRuntimeConfig.js +22 -2
- package/dist/compiler/moltnetServerPlans.js +19 -0
- package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
- package/dist/compiler/organizationExternalParticipants.js +176 -0
- package/dist/compiler/organizationIdentity.d.ts +3 -9
- package/dist/compiler/organizationIdentity.js +37 -270
- package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
- package/dist/compiler/organizationIdentityGraph.js +115 -0
- package/dist/compiler/organizationReadyEvidence.d.ts +8 -0
- package/dist/compiler/organizationReadyEvidence.js +23 -3
- 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 +6 -3
- package/dist/compiler/runProject.js +34 -6
- package/dist/compiler/runProjectAuth.d.ts +3 -1
- package/dist/compiler/runProjectAuth.js +19 -3
- package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
- package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
- package/dist/compiler/runProjectDocker.d.ts +8 -4
- package/dist/compiler/runProjectDocker.js +43 -18
- package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
- package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
- package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
- package/dist/compiler/runProjectDockerReservation.js +118 -0
- package/dist/compiler/runProjectLifecycle.js +1 -1
- 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 +47 -0
- package/dist/compiler/training/broker/declaration.js +57 -0
- package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
- package/dist/compiler/training/broker/entrypoint.js +126 -0
- 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 +11 -0
- package/dist/compiler/training/broker/index.js +11 -0
- package/dist/compiler/training/broker/main.d.ts +2 -0
- package/dist/compiler/training/broker/main.js +14 -0
- package/dist/compiler/training/broker/paths.d.ts +236 -0
- package/dist/compiler/training/broker/paths.js +249 -0
- package/dist/compiler/training/broker/processes.d.ts +51 -0
- package/dist/compiler/training/broker/processes.js +102 -0
- package/dist/compiler/training/broker/projection.d.ts +52 -0
- package/dist/compiler/training/broker/projection.js +88 -0
- package/dist/compiler/training/broker/provisioning.d.ts +78 -0
- package/dist/compiler/training/broker/provisioning.js +231 -0
- package/dist/compiler/training/broker/receipt.d.ts +77 -0
- package/dist/compiler/training/broker/receipt.js +110 -0
- package/dist/compiler/training/broker/registration.d.ts +43 -0
- package/dist/compiler/training/broker/registration.js +110 -0
- 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 +22 -0
- package/dist/compiler/training/broker/runtime.js +127 -0
- package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
- package/dist/compiler/training/broker/seccompRoutes.js +36 -0
- package/dist/compiler/training/broker/supervisor.d.ts +108 -0
- package/dist/compiler/training/broker/supervisor.js +172 -0
- 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 +54 -0
- package/dist/compiler/training/container/contract.js +51 -0
- 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 +5 -0
- package/dist/compiler/training/container/index.js +3 -0
- package/dist/compiler/training/container/launch.d.ts +21 -0
- package/dist/compiler/training/container/launch.js +264 -0
- 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 +10 -0
- package/dist/compiler/training/container/prepare.js +125 -0
- package/dist/compiler/training/container/process.d.ts +14 -0
- package/dist/compiler/training/container/process.js +70 -0
- package/dist/compiler/training/container/security.d.ts +38 -0
- package/dist/compiler/training/container/security.js +68 -0
- 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 +15 -0
- package/dist/compiler/training/context.js +93 -0
- package/dist/compiler/training/contract.d.ts +144 -0
- package/dist/compiler/training/contract.js +36 -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 +12 -0
- package/dist/compiler/training/index.js +10 -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 +109 -0
- package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
- package/dist/compiler/training/preparation/broker.d.ts +21 -0
- package/dist/compiler/training/preparation/broker.js +45 -0
- package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
- package/dist/compiler/training/preparation/contextModes.js +38 -0
- package/dist/compiler/training/preparation/contract.d.ts +207 -0
- package/dist/compiler/training/preparation/contract.js +113 -0
- package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
- package/dist/compiler/training/preparation/copyAssets.js +8 -0
- package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
- package/dist/compiler/training/preparation/daimonParent.js +114 -0
- package/dist/compiler/training/preparation/files.d.ts +29 -0
- package/dist/compiler/training/preparation/files.js +146 -0
- package/dist/compiler/training/preparation/image.d.ts +28 -0
- package/dist/compiler/training/preparation/image.js +107 -0
- package/dist/compiler/training/preparation/index.d.ts +3 -0
- package/dist/compiler/training/preparation/index.js +2 -0
- package/dist/compiler/training/preparation/inputs.d.ts +24 -0
- package/dist/compiler/training/preparation/inputs.js +101 -0
- package/dist/compiler/training/preparation/prepare.d.ts +38 -0
- package/dist/compiler/training/preparation/prepare.js +223 -0
- package/dist/compiler/training/preparation/scratch.d.ts +8 -0
- package/dist/compiler/training/preparation/scratch.js +114 -0
- package/dist/compiler/training/repair/compatibility.d.ts +11 -0
- package/dist/compiler/training/repair/compatibility.js +34 -0
- package/dist/compiler/training/repair/contract.d.ts +840 -0
- package/dist/compiler/training/repair/contract.js +33 -0
- package/dist/compiler/training/repair/index.d.ts +3 -0
- package/dist/compiler/training/repair/index.js +3 -0
- package/dist/compiler/training/repair/prepare.d.ts +382 -0
- package/dist/compiler/training/repair/prepare.js +78 -0
- package/dist/compiler/training/repair/witness.d.ts +352 -0
- package/dist/compiler/training/repair/witness.js +48 -0
- 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 +7 -2
- package/dist/compiler/upProject.d.ts +27 -1
- package/dist/compiler/upProject.js +135 -180
- package/dist/compiler/upProjectHandoff.d.ts +62 -0
- package/dist/compiler/upProjectHandoff.js +204 -0
- package/dist/compiler/upReceipt.js +49 -4
- package/dist/compiler/updateProjectModels.js +1 -0
- package/dist/compiler/view/types.d.ts +1 -1
- package/dist/compiler/workspaceBundleArtifacts.d.ts +18 -0
- package/dist/compiler/workspaceBundleArtifacts.js +155 -0
- 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 +9 -2
- package/dist/compiler/workspaceResources.js +39 -7
- package/dist/deployment/activation.d.ts +3 -0
- package/dist/deployment/activation.js +12 -0
- package/dist/deployment/artifactsExportPlan.js +51 -1
- package/dist/deployment/canaryCutover.d.ts +42 -0
- package/dist/deployment/canaryCutover.js +140 -0
- package/dist/deployment/candidateDiagnostics.d.ts +15 -0
- package/dist/deployment/candidateDiagnostics.js +90 -0
- package/dist/deployment/candidateRecording.d.ts +8 -0
- package/dist/deployment/candidateRecording.js +22 -0
- package/dist/deployment/dockerLogs.js +4 -1
- package/dist/deployment/dockerManager.d.ts +5 -3
- package/dist/deployment/dockerManager.js +21 -5
- package/dist/deployment/dockerProbeGateway.d.ts +17 -0
- package/dist/deployment/dockerProbeGateway.js +17 -2
- package/dist/deployment/downDeployment.d.ts +7 -0
- package/dist/deployment/downDeployment.js +114 -9
- package/dist/deployment/downReceiptTypes.d.ts +17 -2
- package/dist/deployment/downReceiptTypes.js +17 -2
- package/dist/deployment/homeStore.d.ts +9 -1
- package/dist/deployment/homeStore.js +16 -53
- package/dist/deployment/index.d.ts +10 -0
- package/dist/deployment/index.js +10 -0
- package/dist/deployment/lifecycleCompletionContracts.d.ts +66 -0
- package/dist/deployment/lifecycleCompletionContracts.js +34 -0
- package/dist/deployment/lifecycleCompletionPaths.d.ts +4 -1
- package/dist/deployment/lifecycleCompletionPaths.js +3 -0
- package/dist/deployment/lifecycleCompletionPublication.d.ts +2 -0
- package/dist/deployment/lifecycleCompletionPublication.js +18 -4
- package/dist/deployment/lifecycleCompletionStore.d.ts +1 -1
- package/dist/deployment/lifecycleCompletionStore.js +7 -7
- package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
- package/dist/deployment/lifecycleUpRecords.js +127 -0
- package/dist/deployment/native/AGENTS.md +11 -0
- package/dist/deployment/native/rename-noreplace-arm64 +0 -0
- package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
- package/dist/deployment/native/rename-noreplace-x64 +0 -0
- package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
- package/dist/deployment/noReplaceActivation.d.ts +17 -0
- package/dist/deployment/noReplaceActivation.js +50 -0
- package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
- package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
- package/dist/deployment/organizationHandoffAuthorityFsClient.js +82 -27
- package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
- package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.js +254 -108
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
- package/dist/deployment/organizationHandoffAuthorityStore.js +14 -7
- package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +2 -2
- package/dist/deployment/organizationHandoffAuthorityTypes.js +2 -1
- package/dist/deployment/organizationReady.d.ts +2 -0
- package/dist/deployment/organizationReady.js +36 -4
- package/dist/deployment/pidLock.d.ts +25 -0
- package/dist/deployment/pidLock.js +81 -0
- package/dist/deployment/productStateClone.d.ts +43 -0
- package/dist/deployment/productStateClone.js +319 -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/deployment/upLifecycleRecoveryState.d.ts +23 -0
- package/dist/deployment/upLifecycleRecoveryState.js +12 -0
- package/dist/deployment/upReceiptTypes.d.ts +32 -6
- package/dist/deployment/upReceiptTypes.js +29 -2
- package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
- package/dist/deployment/workspaceResourceMigration.js +315 -0
- package/dist/dev/project.d.ts +7 -0
- package/dist/dev/project.js +9 -0
- package/dist/distribution/buildDistributionReport.d.ts +3 -0
- package/dist/distribution/buildDistributionReport.js +5 -0
- package/dist/distribution/consumeImage.d.ts +5 -0
- package/dist/distribution/consumeImage.js +115 -98
- package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
- package/dist/distribution/consumeImageDaimonDocker.js +45 -0
- package/dist/distribution/consumeImageLifecycle.d.ts +20 -0
- package/dist/distribution/consumeImageLifecycle.js +242 -0
- package/dist/distribution/consumeImageSupport.d.ts +19 -0
- package/dist/distribution/consumeImageSupport.js +40 -0
- package/dist/distribution/distributionReportSchema.d.ts +58 -1
- package/dist/distribution/distributionReportSchema.js +35 -2
- package/dist/distribution/dockerRunner.d.ts +6 -1
- package/dist/distribution/dockerRunner.js +31 -4
- package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
- package/dist/distribution/imageRuntimeAuth.js +70 -1
- package/dist/distribution/index.d.ts +1 -1
- package/dist/distribution/index.js +1 -1
- package/dist/distribution/preflight.js +5 -1
- package/dist/distribution/renderImageInterface.js +1 -1
- package/dist/distribution/types.d.ts +29 -1
- package/dist/distribution/types.js +3 -0
- package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
- package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
- package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
- package/dist/evidenceExportHelper/index.d.ts +4 -0
- package/dist/evidenceExportHelper/index.js +4 -0
- package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
- package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
- package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
- package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
- package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
- package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
- package/dist/evidenceExportHelper/recipe.d.ts +7 -0
- package/dist/evidenceExportHelper/recipe.js +83 -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/io.d.ts +2 -0
- package/dist/filesystem/io.js +16 -1
- 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 +47 -0
- package/dist/manifest/executionSchemas.js +31 -2
- 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 +62 -0
- package/dist/manifest/mcpSchemas.js +57 -8
- 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/renderSpawnfileNetworks.js +11 -0
- package/dist/manifest/renderSpawnfileWorkspace.js +10 -1
- package/dist/manifest/scheduleSchemas.d.ts +3 -1
- package/dist/manifest/scheduleSchemas.js +91 -5
- package/dist/manifest/schemas.d.ts +1419 -120
- package/dist/manifest/schemas.js +19 -6
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +5 -1
- package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkSchemas.d.ts +18 -4
- package/dist/manifest/teamNetworkSchemas.js +19 -1
- package/dist/manifest/teamNetworkServerSchemas.d.ts +8 -3
- package/dist/manifest/teamNetworkServerSchemas.js +18 -2
- 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 +194 -1
- package/dist/manifest/workspaceSchemas.js +117 -2
- 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 +92 -4
- package/dist/runtime/common.d.ts +28 -1
- package/dist/runtime/common.js +33 -3
- package/dist/runtime/container.js +46 -35
- package/dist/runtime/daimon/adapter.d.ts +14 -0
- package/dist/runtime/daimon/adapter.js +254 -0
- package/dist/runtime/daimon/attention.d.ts +8 -0
- package/dist/runtime/daimon/attention.js +32 -0
- package/dist/runtime/daimon/config.d.ts +29 -0
- package/dist/runtime/daimon/config.js +321 -0
- 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 +346 -0
- package/dist/runtime/daimon/contractManifest.js +335 -0
- package/dist/runtime/daimon/grokModel.d.ts +19 -0
- package/dist/runtime/daimon/grokModel.js +33 -0
- package/dist/runtime/daimon/grokTurnLimits.d.ts +25 -0
- package/dist/runtime/daimon/grokTurnLimits.js +51 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +43 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.js +53 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +27 -0
- package/dist/runtime/daimon/grokWorkerContract.js +60 -0
- package/dist/runtime/daimon/memory.d.ts +57 -0
- package/dist/runtime/daimon/memory.js +125 -0
- package/dist/runtime/daimon/recording.d.ts +19 -0
- package/dist/runtime/daimon/recording.js +50 -0
- package/dist/runtime/daimon/runAuth.d.ts +51 -0
- package/dist/runtime/daimon/runAuth.js +279 -0
- package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
- package/dist/runtime/daimon/runtimeIdentity.js +22 -0
- package/dist/runtime/daimon/scheduleAuthority.d.ts +11 -0
- package/dist/runtime/daimon/scheduleAuthority.js +31 -0
- 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 +5 -0
- package/dist/runtime/index.js +5 -0
- package/dist/runtime/install.d.ts +5 -0
- package/dist/runtime/install.js +4 -0
- package/dist/runtime/localDaimonAuthority.d.ts +11 -0
- package/dist/runtime/localDaimonAuthority.js +77 -0
- package/dist/runtime/mnemeMcp.d.ts +13 -0
- package/dist/runtime/mnemeMcp.js +26 -0
- package/dist/runtime/openclaw/adapter.js +5 -2
- package/dist/runtime/pi/adapter.d.ts +0 -1
- package/dist/runtime/pi/adapter.js +5 -6
- package/dist/runtime/pi/appCliSource.js +1 -1
- package/dist/runtime/pi/appScheduleSource.js +6 -2
- package/dist/runtime/pi/appTemplateTypes.d.ts +1 -1
- package/dist/runtime/pi/containerTargets.js +6 -0
- package/dist/runtime/picoclaw/adapter.js +5 -2
- package/dist/runtime/registry.d.ts +6 -0
- package/dist/runtime/registry.js +32 -3
- package/dist/runtime/scheduleUtils.d.ts +1 -0
- package/dist/runtime/scheduleUtils.js +5 -1
- package/dist/runtime/types.d.ts +40 -0
- package/dist/runtime/usageLedger.d.ts +158 -0
- package/dist/runtime/usageLedger.js +269 -0
- package/dist/runtime/usageLedgerRead.d.ts +54 -0
- package/dist/runtime/usageLedgerRead.js +102 -0
- package/dist/runtime/usageRequestLedger.d.ts +42 -0
- package/dist/runtime/usageRequestLedger.js +72 -0
- package/dist/shared/daimonCodexDocker.d.ts +32 -0
- package/dist/shared/daimonCodexDocker.js +120 -0
- package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
- package/dist/shared/daimonGrokSeccompProfile.js +11 -0
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.js +3 -0
- package/dist/shared/recording.d.ts +8 -0
- package/dist/shared/recording.js +25 -0
- package/dist/shared/types.d.ts +1 -1
- package/dist/shared/volumeNames.d.ts +6 -0
- package/dist/shared/volumeNames.js +14 -0
- package/dist/target/dockerArtifactsProvider.js +34 -7
- package/dist/target/dockerBaseImage.d.ts +2 -0
- package/dist/target/dockerBaseImage.js +11 -0
- package/dist/target/dockerCommandExecutor.d.ts +11 -0
- package/dist/target/dockerCommandExecutor.js +53 -2
- package/dist/target/dockerCommandExecutorCore.d.ts +2 -1
- package/dist/target/dockerCommandExecutorCore.js +5 -3
- package/dist/target/dockerPublicArtifactSnapshot.d.ts +3 -3
- package/dist/target/dockerPublicArtifactSnapshot.js +17 -33
- package/dist/target/dockerTarget.d.ts +1 -0
- package/dist/target/dockerTargetBinding.d.ts +1 -2
- package/dist/target/dockerTargetBinding.js +4 -4
- package/dist/target/dockerTargetExecFile.d.ts +19 -0
- package/dist/target/dockerTargetExecFile.js +194 -0
- package/dist/target/dockerWorldServiceProvider.d.ts +4 -0
- package/dist/target/dockerWorldServiceProvider.js +13 -1
- package/dist/target/evidenceExport.d.ts +3 -1
- package/dist/target/evidenceExport.js +12 -3
- package/dist/target/evidenceExportOperationsTestKit.js +3 -3
- package/dist/target/evidenceExportProvider.d.ts +2 -0
- package/dist/target/evidenceExportProvider.js +15 -5
- package/dist/target/publicArtifactSnapshot.d.ts +31 -0
- package/dist/target/publicArtifactSnapshot.js +37 -3
- 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/examples/README.md +45 -0
- package/examples/agent-with-subagents/AGENTS.md +3 -0
- package/examples/agent-with-subagents/Spawnfile +30 -0
- package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
- package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
- package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
- package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
- package/examples/daimon-org/Spawnfile +68 -0
- package/examples/daimon-org/TEAM.md +4 -0
- package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
- package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
- package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
- package/examples/daimon-org/teams/review/Spawnfile +53 -0
- package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
- package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
- package/examples/daimon-public-host/AGENTS.md +3 -0
- package/examples/daimon-public-host/Spawnfile +21 -0
- package/examples/distribution-org/Spawnfile +43 -0
- package/examples/distribution-org/TEAM.md +4 -0
- package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
- package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
- package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
- package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
- package/examples/jungian-daimon-org/Spawnfile +41 -0
- package/examples/jungian-daimon-org/TEAM.md +21 -0
- package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
- package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
- package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
- package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
- package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
- package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
- package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
- package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
- package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
- package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
- package/examples/mixed-runtime-org/Spawnfile +71 -0
- package/examples/mixed-runtime-org/TEAM.md +8 -0
- package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
- package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
- package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
- package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
- package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
- package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
- package/examples/moltnet-team-chat/Spawnfile +43 -0
- package/examples/moltnet-team-chat/TEAM.md +5 -0
- package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
- package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
- package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
- package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
- package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
- package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
- package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
- package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
- package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
- package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
- package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
- package/examples/single-agent/AGENTS.md +3 -0
- package/examples/single-agent/HEARTBEAT.md +3 -0
- package/examples/single-agent/IDENTITY.md +3 -0
- package/examples/single-agent/MEMORY.md +3 -0
- package/examples/single-agent/SOUL.md +3 -0
- package/examples/single-agent/Spawnfile +41 -0
- package/examples/single-agent/skills/web_search/SKILL.md +6 -0
- package/moltnet-releases.json +5 -4
- package/package.json +36 -9
- package/runtimes.yaml +8 -3
- package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +0 -13
- package/dist/cli/targetWorldClockCrossProcess.test-helper.js +0 -109
- package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +0 -8
- package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +0 -60
- package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +0 -8
- package/dist/deployment/simfileFixtureBoundary.test-helper.js +0 -103
- package/dist/ownership/simfileRunOperatorInputs.d.ts +0 -103
- package/dist/ownership/simfileRunOperatorInputs.js +0 -139
- package/dist/target/cleanupRunDocker.test-helper.d.ts +0 -67
- package/dist/target/cleanupRunDocker.test-helper.js +0 -238
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { type DaimonGrokBrokerModel, type DaimonGrokBrokerReasoningEffort } from "../runtime/daimon/contractManifest.js";
|
|
2
|
+
import type { RuntimeTargetPlan } from "./containerArtifactsTypes.js";
|
|
3
|
+
export declare const DAIMON_WORKER_ROOT = "/var/lib/daimon-workers";
|
|
4
|
+
export declare const DAIMON_GROK_WORKER_READ_ONLY_FILES: readonly ["config.toml", "managed_config.toml", "requirements.toml", "sandbox.toml", "trusted_folders.toml"];
|
|
5
|
+
/** Container paths no Grok worker may read that nothing else guarantees to exist; provisioning creates them root-owned 0700 when absent. */
|
|
6
|
+
export declare const DAIMON_GROK_OPTIONAL_DENY_PATHS: readonly ["/run/secrets", "/run/spawnfile", "/run/spawnfile-secrets", "/run/world"];
|
|
7
|
+
/**
|
|
8
|
+
* The organization runtime state directory — the parent of the durable wake
|
|
9
|
+
* acceptance store. The ownership guard secures it to `0700 2000:2000` for
|
|
10
|
+
* every Daimon organization; the acceptance store beneath it is also on every
|
|
11
|
+
* Grok worker's sandbox deny list.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DAIMON_ORGANIZATION_STATE_DIRECTORY: string;
|
|
14
|
+
/**
|
|
15
|
+
* The deny entry that protects the durable wake-acceptance store: the
|
|
16
|
+
* organization state directory the store lives in, not the store itself.
|
|
17
|
+
*
|
|
18
|
+
* Grok 1.0.34 materializes every `deny` target inside bubblewrap **as the
|
|
19
|
+
* worker uid** (it bind-mounts `$GROK_HOME/sandbox-blocked-{file,dir}` over
|
|
20
|
+
* the target), so an entry is placeable only when the worker can search every
|
|
21
|
+
* ancestor directory and the target already exists. The ownership guard secures
|
|
22
|
+
* this state directory to `0700 2000:2000`, so the store beneath it can never
|
|
23
|
+
* be a deny entry — and a single unplaceable entry makes Grok refuse the whole
|
|
24
|
+
* profile, failing *every* turn with `bwrap: Can't create file at …:
|
|
25
|
+
* Permission denied`, not just that path (matrix:
|
|
26
|
+
* `.runtime/grok-deny-placement/EVIDENCE.md`).
|
|
27
|
+
*
|
|
28
|
+
* Lifting the mask to the directory is strictly stronger than masking the store
|
|
29
|
+
* — nothing else lives there — and it adds no traversal right to the worker,
|
|
30
|
+
* which opening the directory with `o+x` would have done.
|
|
31
|
+
*/
|
|
32
|
+
export declare const daimonGrokAcceptanceStoreDenyPath: (instanceRoot: string) => string;
|
|
33
|
+
/**
|
|
34
|
+
* Paths Grok 1.0.34's strict base profile grants (read or read-write). Grok
|
|
35
|
+
* refuses to start when a deny entry equals or contains one of them (verified
|
|
36
|
+
* for `/tmp`, `/var/tmp`, `/run`, `/etc` and `sessions`; `/tmp/sub` works), so a
|
|
37
|
+
* deny entry must always sit strictly below every grant it touches.
|
|
38
|
+
*/
|
|
39
|
+
export declare const DAIMON_GROK_BASE_PROFILE_GRANTS: readonly ["/bin", "/dev", "/etc", "/lib", "/proc", "/run", "/sbin", "/sys", "/tmp", "/usr", "/var", "/var/tmp"];
|
|
40
|
+
export declare const DAIMON_GROK_MAX_REGISTERED_PATH_BYTES = 255;
|
|
41
|
+
/**
|
|
42
|
+
* The canonical path rule Daimon's service parser and native launcher enforce:
|
|
43
|
+
* absolute, no empty, `.` or `..` component, no trailing slash, and at most 255
|
|
44
|
+
* bytes (the registration record's NUL-terminated 256-byte fields).
|
|
45
|
+
*/
|
|
46
|
+
export declare const assertCanonicalRegisteredPath: (label: string, value: string) => string;
|
|
47
|
+
export interface DaimonGrokRegistration {
|
|
48
|
+
agentId: string;
|
|
49
|
+
config: string;
|
|
50
|
+
configSha256: string;
|
|
51
|
+
/** Selects trusted config bytes; production retains the unclocked default. */
|
|
52
|
+
configVariant?: "unclocked" | "clocked";
|
|
53
|
+
denyPaths: string[];
|
|
54
|
+
/** Deny entries the main entrypoint materializes after root provisioning (workspace resource backings); absent is allowed there, a symlink never. */
|
|
55
|
+
deferredDenyPaths: string[];
|
|
56
|
+
eventsPath: string;
|
|
57
|
+
grokHome: string;
|
|
58
|
+
home: string;
|
|
59
|
+
/**
|
|
60
|
+
* The per-turn limits this registration declares. A wake may only lower them
|
|
61
|
+
* (Daimon refuses a raise as `invalid_request`), so a deployment that admits
|
|
62
|
+
* wakes above the manifest defaults must declare them here.
|
|
63
|
+
*/
|
|
64
|
+
limits?: {
|
|
65
|
+
maxRequests: number;
|
|
66
|
+
maxTokens: number;
|
|
67
|
+
timeoutMs: number;
|
|
68
|
+
};
|
|
69
|
+
model: DaimonGrokBrokerModel;
|
|
70
|
+
profile: string;
|
|
71
|
+
profilePath: string;
|
|
72
|
+
profileSha256: string;
|
|
73
|
+
/** `<home>/tmp`: the launcher's compiled `TMPDIR` for this worker. */
|
|
74
|
+
privateTmp: string;
|
|
75
|
+
reasoningEffort: DaimonGrokBrokerReasoningEffort;
|
|
76
|
+
/** The organization runtime home whose `tool-output/` this worker reads. */
|
|
77
|
+
runtimeHome: string;
|
|
78
|
+
/** Persistent mounts inside this agent's runtime home; Spawnfile keeps each `0700` under the traversable home. */
|
|
79
|
+
runtimeHomeMounts: string[];
|
|
80
|
+
/** `<runtimeHome>/tool-output`: setgid spill directory in the worker's group. */
|
|
81
|
+
spillDirectory: string;
|
|
82
|
+
slot: number;
|
|
83
|
+
uid: number;
|
|
84
|
+
usageLedgerPath: string;
|
|
85
|
+
workspace: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Spawnfile-managed state roots no Grok worker needs: the shared Moltnet store
|
|
89
|
+
* (server data, node/bridge configs, receipt stores, network state), per-agent
|
|
90
|
+
* Moltnet open-mode token directories, and declared Mneme memory banks. A
|
|
91
|
+
* worker reaches Moltnet and memory only through Daimon's MCP tools, which run
|
|
92
|
+
* in the organization process, never by reading these files. Provisioning
|
|
93
|
+
* creates each root-owned `0700` when absent so the mask always has a target.
|
|
94
|
+
*/
|
|
95
|
+
export declare const DAIMON_GROK_DENIED_STATE_ROOTS: readonly ["/var/lib/spawnfile/agents", "/var/lib/spawnfile/memory", "/var/lib/spawnfile/moltnet"];
|
|
96
|
+
/**
|
|
97
|
+
* One brokered worker's sandbox deny list.
|
|
98
|
+
*
|
|
99
|
+
* Daimon's own protected set for the agent (`grokSandboxProtectedPaths`: the
|
|
100
|
+
* Grok bootstrap and realm, the AGY realm and unlock secret when any agent is
|
|
101
|
+
* AGY, the organization state directory that holds the wake-acceptance store,
|
|
102
|
+
* and every peer's runtime home and workspace) is always kept verbatim, so a Daimon projection over the same inputs renders
|
|
103
|
+
* the same profile. This deployment adds everything else the container
|
|
104
|
+
* provisions that the worker does not need: the organization config directory
|
|
105
|
+
* (all agents' instructions and any env files), every persistent mount of
|
|
106
|
+
* every runtime plan (the worker's own tool state, credential home and memory
|
|
107
|
+
* included — it reaches them only through Daimon), every other runtime
|
|
108
|
+
* instance root, the shared Moltnet/agent/memory state roots, every workspace
|
|
109
|
+
* resource backing path not linked from this agent's own workspace, the broker's
|
|
110
|
+
* `/etc` and `/run` directories, the usage ledger and wake fuse, every other
|
|
111
|
+
* worker's home, and the container secret roots.
|
|
112
|
+
*
|
|
113
|
+
* Allowed on purpose: the agent's own workspace (the worker's cwd), its own
|
|
114
|
+
* runtime home directory itself (Daimon's tool-result spill contract names paths
|
|
115
|
+
* under it; its contents are persistent mounts and denied), its own worker home,
|
|
116
|
+
* and backing paths of resources linked into its own workspace (a mask over the
|
|
117
|
+
* backing inode would also hide the agent's own resource through its link).
|
|
118
|
+
*
|
|
119
|
+
* Grok 1.0.34's strict base reads all of `/run`, `/var`, `/tmp` and `/etc`, and
|
|
120
|
+
* macOS bind mounts ignore unix modes, so this list — not file modes — is the
|
|
121
|
+
* boundary. Masks cannot nest: an added entry already covered by another entry
|
|
122
|
+
* is dropped, and an added entry that would cover a Daimon entry is refused.
|
|
123
|
+
*
|
|
124
|
+
* Every entry must also be *placeable*: Grok materializes each deny target
|
|
125
|
+
* inside bubblewrap as the worker uid, so the target must exist and the worker
|
|
126
|
+
* must be able to search every ancestor. That depends on modes, not paths, so
|
|
127
|
+
* the root provisioning program asserts it once every mode is final and refuses
|
|
128
|
+
* to start the container otherwise (`containerDaimonGrokWorkerProvisioning.ts`);
|
|
129
|
+
* here a protected path whose parent is private is lifted to that parent
|
|
130
|
+
* instead (`daimonGrokAcceptanceStoreDenyPath`).
|
|
131
|
+
*/
|
|
132
|
+
export declare const resolveDaimonGrokWorkerDenyPaths: (plans: readonly RuntimeTargetPlan[], plan: RuntimeTargetPlan, agentId: string, workerHomes: readonly string[], ownHome: string) => string[];
|
|
133
|
+
export declare const resolveDaimonGrokRegistrations: (plans: RuntimeTargetPlan[]) => DaimonGrokRegistration[];
|
|
134
|
+
export interface DaimonGrokServiceConfigOptions {
|
|
135
|
+
/** Repeated agent IDs use v3 slot policies; production retains v2 by default. */
|
|
136
|
+
version?: "v3";
|
|
137
|
+
maxRunRequests?: number;
|
|
138
|
+
runRequestStore?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Where the broker keeps its durable turn registry. Production keeps it on
|
|
141
|
+
* the realm volume beside the credential; training overrides it to per-slot
|
|
142
|
+
* tmpfs so a recycled slot can never replay trial N's sealed turn in trial
|
|
143
|
+
* N+1 (R2), and refuses any path on the realm volume for that reason.
|
|
144
|
+
*/
|
|
145
|
+
turnStore?: string;
|
|
146
|
+
/** `service.json` v2's optional evaluator inference ledger. Without it the broker refuses every grant. */
|
|
147
|
+
inferenceLedgerPath?: string;
|
|
148
|
+
}
|
|
149
|
+
/** `service.json` v2, exactly the shape Daimon's strict `parseEngineBrokerServiceConfig` accepts. */
|
|
150
|
+
export declare const renderDaimonGrokServiceConfig: (registrations: readonly DaimonGrokRegistration[], options?: DaimonGrokServiceConfigOptions) => {
|
|
151
|
+
slotPolicies?: {
|
|
152
|
+
slot: number;
|
|
153
|
+
usageLedgerPath: string;
|
|
154
|
+
limits: {
|
|
155
|
+
maxRequests: 32;
|
|
156
|
+
maxTokens: 300000;
|
|
157
|
+
timeoutMs: 240000;
|
|
158
|
+
} | {
|
|
159
|
+
maxRequests: number;
|
|
160
|
+
maxTokens: number;
|
|
161
|
+
timeoutMs: number;
|
|
162
|
+
};
|
|
163
|
+
model: {
|
|
164
|
+
id: "grok-4.6" | "grok-4.5" | "grok-build";
|
|
165
|
+
reasoningEffort: "high" | "medium" | "low";
|
|
166
|
+
};
|
|
167
|
+
}[] | undefined;
|
|
168
|
+
registrations: {
|
|
169
|
+
usageLedgerPath?: string | undefined;
|
|
170
|
+
limits?: {
|
|
171
|
+
maxRequests: 32;
|
|
172
|
+
maxTokens: 300000;
|
|
173
|
+
timeoutMs: 240000;
|
|
174
|
+
} | {
|
|
175
|
+
maxRequests: number;
|
|
176
|
+
maxTokens: number;
|
|
177
|
+
timeoutMs: number;
|
|
178
|
+
} | undefined;
|
|
179
|
+
model?: {
|
|
180
|
+
id: "grok-4.6" | "grok-4.5" | "grok-build";
|
|
181
|
+
reasoningEffort: "high" | "medium" | "low";
|
|
182
|
+
} | undefined;
|
|
183
|
+
agentId: string;
|
|
184
|
+
slot: number;
|
|
185
|
+
workerUid: number;
|
|
186
|
+
workspace: string;
|
|
187
|
+
profilePath: string;
|
|
188
|
+
eventsPath: string;
|
|
189
|
+
profileSha256: string;
|
|
190
|
+
}[];
|
|
191
|
+
inferenceLedgerPath?: string | undefined;
|
|
192
|
+
runRequestStore?: string | undefined;
|
|
193
|
+
maxRunRequests?: number | undefined;
|
|
194
|
+
version: "noopolis.daimon.engine-broker-service.v2" | "noopolis.daimon.engine-broker-service.v3";
|
|
195
|
+
credentialHome: "/var/lib/spawnfile/daimon/grok-subscription-realm";
|
|
196
|
+
turnStore: string;
|
|
197
|
+
};
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
3
|
+
import { resolveDaimonGrokRegistrationLimits } from "../runtime/daimon/grokTurnLimits.js";
|
|
4
|
+
import { DAIMON_ORGANIZATION_TARGET_ID, DAIMON_RUNTIME_ACCEPTANCE_STORE_DIRECTORY, DAIMON_RUNTIME_HOMES_DIRECTORY, DAIMON_WAKE_FUSE_DIRECTORY } from "../runtime/daimon/config.js";
|
|
5
|
+
import { DAIMON_AGY_SUBSCRIPTION_REALM, DAIMON_GROK_BROKER_MODELS, DAIMON_GROK_BROKER_REASONING_EFFORTS, DAIMON_GROK_ENGINE_BROKER, DAIMON_GROK_SUBSCRIPTION_REALM, DAIMON_GROK_TURN_USAGE_LEDGER, DAIMON_RUNTIME_HOME_ROOT } from "../runtime/daimon/contractManifest.js";
|
|
6
|
+
import { DAIMON_GROK_WORKER_HOME_DIRECTORY, daimonGrokWorkerSandboxProfileSha256, renderDaimonGrokWorkerSandboxProfile, resolveDaimonGrokWorkerConfig } from "../runtime/daimon/grokWorkerContract.js";
|
|
7
|
+
import { DAIMON_FIRST_WORKER_UID } from "../runtime/daimon/runtimeIdentity.js";
|
|
8
|
+
export const DAIMON_WORKER_ROOT = "/var/lib/daimon-workers";
|
|
9
|
+
export const DAIMON_GROK_WORKER_READ_ONLY_FILES = DAIMON_GROK_ENGINE_BROKER.worker.home.readOnlyFiles.names;
|
|
10
|
+
/** Container paths no Grok worker may read that nothing else guarantees to exist; provisioning creates them root-owned 0700 when absent. */
|
|
11
|
+
export const DAIMON_GROK_OPTIONAL_DENY_PATHS = ["/run/secrets", "/run/spawnfile", "/run/spawnfile-secrets", "/run/world"];
|
|
12
|
+
/**
|
|
13
|
+
* The organization runtime state directory — the parent of the durable wake
|
|
14
|
+
* acceptance store. The ownership guard secures it to `0700 2000:2000` for
|
|
15
|
+
* every Daimon organization; the acceptance store beneath it is also on every
|
|
16
|
+
* Grok worker's sandbox deny list.
|
|
17
|
+
*/
|
|
18
|
+
export const DAIMON_ORGANIZATION_STATE_DIRECTORY = path.posix.join(DAIMON_RUNTIME_HOME_ROOT, DAIMON_ORGANIZATION_TARGET_ID, "state");
|
|
19
|
+
/**
|
|
20
|
+
* The deny entry that protects the durable wake-acceptance store: the
|
|
21
|
+
* organization state directory the store lives in, not the store itself.
|
|
22
|
+
*
|
|
23
|
+
* Grok 1.0.34 materializes every `deny` target inside bubblewrap **as the
|
|
24
|
+
* worker uid** (it bind-mounts `$GROK_HOME/sandbox-blocked-{file,dir}` over
|
|
25
|
+
* the target), so an entry is placeable only when the worker can search every
|
|
26
|
+
* ancestor directory and the target already exists. The ownership guard secures
|
|
27
|
+
* this state directory to `0700 2000:2000`, so the store beneath it can never
|
|
28
|
+
* be a deny entry — and a single unplaceable entry makes Grok refuse the whole
|
|
29
|
+
* profile, failing *every* turn with `bwrap: Can't create file at …:
|
|
30
|
+
* Permission denied`, not just that path (matrix:
|
|
31
|
+
* `.runtime/grok-deny-placement/EVIDENCE.md`).
|
|
32
|
+
*
|
|
33
|
+
* Lifting the mask to the directory is strictly stronger than masking the store
|
|
34
|
+
* — nothing else lives there — and it adds no traversal right to the worker,
|
|
35
|
+
* which opening the directory with `o+x` would have done.
|
|
36
|
+
*/
|
|
37
|
+
export const daimonGrokAcceptanceStoreDenyPath = (instanceRoot) => path.posix.dirname(path.posix.join(instanceRoot, DAIMON_RUNTIME_ACCEPTANCE_STORE_DIRECTORY));
|
|
38
|
+
/**
|
|
39
|
+
* Paths Grok 1.0.34's strict base profile grants (read or read-write). Grok
|
|
40
|
+
* refuses to start when a deny entry equals or contains one of them (verified
|
|
41
|
+
* for `/tmp`, `/var/tmp`, `/run`, `/etc` and `sessions`; `/tmp/sub` works), so a
|
|
42
|
+
* deny entry must always sit strictly below every grant it touches.
|
|
43
|
+
*/
|
|
44
|
+
export const DAIMON_GROK_BASE_PROFILE_GRANTS = ["/bin", "/dev", "/etc", "/lib", "/proc", "/run", "/sbin", "/sys", "/tmp", "/usr", "/var", "/var/tmp"];
|
|
45
|
+
export const DAIMON_GROK_MAX_REGISTERED_PATH_BYTES = 255;
|
|
46
|
+
/**
|
|
47
|
+
* The canonical path rule Daimon's service parser and native launcher enforce:
|
|
48
|
+
* absolute, no empty, `.` or `..` component, no trailing slash, and at most 255
|
|
49
|
+
* bytes (the registration record's NUL-terminated 256-byte fields).
|
|
50
|
+
*/
|
|
51
|
+
export const assertCanonicalRegisteredPath = (label, value) => {
|
|
52
|
+
const components = value.split("/").slice(1);
|
|
53
|
+
if (!value.startsWith("/") || value.length < 2 || value.endsWith("/") || components.some((part) => part === "" || part === "." || part === "..")
|
|
54
|
+
|| path.posix.normalize(value) !== value || value.includes("\0") || Buffer.byteLength(value) > DAIMON_GROK_MAX_REGISTERED_PATH_BYTES) {
|
|
55
|
+
fail(`Grok worker ${label} is not a canonical registered path: ${JSON.stringify(value)}`);
|
|
56
|
+
}
|
|
57
|
+
return value;
|
|
58
|
+
};
|
|
59
|
+
const nodeSlug = (nodeId) => nodeId.replace(/^agent:/u, "")
|
|
60
|
+
.toLowerCase().replace(/[^a-z0-9]+/gu, "-").replace(/^-+|-+$/gu, "");
|
|
61
|
+
const fail = (message) => {
|
|
62
|
+
throw new SpawnfileError("compile_error", message);
|
|
63
|
+
};
|
|
64
|
+
const declaredModel = (plan, agentId) => {
|
|
65
|
+
const declared = plan.grokModelByNodeId?.[agentId];
|
|
66
|
+
if (!declared || !DAIMON_GROK_BROKER_MODELS.includes(declared.model)
|
|
67
|
+
|| !DAIMON_GROK_BROKER_REASONING_EFFORTS.includes(declared.reasoningEffort)) {
|
|
68
|
+
return fail(`Daimon Grok agent ${agentId} has no declared broker model and reasoning effort`);
|
|
69
|
+
}
|
|
70
|
+
return declared;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Spawnfile-managed state roots no Grok worker needs: the shared Moltnet store
|
|
74
|
+
* (server data, node/bridge configs, receipt stores, network state), per-agent
|
|
75
|
+
* Moltnet open-mode token directories, and declared Mneme memory banks. A
|
|
76
|
+
* worker reaches Moltnet and memory only through Daimon's MCP tools, which run
|
|
77
|
+
* in the organization process, never by reading these files. Provisioning
|
|
78
|
+
* creates each root-owned `0700` when absent so the mask always has a target.
|
|
79
|
+
*/
|
|
80
|
+
export const DAIMON_GROK_DENIED_STATE_ROOTS = ["/var/lib/spawnfile/agents", "/var/lib/spawnfile/memory", "/var/lib/spawnfile/moltnet"];
|
|
81
|
+
const within = (candidate, root) => candidate === root || candidate.startsWith(`${root}/`);
|
|
82
|
+
/**
|
|
83
|
+
* One brokered worker's sandbox deny list.
|
|
84
|
+
*
|
|
85
|
+
* Daimon's own protected set for the agent (`grokSandboxProtectedPaths`: the
|
|
86
|
+
* Grok bootstrap and realm, the AGY realm and unlock secret when any agent is
|
|
87
|
+
* AGY, the organization state directory that holds the wake-acceptance store,
|
|
88
|
+
* and every peer's runtime home and workspace) is always kept verbatim, so a Daimon projection over the same inputs renders
|
|
89
|
+
* the same profile. This deployment adds everything else the container
|
|
90
|
+
* provisions that the worker does not need: the organization config directory
|
|
91
|
+
* (all agents' instructions and any env files), every persistent mount of
|
|
92
|
+
* every runtime plan (the worker's own tool state, credential home and memory
|
|
93
|
+
* included — it reaches them only through Daimon), every other runtime
|
|
94
|
+
* instance root, the shared Moltnet/agent/memory state roots, every workspace
|
|
95
|
+
* resource backing path not linked from this agent's own workspace, the broker's
|
|
96
|
+
* `/etc` and `/run` directories, the usage ledger and wake fuse, every other
|
|
97
|
+
* worker's home, and the container secret roots.
|
|
98
|
+
*
|
|
99
|
+
* Allowed on purpose: the agent's own workspace (the worker's cwd), its own
|
|
100
|
+
* runtime home directory itself (Daimon's tool-result spill contract names paths
|
|
101
|
+
* under it; its contents are persistent mounts and denied), its own worker home,
|
|
102
|
+
* and backing paths of resources linked into its own workspace (a mask over the
|
|
103
|
+
* backing inode would also hide the agent's own resource through its link).
|
|
104
|
+
*
|
|
105
|
+
* Grok 1.0.34's strict base reads all of `/run`, `/var`, `/tmp` and `/etc`, and
|
|
106
|
+
* macOS bind mounts ignore unix modes, so this list — not file modes — is the
|
|
107
|
+
* boundary. Masks cannot nest: an added entry already covered by another entry
|
|
108
|
+
* is dropped, and an added entry that would cover a Daimon entry is refused.
|
|
109
|
+
*
|
|
110
|
+
* Every entry must also be *placeable*: Grok materializes each deny target
|
|
111
|
+
* inside bubblewrap as the worker uid, so the target must exist and the worker
|
|
112
|
+
* must be able to search every ancestor. That depends on modes, not paths, so
|
|
113
|
+
* the root provisioning program asserts it once every mode is final and refuses
|
|
114
|
+
* to start the container otherwise (`containerDaimonGrokWorkerProvisioning.ts`);
|
|
115
|
+
* here a protected path whose parent is private is lifted to that parent
|
|
116
|
+
* instead (`daimonGrokAcceptanceStoreDenyPath`).
|
|
117
|
+
*/
|
|
118
|
+
export const resolveDaimonGrokWorkerDenyPaths = (plans, plan, agentId, workerHomes, ownHome) => {
|
|
119
|
+
const instanceRoot = plan.instancePaths.instanceRoot ?? fail("Daimon Grok registrations require an instance root");
|
|
120
|
+
const agents = Object.entries(plan.engineByNodeId ?? {});
|
|
121
|
+
const ownWorkspace = path.posix.join(plan.instancePaths.workspacePath, "agents", nodeSlug(agentId));
|
|
122
|
+
const ownRuntimeHome = path.posix.join(instanceRoot, DAIMON_RUNTIME_HOMES_DIRECTORY, nodeSlug(agentId));
|
|
123
|
+
const peers = agents.filter(([id]) => id !== agentId).map(([id]) => nodeSlug(id));
|
|
124
|
+
const daimonOwn = [
|
|
125
|
+
DAIMON_GROK_SUBSCRIPTION_REALM.bootstrapMountPath,
|
|
126
|
+
DAIMON_GROK_SUBSCRIPTION_REALM.durableMountPath,
|
|
127
|
+
...(agents.some(([, engine]) => engine === "agy") ? [DAIMON_AGY_SUBSCRIPTION_REALM.unlockMountPath, DAIMON_AGY_SUBSCRIPTION_REALM.durableMountPath] : []),
|
|
128
|
+
daimonGrokAcceptanceStoreDenyPath(instanceRoot),
|
|
129
|
+
...peers.flatMap((slug) => [
|
|
130
|
+
path.posix.join(instanceRoot, DAIMON_RUNTIME_HOMES_DIRECTORY, slug),
|
|
131
|
+
path.posix.join(plan.instancePaths.workspacePath, "agents", slug)
|
|
132
|
+
])
|
|
133
|
+
];
|
|
134
|
+
const ownResourceBackings = new Set((plan.resources ?? [])
|
|
135
|
+
.filter((resource) => within(resource.linkPath, ownWorkspace))
|
|
136
|
+
.map((resource) => resource.backingPath));
|
|
137
|
+
const added = [
|
|
138
|
+
path.posix.dirname(plan.instancePaths.configPath),
|
|
139
|
+
...plans.flatMap((candidate) => (candidate.persistentMounts ?? []).map((mount) => mount.mount_path)),
|
|
140
|
+
...plans.filter((candidate) => candidate !== plan).flatMap((candidate) => [
|
|
141
|
+
candidate.instancePaths.instanceRoot ?? path.posix.dirname(candidate.instancePaths.configPath),
|
|
142
|
+
...(candidate.envFiles ?? []).map((binding) => binding.filePath)
|
|
143
|
+
]),
|
|
144
|
+
...(plan.envFiles ?? []).map((binding) => binding.filePath),
|
|
145
|
+
...plans.flatMap((candidate) => candidate.resources ?? []).map((resource) => resource.backingPath)
|
|
146
|
+
.filter((backing) => !ownResourceBackings.has(backing)),
|
|
147
|
+
...DAIMON_GROK_DENIED_STATE_ROOTS,
|
|
148
|
+
path.posix.dirname(DAIMON_GROK_ENGINE_BROKER.registrationPath),
|
|
149
|
+
path.posix.dirname(DAIMON_GROK_ENGINE_BROKER.controlSocketPath),
|
|
150
|
+
DAIMON_GROK_TURN_USAGE_LEDGER.directoryPath,
|
|
151
|
+
DAIMON_WAKE_FUSE_DIRECTORY,
|
|
152
|
+
...workerHomes.filter((home) => home !== ownHome),
|
|
153
|
+
...DAIMON_GROK_OPTIONAL_DENY_PATHS
|
|
154
|
+
].filter((entry) => entry.startsWith("/"));
|
|
155
|
+
const grokHome = path.posix.join(ownHome, DAIMON_GROK_WORKER_HOME_DIRECTORY);
|
|
156
|
+
const grants = [...DAIMON_GROK_BASE_PROFILE_GRANTS, ownWorkspace, grokHome, path.posix.join(grokHome, "sessions"), path.posix.join(ownHome, "tmp")];
|
|
157
|
+
for (const entry of [...daimonOwn, ...added]) {
|
|
158
|
+
const grant = grants.find((candidate) => within(candidate, entry));
|
|
159
|
+
if (grant)
|
|
160
|
+
fail(`Grok worker deny path ${entry} equals or contains the base profile grant ${grant}; Grok refuses such a profile`);
|
|
161
|
+
}
|
|
162
|
+
for (const entry of added) {
|
|
163
|
+
if (within(ownWorkspace, entry) || within(ownHome, entry) || entry === ownRuntimeHome || within(ownRuntimeHome, entry)
|
|
164
|
+
|| [...ownResourceBackings].some((backing) => within(backing, entry))) {
|
|
165
|
+
fail(`Grok worker deny path ${entry} would hide ${agentId}'s own workspace, home, or resources`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
const candidates = [...new Set([...daimonOwn, ...added])];
|
|
169
|
+
const daimonSet = new Set(daimonOwn);
|
|
170
|
+
const denied = candidates.filter((entry) => daimonSet.has(entry)
|
|
171
|
+
|| !candidates.some((other) => other !== entry && within(entry, other))).sort();
|
|
172
|
+
for (const entry of denied) {
|
|
173
|
+
const ancestor = denied.find((other) => other !== entry && within(entry, other));
|
|
174
|
+
if (ancestor)
|
|
175
|
+
fail(`Grok worker deny path ${ancestor} would cover ${entry}; masks cannot nest`);
|
|
176
|
+
}
|
|
177
|
+
return denied;
|
|
178
|
+
};
|
|
179
|
+
export const resolveDaimonGrokRegistrations = (plans) => {
|
|
180
|
+
const entries = plans
|
|
181
|
+
.filter((plan) => plan.runtimeName === "daimon")
|
|
182
|
+
.flatMap((plan) => Object.entries(plan.engineByNodeId ?? {})
|
|
183
|
+
.filter(([, engine]) => engine === "grok")
|
|
184
|
+
.map(([agentId]) => ({ agentId, plan })))
|
|
185
|
+
.sort((left, right) => left.agentId.localeCompare(right.agentId));
|
|
186
|
+
const homes = entries.map((_, slot) => path.posix.join(DAIMON_WORKER_ROOT, String(DAIMON_FIRST_WORKER_UID + slot)));
|
|
187
|
+
return entries.map(({ agentId, plan }, slot) => {
|
|
188
|
+
if (nodeSlug(agentId) === "")
|
|
189
|
+
fail(`Daimon Grok agent ${agentId} has no path-safe slug`);
|
|
190
|
+
const home = assertCanonicalRegisteredPath("home", homes[slot]);
|
|
191
|
+
const grokHome = path.posix.join(home, DAIMON_GROK_WORKER_HOME_DIRECTORY);
|
|
192
|
+
const instanceRoot = plan.instancePaths.instanceRoot ?? fail("Daimon Grok registrations require an instance root");
|
|
193
|
+
const runtimeHome = assertCanonicalRegisteredPath("runtime home", path.posix.join(instanceRoot, DAIMON_RUNTIME_HOMES_DIRECTORY, nodeSlug(agentId)));
|
|
194
|
+
const { model, reasoningEffort } = declaredModel(plan, agentId);
|
|
195
|
+
const config = resolveDaimonGrokWorkerConfig(model, reasoningEffort);
|
|
196
|
+
const denyPaths = resolveDaimonGrokWorkerDenyPaths(plans, plan, agentId, homes, home);
|
|
197
|
+
// The registration's per-turn budget: the contract defaults unless the agent declared its own.
|
|
198
|
+
// A wake may only lower this, so an organization that needs more than four minutes a turn has
|
|
199
|
+
// to declare it here rather than at wake time, where the broker refuses any raise.
|
|
200
|
+
const limits = resolveDaimonGrokRegistrationLimits(plan.grokTurnLimitsByNodeId?.[agentId]);
|
|
201
|
+
const profile = renderDaimonGrokWorkerSandboxProfile(denyPaths);
|
|
202
|
+
for (const [label, value] of [["GROK_HOME", grokHome], ["profile", path.posix.join(grokHome, "sandbox.toml")], ["events", path.posix.join(grokHome, DAIMON_GROK_ENGINE_BROKER.worker.home.sandboxEvents.relativePath)], ["private temp", path.posix.join(home, DAIMON_GROK_ENGINE_BROKER.worker.home.privateTmp.relativeToWorkerHome)]])
|
|
203
|
+
assertCanonicalRegisteredPath(label, value);
|
|
204
|
+
// The launcher derives HOME, GROK_HOME=<home>/.grok and TMPDIR=<home>/tmp from the registered home, and the broker reads the profile from GROK_HOME.
|
|
205
|
+
if (path.posix.dirname(path.posix.dirname(path.posix.join(grokHome, "sandbox.toml"))) !== home)
|
|
206
|
+
fail(`Grok worker ${agentId} profile is not under its registered home`);
|
|
207
|
+
const backings = new Set(plans.flatMap((candidate) => candidate.resources ?? []).map((resource) => resource.backingPath));
|
|
208
|
+
return {
|
|
209
|
+
deferredDenyPaths: denyPaths.filter((entry) => backings.has(entry)),
|
|
210
|
+
limits,
|
|
211
|
+
agentId,
|
|
212
|
+
config: config.bytes,
|
|
213
|
+
configSha256: config.sha256,
|
|
214
|
+
denyPaths,
|
|
215
|
+
eventsPath: path.posix.join(grokHome, DAIMON_GROK_ENGINE_BROKER.worker.home.sandboxEvents.relativePath),
|
|
216
|
+
grokHome,
|
|
217
|
+
home,
|
|
218
|
+
model,
|
|
219
|
+
profile,
|
|
220
|
+
profilePath: path.posix.join(grokHome, "sandbox.toml"),
|
|
221
|
+
profileSha256: daimonGrokWorkerSandboxProfileSha256(denyPaths),
|
|
222
|
+
privateTmp: path.posix.join(home, DAIMON_GROK_ENGINE_BROKER.worker.home.privateTmp.relativeToWorkerHome),
|
|
223
|
+
reasoningEffort,
|
|
224
|
+
runtimeHome,
|
|
225
|
+
runtimeHomeMounts: [...new Set(plans.flatMap((candidate) => (candidate.persistentMounts ?? []).map((mount) => mount.mount_path))
|
|
226
|
+
.filter((mountPath) => mountPath.startsWith(`${runtimeHome}/`)))].sort(),
|
|
227
|
+
spillDirectory: path.posix.join(runtimeHome, DAIMON_GROK_ENGINE_BROKER.worker.home.spillDirectory.relativeToRuntimeHome),
|
|
228
|
+
slot,
|
|
229
|
+
uid: DAIMON_FIRST_WORKER_UID + slot,
|
|
230
|
+
// Production keeps one container ledger: `spawnfile usage` and Daimon's
|
|
231
|
+
// wake fuse both read it, so a per-slot file would hide Grok spend from both.
|
|
232
|
+
usageLedgerPath: DAIMON_GROK_TURN_USAGE_LEDGER.filePath,
|
|
233
|
+
workspace: assertCanonicalRegisteredPath("workspace", path.posix.join(plan.instancePaths.workspacePath, "agents", nodeSlug(agentId)))
|
|
234
|
+
};
|
|
235
|
+
});
|
|
236
|
+
};
|
|
237
|
+
const resolveDaimonGrokTurnStore = (turnStore) => {
|
|
238
|
+
if (turnStore === undefined)
|
|
239
|
+
return DAIMON_GROK_ENGINE_BROKER.turnStorePath;
|
|
240
|
+
assertCanonicalRegisteredPath("turn store", turnStore);
|
|
241
|
+
if (turnStore === DAIMON_GROK_SUBSCRIPTION_REALM.durableMountPath || turnStore.startsWith(`${DAIMON_GROK_SUBSCRIPTION_REALM.durableMountPath}/`)) {
|
|
242
|
+
fail(`Grok broker turn store ${turnStore} is on the durable credential realm; a recycled slot would replay the previous trial's sealed turns`);
|
|
243
|
+
}
|
|
244
|
+
return turnStore;
|
|
245
|
+
};
|
|
246
|
+
const resolveDaimonGrokInferenceLedger = (inferenceLedgerPath, registrations) => {
|
|
247
|
+
assertCanonicalRegisteredPath("inference ledger", inferenceLedgerPath);
|
|
248
|
+
if (!inferenceLedgerPath.endsWith(".jsonl"))
|
|
249
|
+
fail(`Grok inference ledger must be a .jsonl path: ${inferenceLedgerPath}`);
|
|
250
|
+
const subject = new Set([DAIMON_GROK_TURN_USAGE_LEDGER.filePath, path.posix.join(DAIMON_GROK_TURN_USAGE_LEDGER.directoryPath, "requests.jsonl"),
|
|
251
|
+
...registrations.flatMap((entry) => [entry.usageLedgerPath, path.posix.join(path.posix.dirname(entry.usageLedgerPath), "requests.jsonl")])]);
|
|
252
|
+
if (subject.has(inferenceLedgerPath))
|
|
253
|
+
fail(`Grok inference ledger ${inferenceLedgerPath} is a subject usage ledger; judge spend must never reach the wake fuse`);
|
|
254
|
+
return inferenceLedgerPath;
|
|
255
|
+
};
|
|
256
|
+
/** `service.json` v2, exactly the shape Daimon's strict `parseEngineBrokerServiceConfig` accepts. */
|
|
257
|
+
export const renderDaimonGrokServiceConfig = (registrations, options = {}) => ({
|
|
258
|
+
version: DAIMON_GROK_ENGINE_BROKER.serviceConfigVersions[options.version === "v3" ? 2 : 1],
|
|
259
|
+
credentialHome: DAIMON_GROK_ENGINE_BROKER.credentialHomePath,
|
|
260
|
+
turnStore: resolveDaimonGrokTurnStore(options.turnStore),
|
|
261
|
+
...(options.maxRunRequests === undefined ? {} : { maxRunRequests: options.maxRunRequests }),
|
|
262
|
+
...(options.runRequestStore === undefined ? {} : { runRequestStore: assertCanonicalRegisteredPath("run request store", options.runRequestStore) }),
|
|
263
|
+
...(options.inferenceLedgerPath === undefined ? {} : { inferenceLedgerPath: resolveDaimonGrokInferenceLedger(options.inferenceLedgerPath, registrations) }),
|
|
264
|
+
registrations: registrations.map((entry) => ({
|
|
265
|
+
agentId: entry.agentId,
|
|
266
|
+
slot: entry.slot,
|
|
267
|
+
workerUid: entry.uid,
|
|
268
|
+
workspace: entry.workspace,
|
|
269
|
+
profilePath: entry.profilePath,
|
|
270
|
+
eventsPath: entry.eventsPath,
|
|
271
|
+
profileSha256: entry.profileSha256,
|
|
272
|
+
...(options.version === "v3" ? {} : { usageLedgerPath: entry.usageLedgerPath,
|
|
273
|
+
limits: { ...(entry.limits ?? DAIMON_GROK_ENGINE_BROKER.turnLimits.v1Defaults) },
|
|
274
|
+
model: { id: entry.model, reasoningEffort: entry.reasoningEffort } })
|
|
275
|
+
})),
|
|
276
|
+
...(options.version === "v3" ? { slotPolicies: registrations.map(entry => ({
|
|
277
|
+
slot: entry.slot, usageLedgerPath: entry.usageLedgerPath,
|
|
278
|
+
limits: { ...(entry.limits ?? DAIMON_GROK_ENGINE_BROKER.turnLimits.v1Defaults) },
|
|
279
|
+
model: { id: entry.model, reasoningEffort: entry.reasoningEffort }
|
|
280
|
+
})) } : {})
|
|
281
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RuntimeTargetPlan } from "./containerArtifactsTypes.js";
|
|
2
|
+
export declare const renderDaimonOwnershipProgram: (opaqueTargets: string[], opaqueDescendantRoots: string[], immutableRuntimeRoots: string[], volumeIdentityFiles: Array<{
|
|
3
|
+
path: string;
|
|
4
|
+
identity: string;
|
|
5
|
+
}>, privateDirectories: string[], privateFiles: string[], privateModeDirectories: string[], creatablePrivateDirectories: Array<{
|
|
6
|
+
anchor: string;
|
|
7
|
+
target: string;
|
|
8
|
+
}>,
|
|
9
|
+
/**
|
|
10
|
+
* A brokered Grok worker's sandbox cannot be applied when `/var` is traverse-only.
|
|
11
|
+
* Grok 1.0.34 builds every profile inside bubblewrap and then verifies it from the
|
|
12
|
+
* worker uid; with `/var` at 0711 that verification fails and the worker refuses to
|
|
13
|
+
* start ("could not apply the 'daimon-strict' sandbox profile"), which is every turn
|
|
14
|
+
* of every Grok agent. Bisected on the production host: with `/var` at 0755 the
|
|
15
|
+
* sandbox applies and the turn runs, at 0711 it never does, and the deeper ancestors
|
|
16
|
+
* (`/var/lib`, the worker root) make no difference either way — so only this one
|
|
17
|
+
* level is widened, only for an organization that actually runs a Grok worker, and
|
|
18
|
+
* only to the mode the proven-working training container has always had. Codex- and
|
|
19
|
+
* AGY-only organizations keep the traverse-only `/var` unchanged.
|
|
20
|
+
*/
|
|
21
|
+
grokWorkersPresent?: boolean) => string;
|
|
22
|
+
export declare const resolveDaimonVolumeIdentityFiles: (runtimePlans: RuntimeTargetPlan[]) => Array<{
|
|
23
|
+
path: string;
|
|
24
|
+
identity: string;
|
|
25
|
+
}>;
|