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
package/dist/report/types.d.ts
CHANGED
|
@@ -12,6 +12,11 @@ export interface DiagnosticReport {
|
|
|
12
12
|
}
|
|
13
13
|
export interface ContainerRuntimeInstanceReport {
|
|
14
14
|
config_path: string;
|
|
15
|
+
/** Per pi/daimon agent (keyed by node id, e.g. "agent:eleanor"): the resolved pi
|
|
16
|
+
* engine kind (see `PI_ENGINE_KINDS` in `src/runtime/pi/appTemplate.ts`, e.g.
|
|
17
|
+
* "scripted"), so a scripted-engine run is disclosable on the compile report rather
|
|
18
|
+
* than an invisible test-only branch. Only pi/daimon runtime instances populate this. */
|
|
19
|
+
engine_by_node_id?: Record<string, string>;
|
|
15
20
|
home_path: string | null;
|
|
16
21
|
id: string;
|
|
17
22
|
internal_port?: number | null;
|
|
@@ -20,6 +25,11 @@ export interface ContainerRuntimeInstanceReport {
|
|
|
20
25
|
node_ids?: string[];
|
|
21
26
|
published_port?: number | null;
|
|
22
27
|
runtime: string;
|
|
28
|
+
/** Per pi/daimon agent (keyed by node id, e.g. "agent:eleanor"): the id of its daimon
|
|
29
|
+
* telemetry persistent mount (see `daimonTelemetryArtifacts.ts`), so
|
|
30
|
+
* `artifactsExportPlan.ts` can egress `causal.jsonl` from that agent's durable volume
|
|
31
|
+
* instead of `docker cp`ing it out of the (possibly already-gone) live container. */
|
|
32
|
+
telemetry_mount_ids?: Record<string, string>;
|
|
23
33
|
workspace_path?: string;
|
|
24
34
|
}
|
|
25
35
|
export interface ContainerWorkspaceResourceReport {
|
|
@@ -37,22 +47,141 @@ export interface ContainerPersistentMountReport {
|
|
|
37
47
|
reason: string;
|
|
38
48
|
volume_name: string;
|
|
39
49
|
}
|
|
50
|
+
export interface ContainerMemoryStoreReport {
|
|
51
|
+
kind: "json" | "memory" | "postgres" | "sqlite";
|
|
52
|
+
dsn_secret?: string;
|
|
53
|
+
path?: string;
|
|
54
|
+
persistence?: "durable" | "ephemeral";
|
|
55
|
+
persistent_mount_id?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface ContainerMemoryIndexReport {
|
|
58
|
+
graph: {
|
|
59
|
+
enabled: boolean;
|
|
60
|
+
kind?: "entity_graph" | "temporal_kg";
|
|
61
|
+
};
|
|
62
|
+
lexical: {
|
|
63
|
+
enabled: boolean;
|
|
64
|
+
engine?: "bm25" | "sqlite_fts";
|
|
65
|
+
};
|
|
66
|
+
rerank: {
|
|
67
|
+
enabled: boolean;
|
|
68
|
+
};
|
|
69
|
+
vector: {
|
|
70
|
+
enabled: boolean;
|
|
71
|
+
base_url?: string;
|
|
72
|
+
dimensions?: number;
|
|
73
|
+
model?: string;
|
|
74
|
+
provider?: "ollama";
|
|
75
|
+
timeout_ms?: number;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export interface ContainerMemoryConsolidationReport {
|
|
79
|
+
mode: "disabled" | "on_threshold" | "scheduled";
|
|
80
|
+
schedule?: string;
|
|
81
|
+
summarize_after_events?: number;
|
|
82
|
+
}
|
|
83
|
+
export interface ContainerMemoryRetentionReport {
|
|
84
|
+
forgetting: "decay" | "manual" | "ttl";
|
|
85
|
+
ttl?: string;
|
|
86
|
+
}
|
|
87
|
+
export type ContainerMemoryTransport = "degraded_mcp" | "degraded" | "direct" | "mcp" | "unsupported";
|
|
88
|
+
export interface ContainerMemoryReport {
|
|
89
|
+
id: string;
|
|
90
|
+
declaring_node_id: string;
|
|
91
|
+
accessible_node_ids: string[];
|
|
92
|
+
store: ContainerMemoryStoreReport;
|
|
93
|
+
index: ContainerMemoryIndexReport;
|
|
94
|
+
consolidation: ContainerMemoryConsolidationReport;
|
|
95
|
+
retention: ContainerMemoryRetentionReport;
|
|
96
|
+
transport_by_node_id: Record<string, ContainerMemoryTransport>;
|
|
97
|
+
}
|
|
98
|
+
interface ContainerMemoryScope {
|
|
99
|
+
qualifier: string;
|
|
100
|
+
scope: "global" | "team" | "room";
|
|
101
|
+
}
|
|
102
|
+
interface CompileReportMoltnetRoomBinding {
|
|
103
|
+
context_key: string;
|
|
104
|
+
derivation: {
|
|
105
|
+
member_position: number;
|
|
106
|
+
rule: string;
|
|
107
|
+
};
|
|
108
|
+
member_slot: string;
|
|
109
|
+
roster: string;
|
|
110
|
+
team_id: string;
|
|
111
|
+
team_doc: string;
|
|
112
|
+
session_key: string;
|
|
113
|
+
memory: {
|
|
114
|
+
durable_scope: {
|
|
115
|
+
qualifier: string;
|
|
116
|
+
scope: "team";
|
|
117
|
+
};
|
|
118
|
+
ephemeral_scope: {
|
|
119
|
+
qualifier: string;
|
|
120
|
+
scope: "room";
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
interface CompileReportActiveSchedule {
|
|
125
|
+
context_key: string;
|
|
126
|
+
derivation: {
|
|
127
|
+
rule: string;
|
|
128
|
+
};
|
|
129
|
+
environment_key: string;
|
|
130
|
+
memory: {
|
|
131
|
+
durable_scope: ContainerMemoryScope;
|
|
132
|
+
};
|
|
133
|
+
session_key: string;
|
|
134
|
+
}
|
|
135
|
+
interface CompileReportActiveDream {
|
|
136
|
+
context_key: string;
|
|
137
|
+
environment_key: string;
|
|
138
|
+
memory: {
|
|
139
|
+
durable_scope: {
|
|
140
|
+
qualifier: string;
|
|
141
|
+
scope: "global" | "team";
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
session_key_template: string;
|
|
145
|
+
}
|
|
146
|
+
export interface CompileReportActiveEnvironments {
|
|
147
|
+
moltnet?: Record<string, {
|
|
148
|
+
rooms: Record<string, CompileReportMoltnetRoomBinding>;
|
|
149
|
+
}>;
|
|
150
|
+
schedules?: Record<string, CompileReportActiveSchedule>;
|
|
151
|
+
dreams?: Record<string, CompileReportActiveDream>;
|
|
152
|
+
}
|
|
40
153
|
export interface ContainerPortMappingReport {
|
|
41
154
|
internal_port: number;
|
|
42
155
|
published_port: number;
|
|
43
156
|
}
|
|
44
157
|
export interface ContainerMoltnetNodePlanSummary {
|
|
45
158
|
config_path: string;
|
|
159
|
+
credential_agent_id?: string;
|
|
160
|
+
credential_id?: string;
|
|
161
|
+
credential_secret?: string;
|
|
162
|
+
member_id?: string;
|
|
46
163
|
network_id: string;
|
|
47
164
|
}
|
|
48
165
|
export interface ContainerMoltnetServerPlanSummary {
|
|
166
|
+
agent_registration?: "disabled" | "open" | "token";
|
|
49
167
|
auth_mode?: "bearer" | "none" | "open";
|
|
168
|
+
auth_tokens?: Array<{
|
|
169
|
+
agents: string[];
|
|
170
|
+
id: string;
|
|
171
|
+
scopes: Array<"admin" | "attach" | "observe" | "pair" | "write">;
|
|
172
|
+
secret: string;
|
|
173
|
+
}>;
|
|
50
174
|
base_url: string;
|
|
51
175
|
config_path?: string;
|
|
176
|
+
debug_events?: boolean;
|
|
52
177
|
direct_messages?: boolean;
|
|
178
|
+
human_ingress?: boolean;
|
|
53
179
|
id: string;
|
|
54
180
|
mode: "external" | "managed";
|
|
55
181
|
network_id: string;
|
|
182
|
+
network_name?: string;
|
|
183
|
+
operator_agent_id?: string;
|
|
184
|
+
operator_token_id?: string;
|
|
56
185
|
operator_token_secret?: string;
|
|
57
186
|
port?: number;
|
|
58
187
|
public_read?: boolean;
|
|
@@ -63,14 +192,25 @@ export interface ContainerMoltnetServerPlanSummary {
|
|
|
63
192
|
write_policy?: "members" | "operators" | "registered_agents";
|
|
64
193
|
}>;
|
|
65
194
|
store_kind?: "json" | "memory" | "postgres" | "sqlite";
|
|
195
|
+
trust_forwarded_proto?: boolean;
|
|
66
196
|
}
|
|
67
197
|
export interface ContainerMoltnetPlanSummary {
|
|
68
198
|
node_plans: ContainerMoltnetNodePlanSummary[];
|
|
199
|
+
release?: {
|
|
200
|
+
architecture: "amd64" | "arm64";
|
|
201
|
+
asset: string;
|
|
202
|
+
asset_sha256: `sha256:${string}`;
|
|
203
|
+
capabilities: readonly ["pi-bridge"];
|
|
204
|
+
release_version: string;
|
|
205
|
+
source_revision: string;
|
|
206
|
+
version: "spawnfile.moltnet-release-identity.v1";
|
|
207
|
+
};
|
|
69
208
|
server_plans: ContainerMoltnetServerPlanSummary[];
|
|
70
209
|
}
|
|
71
210
|
export interface NodeReport {
|
|
72
211
|
capabilities: CapabilityReport[];
|
|
73
212
|
diagnostics: DiagnosticReport[];
|
|
213
|
+
active_environments?: CompileReportActiveEnvironments;
|
|
74
214
|
id: string;
|
|
75
215
|
kind: "agent" | "team";
|
|
76
216
|
output_dir: string | null;
|
|
@@ -86,6 +226,7 @@ export interface ContainerReport {
|
|
|
86
226
|
internal_ports?: number[];
|
|
87
227
|
model_secrets_required: string[];
|
|
88
228
|
moltnet?: ContainerMoltnetPlanSummary;
|
|
229
|
+
memory?: ContainerMemoryReport[];
|
|
89
230
|
port_mappings?: ContainerPortMappingReport[];
|
|
90
231
|
ports: number[];
|
|
91
232
|
published_ports?: number[];
|
|
@@ -108,3 +249,4 @@ export interface CompileReport {
|
|
|
108
249
|
root: string;
|
|
109
250
|
spawnfile_version: "0.1";
|
|
110
251
|
}
|
|
252
|
+
export {};
|
package/dist/runtime/common.d.ts
CHANGED
|
@@ -1,12 +1,49 @@
|
|
|
1
1
|
import type { ResolvedAgentNode, ResolvedDocument, ResolvedSkill } from "../compiler/types.js";
|
|
2
2
|
import type { CapabilityReport, DiagnosticReport } from "../report/index.js";
|
|
3
3
|
import { EmittedFile } from "./types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Container env var name every generated runtime container is stamped with,
|
|
6
|
+
* so every authority (moltnet, mneme, daimon, and root's own runtime
|
|
7
|
+
* containers) agrees on a single run identifier for causal event envelopes
|
|
8
|
+
* (see specs/CAUSAL.md). Adapters and containers must read run_id from this
|
|
9
|
+
* environment variable — never from model output.
|
|
10
|
+
*/
|
|
11
|
+
export declare const NOOPOLIS_RUN_ID_ENV = "NOOPOLIS_RUN_ID";
|
|
12
|
+
/**
|
|
13
|
+
* Resolves the shared NOOPOLIS_RUN_ID value from the host/process
|
|
14
|
+
* environment. Returns undefined when unset so callers can decide whether
|
|
15
|
+
* to omit the variable entirely rather than stamp an empty value.
|
|
16
|
+
*/
|
|
17
|
+
export declare const resolveNoopolisRunId: (env?: NodeJS.ProcessEnv) => string | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* Ensures `env` carries a NOOPOLIS_RUN_ID: returns the host-provided value
|
|
20
|
+
* untouched when one is already set, otherwise generates a fresh run id,
|
|
21
|
+
* stamps it onto `env`, and returns it. This is the one place a run id is
|
|
22
|
+
* ever generated — every other reader (createRuntimeContainerEnv here,
|
|
23
|
+
* mneme's resolveCausalRunId, daimon's resolveRunId, moltnet's
|
|
24
|
+
* causalRunIDEnv lookup) only ever reads what is already in the process
|
|
25
|
+
* env, so a run id absent from the host env would otherwise leave moltnet
|
|
26
|
+
* causal events with no run_id to stamp (see specs/CAUSAL.md).
|
|
27
|
+
*
|
|
28
|
+
* Callers: only the `run`/`up` execution entrypoints (`runProject.ts`,
|
|
29
|
+
* `upProject.ts`) and their equivalents in opt-in E2E harnesses that build
|
|
30
|
+
* a container directly (e.g. `src/e2e/officeSim.ts`) — never
|
|
31
|
+
* `compileProject.ts`/`buildProject.ts` themselves, which must stay
|
|
32
|
+
* deterministic functions of their inputs. Called once per run/up
|
|
33
|
+
* invocation, before the compile step, so every authority container
|
|
34
|
+
* compiled during that invocation is stamped with the same real id.
|
|
35
|
+
*/
|
|
36
|
+
export declare const ensureNoopolisRunId: (env?: NodeJS.ProcessEnv) => string;
|
|
4
37
|
export declare const createCapability: (key: string, outcome: CapabilityReport["outcome"], message?: string) => CapabilityReport;
|
|
5
38
|
export declare const createDiagnostic: (level: DiagnosticReport["level"], message: string) => DiagnosticReport;
|
|
6
39
|
export declare const createDocumentFiles: (baseDirectory: string, documents: ResolvedDocument[]) => EmittedFile[];
|
|
7
40
|
export declare const createSkillFiles: (baseDirectory: string, skills: ResolvedSkill[]) => EmittedFile[];
|
|
8
41
|
export declare const createAgentCapabilities: (node: ResolvedAgentNode, options?: {
|
|
9
42
|
mcpOutcome?: CapabilityReport["outcome"];
|
|
43
|
+
memoryMessage?: string;
|
|
44
|
+
memoryOutcome?: CapabilityReport["outcome"];
|
|
45
|
+
moltnetMessage?: string;
|
|
46
|
+
moltnetOutcome?: CapabilityReport["outcome"];
|
|
10
47
|
sandboxOutcome?: CapabilityReport["outcome"];
|
|
11
48
|
scheduleMessage?: string;
|
|
12
49
|
scheduleOutcome?: CapabilityReport["outcome"];
|
package/dist/runtime/common.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
1
2
|
const ROLE_FILE_NAMES = {
|
|
2
3
|
heartbeat: "HEARTBEAT.md",
|
|
3
4
|
identity: "IDENTITY.md",
|
|
@@ -5,6 +6,47 @@ const ROLE_FILE_NAMES = {
|
|
|
5
6
|
soul: "SOUL.md",
|
|
6
7
|
system: "AGENTS.md"
|
|
7
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Container env var name every generated runtime container is stamped with,
|
|
11
|
+
* so every authority (moltnet, mneme, daimon, and root's own runtime
|
|
12
|
+
* containers) agrees on a single run identifier for causal event envelopes
|
|
13
|
+
* (see specs/CAUSAL.md). Adapters and containers must read run_id from this
|
|
14
|
+
* environment variable — never from model output.
|
|
15
|
+
*/
|
|
16
|
+
export const NOOPOLIS_RUN_ID_ENV = "NOOPOLIS_RUN_ID";
|
|
17
|
+
/**
|
|
18
|
+
* Resolves the shared NOOPOLIS_RUN_ID value from the host/process
|
|
19
|
+
* environment. Returns undefined when unset so callers can decide whether
|
|
20
|
+
* to omit the variable entirely rather than stamp an empty value.
|
|
21
|
+
*/
|
|
22
|
+
export const resolveNoopolisRunId = (env = process.env) => env[NOOPOLIS_RUN_ID_ENV]?.trim() || undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Ensures `env` carries a NOOPOLIS_RUN_ID: returns the host-provided value
|
|
25
|
+
* untouched when one is already set, otherwise generates a fresh run id,
|
|
26
|
+
* stamps it onto `env`, and returns it. This is the one place a run id is
|
|
27
|
+
* ever generated — every other reader (createRuntimeContainerEnv here,
|
|
28
|
+
* mneme's resolveCausalRunId, daimon's resolveRunId, moltnet's
|
|
29
|
+
* causalRunIDEnv lookup) only ever reads what is already in the process
|
|
30
|
+
* env, so a run id absent from the host env would otherwise leave moltnet
|
|
31
|
+
* causal events with no run_id to stamp (see specs/CAUSAL.md).
|
|
32
|
+
*
|
|
33
|
+
* Callers: only the `run`/`up` execution entrypoints (`runProject.ts`,
|
|
34
|
+
* `upProject.ts`) and their equivalents in opt-in E2E harnesses that build
|
|
35
|
+
* a container directly (e.g. `src/e2e/officeSim.ts`) — never
|
|
36
|
+
* `compileProject.ts`/`buildProject.ts` themselves, which must stay
|
|
37
|
+
* deterministic functions of their inputs. Called once per run/up
|
|
38
|
+
* invocation, before the compile step, so every authority container
|
|
39
|
+
* compiled during that invocation is stamped with the same real id.
|
|
40
|
+
*/
|
|
41
|
+
export const ensureNoopolisRunId = (env = process.env) => {
|
|
42
|
+
const existing = resolveNoopolisRunId(env);
|
|
43
|
+
if (existing) {
|
|
44
|
+
return existing;
|
|
45
|
+
}
|
|
46
|
+
const generated = `run-${randomUUID().replaceAll("-", "")}`;
|
|
47
|
+
env[NOOPOLIS_RUN_ID_ENV] = generated;
|
|
48
|
+
return generated;
|
|
49
|
+
};
|
|
8
50
|
export const createCapability = (key, outcome, message = "") => ({
|
|
9
51
|
key,
|
|
10
52
|
message,
|
|
@@ -35,6 +77,19 @@ export const createAgentCapabilities = (node, options = {}) => {
|
|
|
35
77
|
for (const server of node.mcpServers) {
|
|
36
78
|
capabilities.push(createCapability(`mcp.${server.name}`, options.mcpOutcome ?? "supported"));
|
|
37
79
|
}
|
|
80
|
+
const memoryAccess = node.memoryAccess ?? [];
|
|
81
|
+
if (memoryAccess.length > 0) {
|
|
82
|
+
const uniqueBanks = new Map(memoryAccess.map((access) => [
|
|
83
|
+
`${access.source}:${access.bank.id}`,
|
|
84
|
+
access.bank
|
|
85
|
+
]));
|
|
86
|
+
const outcome = options.memoryOutcome ?? "supported";
|
|
87
|
+
const message = options.memoryMessage ?? "Memory access is available to this runtime";
|
|
88
|
+
capabilities.push(createCapability("memory", outcome, message));
|
|
89
|
+
for (const bank of [...uniqueBanks.values()].sort((left, right) => left.id.localeCompare(right.id))) {
|
|
90
|
+
capabilities.push(createCapability(`memory.${bank.id}`, outcome, message));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
38
93
|
if (node.execution?.model) {
|
|
39
94
|
capabilities.push(createCapability("execution.model", "supported"));
|
|
40
95
|
}
|
|
@@ -48,7 +103,7 @@ export const createAgentCapabilities = (node, options = {}) => {
|
|
|
48
103
|
capabilities.push(createCapability("surfaces.discord", "supported"));
|
|
49
104
|
}
|
|
50
105
|
if (node.surfaces?.moltnet) {
|
|
51
|
-
capabilities.push(createCapability("surfaces.moltnet", "supported"));
|
|
106
|
+
capabilities.push(createCapability("surfaces.moltnet", options.moltnetOutcome ?? "supported", options.moltnetMessage));
|
|
52
107
|
}
|
|
53
108
|
if (node.surfaces?.telegram) {
|
|
54
109
|
capabilities.push(createCapability("surfaces.telegram", "supported"));
|
|
@@ -1,8 +1,36 @@
|
|
|
1
|
+
import { type RuntimeContainerPackageOverrides } from "./containerPackageOverrides.js";
|
|
1
2
|
export declare const RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs";
|
|
2
3
|
export interface RuntimeInstallRecipe {
|
|
4
|
+
baseImage?: string;
|
|
3
5
|
commands: string[];
|
|
4
6
|
copyCommands: string[];
|
|
7
|
+
/**
|
|
8
|
+
* Container environment variables this recipe's container must be
|
|
9
|
+
* started with. Always includes NOOPOLIS_RUN_ID (see
|
|
10
|
+
* src/runtime/common.ts) when a run id is available, so every authority
|
|
11
|
+
* container stamps causal events with the same run_id — never a value
|
|
12
|
+
* read from model output.
|
|
13
|
+
*/
|
|
14
|
+
env: Record<string, string>;
|
|
5
15
|
runtimeName: string;
|
|
6
16
|
runtimeRoot: string;
|
|
7
17
|
}
|
|
8
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Builds the shared container env assembly injected into every generated
|
|
20
|
+
* runtime install recipe. Currently just NOOPOLIS_RUN_ID, sourced from the
|
|
21
|
+
* host/compile process environment; omitted entirely when unset rather
|
|
22
|
+
* than stamping an empty value.
|
|
23
|
+
*/
|
|
24
|
+
export declare const createRuntimeContainerEnv: (env?: NodeJS.ProcessEnv) => Record<string, string>;
|
|
25
|
+
export interface RuntimeInstallRecipeOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Compile-time-only local overrides for this runtime's install npm
|
|
28
|
+
* packages (see src/runtime/containerPackageOverrides.ts and
|
|
29
|
+
* src/compiler/containerPackageOverrides.ts). Never set during a
|
|
30
|
+
* standard compile; only opt-in local/E2E harnesses populate this, and
|
|
31
|
+
* only for the exact package names they override — every other package
|
|
32
|
+
* in the recipe keeps its pinned registry `name@version` spec.
|
|
33
|
+
*/
|
|
34
|
+
packageOverrides?: RuntimeContainerPackageOverrides;
|
|
35
|
+
}
|
|
36
|
+
export declare const createRuntimeInstallRecipe: (runtimeName: string, options?: RuntimeInstallRecipeOptions) => Promise<RuntimeInstallRecipe>;
|
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
import { SpawnfileError } from "../shared/index.js";
|
|
2
|
+
import { NOOPOLIS_RUN_ID_ENV, resolveNoopolisRunId } from "./common.js";
|
|
3
|
+
import { createVendorCopyCommand, needsVendorCopyCommand, resolveInstallPackageSpec } from "./containerPackageOverrides.js";
|
|
2
4
|
import { resolveRuntimeInstallSelection } from "./install.js";
|
|
3
5
|
export const RUNTIME_INSTALL_ROOT = "/opt/spawnfile/runtime-installs";
|
|
6
|
+
const PI_RUNTIME_BASE_IMAGE_ENV = "SPAWNFILE_PI_RUNTIME_BASE_IMAGE";
|
|
7
|
+
const DAIMON_RUNTIME_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_IMAGE";
|
|
8
|
+
const DAIMON_RUNTIME_BASE_IMAGE_ENV = "SPAWNFILE_DAIMON_RUNTIME_BASE_IMAGE";
|
|
9
|
+
const OPENCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_OPENCLAW_RUNTIME_IMAGE";
|
|
10
|
+
const PICOCLAW_RUNTIME_IMAGE_ENV = "SPAWNFILE_PICOCLAW_RUNTIME_IMAGE";
|
|
11
|
+
const DAIMON_PACKAGE_NAME = "@noopolis/daimon";
|
|
12
|
+
const DAIMON_PACKAGE_VERSION = "0.1.2";
|
|
13
|
+
const MNEME_PACKAGE_NAME = "@noopolis/mneme";
|
|
14
|
+
const MNEME_PACKAGE_VERSION = "0.1.1";
|
|
15
|
+
const PI_AI_PACKAGE_NAME = "@earendil-works/pi-ai";
|
|
16
|
+
const PI_CODING_AGENT_PACKAGE_NAME = "@earendil-works/pi-coding-agent";
|
|
17
|
+
const PI_PACKAGE_VERSION = "0.79.10";
|
|
18
|
+
/**
|
|
19
|
+
* Builds the shared container env assembly injected into every generated
|
|
20
|
+
* runtime install recipe. Currently just NOOPOLIS_RUN_ID, sourced from the
|
|
21
|
+
* host/compile process environment; omitted entirely when unset rather
|
|
22
|
+
* than stamping an empty value.
|
|
23
|
+
*/
|
|
24
|
+
export const createRuntimeContainerEnv = (env = process.env) => {
|
|
25
|
+
const runId = resolveNoopolisRunId(env);
|
|
26
|
+
return runId ? { [NOOPOLIS_RUN_ID_ENV]: runId } : {};
|
|
27
|
+
};
|
|
4
28
|
const assertArtifactInstallSelection = (runtimeName, selection) => {
|
|
5
29
|
if (selection.kind !== "source_repo") {
|
|
6
30
|
return;
|
|
@@ -11,35 +35,127 @@ const createPicoClawArchiveInstallCommands = (runtimeRoot, selection) => [
|
|
|
11
35
|
`mkdir -p ${runtimeRoot}/bin`,
|
|
12
36
|
`arch="$(dpkg --print-architecture)" && case "$arch" in amd64) asset=${JSON.stringify(selection.versionedAssets.linux_amd64)} ;; arm64) asset=${JSON.stringify(selection.versionedAssets.linux_arm64)} ;; *) echo "Unsupported PicoClaw release architecture: $arch" >&2; exit 1 ;; esac && url="https://github.com/${selection.repository}/releases/download/${selection.tag}/$asset" && curl -fsSL -o /tmp/picoclaw.tar.gz "$url" && rm -rf /tmp/picoclaw-extract && mkdir -p /tmp/picoclaw-extract && tar -xzf /tmp/picoclaw.tar.gz -C /tmp/picoclaw-extract && binary_path="$(find /tmp/picoclaw-extract -type f -name ${JSON.stringify(selection.binaryName)} | head -n 1)" && [ -n "$binary_path" ] && install -m 0755 "$binary_path" ${runtimeRoot}/bin/${selection.binaryName} && ln -sf ${runtimeRoot}/bin/${selection.binaryName} /usr/local/bin/${selection.binaryName} && rm -rf /tmp/picoclaw.tar.gz /tmp/picoclaw-extract`
|
|
13
37
|
];
|
|
14
|
-
|
|
38
|
+
const createRuntimeImageCopyCommand = (imageRef, runtimeRoot) => `COPY --from=${imageRef} ${runtimeRoot} ${runtimeRoot}`;
|
|
39
|
+
const resolveRuntimeImageRef = (envName, selection) => process.env[envName]?.trim() ||
|
|
40
|
+
(selection.kind === "container_image"
|
|
41
|
+
? `${selection.image}:${selection.tag}`
|
|
42
|
+
: undefined);
|
|
43
|
+
export const createRuntimeInstallRecipe = async (runtimeName, options = {}) => {
|
|
15
44
|
const selection = await resolveRuntimeInstallSelection(runtimeName);
|
|
16
45
|
assertArtifactInstallSelection(runtimeName, selection);
|
|
17
46
|
const installRoot = `${RUNTIME_INSTALL_ROOT}/${runtimeName}`;
|
|
47
|
+
const containerEnv = createRuntimeContainerEnv();
|
|
48
|
+
const packageOverrides = options.packageOverrides;
|
|
18
49
|
switch (runtimeName) {
|
|
19
50
|
case "openclaw": {
|
|
20
|
-
|
|
51
|
+
const openClawRuntimeImage = resolveRuntimeImageRef(OPENCLAW_RUNTIME_IMAGE_ENV, selection);
|
|
52
|
+
if (openClawRuntimeImage) {
|
|
53
|
+
return {
|
|
54
|
+
commands: [],
|
|
55
|
+
copyCommands: [createRuntimeImageCopyCommand(openClawRuntimeImage, installRoot)],
|
|
56
|
+
env: containerEnv,
|
|
57
|
+
runtimeName,
|
|
58
|
+
runtimeRoot: installRoot
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
if (selection.kind !== "npm") {
|
|
21
62
|
throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no compiled artifact recipe for ${selection.kind}`);
|
|
22
63
|
}
|
|
23
64
|
return {
|
|
24
|
-
commands:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
copyCommands:
|
|
28
|
-
|
|
29
|
-
: [],
|
|
65
|
+
commands: [
|
|
66
|
+
`npm install -g --omit=dev --no-fund --no-audit ${selection.packageName}@${selection.version}`
|
|
67
|
+
],
|
|
68
|
+
copyCommands: [],
|
|
69
|
+
env: containerEnv,
|
|
30
70
|
runtimeName,
|
|
31
|
-
runtimeRoot: selection.
|
|
32
|
-
? installRoot
|
|
33
|
-
: `/usr/local/lib/node_modules/${selection.packageName}`
|
|
71
|
+
runtimeRoot: `/usr/local/lib/node_modules/${selection.packageName}`
|
|
34
72
|
};
|
|
35
73
|
}
|
|
36
74
|
case "picoclaw": {
|
|
75
|
+
const picoClawRuntimeImage = resolveRuntimeImageRef(PICOCLAW_RUNTIME_IMAGE_ENV, selection);
|
|
76
|
+
if (picoClawRuntimeImage) {
|
|
77
|
+
return {
|
|
78
|
+
commands: [
|
|
79
|
+
`mkdir -p /usr/local/bin && ln -sf ${installRoot}/bin/picoclaw /usr/local/bin/picoclaw`
|
|
80
|
+
],
|
|
81
|
+
copyCommands: [createRuntimeImageCopyCommand(picoClawRuntimeImage, installRoot)],
|
|
82
|
+
env: containerEnv,
|
|
83
|
+
runtimeName,
|
|
84
|
+
runtimeRoot: installRoot
|
|
85
|
+
};
|
|
86
|
+
}
|
|
37
87
|
if (selection.kind !== "github_release_archive") {
|
|
38
88
|
throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no compiled artifact recipe for ${selection.kind}`);
|
|
39
89
|
}
|
|
40
90
|
return {
|
|
41
91
|
commands: createPicoClawArchiveInstallCommands(installRoot, selection),
|
|
42
92
|
copyCommands: [],
|
|
93
|
+
env: containerEnv,
|
|
94
|
+
runtimeName,
|
|
95
|
+
runtimeRoot: installRoot
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
case "daimon": {
|
|
99
|
+
const daimonRuntimeImage = process.env[DAIMON_RUNTIME_IMAGE_ENV]?.trim() ||
|
|
100
|
+
process.env[DAIMON_RUNTIME_BASE_IMAGE_ENV]?.trim() ||
|
|
101
|
+
(selection.kind === "container_image"
|
|
102
|
+
? `${selection.image}:${selection.tag}`
|
|
103
|
+
: undefined);
|
|
104
|
+
if (daimonRuntimeImage) {
|
|
105
|
+
return {
|
|
106
|
+
commands: [],
|
|
107
|
+
copyCommands: [createRuntimeImageCopyCommand(daimonRuntimeImage, installRoot)],
|
|
108
|
+
env: containerEnv,
|
|
109
|
+
runtimeName,
|
|
110
|
+
runtimeRoot: installRoot
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
if (selection.kind !== "npm") {
|
|
114
|
+
throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no compiled artifact recipe for ${selection.kind}`);
|
|
115
|
+
}
|
|
116
|
+
const npmPackages = [
|
|
117
|
+
resolveInstallPackageSpec(selection.packageName, selection.version, packageOverrides),
|
|
118
|
+
resolveInstallPackageSpec(MNEME_PACKAGE_NAME, MNEME_PACKAGE_VERSION, packageOverrides),
|
|
119
|
+
`${PI_CODING_AGENT_PACKAGE_NAME}@${PI_PACKAGE_VERSION}`,
|
|
120
|
+
`${PI_AI_PACKAGE_NAME}@${PI_PACKAGE_VERSION}`
|
|
121
|
+
];
|
|
122
|
+
return {
|
|
123
|
+
commands: [
|
|
124
|
+
`mkdir -p ${installRoot}`,
|
|
125
|
+
`cd ${installRoot} && npm install --omit=dev --no-fund --no-audit ${npmPackages.join(" ")}`
|
|
126
|
+
],
|
|
127
|
+
copyCommands: needsVendorCopyCommand([selection.packageName, MNEME_PACKAGE_NAME], packageOverrides)
|
|
128
|
+
? [createVendorCopyCommand()]
|
|
129
|
+
: [],
|
|
130
|
+
env: containerEnv,
|
|
131
|
+
runtimeName,
|
|
132
|
+
runtimeRoot: installRoot
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
case "pi": {
|
|
136
|
+
if (selection.kind !== "npm") {
|
|
137
|
+
throw new SpawnfileError("runtime_error", `Runtime ${runtimeName} has no compiled artifact recipe for ${selection.kind}`);
|
|
138
|
+
}
|
|
139
|
+
const prebuiltBaseImage = process.env[PI_RUNTIME_BASE_IMAGE_ENV]?.trim() || undefined;
|
|
140
|
+
const npmPackages = [
|
|
141
|
+
resolveInstallPackageSpec(DAIMON_PACKAGE_NAME, DAIMON_PACKAGE_VERSION, packageOverrides),
|
|
142
|
+
resolveInstallPackageSpec(MNEME_PACKAGE_NAME, MNEME_PACKAGE_VERSION, packageOverrides),
|
|
143
|
+
`${selection.packageName}@${selection.version}`,
|
|
144
|
+
`${PI_AI_PACKAGE_NAME}@${selection.version}`
|
|
145
|
+
];
|
|
146
|
+
return {
|
|
147
|
+
...(prebuiltBaseImage ? { baseImage: prebuiltBaseImage } : {}),
|
|
148
|
+
commands: prebuiltBaseImage
|
|
149
|
+
? [`mkdir -p ${installRoot}`]
|
|
150
|
+
: [
|
|
151
|
+
`mkdir -p ${installRoot}`,
|
|
152
|
+
`cd ${installRoot} && npm install --omit=dev --no-fund --no-audit ${npmPackages.join(" ")}`
|
|
153
|
+
],
|
|
154
|
+
copyCommands: !prebuiltBaseImage &&
|
|
155
|
+
needsVendorCopyCommand([DAIMON_PACKAGE_NAME, MNEME_PACKAGE_NAME], packageOverrides)
|
|
156
|
+
? [createVendorCopyCommand()]
|
|
157
|
+
: [],
|
|
158
|
+
env: containerEnv,
|
|
43
159
|
runtimeName,
|
|
44
160
|
runtimeRoot: installRoot
|
|
45
161
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract for overriding one runtime install npm package (e.g.
|
|
3
|
+
* `@noopolis/daimon`) with a locally packed tarball instead of the pinned
|
|
4
|
+
* registry version, inside a generated container build.
|
|
5
|
+
*
|
|
6
|
+
* This is opt-in and compile-time only: `createRuntimeInstallRecipe`
|
|
7
|
+
* (container.ts) accepts an optional `packageOverrides` map and, for each
|
|
8
|
+
* package name it installs, swaps the registry `name@version` spec for the
|
|
9
|
+
* vendored tarball path only when an override entry exists for that exact
|
|
10
|
+
* package name. With no overrides the generated Dockerfile install line is
|
|
11
|
+
* byte-identical to before this module existed.
|
|
12
|
+
*
|
|
13
|
+
* The actual packing (`npm pack` into the container build context) is
|
|
14
|
+
* compiler-level I/O and lives in
|
|
15
|
+
* src/compiler/containerPackageOverrides.ts, which produces the
|
|
16
|
+
* `RuntimeContainerPackageOverrides` map this module's helpers consume.
|
|
17
|
+
*/
|
|
18
|
+
export declare const VENDOR_BUILD_CONTEXT_DIR = "container/vendor";
|
|
19
|
+
export declare const VENDOR_CONTAINER_DIR = "/opt/spawnfile/vendor";
|
|
20
|
+
export interface RuntimeContainerPackageOverride {
|
|
21
|
+
/** Tarball filename `npm pack` wrote into VENDOR_BUILD_CONTEXT_DIR, e.g.
|
|
22
|
+
* "noopolis-daimon-0.1.2.tgz" — whatever npm itself names it. */
|
|
23
|
+
filename: string;
|
|
24
|
+
}
|
|
25
|
+
/** Keyed by npm package name, e.g. "@noopolis/daimon". */
|
|
26
|
+
export type RuntimeContainerPackageOverrides = Record<string, RuntimeContainerPackageOverride>;
|
|
27
|
+
/** The single Dockerfile COPY line that stages the packed vendor tarballs
|
|
28
|
+
* into the image; emitted at most once per runtime install recipe, only
|
|
29
|
+
* when that recipe actually installs an overridden package. */
|
|
30
|
+
export declare const createVendorCopyCommand: () => string;
|
|
31
|
+
/** Resolves the npm install spec for one runtime install package: the
|
|
32
|
+
* vendored tarball path when overridden, otherwise the unchanged
|
|
33
|
+
* `name@version` registry spec. */
|
|
34
|
+
export declare const resolveInstallPackageSpec: (packageName: string, version: string, overrides?: RuntimeContainerPackageOverrides) => string;
|
|
35
|
+
/** True when at least one of the given package names has an override,
|
|
36
|
+
* i.e. this recipe's Dockerfile needs the vendor COPY line. */
|
|
37
|
+
export declare const needsVendorCopyCommand: (packageNames: string[], overrides?: RuntimeContainerPackageOverrides) => boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contract for overriding one runtime install npm package (e.g.
|
|
3
|
+
* `@noopolis/daimon`) with a locally packed tarball instead of the pinned
|
|
4
|
+
* registry version, inside a generated container build.
|
|
5
|
+
*
|
|
6
|
+
* This is opt-in and compile-time only: `createRuntimeInstallRecipe`
|
|
7
|
+
* (container.ts) accepts an optional `packageOverrides` map and, for each
|
|
8
|
+
* package name it installs, swaps the registry `name@version` spec for the
|
|
9
|
+
* vendored tarball path only when an override entry exists for that exact
|
|
10
|
+
* package name. With no overrides the generated Dockerfile install line is
|
|
11
|
+
* byte-identical to before this module existed.
|
|
12
|
+
*
|
|
13
|
+
* The actual packing (`npm pack` into the container build context) is
|
|
14
|
+
* compiler-level I/O and lives in
|
|
15
|
+
* src/compiler/containerPackageOverrides.ts, which produces the
|
|
16
|
+
* `RuntimeContainerPackageOverrides` map this module's helpers consume.
|
|
17
|
+
*/
|
|
18
|
+
export const VENDOR_BUILD_CONTEXT_DIR = "container/vendor";
|
|
19
|
+
export const VENDOR_CONTAINER_DIR = "/opt/spawnfile/vendor";
|
|
20
|
+
/** The single Dockerfile COPY line that stages the packed vendor tarballs
|
|
21
|
+
* into the image; emitted at most once per runtime install recipe, only
|
|
22
|
+
* when that recipe actually installs an overridden package. */
|
|
23
|
+
export const createVendorCopyCommand = () => `COPY ${VENDOR_BUILD_CONTEXT_DIR}/ ${VENDOR_CONTAINER_DIR}/`;
|
|
24
|
+
/** Resolves the npm install spec for one runtime install package: the
|
|
25
|
+
* vendored tarball path when overridden, otherwise the unchanged
|
|
26
|
+
* `name@version` registry spec. */
|
|
27
|
+
export const resolveInstallPackageSpec = (packageName, version, overrides) => {
|
|
28
|
+
const override = overrides?.[packageName];
|
|
29
|
+
return override ? `${VENDOR_CONTAINER_DIR}/${override.filename}` : `${packageName}@${version}`;
|
|
30
|
+
};
|
|
31
|
+
/** True when at least one of the given package names has an override,
|
|
32
|
+
* i.e. this recipe's Dockerfile needs the vendor COPY line. */
|
|
33
|
+
export const needsVendorCopyCommand = (packageNames, overrides) => Boolean(overrides) && packageNames.some((name) => Boolean(overrides?.[name]));
|
package/dist/runtime/index.d.ts
CHANGED
package/dist/runtime/index.js
CHANGED