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
|
@@ -68,24 +68,17 @@ export const createDeploymentSummaries = (records, inspections = new Map()) => r
|
|
|
68
68
|
}));
|
|
69
69
|
export const createDeploymentObservations = (deployments, options) => {
|
|
70
70
|
const observations = [];
|
|
71
|
-
if (deployments.length === 0 && options.liveRequested
|
|
71
|
+
if (deployments.length === 0 && options.liveRequested) {
|
|
72
72
|
observations.push(createObservation({
|
|
73
|
-
key: "deployment.record",
|
|
74
|
-
message:
|
|
73
|
+
key: options.recover ? "deployment.recover" : "deployment.record",
|
|
74
|
+
message: options.recover
|
|
75
|
+
? `No recoverable deployment labels found for ${options.outputDirectory}`
|
|
76
|
+
: `No deployment records found under ${options.outputDirectory}`,
|
|
75
77
|
severity: "warn",
|
|
76
78
|
source: "deployment",
|
|
77
79
|
subject: "deployment"
|
|
78
80
|
}));
|
|
79
81
|
}
|
|
80
|
-
if (options.recover) {
|
|
81
|
-
observations.push(createObservation({
|
|
82
|
-
key: "deployment.recover",
|
|
83
|
-
message: "Label recovery is not implemented yet; use record-backed status for live checks",
|
|
84
|
-
severity: "unknown",
|
|
85
|
-
source: "deployment",
|
|
86
|
-
subject: "deployment"
|
|
87
|
-
}));
|
|
88
|
-
}
|
|
89
82
|
for (const deployment of deployments) {
|
|
90
83
|
observations.push(createObservation({
|
|
91
84
|
key: "deployment.record",
|
|
@@ -6,8 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export const distributionReportToStatusReport = (report, reportPath) => ({
|
|
8
8
|
compileFingerprint: report.compile_fingerprint,
|
|
9
|
+
// A distribution/image report has no on-disk compiled output tree to read
|
|
10
|
+
// an entrypoint script or Moltnet node config from (see B38's
|
|
11
|
+
// lifecycle/wiring probes) — falls back to unknown/not-checked, same
|
|
12
|
+
// shape as moltnetServers below.
|
|
13
|
+
entrypointPath: null,
|
|
9
14
|
generatedAt: report.generated_at,
|
|
10
15
|
internalPorts: report.internal_ports,
|
|
16
|
+
moltnetNodePlans: [],
|
|
11
17
|
moltnetServers: [],
|
|
12
18
|
nodes: [
|
|
13
19
|
...report.organization.agents.map((agent) => ({
|
package/dist/status/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export * from "./buildStatus.js";
|
|
2
2
|
export * from "./compiledContainerObservations.js";
|
|
3
3
|
export * from "./compileReport.js";
|
|
4
|
+
export * from "./compiledProbeCollection.js";
|
|
4
5
|
export * from "./deploymentLogs.js";
|
|
5
6
|
export * from "./deployments.js";
|
|
7
|
+
export * from "./lifecycleProbes.js";
|
|
6
8
|
export * from "./moltnetProbes.js";
|
|
9
|
+
export * from "./moltnetWiringProbes.js";
|
|
7
10
|
export * from "./renderStatus.js";
|
|
8
11
|
export * from "./runtimeProbes.js";
|
|
9
12
|
export * from "./selectionSubjects.js";
|
package/dist/status/index.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
export * from "./buildStatus.js";
|
|
2
2
|
export * from "./compiledContainerObservations.js";
|
|
3
3
|
export * from "./compileReport.js";
|
|
4
|
+
export * from "./compiledProbeCollection.js";
|
|
4
5
|
export * from "./deploymentLogs.js";
|
|
5
6
|
export * from "./deployments.js";
|
|
7
|
+
export * from "./lifecycleProbes.js";
|
|
6
8
|
export * from "./moltnetProbes.js";
|
|
9
|
+
export * from "./moltnetWiringProbes.js";
|
|
7
10
|
export * from "./renderStatus.js";
|
|
8
11
|
export * from "./runtimeProbes.js";
|
|
9
12
|
export * from "./selectionSubjects.js";
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LoadedCompileReport } from "./compileReport.js";
|
|
2
|
+
import type { StatusObservation } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Offline agent-lifecycle cross-check probes (B38). Every function here is
|
|
5
|
+
* pure over the already-loaded compile report plus an injected `readFile`
|
|
6
|
+
* — no direct `node:fs` access, so both the static (`--out <dir>` present)
|
|
7
|
+
* and home-deployment (no on-disk compiled output) `spawnfile status`
|
|
8
|
+
* paths can drive it with different readers. Cardinal rule, same as
|
|
9
|
+
* `src/audit/`: absent input is `unknown`, never `ok` — a probe with
|
|
10
|
+
* nothing to check reports `unknown`, it does not go silent.
|
|
11
|
+
*/
|
|
12
|
+
export type LifecycleReadFile = (filePath: string) => Promise<string | null>;
|
|
13
|
+
export interface CollectLifecycleProbeOptions {
|
|
14
|
+
loadedReport: LoadedCompileReport;
|
|
15
|
+
/** Compiled output directory to resolve on-disk paths against. `null` when there is no compiled output tree to read (home-deployment status). */
|
|
16
|
+
outputDirectory: string | null;
|
|
17
|
+
readFile: LifecycleReadFile;
|
|
18
|
+
}
|
|
19
|
+
export declare const collectLifecycleProbeObservations: (options: CollectLifecycleProbeOptions) => Promise<StatusObservation[]>;
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { getRuntimeAdapter, RUNTIME_INSTALL_ROOT } from "../runtime/index.js";
|
|
3
|
+
const CONTAINER_ROOTFS_ROOT = "container/rootfs";
|
|
4
|
+
// B62 Option B (src/runtime/pi/appControlSource.ts): the operator-only
|
|
5
|
+
// mutating wake route and its fail-closed gate env/marker.
|
|
6
|
+
const PI_OPERATOR_ROUTE_MARKER = "/spawnfile/agents/";
|
|
7
|
+
const PI_CONTROL_TOKEN_ENV = "SPAWNFILE_PI_CONTROL_TOKEN";
|
|
8
|
+
const PI_FAIL_CLOSED_MARKER = "no operator token configured (";
|
|
9
|
+
// B93: the recipe env assignment containerEntrypointRender.ts stamps into
|
|
10
|
+
// the compiled entrypoint only when the compile-host process env carried a
|
|
11
|
+
// run id (see src/runtime/common.ts's resolveNoopolisRunId).
|
|
12
|
+
const NOOPOLIS_RUN_ID_MARKER = "NOOPOLIS_RUN_ID=";
|
|
13
|
+
// Both adapter names lower to the same generated Pi runtime app
|
|
14
|
+
// (src/runtime/pi/adapter.ts); the daimon adapter is a `{...piAdapter, name: "daimon"}` spread.
|
|
15
|
+
const PI_LIKE_RUNTIMES = new Set(["daimon", "pi"]);
|
|
16
|
+
const LIFECYCLE_KEYS = [
|
|
17
|
+
"lifecycle.instance.coverage",
|
|
18
|
+
"lifecycle.instance.runtime",
|
|
19
|
+
"lifecycle.instance.paths",
|
|
20
|
+
"lifecycle.wake.operator",
|
|
21
|
+
"lifecycle.run_id"
|
|
22
|
+
];
|
|
23
|
+
const createObservation = (input) => ({
|
|
24
|
+
...input,
|
|
25
|
+
label: `${input.severity.toUpperCase()} ${input.key}`,
|
|
26
|
+
source: "compile_report"
|
|
27
|
+
});
|
|
28
|
+
const instanceSubject = (instanceId) => `runtime-instance:${instanceId}`;
|
|
29
|
+
/** No compile report at all: every key is reported once, unknown, never omitted and never ok. */
|
|
30
|
+
const missingReportObservations = () => LIFECYCLE_KEYS.map((key) => createObservation({
|
|
31
|
+
key,
|
|
32
|
+
message: `${key} was not checked: no compile report is available`,
|
|
33
|
+
severity: "unknown",
|
|
34
|
+
subject: "compile"
|
|
35
|
+
}));
|
|
36
|
+
const collectInstanceCoverageObservations = (nodes, instances) => {
|
|
37
|
+
const coveredNodeIds = new Set(instances.flatMap((instance) => instance.nodeIds));
|
|
38
|
+
return nodes
|
|
39
|
+
.filter((node) => node.kind === "agent")
|
|
40
|
+
.map((node) => {
|
|
41
|
+
const covered = coveredNodeIds.has(node.id);
|
|
42
|
+
return createObservation({
|
|
43
|
+
key: "lifecycle.instance.coverage",
|
|
44
|
+
message: covered
|
|
45
|
+
? `${node.id} is covered by a compiled runtime instance's node_ids`
|
|
46
|
+
: `${node.id} does not appear in any compiled runtime instance's node_ids`,
|
|
47
|
+
severity: covered ? "ok" : "error",
|
|
48
|
+
subject: node.id
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
const collectInstanceRuntimeObservations = (instances) => instances.map((instance) => {
|
|
53
|
+
try {
|
|
54
|
+
getRuntimeAdapter(instance.runtime);
|
|
55
|
+
return createObservation({
|
|
56
|
+
key: "lifecycle.instance.runtime",
|
|
57
|
+
message: `${instance.id} resolves to the ${instance.runtime} runtime adapter`,
|
|
58
|
+
severity: "ok",
|
|
59
|
+
subject: instanceSubject(instance.id)
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return createObservation({
|
|
64
|
+
key: "lifecycle.instance.runtime",
|
|
65
|
+
message: error instanceof Error ? error.message : String(error),
|
|
66
|
+
severity: "error",
|
|
67
|
+
subject: instanceSubject(instance.id)
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
const collectInstancePathsObservations = (instances) => instances.map((instance) => {
|
|
72
|
+
const subject = instanceSubject(instance.id);
|
|
73
|
+
if (!instance.configPath) {
|
|
74
|
+
return createObservation({
|
|
75
|
+
key: "lifecycle.instance.paths",
|
|
76
|
+
message: `${instance.id} is missing a configPath`,
|
|
77
|
+
severity: "error",
|
|
78
|
+
subject
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const missing = [
|
|
82
|
+
!instance.homePath ? "homePath" : null,
|
|
83
|
+
!instance.workspacePath ? "workspacePath" : null
|
|
84
|
+
].filter((entry) => entry !== null);
|
|
85
|
+
if (missing.length > 0) {
|
|
86
|
+
return createObservation({
|
|
87
|
+
key: "lifecycle.instance.paths",
|
|
88
|
+
message: `${instance.id} is missing ${missing.join(" and ")}`,
|
|
89
|
+
severity: "warn",
|
|
90
|
+
subject
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return createObservation({
|
|
94
|
+
key: "lifecycle.instance.paths",
|
|
95
|
+
message: `${instance.id} has configPath, homePath, and workspacePath`,
|
|
96
|
+
severity: "ok",
|
|
97
|
+
subject
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
const piAppSourcePath = (outputDirectory, runtimeName) => path.join(outputDirectory, CONTAINER_ROOTFS_ROOT, RUNTIME_INSTALL_ROOT, runtimeName, "app.mjs");
|
|
101
|
+
const collectWakeOperatorObservations = async (instances, outputDirectory, readFile) => {
|
|
102
|
+
const observations = [];
|
|
103
|
+
for (const instance of instances) {
|
|
104
|
+
const subject = instanceSubject(instance.id);
|
|
105
|
+
if (!PI_LIKE_RUNTIMES.has(instance.runtime)) {
|
|
106
|
+
observations.push(createObservation({
|
|
107
|
+
key: "lifecycle.wake.operator",
|
|
108
|
+
message: `${instance.id} uses runtime ${instance.runtime}; the B62 operator wake route is Pi/Daimon-specific and was not checked`,
|
|
109
|
+
severity: "unknown",
|
|
110
|
+
subject
|
|
111
|
+
}));
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (!outputDirectory) {
|
|
115
|
+
observations.push(createObservation({
|
|
116
|
+
key: "lifecycle.wake.operator",
|
|
117
|
+
message: `${instance.id} has no compiled output directory to read the generated runtime app from`,
|
|
118
|
+
severity: "unknown",
|
|
119
|
+
subject
|
|
120
|
+
}));
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
const filePath = piAppSourcePath(outputDirectory, instance.runtime);
|
|
124
|
+
const content = await readFile(filePath);
|
|
125
|
+
if (content === null) {
|
|
126
|
+
observations.push(createObservation({
|
|
127
|
+
key: "lifecycle.wake.operator",
|
|
128
|
+
message: `${instance.id} generated runtime app is not readable at ${filePath}`,
|
|
129
|
+
severity: "error",
|
|
130
|
+
subject
|
|
131
|
+
}));
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
const missing = [
|
|
135
|
+
!content.includes(PI_OPERATOR_ROUTE_MARKER) ? "operator wake route" : null,
|
|
136
|
+
!content.includes(PI_CONTROL_TOKEN_ENV) ? `${PI_CONTROL_TOKEN_ENV} reference` : null,
|
|
137
|
+
!content.includes(PI_FAIL_CLOSED_MARKER) ? "fail-closed gate" : null
|
|
138
|
+
].filter((entry) => entry !== null);
|
|
139
|
+
observations.push(createObservation({
|
|
140
|
+
key: "lifecycle.wake.operator",
|
|
141
|
+
message: missing.length === 0
|
|
142
|
+
? `${instance.id} generated runtime app exposes the B62 fail-closed operator wake route`
|
|
143
|
+
: `${instance.id} generated runtime app at ${filePath} is missing: ${missing.join(", ")}`,
|
|
144
|
+
severity: missing.length === 0 ? "ok" : "error",
|
|
145
|
+
subject
|
|
146
|
+
}));
|
|
147
|
+
}
|
|
148
|
+
return observations;
|
|
149
|
+
};
|
|
150
|
+
const collectRunIdObservation = async (entrypointPath, readFile) => {
|
|
151
|
+
const content = entrypointPath ? await readFile(entrypointPath) : null;
|
|
152
|
+
const hasRunId = content !== null && content.includes(NOOPOLIS_RUN_ID_MARKER);
|
|
153
|
+
return createObservation({
|
|
154
|
+
key: "lifecycle.run_id",
|
|
155
|
+
message: hasRunId
|
|
156
|
+
? "compiled entrypoint stamps NOOPOLIS_RUN_ID for this run"
|
|
157
|
+
: "not compiled with a run id",
|
|
158
|
+
severity: hasRunId ? "ok" : "unknown",
|
|
159
|
+
subject: "compile"
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
export const collectLifecycleProbeObservations = async (options) => {
|
|
163
|
+
if (options.loadedReport.kind !== "loaded") {
|
|
164
|
+
return missingReportObservations();
|
|
165
|
+
}
|
|
166
|
+
const { report } = options.loadedReport;
|
|
167
|
+
return [
|
|
168
|
+
...collectInstanceCoverageObservations(report.nodes, report.runtimeInstances),
|
|
169
|
+
...collectInstanceRuntimeObservations(report.runtimeInstances),
|
|
170
|
+
...collectInstancePathsObservations(report.runtimeInstances),
|
|
171
|
+
...await collectWakeOperatorObservations(report.runtimeInstances, options.outputDirectory, options.readFile),
|
|
172
|
+
await collectRunIdObservation(report.entrypointPath ?? null, options.readFile)
|
|
173
|
+
];
|
|
174
|
+
};
|
|
@@ -2,20 +2,19 @@ import type { DeploymentRecord, DockerInspectionResult, DockerProbeExecFile } fr
|
|
|
2
2
|
import type { LoadedCompileReport } from "./compileReport.js";
|
|
3
3
|
import type { StatusObservation } from "./types.js";
|
|
4
4
|
export type StatusNetworkInspections = Map<string, DockerInspectionResult>;
|
|
5
|
+
export interface MoltnetHealthResponse {
|
|
6
|
+
error?: string;
|
|
7
|
+
ok: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type MoltnetHealthFetch = (url: string, timeoutMs: number) => Promise<MoltnetHealthResponse>;
|
|
5
10
|
export interface CollectMoltnetProbeOptions {
|
|
11
|
+
/** Compatibility-only until the out-of-scope CLI stops resolving status auth. */
|
|
6
12
|
authValues?: Record<string, string>;
|
|
7
13
|
deployments: DeploymentRecord[];
|
|
8
14
|
execFile?: DockerProbeExecFile;
|
|
9
|
-
|
|
15
|
+
fetchHealth?: MoltnetHealthFetch;
|
|
10
16
|
inspections: StatusNetworkInspections;
|
|
11
17
|
loadedReport: LoadedCompileReport;
|
|
12
18
|
timeoutMs?: number;
|
|
13
19
|
}
|
|
14
|
-
export type MoltnetFetchJson = (url: string, headers: Record<string, string>, timeoutMs: number) => Promise<MoltnetProbeResponse>;
|
|
15
|
-
interface MoltnetProbeResponse {
|
|
16
|
-
error?: string;
|
|
17
|
-
json: unknown;
|
|
18
|
-
ok: boolean;
|
|
19
|
-
}
|
|
20
20
|
export declare const collectMoltnetProbeObservations: (options: CollectMoltnetProbeOptions) => Promise<StatusObservation[]>;
|
|
21
|
-
export {};
|
|
@@ -4,77 +4,22 @@ const createObservation = (input) => ({
|
|
|
4
4
|
label: `${input.severity.toUpperCase()} ${input.key}`,
|
|
5
5
|
source: "network"
|
|
6
6
|
});
|
|
7
|
-
const
|
|
8
|
-
const toString = (value) => typeof value === "string" ? value : null;
|
|
9
|
-
const toStringArray = (value) => Array.isArray(value)
|
|
10
|
-
? value.filter((entry) => typeof entry === "string")
|
|
11
|
-
: [];
|
|
12
|
-
const parseRooms = (value) => {
|
|
13
|
-
const entries = isRecord(value) && Array.isArray(value.rooms) ? value.rooms : [];
|
|
14
|
-
return entries.flatMap((entry) => {
|
|
15
|
-
if (!isRecord(entry))
|
|
16
|
-
return [];
|
|
17
|
-
const id = toString(entry.id);
|
|
18
|
-
return id ? [{ id, members: toStringArray(entry.members) }] : [];
|
|
19
|
-
});
|
|
20
|
-
};
|
|
21
|
-
const parseAgents = (value) => {
|
|
22
|
-
const entries = isRecord(value) && Array.isArray(value.agents) ? value.agents : [];
|
|
23
|
-
return entries.flatMap((entry) => {
|
|
24
|
-
if (!isRecord(entry))
|
|
25
|
-
return [];
|
|
26
|
-
const id = toString(entry.id);
|
|
27
|
-
return id
|
|
28
|
-
? [{ connected: entry.connected === true, id, rooms: toStringArray(entry.rooms) }]
|
|
29
|
-
: [];
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
const parseNetwork = (value) => ({
|
|
33
|
-
directMessages: isRecord(value) && isRecord(value.capabilities) && typeof value.capabilities.direct_messages === "boolean"
|
|
34
|
-
? value.capabilities.direct_messages
|
|
35
|
-
: null,
|
|
36
|
-
networkId: isRecord(value) ? toString(value.id) : null
|
|
37
|
-
});
|
|
38
|
-
const defaultFetchJson = async (url, headers, timeoutMs) => {
|
|
7
|
+
const defaultFetchHealth = async (url, timeoutMs) => {
|
|
39
8
|
const controller = new AbortController();
|
|
40
9
|
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
41
10
|
try {
|
|
42
|
-
const response = await fetch(url, {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return { json: await response.json(), ok: true };
|
|
11
|
+
const response = await fetch(url, { signal: controller.signal });
|
|
12
|
+
return response.ok
|
|
13
|
+
? { ok: true }
|
|
14
|
+
: { error: `HTTP ${response.status}`, ok: false };
|
|
47
15
|
}
|
|
48
16
|
catch (error) {
|
|
49
|
-
return { error: error instanceof Error ? error.message : String(error),
|
|
17
|
+
return { error: error instanceof Error ? error.message : String(error), ok: false };
|
|
50
18
|
}
|
|
51
19
|
finally {
|
|
52
20
|
clearTimeout(timer);
|
|
53
21
|
}
|
|
54
22
|
};
|
|
55
|
-
const authHeadersFor = (server, authValues = {}) => {
|
|
56
|
-
if (!server.operatorTokenSecret) {
|
|
57
|
-
return {};
|
|
58
|
-
}
|
|
59
|
-
const token = authValues[server.operatorTokenSecret] ?? process.env[server.operatorTokenSecret];
|
|
60
|
-
return token ? { Authorization: `Bearer ${token}` } : null;
|
|
61
|
-
};
|
|
62
|
-
const readManagedJson = async (gateway, server, path, headers) => {
|
|
63
|
-
if (!server.port) {
|
|
64
|
-
return { error: "managed Moltnet server has no internal port", json: null, ok: false };
|
|
65
|
-
}
|
|
66
|
-
const response = await gateway.httpGet(server.port, path, headers);
|
|
67
|
-
if (!response.ok) {
|
|
68
|
-
return { error: response.error, json: null, ok: false };
|
|
69
|
-
}
|
|
70
|
-
try {
|
|
71
|
-
return { json: JSON.parse(response.body), ok: true };
|
|
72
|
-
}
|
|
73
|
-
catch (error) {
|
|
74
|
-
return { error: error instanceof Error ? error.message : String(error), json: null, ok: false };
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const readExternalJson = async (fetchJson, server, path, headers, timeoutMs) => fetchJson(`${server.baseUrl.replace(/\/$/u, "")}${path}`, headers, timeoutMs);
|
|
78
23
|
const createManagedGateway = (deployments, inspections, options) => {
|
|
79
24
|
for (const deployment of deployments) {
|
|
80
25
|
const inspectionMap = inspections.get(deployment.name);
|
|
@@ -92,149 +37,33 @@ const createManagedGateway = (deployments, inspections, options) => {
|
|
|
92
37
|
}
|
|
93
38
|
return null;
|
|
94
39
|
};
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
40
|
+
const healthForServer = async (server, options) => {
|
|
41
|
+
if (server.mode === "managed") {
|
|
42
|
+
const gateway = createManagedGateway(options.deployments, options.inspections, options);
|
|
43
|
+
if (!gateway)
|
|
44
|
+
return { error: "no running deployment unit hosts the managed Moltnet server", ok: false };
|
|
45
|
+
if (!server.port)
|
|
46
|
+
return { error: "managed Moltnet server has no internal port", ok: false };
|
|
47
|
+
const response = await gateway.httpGet(server.port, "/healthz");
|
|
48
|
+
return response.ok ? { ok: true } : { error: response.error, ok: false };
|
|
102
49
|
}
|
|
103
|
-
|
|
104
|
-
? readManagedJson(gateway, server, path, headers)
|
|
105
|
-
: readExternalJson(options.fetchJson ?? defaultFetchJson, server, path, headers, timeoutMs);
|
|
106
|
-
const health = await readJson("/healthz");
|
|
107
|
-
if (!health.ok)
|
|
108
|
-
return health;
|
|
109
|
-
const network = await readJson("/v1/network");
|
|
110
|
-
if (!network.ok)
|
|
111
|
-
return network;
|
|
112
|
-
const rooms = await readJson("/v1/rooms");
|
|
113
|
-
if (!rooms.ok)
|
|
114
|
-
return rooms;
|
|
115
|
-
const agents = await readJson("/v1/agents");
|
|
116
|
-
if (!agents.ok)
|
|
117
|
-
return agents;
|
|
118
|
-
const parsedNetwork = parseNetwork(network.json);
|
|
119
|
-
return {
|
|
120
|
-
json: null,
|
|
121
|
-
ok: true,
|
|
122
|
-
snapshot: {
|
|
123
|
-
agents: parseAgents(agents.json),
|
|
124
|
-
directMessages: parsedNetwork.directMessages,
|
|
125
|
-
networkId: parsedNetwork.networkId,
|
|
126
|
-
rooms: parseRooms(rooms.json)
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
};
|
|
130
|
-
const compareSnapshot = (server, snapshot) => {
|
|
131
|
-
const observations = [];
|
|
132
|
-
observations.push(createObservation({
|
|
133
|
-
key: "network.reachable",
|
|
134
|
-
message: `${server.networkId} Moltnet server is reachable`,
|
|
135
|
-
severity: "ok",
|
|
136
|
-
subject: `network:${server.networkId}`
|
|
137
|
-
}));
|
|
138
|
-
if (snapshot.networkId && snapshot.networkId !== server.networkId) {
|
|
139
|
-
observations.push(createObservation({
|
|
140
|
-
key: "network.id",
|
|
141
|
-
message: `expected network ${server.networkId}, live network is ${snapshot.networkId}`,
|
|
142
|
-
severity: "error",
|
|
143
|
-
subject: `network:${server.networkId}`
|
|
144
|
-
}));
|
|
145
|
-
}
|
|
146
|
-
const liveRooms = new Map(snapshot.rooms.map((room) => [room.id, room]));
|
|
147
|
-
const liveAgents = new Map(snapshot.agents.map((agent) => [agent.id, agent]));
|
|
148
|
-
for (const room of server.rooms) {
|
|
149
|
-
const liveRoom = liveRooms.get(room.id);
|
|
150
|
-
if (!liveRoom) {
|
|
151
|
-
observations.push(createObservation({
|
|
152
|
-
key: "network.room",
|
|
153
|
-
message: `${server.networkId}/${room.id} is missing from live Moltnet`,
|
|
154
|
-
severity: "error",
|
|
155
|
-
subject: `room:${server.networkId}:${room.id}`
|
|
156
|
-
}));
|
|
157
|
-
continue;
|
|
158
|
-
}
|
|
159
|
-
observations.push(createObservation({
|
|
160
|
-
key: "network.room",
|
|
161
|
-
message: `${server.networkId}/${room.id} exists with ${liveRoom.members.length} member(s)`,
|
|
162
|
-
severity: "ok",
|
|
163
|
-
subject: `room:${server.networkId}:${room.id}`
|
|
164
|
-
}));
|
|
165
|
-
for (const member of room.members) {
|
|
166
|
-
const liveAgent = liveAgents.get(member);
|
|
167
|
-
if (!liveAgent) {
|
|
168
|
-
observations.push(createObservation({
|
|
169
|
-
key: "network.member",
|
|
170
|
-
message: `${member} is expected in ${room.id} but is not registered`,
|
|
171
|
-
severity: "warn",
|
|
172
|
-
subject: `agent:${member}`
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
else if (!liveAgent.rooms.includes(room.id)) {
|
|
176
|
-
observations.push(createObservation({
|
|
177
|
-
key: "network.member",
|
|
178
|
-
message: `${member} is registered but not attached to ${room.id}`,
|
|
179
|
-
severity: "warn",
|
|
180
|
-
subject: `agent:${member}`
|
|
181
|
-
}));
|
|
182
|
-
}
|
|
183
|
-
else if (!liveAgent.connected) {
|
|
184
|
-
observations.push(createObservation({
|
|
185
|
-
key: "network.agent.connected",
|
|
186
|
-
message: `${member} is attached to ${room.id} but disconnected`,
|
|
187
|
-
severity: "warn",
|
|
188
|
-
subject: `agent:${member}`
|
|
189
|
-
}));
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
observations.push(createObservation({
|
|
193
|
-
key: "network.agent.connected",
|
|
194
|
-
message: `${member} is connected to ${room.id}`,
|
|
195
|
-
severity: "ok",
|
|
196
|
-
subject: `agent:${member}`
|
|
197
|
-
}));
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
if (snapshot.directMessages !== null && server.directMessages !== null && snapshot.directMessages !== server.directMessages) {
|
|
202
|
-
observations.push(createObservation({
|
|
203
|
-
key: "network.direct_messages",
|
|
204
|
-
message: `direct messages expected ${server.directMessages}, live value is ${snapshot.directMessages}`,
|
|
205
|
-
severity: "warn",
|
|
206
|
-
subject: `network:${server.networkId}`
|
|
207
|
-
}));
|
|
208
|
-
}
|
|
209
|
-
return observations;
|
|
50
|
+
return (options.fetchHealth ?? defaultFetchHealth)(`${server.baseUrl.replace(/\/$/u, "")}/healthz`, options.timeoutMs ?? 10_000);
|
|
210
51
|
};
|
|
211
52
|
export const collectMoltnetProbeObservations = async (options) => {
|
|
212
|
-
if (options.loadedReport.kind !== "loaded")
|
|
53
|
+
if (options.loadedReport.kind !== "loaded")
|
|
213
54
|
return [];
|
|
214
|
-
|
|
55
|
+
// authValues is intentionally unread and unused; status is health-only.
|
|
215
56
|
const observations = [];
|
|
216
57
|
for (const server of options.loadedReport.report.moltnetServers ?? []) {
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
}
|
|
227
|
-
const response = await readSnapshot(server, options, headers);
|
|
228
|
-
if (!response.ok || !response.snapshot) {
|
|
229
|
-
observations.push(createObservation({
|
|
230
|
-
key: "network.reachable",
|
|
231
|
-
message: `${server.networkId} Moltnet metadata probe failed: ${response.error ?? "unknown failure"}`,
|
|
232
|
-
severity: "unknown",
|
|
233
|
-
subject: `network:${server.networkId}`
|
|
234
|
-
}));
|
|
235
|
-
continue;
|
|
236
|
-
}
|
|
237
|
-
observations.push(...compareSnapshot(server, response.snapshot));
|
|
58
|
+
const response = await healthForServer(server, options);
|
|
59
|
+
observations.push(createObservation({
|
|
60
|
+
key: "network.reachable",
|
|
61
|
+
message: response.ok
|
|
62
|
+
? `${server.networkId} public health endpoint responded`
|
|
63
|
+
: `${server.networkId} public health endpoint unavailable: ${response.error ?? "unknown failure"}`,
|
|
64
|
+
severity: response.ok ? "ok" : "unknown",
|
|
65
|
+
subject: `network:${server.networkId}`
|
|
66
|
+
}));
|
|
238
67
|
}
|
|
239
68
|
return observations;
|
|
240
69
|
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LoadedCompileReport } from "./compileReport.js";
|
|
2
|
+
import type { StatusObservation } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Offline Moltnet-wiring cross-check probes (B38). A pure reader over the
|
|
5
|
+
* already-loaded compile report plus an injected `readFile` (same
|
|
6
|
+
* injected-read style as its sibling `src/status/lifecycleProbes.ts`) so
|
|
7
|
+
* this stays hermetic for both `status --out <dir>` (real filesystem) and the
|
|
8
|
+
* home-deployment path (no compiled output tree; readFile always resolves
|
|
9
|
+
* `null`). Same cardinal rule as `src/status/lifecycleProbes.ts` and
|
|
10
|
+
* `src/audit/`: absent input is `unknown`, never `ok`.
|
|
11
|
+
*/
|
|
12
|
+
export type MoltnetWiringReadFile = (filePath: string) => Promise<string | null>;
|
|
13
|
+
export interface CollectMoltnetWiringProbeOptions {
|
|
14
|
+
loadedReport: LoadedCompileReport;
|
|
15
|
+
/** Compiled output directory to resolve node config files under `container/rootfs`. `null` when there is no compiled output tree (home-deployment status). */
|
|
16
|
+
outputDirectory: string | null;
|
|
17
|
+
readFile: MoltnetWiringReadFile;
|
|
18
|
+
}
|
|
19
|
+
export declare const collectMoltnetWiringProbeObservations: (options: CollectMoltnetWiringProbeOptions) => Promise<StatusObservation[]>;
|