spawnfile 0.1.13 → 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.
Files changed (598) hide show
  1. package/README.md +50 -11
  2. package/dist/audit/auditCli.d.ts +19 -0
  3. package/dist/audit/auditCli.js +63 -0
  4. package/dist/audit/checks.d.ts +100 -0
  5. package/dist/audit/checks.js +279 -0
  6. package/dist/audit/checksShared.d.ts +74 -0
  7. package/dist/audit/checksShared.js +37 -0
  8. package/dist/audit/generateAudit.d.ts +19 -0
  9. package/dist/audit/generateAudit.js +122 -0
  10. package/dist/audit/index.d.ts +4 -0
  11. package/dist/audit/index.js +4 -0
  12. package/dist/audit/readAudit.d.ts +50 -0
  13. package/dist/audit/readAudit.js +59 -0
  14. package/dist/audit/types.d.ts +40 -0
  15. package/dist/audit/types.js +8 -0
  16. package/dist/auth/credentialEnvFile.d.ts +11 -0
  17. package/dist/auth/credentialEnvFile.js +60 -0
  18. package/dist/auth/credentialProvisioning.d.ts +15 -0
  19. package/dist/auth/credentialProvisioning.js +75 -0
  20. package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
  21. package/dist/auth/credentialProvisioningReceipt.js +70 -0
  22. package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
  23. package/dist/auth/credentialProvisioningRequest.js +169 -0
  24. package/dist/auth/credentialWorldBindings.d.ts +21 -0
  25. package/dist/auth/credentialWorldBindings.js +104 -0
  26. package/dist/auth/index.d.ts +7 -0
  27. package/dist/auth/index.js +7 -0
  28. package/dist/auth/paths.d.ts +11 -0
  29. package/dist/auth/paths.js +21 -0
  30. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  31. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  32. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  33. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  34. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  36. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  37. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  38. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  39. package/dist/auth/targetSecretSourceGrant.js +99 -0
  40. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  42. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  43. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  44. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  46. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  48. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  50. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  51. package/dist/auth/targetSecretSourceResolver.js +137 -0
  52. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  53. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  54. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  55. package/dist/auth/targetSecretSourceRotate.js +121 -0
  56. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  58. package/dist/cli/artifactsCommands.d.ts +27 -0
  59. package/dist/cli/artifactsCommands.js +132 -0
  60. package/dist/cli/authCommands.d.ts +5 -0
  61. package/dist/cli/authCommands.js +221 -0
  62. package/dist/cli/compileBuildCommands.d.ts +3 -0
  63. package/dist/cli/compileBuildCommands.js +35 -0
  64. package/dist/cli/containerBundleCommand.d.ts +6 -0
  65. package/dist/cli/containerBundleCommand.js +116 -0
  66. package/dist/cli/downCommand.d.ts +25 -0
  67. package/dist/cli/downCommand.js +134 -0
  68. package/dist/cli/index.js +6 -3
  69. package/dist/cli/lifecycleCommands.d.ts +1 -1
  70. package/dist/cli/lifecycleCommands.js +11 -181
  71. package/dist/cli/lifecycleMachine.d.ts +19 -0
  72. package/dist/cli/lifecycleMachine.js +78 -0
  73. package/dist/cli/lifecyclePlan.d.ts +35 -0
  74. package/dist/cli/lifecyclePlan.js +240 -0
  75. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  76. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  77. package/dist/cli/runCli.d.ts +9 -2
  78. package/dist/cli/runCli.js +27 -71
  79. package/dist/cli/runPublishCommands.d.ts +3 -0
  80. package/dist/cli/runPublishCommands.js +70 -0
  81. package/dist/cli/statusCommand.d.ts +3 -33
  82. package/dist/cli/statusCommand.js +19 -249
  83. package/dist/cli/statusCommandLive.d.ts +20 -0
  84. package/dist/cli/statusCommandLive.js +188 -0
  85. package/dist/cli/statusCommandOptions.d.ts +40 -0
  86. package/dist/cli/statusCommandOptions.js +42 -0
  87. package/dist/cli/targetCliRoute.d.ts +2 -0
  88. package/dist/cli/targetCliRoute.js +30 -0
  89. package/dist/cli/targetCommands.d.ts +33 -0
  90. package/dist/cli/targetCommands.js +257 -0
  91. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  92. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  93. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  94. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  95. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  96. package/dist/cli/targetDefaultAuthorities.js +210 -0
  97. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  98. package/dist/cli/targetDefaultConfig.js +317 -0
  99. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  100. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  101. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  102. package/dist/cli/targetDefaultEnvelope.js +13 -0
  103. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  104. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  105. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  106. package/dist/cli/targetDefaultHandlers.js +72 -0
  107. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  108. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  109. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  110. package/dist/cli/targetDefaultWorldClock.js +14 -0
  111. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  112. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  113. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  114. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  115. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  116. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  117. package/dist/cli/targetLookupCli.d.ts +3 -0
  118. package/dist/cli/targetLookupCli.js +31 -0
  119. package/dist/cli/targetLookupCommands.d.ts +12 -0
  120. package/dist/cli/targetLookupCommands.js +69 -0
  121. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  122. package/dist/cli/targetOperationDispatch.js +21 -0
  123. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  124. package/dist/cli/targetReceiptOutput.js +21 -0
  125. package/dist/cli/targetRequestFile.d.ts +14 -0
  126. package/dist/cli/targetRequestFile.js +63 -0
  127. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  128. package/dist/cli/targetSecretSourceInput.js +121 -0
  129. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  130. package/dist/cli/targetWorldClockCommand.js +42 -0
  131. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  132. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  133. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  134. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  135. package/dist/cli/upCommand.d.ts +3 -0
  136. package/dist/cli/upCommand.js +133 -0
  137. package/dist/cli/upImageCommand.d.ts +11 -0
  138. package/dist/cli/upImageCommand.js +41 -0
  139. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  140. package/dist/cli/upLifecycleInvocation.js +48 -0
  141. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  142. package/dist/cli/upLifecycleRecovery.js +53 -0
  143. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  144. package/dist/compiler/agentNodeMerge.js +79 -0
  145. package/dist/compiler/agentSurfaces.js +11 -1
  146. package/dist/compiler/buildCompilePlan.js +17 -0
  147. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  148. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  149. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  150. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  151. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  152. package/dist/compiler/buildProject.d.ts +11 -0
  153. package/dist/compiler/buildProject.js +77 -2
  154. package/dist/compiler/compilePlanHelpers.js +2 -0
  155. package/dist/compiler/compileProject.d.ts +13 -0
  156. package/dist/compiler/compileProject.js +26 -74
  157. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  158. package/dist/compiler/compileProjectPolicy.js +21 -0
  159. package/dist/compiler/compileProjectReports.d.ts +9 -0
  160. package/dist/compiler/compileProjectReports.js +52 -0
  161. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  162. package/dist/compiler/containerArtifactSummaries.js +138 -0
  163. package/dist/compiler/containerArtifacts.d.ts +10 -0
  164. package/dist/compiler/containerArtifacts.js +126 -125
  165. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  166. package/dist/compiler/containerArtifactsPlans.js +31 -118
  167. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  168. package/dist/compiler/containerArtifactsRender.js +15 -12
  169. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  170. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  171. package/dist/compiler/containerConfigEnvRender.js +54 -0
  172. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  173. package/dist/compiler/containerEntrypointRender.js +56 -52
  174. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  175. package/dist/compiler/containerEntrypointShell.js +29 -0
  176. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  177. package/dist/compiler/containerPackageOverrides.js +63 -0
  178. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  179. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  180. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  181. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  182. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  183. package/dist/compiler/dockerBuildContext.js +159 -0
  184. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  185. package/dist/compiler/dockerBuildSkip.js +81 -0
  186. package/dist/compiler/index.d.ts +4 -0
  187. package/dist/compiler/index.js +4 -0
  188. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  189. package/dist/compiler/memoryArtifacts.js +134 -0
  190. package/dist/compiler/memoryResolution.d.ts +4 -0
  191. package/dist/compiler/memoryResolution.js +147 -0
  192. package/dist/compiler/modelEnv.d.ts +2 -0
  193. package/dist/compiler/modelEnv.js +6 -0
  194. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  195. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  196. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  197. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  198. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  199. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  200. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  201. package/dist/compiler/moltnetArtifacts.js +43 -97
  202. package/dist/compiler/moltnetBinaries.d.ts +21 -4
  203. package/dist/compiler/moltnetBinaries.js +134 -27
  204. package/dist/compiler/moltnetClientConfig.js +7 -2
  205. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  206. package/dist/compiler/moltnetConfigLowering.js +67 -5
  207. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  208. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  209. package/dist/compiler/moltnetNodeConfig.js +7 -2
  210. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  211. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  212. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  213. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  214. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  215. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  216. package/dist/compiler/moltnetResolution.js +72 -20
  217. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  218. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  219. package/dist/compiler/moltnetServerPlans.js +132 -0
  220. package/dist/compiler/organizationIdentity.d.ts +27 -0
  221. package/dist/compiler/organizationIdentity.js +297 -0
  222. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  223. package/dist/compiler/organizationReadyEvidence.js +261 -0
  224. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  225. package/dist/compiler/projectManifestGraph.js +24 -0
  226. package/dist/compiler/runProject.d.ts +4 -0
  227. package/dist/compiler/runProject.js +30 -21
  228. package/dist/compiler/runProjectAuth.d.ts +7 -1
  229. package/dist/compiler/runProjectAuth.js +87 -9
  230. package/dist/compiler/runProjectDocker.d.ts +7 -0
  231. package/dist/compiler/runProjectDocker.js +31 -8
  232. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  233. package/dist/compiler/runProjectLifecycle.js +40 -0
  234. package/dist/compiler/syncProjectAuth.js +4 -1
  235. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  236. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  237. package/dist/compiler/teamContextSupport.js +32 -40
  238. package/dist/compiler/teamContextTypes.d.ts +2 -0
  239. package/dist/compiler/types.d.ts +82 -1
  240. package/dist/compiler/upProject.d.ts +5 -0
  241. package/dist/compiler/upProject.js +256 -20
  242. package/dist/compiler/upReceipt.d.ts +36 -0
  243. package/dist/compiler/upReceipt.js +82 -0
  244. package/dist/compiler/updateProjectModels.js +42 -60
  245. package/dist/compiler/updateProjectRuntime.js +22 -35
  246. package/dist/compiler/updateProjectSurfaces.js +53 -47
  247. package/dist/compiler/worldBindings.d.ts +39 -0
  248. package/dist/compiler/worldBindings.js +247 -0
  249. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  250. package/dist/compiler/worldBindingsFile.js +162 -0
  251. package/dist/deployment/artifactsExport.d.ts +49 -0
  252. package/dist/deployment/artifactsExport.js +217 -0
  253. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  254. package/dist/deployment/artifactsExportDocker.js +91 -0
  255. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  256. package/dist/deployment/artifactsExportPlan.js +135 -0
  257. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  258. package/dist/deployment/artifactsExportTypes.js +52 -0
  259. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  260. package/dist/deployment/buildImageCacheStore.js +54 -0
  261. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  262. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  263. package/dist/deployment/dockerInspect.d.ts +9 -0
  264. package/dist/deployment/dockerInspect.js +24 -1
  265. package/dist/deployment/dockerLabels.d.ts +2 -0
  266. package/dist/deployment/dockerLabels.js +2 -0
  267. package/dist/deployment/dockerLogs.js +2 -10
  268. package/dist/deployment/dockerManager.d.ts +51 -0
  269. package/dist/deployment/dockerManager.js +118 -1
  270. package/dist/deployment/dockerProbeGateway.js +64 -5
  271. package/dist/deployment/dockerRecover.js +9 -1
  272. package/dist/deployment/dockerTeardown.d.ts +32 -0
  273. package/dist/deployment/dockerTeardown.js +61 -0
  274. package/dist/deployment/downDeployment.d.ts +34 -0
  275. package/dist/deployment/downDeployment.js +147 -0
  276. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  277. package/dist/deployment/downReceiptTypes.js +30 -0
  278. package/dist/deployment/index.d.ts +16 -0
  279. package/dist/deployment/index.js +17 -0
  280. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  281. package/dist/deployment/lifecycleCompletion.js +236 -0
  282. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  283. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  284. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  285. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  286. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  287. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  288. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  289. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  290. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  291. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  292. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  293. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  294. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  295. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  296. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  297. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  298. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  299. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  300. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  301. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  302. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  303. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  304. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  305. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  306. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  307. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  308. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  309. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  310. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  311. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  312. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  313. package/dist/deployment/organizationHandoffTypes.js +80 -0
  314. package/dist/deployment/organizationReady.d.ts +52 -0
  315. package/dist/deployment/organizationReady.js +200 -0
  316. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  317. package/dist/deployment/privateArtifactsExport.js +80 -0
  318. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  319. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  320. package/dist/deployment/record.d.ts +26 -1
  321. package/dist/deployment/record.js +49 -4
  322. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  323. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  324. package/dist/deployment/target.d.ts +1 -35
  325. package/dist/deployment/target.js +1 -96
  326. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  327. package/dist/deployment/upReceiptTypes.js +164 -0
  328. package/dist/dev/project.js +15 -9
  329. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  330. package/dist/distribution/buildDistributionReport.js +2 -1
  331. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  332. package/dist/distribution/distributionReportSchema.js +7 -2
  333. package/dist/distribution/index.d.ts +2 -2
  334. package/dist/distribution/index.js +1 -1
  335. package/dist/distribution/types.d.ts +7 -0
  336. package/dist/distribution/types.js +1 -0
  337. package/dist/filesystem/paths.js +10 -1
  338. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  339. package/dist/ledger/causalConformanceCli.js +41 -0
  340. package/dist/ledger/causeNamespace.d.ts +8 -0
  341. package/dist/ledger/causeNamespace.js +24 -0
  342. package/dist/ledger/conformance.d.ts +83 -0
  343. package/dist/ledger/conformance.js +259 -0
  344. package/dist/ledger/emitters.d.ts +76 -0
  345. package/dist/ledger/emitters.js +188 -0
  346. package/dist/ledger/index.d.ts +4 -0
  347. package/dist/ledger/index.js +4 -0
  348. package/dist/ledger/principal.d.ts +96 -0
  349. package/dist/ledger/principal.js +121 -0
  350. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  351. package/dist/manifest/externalParticipantSchemas.js +17 -0
  352. package/dist/manifest/index.d.ts +1 -0
  353. package/dist/manifest/index.js +1 -0
  354. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  355. package/dist/manifest/inlineAgentMember.js +9 -0
  356. package/dist/manifest/loadManifest.js +14 -8
  357. package/dist/manifest/mcpSchemas.d.ts +17 -0
  358. package/dist/manifest/mcpSchemas.js +41 -0
  359. package/dist/manifest/memorySchemas.d.ts +245 -0
  360. package/dist/manifest/memorySchemas.js +148 -0
  361. package/dist/manifest/renderSpawnfile.js +22 -131
  362. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  363. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  364. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  365. package/dist/manifest/schemas.d.ts +1868 -99
  366. package/dist/manifest/schemas.js +78 -32
  367. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  368. package/dist/manifest/surfaceSchemas.js +24 -1
  369. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  370. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  371. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  372. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  373. package/dist/manifest/teamNetworkSchemas.js +3 -317
  374. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  375. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  376. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  377. package/dist/ownership/siblingBuildFreshness.js +20 -0
  378. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  379. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  380. package/dist/report/types.d.ts +142 -0
  381. package/dist/runtime/common.d.ts +35 -0
  382. package/dist/runtime/common.js +55 -0
  383. package/dist/runtime/container.d.ts +28 -1
  384. package/dist/runtime/container.js +38 -5
  385. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  386. package/dist/runtime/containerPackageOverrides.js +33 -0
  387. package/dist/runtime/index.d.ts +2 -0
  388. package/dist/runtime/index.js +2 -0
  389. package/dist/runtime/mnemeMcp.d.ts +15 -0
  390. package/dist/runtime/mnemeMcp.js +109 -0
  391. package/dist/runtime/openclaw/adapter.js +15 -4
  392. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  393. package/dist/runtime/openclaw/mcp.js +69 -0
  394. package/dist/runtime/openclaw/runAuth.js +2 -2
  395. package/dist/runtime/openclaw/scaffold.js +1 -1
  396. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  397. package/dist/runtime/openclaw/schedules.js +74 -0
  398. package/dist/runtime/pi/adapter.d.ts +1 -1
  399. package/dist/runtime/pi/adapter.js +86 -53
  400. package/dist/runtime/pi/appActivitySource.js +114 -2
  401. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  402. package/dist/runtime/pi/appAgentConfig.js +264 -0
  403. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  404. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  405. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  406. package/dist/runtime/pi/appCliSource.js +353 -0
  407. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  408. package/dist/runtime/pi/appControlSource.js +390 -0
  409. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  410. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  411. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  412. package/dist/runtime/pi/appCoreSource.js +104 -214
  413. package/dist/runtime/pi/appPreludeSource.js +140 -52
  414. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  415. package/dist/runtime/pi/appScheduleSource.js +80 -0
  416. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  417. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  418. package/dist/runtime/pi/appSource.d.ts +4 -1
  419. package/dist/runtime/pi/appSource.js +6 -2
  420. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  421. package/dist/runtime/pi/appTemplate.js +9 -126
  422. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  423. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  424. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  425. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  426. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  427. package/dist/runtime/pi/containerTargets.js +57 -0
  428. package/dist/runtime/pi/runAuth.js +126 -9
  429. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  430. package/dist/runtime/pi/testHelpers.js +40 -0
  431. package/dist/runtime/picoclaw/adapter.js +23 -27
  432. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  433. package/dist/runtime/picoclaw/mcp.js +43 -0
  434. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  435. package/dist/runtime/picoclaw/memory.js +17 -0
  436. package/dist/runtime/picoclaw/runAuth.js +1 -1
  437. package/dist/runtime/picoclaw/scaffold.js +1 -1
  438. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  439. package/dist/runtime/picoclaw/schedules.js +62 -3
  440. package/dist/runtime/scheduleUtils.d.ts +2 -0
  441. package/dist/runtime/scheduleUtils.js +15 -0
  442. package/dist/runtime/types.d.ts +25 -2
  443. package/dist/shared/errors.d.ts +1 -1
  444. package/dist/shared/errors.js +2 -2
  445. package/dist/shared/index.d.ts +1 -0
  446. package/dist/shared/index.js +1 -0
  447. package/dist/shared/redaction.d.ts +2 -0
  448. package/dist/shared/redaction.js +10 -0
  449. package/dist/status/buildStatus.d.ts +1 -0
  450. package/dist/status/buildStatus.js +2 -0
  451. package/dist/status/compileReport.d.ts +22 -0
  452. package/dist/status/compileReport.js +16 -2
  453. package/dist/status/compiledProbeCollection.d.ts +21 -0
  454. package/dist/status/compiledProbeCollection.js +27 -0
  455. package/dist/status/imageStatusReport.js +6 -0
  456. package/dist/status/index.d.ts +3 -0
  457. package/dist/status/index.js +3 -0
  458. package/dist/status/lifecycleProbes.d.ts +19 -0
  459. package/dist/status/lifecycleProbes.js +174 -0
  460. package/dist/status/moltnetProbes.d.ts +7 -8
  461. package/dist/status/moltnetProbes.js +27 -198
  462. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  463. package/dist/status/moltnetWiringProbes.js +178 -0
  464. package/dist/target/cleanupRun.d.ts +41 -0
  465. package/dist/target/cleanupRun.js +139 -0
  466. package/dist/target/cleanupRunDocker.d.ts +16 -0
  467. package/dist/target/cleanupRunDocker.js +66 -0
  468. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  469. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  470. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  471. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  472. package/dist/target/composedPreparation.d.ts +205 -0
  473. package/dist/target/composedPreparation.js +223 -0
  474. package/dist/target/containerBundle.d.ts +82 -0
  475. package/dist/target/containerBundle.js +243 -0
  476. package/dist/target/containerBundleArchive.d.ts +31 -0
  477. package/dist/target/containerBundleArchive.js +140 -0
  478. package/dist/target/containerBundleAuthority.d.ts +25 -0
  479. package/dist/target/containerBundleAuthority.js +65 -0
  480. package/dist/target/containerBundleContracts.d.ts +114 -0
  481. package/dist/target/containerBundleContracts.js +173 -0
  482. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  483. package/dist/target/containerBundleFilesystemStore.js +247 -0
  484. package/dist/target/containerBundlePolicy.d.ts +33 -0
  485. package/dist/target/containerBundlePolicy.js +64 -0
  486. package/dist/target/containerBundleStore.d.ts +127 -0
  487. package/dist/target/containerBundleStore.js +284 -0
  488. package/dist/target/contracts.d.ts +538 -0
  489. package/dist/target/contracts.js +373 -0
  490. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  491. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  492. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  493. package/dist/target/dockerArtifactInspection.js +125 -0
  494. package/dist/target/dockerArtifacts.d.ts +21 -0
  495. package/dist/target/dockerArtifacts.js +110 -0
  496. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  497. package/dist/target/dockerArtifactsProvider.js +449 -0
  498. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  499. package/dist/target/dockerCommandExecutor.js +200 -0
  500. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  501. package/dist/target/dockerCommandExecutorCore.js +273 -0
  502. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  503. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  504. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  505. package/dist/target/dockerContextSnapshot.js +158 -0
  506. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  507. package/dist/target/dockerEndpointFingerprint.js +9 -0
  508. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  509. package/dist/target/dockerPreparedArtifact.js +131 -0
  510. package/dist/target/dockerProjectionJson.d.ts +1 -0
  511. package/dist/target/dockerProjectionJson.js +80 -0
  512. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  513. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  514. package/dist/target/dockerResources.d.ts +26 -0
  515. package/dist/target/dockerResources.js +162 -0
  516. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  517. package/dist/target/dockerResourcesProvider.js +207 -0
  518. package/dist/target/dockerSecrets.d.ts +39 -0
  519. package/dist/target/dockerSecrets.js +249 -0
  520. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  521. package/dist/target/dockerSecretsAuthority.js +216 -0
  522. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  523. package/dist/target/dockerSecretsLifecycle.js +133 -0
  524. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  525. package/dist/target/dockerSecretsProvider.js +329 -0
  526. package/dist/target/dockerTarget.d.ts +52 -0
  527. package/dist/target/dockerTarget.js +48 -0
  528. package/dist/target/dockerTargetBinding.d.ts +14 -0
  529. package/dist/target/dockerTargetBinding.js +96 -0
  530. package/dist/target/dockerWorldClock.d.ts +17 -0
  531. package/dist/target/dockerWorldClock.js +111 -0
  532. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  533. package/dist/target/dockerWorldReadiness.js +119 -0
  534. package/dist/target/dockerWorldService.d.ts +23 -0
  535. package/dist/target/dockerWorldService.js +216 -0
  536. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  537. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  538. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  539. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  540. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  541. package/dist/target/dockerWorldServiceProvider.js +318 -0
  542. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  543. package/dist/target/dockerWorldServiceStore.js +367 -0
  544. package/dist/target/evidenceExport.d.ts +55 -0
  545. package/dist/target/evidenceExport.js +518 -0
  546. package/dist/target/evidenceExportArchive.d.ts +10 -0
  547. package/dist/target/evidenceExportArchive.js +302 -0
  548. package/dist/target/evidenceExportContract.d.ts +27 -0
  549. package/dist/target/evidenceExportContract.js +40 -0
  550. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  551. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  552. package/dist/target/evidenceExportProvider.d.ts +85 -0
  553. package/dist/target/evidenceExportProvider.js +187 -0
  554. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  555. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  556. package/dist/target/evidenceExportStore.d.ts +70 -0
  557. package/dist/target/evidenceExportStore.js +498 -0
  558. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  559. package/dist/target/evidenceExportStorePublication.js +395 -0
  560. package/dist/target/handles.d.ts +20 -0
  561. package/dist/target/handles.js +56 -0
  562. package/dist/target/index.d.ts +12 -0
  563. package/dist/target/index.js +11 -0
  564. package/dist/target/journal.d.ts +59 -0
  565. package/dist/target/journal.js +529 -0
  566. package/dist/target/journalFilesystem.d.ts +3 -0
  567. package/dist/target/journalFilesystem.js +111 -0
  568. package/dist/target/journalRoot.d.ts +4 -0
  569. package/dist/target/journalRoot.js +6 -0
  570. package/dist/target/organizationAttachment.d.ts +23 -0
  571. package/dist/target/organizationAttachment.js +263 -0
  572. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  573. package/dist/target/organizationAttachmentAuthority.js +161 -0
  574. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  575. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  576. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  577. package/dist/target/organizationAttachmentProvider.js +289 -0
  578. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  579. package/dist/target/organizationAttachmentStore.js +316 -0
  580. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  581. package/dist/target/publicArtifactSnapshot.js +150 -0
  582. package/dist/target/topologyActivation.d.ts +51 -0
  583. package/dist/target/topologyActivation.js +149 -0
  584. package/dist/target/topologyAttestation.d.ts +37 -0
  585. package/dist/target/topologyAttestation.js +300 -0
  586. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  587. package/dist/target/topologyAttestationErrors.js +1 -0
  588. package/dist/target/worldClock.d.ts +60 -0
  589. package/dist/target/worldClock.js +129 -0
  590. package/dist/target/worldReadiness.d.ts +103 -0
  591. package/dist/target/worldReadiness.js +153 -0
  592. package/moltnet-releases.json +20 -0
  593. package/package.json +27 -11
  594. package/runtimes.yaml +8 -23
  595. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  596. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  597. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  598. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -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
- fetchJson?: MoltnetFetchJson;
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 isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
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, { headers, signal: controller.signal });
43
- if (!response.ok) {
44
- return { error: `HTTP ${response.status}`, json: null, ok: false };
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), json: null, ok: false };
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 readSnapshot = async (server, options, headers) => {
96
- const timeoutMs = options.timeoutMs ?? 10_000;
97
- const gateway = server.mode === "managed"
98
- ? createManagedGateway(options.deployments, options.inspections, options)
99
- : null;
100
- if (server.mode === "managed" && !gateway) {
101
- return { error: "no running deployment unit hosts the managed Moltnet server", json: null, ok: false };
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
- const readJson = (path) => gateway
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 headers = authHeadersFor(server, options.authValues);
218
- if (headers === null) {
219
- observations.push(createObservation({
220
- key: "network.auth",
221
- message: `${server.networkId} requires operator token ${server.operatorTokenSecret}, but no value is available`,
222
- severity: "unknown",
223
- subject: `network:${server.networkId}`
224
- }));
225
- continue;
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[]>;