spawnfile 0.1.12 → 0.1.14
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 +58 -12
- 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/index.d.ts +7 -0
- package/dist/auth/index.js +7 -0
- package/dist/auth/paths.d.ts +11 -0
- package/dist/auth/paths.js +21 -0
- package/dist/auth/runtimeCredentials.js +18 -2
- package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
- package/dist/auth/targetSecretSourceAuthor.js +52 -0
- package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
- package/dist/auth/targetSecretSourceFsPublish.js +49 -0
- package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
- package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
- package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
- package/dist/auth/targetSecretSourceFsRead.js +198 -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/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 +221 -0
- package/dist/cli/compileBuildCommands.d.ts +3 -0
- package/dist/cli/compileBuildCommands.js +35 -0
- package/dist/cli/containerBundleCommand.d.ts +6 -0
- package/dist/cli/containerBundleCommand.js +116 -0
- package/dist/cli/devCommands.d.ts +3 -0
- package/dist/cli/devCommands.js +115 -0
- package/dist/cli/downCommand.d.ts +25 -0
- package/dist/cli/downCommand.js +134 -0
- package/dist/cli/index.js +6 -3
- package/dist/cli/lifecycleCommands.d.ts +1 -1
- package/dist/cli/lifecycleCommands.js +11 -179
- package/dist/cli/lifecycleMachine.d.ts +19 -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/runCli.d.ts +15 -2
- package/dist/cli/runCli.js +31 -71
- package/dist/cli/runPublishCommands.d.ts +3 -0
- package/dist/cli/runPublishCommands.js +70 -0
- package/dist/cli/statusCommand.d.ts +3 -32
- package/dist/cli/statusCommand.js +37 -233
- 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 +33 -0
- package/dist/cli/targetCommands.js +257 -0
- package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
- package/dist/cli/targetComposedPreparationCommand.js +39 -0
- package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
- package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
- package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
- package/dist/cli/targetDefaultAuthorities.js +210 -0
- package/dist/cli/targetDefaultConfig.d.ts +68 -0
- package/dist/cli/targetDefaultConfig.js +317 -0
- package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
- package/dist/cli/targetDefaultConfigStdin.js +215 -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 +247 -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/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/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
- package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
- package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
- package/dist/cli/targetWorldReadinessCommand.js +43 -0
- package/dist/cli/upCommand.d.ts +3 -0
- package/dist/cli/upCommand.js +133 -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 +53 -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 +1 -0
- package/dist/compiler/buildCompilePlanTeams.js +4 -1
- package/dist/compiler/buildCompilePlanTraversal.js +75 -82
- package/dist/compiler/buildProject.d.ts +20 -1
- package/dist/compiler/buildProject.js +121 -7
- package/dist/compiler/compilePlanHelpers.js +2 -0
- package/dist/compiler/compileProject.d.ts +15 -0
- package/dist/compiler/compileProject.js +29 -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/containerArtifactSummaries.d.ts +7 -0
- package/dist/compiler/containerArtifactSummaries.js +138 -0
- package/dist/compiler/containerArtifacts.d.ts +10 -0
- package/dist/compiler/containerArtifacts.js +126 -125
- package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
- package/dist/compiler/containerArtifactsPlans.js +31 -118
- package/dist/compiler/containerArtifactsRender.d.ts +3 -1
- package/dist/compiler/containerArtifactsRender.js +40 -81
- package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
- package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
- package/dist/compiler/containerConfigEnvRender.js +54 -0
- package/dist/compiler/containerEntrypointRender.d.ts +1 -0
- package/dist/compiler/containerEntrypointRender.js +60 -53
- 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/containerPackageRender.d.ts +15 -0
- package/dist/compiler/containerPackageRender.js +63 -0
- package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
- package/dist/compiler/containerTargetPlanResolution.js +97 -0
- package/dist/compiler/containerTargetResources.js +3 -1
- package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
- package/dist/compiler/daimonTelemetryArtifacts.js +61 -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 +4 -0
- package/dist/compiler/index.js +4 -0
- package/dist/compiler/memoryArtifacts.d.ts +26 -0
- package/dist/compiler/memoryArtifacts.js +134 -0
- package/dist/compiler/memoryResolution.d.ts +4 -0
- package/dist/compiler/memoryResolution.js +147 -0
- package/dist/compiler/modelEnv.d.ts +2 -0
- package/dist/compiler/modelEnv.js +6 -0
- package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
- package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
- package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
- package/dist/compiler/moltnetArtifactPaths.js +49 -0
- package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
- package/dist/compiler/moltnetArtifactTypes.js +1 -0
- package/dist/compiler/moltnetArtifacts.d.ts +2 -40
- package/dist/compiler/moltnetArtifacts.js +56 -95
- package/dist/compiler/moltnetBinaries.d.ts +21 -1
- package/dist/compiler/moltnetBinaries.js +156 -28
- package/dist/compiler/moltnetClientConfig.js +18 -2
- package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
- package/dist/compiler/moltnetConfigLowering.js +67 -5
- 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 +17 -0
- package/dist/compiler/moltnetReleaseAuthority.js +73 -0
- package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
- package/dist/compiler/moltnetReleaseDownload.js +85 -0
- package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
- package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
- package/dist/compiler/moltnetResolution.js +72 -20
- package/dist/compiler/moltnetRoomMemberships.js +37 -9
- package/dist/compiler/moltnetRuntimeConfig.js +11 -0
- package/dist/compiler/moltnetServerPlans.d.ts +9 -0
- package/dist/compiler/moltnetServerPlans.js +132 -0
- package/dist/compiler/organizationIdentity.d.ts +27 -0
- package/dist/compiler/organizationIdentity.js +297 -0
- package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
- package/dist/compiler/organizationReadyEvidence.js +261 -0
- package/dist/compiler/projectManifestGraph.d.ts +4 -0
- package/dist/compiler/projectManifestGraph.js +24 -0
- package/dist/compiler/runProject.d.ts +4 -0
- package/dist/compiler/runProject.js +37 -22
- package/dist/compiler/runProjectAuth.d.ts +7 -1
- package/dist/compiler/runProjectAuth.js +87 -9
- package/dist/compiler/runProjectDocker.d.ts +7 -0
- package/dist/compiler/runProjectDocker.js +187 -19
- 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/types.d.ts +82 -1
- package/dist/compiler/upProject.d.ts +5 -0
- package/dist/compiler/upProject.js +257 -20
- package/dist/compiler/upReceipt.d.ts +36 -0
- package/dist/compiler/upReceipt.js +82 -0
- package/dist/compiler/updateProjectModels.js +42 -60
- package/dist/compiler/updateProjectRuntime.js +22 -35
- package/dist/compiler/updateProjectSurfaces.js +53 -47
- 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 +135 -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/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 +2 -10
- package/dist/deployment/dockerManager.d.ts +51 -0
- package/dist/deployment/dockerManager.js +118 -1
- package/dist/deployment/dockerProbeGateway.js +64 -5
- package/dist/deployment/dockerRecover.d.ts +17 -0
- package/dist/deployment/dockerRecover.js +137 -0
- package/dist/deployment/dockerTeardown.d.ts +32 -0
- package/dist/deployment/dockerTeardown.js +61 -0
- package/dist/deployment/downDeployment.d.ts +34 -0
- package/dist/deployment/downDeployment.js +147 -0
- package/dist/deployment/downReceiptTypes.d.ts +21 -0
- package/dist/deployment/downReceiptTypes.js +30 -0
- package/dist/deployment/index.d.ts +17 -0
- package/dist/deployment/index.js +18 -0
- package/dist/deployment/lifecycleCompletion.d.ts +37 -0
- package/dist/deployment/lifecycleCompletion.js +236 -0
- package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
- package/dist/deployment/lifecycleCompletionContracts.js +106 -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 +9 -0
- package/dist/deployment/lifecycleCompletionPaths.js +16 -0
- package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
- package/dist/deployment/lifecycleCompletionPublication.js +35 -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/organizationHandoffAuthorityFsClient.d.ts +17 -0
- package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
- package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
- package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
- package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
- package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
- package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
- package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
- package/dist/deployment/organizationHandoffTypes.js +80 -0
- package/dist/deployment/organizationReady.d.ts +52 -0
- package/dist/deployment/organizationReady.js +200 -0
- package/dist/deployment/privateArtifactsExport.d.ts +18 -0
- package/dist/deployment/privateArtifactsExport.js +80 -0
- package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
- package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
- package/dist/deployment/record.d.ts +26 -1
- package/dist/deployment/record.js +49 -4
- package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
- package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
- package/dist/deployment/target.d.ts +1 -35
- package/dist/deployment/target.js +1 -96
- package/dist/deployment/upReceiptTypes.d.ts +111 -0
- package/dist/deployment/upReceiptTypes.js +164 -0
- package/dist/dev/activity.d.ts +14 -0
- package/dist/dev/activity.js +48 -0
- package/dist/dev/docker.d.ts +16 -0
- package/dist/dev/docker.js +71 -0
- package/dist/dev/index.d.ts +2 -0
- package/dist/dev/index.js +2 -0
- package/dist/dev/project.d.ts +35 -0
- package/dist/dev/project.js +170 -0
- package/dist/distribution/buildDistributionReport.d.ts +2 -1
- package/dist/distribution/buildDistributionReport.js +2 -1
- package/dist/distribution/distributionReportSchema.d.ts +5 -0
- package/dist/distribution/distributionReportSchema.js +7 -2
- package/dist/distribution/index.d.ts +2 -2
- package/dist/distribution/index.js +1 -1
- package/dist/distribution/types.d.ts +7 -0
- package/dist/distribution/types.js +1 -0
- 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/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 +17 -0
- package/dist/manifest/mcpSchemas.js +41 -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 +9 -2
- package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
- package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
- package/dist/manifest/schemas.d.ts +1868 -99
- package/dist/manifest/schemas.js +78 -32
- package/dist/manifest/surfaceSchemas.d.ts +17 -0
- package/dist/manifest/surfaceSchemas.js +24 -1
- package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
- package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
- package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
- package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
- package/dist/manifest/teamNetworkSchemas.js +3 -317
- package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
- package/dist/manifest/teamNetworkServerSchemas.js +199 -0
- package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
- package/dist/ownership/siblingBuildFreshness.js +20 -0
- package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
- package/dist/ownership/simfileRunOperatorInputs.js +139 -0
- package/dist/report/types.d.ts +142 -0
- package/dist/runtime/common.d.ts +37 -0
- package/dist/runtime/common.js +56 -1
- package/dist/runtime/container.d.ts +29 -1
- package/dist/runtime/container.js +127 -11
- package/dist/runtime/containerPackageOverrides.d.ts +37 -0
- package/dist/runtime/containerPackageOverrides.js +33 -0
- package/dist/runtime/index.d.ts +2 -0
- package/dist/runtime/index.js +2 -0
- package/dist/runtime/install.d.ts +1 -1
- package/dist/runtime/install.js +43 -1
- package/dist/runtime/mnemeMcp.d.ts +15 -0
- package/dist/runtime/mnemeMcp.js +109 -0
- package/dist/runtime/openclaw/adapter.js +15 -4
- 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 +4 -0
- package/dist/runtime/pi/adapter.js +231 -0
- package/dist/runtime/pi/appActivitySource.d.ts +1 -0
- package/dist/runtime/pi/appActivitySource.js +199 -0
- 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 -0
- package/dist/runtime/pi/appCoreSource.js +244 -0
- package/dist/runtime/pi/appPreludeSource.d.ts +1 -0
- package/dist/runtime/pi/appPreludeSource.js +191 -0
- package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
- package/dist/runtime/pi/appScheduleSource.js +80 -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 -0
- package/dist/runtime/pi/appSource.js +12 -0
- package/dist/runtime/pi/appTemplate.d.ts +14 -0
- package/dist/runtime/pi/appTemplate.js +27 -0
- 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.d.ts +2 -0
- package/dist/runtime/pi/runAuth.js +185 -0
- package/dist/runtime/pi/testHelpers.d.ts +2 -0
- package/dist/runtime/pi/testHelpers.js +40 -0
- package/dist/runtime/picoclaw/adapter.js +23 -27
- 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.js +3 -0
- package/dist/runtime/scheduleUtils.d.ts +2 -0
- package/dist/runtime/scheduleUtils.js +15 -0
- package/dist/runtime/types.d.ts +26 -2
- package/dist/shared/errors.d.ts +1 -1
- package/dist/shared/errors.js +2 -2
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/redaction.d.ts +2 -0
- package/dist/shared/redaction.js +10 -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/deployments.js +5 -12
- 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/cleanupRunDocker.test-helper.d.ts +67 -0
- package/dist/target/cleanupRunDocker.test-helper.js +238 -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 +449 -0
- package/dist/target/dockerCommandExecutor.d.ts +27 -0
- package/dist/target/dockerCommandExecutor.js +200 -0
- package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
- package/dist/target/dockerCommandExecutorCore.js +273 -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 +99 -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 +52 -0
- package/dist/target/dockerTarget.js +48 -0
- package/dist/target/dockerTargetBinding.d.ts +14 -0
- package/dist/target/dockerTargetBinding.js +96 -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 +60 -0
- package/dist/target/dockerWorldServiceProvider.js +318 -0
- package/dist/target/dockerWorldServiceStore.d.ts +73 -0
- package/dist/target/dockerWorldServiceStore.js +367 -0
- package/dist/target/evidenceExport.d.ts +55 -0
- package/dist/target/evidenceExport.js +518 -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 +85 -0
- package/dist/target/evidenceExportProvider.js +187 -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 +41 -0
- package/dist/target/publicArtifactSnapshot.js +150 -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/moltnet-releases.json +20 -0
- package/package.json +29 -8
- package/runtimes.yaml +28 -27
- 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,53 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { findLifecycleOutcomeEvidence, createDeploymentInstanceDigest, readDeploymentRecord, resolveDeploymentRecordPath, } from "../deployment/index.js";
|
|
3
|
+
import { resolveProjectOutputDirectory } from "../filesystem/index.js";
|
|
4
|
+
import { DEFAULT_OUTPUT_DIRECTORY, REPORT_FILENAME } from "../shared/index.js";
|
|
5
|
+
import { readUtf8File } from "../filesystem/index.js";
|
|
6
|
+
const ambiguous = (reason) => ({
|
|
7
|
+
reason,
|
|
8
|
+
status: "ambiguous",
|
|
9
|
+
});
|
|
10
|
+
const exactHandoff = (record, options) => record.organization_handoff !== undefined &&
|
|
11
|
+
record.organization_handoff_handle !== undefined &&
|
|
12
|
+
record.organization_handoff.network_attachment_handle ===
|
|
13
|
+
options.networkAttachmentHandle &&
|
|
14
|
+
record.organization_handoff.selected_target_receipt_digest ===
|
|
15
|
+
options.selectedTargetReceiptDigest;
|
|
16
|
+
export const reconcileUpLifecycle = async (inputPath, options, invocation) => {
|
|
17
|
+
const outputDirectory = resolveProjectOutputDirectory(inputPath, options.out, DEFAULT_OUTPUT_DIRECTORY);
|
|
18
|
+
const deployment = options.deployment;
|
|
19
|
+
if (!deployment)
|
|
20
|
+
return ambiguous("up_deployment_not_bound");
|
|
21
|
+
const recordPath = resolveDeploymentRecordPath(outputDirectory, deployment);
|
|
22
|
+
try {
|
|
23
|
+
const record = await readDeploymentRecord(recordPath);
|
|
24
|
+
const report = JSON.parse(await readUtf8File(path.join(outputDirectory, REPORT_FILENAME)));
|
|
25
|
+
const requestedRoot = path.resolve(inputPath);
|
|
26
|
+
if (record.name !== deployment ||
|
|
27
|
+
record.output_directory !== outputDirectory ||
|
|
28
|
+
record.source.kind !== "project" ||
|
|
29
|
+
path.resolve(record.source.root) !== requestedRoot ||
|
|
30
|
+
record.compile_fingerprint !== report.compile_fingerprint ||
|
|
31
|
+
record.auth_profile !== (options.authProfile ?? null) ||
|
|
32
|
+
(options.context !== undefined &&
|
|
33
|
+
(record.target.kind !== "context" ||
|
|
34
|
+
record.target.name !== options.context)) ||
|
|
35
|
+
(options.name !== undefined &&
|
|
36
|
+
record.units[0]?.container_name !== options.name) ||
|
|
37
|
+
!exactHandoff(record, options))
|
|
38
|
+
return ambiguous("up_durable_evidence_drifted");
|
|
39
|
+
const evidence = await findLifecycleOutcomeEvidence(invocation);
|
|
40
|
+
if (!evidence)
|
|
41
|
+
return ambiguous("up_receipt_evidence_absent");
|
|
42
|
+
if (evidence.deployment_instance_digest !==
|
|
43
|
+
createDeploymentInstanceDigest(record))
|
|
44
|
+
return ambiguous("up_deployment_instance_changed");
|
|
45
|
+
return {
|
|
46
|
+
outcomeBytes: evidence.completion.outcome_bytes,
|
|
47
|
+
status: "completed",
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return ambiguous("up_durable_evidence_absent_or_invalid");
|
|
52
|
+
}
|
|
53
|
+
};
|
|
@@ -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
|
+
};
|
|
@@ -2,4 +2,5 @@ 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;
|
|
@@ -32,12 +32,15 @@ export const resolveTeamNetworks = (manifest) => (manifest.networks ?? []).map((
|
|
|
32
32
|
}
|
|
33
33
|
return resolved;
|
|
34
34
|
});
|
|
35
|
+
export const isAttachedExternalRoomMember = (teamNode, networkId, memberId) => teamNode.externalParticipants?.some((participant) => participant.id === memberId
|
|
36
|
+
&& participant.surfaces.moltnet.some((attachment) => attachment.network === networkId)) === true;
|
|
35
37
|
export const validateTeamNetworkRooms = (teamNode) => {
|
|
36
38
|
for (const network of teamNode.networks ?? []) {
|
|
37
39
|
for (const room of network.rooms) {
|
|
38
40
|
for (const roomMemberId of room.members) {
|
|
39
41
|
const resolvedMember = teamNode.members.find((member) => member.id === roomMemberId);
|
|
40
|
-
if (!resolvedMember
|
|
42
|
+
if (!resolvedMember
|
|
43
|
+
&& !isAttachedExternalRoomMember(teamNode, network.id, roomMemberId)) {
|
|
41
44
|
throw new SpawnfileError("validation_error", `Team ${teamNode.name} Moltnet room ${room.id} references unknown member ${roomMemberId}`);
|
|
42
45
|
}
|
|
43
46
|
}
|
|
@@ -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,20 +1,39 @@
|
|
|
1
1
|
import { type CompileProjectOptions, type CompileProjectResult } from "./compileProject.js";
|
|
2
|
+
import { type DockerImageInspector } from "./dockerBuildSkip.js";
|
|
3
|
+
import type { MoltnetTargetArchitecture } from "./moltnetBinaries.js";
|
|
2
4
|
export interface DockerBuildInvocation {
|
|
3
5
|
args: string[];
|
|
4
6
|
command: string;
|
|
5
7
|
cwd: string;
|
|
8
|
+
dockerContext?: string | null;
|
|
6
9
|
imageTag: string;
|
|
7
10
|
}
|
|
8
11
|
export type DockerBuildRunner = (invocation: DockerBuildInvocation) => Promise<void>;
|
|
9
12
|
export interface BuildProjectOptions extends CompileProjectOptions {
|
|
10
13
|
buildRunner?: DockerBuildRunner;
|
|
11
14
|
dockerCommand?: string;
|
|
15
|
+
dockerContext?: string;
|
|
16
|
+
imageInspector?: DockerImageInspector;
|
|
12
17
|
imageTag?: string;
|
|
13
18
|
}
|
|
14
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
|
+
};
|
|
15
29
|
imageTag: string;
|
|
16
30
|
}
|
|
17
31
|
export declare const createDefaultImageTag: (projectRoot: string) => string;
|
|
18
|
-
export declare const createDockerBuildInvocation: (outputDirectory: string, imageTag: string,
|
|
32
|
+
export declare const createDockerBuildInvocation: (outputDirectory: string, imageTag: string, options?: string | {
|
|
33
|
+
dockerCommand?: string;
|
|
34
|
+
dockerContext?: string;
|
|
35
|
+
}) => DockerBuildInvocation;
|
|
36
|
+
export declare const normalizeDockerArchitecture: (architecture: string) => MoltnetTargetArchitecture;
|
|
37
|
+
export declare const resolveDockerBuildArchitecture: (options: Pick<BuildProjectOptions, "dockerCommand" | "dockerContext">) => Promise<MoltnetTargetArchitecture | undefined>;
|
|
19
38
|
export declare const runDockerBuild: DockerBuildRunner;
|
|
20
39
|
export declare const buildProject: (inputPath: string, options?: BuildProjectOptions) => Promise<BuildProjectResult>;
|