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,79 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { SpawnfileError } from "../shared/index.js";
|
|
3
|
+
import { stableStringify } from "./helpers.js";
|
|
4
|
+
import { mergeWorkspaceResources } from "./workspaceResources.js";
|
|
5
|
+
const assertSame = (field, existing, next, nodeName) => {
|
|
6
|
+
if (stableStringify(existing) === stableStringify(next)) {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
throw new SpawnfileError("compile_error", `Agent ${nodeName} resolves with incompatible ${field} across team imports`);
|
|
10
|
+
};
|
|
11
|
+
const mergeEnvStrict = (existing, next, nodeName) => {
|
|
12
|
+
const merged = { ...existing };
|
|
13
|
+
for (const [key, value] of Object.entries(next)) {
|
|
14
|
+
if (merged[key] !== undefined && merged[key] !== value) {
|
|
15
|
+
throw new SpawnfileError("validation_error", `Agent ${nodeName} receives conflicting environment variable ${key} across team imports`);
|
|
16
|
+
}
|
|
17
|
+
merged[key] = value;
|
|
18
|
+
}
|
|
19
|
+
return merged;
|
|
20
|
+
};
|
|
21
|
+
const mergeByKeyStrict = (existing, next, getKey, label, nodeName) => {
|
|
22
|
+
const merged = new Map();
|
|
23
|
+
for (const value of existing ?? []) {
|
|
24
|
+
merged.set(getKey(value), value);
|
|
25
|
+
}
|
|
26
|
+
for (const value of next ?? []) {
|
|
27
|
+
const key = getKey(value);
|
|
28
|
+
const previous = merged.get(key);
|
|
29
|
+
if (previous && stableStringify(previous) !== stableStringify(value)) {
|
|
30
|
+
throw new SpawnfileError("validation_error", `Agent ${nodeName} receives conflicting ${label} ${key} across team imports`);
|
|
31
|
+
}
|
|
32
|
+
merged.set(key, value);
|
|
33
|
+
}
|
|
34
|
+
return merged.size > 0 ? [...merged.values()] : undefined;
|
|
35
|
+
};
|
|
36
|
+
const mergeDocuments = (existing, next, agentSourcePath) => {
|
|
37
|
+
const agentDirectory = path.dirname(agentSourcePath);
|
|
38
|
+
const isAgentLocalDoc = (doc) => {
|
|
39
|
+
const sourcePath = path.resolve(doc.sourcePath);
|
|
40
|
+
return sourcePath === agentDirectory || sourcePath.startsWith(`${agentDirectory}${path.sep}`);
|
|
41
|
+
};
|
|
42
|
+
const merged = new Map(existing.filter(isAgentLocalDoc).map((doc) => [doc.role, doc]));
|
|
43
|
+
for (const doc of next.filter(isAgentLocalDoc)) {
|
|
44
|
+
if (!merged.has(doc.role)) {
|
|
45
|
+
merged.set(doc.role, doc);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return [...merged.values()];
|
|
49
|
+
};
|
|
50
|
+
const packageKey = (pkg) => `${pkg.manager}::${pkg.name}`;
|
|
51
|
+
const skillKey = (skill) => skill.ref;
|
|
52
|
+
export const mergeCompatibleAgentNode = (existing, next) => {
|
|
53
|
+
assertSame("description", existing.description, next.description, existing.name);
|
|
54
|
+
assertSame("execution", existing.execution, next.execution, existing.name);
|
|
55
|
+
assertSame("expose", existing.expose, next.expose, existing.name);
|
|
56
|
+
assertSame("memory", existing.memory, next.memory, existing.name);
|
|
57
|
+
assertSame("name", existing.name, next.name, existing.name);
|
|
58
|
+
assertSame("policy mode", existing.policyMode, next.policyMode, existing.name);
|
|
59
|
+
assertSame("policy on_degrade", existing.policyOnDegrade, next.policyOnDegrade, existing.name);
|
|
60
|
+
assertSame("runtime", existing.runtime, next.runtime, existing.name);
|
|
61
|
+
assertSame("schedule", existing.schedule, next.schedule, existing.name);
|
|
62
|
+
assertSame("source", existing.source, next.source, existing.name);
|
|
63
|
+
assertSame("source path", existing.sourcePath, next.sourcePath, existing.name);
|
|
64
|
+
assertSame("surfaces", existing.surfaces, next.surfaces, existing.name);
|
|
65
|
+
existing.docs = mergeDocuments(existing.docs, next.docs, existing.sourcePath ?? existing.source);
|
|
66
|
+
existing.env = mergeEnvStrict(existing.env, next.env, existing.name);
|
|
67
|
+
existing.mcpServers = mergeByKeyStrict(existing.mcpServers, next.mcpServers, (server) => server.name, "MCP server", existing.name) ?? [];
|
|
68
|
+
existing.packages = mergeByKeyStrict(existing.packages, next.packages, packageKey, "package", existing.name);
|
|
69
|
+
existing.secrets = mergeByKeyStrict(existing.secrets, next.secrets, (secret) => secret.name, "secret", existing.name) ?? [];
|
|
70
|
+
existing.skills = mergeByKeyStrict(existing.skills, next.skills, skillKey, "skill", existing.name) ?? [];
|
|
71
|
+
existing.workspaceResources = mergeWorkspaceResources([
|
|
72
|
+
...(existing.workspaceResources ?? []),
|
|
73
|
+
...(next.workspaceResources ?? [])
|
|
74
|
+
], [], existing.name, {
|
|
75
|
+
kind: "agent",
|
|
76
|
+
key: existing.source,
|
|
77
|
+
name: existing.name
|
|
78
|
+
});
|
|
79
|
+
};
|
|
@@ -23,11 +23,21 @@ export const resolveAgentSurfaces = (surfaces) => {
|
|
|
23
23
|
}
|
|
24
24
|
if (surfaces.moltnet) {
|
|
25
25
|
resolved.moltnet = surfaces.moltnet.map((attachment) => ({
|
|
26
|
+
...(attachment.auth
|
|
27
|
+
? {
|
|
28
|
+
auth: {
|
|
29
|
+
tokenId: attachment.auth.token_id
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
: {}),
|
|
26
33
|
...(attachment.dms
|
|
27
34
|
? {
|
|
28
35
|
dms: {
|
|
29
36
|
enabled: attachment.dms.enabled,
|
|
30
|
-
...(attachment.dms.wake ? { wake: attachment.dms.wake } : {})
|
|
37
|
+
...(attachment.dms.wake ? { wake: attachment.dms.wake } : {}),
|
|
38
|
+
...(attachment.dms.allowed_wake_senders !== undefined
|
|
39
|
+
? { allowedWakeSenders: [...attachment.dms.allowed_wake_senders] }
|
|
40
|
+
: {})
|
|
31
41
|
}
|
|
32
42
|
}
|
|
33
43
|
: {}),
|
|
@@ -2,9 +2,12 @@ import { getCanonicalManifestPath, getManifestPath } from "../filesystem/index.j
|
|
|
2
2
|
import { loadManifest, isAgentManifest } from "../manifest/index.js";
|
|
3
3
|
import { assignStableNodeIds } from "./helpers.js";
|
|
4
4
|
import { resolvePlanMoltnetAttachments } from "./moltnetResolution.js";
|
|
5
|
+
import { resolvePlanMemoryAccess } from "./memoryResolution.js";
|
|
5
6
|
import { resolveMoltnetRoomMemberships } from "./moltnetRoomMemberships.js";
|
|
6
7
|
import { createRuntimeGroups } from "./buildCompilePlanRuntime.js";
|
|
8
|
+
import { validateAllowedWakeSenders } from "./moltnetAllowedWakeSendersValidation.js";
|
|
7
9
|
import { createCompilePlanTraversal } from "./buildCompilePlanTraversal.js";
|
|
10
|
+
import { resolveMoltnetExternalParticipantIntents, resolveOrganizationIdentity, validateB31MoltnetAuth } from "./organizationIdentity.js";
|
|
8
11
|
export const buildCompilePlan = async (inputPath) => {
|
|
9
12
|
const rootManifestPath = getCanonicalManifestPath(getManifestPath(inputPath));
|
|
10
13
|
const loadCache = new Map();
|
|
@@ -60,7 +63,21 @@ export const buildCompilePlan = async (inputPath) => {
|
|
|
60
63
|
root: rootManifestPath,
|
|
61
64
|
runtimes: createRuntimeGroups(compilePlanNodes)
|
|
62
65
|
};
|
|
66
|
+
const organizationIdentity = resolveOrganizationIdentity(compilePlan);
|
|
67
|
+
if (organizationIdentity)
|
|
68
|
+
compilePlan.organizationIdentity = organizationIdentity;
|
|
69
|
+
// Reject duplicate or invalid authored actor selections before attachment
|
|
70
|
+
// synthesis can merge them into a single canonical attachment.
|
|
71
|
+
validateB31MoltnetAuth(compilePlan);
|
|
72
|
+
const externalParticipantIntents = resolveMoltnetExternalParticipantIntents(compilePlan);
|
|
73
|
+
if (organizationIdentity)
|
|
74
|
+
compilePlan.moltnetExternalParticipantIntents = externalParticipantIntents;
|
|
63
75
|
compilePlan.moltnetRoomMemberships = resolveMoltnetRoomMemberships(compilePlan);
|
|
76
|
+
resolvePlanMemoryAccess(compilePlan);
|
|
64
77
|
resolvePlanMoltnetAttachments(compilePlan);
|
|
78
|
+
// Recheck the actual canonical attachments emitted after representative
|
|
79
|
+
// synthesis and duplicate merging.
|
|
80
|
+
validateB31MoltnetAuth(compilePlan);
|
|
81
|
+
validateAllowedWakeSenders(compilePlan);
|
|
65
82
|
return compilePlan;
|
|
66
83
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type AgentManifest } from "../manifest/index.js";
|
|
2
|
+
import type { AgentVisitContext } from "./buildCompilePlanRuntime.js";
|
|
3
|
+
import type { ResolvedAgentNode } from "./types.js";
|
|
4
|
+
interface ResolveAgentNodeOptions {
|
|
5
|
+
context: AgentVisitContext;
|
|
6
|
+
manifest: AgentManifest;
|
|
7
|
+
manifestPath: string;
|
|
8
|
+
source: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const resolveAgentNode: ({ context, manifest, manifestPath, source }: ResolveAgentNodeOptions) => Promise<ResolvedAgentNode>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { mergeExecution } from "../manifest/index.js";
|
|
2
|
+
import { resolveAgentSurfaces } from "./agentSurfaces.js";
|
|
3
|
+
import { resolveDescription, resolveRuntime } from "./buildCompilePlanRuntime.js";
|
|
4
|
+
import { DEFAULT_POLICY_MODE, DEFAULT_POLICY_ON_DEGRADE, mergeResolvedDocuments, resolveEffectiveEnvironment } from "./buildCompilePlanTraversalHelpers.js";
|
|
5
|
+
import { getMcpNames, validateEffectiveSkillRequirements } from "./compilePlanHelpers.js";
|
|
6
|
+
import { applyExecutionDefaults } from "./executionDefaults.js";
|
|
7
|
+
import { resolveDeclaredMemoryBanks } from "./memoryResolution.js";
|
|
8
|
+
import { assertRuntimeSupportsExecutionModelAuth } from "./modelAuth.js";
|
|
9
|
+
import { loadResolvedSkills, mergeResolvedSkills } from "./surfaces.js";
|
|
10
|
+
import { assertRuntimeSupportsAgentSurfaces } from "./surfaceSupport.js";
|
|
11
|
+
import { mergeWorkspaceResources } from "./workspaceResources.js";
|
|
12
|
+
export const resolveAgentNode = async ({ context, manifest, manifestPath, source }) => {
|
|
13
|
+
const runtime = await resolveRuntime(manifest, context);
|
|
14
|
+
const execution = applyExecutionDefaults(context.isSubagent
|
|
15
|
+
? mergeExecution(context.inheritedExecution, manifest.execution)
|
|
16
|
+
: manifest.execution);
|
|
17
|
+
assertRuntimeSupportsExecutionModelAuth(runtime.name, execution, manifest.name);
|
|
18
|
+
const environment = resolveEffectiveEnvironment(context.inheritedShared?.surface?.environment, manifest.environment);
|
|
19
|
+
const inheritedSkills = context.inheritedShared
|
|
20
|
+
? await loadResolvedSkills(context.inheritedShared.manifestPath, context.inheritedShared.surface?.workspace?.skills)
|
|
21
|
+
: [];
|
|
22
|
+
const localSkills = await loadResolvedSkills(manifestPath, manifest.workspace?.skills);
|
|
23
|
+
const skills = mergeResolvedSkills(inheritedSkills, localSkills);
|
|
24
|
+
validateEffectiveSkillRequirements(manifest.name, getMcpNames(environment.mcpServers), skills);
|
|
25
|
+
const docs = await mergeResolvedDocuments(manifestPath, manifest.workspace?.docs, context.inheritedShared?.manifestPath, context.inheritedShared?.surface?.workspace?.docs);
|
|
26
|
+
const workspaceResources = mergeWorkspaceResources(context.inheritedResources, manifest.workspace?.resources, manifest.name, {
|
|
27
|
+
kind: "agent",
|
|
28
|
+
key: source,
|
|
29
|
+
name: manifest.name
|
|
30
|
+
});
|
|
31
|
+
const candidate = {
|
|
32
|
+
description: resolveDescription(manifest.description, docs),
|
|
33
|
+
docs,
|
|
34
|
+
env: environment.env,
|
|
35
|
+
execution,
|
|
36
|
+
expose: manifest.expose ?? false,
|
|
37
|
+
kind: "agent",
|
|
38
|
+
mcpServers: environment.mcpServers,
|
|
39
|
+
name: manifest.name,
|
|
40
|
+
policyMode: manifest.policy?.mode ?? DEFAULT_POLICY_MODE,
|
|
41
|
+
policyOnDegrade: manifest.policy?.on_degrade ?? DEFAULT_POLICY_ON_DEGRADE,
|
|
42
|
+
runtime,
|
|
43
|
+
memory: resolveDeclaredMemoryBanks(manifest.memory, source, "agent", manifest.name),
|
|
44
|
+
schedule: manifest.schedule,
|
|
45
|
+
secrets: environment.secrets,
|
|
46
|
+
packages: environment.packages,
|
|
47
|
+
skills,
|
|
48
|
+
source,
|
|
49
|
+
...(source === manifestPath ? {} : { sourcePath: manifestPath }),
|
|
50
|
+
surfaces: resolveAgentSurfaces(manifest.surfaces),
|
|
51
|
+
subagents: [],
|
|
52
|
+
workspaceResources
|
|
53
|
+
};
|
|
54
|
+
assertRuntimeSupportsAgentSurfaces(runtime.name, candidate.surfaces, manifest.name);
|
|
55
|
+
return candidate;
|
|
56
|
+
};
|
|
@@ -1,5 +1,6 @@
|
|
|
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[];
|
|
5
|
+
export declare const isAttachedExternalRoomMember: (teamNode: ResolvedTeamNode, networkId: string, memberId: string) => boolean;
|
|
5
6
|
export declare const validateTeamNetworkRooms: (teamNode: ResolvedTeamNode) => void;
|
|
@@ -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 } : {}),
|
|
@@ -32,12 +36,16 @@ export const resolveTeamNetworks = (manifest) => (manifest.networks ?? []).map((
|
|
|
32
36
|
}
|
|
33
37
|
return resolved;
|
|
34
38
|
});
|
|
39
|
+
export const isAttachedExternalRoomMember = (teamNode, networkId, memberId) => teamNode.externalParticipants?.some((participant) => participant.id === memberId
|
|
40
|
+
&& participant.surfaces.moltnet.some((attachment) => attachment.network === networkId)) === true;
|
|
35
41
|
export const validateTeamNetworkRooms = (teamNode) => {
|
|
36
42
|
for (const network of teamNode.networks ?? []) {
|
|
37
43
|
for (const room of network.rooms) {
|
|
38
44
|
for (const roomMemberId of room.members) {
|
|
39
45
|
const resolvedMember = teamNode.members.find((member) => member.id === roomMemberId);
|
|
40
|
-
if (!resolvedMember
|
|
46
|
+
if (!resolvedMember
|
|
47
|
+
&& !isAttachedExternalRoomMember(teamNode, network.id, roomMemberId)
|
|
48
|
+
&& !isDeclaredPairedRemoteRoomMember(network, room, roomMemberId)) {
|
|
41
49
|
throw new SpawnfileError("validation_error", `Team ${teamNode.name} Moltnet room ${room.id} references unknown member ${roomMemberId}`);
|
|
42
50
|
}
|
|
43
51
|
}
|
|
@@ -1,89 +1,62 @@
|
|
|
1
1
|
import { getCanonicalManifestPath, getManifestPath, resolveProjectPath } from "../filesystem/index.js";
|
|
2
|
-
import { isAgentManifest, isTeamManifest,
|
|
2
|
+
import { isAgentManifest, isReferencedMember, isTeamManifest, materializeInlineAgentManifest } from "../manifest/index.js";
|
|
3
3
|
import { SpawnfileError } from "../shared/index.js";
|
|
4
4
|
import { getAgentFingerprint, getMcpNames, getTeamFingerprint, validateEffectiveSkillRequirements } from "./compilePlanHelpers.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { assertRuntimeSupportsAgentSurfaces } from "./surfaceSupport.js";
|
|
9
|
-
import { applyExecutionDefaults } from "./executionDefaults.js";
|
|
10
|
-
import { normalizeDescription, resolveDescription, resolveRuntime } from "./buildCompilePlanRuntime.js";
|
|
5
|
+
import { loadResolvedSkills } from "./surfaces.js";
|
|
6
|
+
import { mergeCompatibleAgentNode } from "./agentNodeMerge.js";
|
|
7
|
+
import { normalizeDescription } from "./buildCompilePlanRuntime.js";
|
|
11
8
|
import { resolveTeamExternalIds, resolveTeamNetworks, validateTeamNetworkRooms } from "./buildCompilePlanTeams.js";
|
|
9
|
+
import { resolveDeclaredMemoryBanks } from "./memoryResolution.js";
|
|
12
10
|
import { mergeWorkspaceResources } from "./workspaceResources.js";
|
|
13
|
-
import { DEFAULT_POLICY_MODE, DEFAULT_POLICY_ON_DEGRADE, mergeResolvedDocuments,
|
|
11
|
+
import { DEFAULT_POLICY_MODE, DEFAULT_POLICY_ON_DEGRADE, mergeResolvedDocuments, } from "./buildCompilePlanTraversalHelpers.js";
|
|
12
|
+
import { resolveAgentNode } from "./buildCompilePlanAgent.js";
|
|
13
|
+
import { createInlineAgentSource } from "./projectManifestGraph.js";
|
|
14
14
|
export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, fingerprintCache, edges, memberships }) => {
|
|
15
15
|
const visitStack = [];
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (!isAgentManifest(loadedManifest.manifest)) {
|
|
23
|
-
throw new SpawnfileError("compile_error", `Expected agent manifest, got ${loadedManifest.manifest.kind} at ${canonicalPath}`);
|
|
24
|
-
}
|
|
25
|
-
const runtime = await resolveRuntime(loadedManifest.manifest, context);
|
|
26
|
-
const execution = applyExecutionDefaults(context.isSubagent
|
|
27
|
-
? mergeExecution(context.inheritedExecution, loadedManifest.manifest.execution)
|
|
28
|
-
: loadedManifest.manifest.execution);
|
|
29
|
-
assertRuntimeSupportsExecutionModelAuth(runtime.name, execution, loadedManifest.manifest.name);
|
|
30
|
-
const environment = resolveEffectiveEnvironment(context.inheritedShared?.surface?.environment, loadedManifest.manifest.environment);
|
|
31
|
-
const inheritedSkills = context.inheritedShared
|
|
32
|
-
? await loadResolvedSkills(context.inheritedShared.manifestPath, context.inheritedShared.surface?.workspace?.skills)
|
|
33
|
-
: [];
|
|
34
|
-
const localSkills = await loadResolvedSkills(canonicalPath, loadedManifest.manifest.workspace?.skills);
|
|
35
|
-
const skills = mergeResolvedSkills(inheritedSkills, localSkills);
|
|
36
|
-
validateEffectiveSkillRequirements(loadedManifest.manifest.name, getMcpNames(environment.mcpServers), skills);
|
|
37
|
-
const docs = await mergeResolvedDocuments(canonicalPath, loadedManifest.manifest.workspace?.docs, context.inheritedShared?.manifestPath, context.inheritedShared?.surface?.workspace?.docs);
|
|
38
|
-
const workspaceResources = mergeWorkspaceResources(context.inheritedResources, loadedManifest.manifest.workspace?.resources, loadedManifest.manifest.name, {
|
|
39
|
-
kind: "agent",
|
|
40
|
-
key: canonicalPath,
|
|
41
|
-
name: loadedManifest.manifest.name
|
|
16
|
+
const recordAgentMembership = (teamSource, teamName, memberId, agent) => {
|
|
17
|
+
memberships.set(`${teamSource}::${memberId}::${agent.source}`, {
|
|
18
|
+
agentSource: agent.source,
|
|
19
|
+
memberId,
|
|
20
|
+
teamName,
|
|
21
|
+
teamSource
|
|
42
22
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
docs,
|
|
46
|
-
env: environment.env,
|
|
47
|
-
execution,
|
|
48
|
-
expose: loadedManifest.manifest.expose ?? false,
|
|
23
|
+
return {
|
|
24
|
+
id: memberId,
|
|
49
25
|
kind: "agent",
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
policyMode: loadedManifest.manifest.policy?.mode ?? DEFAULT_POLICY_MODE,
|
|
53
|
-
policyOnDegrade: loadedManifest.manifest.policy?.on_degrade ?? DEFAULT_POLICY_ON_DEGRADE,
|
|
54
|
-
runtime,
|
|
55
|
-
schedule: loadedManifest.manifest.schedule,
|
|
56
|
-
secrets: environment.secrets,
|
|
57
|
-
packages: environment.packages,
|
|
58
|
-
skills,
|
|
59
|
-
source: canonicalPath,
|
|
60
|
-
surfaces: resolveAgentSurfaces(loadedManifest.manifest.surfaces),
|
|
61
|
-
subagents: [],
|
|
62
|
-
workspaceResources
|
|
26
|
+
nodeSource: agent.source,
|
|
27
|
+
runtimeName: agent.runtime.name
|
|
63
28
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
throw new SpawnfileError("compile_error", `Manifest ${canonicalPath} resolves differently across compile contexts`);
|
|
29
|
+
};
|
|
30
|
+
const visitAgentManifest = async (manifest, source, manifestPath, context) => {
|
|
31
|
+
if (visitStack.includes(source)) {
|
|
32
|
+
throw new SpawnfileError("compile_error", `Cycle detected while visiting ${source}`);
|
|
69
33
|
}
|
|
70
|
-
const
|
|
34
|
+
const candidate = await resolveAgentNode({ context, manifest, manifestPath, source });
|
|
35
|
+
const cachedNode = nodeCache.get(source);
|
|
71
36
|
if (cachedNode) {
|
|
72
|
-
|
|
37
|
+
const cachedAgent = cachedNode.value;
|
|
38
|
+
mergeCompatibleAgentNode(cachedAgent, candidate);
|
|
39
|
+
fingerprintCache.set(source, getAgentFingerprint(cachedAgent));
|
|
40
|
+
return cachedAgent;
|
|
73
41
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
source
|
|
42
|
+
const fingerprint = getAgentFingerprint(candidate);
|
|
43
|
+
const existingFingerprint = fingerprintCache.get(source);
|
|
44
|
+
if (existingFingerprint && existingFingerprint !== fingerprint) {
|
|
45
|
+
throw new SpawnfileError("compile_error", `Agent ${source} resolves differently across compile contexts`);
|
|
46
|
+
}
|
|
47
|
+
fingerprintCache.set(source, fingerprint);
|
|
48
|
+
nodeCache.set(source, {
|
|
49
|
+
runtimeName: candidate.runtime.name,
|
|
50
|
+
source,
|
|
78
51
|
value: candidate
|
|
79
52
|
});
|
|
80
|
-
visitStack.push(
|
|
81
|
-
for (const subagent of
|
|
82
|
-
const childManifestPath = getManifestPath(resolveProjectPath(
|
|
53
|
+
visitStack.push(source);
|
|
54
|
+
for (const subagent of manifest.subagents ?? []) {
|
|
55
|
+
const childManifestPath = getManifestPath(resolveProjectPath(manifestPath, subagent.ref));
|
|
83
56
|
const resolvedSubagent = await visitAgent(childManifestPath, {
|
|
84
|
-
inheritedExecution: execution,
|
|
57
|
+
inheritedExecution: candidate.execution,
|
|
85
58
|
inheritedResources: candidate.workspaceResources,
|
|
86
|
-
inheritedRuntime: runtime,
|
|
59
|
+
inheritedRuntime: candidate.runtime,
|
|
87
60
|
isSubagent: true
|
|
88
61
|
});
|
|
89
62
|
candidate.subagents.push({
|
|
@@ -91,7 +64,7 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
|
|
|
91
64
|
nodeSource: resolvedSubagent.source
|
|
92
65
|
});
|
|
93
66
|
edges.push({
|
|
94
|
-
from:
|
|
67
|
+
from: source,
|
|
95
68
|
kind: "subagent",
|
|
96
69
|
label: subagent.id,
|
|
97
70
|
to: resolvedSubagent.source
|
|
@@ -100,6 +73,14 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
|
|
|
100
73
|
visitStack.pop();
|
|
101
74
|
return candidate;
|
|
102
75
|
};
|
|
76
|
+
const visitAgent = async (manifestPath, context) => {
|
|
77
|
+
const canonicalPath = getCanonicalManifestPath(manifestPath);
|
|
78
|
+
const loadedManifest = await getLoadedManifest(canonicalPath);
|
|
79
|
+
if (!isAgentManifest(loadedManifest.manifest)) {
|
|
80
|
+
throw new SpawnfileError("compile_error", `Expected agent manifest, got ${loadedManifest.manifest.kind} at ${canonicalPath}`);
|
|
81
|
+
}
|
|
82
|
+
return visitAgentManifest(loadedManifest.manifest, canonicalPath, canonicalPath, context);
|
|
83
|
+
};
|
|
103
84
|
const visitTeam = async (manifestPath, inheritedResources = []) => {
|
|
104
85
|
const canonicalPath = getCanonicalManifestPath(manifestPath);
|
|
105
86
|
if (visitStack.includes(canonicalPath)) {
|
|
@@ -126,11 +107,15 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
|
|
|
126
107
|
docs,
|
|
127
108
|
external: resolvedExternal,
|
|
128
109
|
externalExplicit: manifest.external !== undefined,
|
|
110
|
+
...(manifest.external_participants
|
|
111
|
+
? { externalParticipants: manifest.external_participants }
|
|
112
|
+
: {}),
|
|
129
113
|
kind: "team",
|
|
130
114
|
lead: manifest.lead ?? null,
|
|
131
115
|
members: [],
|
|
132
116
|
mode: manifest.mode,
|
|
133
117
|
name: manifest.name,
|
|
118
|
+
memory: resolveDeclaredMemoryBanks(manifest.memory, canonicalPath, "team", manifest.name),
|
|
134
119
|
networks: resolveTeamNetworks(manifest),
|
|
135
120
|
policyMode: manifest.policy?.mode ?? DEFAULT_POLICY_MODE,
|
|
136
121
|
policyOnDegrade: manifest.policy?.on_degrade ?? DEFAULT_POLICY_ON_DEGRADE,
|
|
@@ -161,6 +146,25 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
|
|
|
161
146
|
});
|
|
162
147
|
visitStack.push(canonicalPath);
|
|
163
148
|
for (const member of loadedManifest.manifest.members) {
|
|
149
|
+
if (!isReferencedMember(member)) {
|
|
150
|
+
const resolvedAgent = await visitAgentManifest(materializeInlineAgentManifest(manifest, member), createInlineAgentSource(canonicalPath, member.id), canonicalPath, {
|
|
151
|
+
inheritedShared: {
|
|
152
|
+
manifestPath: canonicalPath,
|
|
153
|
+
surface: manifest.shared
|
|
154
|
+
},
|
|
155
|
+
inheritedResources: candidate.workspaceResources,
|
|
156
|
+
isSubagent: false
|
|
157
|
+
});
|
|
158
|
+
const resolvedMember = recordAgentMembership(canonicalPath, candidate.name, member.id, resolvedAgent);
|
|
159
|
+
candidate.members.push(resolvedMember);
|
|
160
|
+
edges.push({
|
|
161
|
+
from: canonicalPath,
|
|
162
|
+
kind: "team_member",
|
|
163
|
+
label: member.id,
|
|
164
|
+
to: resolvedMember.nodeSource
|
|
165
|
+
});
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
164
168
|
const childManifestPath = getManifestPath(resolveProjectPath(canonicalPath, member.ref));
|
|
165
169
|
const childManifest = await getLoadedManifest(childManifestPath);
|
|
166
170
|
let resolvedMember;
|
|
@@ -173,18 +177,7 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
|
|
|
173
177
|
inheritedResources: candidate.workspaceResources,
|
|
174
178
|
isSubagent: false
|
|
175
179
|
});
|
|
176
|
-
resolvedMember =
|
|
177
|
-
id: member.id,
|
|
178
|
-
kind: "agent",
|
|
179
|
-
nodeSource: resolvedAgent.source,
|
|
180
|
-
runtimeName: resolvedAgent.runtime.name
|
|
181
|
-
};
|
|
182
|
-
memberships.set(`${canonicalPath}::${member.id}::${resolvedAgent.source}`, {
|
|
183
|
-
agentSource: resolvedAgent.source,
|
|
184
|
-
memberId: member.id,
|
|
185
|
-
teamName: candidate.name,
|
|
186
|
-
teamSource: canonicalPath
|
|
187
|
-
});
|
|
180
|
+
resolvedMember = recordAgentMembership(canonicalPath, candidate.name, member.id, resolvedAgent);
|
|
188
181
|
}
|
|
189
182
|
else {
|
|
190
183
|
const resolvedTeam = await visitTeam(childManifestPath, candidate.workspaceResources);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type CompileProjectOptions, type CompileProjectResult } from "./compileProject.js";
|
|
2
|
+
import { type DockerImageInspector } from "./dockerBuildSkip.js";
|
|
2
3
|
import type { MoltnetTargetArchitecture } from "./moltnetBinaries.js";
|
|
3
4
|
export interface DockerBuildInvocation {
|
|
4
5
|
args: string[];
|
|
@@ -12,9 +13,19 @@ export interface BuildProjectOptions extends CompileProjectOptions {
|
|
|
12
13
|
buildRunner?: DockerBuildRunner;
|
|
13
14
|
dockerCommand?: string;
|
|
14
15
|
dockerContext?: string;
|
|
16
|
+
imageInspector?: DockerImageInspector;
|
|
15
17
|
imageTag?: string;
|
|
16
18
|
}
|
|
17
19
|
export interface BuildProjectResult extends CompileProjectResult {
|
|
20
|
+
imageBuild?: {
|
|
21
|
+
buildMs: number | null;
|
|
22
|
+
contextBytes: number;
|
|
23
|
+
contextDigest: string;
|
|
24
|
+
contextDigestMs: number;
|
|
25
|
+
contextFileCount: number;
|
|
26
|
+
probeMs: number;
|
|
27
|
+
skipped: boolean;
|
|
28
|
+
};
|
|
18
29
|
imageTag: string;
|
|
19
30
|
}
|
|
20
31
|
export declare const createDefaultImageTag: (projectRoot: string) => string;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { execFile as execFileCallback, spawn } from "node:child_process";
|
|
3
|
+
import { performance } from "node:perf_hooks";
|
|
3
4
|
import { promisify } from "node:util";
|
|
5
|
+
import { BUILD_IMAGE_CACHE_VERSION, readBuildImageCacheEntry, writeBuildImageCacheEntry } from "../deployment/buildImageCacheStore.js";
|
|
4
6
|
import { SpawnfileError } from "../shared/index.js";
|
|
5
7
|
import { compileProject } from "./compileProject.js";
|
|
8
|
+
import { createDockerBuildContextDigest, listDockerBuildContextFiles } from "./dockerBuildContext.js";
|
|
9
|
+
import { inspectDockerImage, shouldSkipDockerBuild } from "./dockerBuildSkip.js";
|
|
6
10
|
import { slugify } from "./helpers.js";
|
|
7
11
|
const execFile = promisify(execFileCallback);
|
|
8
12
|
export const createDefaultImageTag = (projectRoot) => {
|
|
@@ -76,16 +80,87 @@ export const buildProject = async (inputPath, options = {}) => {
|
|
|
76
80
|
const compileResult = await compileProject(inputPath, {
|
|
77
81
|
clean: options.clean,
|
|
78
82
|
containerArchitecture: targetArchitecture,
|
|
79
|
-
outputDirectory: options.outputDirectory
|
|
83
|
+
outputDirectory: options.outputDirectory,
|
|
84
|
+
runtimePackageOverrides: options.runtimePackageOverrides,
|
|
85
|
+
...(options.worldBindingsPath !== undefined
|
|
86
|
+
? { worldBindingsPath: options.worldBindingsPath }
|
|
87
|
+
: {})
|
|
80
88
|
});
|
|
81
89
|
const imageTag = options.imageTag ?? createDefaultImageTag(resolveImageTagRoot(inputPath));
|
|
82
90
|
const invocation = createDockerBuildInvocation(compileResult.outputDirectory, imageTag, {
|
|
83
91
|
dockerCommand: options.dockerCommand,
|
|
84
92
|
dockerContext: options.dockerContext
|
|
85
93
|
});
|
|
86
|
-
|
|
94
|
+
const compileFingerprint = compileResult.report.compile_fingerprint ?? "";
|
|
95
|
+
const projectRoot = compileResult.report.root;
|
|
96
|
+
const contextDigestStartedAt = performance.now();
|
|
97
|
+
const [contextFiles, contextDigest] = await Promise.all([
|
|
98
|
+
listDockerBuildContextFiles(compileResult.outputDirectory),
|
|
99
|
+
createDockerBuildContextDigest(compileResult.outputDirectory)
|
|
100
|
+
]);
|
|
101
|
+
const contextDigestMs = performance.now() - contextDigestStartedAt;
|
|
102
|
+
let probeMs = 0;
|
|
103
|
+
let skipped = false;
|
|
104
|
+
if (!options.buildRunner) {
|
|
105
|
+
const probeStartedAt = performance.now();
|
|
106
|
+
const cacheEntry = await readBuildImageCacheEntry({
|
|
107
|
+
dockerContext: options.dockerContext,
|
|
108
|
+
imageTag,
|
|
109
|
+
projectRoot
|
|
110
|
+
});
|
|
111
|
+
skipped = await shouldSkipDockerBuild({
|
|
112
|
+
cacheEntry,
|
|
113
|
+
compileFingerprint,
|
|
114
|
+
contextDigest,
|
|
115
|
+
dockerCommand: options.dockerCommand,
|
|
116
|
+
dockerContext: options.dockerContext,
|
|
117
|
+
imageInspector: options.imageInspector,
|
|
118
|
+
imageTag
|
|
119
|
+
});
|
|
120
|
+
probeMs = performance.now() - probeStartedAt;
|
|
121
|
+
}
|
|
122
|
+
let buildMs = null;
|
|
123
|
+
if (!skipped) {
|
|
124
|
+
const buildStartedAt = performance.now();
|
|
125
|
+
await (options.buildRunner ?? runDockerBuild)(invocation);
|
|
126
|
+
buildMs = performance.now() - buildStartedAt;
|
|
127
|
+
if (!options.buildRunner) {
|
|
128
|
+
try {
|
|
129
|
+
const inspection = await (options.imageInspector ?? inspectDockerImage)({
|
|
130
|
+
dockerCommand: options.dockerCommand,
|
|
131
|
+
dockerContext: options.dockerContext,
|
|
132
|
+
imageTag
|
|
133
|
+
});
|
|
134
|
+
if (inspection
|
|
135
|
+
&& inspection.labels["com.spawnfile.compile_fingerprint"] === compileFingerprint) {
|
|
136
|
+
await writeBuildImageCacheEntry({
|
|
137
|
+
compileFingerprint,
|
|
138
|
+
contextDigest,
|
|
139
|
+
dockerContext: options.dockerContext ?? null,
|
|
140
|
+
imageId: inspection.id,
|
|
141
|
+
imageTag,
|
|
142
|
+
projectRoot,
|
|
143
|
+
version: BUILD_IMAGE_CACHE_VERSION,
|
|
144
|
+
writtenAt: new Date().toISOString()
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// A post-build cache probe is best-effort and never changes build success.
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
87
153
|
return {
|
|
88
154
|
...compileResult,
|
|
155
|
+
imageBuild: {
|
|
156
|
+
buildMs,
|
|
157
|
+
contextBytes: contextFiles.reduce((total, file) => total + file.size, 0),
|
|
158
|
+
contextDigest,
|
|
159
|
+
contextDigestMs,
|
|
160
|
+
contextFileCount: contextFiles.length,
|
|
161
|
+
probeMs,
|
|
162
|
+
skipped
|
|
163
|
+
},
|
|
89
164
|
imageTag
|
|
90
165
|
};
|
|
91
166
|
};
|
|
@@ -14,6 +14,7 @@ export const validateEffectiveSkillRequirements = (nodeName, mcpNames, skills) =
|
|
|
14
14
|
export const getAgentFingerprint = (node) => stableStringify({
|
|
15
15
|
env: node.env,
|
|
16
16
|
execution: node.execution,
|
|
17
|
+
memory: node.memory,
|
|
17
18
|
mcpServers: node.mcpServers,
|
|
18
19
|
runtime: node.runtime,
|
|
19
20
|
schedule: node.schedule,
|
|
@@ -30,6 +31,7 @@ export const getAgentFingerprint = (node) => stableStringify({
|
|
|
30
31
|
export const getTeamFingerprint = (node) => stableStringify({
|
|
31
32
|
members: node.members,
|
|
32
33
|
mode: node.mode,
|
|
34
|
+
memory: node.memory,
|
|
33
35
|
lead: node.lead,
|
|
34
36
|
external: node.external,
|
|
35
37
|
networks: node.networks ?? [],
|
|
@@ -53,6 +55,9 @@ const collectMoltnetSecretNames = (server, secretNames) => {
|
|
|
53
55
|
if (server.mode === "managed") {
|
|
54
56
|
for (const pairing of server.pairings ?? []) {
|
|
55
57
|
secretNames.add(pairing.token_secret);
|
|
58
|
+
if (pairing.relay) {
|
|
59
|
+
secretNames.add(pairing.relay.token_secret);
|
|
60
|
+
}
|
|
56
61
|
}
|
|
57
62
|
if (server.store.kind === "postgres") {
|
|
58
63
|
secretNames.add(server.store.dsn_secret);
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import { CompileReport } from "../report/index.js";
|
|
2
|
+
import { type RuntimePackageOverrideRequest } from "./containerPackageOverrides.js";
|
|
2
3
|
import { type MoltnetTargetArchitecture } from "./moltnetBinaries.js";
|
|
4
|
+
import { type OrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
|
|
5
|
+
export { createOrganizationReadinessEvidence, ORGANIZATION_READINESS_EVIDENCE_VERSION } from "./organizationReadyEvidence.js";
|
|
6
|
+
export type { CreateOrganizationReadinessEvidenceInput, OrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
|
|
3
7
|
export interface CompileProjectOptions {
|
|
4
8
|
clean?: boolean;
|
|
5
9
|
containerArchitecture?: MoltnetTargetArchitecture;
|
|
10
|
+
/** Stable deployment identity for exclusive credential-realm reattachment. */
|
|
11
|
+
deploymentLineage?: string;
|
|
6
12
|
outputDirectory?: string;
|
|
13
|
+
/** Compile-time-only local overrides for runtime install npm packages
|
|
14
|
+
* (see src/compiler/containerPackageOverrides.ts). Only opt-in
|
|
15
|
+
* local/E2E callers set this; a standard compile leaves it undefined and
|
|
16
|
+
* every runtime install package resolves to its pinned registry
|
|
17
|
+
* version, unchanged. */
|
|
18
|
+
runtimePackageOverrides?: RuntimePackageOverrideRequest;
|
|
19
|
+
/** Runner-owned path to a bounded, secret-free simfile.world-bindings.v1 artifact. */
|
|
20
|
+
worldBindingsPath?: string;
|
|
7
21
|
}
|
|
8
22
|
export interface CompileProjectResult {
|
|
23
|
+
organizationReadinessEvidence: OrganizationReadinessEvidence;
|
|
9
24
|
outputDirectory: string;
|
|
10
25
|
report: CompileReport;
|
|
11
26
|
reportPath: string;
|