spawnfile 0.1.13 → 0.1.17
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 +61 -121
- package/dist/audit/auditCli.d.ts +19 -0
- package/dist/audit/auditCli.js +63 -0
- package/dist/audit/checks.d.ts +100 -0
- package/dist/audit/checks.js +279 -0
- package/dist/audit/checksShared.d.ts +74 -0
- package/dist/audit/checksShared.js +37 -0
- package/dist/audit/generateAudit.d.ts +19 -0
- package/dist/audit/generateAudit.js +122 -0
- package/dist/audit/index.d.ts +4 -0
- package/dist/audit/index.js +4 -0
- package/dist/audit/readAudit.d.ts +50 -0
- package/dist/audit/readAudit.js +59 -0
- package/dist/audit/types.d.ts +40 -0
- package/dist/audit/types.js +8 -0
- package/dist/auth/credentialEnvFile.d.ts +11 -0
- package/dist/auth/credentialEnvFile.js +60 -0
- package/dist/auth/credentialProvisioning.d.ts +15 -0
- package/dist/auth/credentialProvisioning.js +75 -0
- package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
- package/dist/auth/credentialProvisioningReceipt.js +70 -0
- package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
- package/dist/auth/credentialProvisioningRequest.js +169 -0
- package/dist/auth/credentialWorldBindings.d.ts +21 -0
- package/dist/auth/credentialWorldBindings.js +104 -0
- package/dist/auth/importers.d.ts +10 -0
- package/dist/auth/importers.js +29 -4
- package/dist/auth/index.d.ts +9 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/paths.d.ts +12 -1
- package/dist/auth/paths.js +21 -0
- package/dist/auth/profileStore.js +9 -9
- package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
- package/dist/auth/targetSecretSourceAuthor.js +52 -0
- package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
- package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
- package/dist/auth/targetSecretSourceFsPublish.d.ts +17 -0
- package/dist/auth/targetSecretSourceFsPublish.js +51 -0
- package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +17 -0
- package/dist/auth/targetSecretSourceFsPublishImmutable.js +468 -0
- package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
- package/dist/auth/targetSecretSourceFsRead.js +189 -0
- package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
- package/dist/auth/targetSecretSourceGrant.js +99 -0
- package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
- package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
- package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
- package/dist/auth/targetSecretSourceLifecycle.js +52 -0
- package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
- package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
- package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
- package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
- package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
- package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
- package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
- package/dist/auth/targetSecretSourceResolver.js +137 -0
- package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
- package/dist/auth/targetSecretSourceRevoke.js +92 -0
- package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
- package/dist/auth/targetSecretSourceRotate.js +121 -0
- package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
- package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
- package/dist/auth/trainingAuth.d.ts +21 -0
- package/dist/auth/trainingAuth.js +86 -0
- package/dist/auth/types.d.ts +1 -1
- package/dist/cli/artifactsCommands.d.ts +27 -0
- package/dist/cli/artifactsCommands.js +132 -0
- package/dist/cli/authCommands.d.ts +5 -0
- package/dist/cli/authCommands.js +230 -0
- 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.d.ts +3 -0
- package/dist/cli/compileBuildCommands.js +48 -0
- package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
- package/dist/cli/composedLifecycleContractSet.js +204 -0
- package/dist/cli/containerBundleCommand.d.ts +6 -0
- package/dist/cli/containerBundleCommand.js +116 -0
- package/dist/cli/devCommands.js +2 -0
- package/dist/cli/downCommand.d.ts +25 -0
- package/dist/cli/downCommand.js +145 -0
- package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
- package/dist/cli/evidenceExportHelperCommand.js +51 -0
- package/dist/cli/index.js +15 -3
- package/dist/cli/lifecycleCommands.d.ts +1 -1
- package/dist/cli/lifecycleCommands.js +11 -181
- package/dist/cli/lifecycleMachine.d.ts +25 -0
- package/dist/cli/lifecycleMachine.js +78 -0
- package/dist/cli/lifecyclePlan.d.ts +35 -0
- package/dist/cli/lifecyclePlan.js +240 -0
- package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
- package/dist/cli/lifecyclePlanningCommands.js +30 -0
- package/dist/cli/paideiaDelegation.d.ts +17 -0
- package/dist/cli/paideiaDelegation.js +210 -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/runCli.d.ts +19 -2
- package/dist/cli/runCli.js +58 -74
- package/dist/cli/runPublishCommands.d.ts +3 -0
- package/dist/cli/runPublishCommands.js +70 -0
- package/dist/cli/statusCommand.d.ts +3 -33
- package/dist/cli/statusCommand.js +19 -249
- package/dist/cli/statusCommandLive.d.ts +20 -0
- package/dist/cli/statusCommandLive.js +188 -0
- package/dist/cli/statusCommandOptions.d.ts +40 -0
- package/dist/cli/statusCommandOptions.js +42 -0
- package/dist/cli/targetCliRoute.d.ts +2 -0
- package/dist/cli/targetCliRoute.js +30 -0
- package/dist/cli/targetCommands.d.ts +30 -0
- package/dist/cli/targetCommands.js +227 -0
- package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
- package/dist/cli/targetComposedPreparationCommand.js +39 -0
- 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/targetDefaultArtifactAuthority.d.ts +5 -0
- package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
- package/dist/cli/targetDefaultAuthorities.d.ts +55 -0
- package/dist/cli/targetDefaultAuthorities.js +213 -0
- package/dist/cli/targetDefaultConfig.d.ts +75 -0
- package/dist/cli/targetDefaultConfig.js +334 -0
- package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
- package/dist/cli/targetDefaultConfigStdin.js +221 -0
- package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
- package/dist/cli/targetDefaultEnvelope.js +13 -0
- package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
- package/dist/cli/targetDefaultHandlerFactory.js +268 -0
- package/dist/cli/targetDefaultHandlers.d.ts +21 -0
- package/dist/cli/targetDefaultHandlers.js +72 -0
- package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
- package/dist/cli/targetDefaultJournalAuthority.js +135 -0
- package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
- package/dist/cli/targetDefaultWorldClock.js +14 -0
- package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
- package/dist/cli/targetDefaultWorldQueries.js +11 -0
- package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
- package/dist/cli/targetDefaultWorldReadiness.js +17 -0
- package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
- package/dist/cli/targetEvidenceHelperResolution.js +23 -0
- package/dist/cli/targetLookupCli.d.ts +3 -0
- package/dist/cli/targetLookupCli.js +31 -0
- package/dist/cli/targetLookupCommands.d.ts +12 -0
- package/dist/cli/targetLookupCommands.js +69 -0
- package/dist/cli/targetOperationDispatch.d.ts +58 -0
- package/dist/cli/targetOperationDispatch.js +21 -0
- package/dist/cli/targetProductionCommands.d.ts +5 -0
- package/dist/cli/targetProductionCommands.js +45 -0
- package/dist/cli/targetReceiptOutput.d.ts +14 -0
- package/dist/cli/targetReceiptOutput.js +21 -0
- package/dist/cli/targetRequestFile.d.ts +14 -0
- package/dist/cli/targetRequestFile.js +63 -0
- package/dist/cli/targetSecretSourceInput.d.ts +28 -0
- package/dist/cli/targetSecretSourceInput.js +121 -0
- package/dist/cli/targetWorldClockCommand.d.ts +10 -0
- package/dist/cli/targetWorldClockCommand.js +42 -0
- package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
- package/dist/cli/targetWorldReadinessCommand.js +43 -0
- package/dist/cli/trainCommand.d.ts +3 -0
- package/dist/cli/trainCommand.js +61 -0
- package/dist/cli/upCommand.d.ts +3 -0
- package/dist/cli/upCommand.js +162 -0
- package/dist/cli/upImageCommand.d.ts +11 -0
- package/dist/cli/upImageCommand.js +41 -0
- package/dist/cli/upLifecycleInvocation.d.ts +41 -0
- package/dist/cli/upLifecycleInvocation.js +48 -0
- package/dist/cli/upLifecycleRecovery.d.ts +4 -0
- package/dist/cli/upLifecycleRecovery.js +197 -0
- 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/workspaceResourceMigrationCommand.d.ts +8 -0
- package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
- package/dist/compiler/agentNodeMerge.d.ts +2 -0
- package/dist/compiler/agentNodeMerge.js +79 -0
- package/dist/compiler/agentSurfaces.js +11 -1
- package/dist/compiler/buildCompilePlan.js +17 -0
- package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
- package/dist/compiler/buildCompilePlanAgent.js +56 -0
- package/dist/compiler/buildCompilePlanTeams.d.ts +2 -1
- package/dist/compiler/buildCompilePlanTeams.js +9 -1
- package/dist/compiler/buildCompilePlanTraversal.js +75 -82
- package/dist/compiler/buildProject.d.ts +11 -0
- package/dist/compiler/buildProject.js +77 -2
- package/dist/compiler/compilePlanHelpers.js +5 -0
- package/dist/compiler/compileProject.d.ts +15 -0
- package/dist/compiler/compileProject.js +31 -75
- package/dist/compiler/compileProjectPolicy.d.ts +5 -0
- package/dist/compiler/compileProjectPolicy.js +21 -0
- package/dist/compiler/compileProjectReports.d.ts +9 -0
- package/dist/compiler/compileProjectReports.js +52 -0
- package/dist/compiler/compileProjectSupport.js +9 -0
- package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
- package/dist/compiler/containerArtifactSummaries.js +138 -0
- package/dist/compiler/containerArtifacts.d.ts +12 -0
- package/dist/compiler/containerArtifacts.js +180 -127
- package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
- package/dist/compiler/containerArtifactsPlans.js +54 -124
- package/dist/compiler/containerArtifactsRender.d.ts +5 -2
- package/dist/compiler/containerArtifactsRender.js +106 -70
- package/dist/compiler/containerArtifactsTypes.d.ts +20 -0
- package/dist/compiler/containerBackedMountRender.d.ts +56 -0
- package/dist/compiler/containerBackedMountRender.js +101 -0
- package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
- package/dist/compiler/containerConfigEnvRender.js +54 -0
- package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
- package/dist/compiler/containerDaimonBrokerRender.js +191 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
- package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
- package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
- package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
- package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
- package/dist/compiler/containerEntrypointRender.d.ts +8 -0
- package/dist/compiler/containerEntrypointRender.js +82 -72
- package/dist/compiler/containerEntrypointShell.d.ts +5 -0
- package/dist/compiler/containerEntrypointShell.js +29 -0
- package/dist/compiler/containerPackageOverrides.d.ts +27 -0
- package/dist/compiler/containerPackageOverrides.js +63 -0
- 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/containerTargetPlanResolution.d.ts +20 -0
- package/dist/compiler/containerTargetPlanResolution.js +97 -0
- package/dist/compiler/containerTargetResources.d.ts +22 -1
- package/dist/compiler/containerTargetResources.js +94 -2
- package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
- package/dist/compiler/containerVolumeBootstrap.js +3 -0
- package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
- package/dist/compiler/daimonTelemetryArtifacts.js +56 -0
- package/dist/compiler/deploymentLineage.d.ts +40 -0
- package/dist/compiler/deploymentLineage.js +50 -0
- package/dist/compiler/dockerBuildContext.d.ts +16 -0
- package/dist/compiler/dockerBuildContext.js +159 -0
- package/dist/compiler/dockerBuildSkip.d.ts +30 -0
- package/dist/compiler/dockerBuildSkip.js +81 -0
- package/dist/compiler/index.d.ts +7 -0
- package/dist/compiler/index.js +7 -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/memoryArtifacts.d.ts +26 -0
- package/dist/compiler/memoryArtifacts.js +210 -0
- package/dist/compiler/memoryResolution.d.ts +4 -0
- package/dist/compiler/memoryResolution.js +147 -0
- package/dist/compiler/modelEnv.d.ts +7 -0
- package/dist/compiler/modelEnv.js +13 -1
- package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
- package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
- package/dist/compiler/moltnetArtifactPaths.d.ts +31 -0
- package/dist/compiler/moltnetArtifactPaths.js +51 -0
- package/dist/compiler/moltnetArtifactTypes.d.ts +56 -0
- package/dist/compiler/moltnetArtifactTypes.js +1 -0
- package/dist/compiler/moltnetArtifacts.d.ts +3 -41
- package/dist/compiler/moltnetArtifacts.js +87 -101
- package/dist/compiler/moltnetBinaries.d.ts +33 -4
- package/dist/compiler/moltnetBinaries.js +173 -26
- package/dist/compiler/moltnetClientConfig.js +7 -2
- package/dist/compiler/moltnetConfigLowering.d.ts +18 -1
- package/dist/compiler/moltnetConfigLowering.js +92 -6
- package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
- package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
- package/dist/compiler/moltnetNodeConfig.js +7 -2
- package/dist/compiler/moltnetReleaseAuthority.d.ts +40 -0
- package/dist/compiler/moltnetReleaseAuthority.js +102 -0
- package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
- package/dist/compiler/moltnetReleaseDownload.js +85 -0
- package/dist/compiler/moltnetRepresentativeResolution.d.ts +2 -1
- package/dist/compiler/moltnetRepresentativeResolution.js +17 -3
- package/dist/compiler/moltnetResolution.js +67 -21
- package/dist/compiler/moltnetRoomMemberships.js +52 -9
- 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.d.ts +9 -0
- package/dist/compiler/moltnetServerPlans.js +151 -0
- package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
- package/dist/compiler/organizationExternalParticipants.js +176 -0
- package/dist/compiler/organizationIdentity.d.ts +21 -0
- package/dist/compiler/organizationIdentity.js +64 -0
- package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
- package/dist/compiler/organizationIdentityGraph.js +115 -0
- package/dist/compiler/organizationReadyEvidence.d.ts +57 -0
- package/dist/compiler/organizationReadyEvidence.js +281 -0
- package/dist/compiler/projectManifestGraph.d.ts +4 -0
- package/dist/compiler/projectManifestGraph.js +24 -0
- package/dist/compiler/runProject.d.ts +8 -2
- package/dist/compiler/runProject.js +62 -27
- package/dist/compiler/runProjectAuth.d.ts +10 -2
- package/dist/compiler/runProjectAuth.js +105 -11
- package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
- package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
- package/dist/compiler/runProjectDocker.d.ts +11 -0
- package/dist/compiler/runProjectDocker.js +64 -16
- 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.d.ts +7 -0
- package/dist/compiler/runProjectLifecycle.js +40 -0
- package/dist/compiler/syncProjectAuth.js +4 -1
- package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
- package/dist/compiler/teamContextActiveEnvironments.js +255 -0
- package/dist/compiler/teamContextSupport.js +32 -40
- package/dist/compiler/teamContextTypes.d.ts +2 -0
- package/dist/compiler/training/broker/declaration.d.ts +45 -0
- package/dist/compiler/training/broker/declaration.js +55 -0
- package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
- package/dist/compiler/training/broker/entrypoint.js +111 -0
- package/dist/compiler/training/broker/index.d.ts +10 -0
- package/dist/compiler/training/broker/index.js +10 -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 +196 -0
- package/dist/compiler/training/broker/paths.js +241 -0
- package/dist/compiler/training/broker/processes.d.ts +42 -0
- package/dist/compiler/training/broker/processes.js +99 -0
- package/dist/compiler/training/broker/projection.d.ts +51 -0
- package/dist/compiler/training/broker/projection.js +76 -0
- package/dist/compiler/training/broker/provisioning.d.ts +87 -0
- package/dist/compiler/training/broker/provisioning.js +213 -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 +41 -0
- package/dist/compiler/training/broker/registration.js +102 -0
- package/dist/compiler/training/broker/runtime.d.ts +25 -0
- package/dist/compiler/training/broker/runtime.js +173 -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 +109 -0
- package/dist/compiler/training/broker/supervisor.js +173 -0
- package/dist/compiler/training/container/contract.d.ts +31 -0
- package/dist/compiler/training/container/contract.js +33 -0
- package/dist/compiler/training/container/index.d.ts +4 -0
- package/dist/compiler/training/container/index.js +2 -0
- package/dist/compiler/training/container/launch.d.ts +18 -0
- package/dist/compiler/training/container/launch.js +173 -0
- package/dist/compiler/training/container/prepare.d.ts +8 -0
- package/dist/compiler/training/container/prepare.js +80 -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 +36 -0
- package/dist/compiler/training/container/security.js +58 -0
- package/dist/compiler/training/context.d.ts +7 -0
- package/dist/compiler/training/context.js +93 -0
- package/dist/compiler/training/contract.d.ts +142 -0
- package/dist/compiler/training/contract.js +34 -0
- package/dist/compiler/training/index.d.ts +4 -0
- package/dist/compiler/training/index.js +3 -0
- package/dist/compiler/training/preparation/assets/Dockerfile +98 -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 +43 -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 +182 -0
- package/dist/compiler/training/preparation/contract.js +94 -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 +25 -0
- package/dist/compiler/training/preparation/files.js +85 -0
- package/dist/compiler/training/preparation/image.d.ts +28 -0
- package/dist/compiler/training/preparation/image.js +102 -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 +23 -0
- package/dist/compiler/training/preparation/inputs.js +93 -0
- package/dist/compiler/training/preparation/prepare.d.ts +33 -0
- package/dist/compiler/training/preparation/prepare.js +186 -0
- package/dist/compiler/training/preparation/scratch.d.ts +19 -0
- package/dist/compiler/training/preparation/scratch.js +48 -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 +506 -0
- package/dist/compiler/training/repair/contract.js +31 -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 +230 -0
- package/dist/compiler/training/repair/prepare.js +74 -0
- package/dist/compiler/training/repair/witness.d.ts +203 -0
- package/dist/compiler/training/repair/witness.js +42 -0
- package/dist/compiler/types.d.ts +84 -1
- package/dist/compiler/upProject.d.ts +31 -1
- package/dist/compiler/upProject.js +197 -22
- package/dist/compiler/upProjectHandoff.d.ts +62 -0
- package/dist/compiler/upProjectHandoff.js +204 -0
- package/dist/compiler/upReceipt.d.ts +36 -0
- package/dist/compiler/upReceipt.js +127 -0
- package/dist/compiler/updateProjectModels.js +43 -60
- package/dist/compiler/updateProjectRuntime.js +22 -35
- package/dist/compiler/updateProjectSurfaces.js +53 -47
- package/dist/compiler/view/types.d.ts +1 -1
- package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
- package/dist/compiler/workspaceBundleArtifacts.js +106 -0
- package/dist/compiler/workspaceResources.d.ts +4 -1
- package/dist/compiler/workspaceResources.js +12 -7
- package/dist/compiler/worldBindings.d.ts +39 -0
- package/dist/compiler/worldBindings.js +247 -0
- package/dist/compiler/worldBindingsFile.d.ts +5 -0
- package/dist/compiler/worldBindingsFile.js +162 -0
- package/dist/deployment/artifactsExport.d.ts +49 -0
- package/dist/deployment/artifactsExport.js +217 -0
- package/dist/deployment/artifactsExportDocker.d.ts +48 -0
- package/dist/deployment/artifactsExportDocker.js +91 -0
- package/dist/deployment/artifactsExportPlan.d.ts +24 -0
- package/dist/deployment/artifactsExportPlan.js +185 -0
- package/dist/deployment/artifactsExportTypes.d.ts +50 -0
- package/dist/deployment/artifactsExportTypes.js +52 -0
- package/dist/deployment/buildImageCacheStore.d.ts +23 -0
- package/dist/deployment/buildImageCacheStore.js +54 -0
- 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/deploymentLifecycleCorrelation.d.ts +11 -0
- package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
- package/dist/deployment/dockerInspect.d.ts +9 -0
- package/dist/deployment/dockerInspect.js +24 -1
- package/dist/deployment/dockerLabels.d.ts +2 -0
- package/dist/deployment/dockerLabels.js +2 -0
- package/dist/deployment/dockerLogs.js +5 -10
- package/dist/deployment/dockerManager.d.ts +51 -0
- package/dist/deployment/dockerManager.js +124 -1
- package/dist/deployment/dockerProbeGateway.d.ts +17 -0
- package/dist/deployment/dockerProbeGateway.js +80 -6
- package/dist/deployment/dockerRecover.js +9 -1
- package/dist/deployment/dockerTeardown.d.ts +32 -0
- package/dist/deployment/dockerTeardown.js +61 -0
- package/dist/deployment/downDeployment.d.ts +39 -0
- package/dist/deployment/downDeployment.js +248 -0
- package/dist/deployment/downReceiptTypes.d.ts +36 -0
- package/dist/deployment/downReceiptTypes.js +45 -0
- package/dist/deployment/index.d.ts +20 -0
- package/dist/deployment/index.js +21 -0
- package/dist/deployment/lifecycleCompletion.d.ts +37 -0
- package/dist/deployment/lifecycleCompletion.js +236 -0
- package/dist/deployment/lifecycleCompletionContracts.d.ts +224 -0
- package/dist/deployment/lifecycleCompletionContracts.js +140 -0
- package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
- package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
- package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
- package/dist/deployment/lifecycleCompletionLookup.js +88 -0
- package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
- package/dist/deployment/lifecycleCompletionOwner.js +31 -0
- package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
- package/dist/deployment/lifecycleCompletionParsing.js +108 -0
- package/dist/deployment/lifecycleCompletionPaths.d.ts +12 -0
- package/dist/deployment/lifecycleCompletionPaths.js +19 -0
- package/dist/deployment/lifecycleCompletionPublication.d.ts +7 -0
- package/dist/deployment/lifecycleCompletionPublication.js +49 -0
- package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
- package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
- package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
- package/dist/deployment/lifecycleCompletionRoot.js +243 -0
- package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
- package/dist/deployment/lifecycleCompletionStore.js +151 -0
- 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.d.ts +17 -0
- package/dist/deployment/organizationHandoffAuthorityFsClient.js +187 -0
- package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
- package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.js +431 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
- package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
- package/dist/deployment/organizationHandoffAuthorityStore.js +355 -0
- package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
- package/dist/deployment/organizationHandoffAuthorityTypes.js +149 -0
- package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
- package/dist/deployment/organizationHandoffTypes.js +80 -0
- package/dist/deployment/organizationReady.d.ts +54 -0
- package/dist/deployment/organizationReady.js +232 -0
- package/dist/deployment/privateArtifactsExport.d.ts +18 -0
- package/dist/deployment/privateArtifactsExport.js +80 -0
- package/dist/deployment/productStateClone.d.ts +43 -0
- package/dist/deployment/productStateClone.js +319 -0
- package/dist/deployment/record.d.ts +26 -1
- package/dist/deployment/record.js +49 -4
- package/dist/deployment/target.d.ts +1 -35
- package/dist/deployment/target.js +1 -96
- package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
- package/dist/deployment/upLifecycleRecoveryState.js +12 -0
- package/dist/deployment/upReceiptTypes.d.ts +137 -0
- package/dist/deployment/upReceiptTypes.js +191 -0
- 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 +24 -9
- package/dist/distribution/buildDistributionReport.d.ts +2 -1
- package/dist/distribution/buildDistributionReport.js +2 -1
- package/dist/distribution/consumeImage.d.ts +2 -0
- package/dist/distribution/consumeImage.js +98 -73
- package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
- package/dist/distribution/consumeImageDaimonDocker.js +45 -0
- package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
- package/dist/distribution/consumeImageLifecycle.js +231 -0
- package/dist/distribution/consumeImageSupport.d.ts +12 -0
- package/dist/distribution/consumeImageSupport.js +15 -0
- package/dist/distribution/distributionReportSchema.d.ts +16 -1
- package/dist/distribution/distributionReportSchema.js +21 -3
- 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 +3 -3
- package/dist/distribution/index.js +2 -2
- package/dist/distribution/preflight.js +5 -1
- package/dist/distribution/types.d.ts +21 -1
- package/dist/distribution/types.js +4 -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/io.d.ts +2 -0
- package/dist/filesystem/io.js +16 -1
- package/dist/filesystem/paths.js +10 -1
- package/dist/ledger/causalConformanceCli.d.ts +1 -0
- package/dist/ledger/causalConformanceCli.js +41 -0
- package/dist/ledger/causeNamespace.d.ts +8 -0
- package/dist/ledger/causeNamespace.js +24 -0
- package/dist/ledger/conformance.d.ts +83 -0
- package/dist/ledger/conformance.js +259 -0
- package/dist/ledger/emitters.d.ts +76 -0
- package/dist/ledger/emitters.js +188 -0
- package/dist/ledger/index.d.ts +4 -0
- package/dist/ledger/index.js +4 -0
- package/dist/ledger/principal.d.ts +96 -0
- package/dist/ledger/principal.js +121 -0
- package/dist/manifest/executionSchemas.d.ts +27 -0
- package/dist/manifest/executionSchemas.js +21 -2
- package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
- package/dist/manifest/externalParticipantSchemas.js +17 -0
- package/dist/manifest/index.d.ts +1 -0
- package/dist/manifest/index.js +1 -0
- package/dist/manifest/inlineAgentMember.d.ts +2 -0
- package/dist/manifest/inlineAgentMember.js +9 -0
- package/dist/manifest/loadManifest.js +14 -8
- package/dist/manifest/mcpSchemas.d.ts +18 -0
- package/dist/manifest/mcpSchemas.js +44 -0
- package/dist/manifest/memorySchemas.d.ts +245 -0
- package/dist/manifest/memorySchemas.js +148 -0
- package/dist/manifest/renderSpawnfile.js +22 -131
- package/dist/manifest/renderSpawnfileNetworks.js +20 -2
- package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
- package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
- package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
- package/dist/manifest/scheduleSchemas.d.ts +3 -1
- package/dist/manifest/scheduleSchemas.js +91 -5
- package/dist/manifest/schemas.d.ts +2034 -40
- package/dist/manifest/schemas.js +82 -33
- package/dist/manifest/surfaceSchemas.d.ts +17 -0
- package/dist/manifest/surfaceSchemas.js +24 -1
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +6 -2
- package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
- package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
- package/dist/manifest/teamNetworkSchemas.d.ts +25 -190
- package/dist/manifest/teamNetworkSchemas.js +21 -317
- package/dist/manifest/teamNetworkServerSchemas.d.ts +155 -0
- package/dist/manifest/teamNetworkServerSchemas.js +215 -0
- package/dist/manifest/workspaceSchemas.d.ts +16 -0
- package/dist/manifest/workspaceSchemas.js +11 -0
- package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
- package/dist/ownership/siblingBuildFreshness.js +20 -0
- package/dist/report/types.d.ts +173 -1
- package/dist/runtime/common.d.ts +63 -1
- package/dist/runtime/common.js +88 -3
- package/dist/runtime/container.d.ts +28 -1
- package/dist/runtime/container.js +78 -29
- package/dist/runtime/containerPackageOverrides.d.ts +37 -0
- package/dist/runtime/containerPackageOverrides.js +33 -0
- package/dist/runtime/daimon/adapter.d.ts +14 -0
- package/dist/runtime/daimon/adapter.js +243 -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 +25 -0
- package/dist/runtime/daimon/config.js +272 -0
- package/dist/runtime/daimon/contractManifest.d.ts +295 -0
- package/dist/runtime/daimon/contractManifest.js +319 -0
- package/dist/runtime/daimon/grokModel.d.ts +19 -0
- package/dist/runtime/daimon/grokModel.js +33 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
- package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
- package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
- package/dist/runtime/daimon/grokWorkerContract.js +48 -0
- package/dist/runtime/daimon/memory.d.ts +57 -0
- package/dist/runtime/daimon/memory.js +125 -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 +3 -0
- package/dist/runtime/daimon/scheduleAuthority.js +17 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.js +6 -0
- package/dist/runtime/install.d.ts +3 -0
- package/dist/runtime/install.js +3 -0
- package/dist/runtime/localDaimonAuthority.d.ts +11 -0
- package/dist/runtime/localDaimonAuthority.js +77 -0
- package/dist/runtime/mnemeMcp.d.ts +28 -0
- package/dist/runtime/mnemeMcp.js +135 -0
- package/dist/runtime/openclaw/adapter.js +17 -6
- package/dist/runtime/openclaw/mcp.d.ts +10 -0
- package/dist/runtime/openclaw/mcp.js +69 -0
- package/dist/runtime/openclaw/runAuth.js +2 -2
- package/dist/runtime/openclaw/scaffold.js +1 -1
- package/dist/runtime/openclaw/schedules.d.ts +38 -0
- package/dist/runtime/openclaw/schedules.js +74 -0
- package/dist/runtime/pi/adapter.d.ts +1 -2
- package/dist/runtime/pi/adapter.js +87 -58
- package/dist/runtime/pi/appActivitySource.js +114 -2
- package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
- package/dist/runtime/pi/appAgentConfig.js +264 -0
- package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
- package/dist/runtime/pi/appCliEnginesSource.js +183 -0
- package/dist/runtime/pi/appCliSource.d.ts +1 -0
- package/dist/runtime/pi/appCliSource.js +353 -0
- package/dist/runtime/pi/appControlSource.d.ts +1 -0
- package/dist/runtime/pi/appControlSource.js +390 -0
- package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
- package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
- package/dist/runtime/pi/appCoreSource.d.ts +4 -1
- package/dist/runtime/pi/appCoreSource.js +104 -214
- package/dist/runtime/pi/appPreludeSource.js +140 -52
- package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
- package/dist/runtime/pi/appScheduleSource.js +84 -0
- package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
- package/dist/runtime/pi/appScriptedEngine.js +42 -0
- package/dist/runtime/pi/appSource.d.ts +4 -1
- package/dist/runtime/pi/appSource.js +6 -2
- package/dist/runtime/pi/appTemplate.d.ts +8 -22
- package/dist/runtime/pi/appTemplate.js +9 -126
- package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
- package/dist/runtime/pi/appTemplateTypes.js +18 -0
- package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
- package/dist/runtime/pi/appWakeContextSource.js +398 -0
- package/dist/runtime/pi/containerTargets.d.ts +4 -0
- package/dist/runtime/pi/containerTargets.js +57 -0
- package/dist/runtime/pi/runAuth.js +126 -9
- package/dist/runtime/pi/testHelpers.d.ts +2 -0
- package/dist/runtime/pi/testHelpers.js +40 -0
- package/dist/runtime/picoclaw/adapter.js +25 -29
- package/dist/runtime/picoclaw/mcp.d.ts +4 -0
- package/dist/runtime/picoclaw/mcp.js +43 -0
- package/dist/runtime/picoclaw/memory.d.ts +7 -0
- package/dist/runtime/picoclaw/memory.js +17 -0
- package/dist/runtime/picoclaw/runAuth.js +1 -1
- package/dist/runtime/picoclaw/scaffold.js +1 -1
- package/dist/runtime/picoclaw/schedules.d.ts +26 -0
- package/dist/runtime/picoclaw/schedules.js +62 -3
- package/dist/runtime/registry.d.ts +3 -0
- package/dist/runtime/registry.js +19 -2
- package/dist/runtime/scheduleUtils.d.ts +3 -0
- package/dist/runtime/scheduleUtils.js +19 -0
- package/dist/runtime/types.d.ts +50 -2
- package/dist/runtime/usageLedger.d.ts +158 -0
- package/dist/runtime/usageLedger.js +269 -0
- package/dist/runtime/usageLedgerRead.d.ts +48 -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/errors.d.ts +1 -1
- package/dist/shared/errors.js +2 -2
- package/dist/shared/index.d.ts +3 -0
- package/dist/shared/index.js +3 -0
- package/dist/shared/redaction.d.ts +2 -0
- package/dist/shared/redaction.js +10 -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/status/buildStatus.d.ts +1 -0
- package/dist/status/buildStatus.js +2 -0
- package/dist/status/compileReport.d.ts +22 -0
- package/dist/status/compileReport.js +16 -2
- package/dist/status/compiledProbeCollection.d.ts +21 -0
- package/dist/status/compiledProbeCollection.js +27 -0
- package/dist/status/imageStatusReport.js +6 -0
- package/dist/status/index.d.ts +3 -0
- package/dist/status/index.js +3 -0
- package/dist/status/lifecycleProbes.d.ts +19 -0
- package/dist/status/lifecycleProbes.js +174 -0
- package/dist/status/moltnetProbes.d.ts +7 -8
- package/dist/status/moltnetProbes.js +27 -198
- package/dist/status/moltnetWiringProbes.d.ts +19 -0
- package/dist/status/moltnetWiringProbes.js +178 -0
- package/dist/target/cleanupRun.d.ts +41 -0
- package/dist/target/cleanupRun.js +139 -0
- package/dist/target/cleanupRunDocker.d.ts +16 -0
- package/dist/target/cleanupRunDocker.js +66 -0
- package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
- package/dist/target/cleanupRunDockerPreflight.js +224 -0
- package/dist/target/composedPreparation.d.ts +205 -0
- package/dist/target/composedPreparation.js +223 -0
- package/dist/target/containerBundle.d.ts +82 -0
- package/dist/target/containerBundle.js +243 -0
- package/dist/target/containerBundleArchive.d.ts +31 -0
- package/dist/target/containerBundleArchive.js +140 -0
- package/dist/target/containerBundleAuthority.d.ts +25 -0
- package/dist/target/containerBundleAuthority.js +65 -0
- package/dist/target/containerBundleContracts.d.ts +114 -0
- package/dist/target/containerBundleContracts.js +173 -0
- package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
- package/dist/target/containerBundleFilesystemStore.js +247 -0
- package/dist/target/containerBundlePolicy.d.ts +33 -0
- package/dist/target/containerBundlePolicy.js +64 -0
- package/dist/target/containerBundleStore.d.ts +127 -0
- package/dist/target/containerBundleStore.js +284 -0
- package/dist/target/contracts.d.ts +538 -0
- package/dist/target/contracts.js +373 -0
- package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
- package/dist/target/dockerArtifactIdentityTypes.js +1 -0
- package/dist/target/dockerArtifactInspection.d.ts +40 -0
- package/dist/target/dockerArtifactInspection.js +125 -0
- package/dist/target/dockerArtifacts.d.ts +21 -0
- package/dist/target/dockerArtifacts.js +110 -0
- package/dist/target/dockerArtifactsProvider.d.ts +41 -0
- package/dist/target/dockerArtifactsProvider.js +476 -0
- package/dist/target/dockerBaseImage.d.ts +2 -0
- package/dist/target/dockerBaseImage.js +11 -0
- package/dist/target/dockerCommandExecutor.d.ts +38 -0
- package/dist/target/dockerCommandExecutor.js +251 -0
- package/dist/target/dockerCommandExecutorCore.d.ts +35 -0
- package/dist/target/dockerCommandExecutorCore.js +275 -0
- package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
- package/dist/target/dockerContainerBundleBuilder.js +256 -0
- package/dist/target/dockerContextSnapshot.d.ts +21 -0
- package/dist/target/dockerContextSnapshot.js +158 -0
- package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
- package/dist/target/dockerEndpointFingerprint.js +9 -0
- package/dist/target/dockerPreparedArtifact.d.ts +48 -0
- package/dist/target/dockerPreparedArtifact.js +131 -0
- package/dist/target/dockerProjectionJson.d.ts +1 -0
- package/dist/target/dockerProjectionJson.js +80 -0
- package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
- package/dist/target/dockerPublicArtifactSnapshot.js +83 -0
- package/dist/target/dockerResources.d.ts +26 -0
- package/dist/target/dockerResources.js +162 -0
- package/dist/target/dockerResourcesProvider.d.ts +44 -0
- package/dist/target/dockerResourcesProvider.js +207 -0
- package/dist/target/dockerSecrets.d.ts +39 -0
- package/dist/target/dockerSecrets.js +249 -0
- package/dist/target/dockerSecretsAuthority.d.ts +26 -0
- package/dist/target/dockerSecretsAuthority.js +216 -0
- package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
- package/dist/target/dockerSecretsLifecycle.js +133 -0
- package/dist/target/dockerSecretsProvider.d.ts +68 -0
- package/dist/target/dockerSecretsProvider.js +329 -0
- package/dist/target/dockerTarget.d.ts +53 -0
- package/dist/target/dockerTarget.js +48 -0
- package/dist/target/dockerTargetBinding.d.ts +13 -0
- package/dist/target/dockerTargetBinding.js +95 -0
- package/dist/target/dockerTargetExecFile.d.ts +19 -0
- package/dist/target/dockerTargetExecFile.js +194 -0
- package/dist/target/dockerWorldClock.d.ts +17 -0
- package/dist/target/dockerWorldClock.js +111 -0
- package/dist/target/dockerWorldReadiness.d.ts +17 -0
- package/dist/target/dockerWorldReadiness.js +119 -0
- package/dist/target/dockerWorldService.d.ts +23 -0
- package/dist/target/dockerWorldService.js +216 -0
- package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
- package/dist/target/dockerWorldServiceAuthority.js +182 -0
- package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
- package/dist/target/dockerWorldServiceLifecycle.js +275 -0
- package/dist/target/dockerWorldServiceProvider.d.ts +64 -0
- package/dist/target/dockerWorldServiceProvider.js +330 -0
- package/dist/target/dockerWorldServiceStore.d.ts +73 -0
- package/dist/target/dockerWorldServiceStore.js +367 -0
- package/dist/target/evidenceExport.d.ts +57 -0
- package/dist/target/evidenceExport.js +527 -0
- package/dist/target/evidenceExportArchive.d.ts +10 -0
- package/dist/target/evidenceExportArchive.js +302 -0
- package/dist/target/evidenceExportContract.d.ts +27 -0
- package/dist/target/evidenceExportContract.js +40 -0
- package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
- package/dist/target/evidenceExportOperationsTestKit.js +312 -0
- package/dist/target/evidenceExportProvider.d.ts +87 -0
- package/dist/target/evidenceExportProvider.js +197 -0
- package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
- package/dist/target/evidenceExportPublicationTypes.js +1 -0
- package/dist/target/evidenceExportStore.d.ts +70 -0
- package/dist/target/evidenceExportStore.js +498 -0
- package/dist/target/evidenceExportStorePublication.d.ts +7 -0
- package/dist/target/evidenceExportStorePublication.js +395 -0
- package/dist/target/handles.d.ts +20 -0
- package/dist/target/handles.js +56 -0
- package/dist/target/index.d.ts +12 -0
- package/dist/target/index.js +11 -0
- package/dist/target/journal.d.ts +59 -0
- package/dist/target/journal.js +529 -0
- package/dist/target/journalFilesystem.d.ts +3 -0
- package/dist/target/journalFilesystem.js +111 -0
- package/dist/target/journalRoot.d.ts +4 -0
- package/dist/target/journalRoot.js +6 -0
- package/dist/target/organizationAttachment.d.ts +23 -0
- package/dist/target/organizationAttachment.js +263 -0
- package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
- package/dist/target/organizationAttachmentAuthority.js +161 -0
- package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
- package/dist/target/organizationAttachmentLifecycle.js +101 -0
- package/dist/target/organizationAttachmentProvider.d.ts +76 -0
- package/dist/target/organizationAttachmentProvider.js +289 -0
- package/dist/target/organizationAttachmentStore.d.ts +51 -0
- package/dist/target/organizationAttachmentStore.js +316 -0
- package/dist/target/publicArtifactSnapshot.d.ts +72 -0
- package/dist/target/publicArtifactSnapshot.js +184 -0
- package/dist/target/topologyActivation.d.ts +51 -0
- package/dist/target/topologyActivation.js +149 -0
- package/dist/target/topologyAttestation.d.ts +37 -0
- package/dist/target/topologyAttestation.js +300 -0
- package/dist/target/topologyAttestationErrors.d.ts +1 -0
- package/dist/target/topologyAttestationErrors.js +1 -0
- package/dist/target/worldClock.d.ts +60 -0
- package/dist/target/worldClock.js +129 -0
- package/dist/target/worldReadiness.d.ts +103 -0
- package/dist/target/worldReadiness.js +153 -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 +21 -0
- package/package.json +57 -14
- package/runtimes.yaml +11 -23
- package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
- package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
- /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
- /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { rm } from "node:fs/promises";
|
|
3
|
+
import { createDockerOrganizationHandoffSession, initializeOrganizationHandoffAuthorityStore, parseCanonicalSha256Digest, } from "../deployment/index.js";
|
|
4
|
+
import { createCanonicalSelectedTargetReceiptBytes, parseOpaqueTargetHandle, parseRunId, parseSelectedTargetReceipt, selectTarget, } from "../target/index.js";
|
|
5
|
+
import { isTrustedUpLifecycleRecovery } from "../deployment/upLifecycleRecoveryState.js";
|
|
6
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
7
|
+
import { executeDockerRunWithSupportCleanup } from "./runProjectLifecycle.js";
|
|
8
|
+
import { recoverDetachedDockerRun, } from "./runProject.js";
|
|
9
|
+
export const organizationHandoffInputError = () => new SpawnfileError("validation_error", "Organization handoff requires authorized run id, selected target receipt, descriptor digest, selected target receipt digest, network attachment handle, and world bindings");
|
|
10
|
+
const recoveryError = () => new SpawnfileError("runtime_error", "Organization handoff recovery is incomplete; redeploy with explicit authorization");
|
|
11
|
+
export const resolveRequestedOrganizationHandoff = (options) => {
|
|
12
|
+
const values = [
|
|
13
|
+
options.descriptorDigest,
|
|
14
|
+
options.organizationHandoffRunId,
|
|
15
|
+
options.selectedTargetReceiptDigest,
|
|
16
|
+
options.selectedTargetReceipt,
|
|
17
|
+
options.networkAttachmentHandle,
|
|
18
|
+
options.worldBindingsPath,
|
|
19
|
+
];
|
|
20
|
+
if (values.every((value) => value === undefined))
|
|
21
|
+
return null;
|
|
22
|
+
if (values.some((value) => value === undefined) || !options.detach)
|
|
23
|
+
throw organizationHandoffInputError();
|
|
24
|
+
try {
|
|
25
|
+
const selectedTarget = parseSelectedTargetReceipt(options.selectedTargetReceipt);
|
|
26
|
+
const selectedDigest = parseCanonicalSha256Digest(options.selectedTargetReceiptDigest, "selected_target_receipt_digest");
|
|
27
|
+
const computedDigest = `sha256:${createHash("sha256").update(createCanonicalSelectedTargetReceiptBytes(selectedTarget), "utf8").digest("hex")}`;
|
|
28
|
+
if (selectedDigest !== computedDigest)
|
|
29
|
+
throw new Error("selected receipt digest mismatch");
|
|
30
|
+
return {
|
|
31
|
+
descriptorDigest: parseCanonicalSha256Digest(options.descriptorDigest, "descriptor_digest"),
|
|
32
|
+
runId: parseRunId(options.organizationHandoffRunId),
|
|
33
|
+
networkAttachmentHandle: parseOpaqueTargetHandle(options.networkAttachmentHandle),
|
|
34
|
+
selectedTarget,
|
|
35
|
+
selectedTargetReceiptDigest: selectedDigest,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
throw organizationHandoffInputError();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
export const verifyRequestedOrganizationHandoffTarget = async (requested, resolved, options) => {
|
|
43
|
+
if (!requested)
|
|
44
|
+
return;
|
|
45
|
+
if (typeof resolved.dockerContext !== "string" || resolved.dockerContext.length === 0
|
|
46
|
+
|| resolved.dockerHost != null || process.env.DOCKER_HOST != null)
|
|
47
|
+
throw organizationHandoffInputError();
|
|
48
|
+
try {
|
|
49
|
+
const actual = await selectTarget({
|
|
50
|
+
context: resolved.dockerContext,
|
|
51
|
+
dockerCommand: options.dockerCommand,
|
|
52
|
+
execFile: options.targetExecFile,
|
|
53
|
+
});
|
|
54
|
+
if (createCanonicalSelectedTargetReceiptBytes(actual)
|
|
55
|
+
!== createCanonicalSelectedTargetReceiptBytes(requested.selectedTarget))
|
|
56
|
+
throw new Error("target mismatch");
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
throw organizationHandoffInputError();
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
export const compileOrganizationHandoff = (requested, buildResult) => {
|
|
63
|
+
if (!requested)
|
|
64
|
+
return undefined;
|
|
65
|
+
try {
|
|
66
|
+
const bindingDigest = buildResult.organizationReadinessEvidence.worldBindings?.digest;
|
|
67
|
+
if (!bindingDigest)
|
|
68
|
+
throw new Error("missing compiled binding evidence");
|
|
69
|
+
const parsedBindingDigest = parseCanonicalSha256Digest(bindingDigest, "binding_digest");
|
|
70
|
+
return {
|
|
71
|
+
authority: { ...requested, bindingDigest: parsedBindingDigest },
|
|
72
|
+
organizationHandoff: {
|
|
73
|
+
bindingDigest: parsedBindingDigest,
|
|
74
|
+
networkAttachmentHandle: requested.networkAttachmentHandle,
|
|
75
|
+
selectedTargetReceiptDigest: requested.selectedTargetReceiptDigest,
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
throw organizationHandoffInputError();
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const canonical = (value) => value === null || typeof value !== "object"
|
|
84
|
+
? JSON.stringify(value)
|
|
85
|
+
: Array.isArray(value) ? `[${value.map(canonical).join(",")}]`
|
|
86
|
+
: `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonical(value[key])}`).join(",")}}`;
|
|
87
|
+
const same = (left, right) => canonical(left) === canonical(right);
|
|
88
|
+
const exactRunMetadata = (value) => {
|
|
89
|
+
if (!value?.containerId || !value.containerName || !value.imageId || !value.deploymentLabels) {
|
|
90
|
+
throw organizationHandoffInputError();
|
|
91
|
+
}
|
|
92
|
+
return value;
|
|
93
|
+
};
|
|
94
|
+
const reattestRecoveredRun = async (invocation, expected) => {
|
|
95
|
+
const actual = exactRunMetadata(await recoverDetachedDockerRun(invocation, expected.containerId));
|
|
96
|
+
if (actual.containerName !== expected.containerName || actual.imageId !== expected.imageId
|
|
97
|
+
|| !same(actual.deploymentLabels, expected.deploymentLabels))
|
|
98
|
+
throw recoveryError();
|
|
99
|
+
return actual;
|
|
100
|
+
};
|
|
101
|
+
const recovery = (value) => {
|
|
102
|
+
if (value !== undefined && !isTrustedUpLifecycleRecovery(value))
|
|
103
|
+
throw organizationHandoffInputError();
|
|
104
|
+
return value;
|
|
105
|
+
};
|
|
106
|
+
const reserveDetachedRun = async (invocation, reserve) => {
|
|
107
|
+
if (!reserve)
|
|
108
|
+
return;
|
|
109
|
+
if (!invocation.detach || !invocation.containerName || !invocation.deploymentLabels) {
|
|
110
|
+
throw new SpawnfileError("runtime_error", "Detached deployment authority is incomplete");
|
|
111
|
+
}
|
|
112
|
+
await reserve({
|
|
113
|
+
containerName: invocation.containerName,
|
|
114
|
+
deploymentLabels: invocation.deploymentLabels,
|
|
115
|
+
dockerCommand: invocation.command,
|
|
116
|
+
dockerContext: invocation.dockerContext ?? null,
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
/** Resumes only lifecycle-verified state, never stale authority observations. */
|
|
120
|
+
export const executeOrganizationHandoff = async (input) => {
|
|
121
|
+
const { handoff, invocation } = input;
|
|
122
|
+
if (!invocation.deploymentLabels || !invocation.containerName)
|
|
123
|
+
throw organizationHandoffInputError();
|
|
124
|
+
const lifecycleRecovery = recovery(input.lifecycleRecovery);
|
|
125
|
+
const session = createDockerOrganizationHandoffSession({
|
|
126
|
+
bindingDigest: handoff.authority.bindingDigest,
|
|
127
|
+
containerName: invocation.containerName,
|
|
128
|
+
deploymentLabels: invocation.deploymentLabels,
|
|
129
|
+
descriptorDigest: handoff.authority.descriptorDigest,
|
|
130
|
+
organizationHandoff: handoff.organizationHandoff,
|
|
131
|
+
runId: handoff.authority.runId,
|
|
132
|
+
selectedTarget: handoff.authority.selectedTarget,
|
|
133
|
+
selectedTargetReceiptDigest: handoff.authority.selectedTargetReceiptDigest,
|
|
134
|
+
});
|
|
135
|
+
let authority;
|
|
136
|
+
let dockerLifecycleInvoked = false;
|
|
137
|
+
try {
|
|
138
|
+
// Persist the lifecycle reservation first. A post-begin crash can then be
|
|
139
|
+
// distinguished as no-start, exact-container, or ambiguous on restart.
|
|
140
|
+
if (lifecycleRecovery?.kind !== "deployment_record") {
|
|
141
|
+
await reserveDetachedRun(invocation, input.onDetachedReservation);
|
|
142
|
+
}
|
|
143
|
+
authority = await initializeOrganizationHandoffAuthorityStore();
|
|
144
|
+
const begun = await authority.begin(session.authorityInput);
|
|
145
|
+
let runMetadata;
|
|
146
|
+
if (begun.created) {
|
|
147
|
+
if (lifecycleRecovery?.kind === "detached_container"
|
|
148
|
+
|| lifecycleRecovery?.kind === "deployment_record")
|
|
149
|
+
throw recoveryError();
|
|
150
|
+
dockerLifecycleInvoked = true;
|
|
151
|
+
runMetadata = exactRunMetadata(await executeDockerRunWithSupportCleanup(invocation, input.runRunner));
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
const observed = await authority.readDockerMutation(begun.pending.pending_key);
|
|
155
|
+
if (observed) {
|
|
156
|
+
if (lifecycleRecovery?.kind === "no_docker_mutation")
|
|
157
|
+
throw recoveryError();
|
|
158
|
+
const expected = {
|
|
159
|
+
containerId: observed.container_id,
|
|
160
|
+
containerName: invocation.containerName,
|
|
161
|
+
deploymentLabels: observed.deployment_labels,
|
|
162
|
+
imageId: observed.image_id,
|
|
163
|
+
};
|
|
164
|
+
if (lifecycleRecovery?.kind === "detached_container" && (lifecycleRecovery.containerId !== expected.containerId
|
|
165
|
+
|| lifecycleRecovery.containerName !== expected.containerName
|
|
166
|
+
|| lifecycleRecovery.imageId !== expected.imageId
|
|
167
|
+
|| !same(lifecycleRecovery.deploymentLabels, expected.deploymentLabels)))
|
|
168
|
+
throw recoveryError();
|
|
169
|
+
runMetadata = await reattestRecoveredRun(invocation, expected);
|
|
170
|
+
}
|
|
171
|
+
else if (lifecycleRecovery?.kind === "detached_container") {
|
|
172
|
+
runMetadata = await reattestRecoveredRun(invocation, lifecycleRecovery);
|
|
173
|
+
}
|
|
174
|
+
else if (lifecycleRecovery?.kind === "no_docker_mutation") {
|
|
175
|
+
dockerLifecycleInvoked = true;
|
|
176
|
+
runMetadata = exactRunMetadata(await executeDockerRunWithSupportCleanup(invocation, input.runRunner));
|
|
177
|
+
}
|
|
178
|
+
else
|
|
179
|
+
throw recoveryError();
|
|
180
|
+
}
|
|
181
|
+
await authority.observeDockerMutation(begun.pending.pending_key, runMetadata);
|
|
182
|
+
const finalized = await authority.finalize(begun.pending.pending_key, runMetadata);
|
|
183
|
+
return { organizationHandoffHandle: finalized.organization_handoff_handle, runMetadata };
|
|
184
|
+
}
|
|
185
|
+
finally {
|
|
186
|
+
let cleanupError;
|
|
187
|
+
try {
|
|
188
|
+
if (invocation.detach && !dockerLifecycleInvoked)
|
|
189
|
+
await rm(invocation.envFilePath, { force: true });
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
cleanupError = error;
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
195
|
+
await authority?.dispose();
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
if (cleanupError === undefined)
|
|
199
|
+
throw error;
|
|
200
|
+
}
|
|
201
|
+
if (cleanupError !== undefined)
|
|
202
|
+
throw cleanupError;
|
|
203
|
+
}
|
|
204
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type CompiledEngineEntry, type CompiledScheduleEntry, type UpReceipt } from "../deployment/index.js";
|
|
2
|
+
import type { CompilePlan } from "./types.js";
|
|
3
|
+
import type { UpProjectResult } from "./upProject.js";
|
|
4
|
+
/**
|
|
5
|
+
* Extracts the `{agent, cron}` pairs an up-receipt's `compiled_schedule` field carries
|
|
6
|
+
* (Decision 21 Piece 4) — the raw material for simfile's wake-diff denominator oracle.
|
|
7
|
+
* Only `kind: "cron"` schedules are represented; `every`/`disabled` schedules have no
|
|
8
|
+
* cron-fire cadence to diff against sim-time and are intentionally omitted, not zeroed.
|
|
9
|
+
*/
|
|
10
|
+
export declare const resolveCompiledSchedule: (plan: CompilePlan) => CompiledScheduleEntry[];
|
|
11
|
+
/**
|
|
12
|
+
* Extracts `{agent, engine}` pairs (Piece 5, Slice B) — disclosure ground truth for the
|
|
13
|
+
* run-manifest's `pinned-engine` field, so a `scripted` (or any non-default) pi engine is
|
|
14
|
+
* visibly disclosed rather than an invisible test-only branch. Reads
|
|
15
|
+
* `report.container.runtime_instances[].engine_by_node_id`, the single source of truth
|
|
16
|
+
* `containerArtifacts.ts` already stamps from the pi adapter's own resolved engine kinds
|
|
17
|
+
* (see `src/runtime/pi/adapter.ts`'s `createContainerTargets`) — deliberately not
|
|
18
|
+
* re-derived from a fresh `buildCompilePlan` walk (unlike `resolveCompiledSchedule` above),
|
|
19
|
+
* since that would recompute the exact same fact from pi-adapter-internal logic
|
|
20
|
+
* (`resolvePiEngine`) that compiler code has no business reaching into directly.
|
|
21
|
+
*/
|
|
22
|
+
export declare const resolveCompiledEngines: (report: UpProjectResult["report"]) => CompiledEngineEntry[];
|
|
23
|
+
/**
|
|
24
|
+
* Builds `spawnfile.up-receipt.v1` from a project-path `upProject()` result. Reads back
|
|
25
|
+
* the deployment record `upProject` already wrote (for `run_id`/deployment name/container
|
|
26
|
+
* id — the same record `spawnfile artifacts export`/`spawnfile down` resolve), and
|
|
27
|
+
* re-derives `compiled_schedule` from the resolved graph, since `compileProject` does not
|
|
28
|
+
* retain its own `CompilePlan` past the compile step.
|
|
29
|
+
*
|
|
30
|
+
* `readiness` reuses whatever signal `upProject` already has — a bare `docker run -d`
|
|
31
|
+
* that returned a container id, not a new health probe: `up` has never polled
|
|
32
|
+
* application-level readiness, and this receipt does not invent one. `moltnet_base_url`
|
|
33
|
+
* comes straight from the compiled container report's own managed/external server plan;
|
|
34
|
+
* no credentials ever land on this contract (contracts.md).
|
|
35
|
+
*/
|
|
36
|
+
export declare const buildUpReceipt: (inputPath: string, result: UpProjectResult) => Promise<UpReceipt>;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { readDeploymentRecord, UP_RECEIPT_VERSION } from "../deployment/index.js";
|
|
2
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
3
|
+
import { buildCompilePlan } from "./buildCompilePlan.js";
|
|
4
|
+
/**
|
|
5
|
+
* Extracts the `{agent, cron}` pairs an up-receipt's `compiled_schedule` field carries
|
|
6
|
+
* (Decision 21 Piece 4) — the raw material for simfile's wake-diff denominator oracle.
|
|
7
|
+
* Only `kind: "cron"` schedules are represented; `every`/`disabled` schedules have no
|
|
8
|
+
* cron-fire cadence to diff against sim-time and are intentionally omitted, not zeroed.
|
|
9
|
+
*/
|
|
10
|
+
export const resolveCompiledSchedule = (plan) => plan.nodes
|
|
11
|
+
.filter((node) => node.kind === "agent")
|
|
12
|
+
.flatMap((node) => {
|
|
13
|
+
const schedule = node.value.schedule;
|
|
14
|
+
return schedule?.kind === "cron" ? [{ agent: node.id, cron: schedule.cron }] : [];
|
|
15
|
+
})
|
|
16
|
+
.sort((left, right) => left.agent.localeCompare(right.agent));
|
|
17
|
+
/**
|
|
18
|
+
* Extracts `{agent, engine}` pairs (Piece 5, Slice B) — disclosure ground truth for the
|
|
19
|
+
* run-manifest's `pinned-engine` field, so a `scripted` (or any non-default) pi engine is
|
|
20
|
+
* visibly disclosed rather than an invisible test-only branch. Reads
|
|
21
|
+
* `report.container.runtime_instances[].engine_by_node_id`, the single source of truth
|
|
22
|
+
* `containerArtifacts.ts` already stamps from the pi adapter's own resolved engine kinds
|
|
23
|
+
* (see `src/runtime/pi/adapter.ts`'s `createContainerTargets`) — deliberately not
|
|
24
|
+
* re-derived from a fresh `buildCompilePlan` walk (unlike `resolveCompiledSchedule` above),
|
|
25
|
+
* since that would recompute the exact same fact from pi-adapter-internal logic
|
|
26
|
+
* (`resolvePiEngine`) that compiler code has no business reaching into directly.
|
|
27
|
+
*/
|
|
28
|
+
export const resolveCompiledEngines = (report) => (report.container?.runtime_instances ?? [])
|
|
29
|
+
.flatMap((instance) => Object.entries(instance.engine_by_node_id ?? {}))
|
|
30
|
+
.map(([agent, engine]) => ({ agent, engine }))
|
|
31
|
+
.sort((left, right) => left.agent.localeCompare(right.agent));
|
|
32
|
+
const createReceiptMoltnetIdentity = (release) => {
|
|
33
|
+
if (!release)
|
|
34
|
+
return undefined;
|
|
35
|
+
// Discriminate on PROVENANCE, never on capability count. A published release
|
|
36
|
+
// now advertises `daimon-bridge` too (moltnet v0.1.18), so `length === 1` would
|
|
37
|
+
// route it into the local-development branch and reject it for lacking a
|
|
38
|
+
// `development` marker it is never supposed to have.
|
|
39
|
+
//
|
|
40
|
+
// The canonical list lives in `moltnetReleaseAuthority.ts`, but the H2 boundary
|
|
41
|
+
// (`../deployment/organizationHandoffTypes.test.ts`) forbids this file from
|
|
42
|
+
// importing any `moltnet*` module, so the ordering is compared inline here the
|
|
43
|
+
// same way the local branch below already compares it. `upReceiptTypes.ts`'s
|
|
44
|
+
// schema is the authority that rejects any other list on parse.
|
|
45
|
+
const joined = release.capabilities.join("\0");
|
|
46
|
+
const receiptCapabilities = joined === "daimon-bridge\0pi-bridge"
|
|
47
|
+
? ["daimon-bridge", "pi-bridge"]
|
|
48
|
+
: joined === "pi-bridge" ? ["pi-bridge"] : null;
|
|
49
|
+
if (receiptCapabilities === null) {
|
|
50
|
+
throw new SpawnfileError("runtime_error", "Moltnet receipt advertises unknown bridge capabilities");
|
|
51
|
+
}
|
|
52
|
+
if (!release.development) {
|
|
53
|
+
if (!release.release_version || !release.source_revision) {
|
|
54
|
+
throw new SpawnfileError("runtime_error", "Published Moltnet receipt lacks its pinned source identity");
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
architecture: release.architecture,
|
|
58
|
+
asset: release.asset,
|
|
59
|
+
asset_sha256: release.asset_sha256,
|
|
60
|
+
capabilities: receiptCapabilities,
|
|
61
|
+
release_version: release.release_version,
|
|
62
|
+
source_revision: release.source_revision,
|
|
63
|
+
version: release.version
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
if (release.capabilities.join("\0") !== "daimon-bridge\0pi-bridge" ||
|
|
67
|
+
!release.source_sha256) {
|
|
68
|
+
throw new SpawnfileError("runtime_error", "Local Moltnet receipt lacks its development provenance");
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
architecture: release.architecture,
|
|
72
|
+
asset: release.asset,
|
|
73
|
+
asset_sha256: release.asset_sha256,
|
|
74
|
+
capabilities: ["daimon-bridge", "pi-bridge"],
|
|
75
|
+
development: release.development,
|
|
76
|
+
source_sha256: release.source_sha256,
|
|
77
|
+
version: release.version
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Builds `spawnfile.up-receipt.v1` from a project-path `upProject()` result. Reads back
|
|
82
|
+
* the deployment record `upProject` already wrote (for `run_id`/deployment name/container
|
|
83
|
+
* id — the same record `spawnfile artifacts export`/`spawnfile down` resolve), and
|
|
84
|
+
* re-derives `compiled_schedule` from the resolved graph, since `compileProject` does not
|
|
85
|
+
* retain its own `CompilePlan` past the compile step.
|
|
86
|
+
*
|
|
87
|
+
* `readiness` reuses whatever signal `upProject` already has — a bare `docker run -d`
|
|
88
|
+
* that returned a container id, not a new health probe: `up` has never polled
|
|
89
|
+
* application-level readiness, and this receipt does not invent one. `moltnet_base_url`
|
|
90
|
+
* comes straight from the compiled container report's own managed/external server plan;
|
|
91
|
+
* no credentials ever land on this contract (contracts.md).
|
|
92
|
+
*/
|
|
93
|
+
export const buildUpReceipt = async (inputPath, result) => {
|
|
94
|
+
const plan = await buildCompilePlan(inputPath);
|
|
95
|
+
const compiledSchedule = resolveCompiledSchedule(plan);
|
|
96
|
+
const compiledEngines = resolveCompiledEngines(result.report);
|
|
97
|
+
const record = result.deploymentRecordPath
|
|
98
|
+
? await readDeploymentRecord(result.deploymentRecordPath)
|
|
99
|
+
: null;
|
|
100
|
+
const unit = record?.units[0] ?? null;
|
|
101
|
+
const containerIds = unit?.container_id ? [unit.container_id] : [];
|
|
102
|
+
const fingerprint = result.report.compile_fingerprint;
|
|
103
|
+
if (!fingerprint) {
|
|
104
|
+
throw new SpawnfileError("runtime_error", "Compiled output has no compile_fingerprint; cannot build an up-receipt");
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
version: UP_RECEIPT_VERSION,
|
|
108
|
+
run_id: record?.run_id ?? null,
|
|
109
|
+
fingerprint,
|
|
110
|
+
deployment: {
|
|
111
|
+
name: record?.name ?? null,
|
|
112
|
+
container_ids: containerIds
|
|
113
|
+
},
|
|
114
|
+
readiness: {
|
|
115
|
+
state: containerIds.length > 0 ? "running" : "unknown",
|
|
116
|
+
moltnet_base_url: result.report.container?.moltnet?.server_plans?.[0]?.base_url ?? null
|
|
117
|
+
},
|
|
118
|
+
compiled_schedule: compiledSchedule,
|
|
119
|
+
engines: compiledEngines,
|
|
120
|
+
...(result.report.container?.moltnet?.release
|
|
121
|
+
? { moltnet_release: createReceiptMoltnetIdentity(result.report.container.moltnet.release) }
|
|
122
|
+
: {}),
|
|
123
|
+
...(record?.organization_handoff ? { organization_handoff: record.organization_handoff } : {}),
|
|
124
|
+
...(record?.organization_handoff_handle ? { organization_handoff_handle: record.organization_handoff_handle } : {}),
|
|
125
|
+
...(record?.organization_ready ? { organization_ready: record.organization_ready } : {})
|
|
126
|
+
};
|
|
127
|
+
};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import {
|
|
2
|
+
import { getManifestPath, writeUtf8File } from "../filesystem/index.js";
|
|
3
3
|
import { loadManifest, renderSpawnfile } from "../manifest/index.js";
|
|
4
4
|
import { SpawnfileError } from "../shared/index.js";
|
|
5
5
|
import { resolveEffectiveModelTarget } from "./modelEnv.js";
|
|
6
|
+
import { collectProjectManifestPaths, createInlineAgentSource, rewriteInlineAgentMembers } from "./projectManifestGraph.js";
|
|
6
7
|
const TEAM_MODEL_COMMAND_ERROR = "spawnfile model commands only write agent manifests; use --recursive to update descendant agents of a team project";
|
|
7
8
|
const AUTH_METHOD_PROVIDER_HINTS = {
|
|
8
9
|
"api_key": "use a model provider like openai or anthropic, then pass --auth api_key",
|
|
9
10
|
"claude-code": "use provider anthropic, then pass --auth claude-code",
|
|
10
11
|
codex: "use provider openai, then pass --auth codex",
|
|
12
|
+
grok: "use provider xai with a Daimon grok engine agent, then pass --auth grok and declare reasoning_effort",
|
|
11
13
|
none: "use a model provider like local, then pass --auth none"
|
|
12
14
|
};
|
|
13
15
|
const resolveTargetManifestPath = (inputPath) => getManifestPath(path.resolve(inputPath ?? process.cwd()));
|
|
@@ -74,22 +76,6 @@ const buildModelTarget = (options) => {
|
|
|
74
76
|
provider: options.provider
|
|
75
77
|
};
|
|
76
78
|
};
|
|
77
|
-
const collectManifestPaths = async (manifestPath, recursive, visited = new Set()) => {
|
|
78
|
-
const canonicalPath = getCanonicalManifestPath(manifestPath);
|
|
79
|
-
if (visited.has(canonicalPath)) {
|
|
80
|
-
return [];
|
|
81
|
-
}
|
|
82
|
-
visited.add(canonicalPath);
|
|
83
|
-
if (!recursive) {
|
|
84
|
-
return [canonicalPath];
|
|
85
|
-
}
|
|
86
|
-
const loadedManifest = await loadManifest(canonicalPath);
|
|
87
|
-
const childRefs = loadedManifest.manifest.kind === "team"
|
|
88
|
-
? loadedManifest.manifest.members.map((member) => member.ref)
|
|
89
|
-
: (loadedManifest.manifest.subagents ?? []).map((subagent) => subagent.ref);
|
|
90
|
-
const nestedPaths = await Promise.all(childRefs.map((ref) => collectManifestPaths(getManifestPath(path.resolve(getProjectRoot(canonicalPath), ref)), true, visited)));
|
|
91
|
-
return [canonicalPath, ...nestedPaths.flat()];
|
|
92
|
-
};
|
|
93
79
|
const updateManifestExecution = (manifest, model) => ({
|
|
94
80
|
...manifest,
|
|
95
81
|
execution: {
|
|
@@ -98,14 +84,14 @@ const updateManifestExecution = (manifest, model) => ({
|
|
|
98
84
|
}
|
|
99
85
|
});
|
|
100
86
|
const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
|
|
101
|
-
const
|
|
87
|
+
const mutateAgentDeclarations = (manifest, manifestPath, recursive, mutate) => {
|
|
102
88
|
if (manifest.kind === "agent") {
|
|
103
|
-
return
|
|
89
|
+
return mutate(manifest, manifestPath);
|
|
104
90
|
}
|
|
105
|
-
if (recursive) {
|
|
106
|
-
|
|
91
|
+
if (!recursive) {
|
|
92
|
+
throw new SpawnfileError("validation_error", TEAM_MODEL_COMMAND_ERROR);
|
|
107
93
|
}
|
|
108
|
-
|
|
94
|
+
return rewriteInlineAgentMembers(manifest, (member) => mutate(member, createInlineAgentSource(manifestPath, member.id)) ?? member);
|
|
109
95
|
};
|
|
110
96
|
const rewriteTouchedManifests = async (manifestPaths, mutate) => {
|
|
111
97
|
const updatedFiles = [];
|
|
@@ -123,59 +109,56 @@ const rewriteTouchedManifests = async (manifestPaths, mutate) => {
|
|
|
123
109
|
export const setProjectPrimaryModel = async (options) => {
|
|
124
110
|
const modelTarget = buildModelTarget(options);
|
|
125
111
|
const recursive = options.recursive ?? false;
|
|
126
|
-
const manifestPaths = await
|
|
127
|
-
return rewriteTouchedManifests(manifestPaths, (manifest) => {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
primary: modelTarget
|
|
112
|
+
const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
|
|
113
|
+
return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
|
|
114
|
+
return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration) => {
|
|
115
|
+
const normalizedModel = normalizeExecutionModel(declaration.execution);
|
|
116
|
+
return updateManifestExecution(declaration, {
|
|
117
|
+
...(normalizedModel?.fallback ? { fallback: normalizedModel.fallback } : {}),
|
|
118
|
+
primary: modelTarget
|
|
119
|
+
});
|
|
135
120
|
});
|
|
136
121
|
});
|
|
137
122
|
};
|
|
138
123
|
export const addProjectModelFallback = async (options) => {
|
|
139
124
|
const modelTarget = buildModelTarget(options);
|
|
140
125
|
const recursive = options.recursive ?? false;
|
|
141
|
-
const manifestPaths = await
|
|
126
|
+
const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
|
|
142
127
|
return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
128
|
+
return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration, source) => {
|
|
129
|
+
const normalizedModel = normalizeExecutionModel(declaration.execution);
|
|
130
|
+
if (!normalizedModel) {
|
|
131
|
+
if (recursive) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
throw new SpawnfileError("validation_error", `Manifest at ${source} must declare a primary model before adding fallback models`);
|
|
150
135
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
primary: normalizedModel.primary
|
|
136
|
+
const existingFallback = normalizedModel.fallback ?? [];
|
|
137
|
+
const nextFallback = existingFallback.some((entry) => JSON.stringify(entry) === JSON.stringify(modelTarget))
|
|
138
|
+
? existingFallback
|
|
139
|
+
: [...existingFallback, modelTarget];
|
|
140
|
+
return updateManifestExecution(declaration, {
|
|
141
|
+
fallback: nextFallback,
|
|
142
|
+
primary: normalizedModel.primary
|
|
143
|
+
});
|
|
160
144
|
});
|
|
161
145
|
});
|
|
162
146
|
};
|
|
163
147
|
export const clearProjectModelFallbacks = async (options = {}) => {
|
|
164
148
|
const recursive = options.recursive ?? false;
|
|
165
|
-
const manifestPaths = await
|
|
149
|
+
const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
|
|
166
150
|
return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
151
|
+
return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration, source) => {
|
|
152
|
+
const normalizedModel = normalizeExecutionModel(declaration.execution);
|
|
153
|
+
if (!normalizedModel) {
|
|
154
|
+
if (recursive) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
throw new SpawnfileError("validation_error", `Manifest at ${source} does not declare any execution model`);
|
|
174
158
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
primary: normalizedModel.primary
|
|
159
|
+
return updateManifestExecution(declaration, {
|
|
160
|
+
primary: normalizedModel.primary
|
|
161
|
+
});
|
|
179
162
|
});
|
|
180
163
|
});
|
|
181
164
|
};
|
|
@@ -1,38 +1,14 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import {
|
|
3
|
-
import { loadManifest, renderSpawnfile } from "../manifest/index.js";
|
|
2
|
+
import { getManifestPath, writeUtf8File } from "../filesystem/index.js";
|
|
3
|
+
import { loadManifest, materializeInlineAgentManifest, renderSpawnfile } from "../manifest/index.js";
|
|
4
4
|
import { assertRuntimeCanCompile } from "../runtime/index.js";
|
|
5
5
|
import { SpawnfileError } from "../shared/index.js";
|
|
6
6
|
import { assertRuntimeSupportsExecutionModelAuth } from "./modelAuth.js";
|
|
7
|
+
import { collectProjectManifestPaths, rewriteInlineAgentMembers } from "./projectManifestGraph.js";
|
|
7
8
|
import { validateAgentSurfaceSupport } from "./surfaceDefinitions.js";
|
|
8
9
|
const TEAM_RUNTIME_COMMAND_ERROR = "spawnfile runtime commands only write agent manifests; use --recursive to update descendant agents of a team project";
|
|
9
10
|
const resolveTargetManifestPath = (inputPath) => getManifestPath(path.resolve(inputPath ?? process.cwd()));
|
|
10
|
-
const collectManifestPaths = async (manifestPath, recursive, visited = new Set()) => {
|
|
11
|
-
const canonicalPath = getCanonicalManifestPath(manifestPath);
|
|
12
|
-
if (visited.has(canonicalPath)) {
|
|
13
|
-
return [];
|
|
14
|
-
}
|
|
15
|
-
visited.add(canonicalPath);
|
|
16
|
-
if (!recursive) {
|
|
17
|
-
return [canonicalPath];
|
|
18
|
-
}
|
|
19
|
-
const loadedManifest = await loadManifest(canonicalPath);
|
|
20
|
-
const childRefs = loadedManifest.manifest.kind === "team"
|
|
21
|
-
? loadedManifest.manifest.members.map((member) => member.ref)
|
|
22
|
-
: (loadedManifest.manifest.subagents ?? []).map((subagent) => subagent.ref);
|
|
23
|
-
const nestedPaths = await Promise.all(childRefs.map((ref) => collectManifestPaths(getManifestPath(path.resolve(getProjectRoot(canonicalPath), ref)), true, visited)));
|
|
24
|
-
return [canonicalPath, ...nestedPaths.flat()];
|
|
25
|
-
};
|
|
26
11
|
const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
|
|
27
|
-
const assertRuntimeMutationAllowed = (manifest, recursive) => {
|
|
28
|
-
if (manifest.kind === "agent") {
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
if (recursive) {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
throw new SpawnfileError("validation_error", TEAM_RUNTIME_COMMAND_ERROR);
|
|
35
|
-
};
|
|
36
12
|
const validateAgentRuntimeMutation = (manifest) => {
|
|
37
13
|
validateAgentSurfaceSupport(manifest);
|
|
38
14
|
const runtimeName = typeof manifest.runtime === "string" ? manifest.runtime : manifest.runtime?.name;
|
|
@@ -41,22 +17,33 @@ const validateAgentRuntimeMutation = (manifest) => {
|
|
|
41
17
|
}
|
|
42
18
|
assertRuntimeSupportsExecutionModelAuth(runtimeName, manifest.execution, manifest.name);
|
|
43
19
|
};
|
|
20
|
+
const setInlineRuntime = (team, member, runtime) => {
|
|
21
|
+
const nextMember = { ...member, runtime };
|
|
22
|
+
validateAgentRuntimeMutation(materializeInlineAgentManifest(team, nextMember));
|
|
23
|
+
return nextMember;
|
|
24
|
+
};
|
|
44
25
|
export const setProjectRuntime = async (options) => {
|
|
45
26
|
await assertRuntimeCanCompile(options.runtime);
|
|
46
27
|
const recursive = options.recursive ?? false;
|
|
47
|
-
const manifestPaths = await
|
|
28
|
+
const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
|
|
48
29
|
const updatedFiles = [];
|
|
49
30
|
for (const manifestPath of manifestPaths) {
|
|
50
31
|
const loadedManifest = await loadManifest(manifestPath);
|
|
51
32
|
const manifest = loadedManifest.manifest;
|
|
52
|
-
|
|
53
|
-
|
|
33
|
+
let nextManifest;
|
|
34
|
+
if (manifest.kind === "agent") {
|
|
35
|
+
nextManifest = {
|
|
36
|
+
...manifest,
|
|
37
|
+
runtime: options.runtime
|
|
38
|
+
};
|
|
39
|
+
validateAgentRuntimeMutation(nextManifest);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
if (!recursive) {
|
|
43
|
+
throw new SpawnfileError("validation_error", TEAM_RUNTIME_COMMAND_ERROR);
|
|
44
|
+
}
|
|
45
|
+
nextManifest = rewriteInlineAgentMembers(manifest, (member) => setInlineRuntime(manifest, member, options.runtime));
|
|
54
46
|
}
|
|
55
|
-
const nextManifest = {
|
|
56
|
-
...manifest,
|
|
57
|
-
runtime: options.runtime
|
|
58
|
-
};
|
|
59
|
-
validateAgentRuntimeMutation(nextManifest);
|
|
60
47
|
if (!manifestChanged(manifest, nextManifest)) {
|
|
61
48
|
continue;
|
|
62
49
|
}
|