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
|
@@ -9,13 +9,14 @@ import { assertRuntimeSupportsExecutionModelAuth } from "./modelAuth.js";
|
|
|
9
9
|
import { loadResolvedSkills, mergeResolvedSkills } from "./surfaces.js";
|
|
10
10
|
import { assertRuntimeSupportsAgentSurfaces } from "./surfaceSupport.js";
|
|
11
11
|
import { mergeWorkspaceResources } from "./workspaceResources.js";
|
|
12
|
+
import { mergeTrainingDeclarations, resolveTrainingDeclaration } from "./training/resolution.js";
|
|
12
13
|
export const resolveAgentNode = async ({ context, manifest, manifestPath, source }) => {
|
|
13
14
|
const runtime = await resolveRuntime(manifest, context);
|
|
14
15
|
const execution = applyExecutionDefaults(context.isSubagent
|
|
15
16
|
? mergeExecution(context.inheritedExecution, manifest.execution)
|
|
16
17
|
: manifest.execution);
|
|
17
18
|
assertRuntimeSupportsExecutionModelAuth(runtime.name, execution, manifest.name);
|
|
18
|
-
const environment = resolveEffectiveEnvironment(context.inheritedShared?.surface?.environment, manifest.environment);
|
|
19
|
+
const environment = resolveEffectiveEnvironment(manifest.name, context.inheritedShared?.surface?.environment, manifest.environment);
|
|
19
20
|
const inheritedSkills = context.inheritedShared
|
|
20
21
|
? await loadResolvedSkills(context.inheritedShared.manifestPath, context.inheritedShared.surface?.workspace?.skills)
|
|
21
22
|
: [];
|
|
@@ -49,6 +50,7 @@ export const resolveAgentNode = async ({ context, manifest, manifestPath, source
|
|
|
49
50
|
...(source === manifestPath ? {} : { sourcePath: manifestPath }),
|
|
50
51
|
surfaces: resolveAgentSurfaces(manifest.surfaces),
|
|
51
52
|
subagents: [],
|
|
53
|
+
training: mergeTrainingDeclarations(resolveTrainingDeclaration(context.inheritedShared?.surface?.training, context.inheritedShared?.manifestPath ?? manifestPath, context.inheritedShared?.manifestPath ?? source), resolveTrainingDeclaration(manifest.training, manifestPath, source)),
|
|
52
54
|
workspaceResources
|
|
53
55
|
};
|
|
54
56
|
assertRuntimeSupportsAgentSurfaces(runtime.name, candidate.surfaces, manifest.name);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type TeamManifest } from "../manifest/index.js";
|
|
2
2
|
import type { ResolvedTeamNetwork, ResolvedTeamNode } from "./types.js";
|
|
3
3
|
export declare const resolveTeamExternalIds: (manifest: TeamManifest) => string[];
|
|
4
4
|
export declare const resolveTeamNetworks: (manifest: TeamManifest) => ResolvedTeamNetwork[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isDeclaredPairedRemoteRoomMember } from "../manifest/index.js";
|
|
1
2
|
import { SpawnfileError } from "../shared/index.js";
|
|
2
3
|
export const resolveTeamExternalIds = (manifest) => {
|
|
3
4
|
const memberIds = manifest.members.map((member) => member.id);
|
|
@@ -20,6 +21,9 @@ export const resolveTeamNetworks = (manifest) => (manifest.networks ?? []).map((
|
|
|
20
21
|
name: network.name ?? network.id,
|
|
21
22
|
provider: network.provider,
|
|
22
23
|
rooms: network.rooms.map((room) => ({
|
|
24
|
+
...(room.federation
|
|
25
|
+
? { federation: Array.isArray(room.federation) ? [...room.federation].sort() : room.federation }
|
|
26
|
+
: {}),
|
|
23
27
|
id: room.id,
|
|
24
28
|
members: [...room.members],
|
|
25
29
|
...(room.name ? { name: room.name } : {}),
|
|
@@ -40,7 +44,8 @@ export const validateTeamNetworkRooms = (teamNode) => {
|
|
|
40
44
|
for (const roomMemberId of room.members) {
|
|
41
45
|
const resolvedMember = teamNode.members.find((member) => member.id === roomMemberId);
|
|
42
46
|
if (!resolvedMember
|
|
43
|
-
&& !isAttachedExternalRoomMember(teamNode, network.id, roomMemberId)
|
|
47
|
+
&& !isAttachedExternalRoomMember(teamNode, network.id, roomMemberId)
|
|
48
|
+
&& !isDeclaredPairedRemoteRoomMember(network, room, roomMemberId)) {
|
|
44
49
|
throw new SpawnfileError("validation_error", `Team ${teamNode.name} Moltnet room ${room.id} references unknown member ${roomMemberId}`);
|
|
45
50
|
}
|
|
46
51
|
}
|
|
@@ -11,6 +11,7 @@ import { mergeWorkspaceResources } from "./workspaceResources.js";
|
|
|
11
11
|
import { DEFAULT_POLICY_MODE, DEFAULT_POLICY_ON_DEGRADE, mergeResolvedDocuments, } from "./buildCompilePlanTraversalHelpers.js";
|
|
12
12
|
import { resolveAgentNode } from "./buildCompilePlanAgent.js";
|
|
13
13
|
import { createInlineAgentSource } from "./projectManifestGraph.js";
|
|
14
|
+
import { resolveTrainingDeclaration } from "./training/resolution.js";
|
|
14
15
|
export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, fingerprintCache, edges, memberships }) => {
|
|
15
16
|
const visitStack = [];
|
|
16
17
|
const recordAgentMembership = (teamSource, teamName, memberId, agent) => {
|
|
@@ -128,6 +129,7 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
|
|
|
128
129
|
skills: sharedSkills
|
|
129
130
|
},
|
|
130
131
|
source: canonicalPath,
|
|
132
|
+
training: resolveTrainingDeclaration(manifest.shared?.training, canonicalPath, canonicalPath)
|
|
131
133
|
};
|
|
132
134
|
const fingerprint = getTeamFingerprint(candidate);
|
|
133
135
|
const existingFingerprint = fingerprintCache.get(canonicalPath);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Environment, type McpServer, type Secret, type TeamWorkspace } from "../manifest/index.js";
|
|
1
|
+
import { type Environment, type McpServer, type Secret, type SharedEnvironment, type TeamWorkspace } from "../manifest/index.js";
|
|
2
2
|
import { ResolvedDocument, ResolvedPackage, ResolvedAgentNode, ResolvedTeamNode } from "./types.js";
|
|
3
3
|
export declare const DEFAULT_POLICY_MODE = "warn";
|
|
4
4
|
export declare const DEFAULT_POLICY_ON_DEGRADE = "warn";
|
|
@@ -9,7 +9,7 @@ export type InternalNode = {
|
|
|
9
9
|
};
|
|
10
10
|
type ResolvedPackageArray = ResolvedPackage[] | undefined;
|
|
11
11
|
export declare const mergeResolvedDocuments: (primaryPath: string, primaryDocs: TeamWorkspace["docs"] | undefined, fallbackPath: string | undefined, fallbackDocs: TeamWorkspace["docs"] | undefined) => Promise<ResolvedDocument[]>;
|
|
12
|
-
export declare const resolveEffectiveEnvironment: (sharedEnvironment:
|
|
12
|
+
export declare const resolveEffectiveEnvironment: (agentName: string, sharedEnvironment: SharedEnvironment | undefined, localEnvironment: Environment | undefined) => {
|
|
13
13
|
env: Record<string, string>;
|
|
14
14
|
mcpServers: McpServer[];
|
|
15
15
|
packages: ResolvedPackageArray;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { loadResolvedDocuments, mergeEnv,
|
|
1
|
+
import { loadResolvedDocuments, mergeEnv, mergePackages, mergeSecrets } from "./surfaces.js";
|
|
2
|
+
import { resolveInheritedMcpServers } from "./mcpServerInheritance.js";
|
|
2
3
|
export const DEFAULT_POLICY_MODE = "warn";
|
|
3
4
|
export const DEFAULT_POLICY_ON_DEGRADE = "warn";
|
|
4
5
|
export const mergeResolvedDocuments = async (primaryPath, primaryDocs, fallbackPath, fallbackDocs) => {
|
|
@@ -14,9 +15,9 @@ export const mergeResolvedDocuments = async (primaryPath, primaryDocs, fallbackP
|
|
|
14
15
|
}
|
|
15
16
|
return [...merged.values()];
|
|
16
17
|
};
|
|
17
|
-
export const resolveEffectiveEnvironment = (sharedEnvironment, localEnvironment) => ({
|
|
18
|
+
export const resolveEffectiveEnvironment = (agentName, sharedEnvironment, localEnvironment) => ({
|
|
18
19
|
env: mergeEnv(sharedEnvironment?.env, localEnvironment?.env),
|
|
19
|
-
mcpServers:
|
|
20
|
+
mcpServers: resolveInheritedMcpServers(agentName, sharedEnvironment?.mcp_servers, localEnvironment?.mcp_servers),
|
|
20
21
|
packages: mergePackages(sharedEnvironment?.packages, localEnvironment?.packages),
|
|
21
22
|
secrets: mergeSecrets(sharedEnvironment?.secrets, localEnvironment?.secrets)
|
|
22
23
|
});
|
|
@@ -29,6 +29,7 @@ export interface BuildProjectResult extends CompileProjectResult {
|
|
|
29
29
|
imageTag: string;
|
|
30
30
|
}
|
|
31
31
|
export declare const createDefaultImageTag: (projectRoot: string) => string;
|
|
32
|
+
export declare const resolveImageTagRoot: (inputPath: string) => string;
|
|
32
33
|
export declare const createDockerBuildInvocation: (outputDirectory: string, imageTag: string, options?: string | {
|
|
33
34
|
dockerCommand?: string;
|
|
34
35
|
dockerContext?: string;
|
|
@@ -37,3 +38,12 @@ export declare const normalizeDockerArchitecture: (architecture: string) => Molt
|
|
|
37
38
|
export declare const resolveDockerBuildArchitecture: (options: Pick<BuildProjectOptions, "dockerCommand" | "dockerContext">) => Promise<MoltnetTargetArchitecture | undefined>;
|
|
38
39
|
export declare const runDockerBuild: DockerBuildRunner;
|
|
39
40
|
export declare const buildProject: (inputPath: string, options?: BuildProjectOptions) => Promise<BuildProjectResult>;
|
|
41
|
+
/**
|
|
42
|
+
* The image half of `buildProject`, for callers that compiled first and need
|
|
43
|
+
* the build-context identity before deciding whether to build at all (a
|
|
44
|
+
* release no-ops on an unchanged identity without touching Docker).
|
|
45
|
+
* `contextDigest` may be passed when the caller already computed it.
|
|
46
|
+
*/
|
|
47
|
+
export declare const buildCompiledProject: (inputPath: string, compileResult: CompileProjectResult, options?: Omit<BuildProjectOptions, keyof CompileProjectOptions> & {
|
|
48
|
+
contextDigest?: string;
|
|
49
|
+
}) => Promise<BuildProjectResult>;
|
|
@@ -13,7 +13,7 @@ export const createDefaultImageTag = (projectRoot) => {
|
|
|
13
13
|
const baseName = slugify(path.basename(projectRoot));
|
|
14
14
|
return `spawnfile-${baseName || "project"}`;
|
|
15
15
|
};
|
|
16
|
-
const resolveImageTagRoot = (inputPath) => {
|
|
16
|
+
export const resolveImageTagRoot = (inputPath) => {
|
|
17
17
|
const resolvedPath = path.resolve(inputPath);
|
|
18
18
|
return path.basename(resolvedPath).toLowerCase() === "spawnfile"
|
|
19
19
|
? path.dirname(resolvedPath)
|
|
@@ -78,6 +78,9 @@ export const runDockerBuild = async (invocation) => new Promise((resolve, reject
|
|
|
78
78
|
export const buildProject = async (inputPath, options = {}) => {
|
|
79
79
|
const targetArchitecture = options.containerArchitecture ?? await resolveDockerBuildArchitecture(options);
|
|
80
80
|
const compileResult = await compileProject(inputPath, {
|
|
81
|
+
...(options.bundleCacheDirectory !== undefined ? { bundleCacheDirectory: options.bundleCacheDirectory } : {}),
|
|
82
|
+
...(options.bundleIdentity !== undefined ? { bundleIdentity: options.bundleIdentity } : {}),
|
|
83
|
+
...(options.bundleDockerCommand ?? options.dockerCommand ? { bundleDockerCommand: options.bundleDockerCommand ?? options.dockerCommand } : {}),
|
|
81
84
|
clean: options.clean,
|
|
82
85
|
containerArchitecture: targetArchitecture,
|
|
83
86
|
outputDirectory: options.outputDirectory,
|
|
@@ -86,6 +89,15 @@ export const buildProject = async (inputPath, options = {}) => {
|
|
|
86
89
|
? { worldBindingsPath: options.worldBindingsPath }
|
|
87
90
|
: {})
|
|
88
91
|
});
|
|
92
|
+
return buildCompiledProject(inputPath, compileResult, options);
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* The image half of `buildProject`, for callers that compiled first and need
|
|
96
|
+
* the build-context identity before deciding whether to build at all (a
|
|
97
|
+
* release no-ops on an unchanged identity without touching Docker).
|
|
98
|
+
* `contextDigest` may be passed when the caller already computed it.
|
|
99
|
+
*/
|
|
100
|
+
export const buildCompiledProject = async (inputPath, compileResult, options = {}) => {
|
|
89
101
|
const imageTag = options.imageTag ?? createDefaultImageTag(resolveImageTagRoot(inputPath));
|
|
90
102
|
const invocation = createDockerBuildInvocation(compileResult.outputDirectory, imageTag, {
|
|
91
103
|
dockerCommand: options.dockerCommand,
|
|
@@ -96,7 +108,7 @@ export const buildProject = async (inputPath, options = {}) => {
|
|
|
96
108
|
const contextDigestStartedAt = performance.now();
|
|
97
109
|
const [contextFiles, contextDigest] = await Promise.all([
|
|
98
110
|
listDockerBuildContextFiles(compileResult.outputDirectory),
|
|
99
|
-
createDockerBuildContextDigest(compileResult.outputDirectory)
|
|
111
|
+
options.contextDigest ?? createDockerBuildContextDigest(compileResult.outputDirectory)
|
|
100
112
|
]);
|
|
101
113
|
const contextDigestMs = performance.now() - contextDigestStartedAt;
|
|
102
114
|
let probeMs = 0;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { readdir, rm } from "node:fs/promises";
|
|
3
|
+
/** Deployment records and histories are host state, not replaceable compile output. */
|
|
4
|
+
export const cleanCompileOutput = async (directory) => {
|
|
5
|
+
const entries = await readdir(directory).catch((error) => {
|
|
6
|
+
if (error.code === "ENOENT")
|
|
7
|
+
return [];
|
|
8
|
+
throw error;
|
|
9
|
+
});
|
|
10
|
+
for (const entry of entries)
|
|
11
|
+
if (entry !== "deployments") {
|
|
12
|
+
await rm(path.join(directory, entry), { recursive: true, force: true });
|
|
13
|
+
}
|
|
14
|
+
};
|
|
@@ -26,6 +26,7 @@ export const getAgentFingerprint = (node) => stableStringify({
|
|
|
26
26
|
requiresMcp: skill.requiresMcp
|
|
27
27
|
})),
|
|
28
28
|
surfaces: node.surfaces,
|
|
29
|
+
training: node.training,
|
|
29
30
|
workspaceResources: node.workspaceResources
|
|
30
31
|
});
|
|
31
32
|
export const getTeamFingerprint = (node) => stableStringify({
|
|
@@ -35,6 +36,7 @@ export const getTeamFingerprint = (node) => stableStringify({
|
|
|
35
36
|
lead: node.lead,
|
|
36
37
|
external: node.external,
|
|
37
38
|
networks: node.networks ?? [],
|
|
39
|
+
training: node.training,
|
|
38
40
|
workspaceResources: node.workspaceResources,
|
|
39
41
|
shared: {
|
|
40
42
|
env: node.shared.env,
|
|
@@ -55,6 +57,9 @@ const collectMoltnetSecretNames = (server, secretNames) => {
|
|
|
55
57
|
if (server.mode === "managed") {
|
|
56
58
|
for (const pairing of server.pairings ?? []) {
|
|
57
59
|
secretNames.add(pairing.token_secret);
|
|
60
|
+
if (pairing.relay) {
|
|
61
|
+
secretNames.add(pairing.relay.token_secret);
|
|
62
|
+
}
|
|
58
63
|
}
|
|
59
64
|
if (server.store.kind === "postgres") {
|
|
60
65
|
secretNames.add(server.store.dsn_secret);
|
|
@@ -1,12 +1,24 @@
|
|
|
1
|
+
import type { DaimonContractManifest } from "../runtime/daimon/contractManifest.js";
|
|
1
2
|
import { CompileReport } from "../report/index.js";
|
|
2
3
|
import { type RuntimePackageOverrideRequest } from "./containerPackageOverrides.js";
|
|
4
|
+
import type { BundleIdentityMode } from "./workspaceBundleFiles.js";
|
|
3
5
|
import { type MoltnetTargetArchitecture } from "./moltnetBinaries.js";
|
|
4
6
|
import { type OrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
|
|
5
7
|
export { createOrganizationReadinessEvidence, ORGANIZATION_READINESS_EVIDENCE_VERSION } from "./organizationReadyEvidence.js";
|
|
6
8
|
export type { CreateOrganizationReadinessEvidenceInput, OrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
|
|
7
9
|
export interface CompileProjectOptions {
|
|
10
|
+
/** Test seam for the receipt-bound manifest; normal compilation uses the verified vendored bytes. */
|
|
11
|
+
daimonContractManifest?: DaimonContractManifest;
|
|
12
|
+
/** Docker CLI for dependency installs and image-run generated bundle steps; defaults to `docker`. */
|
|
13
|
+
bundleDockerCommand?: string;
|
|
14
|
+
/** Cache for built workspace bundles; defaults to `$SPAWNFILE_HOME/cache/workspace-bundles`. */
|
|
15
|
+
bundleCacheDirectory?: string;
|
|
16
|
+
/** `release` builds bundles only from clean committed inputs; `dev` (default) includes uncommitted edits. */
|
|
17
|
+
bundleIdentity?: BundleIdentityMode;
|
|
8
18
|
clean?: boolean;
|
|
9
19
|
containerArchitecture?: MoltnetTargetArchitecture;
|
|
20
|
+
/** Stable deployment identity for exclusive credential-realm reattachment. */
|
|
21
|
+
deploymentLineage?: string;
|
|
10
22
|
outputDirectory?: string;
|
|
11
23
|
/** Compile-time-only local overrides for runtime install npm packages
|
|
12
24
|
* (see src/compiler/containerPackageOverrides.ts). Only opt-in
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
+
import { cleanCompileOutput } from "./cleanCompileOutput.js";
|
|
2
|
+
import { assertRecordingCapability } from "./recordingCapability.js";
|
|
1
3
|
import path from "node:path";
|
|
2
4
|
import { chmod } from "node:fs/promises";
|
|
3
|
-
import { ensureDirectory
|
|
5
|
+
import { ensureDirectory } from "../filesystem/index.js";
|
|
4
6
|
import { createCompileReport, createDiagnostic, writeCompileReport } from "../report/index.js";
|
|
5
7
|
import { DEFAULT_OUTPUT_DIRECTORY } from "../shared/index.js";
|
|
6
8
|
import { assertRuntimeCanCompile, createRuntimeLifecycleDiagnostics, getRuntimeAdapter, resolveNoopolisRunId } from "../runtime/index.js";
|
|
7
9
|
import { buildCompilePlan } from "./buildCompilePlan.js";
|
|
8
10
|
import { createContainerArtifacts } from "./containerArtifacts.js";
|
|
9
11
|
import { stageRuntimePackageOverrides } from "./containerPackageOverrides.js";
|
|
12
|
+
import { stageWorkspaceBundles } from "./workspaceBundleArtifacts.js";
|
|
13
|
+
import { resolveWorkspaceBundles } from "./workspaceBundleResolve.js";
|
|
14
|
+
import { resolveWorkspaceGitPins } from "./workspaceGitPins.js";
|
|
10
15
|
import { augmentNodeReports } from "./compileProjectReports.js";
|
|
11
16
|
import { enforcePolicy } from "./compileProjectPolicy.js";
|
|
12
17
|
import { injectMoltnetWorkspaceFiles, injectTeamCompileSupportFiles, prepareTeamCompileSupport, writeEmittedFiles } from "./compileProjectSupport.js";
|
|
@@ -140,6 +145,7 @@ const compileTeamNode = async (baseDirectory, node) => {
|
|
|
140
145
|
};
|
|
141
146
|
export const compileProject = async (inputPath, options = {}) => {
|
|
142
147
|
const plan = await buildCompilePlan(inputPath);
|
|
148
|
+
await assertRecordingCapability(plan, options.daimonContractManifest);
|
|
143
149
|
const worldBindings = options.worldBindingsPath === undefined
|
|
144
150
|
? undefined
|
|
145
151
|
: await loadWorldBindingsForCompile(plan, options.worldBindingsPath, resolveNoopolisRunId(process.env));
|
|
@@ -149,9 +155,22 @@ export const compileProject = async (inputPath, options = {}) => {
|
|
|
149
155
|
? path.resolve(options.outputDirectory)
|
|
150
156
|
: path.join(path.dirname(plan.root), DEFAULT_OUTPUT_DIRECTORY);
|
|
151
157
|
if (options.clean ?? true) {
|
|
152
|
-
await
|
|
158
|
+
await cleanCompileOutput(outputDirectory);
|
|
153
159
|
}
|
|
154
160
|
await ensureDirectory(outputDirectory);
|
|
161
|
+
const workspaceBundles = await resolveWorkspaceBundles(plan, {
|
|
162
|
+
architecture: options.containerArchitecture,
|
|
163
|
+
cacheDirectory: options.bundleCacheDirectory,
|
|
164
|
+
...(options.bundleDockerCommand !== undefined ? { dockerCommand: options.bundleDockerCommand } : {}),
|
|
165
|
+
identity: options.bundleIdentity,
|
|
166
|
+
outputDirectory
|
|
167
|
+
});
|
|
168
|
+
const workspaceGitPins = await resolveWorkspaceGitPins(plan, {
|
|
169
|
+
architecture: options.containerArchitecture,
|
|
170
|
+
bundleCacheDirectory: options.bundleCacheDirectory,
|
|
171
|
+
identity: options.bundleIdentity,
|
|
172
|
+
outputDirectory
|
|
173
|
+
});
|
|
155
174
|
const teamCompileSupport = await prepareTeamCompileSupport(plan);
|
|
156
175
|
const nodeReports = [];
|
|
157
176
|
const compiledNodes = [];
|
|
@@ -171,7 +190,7 @@ export const compileProject = async (inputPath, options = {}) => {
|
|
|
171
190
|
for (const compiled of compiledNodes) {
|
|
172
191
|
enforcePolicy(compiled.report, compiled.value.policyMode, compiled.value.policyOnDegrade);
|
|
173
192
|
}
|
|
174
|
-
const moltnetArtifacts = await generateMoltnetArtifacts(plan);
|
|
193
|
+
const moltnetArtifacts = await generateMoltnetArtifacts(plan, options.deploymentLineage);
|
|
175
194
|
const moltnetRelease = moltnetArtifacts
|
|
176
195
|
? await stageMoltnetBinaries(outputDirectory, {
|
|
177
196
|
architecture: options.containerArchitecture
|
|
@@ -179,13 +198,18 @@ export const compileProject = async (inputPath, options = {}) => {
|
|
|
179
198
|
: undefined;
|
|
180
199
|
await injectMoltnetWorkspaceFiles(outputDirectory, compiledNodes, moltnetArtifacts);
|
|
181
200
|
const resolvedRuntimePackageOverrides = await stageRuntimePackageOverrides(outputDirectory, options.runtimePackageOverrides);
|
|
201
|
+
const hasWorkspaceBundles = await stageWorkspaceBundles(outputDirectory, plan, new Map([...workspaceBundles.built, ...workspaceGitPins.built]));
|
|
182
202
|
const generatedAt = new Date().toISOString();
|
|
183
203
|
const containerArtifacts = await createContainerArtifacts(plan, compiledNodes, {
|
|
204
|
+
deploymentLineage: options.deploymentLineage,
|
|
184
205
|
generatedAt,
|
|
185
206
|
hasStagedMoltnetBinaries: Boolean(moltnetRelease),
|
|
207
|
+
hasWorkspaceBundles,
|
|
186
208
|
moltnet: moltnetArtifacts,
|
|
187
209
|
moltnetRelease,
|
|
188
210
|
runtimePackageOverrides: resolvedRuntimePackageOverrides,
|
|
211
|
+
workspaceGitResources: workspaceGitPins.report,
|
|
212
|
+
workspaceBundles: workspaceBundles.report,
|
|
189
213
|
...(worldBindings ? { worldBindings } : {})
|
|
190
214
|
});
|
|
191
215
|
await writeEmittedFiles(outputDirectory, containerArtifacts.files);
|
|
@@ -196,6 +220,12 @@ export const compileProject = async (inputPath, options = {}) => {
|
|
|
196
220
|
outputDirectory,
|
|
197
221
|
projectName: containerArtifacts.distribution.report.organization.project
|
|
198
222
|
});
|
|
223
|
+
if (workspaceBundles.report.length > 0)
|
|
224
|
+
report.workspace_bundles = workspaceBundles.report;
|
|
225
|
+
if (workspaceGitPins.report.length > 0)
|
|
226
|
+
report.workspace_git_resources = workspaceGitPins.report;
|
|
227
|
+
if (containerArtifacts.distribution.report.recording)
|
|
228
|
+
report.recording = containerArtifacts.distribution.report.recording;
|
|
199
229
|
const reportPath = await writeCompileReport(outputDirectory, report);
|
|
200
230
|
const organizationReadinessEvidence = createOrganizationReadinessEvidence({
|
|
201
231
|
compileVersion: report.spawnfile_version,
|
|
@@ -100,6 +100,15 @@ export const injectMoltnetWorkspaceFiles = async (outputDirectory, compiledNodes
|
|
|
100
100
|
upsertEmittedFile(compiled.emittedFiles, file);
|
|
101
101
|
}
|
|
102
102
|
await writeEmittedFiles(runtimeOutputDirectory, moltnetClientConfigFiles);
|
|
103
|
+
// Daimon agents talk Moltnet through the native moltnet_send/moltnet_read
|
|
104
|
+
// tools, and the moltnet CLI is not authenticated inside a Daimon
|
|
105
|
+
// workspace. Installing its skill there only teaches the agent a shell
|
|
106
|
+
// path that fails before it falls back to the tools it already has, so
|
|
107
|
+
// Daimon skips the skill install entirely; .moltnet/config.json above is
|
|
108
|
+
// still emitted since the native tools read it.
|
|
109
|
+
if (compiled.value.runtime.name === "daimon") {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
103
112
|
if (!moltnetCliCommand) {
|
|
104
113
|
moltnetCliCommand = await resolveMoltnetCliCommand();
|
|
105
114
|
}
|
|
@@ -71,6 +71,7 @@ export const createMoltnetSummary = (moltnet, release) => {
|
|
|
71
71
|
}
|
|
72
72
|
return {
|
|
73
73
|
node_plans: moltnet.nodePlans.map((plan) => ({
|
|
74
|
+
...(plan.sourceNodeId ? { node_id: plan.sourceNodeId } : {}),
|
|
74
75
|
config_path: plan.configPath,
|
|
75
76
|
...(plan.credentialAgentId ? { credential_agent_id: plan.credentialAgentId } : {}),
|
|
76
77
|
...(plan.credentialId ? { credential_id: plan.credentialId } : {}),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { CompileReport } from "../report/index.js";
|
|
2
|
+
import { type RuntimeContainerPackageOverrides } from "../runtime/index.js";
|
|
2
3
|
import type { MoltnetArtifacts } from "./moltnetArtifacts.js";
|
|
3
4
|
import type { MoltnetReleaseIdentity } from "./moltnetBinaries.js";
|
|
4
5
|
import type { CompiledNodeArtifact, GeneratedContainerArtifacts } from "./containerArtifactsTypes.js";
|
|
@@ -6,15 +7,16 @@ import type { CompilePlan } from "./types.js";
|
|
|
6
7
|
import { type ResolvedWorldBindings } from "./worldBindings.js";
|
|
7
8
|
export type { CompiledNodeArtifact, GeneratedContainerArtifacts } from "./containerArtifactsTypes.js";
|
|
8
9
|
export interface ContainerArtifactOptions {
|
|
10
|
+
deploymentLineage?: string;
|
|
9
11
|
generatedAt?: string;
|
|
10
12
|
hasStagedMoltnetBinaries?: boolean;
|
|
13
|
+
hasWorkspaceBundles?: boolean;
|
|
11
14
|
moltnet?: MoltnetArtifacts | null;
|
|
12
15
|
moltnetRelease?: MoltnetReleaseIdentity;
|
|
13
16
|
worldBindings?: ResolvedWorldBindings;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* standard compile. */
|
|
17
|
+
workspaceGitResources?: CompileReport["workspace_git_resources"];
|
|
18
|
+
workspaceBundles?: CompileReport["workspace_bundles"];
|
|
19
|
+
/** Opt-in install overrides resolved by stageRuntimePackageOverrides. */
|
|
18
20
|
runtimePackageOverrides?: RuntimeContainerPackageOverrides;
|
|
19
21
|
}
|
|
20
22
|
export declare const createContainerArtifacts: (plan: CompilePlan, compiledNodes: CompiledNodeArtifact[], options?: ContainerArtifactOptions) => Promise<GeneratedContainerArtifacts>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { buildDistributionReport, createDistributionImageLabels, DISTRIBUTION_REPORT_OUTPUT_FILE, normalizeProjectLabelSlug, WORLD_BINDINGS_IMAGE_PATH } from "../distribution/index.js";
|
|
3
|
+
import { DAIMON_LOCAL_RUNTIME_IDENTITY_ENV, loadLocalDaimonRuntimeIdentity } from "../runtime/index.js";
|
|
3
4
|
import { SpawnfileError } from "../shared/index.js";
|
|
4
5
|
import { createMoltnetSummary, createOrganizationSummary } from "./containerArtifactSummaries.js";
|
|
5
6
|
import { createEnvVariableMap, createRuntimeTargetPlans } from "./containerArtifactsPlans.js";
|
|
@@ -7,9 +8,37 @@ import { createDockerIgnoreContent } from "./dockerBuildContext.js";
|
|
|
7
8
|
import { createDaimonTelemetryArtifacts } from "./daimonTelemetryArtifacts.js";
|
|
8
9
|
import { createRootfsFiles, renderDockerfile, renderEntrypoint, renderEnvExample } from "./containerArtifactsRender.js";
|
|
9
10
|
import { createMemoryArtifactBundle } from "./memoryArtifacts.js";
|
|
11
|
+
import { resolveRecordingReport } from "./recordingReport.js";
|
|
12
|
+
import { resolveWorkspaceResourceVolumes } from "./containerTargetResources.js";
|
|
13
|
+
import { mergePersistentMounts } from "./containerPersistentMounts.js";
|
|
10
14
|
import { SIMFILE_WORLD_BINDINGS_VERSION, WORLD_BINDINGS_OUTPUT_FILE } from "./worldBindings.js";
|
|
15
|
+
/**
|
|
16
|
+
* Refuse a Daimon attachment unless the pinned Moltnet release advertises
|
|
17
|
+
* daimon-bridge (specs/SURFACES.md). Older pi-only releases reject its config
|
|
18
|
+
* and tear down the container at boot. receiptStorePath identifies resolved
|
|
19
|
+
* Daimon attachments; unsupported configs are errors, never degradations.
|
|
20
|
+
*/
|
|
21
|
+
const assertMoltnetDaimonBridgeCapability = (moltnet, release) => {
|
|
22
|
+
const daimonNetworks = [...new Set((moltnet?.nodePlans ?? [])
|
|
23
|
+
.filter((nodePlan) => nodePlan.receiptStorePath !== undefined)
|
|
24
|
+
.map((nodePlan) => nodePlan.networkId))].sort();
|
|
25
|
+
if (daimonNetworks.length === 0)
|
|
26
|
+
return;
|
|
27
|
+
const capabilities = release?.capabilities ?? [];
|
|
28
|
+
if (capabilities.includes("daimon-bridge"))
|
|
29
|
+
return;
|
|
30
|
+
throw new SpawnfileError("compile_error", `Moltnet release ${release?.version ?? "(unstaged)"} does not advertise the daimon-bridge capability, but `
|
|
31
|
+
+ `${daimonNetworks.length} network attachment(s) lower a daimon runtime bridge (${daimonNetworks.join(", ")}). `
|
|
32
|
+
+ "The published release implements pi-bridge only and rejects a daimon node config at strict JSON decode, so "
|
|
33
|
+
+ "the container would exit at boot. Build Moltnet locally (scripts/build-local-moltnet.ts, then "
|
|
34
|
+
+ "SPAWNFILE_LOCAL_MOLTNET_RELEASE_DIR with SPAWNFILE_ALLOW_LOCAL_E2E=1) to stage a daimon-bridge release, or "
|
|
35
|
+
+ "remove the Moltnet attachment from the daimon agent(s).");
|
|
36
|
+
};
|
|
11
37
|
export const createContainerArtifacts = async (plan, compiledNodes, options = {}) => {
|
|
12
|
-
|
|
38
|
+
assertMoltnetDaimonBridgeCapability(options.moltnet, options.moltnetRelease);
|
|
39
|
+
const localDaimonIdentityPath = process.env[DAIMON_LOCAL_RUNTIME_IDENTITY_ENV]?.trim();
|
|
40
|
+
const localDaimonIdentity = localDaimonIdentityPath ? await loadLocalDaimonRuntimeIdentity(localDaimonIdentityPath) : undefined;
|
|
41
|
+
const runtimePlans = await createRuntimeTargetPlans(plan, compiledNodes, options.worldBindings, options.deploymentLineage);
|
|
13
42
|
const daimonTelemetryArtifacts = createDaimonTelemetryArtifacts(plan, runtimePlans, compiledNodes);
|
|
14
43
|
const envVariableMap = createEnvVariableMap(compiledNodes, runtimePlans, options.moltnet);
|
|
15
44
|
const projectedWorldTokenEnvNames = [...new Set(runtimePlans.flatMap((runtimePlan) => runtimePlan.worldTokenEnvNames ?? []))].sort();
|
|
@@ -45,50 +74,24 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
45
74
|
.filter((variable) => variable.required && variable.categories.includes("runtime"))
|
|
46
75
|
.map((variable) => variable.name)
|
|
47
76
|
.sort();
|
|
48
|
-
const memoryArtifacts = createMemoryArtifactBundle(plan);
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
if (existing) {
|
|
53
|
-
if (existing.mount_path !== mount.mount_path || existing.volume_name !== mount.volume_name) {
|
|
54
|
-
throw new Error(`Container persistent mount ${mount.id} resolves to conflicting targets`);
|
|
55
|
-
}
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
persistentMountsById.set(mount.id, {
|
|
59
|
-
mount_path: mount.mount_path,
|
|
60
|
-
reason: mount.reason,
|
|
61
|
-
volume_name: mount.volume_name
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
const persistentMounts = [
|
|
77
|
+
const memoryArtifacts = createMemoryArtifactBundle(plan, options.deploymentLineage);
|
|
78
|
+
const recording = resolveRecordingReport(plan, memoryArtifacts.memories, options.workspaceGitResources);
|
|
79
|
+
const { resources: resolvedWorkspaceResources, mounts: workspaceResourceMounts } = resolveWorkspaceResourceVolumes(runtimePlans);
|
|
80
|
+
const persistentMountCandidates = [
|
|
65
81
|
...memoryArtifacts.mounts,
|
|
82
|
+
...workspaceResourceMounts,
|
|
66
83
|
...daimonTelemetryArtifacts.mounts,
|
|
84
|
+
...runtimePlans.flatMap((runtimePlan) => runtimePlan.persistentMounts ?? []),
|
|
67
85
|
...((options.moltnet?.persistentMounts ?? []).map((mount) => ({
|
|
86
|
+
...(mount.declaredVolumeName ? { declared_volume_name: mount.declaredVolumeName } : {}),
|
|
68
87
|
id: mount.id,
|
|
88
|
+
...(mount.lifecycle ? { lifecycle: mount.lifecycle } : {}),
|
|
69
89
|
mount_path: mount.mountPath,
|
|
70
90
|
reason: mount.reason,
|
|
71
91
|
volume_name: mount.volumeName
|
|
72
92
|
})))
|
|
73
|
-
]
|
|
74
|
-
|
|
75
|
-
.filter((mount) => {
|
|
76
|
-
const existing = persistentMountsById.get(mount.id);
|
|
77
|
-
if (existing) {
|
|
78
|
-
if (existing.mount_path === mount.mount_path &&
|
|
79
|
-
existing.volume_name === mount.volume_name &&
|
|
80
|
-
existing.reason === mount.reason) {
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
throw new Error(`Container persistent mount ${mount.id} resolves to conflicting targets`);
|
|
84
|
-
}
|
|
85
|
-
persistentMountsById.set(mount.id, {
|
|
86
|
-
mount_path: mount.mount_path,
|
|
87
|
-
reason: mount.reason,
|
|
88
|
-
volume_name: mount.volume_name
|
|
89
|
-
});
|
|
90
|
-
return true;
|
|
91
|
-
});
|
|
93
|
+
];
|
|
94
|
+
const persistentMounts = mergePersistentMounts(persistentMountCandidates);
|
|
92
95
|
const runtimeInternalPorts = runtimePlans.flatMap((plan) => plan.port ? [plan.port] : []);
|
|
93
96
|
const internalPorts = [...new Set([...runtimeInternalPorts, ...(options.moltnet?.ports ?? [])])].sort((left, right) => left - right);
|
|
94
97
|
const runtimePublishedPorts = runtimePlans.flatMap((plan) => plan.publishedPort ? [plan.publishedPort] : []);
|
|
@@ -108,6 +111,9 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
108
111
|
.map((plan) => {
|
|
109
112
|
const telemetryMountIds = daimonTelemetryArtifacts.telemetryMountIdsByInstance.get(plan.id);
|
|
110
113
|
return {
|
|
114
|
+
...(plan.agentPathsByNodeId ? { agent_paths: Object.fromEntries(Object.entries(plan.agentPathsByNodeId).map(([id, paths]) => [id, {
|
|
115
|
+
workspace_path: paths.workspacePath, home_path: paths.homePath, skill_roots: paths.skillRoots
|
|
116
|
+
}])) } : {}),
|
|
111
117
|
config_path: plan.instancePaths.configPath,
|
|
112
118
|
home_path: plan.instancePaths.homePath ?? null,
|
|
113
119
|
id: plan.id,
|
|
@@ -136,7 +142,14 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
136
142
|
link_path: resource.linkPath,
|
|
137
143
|
mode: resource.mode,
|
|
138
144
|
mount: resource.mount,
|
|
139
|
-
|
|
145
|
+
mount_path: resource.linkPath,
|
|
146
|
+
replacement_sentinel: resource.replacementSentinel ? {
|
|
147
|
+
path: resource.replacementSentinel,
|
|
148
|
+
result: "verified_on_startup"
|
|
149
|
+
} : undefined,
|
|
150
|
+
resolved_identity: resource.resolvedIdentity,
|
|
151
|
+
sharing: resource.sharing,
|
|
152
|
+
volume_name: resource.volumeName ?? null
|
|
140
153
|
}
|
|
141
154
|
]))).values()
|
|
142
155
|
].sort((left, right) => left.link_path.localeCompare(right.link_path) || left.id.localeCompare(right.id));
|
|
@@ -173,14 +186,23 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
173
186
|
modelAuthMethods: mergedModelAuthMethods,
|
|
174
187
|
moltnetNetworks,
|
|
175
188
|
organization,
|
|
189
|
+
// Derived volume names encode private host paths. Only author-declared
|
|
190
|
+
// names are portable; image consumers must honor them verbatim.
|
|
176
191
|
persistentMounts: persistentMounts.map((mount) => ({
|
|
192
|
+
...(mount.declared_volume_name ? { declared_volume_name: mount.declared_volume_name } : {}),
|
|
177
193
|
durability: "persistent",
|
|
178
194
|
id: mount.id,
|
|
179
195
|
kind: "volume",
|
|
196
|
+
...(mount.lifecycle ? { lifecycle: mount.lifecycle } : {}),
|
|
180
197
|
target: mount.mount_path
|
|
181
198
|
})),
|
|
182
199
|
portMappings,
|
|
183
200
|
publishedPorts,
|
|
201
|
+
...(recording ? {
|
|
202
|
+
recording,
|
|
203
|
+
workspaceGitResources: options.workspaceGitResources?.map(({ id, commit, sha256, agent_node_ids, declared_by }) => ({ id, commit, sha256, agent_node_ids: agent_node_ids, ...(declared_by ? { declared_by } : {}) })),
|
|
204
|
+
workspaceBundles: options.workspaceBundles?.map(({ id, sha256, origin, agent_node_ids, declared_by }) => ({ id, sha256, origin, agent_node_ids: agent_node_ids, ...(declared_by ? { declared_by } : {}) }))
|
|
205
|
+
} : {}),
|
|
184
206
|
resources: workspaceResources.map((resource) => ({
|
|
185
207
|
id: resource.id,
|
|
186
208
|
kind: resource.kind,
|
|
@@ -189,12 +211,18 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
189
211
|
mount: resource.mount,
|
|
190
212
|
sharing: resource.sharing
|
|
191
213
|
})),
|
|
192
|
-
runtimeInstances,
|
|
214
|
+
runtimeInstances: runtimeInstances.map(({ agent_paths: _paths, ...instance }) => instance),
|
|
193
215
|
...(worldBindingsEvidence ? { worldBindings: worldBindingsEvidence } : {})
|
|
194
216
|
});
|
|
195
217
|
const distributionLabels = createDistributionImageLabels(projectSlug, distributionReport.compile_fingerprint);
|
|
196
218
|
const files = [
|
|
197
|
-
...createRootfsFiles(runtimePlans),
|
|
219
|
+
...createRootfsFiles(runtimePlans, persistentMounts.map((mount) => mount.mount_path), options.moltnet
|
|
220
|
+
? {
|
|
221
|
+
externalParticipantArtifacts: options.moltnet.externalParticipantArtifacts,
|
|
222
|
+
nodePlans: options.moltnet.nodePlans,
|
|
223
|
+
serverPlans: options.moltnet.serverPlans
|
|
224
|
+
}
|
|
225
|
+
: undefined, persistentMounts),
|
|
198
226
|
...(options.moltnet?.files ?? []),
|
|
199
227
|
...(options.worldBindings
|
|
200
228
|
? [{ content: options.worldBindings.canonicalBytes, mode: 0o600, path: WORLD_BINDINGS_OUTPUT_FILE }]
|
|
@@ -214,6 +242,7 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
214
242
|
},
|
|
215
243
|
hasMoltnet: Boolean(options.moltnet),
|
|
216
244
|
hasStagedMoltnetBinaries: options.hasStagedMoltnetBinaries,
|
|
245
|
+
hasWorkspaceBundles: options.hasWorkspaceBundles,
|
|
217
246
|
...(options.moltnet
|
|
218
247
|
? {
|
|
219
248
|
moltnet: {
|
|
@@ -236,7 +265,9 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
236
265
|
nodePlans: options.moltnet.nodePlans,
|
|
237
266
|
serverPlans: options.moltnet.serverPlans
|
|
238
267
|
}
|
|
239
|
-
: undefined
|
|
268
|
+
: undefined,
|
|
269
|
+
persistentMounts,
|
|
270
|
+
persistentMountPaths: persistentMounts.map((mount) => mount.mount_path)
|
|
240
271
|
}),
|
|
241
272
|
path: "entrypoint.sh"
|
|
242
273
|
},
|
|
@@ -270,6 +301,11 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
|
|
|
270
301
|
entrypoint: "entrypoint.sh",
|
|
271
302
|
env_example: ".env.example",
|
|
272
303
|
internal_ports: internalPorts,
|
|
304
|
+
...(localDaimonIdentity ? { local_daimon_runtime: {
|
|
305
|
+
capability_receipt_sha256: localDaimonIdentity.capabilityReceipt,
|
|
306
|
+
image_reference: localDaimonIdentity.imageReference,
|
|
307
|
+
registry_authority: localDaimonIdentity.registryAuthority
|
|
308
|
+
} } : {}),
|
|
273
309
|
model_secrets_required: modelSecretsRequired,
|
|
274
310
|
...(moltnetSummary ? { moltnet: moltnetSummary } : {}),
|
|
275
311
|
port_mappings: portMappings,
|
|
@@ -3,4 +3,4 @@ import type { MoltnetArtifacts } from "./moltnetArtifacts.js";
|
|
|
3
3
|
import type { CompilePlan } from "./types.js";
|
|
4
4
|
import { type ResolvedWorldBindings } from "./worldBindings.js";
|
|
5
5
|
export declare const createEnvVariableMap: (compiledNodes: CompiledNodeArtifact[], runtimePlans: RuntimeTargetPlan[], moltnet?: MoltnetArtifacts | null) => Map<string, ContainerEnvVariable>;
|
|
6
|
-
export declare const createRuntimeTargetPlans: (plan: CompilePlan, compiledNodes: CompiledNodeArtifact[], worldBindings?: ResolvedWorldBindings) => Promise<RuntimeTargetPlan[]>;
|
|
6
|
+
export declare const createRuntimeTargetPlans: (plan: CompilePlan, compiledNodes: CompiledNodeArtifact[], worldBindings?: ResolvedWorldBindings, deploymentLineage?: string) => Promise<RuntimeTargetPlan[]>;
|