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.
Files changed (620) hide show
  1. package/README.md +58 -12
  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/runtimeCredentials.js +18 -2
  31. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  32. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  33. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  34. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  36. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  37. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  38. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  39. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  40. package/dist/auth/targetSecretSourceGrant.js +99 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  42. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  43. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  44. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  46. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  48. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  50. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  51. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  52. package/dist/auth/targetSecretSourceResolver.js +137 -0
  53. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  54. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  55. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  56. package/dist/auth/targetSecretSourceRotate.js +121 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  58. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  59. package/dist/cli/artifactsCommands.d.ts +27 -0
  60. package/dist/cli/artifactsCommands.js +132 -0
  61. package/dist/cli/authCommands.d.ts +5 -0
  62. package/dist/cli/authCommands.js +221 -0
  63. package/dist/cli/compileBuildCommands.d.ts +3 -0
  64. package/dist/cli/compileBuildCommands.js +35 -0
  65. package/dist/cli/containerBundleCommand.d.ts +6 -0
  66. package/dist/cli/containerBundleCommand.js +116 -0
  67. package/dist/cli/devCommands.d.ts +3 -0
  68. package/dist/cli/devCommands.js +115 -0
  69. package/dist/cli/downCommand.d.ts +25 -0
  70. package/dist/cli/downCommand.js +134 -0
  71. package/dist/cli/index.js +6 -3
  72. package/dist/cli/lifecycleCommands.d.ts +1 -1
  73. package/dist/cli/lifecycleCommands.js +11 -179
  74. package/dist/cli/lifecycleMachine.d.ts +19 -0
  75. package/dist/cli/lifecycleMachine.js +78 -0
  76. package/dist/cli/lifecyclePlan.d.ts +35 -0
  77. package/dist/cli/lifecyclePlan.js +240 -0
  78. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  79. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  80. package/dist/cli/runCli.d.ts +15 -2
  81. package/dist/cli/runCli.js +31 -71
  82. package/dist/cli/runPublishCommands.d.ts +3 -0
  83. package/dist/cli/runPublishCommands.js +70 -0
  84. package/dist/cli/statusCommand.d.ts +3 -32
  85. package/dist/cli/statusCommand.js +37 -233
  86. package/dist/cli/statusCommandLive.d.ts +20 -0
  87. package/dist/cli/statusCommandLive.js +188 -0
  88. package/dist/cli/statusCommandOptions.d.ts +40 -0
  89. package/dist/cli/statusCommandOptions.js +42 -0
  90. package/dist/cli/targetCliRoute.d.ts +2 -0
  91. package/dist/cli/targetCliRoute.js +30 -0
  92. package/dist/cli/targetCommands.d.ts +33 -0
  93. package/dist/cli/targetCommands.js +257 -0
  94. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  95. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  96. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  97. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  98. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  99. package/dist/cli/targetDefaultAuthorities.js +210 -0
  100. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  101. package/dist/cli/targetDefaultConfig.js +317 -0
  102. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  103. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  104. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  105. package/dist/cli/targetDefaultEnvelope.js +13 -0
  106. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  107. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  108. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  109. package/dist/cli/targetDefaultHandlers.js +72 -0
  110. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  111. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  112. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  113. package/dist/cli/targetDefaultWorldClock.js +14 -0
  114. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  115. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  116. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  117. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  118. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  119. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  120. package/dist/cli/targetLookupCli.d.ts +3 -0
  121. package/dist/cli/targetLookupCli.js +31 -0
  122. package/dist/cli/targetLookupCommands.d.ts +12 -0
  123. package/dist/cli/targetLookupCommands.js +69 -0
  124. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  125. package/dist/cli/targetOperationDispatch.js +21 -0
  126. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  127. package/dist/cli/targetReceiptOutput.js +21 -0
  128. package/dist/cli/targetRequestFile.d.ts +14 -0
  129. package/dist/cli/targetRequestFile.js +63 -0
  130. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  131. package/dist/cli/targetSecretSourceInput.js +121 -0
  132. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  133. package/dist/cli/targetWorldClockCommand.js +42 -0
  134. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  135. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  136. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  137. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  138. package/dist/cli/upCommand.d.ts +3 -0
  139. package/dist/cli/upCommand.js +133 -0
  140. package/dist/cli/upImageCommand.d.ts +11 -0
  141. package/dist/cli/upImageCommand.js +41 -0
  142. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  143. package/dist/cli/upLifecycleInvocation.js +48 -0
  144. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  145. package/dist/cli/upLifecycleRecovery.js +53 -0
  146. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  147. package/dist/compiler/agentNodeMerge.js +79 -0
  148. package/dist/compiler/agentSurfaces.js +11 -1
  149. package/dist/compiler/buildCompilePlan.js +17 -0
  150. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  151. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  152. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  153. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  154. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  155. package/dist/compiler/buildProject.d.ts +20 -1
  156. package/dist/compiler/buildProject.js +121 -7
  157. package/dist/compiler/compilePlanHelpers.js +2 -0
  158. package/dist/compiler/compileProject.d.ts +15 -0
  159. package/dist/compiler/compileProject.js +29 -75
  160. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  161. package/dist/compiler/compileProjectPolicy.js +21 -0
  162. package/dist/compiler/compileProjectReports.d.ts +9 -0
  163. package/dist/compiler/compileProjectReports.js +52 -0
  164. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  165. package/dist/compiler/containerArtifactSummaries.js +138 -0
  166. package/dist/compiler/containerArtifacts.d.ts +10 -0
  167. package/dist/compiler/containerArtifacts.js +126 -125
  168. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  169. package/dist/compiler/containerArtifactsPlans.js +31 -118
  170. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  171. package/dist/compiler/containerArtifactsRender.js +40 -81
  172. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  173. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  174. package/dist/compiler/containerConfigEnvRender.js +54 -0
  175. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  176. package/dist/compiler/containerEntrypointRender.js +60 -53
  177. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  178. package/dist/compiler/containerEntrypointShell.js +29 -0
  179. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  180. package/dist/compiler/containerPackageOverrides.js +63 -0
  181. package/dist/compiler/containerPackageRender.d.ts +15 -0
  182. package/dist/compiler/containerPackageRender.js +63 -0
  183. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  184. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  185. package/dist/compiler/containerTargetResources.js +3 -1
  186. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  187. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  188. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  189. package/dist/compiler/dockerBuildContext.js +159 -0
  190. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  191. package/dist/compiler/dockerBuildSkip.js +81 -0
  192. package/dist/compiler/index.d.ts +4 -0
  193. package/dist/compiler/index.js +4 -0
  194. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  195. package/dist/compiler/memoryArtifacts.js +134 -0
  196. package/dist/compiler/memoryResolution.d.ts +4 -0
  197. package/dist/compiler/memoryResolution.js +147 -0
  198. package/dist/compiler/modelEnv.d.ts +2 -0
  199. package/dist/compiler/modelEnv.js +6 -0
  200. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  201. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  202. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  203. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  204. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  205. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  206. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  207. package/dist/compiler/moltnetArtifacts.js +56 -95
  208. package/dist/compiler/moltnetBinaries.d.ts +21 -1
  209. package/dist/compiler/moltnetBinaries.js +156 -28
  210. package/dist/compiler/moltnetClientConfig.js +18 -2
  211. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  212. package/dist/compiler/moltnetConfigLowering.js +67 -5
  213. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  214. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  215. package/dist/compiler/moltnetNodeConfig.js +7 -2
  216. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  217. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  218. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  219. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  220. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  221. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  222. package/dist/compiler/moltnetResolution.js +72 -20
  223. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  224. package/dist/compiler/moltnetRuntimeConfig.js +11 -0
  225. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  226. package/dist/compiler/moltnetServerPlans.js +132 -0
  227. package/dist/compiler/organizationIdentity.d.ts +27 -0
  228. package/dist/compiler/organizationIdentity.js +297 -0
  229. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  230. package/dist/compiler/organizationReadyEvidence.js +261 -0
  231. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  232. package/dist/compiler/projectManifestGraph.js +24 -0
  233. package/dist/compiler/runProject.d.ts +4 -0
  234. package/dist/compiler/runProject.js +37 -22
  235. package/dist/compiler/runProjectAuth.d.ts +7 -1
  236. package/dist/compiler/runProjectAuth.js +87 -9
  237. package/dist/compiler/runProjectDocker.d.ts +7 -0
  238. package/dist/compiler/runProjectDocker.js +187 -19
  239. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  240. package/dist/compiler/runProjectLifecycle.js +40 -0
  241. package/dist/compiler/syncProjectAuth.js +4 -1
  242. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  243. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  244. package/dist/compiler/teamContextSupport.js +32 -40
  245. package/dist/compiler/teamContextTypes.d.ts +2 -0
  246. package/dist/compiler/types.d.ts +82 -1
  247. package/dist/compiler/upProject.d.ts +5 -0
  248. package/dist/compiler/upProject.js +257 -20
  249. package/dist/compiler/upReceipt.d.ts +36 -0
  250. package/dist/compiler/upReceipt.js +82 -0
  251. package/dist/compiler/updateProjectModels.js +42 -60
  252. package/dist/compiler/updateProjectRuntime.js +22 -35
  253. package/dist/compiler/updateProjectSurfaces.js +53 -47
  254. package/dist/compiler/worldBindings.d.ts +39 -0
  255. package/dist/compiler/worldBindings.js +247 -0
  256. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  257. package/dist/compiler/worldBindingsFile.js +162 -0
  258. package/dist/deployment/artifactsExport.d.ts +49 -0
  259. package/dist/deployment/artifactsExport.js +217 -0
  260. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  261. package/dist/deployment/artifactsExportDocker.js +91 -0
  262. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  263. package/dist/deployment/artifactsExportPlan.js +135 -0
  264. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  265. package/dist/deployment/artifactsExportTypes.js +52 -0
  266. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  267. package/dist/deployment/buildImageCacheStore.js +54 -0
  268. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  269. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  270. package/dist/deployment/dockerInspect.d.ts +9 -0
  271. package/dist/deployment/dockerInspect.js +24 -1
  272. package/dist/deployment/dockerLabels.d.ts +2 -0
  273. package/dist/deployment/dockerLabels.js +2 -0
  274. package/dist/deployment/dockerLogs.js +2 -10
  275. package/dist/deployment/dockerManager.d.ts +51 -0
  276. package/dist/deployment/dockerManager.js +118 -1
  277. package/dist/deployment/dockerProbeGateway.js +64 -5
  278. package/dist/deployment/dockerRecover.d.ts +17 -0
  279. package/dist/deployment/dockerRecover.js +137 -0
  280. package/dist/deployment/dockerTeardown.d.ts +32 -0
  281. package/dist/deployment/dockerTeardown.js +61 -0
  282. package/dist/deployment/downDeployment.d.ts +34 -0
  283. package/dist/deployment/downDeployment.js +147 -0
  284. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  285. package/dist/deployment/downReceiptTypes.js +30 -0
  286. package/dist/deployment/index.d.ts +17 -0
  287. package/dist/deployment/index.js +18 -0
  288. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  289. package/dist/deployment/lifecycleCompletion.js +236 -0
  290. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  291. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  292. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  293. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  294. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  295. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  296. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  297. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  298. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  299. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  300. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  301. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  302. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  303. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  304. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  305. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  306. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  307. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  308. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  309. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  310. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  311. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  312. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  313. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  314. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  315. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  316. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  317. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  318. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  319. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  320. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  321. package/dist/deployment/organizationHandoffTypes.js +80 -0
  322. package/dist/deployment/organizationReady.d.ts +52 -0
  323. package/dist/deployment/organizationReady.js +200 -0
  324. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  325. package/dist/deployment/privateArtifactsExport.js +80 -0
  326. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  327. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  328. package/dist/deployment/record.d.ts +26 -1
  329. package/dist/deployment/record.js +49 -4
  330. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  331. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  332. package/dist/deployment/target.d.ts +1 -35
  333. package/dist/deployment/target.js +1 -96
  334. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  335. package/dist/deployment/upReceiptTypes.js +164 -0
  336. package/dist/dev/activity.d.ts +14 -0
  337. package/dist/dev/activity.js +48 -0
  338. package/dist/dev/docker.d.ts +16 -0
  339. package/dist/dev/docker.js +71 -0
  340. package/dist/dev/index.d.ts +2 -0
  341. package/dist/dev/index.js +2 -0
  342. package/dist/dev/project.d.ts +35 -0
  343. package/dist/dev/project.js +170 -0
  344. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  345. package/dist/distribution/buildDistributionReport.js +2 -1
  346. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  347. package/dist/distribution/distributionReportSchema.js +7 -2
  348. package/dist/distribution/index.d.ts +2 -2
  349. package/dist/distribution/index.js +1 -1
  350. package/dist/distribution/types.d.ts +7 -0
  351. package/dist/distribution/types.js +1 -0
  352. package/dist/filesystem/paths.js +10 -1
  353. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  354. package/dist/ledger/causalConformanceCli.js +41 -0
  355. package/dist/ledger/causeNamespace.d.ts +8 -0
  356. package/dist/ledger/causeNamespace.js +24 -0
  357. package/dist/ledger/conformance.d.ts +83 -0
  358. package/dist/ledger/conformance.js +259 -0
  359. package/dist/ledger/emitters.d.ts +76 -0
  360. package/dist/ledger/emitters.js +188 -0
  361. package/dist/ledger/index.d.ts +4 -0
  362. package/dist/ledger/index.js +4 -0
  363. package/dist/ledger/principal.d.ts +96 -0
  364. package/dist/ledger/principal.js +121 -0
  365. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  366. package/dist/manifest/externalParticipantSchemas.js +17 -0
  367. package/dist/manifest/index.d.ts +1 -0
  368. package/dist/manifest/index.js +1 -0
  369. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  370. package/dist/manifest/inlineAgentMember.js +9 -0
  371. package/dist/manifest/loadManifest.js +14 -8
  372. package/dist/manifest/mcpSchemas.d.ts +17 -0
  373. package/dist/manifest/mcpSchemas.js +41 -0
  374. package/dist/manifest/memorySchemas.d.ts +245 -0
  375. package/dist/manifest/memorySchemas.js +148 -0
  376. package/dist/manifest/renderSpawnfile.js +22 -131
  377. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  378. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  379. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  380. package/dist/manifest/schemas.d.ts +1868 -99
  381. package/dist/manifest/schemas.js +78 -32
  382. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  383. package/dist/manifest/surfaceSchemas.js +24 -1
  384. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  385. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  386. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  387. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  388. package/dist/manifest/teamNetworkSchemas.js +3 -317
  389. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  390. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  391. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  392. package/dist/ownership/siblingBuildFreshness.js +20 -0
  393. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  394. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  395. package/dist/report/types.d.ts +142 -0
  396. package/dist/runtime/common.d.ts +37 -0
  397. package/dist/runtime/common.js +56 -1
  398. package/dist/runtime/container.d.ts +29 -1
  399. package/dist/runtime/container.js +127 -11
  400. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  401. package/dist/runtime/containerPackageOverrides.js +33 -0
  402. package/dist/runtime/index.d.ts +2 -0
  403. package/dist/runtime/index.js +2 -0
  404. package/dist/runtime/install.d.ts +1 -1
  405. package/dist/runtime/install.js +43 -1
  406. package/dist/runtime/mnemeMcp.d.ts +15 -0
  407. package/dist/runtime/mnemeMcp.js +109 -0
  408. package/dist/runtime/openclaw/adapter.js +15 -4
  409. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  410. package/dist/runtime/openclaw/mcp.js +69 -0
  411. package/dist/runtime/openclaw/runAuth.js +2 -2
  412. package/dist/runtime/openclaw/scaffold.js +1 -1
  413. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  414. package/dist/runtime/openclaw/schedules.js +74 -0
  415. package/dist/runtime/pi/adapter.d.ts +4 -0
  416. package/dist/runtime/pi/adapter.js +231 -0
  417. package/dist/runtime/pi/appActivitySource.d.ts +1 -0
  418. package/dist/runtime/pi/appActivitySource.js +199 -0
  419. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  420. package/dist/runtime/pi/appAgentConfig.js +264 -0
  421. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  422. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  423. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  424. package/dist/runtime/pi/appCliSource.js +353 -0
  425. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  426. package/dist/runtime/pi/appControlSource.js +390 -0
  427. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  428. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  429. package/dist/runtime/pi/appCoreSource.d.ts +4 -0
  430. package/dist/runtime/pi/appCoreSource.js +244 -0
  431. package/dist/runtime/pi/appPreludeSource.d.ts +1 -0
  432. package/dist/runtime/pi/appPreludeSource.js +191 -0
  433. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  434. package/dist/runtime/pi/appScheduleSource.js +80 -0
  435. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  436. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  437. package/dist/runtime/pi/appSource.d.ts +4 -0
  438. package/dist/runtime/pi/appSource.js +12 -0
  439. package/dist/runtime/pi/appTemplate.d.ts +14 -0
  440. package/dist/runtime/pi/appTemplate.js +27 -0
  441. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  442. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  443. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  444. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  445. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  446. package/dist/runtime/pi/containerTargets.js +57 -0
  447. package/dist/runtime/pi/runAuth.d.ts +2 -0
  448. package/dist/runtime/pi/runAuth.js +185 -0
  449. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  450. package/dist/runtime/pi/testHelpers.js +40 -0
  451. package/dist/runtime/picoclaw/adapter.js +23 -27
  452. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  453. package/dist/runtime/picoclaw/mcp.js +43 -0
  454. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  455. package/dist/runtime/picoclaw/memory.js +17 -0
  456. package/dist/runtime/picoclaw/runAuth.js +1 -1
  457. package/dist/runtime/picoclaw/scaffold.js +1 -1
  458. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  459. package/dist/runtime/picoclaw/schedules.js +62 -3
  460. package/dist/runtime/registry.js +3 -0
  461. package/dist/runtime/scheduleUtils.d.ts +2 -0
  462. package/dist/runtime/scheduleUtils.js +15 -0
  463. package/dist/runtime/types.d.ts +26 -2
  464. package/dist/shared/errors.d.ts +1 -1
  465. package/dist/shared/errors.js +2 -2
  466. package/dist/shared/index.d.ts +1 -0
  467. package/dist/shared/index.js +1 -0
  468. package/dist/shared/redaction.d.ts +2 -0
  469. package/dist/shared/redaction.js +10 -0
  470. package/dist/status/buildStatus.d.ts +1 -0
  471. package/dist/status/buildStatus.js +2 -0
  472. package/dist/status/compileReport.d.ts +22 -0
  473. package/dist/status/compileReport.js +16 -2
  474. package/dist/status/compiledProbeCollection.d.ts +21 -0
  475. package/dist/status/compiledProbeCollection.js +27 -0
  476. package/dist/status/deployments.js +5 -12
  477. package/dist/status/imageStatusReport.js +6 -0
  478. package/dist/status/index.d.ts +3 -0
  479. package/dist/status/index.js +3 -0
  480. package/dist/status/lifecycleProbes.d.ts +19 -0
  481. package/dist/status/lifecycleProbes.js +174 -0
  482. package/dist/status/moltnetProbes.d.ts +7 -8
  483. package/dist/status/moltnetProbes.js +27 -198
  484. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  485. package/dist/status/moltnetWiringProbes.js +178 -0
  486. package/dist/target/cleanupRun.d.ts +41 -0
  487. package/dist/target/cleanupRun.js +139 -0
  488. package/dist/target/cleanupRunDocker.d.ts +16 -0
  489. package/dist/target/cleanupRunDocker.js +66 -0
  490. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  491. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  492. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  493. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  494. package/dist/target/composedPreparation.d.ts +205 -0
  495. package/dist/target/composedPreparation.js +223 -0
  496. package/dist/target/containerBundle.d.ts +82 -0
  497. package/dist/target/containerBundle.js +243 -0
  498. package/dist/target/containerBundleArchive.d.ts +31 -0
  499. package/dist/target/containerBundleArchive.js +140 -0
  500. package/dist/target/containerBundleAuthority.d.ts +25 -0
  501. package/dist/target/containerBundleAuthority.js +65 -0
  502. package/dist/target/containerBundleContracts.d.ts +114 -0
  503. package/dist/target/containerBundleContracts.js +173 -0
  504. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  505. package/dist/target/containerBundleFilesystemStore.js +247 -0
  506. package/dist/target/containerBundlePolicy.d.ts +33 -0
  507. package/dist/target/containerBundlePolicy.js +64 -0
  508. package/dist/target/containerBundleStore.d.ts +127 -0
  509. package/dist/target/containerBundleStore.js +284 -0
  510. package/dist/target/contracts.d.ts +538 -0
  511. package/dist/target/contracts.js +373 -0
  512. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  513. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  514. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  515. package/dist/target/dockerArtifactInspection.js +125 -0
  516. package/dist/target/dockerArtifacts.d.ts +21 -0
  517. package/dist/target/dockerArtifacts.js +110 -0
  518. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  519. package/dist/target/dockerArtifactsProvider.js +449 -0
  520. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  521. package/dist/target/dockerCommandExecutor.js +200 -0
  522. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  523. package/dist/target/dockerCommandExecutorCore.js +273 -0
  524. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  525. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  526. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  527. package/dist/target/dockerContextSnapshot.js +158 -0
  528. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  529. package/dist/target/dockerEndpointFingerprint.js +9 -0
  530. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  531. package/dist/target/dockerPreparedArtifact.js +131 -0
  532. package/dist/target/dockerProjectionJson.d.ts +1 -0
  533. package/dist/target/dockerProjectionJson.js +80 -0
  534. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  535. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  536. package/dist/target/dockerResources.d.ts +26 -0
  537. package/dist/target/dockerResources.js +162 -0
  538. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  539. package/dist/target/dockerResourcesProvider.js +207 -0
  540. package/dist/target/dockerSecrets.d.ts +39 -0
  541. package/dist/target/dockerSecrets.js +249 -0
  542. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  543. package/dist/target/dockerSecretsAuthority.js +216 -0
  544. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  545. package/dist/target/dockerSecretsLifecycle.js +133 -0
  546. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  547. package/dist/target/dockerSecretsProvider.js +329 -0
  548. package/dist/target/dockerTarget.d.ts +52 -0
  549. package/dist/target/dockerTarget.js +48 -0
  550. package/dist/target/dockerTargetBinding.d.ts +14 -0
  551. package/dist/target/dockerTargetBinding.js +96 -0
  552. package/dist/target/dockerWorldClock.d.ts +17 -0
  553. package/dist/target/dockerWorldClock.js +111 -0
  554. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  555. package/dist/target/dockerWorldReadiness.js +119 -0
  556. package/dist/target/dockerWorldService.d.ts +23 -0
  557. package/dist/target/dockerWorldService.js +216 -0
  558. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  559. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  560. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  561. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  562. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  563. package/dist/target/dockerWorldServiceProvider.js +318 -0
  564. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  565. package/dist/target/dockerWorldServiceStore.js +367 -0
  566. package/dist/target/evidenceExport.d.ts +55 -0
  567. package/dist/target/evidenceExport.js +518 -0
  568. package/dist/target/evidenceExportArchive.d.ts +10 -0
  569. package/dist/target/evidenceExportArchive.js +302 -0
  570. package/dist/target/evidenceExportContract.d.ts +27 -0
  571. package/dist/target/evidenceExportContract.js +40 -0
  572. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  573. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  574. package/dist/target/evidenceExportProvider.d.ts +85 -0
  575. package/dist/target/evidenceExportProvider.js +187 -0
  576. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  577. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  578. package/dist/target/evidenceExportStore.d.ts +70 -0
  579. package/dist/target/evidenceExportStore.js +498 -0
  580. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  581. package/dist/target/evidenceExportStorePublication.js +395 -0
  582. package/dist/target/handles.d.ts +20 -0
  583. package/dist/target/handles.js +56 -0
  584. package/dist/target/index.d.ts +12 -0
  585. package/dist/target/index.js +11 -0
  586. package/dist/target/journal.d.ts +59 -0
  587. package/dist/target/journal.js +529 -0
  588. package/dist/target/journalFilesystem.d.ts +3 -0
  589. package/dist/target/journalFilesystem.js +111 -0
  590. package/dist/target/journalRoot.d.ts +4 -0
  591. package/dist/target/journalRoot.js +6 -0
  592. package/dist/target/organizationAttachment.d.ts +23 -0
  593. package/dist/target/organizationAttachment.js +263 -0
  594. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  595. package/dist/target/organizationAttachmentAuthority.js +161 -0
  596. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  597. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  598. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  599. package/dist/target/organizationAttachmentProvider.js +289 -0
  600. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  601. package/dist/target/organizationAttachmentStore.js +316 -0
  602. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  603. package/dist/target/publicArtifactSnapshot.js +150 -0
  604. package/dist/target/topologyActivation.d.ts +51 -0
  605. package/dist/target/topologyActivation.js +149 -0
  606. package/dist/target/topologyAttestation.d.ts +37 -0
  607. package/dist/target/topologyAttestation.js +300 -0
  608. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  609. package/dist/target/topologyAttestationErrors.js +1 -0
  610. package/dist/target/worldClock.d.ts +60 -0
  611. package/dist/target/worldClock.js +129 -0
  612. package/dist/target/worldReadiness.d.ts +103 -0
  613. package/dist/target/worldReadiness.js +153 -0
  614. package/moltnet-releases.json +20 -0
  615. package/package.json +29 -8
  616. package/runtimes.yaml +28 -27
  617. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  618. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  619. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  620. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -3,10 +3,12 @@ import { SpawnfileError } from "../../shared/index.js";
3
3
  import { createAgentCapabilities, createDiagnostic, createDocumentFiles, createSkillFiles } from "../common.js";
4
4
  import { preparePicoClawRuntimeAuth } from "./runAuth.js";
5
5
  import { createPicoClawAgentScaffold } from "./scaffold.js";
6
- import { createPicoClawCronStoreFile, createScheduleDiagnostics, scheduleOutcomeFor } from "./schedules.js";
6
+ import { createPicoClawCronStoreFile, createScheduleDiagnostics, hasPicoClawCronJobs, scheduleOutcomeFor } from "./schedules.js";
7
7
  import { assertSupportedPicoClawSurfaces, buildPicoClawChannelConfig, buildPicoClawSurfaceEnvBindings } from "./surfaces.js";
8
8
  import { PICOCLAW_GATEWAY_BASE_PORT, PICOCLAW_INTERNAL_PICO_TOKEN } from "./pico.js";
9
9
  import { picoClawStatusProbes } from "./statusProbes.js";
10
+ import { buildPicoClawMemoryMcpServers, picoClawMemoryCapabilityFor, PICOCLAW_MNEME_PACKAGE } from "./memory.js";
11
+ import { buildPicoClawAuthoredMcpServers, buildPicoClawMcpEnvBindings } from "./mcp.js";
10
12
  const formatModelName = (node) => {
11
13
  const primary = node.execution?.model?.primary;
12
14
  if (!primary)
@@ -75,31 +77,9 @@ const buildModelList = (node) => {
75
77
  };
76
78
  });
77
79
  };
78
- const buildMcpServers = (servers) => {
79
- const result = {};
80
- for (const server of servers) {
81
- const entry = { enabled: true };
82
- if (server.transport === "stdio") {
83
- entry.command = server.command;
84
- if (server.args)
85
- entry.args = server.args;
86
- if (server.env)
87
- entry.env = server.env;
88
- }
89
- else {
90
- entry.type = server.transport === "streamable_http" ? "http" : server.transport;
91
- entry.url = server.url;
92
- }
93
- if (server.auth) {
94
- entry.headers = { [server.auth.secret]: "" };
95
- }
96
- result[server.name] = entry;
97
- }
98
- return result;
99
- };
100
80
  const buildPicoClawToolsConfig = (node) => {
101
81
  const tools = {};
102
- if (node.schedule?.kind === "cron") {
82
+ if (hasPicoClawCronJobs(node)) {
103
83
  tools.cron = {
104
84
  enabled: true
105
85
  };
@@ -112,7 +92,17 @@ const buildPicoClawToolsConfig = (node) => {
112
92
  if (node.mcpServers.length > 0) {
113
93
  tools.mcp = {
114
94
  enabled: true,
115
- servers: buildMcpServers(node.mcpServers)
95
+ servers: buildPicoClawAuthoredMcpServers(node.mcpServers)
96
+ };
97
+ }
98
+ const memoryMcpServers = buildPicoClawMemoryMcpServers(node);
99
+ if (Object.keys(memoryMcpServers).length > 0) {
100
+ tools.mcp = {
101
+ enabled: true,
102
+ servers: {
103
+ ...(tools.mcp?.servers ?? {}),
104
+ ...memoryMcpServers
105
+ }
116
106
  };
117
107
  }
118
108
  return Object.keys(tools).length > 0 ? tools : undefined;
@@ -148,7 +138,10 @@ const createContainerTargets = async (inputs) => inputs.map((input) => {
148
138
  envName: secretName,
149
139
  relativePath: createSecretPath(secretName)
150
140
  }));
151
- const configEnvBindings = buildPicoClawSurfaceEnvBindings(agent.surfaces);
141
+ const configEnvBindings = [
142
+ ...(buildPicoClawSurfaceEnvBindings(agent.surfaces) ?? []),
143
+ ...buildPicoClawMcpEnvBindings(agent.mcpServers)
144
+ ];
152
145
  return {
153
146
  configEnvBindings,
154
147
  envFiles,
@@ -190,7 +183,7 @@ export const picoClawAdapter = {
190
183
  container: {
191
184
  configFileName: "config.json",
192
185
  configPathEnv: "PICOCLAW_CONFIG",
193
- globalNpmPackages: ["@anthropic-ai/claude-code", "@openai/codex"],
186
+ globalNpmPackages: ["@anthropic-ai/claude-code", "@openai/codex", PICOCLAW_MNEME_PACKAGE],
194
187
  homeEnv: "PICOCLAW_HOME",
195
188
  instancePaths: {
196
189
  configPathTemplate: "<instance-root>/picoclaw/<config-file>",
@@ -216,8 +209,11 @@ export const picoClawAdapter = {
216
209
  async compileAgent(node) {
217
210
  const scheduleOutcome = scheduleOutcomeFor(node);
218
211
  const cronStoreFile = createPicoClawCronStoreFile(node);
212
+ const memoryCapability = picoClawMemoryCapabilityFor(node);
219
213
  return {
220
214
  capabilities: createAgentCapabilities(node, {
215
+ memoryMessage: memoryCapability.message,
216
+ memoryOutcome: memoryCapability.outcome,
221
217
  scheduleMessage: scheduleOutcome.message,
222
218
  scheduleOutcome: scheduleOutcome.outcome
223
219
  }),
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from "../../manifest/index.js";
2
+ import type { RuntimeContainerConfigEnvBinding } from "../types.js";
3
+ export declare const buildPicoClawAuthoredMcpServers: (servers: McpServer[]) => Record<string, Record<string, unknown>>;
4
+ export declare const buildPicoClawMcpEnvBindings: (servers: McpServer[]) => RuntimeContainerConfigEnvBinding[];
@@ -0,0 +1,43 @@
1
+ export const buildPicoClawAuthoredMcpServers = (servers) => {
2
+ const result = Object.create(null);
3
+ for (const server of servers) {
4
+ if (server.transport === "stdio" && server.auth?.mode === "bearer") {
5
+ throw new Error("PicoClaw stdio MCP servers do not support bearer auth");
6
+ }
7
+ const entry = { enabled: true };
8
+ if (server.transport === "stdio") {
9
+ entry.command = server.command;
10
+ if (server.args)
11
+ entry.args = server.args;
12
+ if (server.env)
13
+ entry.env = server.env;
14
+ }
15
+ else {
16
+ entry.type = server.transport === "streamable_http" ? "http" : server.transport;
17
+ entry.url = server.url;
18
+ }
19
+ if (server.auth) {
20
+ entry.headers = {
21
+ [server.auth.mode === "bearer" ? "Authorization" : server.auth.secret]: ""
22
+ };
23
+ }
24
+ result[server.name] = entry;
25
+ }
26
+ return result;
27
+ };
28
+ export const buildPicoClawMcpEnvBindings = (servers) => servers.flatMap((server) => server.auth
29
+ ? [
30
+ {
31
+ envName: server.auth.secret,
32
+ jsonPath: [
33
+ "tools",
34
+ "mcp",
35
+ "servers",
36
+ server.name,
37
+ "headers",
38
+ server.auth.mode === "bearer" ? "Authorization" : server.auth.secret
39
+ ],
40
+ ...(server.auth.mode === "bearer" ? { transform: "bearer" } : {})
41
+ }
42
+ ]
43
+ : []);
@@ -0,0 +1,7 @@
1
+ import type { ResolvedAgentNode } from "../../compiler/types.js";
2
+ export declare const buildPicoClawMemoryMcpServers: (node: ResolvedAgentNode) => Record<string, Record<string, unknown>>;
3
+ export declare const picoClawMemoryCapabilityFor: (node: ResolvedAgentNode) => {
4
+ message: string;
5
+ outcome: "degraded" | "supported";
6
+ };
7
+ export declare const PICOCLAW_MNEME_PACKAGE = "@noopolis/mneme@0.1.1";
@@ -0,0 +1,17 @@
1
+ import { buildMnemeMemoryMcpServers, hasScheduledMemoryConsolidation, hasUnsupportedMnemeMemoryAccess, MNEME_PACKAGE } from "../mnemeMcp.js";
2
+ export const buildPicoClawMemoryMcpServers = (node) => buildMnemeMemoryMcpServers(node, {
3
+ modes: hasScheduledMemoryConsolidation(node) ? ["awake", "dream"] : ["awake"]
4
+ });
5
+ export const picoClawMemoryCapabilityFor = (node) => {
6
+ if (hasUnsupportedMnemeMemoryAccess(node)) {
7
+ return {
8
+ message: "PicoClaw lowers file-backed Mneme memory through generated MCP servers; non-file stores are not lowered",
9
+ outcome: "degraded"
10
+ };
11
+ }
12
+ return {
13
+ message: "PicoClaw accesses Mneme memory through generated MCP servers",
14
+ outcome: "supported"
15
+ };
16
+ };
17
+ export const PICOCLAW_MNEME_PACKAGE = MNEME_PACKAGE;
@@ -10,7 +10,7 @@ export const preparePicoClawRuntimeAuth = async (input) => {
10
10
  if (!input.instance.home_path) {
11
11
  return { coveredModelSecrets: [], mountArgs: [] };
12
12
  }
13
- const claudeCode = input.authProfile.imports["claude-code"]
13
+ const claudeCode = input.authProfile?.imports["claude-code"]
14
14
  ? await loadImportedClaudeCodeCredential(input.authProfile.imports["claude-code"].path)
15
15
  : null;
16
16
  const useClaudeCode = input.instance.model_auth_methods.anthropic === "claude-code" && claudeCode;
@@ -11,7 +11,7 @@ export const createPicoClawAgentScaffold = () => ({
11
11
  path: "SOUL.md"
12
12
  },
13
13
  {
14
- content: loadRuntimeScaffoldAsset(import.meta.url, "AGENTS.md"),
14
+ content: loadRuntimeScaffoldAsset(import.meta.url, "WORKSPACE_AGENTS.md"),
15
15
  path: "AGENTS.md"
16
16
  }
17
17
  ],
@@ -1,9 +1,35 @@
1
1
  import type { ResolvedAgentNode } from "../../compiler/types.js";
2
2
  import type { CapabilityReport } from "../../report/index.js";
3
3
  import type { EmittedFile } from "../types.js";
4
+ type PicoClawCronSchedule = {
5
+ expr?: string;
6
+ kind: "cron";
7
+ tz?: string;
8
+ } | {
9
+ everyMs: number;
10
+ kind: "every";
11
+ };
12
+ interface PicoClawCronJob {
13
+ createdAtMs: number;
14
+ deleteAfterRun: boolean;
15
+ enabled: boolean;
16
+ id: string;
17
+ name: string;
18
+ payload: {
19
+ deliver: boolean;
20
+ kind: "agent_turn";
21
+ message: string;
22
+ };
23
+ schedule: PicoClawCronSchedule;
24
+ state: Record<string, never>;
25
+ updatedAtMs: number;
26
+ }
27
+ export declare const createPicoClawCronJobs: (node: ResolvedAgentNode) => PicoClawCronJob[];
4
28
  export declare const createPicoClawCronStoreFile: (node: ResolvedAgentNode) => EmittedFile | null;
29
+ export declare const hasPicoClawCronJobs: (node: ResolvedAgentNode) => boolean;
5
30
  export declare const scheduleOutcomeFor: (node: ResolvedAgentNode) => {
6
31
  message?: string;
7
32
  outcome?: CapabilityReport["outcome"];
8
33
  };
9
34
  export declare const createScheduleDiagnostics: (node: ResolvedAgentNode) => import("../../report/types.js").DiagnosticReport[];
35
+ export {};
@@ -1,4 +1,7 @@
1
+ import { slugify } from "../../compiler/helpers.js";
1
2
  import { createDiagnostic } from "../common.js";
3
+ import { isMnemeMemoryAccessSupported, mnemeMemoryServerName } from "../mnemeMcp.js";
4
+ import { parseEveryScheduleMs } from "../scheduleUtils.js";
2
5
  const createPicoClawCronJob = (node) => {
3
6
  if (!node.schedule || node.schedule.kind !== "cron") {
4
7
  return null;
@@ -23,13 +26,68 @@ const createPicoClawCronJob = (node) => {
23
26
  updatedAtMs: 0
24
27
  };
25
28
  };
29
+ const dreamPrompt = (bankId, serverName) => [
30
+ `Dream over Mneme memory bank ${bankId}.`,
31
+ "This is an isolated memory-maintenance session, not normal conversation.",
32
+ `Prefer the ${serverName} MCP tools when available.`,
33
+ "Search the active dream scope and read-only global scope for stale, duplicate, noisy, or important memories.",
34
+ "Use memory_summarize, memory_register, or memory_forget only when consolidation is evidence-backed."
35
+ ].join(" ");
36
+ const scheduleFromMemoryConsolidation = (schedule) => {
37
+ const everyMs = parseEveryScheduleMs(schedule);
38
+ if (everyMs !== null) {
39
+ return { everyMs, kind: "every" };
40
+ }
41
+ return { expr: schedule, kind: "cron" };
42
+ };
43
+ const createPicoClawMemoryDreamJobs = (node) => {
44
+ const jobs = [];
45
+ const seen = new Set();
46
+ for (const access of node.memoryAccess ?? []) {
47
+ const schedule = access.bank.consolidation.schedule;
48
+ if (!isMnemeMemoryAccessSupported(access) ||
49
+ access.bank.consolidation.mode !== "scheduled" ||
50
+ !schedule) {
51
+ continue;
52
+ }
53
+ const key = `${access.source}:${access.bank.id}`;
54
+ if (seen.has(key)) {
55
+ continue;
56
+ }
57
+ seen.add(key);
58
+ const dreamServerName = mnemeMemoryServerName(node, access, "dream");
59
+ const bankSlug = dreamServerName.replace(/^mneme-/u, "").replace(/-dream$/u, "");
60
+ const agentSlug = slugify(node.name) || "agent";
61
+ const id = `spawnfile-dream-${agentSlug}-${bankSlug}`;
62
+ jobs.push({
63
+ createdAtMs: 0,
64
+ deleteAfterRun: false,
65
+ enabled: true,
66
+ id,
67
+ name: id,
68
+ payload: {
69
+ deliver: false,
70
+ kind: "agent_turn",
71
+ message: dreamPrompt(access.bank.id, dreamServerName)
72
+ },
73
+ schedule: scheduleFromMemoryConsolidation(schedule),
74
+ state: {},
75
+ updatedAtMs: 0
76
+ });
77
+ }
78
+ return jobs;
79
+ };
80
+ export const createPicoClawCronJobs = (node) => [
81
+ createPicoClawCronJob(node),
82
+ ...createPicoClawMemoryDreamJobs(node)
83
+ ].filter((job) => job !== null);
26
84
  export const createPicoClawCronStoreFile = (node) => {
27
- const job = createPicoClawCronJob(node);
28
- if (!job) {
85
+ const jobs = createPicoClawCronJobs(node);
86
+ if (jobs.length === 0) {
29
87
  return null;
30
88
  }
31
89
  const store = {
32
- jobs: [job],
90
+ jobs,
33
91
  version: 1
34
92
  };
35
93
  return {
@@ -37,6 +95,7 @@ export const createPicoClawCronStoreFile = (node) => {
37
95
  path: "workspace/cron/jobs.json"
38
96
  };
39
97
  };
98
+ export const hasPicoClawCronJobs = (node) => createPicoClawCronJobs(node).length > 0;
40
99
  export const scheduleOutcomeFor = (node) => {
41
100
  if (!node.schedule) {
42
101
  return {};
@@ -3,9 +3,12 @@ import { parse as parseYaml } from "yaml";
3
3
  import { z } from "zod";
4
4
  import { SpawnfileError } from "../shared/index.js";
5
5
  import { openClawAdapter } from "./openclaw/adapter.js";
6
+ import { daimonAdapter, piAdapter } from "./pi/adapter.js";
6
7
  import { picoClawAdapter } from "./picoclaw/adapter.js";
7
8
  const runtimeAdapters = new Map([
9
+ [daimonAdapter.name, daimonAdapter],
8
10
  [openClawAdapter.name, openClawAdapter],
11
+ [piAdapter.name, piAdapter],
9
12
  [picoClawAdapter.name, picoClawAdapter]
10
13
  ]);
11
14
  const runtimeInstallSchema = z.discriminatedUnion("kind", [
@@ -0,0 +1,2 @@
1
+ export declare const isEveryScheduleValue: (value: string) => boolean;
2
+ export declare const parseEveryScheduleMs: (value: string) => number | null;
@@ -0,0 +1,15 @@
1
+ export const isEveryScheduleValue = (value) => /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/u.test(value.trim());
2
+ export const parseEveryScheduleMs = (value) => {
3
+ const match = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/u.exec(value.trim());
4
+ if (!match) {
5
+ return null;
6
+ }
7
+ const multipliers = {
8
+ d: 24 * 60 * 60 * 1000,
9
+ h: 60 * 60 * 1000,
10
+ m: 60 * 1000,
11
+ ms: 1,
12
+ s: 1000
13
+ };
14
+ return Math.max(1, Math.round(Number(match[1]) * multipliers[match[2] ?? "ms"]));
15
+ };
@@ -1,4 +1,5 @@
1
1
  import type { EffectiveModelTarget, ResolvedAgentNode, ResolvedAgentSurfaces, ResolvedTeamNode } from "../compiler/types.js";
2
+ import type { SimfileWorldBindingV1 } from "../compiler/worldBindings.js";
2
3
  import type { ResolvedAuthProfile } from "../auth/index.js";
3
4
  import type { AgentManifest } from "../manifest/index.js";
4
5
  import type { CapabilityReport, DiagnosticReport } from "../report/index.js";
@@ -20,17 +21,30 @@ export interface ContainerTargetInput {
20
21
  kind: "agent" | "team";
21
22
  slug: string;
22
23
  value: ResolvedAgentNode | ResolvedTeamNode;
24
+ worldBinding?: SimfileWorldBindingV1;
23
25
  }
24
26
  export interface ContainerTargetEnvFile {
25
27
  envName: string;
26
28
  relativePath: string;
27
29
  }
30
+ export type RuntimeContainerConfigValueTransform = "bearer";
28
31
  export interface ContainerTarget {
29
32
  configEnvBindings?: RuntimeContainerConfigEnvBinding[];
33
+ /**
34
+ * Optional node id -> resolved engine kind map (currently only populated by
35
+ * `src/runtime/pi/adapter.ts`'s `createContainerTargets`, e.g. `{"agent:
36
+ * eleanor": "scripted"}`). Threaded through `RuntimeTargetPlan` into
37
+ * `ContainerRuntimeInstanceReport.engine_by_node_id` for compile-report
38
+ * disclosure (Piece 5, Slice B) — adapters with no engine concept simply
39
+ * omit it.
40
+ */
41
+ engineByNodeId?: Record<string, string>;
30
42
  envFiles?: ContainerTargetEnvFile[];
31
43
  files: EmittedFile[];
32
44
  id: string;
33
45
  sourceIds?: string[];
46
+ /** World token env names actually lowered into this target's native config. */
47
+ worldTokenEnvNames?: string[];
34
48
  }
35
49
  export interface RuntimeContainerInstancePaths {
36
50
  configPathTemplate: string;
@@ -41,7 +55,9 @@ export interface RuntimeContainerInstancePaths {
41
55
  export interface RuntimeContainerConfigEnvBinding {
42
56
  envName: string;
43
57
  generated?: boolean;
44
- jsonPath: string;
58
+ /** Legacy dot paths remain supported; structured paths address arbitrary JSON keys exactly. */
59
+ jsonPath: string | readonly string[];
60
+ transform?: RuntimeContainerConfigValueTransform;
45
61
  }
46
62
  export interface RuntimeContainerMeta {
47
63
  configFileName: string;
@@ -59,6 +75,7 @@ export interface RuntimeContainerMeta {
59
75
  port?: number;
60
76
  portStride?: number;
61
77
  portEnv?: string;
78
+ postRootfsCommands?: string[];
62
79
  standaloneBaseImage: string;
63
80
  startCommand: string[];
64
81
  staticEnv?: Record<string, string>;
@@ -79,7 +96,14 @@ export interface RuntimeAuthInstance {
79
96
  runtime: string;
80
97
  }
81
98
  export interface RuntimeAuthPreparationInput {
82
- authProfile: ResolvedAuthProfile;
99
+ /**
100
+ * The Spawnfile-managed auth profile (`--auth-profile`), or `null` when the
101
+ * run/up invocation did not select one. Host-credential staging that does
102
+ * not depend on an imported auth profile (e.g. the Pi adapter's optional
103
+ * CLI-home mounts for grok/codex/antigravity) must still run when this is
104
+ * `null` — only the profile-derived `imports` lookups are unavailable.
105
+ */
106
+ authProfile: ResolvedAuthProfile | null;
83
107
  env: Record<string, string>;
84
108
  instance: RuntimeAuthInstance;
85
109
  outputDirectory: string;
@@ -1,7 +1,7 @@
1
1
  export type SpawnfileErrorCode = "adapter_error" | "compile_error" | "invalid_manifest" | "io_error" | "runtime_error" | "validation_error";
2
2
  export declare class SpawnfileError extends Error {
3
3
  readonly code: SpawnfileErrorCode;
4
- constructor(code: SpawnfileErrorCode, message: string);
4
+ constructor(code: SpawnfileErrorCode, message: string, options?: ErrorOptions);
5
5
  }
6
6
  export declare const isSpawnfileError: (value: unknown) => value is SpawnfileError;
7
7
  /**
@@ -1,7 +1,7 @@
1
1
  export class SpawnfileError extends Error {
2
2
  code;
3
- constructor(code, message) {
4
- super(message);
3
+ constructor(code, message, options) {
4
+ super(message, options);
5
5
  this.code = code;
6
6
  this.name = "SpawnfileError";
7
7
  }
@@ -1,3 +1,4 @@
1
1
  export * from "./constants.js";
2
2
  export * from "./errors.js";
3
+ export * from "./redaction.js";
3
4
  export * from "./types.js";
@@ -1,3 +1,4 @@
1
1
  export * from "./constants.js";
2
2
  export * from "./errors.js";
3
+ export * from "./redaction.js";
3
4
  export * from "./types.js";
@@ -0,0 +1,2 @@
1
+ export declare const redactSensitiveText: (text: string) => string;
2
+ export declare const boundedRedactedText: (text: string, limit?: number) => string;
@@ -0,0 +1,10 @@
1
+ const redactTokenLikeText = (text) => {
2
+ let redacted = text;
3
+ redacted = redacted.replace(/\bBearer\s+[A-Za-z0-9._~+/=-]{12,}/gi, "Bearer [REDACTED]");
4
+ redacted = redacted.replace(/\bmagt_v1_[A-Za-z0-9_-]{16,}\b/g, "[REDACTED]");
5
+ redacted = redacted.replace(/\b(?:sk|sk-proj)-[A-Za-z0-9_-]{20,}\b/g, "[REDACTED]");
6
+ redacted = redacted.replace(/\b([A-Z0-9_]*(?:API[_-]?KEY|TOKEN|SECRET|PASSWORD)[A-Z0-9_]*=)([^\s"'`]+)/gi, "$1[REDACTED]");
7
+ return redacted.replace(/(\"([^\"]*(?:api[_-]?key|token|secret|password)[^\"]*)\"\s*:\s*\")([^\"]+)(\")/gi, "$1[REDACTED]$4");
8
+ };
9
+ export const redactSensitiveText = (text) => redactTokenLikeText(text);
10
+ export const boundedRedactedText = (text, limit = 240) => redactSensitiveText(text).replace(/\s+/gu, " ").slice(0, limit);
@@ -4,6 +4,7 @@ export declare const countObservations: (observations: StatusObservation[]) => S
4
4
  export declare const getVisibleObservations: (status: StaticStatus) => StatusObservation[];
5
5
  export declare const exitCodeForStatus: (status: StaticStatus) => StatusExitCode;
6
6
  export declare const createStaticStatus: (view: StaticStatus["view"], loadedReport: LoadedCompileReport, input: {
7
+ compiledProbeObservations?: StatusObservation[];
7
8
  deployments?: StatusDeploymentSummary[];
8
9
  inputPath: string;
9
10
  liveObservations?: StatusObservation[];
@@ -230,6 +230,7 @@ export const createStaticStatus = (view, loadedReport, input) => {
230
230
  const deployments = input.deployments ?? [];
231
231
  const live = input.live ?? defaultLiveRequest();
232
232
  const liveObservations = input.liveObservations ?? [];
233
+ const compiledProbeObservations = input.compiledProbeObservations ?? [];
233
234
  const selection = expandStatusSelectionSubjects(input.selection, {
234
235
  deployments,
235
236
  loadedReport,
@@ -237,6 +238,7 @@ export const createStaticStatus = (view, loadedReport, input) => {
237
238
  });
238
239
  addDeclaredObservations(observations, view, nodes);
239
240
  addCompiledObservations(observations, loadedReport, view, nodes);
241
+ observations.push(...compiledProbeObservations);
240
242
  observations.push(...createDeploymentObservations(deployments, {
241
243
  compileFingerprint: compileInfoFor(loadedReport).compileFingerprint,
242
244
  liveRequested: live.requested,
@@ -32,6 +32,10 @@ export interface StatusReportMoltnetRoom {
32
32
  visibility: string | null;
33
33
  writePolicy: string | null;
34
34
  }
35
+ export interface StatusReportMoltnetNodePlan {
36
+ configPath: string;
37
+ networkId: string;
38
+ }
35
39
  export interface StatusReportMoltnetServerPlan {
36
40
  authMode: string | null;
37
41
  baseUrl: string;
@@ -66,8 +70,26 @@ export interface StatusReportWorkspaceResource {
66
70
  }
67
71
  export interface StatusReport {
68
72
  compileFingerprint: string | null;
73
+ /**
74
+ * Absolute physical path to the compiled `container/entrypoint` script
75
+ * (B93), resolved against the output directory a given
76
+ * `loadCompileReport`/`loadedImageCompileReport` call was actually handed
77
+ * — never a path baked into the report JSON's own `output_directory`
78
+ * field, which can be stale relative to the current invocation. `null`
79
+ * when the report has no `container.entrypoint` field, or (image/home
80
+ * deployment reports) when there is no on-disk compiled output at all.
81
+ */
82
+ entrypointPath?: string | null;
69
83
  generatedAt: string | null;
70
84
  internalPorts?: number[];
85
+ /**
86
+ * Parsed `container.moltnet.node_plans[]` (B38): `configPath` is the
87
+ * container-absolute path from the compiled report (see
88
+ * `toContainerRootfsPath` in `src/compiler/moltnetArtifactPaths.ts`), not
89
+ * yet resolved onto disk — join it under `<output dir>/container/rootfs`.
90
+ * Optional, like `moltnetServers` below, for the same pre-B38 reason.
91
+ */
92
+ moltnetNodePlans?: StatusReportMoltnetNodePlan[];
71
93
  moltnetServers?: StatusReportMoltnetServerPlan[];
72
94
  nodes: StatusReportNode[];
73
95
  outputDirectory: string | null;
@@ -91,6 +91,14 @@ const normalizeMoltnetRoom = (value) => {
91
91
  writePolicy: toStringOrNull(value.write_policy)
92
92
  };
93
93
  };
94
+ const normalizeMoltnetNodePlan = (value) => {
95
+ if (!isRecord(value)) {
96
+ return null;
97
+ }
98
+ const configPath = toStringOrNull(value.config_path);
99
+ const networkId = toStringOrNull(value.network_id);
100
+ return configPath && networkId ? { configPath, networkId } : null;
101
+ };
94
102
  const normalizeMoltnetServer = (value) => {
95
103
  if (!isRecord(value)) {
96
104
  return null;
@@ -153,7 +161,7 @@ const normalizeWorkspaceResource = (value) => {
153
161
  ? { backingPath, id, kind, linkPath, mode, mount, sharing }
154
162
  : null;
155
163
  };
156
- const normalizeReport = (value, reportPath) => {
164
+ const normalizeReport = (value, reportPath, outputDirectory) => {
157
165
  if (!isRecord(value) || !Array.isArray(value.nodes)) {
158
166
  return null;
159
167
  }
@@ -163,10 +171,16 @@ const normalizeReport = (value, reportPath) => {
163
171
  : [];
164
172
  const moltnet = isRecord(container.moltnet) ? container.moltnet : {};
165
173
  const moltnetServers = Array.isArray(moltnet.server_plans) ? moltnet.server_plans : [];
174
+ const moltnetNodePlans = Array.isArray(moltnet.node_plans) ? moltnet.node_plans : [];
175
+ const entrypoint = toStringOrNull(container.entrypoint);
166
176
  return {
167
177
  compileFingerprint: toStringOrNull(value.compile_fingerprint),
178
+ entrypointPath: entrypoint ? path.join(outputDirectory, entrypoint) : null,
168
179
  generatedAt: toStringOrNull(value.generated_at),
169
180
  internalPorts: toNumberArray(container.internal_ports),
181
+ moltnetNodePlans: moltnetNodePlans
182
+ .map(normalizeMoltnetNodePlan)
183
+ .filter((entry) => entry !== null),
170
184
  moltnetServers: moltnetServers
171
185
  .map(normalizeMoltnetServer)
172
186
  .filter((entry) => entry !== null),
@@ -219,7 +233,7 @@ export const loadCompileReport = async (outputDirectory) => {
219
233
  reportPath
220
234
  };
221
235
  }
222
- const report = normalizeReport(parsed, reportPath);
236
+ const report = normalizeReport(parsed, reportPath, outputDirectory);
223
237
  return report
224
238
  ? { kind: "loaded", report, reportPath }
225
239
  : {
@@ -0,0 +1,21 @@
1
+ import type { LoadedCompileReport } from "./compileReport.js";
2
+ import { collectLifecycleProbeObservations } from "./lifecycleProbes.js";
3
+ import { collectMoltnetWiringProbeObservations } from "./moltnetWiringProbes.js";
4
+ import type { StatusObservation } from "./types.js";
5
+ /**
6
+ * CLI-facing glue for the B38 offline lifecycle + Moltnet-wiring probes:
7
+ * a real disk `readFile` for the static (`--out <dir>`) status path, a
8
+ * stub that always resolves `null` for the home-deployment status path
9
+ * (no compiled output tree exists there at all), and one function that
10
+ * runs both probe collectors and concatenates their observations. Kept out
11
+ * of `src/cli/statusCommand.ts` to stay under this repo's 400-line file
12
+ * cap — this is CLI wiring plumbing, not a new probe contract.
13
+ */
14
+ export type CompiledProbeReadFile = (filePath: string) => Promise<string | null>;
15
+ export interface CompiledProbeCollectors {
16
+ collectLifecycleProbeObservations?: typeof collectLifecycleProbeObservations;
17
+ collectMoltnetWiringProbeObservations?: typeof collectMoltnetWiringProbeObservations;
18
+ }
19
+ export declare const readCompiledProbeFile: CompiledProbeReadFile;
20
+ export declare const unavailableCompiledProbeFile: CompiledProbeReadFile;
21
+ export declare const collectCompiledProbeObservations: (loadedReport: LoadedCompileReport, outputDirectory: string | null, readFileFn: CompiledProbeReadFile, collectors?: CompiledProbeCollectors) => Promise<StatusObservation[]>;
@@ -0,0 +1,27 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { collectLifecycleProbeObservations } from "./lifecycleProbes.js";
3
+ import { collectMoltnetWiringProbeObservations } from "./moltnetWiringProbes.js";
4
+ // Never throws: an unreadable path (missing file, permissions, not a
5
+ // regular file) resolves null so a probe reports its own defined
6
+ // unreadable-input severity instead of crashing status.
7
+ export const readCompiledProbeFile = async (filePath) => {
8
+ try {
9
+ return await readFile(filePath, "utf8");
10
+ }
11
+ catch {
12
+ return null;
13
+ }
14
+ };
15
+ // Home-deployment status has no on-disk compiled output tree (no `--out`
16
+ // directory, no container/rootfs mirror) to read from at all — every read
17
+ // resolves null so the probes report their own defined "nothing to check"
18
+ // unknown, never a crash and never a false ok.
19
+ export const unavailableCompiledProbeFile = async () => null;
20
+ export const collectCompiledProbeObservations = async (loadedReport, outputDirectory, readFileFn, collectors = {}) => {
21
+ const collectLifecycle = collectors.collectLifecycleProbeObservations ?? collectLifecycleProbeObservations;
22
+ const collectWiring = collectors.collectMoltnetWiringProbeObservations ?? collectMoltnetWiringProbeObservations;
23
+ return [
24
+ ...await collectLifecycle({ loadedReport, outputDirectory, readFile: readFileFn }),
25
+ ...await collectWiring({ loadedReport, outputDirectory, readFile: readFileFn })
26
+ ];
27
+ };