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
@@ -0,0 +1,134 @@
1
+ import path from "node:path/posix";
2
+ import { resolveNoopolisRunId } from "../runtime/index.js";
3
+ import { slugify } from "./helpers.js";
4
+ import { createPersistentVolumeName } from "./moltnetArtifactPaths.js";
5
+ const normalizePosixPath = (value) => path.normalize(value).replace(/\/+$/u, "") || "/";
6
+ const safeSlug = (value) => slugify(value).trim() || "memory";
7
+ const createMountId = (mountPath) => `memory-${safeSlug(mountPath)}`;
8
+ const isFileBackedMemoryStore = (bank) => bank.store.kind === "sqlite" || bank.store.kind === "json";
9
+ const transportFromRuntime = (runtimeName, bank) => {
10
+ switch (runtimeName) {
11
+ case "pi":
12
+ case "daimon":
13
+ return "direct";
14
+ case "picoclaw":
15
+ case "openclaw":
16
+ return isFileBackedMemoryStore(bank) ? "mcp" : "degraded_mcp";
17
+ default:
18
+ return "unsupported";
19
+ }
20
+ };
21
+ const memoryMountPath = (bank) => {
22
+ if (bank.store.kind !== "sqlite" && bank.store.kind !== "json") {
23
+ return null;
24
+ }
25
+ if (bank.store.persistence?.mode === "ephemeral") {
26
+ return null;
27
+ }
28
+ if (bank.store.persistence?.mount) {
29
+ return normalizePosixPath(bank.store.persistence.mount);
30
+ }
31
+ return bank.store.path
32
+ ? path.dirname(normalizePosixPath(bank.store.path))
33
+ : null;
34
+ };
35
+ const summarizeMemoryStore = (bank, mountId) => {
36
+ const persistenceMode = bank.store.kind === "sqlite" || bank.store.kind === "json"
37
+ ? (bank.store.persistence?.mode ?? "durable")
38
+ : undefined;
39
+ return {
40
+ kind: bank.store.kind,
41
+ ...(bank.store.path ? { path: bank.store.path } : {}),
42
+ ...(persistenceMode ? { persistence: persistenceMode } : {}),
43
+ ...(mountId ? { persistent_mount_id: mountId } : {}),
44
+ ...(bank.store.kind === "postgres" ? { dsn_secret: bank.store.dsn_secret } : {})
45
+ };
46
+ };
47
+ export const createMemoryArtifactBundle = (plan) => {
48
+ // Run-scoping key for every derived volume name below (see
49
+ // createPersistentVolumeName's doc comment in moltnetArtifactPaths.ts):
50
+ // present whenever this compile was driven by `spawnfile run`/`up`
51
+ // (which always call ensureNoopolisRunId() first), absent for a bare
52
+ // `spawnfile compile`/`spawnfile build`.
53
+ const runId = resolveNoopolisRunId(process.env);
54
+ const sourceToNode = new Map(plan.nodes.map((node) => [node.value.source, node]));
55
+ const groupedMemory = new Map();
56
+ for (const access of plan.memoryAccess ?? []) {
57
+ const key = `${access.source}::${access.bank.id}`;
58
+ const existing = groupedMemory.get(key);
59
+ if (existing) {
60
+ existing.accesses.push(access);
61
+ }
62
+ else {
63
+ groupedMemory.set(key, { bank: access.bank, source: access.source, accesses: [access] });
64
+ }
65
+ }
66
+ const mounts = [];
67
+ const mountPathMemoryMap = new Map();
68
+ const mountByPath = new Map();
69
+ const memories = [...groupedMemory.entries()]
70
+ .sort(([left], [right]) => left.localeCompare(right))
71
+ .map(([, entry]) => {
72
+ const declaringNode = sourceToNode.get(entry.source);
73
+ if (!declaringNode) {
74
+ return null;
75
+ }
76
+ const transportByNodeId = {};
77
+ const accessibleNodeIds = new Set();
78
+ for (const access of entry.accesses) {
79
+ const agentNode = sourceToNode.get(access.agentSource);
80
+ if (!agentNode || agentNode.value.kind !== "agent") {
81
+ continue;
82
+ }
83
+ const transport = transportFromRuntime(agentNode.runtimeName, entry.bank);
84
+ transportByNodeId[agentNode.id] = transport;
85
+ accessibleNodeIds.add(agentNode.id);
86
+ }
87
+ const declaringNodeId = declaringNode.id;
88
+ const mountPath = memoryMountPath(entry.bank);
89
+ let persistentMountId;
90
+ if (mountPath !== null) {
91
+ const mountId = createMountId(mountPath);
92
+ // createPersistentVolumeName also folds in plan.root (previously
93
+ // missing here entirely), so two different projects that happen to
94
+ // share a mount-path convention no longer derive the same volume
95
+ // name — the same isolation moltnet's own persistent mounts already
96
+ // had before this change.
97
+ const volumeName = createPersistentVolumeName(plan.root, mountId, entry.bank.store.persistence?.name, runId);
98
+ const existingMount = mountByPath.get(mountPath);
99
+ if (existingMount && existingMount.volume_name !== volumeName) {
100
+ throw new Error(`Memory store mount ${mountPath} resolves to conflicting volume names`);
101
+ }
102
+ const mount = existingMount ?? {
103
+ id: mountId,
104
+ mount_path: mountPath,
105
+ reason: `durable memory stores under ${mountPath}`,
106
+ volume_name: volumeName
107
+ };
108
+ mountByPath.set(mountPath, mount);
109
+ if (!existingMount) {
110
+ mounts.push(mount);
111
+ }
112
+ persistentMountId = mount.id;
113
+ mountPathMemoryMap.set(persistentMountId, mountPath);
114
+ }
115
+ return {
116
+ id: entry.bank.id,
117
+ declaring_node_id: declaringNodeId,
118
+ accessible_node_ids: [...accessibleNodeIds].sort(),
119
+ store: summarizeMemoryStore(entry.bank, persistentMountId),
120
+ index: entry.bank.index,
121
+ consolidation: entry.bank.consolidation,
122
+ retention: entry.bank.retention,
123
+ transport_by_node_id: transportByNodeId
124
+ };
125
+ })
126
+ .filter((entry) => entry !== null)
127
+ .sort((left, right) => left.declaring_node_id.localeCompare(right.declaring_node_id)
128
+ || left.id.localeCompare(right.id));
129
+ return {
130
+ mountPathMemoryMap,
131
+ memories,
132
+ mounts: [...mounts].sort((left, right) => left.id.localeCompare(right.id) || left.mount_path.localeCompare(right.mount_path))
133
+ };
134
+ };
@@ -0,0 +1,4 @@
1
+ import type { CompilePlan, ResolvedMemoryBank } from "./types.js";
2
+ import type { MemoryBank } from "../manifest/index.js";
3
+ export declare const resolveDeclaredMemoryBanks: (memory: MemoryBank[] | undefined, source: string, declaredBy: "agent" | "team", manifestName: string) => ResolvedMemoryBank[];
4
+ export declare const resolvePlanMemoryAccess: (plan: CompilePlan) => void;
@@ -0,0 +1,147 @@
1
+ import { SpawnfileError } from "../shared/index.js";
2
+ import { slugify } from "./helpers.js";
3
+ const resolveMemoryIndex = (index) => ({
4
+ graph: {
5
+ enabled: index?.graph?.enabled ?? false,
6
+ ...(index?.graph?.kind ? { kind: index.graph.kind } : {})
7
+ },
8
+ lexical: {
9
+ enabled: index?.lexical?.enabled ?? true,
10
+ ...(index?.lexical?.engine ? { engine: index.lexical.engine } : {})
11
+ },
12
+ rerank: {
13
+ enabled: index?.rerank?.enabled ?? false
14
+ },
15
+ vector: {
16
+ ...(index?.vector?.base_url ? { base_url: index.vector.base_url } : {}),
17
+ dimensions: index?.vector?.dimensions,
18
+ enabled: index?.vector?.enabled ?? false,
19
+ ...(index?.vector?.model ? { model: index.vector.model } : {}),
20
+ ...(index?.vector?.provider ? { provider: index.vector.provider } : {}),
21
+ ...(index?.vector?.timeout_ms ? { timeout_ms: index.vector.timeout_ms } : {})
22
+ }
23
+ });
24
+ const resolveMemoryConsolidation = (consolidation) => ({
25
+ mode: consolidation?.mode ?? "disabled",
26
+ ...(consolidation?.schedule ? { schedule: consolidation.schedule } : {}),
27
+ ...(consolidation?.summarize_after_events
28
+ ? { summarize_after_events: consolidation.summarize_after_events }
29
+ : {})
30
+ });
31
+ const resolveMemoryRetention = (retention) => ({
32
+ forgetting: retention?.forgetting ?? "manual",
33
+ ...(retention?.ttl ? { ttl: retention.ttl } : {})
34
+ });
35
+ const resolveMemoryStore = (store, manifestName, bankId) => {
36
+ const manifestSlug = slugify(manifestName) || "memory";
37
+ const baseDirectory = `/var/lib/spawnfile/memory/${manifestSlug}/${bankId}`;
38
+ if (store.kind === "sqlite" || store.kind === "json") {
39
+ return {
40
+ kind: store.kind,
41
+ path: store.path ?? `${baseDirectory}/${store.kind === "sqlite" ? "memory.sqlite" : "memory.jsonl"}`,
42
+ ...(store.persistence
43
+ ? {
44
+ persistence: {
45
+ mode: store.persistence.mode,
46
+ ...(store.persistence.mount ? { mount: store.persistence.mount } : {}),
47
+ ...(store.persistence.name ? { name: store.persistence.name } : {})
48
+ }
49
+ }
50
+ : {
51
+ persistence: {
52
+ mode: "durable"
53
+ }
54
+ })
55
+ };
56
+ }
57
+ if (store.kind === "postgres") {
58
+ return {
59
+ kind: store.kind,
60
+ dsn_secret: store.dsn_secret
61
+ };
62
+ }
63
+ return { kind: "memory" };
64
+ };
65
+ export const resolveDeclaredMemoryBanks = (memory, source, declaredBy, manifestName) => (memory ?? []).map((entry) => ({
66
+ access: entry.access,
67
+ consolidation: resolveMemoryConsolidation(entry.consolidation),
68
+ declaredBy,
69
+ declaredName: manifestName,
70
+ id: entry.id,
71
+ index: resolveMemoryIndex(entry.index),
72
+ retention: resolveMemoryRetention(entry.retention),
73
+ source,
74
+ store: resolveMemoryStore(entry.store, manifestName, entry.id)
75
+ }));
76
+ const getAgentNodes = (plan) => new Map(plan.nodes
77
+ .filter((node) => node.value.kind === "agent")
78
+ .map((node) => [node.value.source, node.value]));
79
+ const getTeamNodes = (plan) => new Map(plan.nodes
80
+ .filter((node) => node.value.kind === "team")
81
+ .map((node) => [node.value.source, node.value]));
82
+ const resolveTeamMembersForBank = (team, members) => {
83
+ if (members !== undefined) {
84
+ return members;
85
+ }
86
+ return team.members.filter((member) => member.kind === "agent").map((member) => member.id);
87
+ };
88
+ export const resolvePlanMemoryAccess = (plan) => {
89
+ const agentBySource = getAgentNodes(plan);
90
+ const teamBySource = getTeamNodes(plan);
91
+ const memoryAccess = [];
92
+ for (const agent of agentBySource.values()) {
93
+ for (const bank of agent.memory ?? []) {
94
+ memoryAccess.push({
95
+ agentSource: agent.source,
96
+ declaringKind: "agent",
97
+ source: bank.source,
98
+ bank
99
+ });
100
+ }
101
+ }
102
+ for (const team of teamBySource.values()) {
103
+ for (const bank of team.memory ?? []) {
104
+ const allowedMembers = resolveTeamMembersForBank(team, bank.access?.members);
105
+ const validMemberIds = new Set(team.members.map((member) => member.id));
106
+ if (bank.access?.members) {
107
+ for (const memberId of bank.access.members) {
108
+ if (!validMemberIds.has(memberId)) {
109
+ throw new SpawnfileError("validation_error", `Team ${team.name} memory bank ${bank.id} references unknown member ${memberId}`);
110
+ }
111
+ }
112
+ }
113
+ for (const memberId of allowedMembers) {
114
+ const member = team.members.find((memberRef) => memberRef.id === memberId);
115
+ if (!member || member.kind !== "agent") {
116
+ continue;
117
+ }
118
+ const agentNode = agentBySource.get(member.nodeSource);
119
+ if (!agentNode) {
120
+ throw new SpawnfileError("validation_error", `Unable to resolve agent member ${memberId} in team ${team.name} for memory bank ${bank.id}`);
121
+ }
122
+ memoryAccess.push({
123
+ agentSource: agentNode.source,
124
+ declaringKind: "team",
125
+ slotId: memberId,
126
+ source: team.source,
127
+ bank
128
+ });
129
+ }
130
+ }
131
+ }
132
+ if (memoryAccess.length === 0) {
133
+ return;
134
+ }
135
+ const uniqueAccess = new Map();
136
+ for (const access of memoryAccess) {
137
+ const key = `${access.agentSource}::${access.declaringKind}::${access.source}::${access.bank.id}::${access.slotId ?? ""}`;
138
+ uniqueAccess.set(key, access);
139
+ }
140
+ plan.memoryAccess = [...uniqueAccess.values()].sort((left, right) => `${left.agentSource}:${left.bank.id}:${left.source}:${left.slotId ?? ""}`.localeCompare(`${right.agentSource}:${right.bank.id}:${right.source}:${right.slotId ?? ""}`));
141
+ for (const agent of agentBySource.values()) {
142
+ const access = plan.memoryAccess.filter((entry) => entry.agentSource === agent.source);
143
+ if (access.length > 0) {
144
+ agent.memoryAccess = access;
145
+ }
146
+ }
147
+ };
@@ -1,6 +1,8 @@
1
1
  import type { ExecutionBlock, ModelTarget } from "../manifest/index.js";
2
2
  import { type ModelAuthMethod } from "../shared/index.js";
3
3
  import type { EffectiveModelTarget } from "./types.js";
4
+ export declare const CLI_CREDENTIAL_SECRET_NAME = "SPAWNFILE_CLI_AUTH_JSON";
5
+ export declare const modelAuthMethodNeedsCliCredential: (method: ModelAuthMethod) => boolean;
4
6
  export declare const resolveModelProviderEnvName: (provider: string) => string;
5
7
  export declare const listExecutionModelTargets: (execution: ExecutionBlock | undefined) => ModelTarget[];
6
8
  export declare const resolveEffectiveModelTarget: (target: ModelTarget, execution: ExecutionBlock | undefined) => EffectiveModelTarget;
@@ -8,6 +8,8 @@ const MODEL_PROVIDER_ENV_VARS = new Map([
8
8
  ["openrouter", "OPENROUTER_API_KEY"],
9
9
  ["xai", "XAI_API_KEY"]
10
10
  ]);
11
+ export const CLI_CREDENTIAL_SECRET_NAME = "SPAWNFILE_CLI_AUTH_JSON";
12
+ export const modelAuthMethodNeedsCliCredential = (method) => method !== "api_key" && method !== "none";
11
13
  const resolveLegacyModelAuthMethod = (execution, provider) => {
12
14
  const auth = execution?.model?.auth;
13
15
  if (!auth) {
@@ -88,6 +90,10 @@ export const resolveExecutionModelAuthMethods = (execution) => {
88
90
  export const listExecutionModelSecretNames = (execution) => {
89
91
  const secretNames = new Set();
90
92
  for (const target of listEffectiveExecutionModelTargets(execution)) {
93
+ if (modelAuthMethodNeedsCliCredential(target.auth.method)) {
94
+ secretNames.add(CLI_CREDENTIAL_SECRET_NAME);
95
+ continue;
96
+ }
91
97
  if (target.auth.method !== "api_key") {
92
98
  continue;
93
99
  }
@@ -0,0 +1,2 @@
1
+ import type { CompilePlan } from "./types.js";
2
+ export declare const validateAllowedWakeSenders: (plan: CompilePlan) => void;
@@ -0,0 +1,42 @@
1
+ import { SpawnfileError } from "../shared/index.js";
2
+ const rootTeamNode = (plan) => {
3
+ const rootNodes = plan.nodes
4
+ .map((entry) => entry.kind === "team" &&
5
+ entry.value.kind === "team" &&
6
+ entry.value.source === plan.root
7
+ ? entry.value
8
+ : undefined)
9
+ .filter((team) => Boolean(team));
10
+ if (rootNodes.length !== 1) {
11
+ throw new SpawnfileError("validation_error", `Moltnet attachment validation requires exactly one source-root team; found ${rootNodes.length}`);
12
+ }
13
+ return rootNodes[0];
14
+ };
15
+ const describeAttachment = (network, memberId) => `${network}/${memberId ?? "unknown"}`;
16
+ export const validateAllowedWakeSenders = (plan) => {
17
+ let rootTeam;
18
+ const rootParticipants = () => {
19
+ if (!rootTeam) {
20
+ rootTeam = rootTeamNode(plan);
21
+ }
22
+ return rootTeam.externalParticipants ?? [];
23
+ };
24
+ for (const node of plan.nodes) {
25
+ if (node.value.kind !== "agent")
26
+ continue;
27
+ const attachments = node.value.surfaces?.moltnet ?? [];
28
+ for (const attachment of attachments) {
29
+ if (!attachment.dms?.allowedWakeSenders?.length) {
30
+ continue;
31
+ }
32
+ const rootNodeParticipants = rootParticipants();
33
+ for (const authorId of attachment.dms.allowedWakeSenders) {
34
+ const compatible = rootNodeParticipants.filter((service) => service.id === authorId &&
35
+ service.surfaces.moltnet.some((entry) => entry.network === attachment.network && entry.dms.enabled === true));
36
+ if (compatible.length !== 1) {
37
+ throw new SpawnfileError("validation_error", `Moltnet attachment ${node.value.name}/${describeAttachment(attachment.network, attachment.memberId)} has ${compatible.length} root matches for allowed_wake_senders entry ${authorId}`);
38
+ }
39
+ }
40
+ }
41
+ }
42
+ };
@@ -0,0 +1,26 @@
1
+ import type { ResolvedTeamNode } from "./types.js";
2
+ export declare const createMoltnetExternalParticipantArtifactPath: (networkId: string, memberId: string) => string;
3
+ /**
4
+ * Derives the host-mounted docker volume name for a durable mount.
5
+ *
6
+ * `runId` (the compiling process's resolved NOOPOLIS_RUN_ID, see
7
+ * src/runtime/common.ts) is the run-scoping key: `spawnfile run`/`spawnfile
8
+ * up` always call `ensureNoopolisRunId()` before compiling, so a fresh
9
+ * invocation with no host-pinned run id gets a fresh generated one and
10
+ * therefore a fresh volume — two concurrent/successive runs (e.g. two
11
+ * memetics replicates) never share durable state. A cold restart that wants
12
+ * to recall the same run's memory sets the SAME `NOOPOLIS_RUN_ID` before
13
+ * re-running, which reproduces this same volume name and remounts it.
14
+ * Omitted (a bare `spawnfile compile`/`spawnfile build` with no run id in
15
+ * the host env) reproduces the pre-run-scoping name exactly, so standard
16
+ * compiles stay byte-identical.
17
+ *
18
+ * `explicitName` (an author-declared `persistence.name`) always wins over
19
+ * both project/id and run scoping — an explicit name is opt-in shared/
20
+ * reused state by author intent, not something this helper should silently
21
+ * fragment across runs.
22
+ */
23
+ export declare const createPersistentVolumeName: (planRoot: string, id: string, explicitName?: string, runId?: string) => string;
24
+ export declare const toContainerRootfsPath: (rootfsPath: string) => string;
25
+ export declare const isNetworkHttpEnabled: (network: NonNullable<ResolvedTeamNode["networks"]>[number]) => boolean;
26
+ export declare const resolveNetworkPort: (network: NonNullable<ResolvedTeamNode["networks"]>[number], fallbackPort: number) => number;
@@ -0,0 +1,49 @@
1
+ import { SpawnfileError } from "../shared/index.js";
2
+ import { createShortHash, slugify } from "./helpers.js";
3
+ const ROOTFS_PREFIX = "container/rootfs";
4
+ const ARTIFACT_SEGMENT = /^[a-z][a-z0-9-]{0,62}$/u;
5
+ export const createMoltnetExternalParticipantArtifactPath = (networkId, memberId) => {
6
+ if (!ARTIFACT_SEGMENT.test(networkId) ||
7
+ !/^[a-z][a-z0-9-]{0,62}(?:\.[a-z][a-z0-9-]{0,62}){0,7}$/u.test(memberId) ||
8
+ Buffer.byteLength(memberId, "ascii") > 255) {
9
+ throw new SpawnfileError("validation_error", "invalid Moltnet external participant artifact path segment");
10
+ }
11
+ return `moltnet/external-participants/${networkId}/${memberId}.json`;
12
+ };
13
+ const truncateSegment = (value, maxLength) => value.length > maxLength ? value.slice(0, maxLength).replace(/[-_.]+$/u, "") : value;
14
+ /**
15
+ * Derives the host-mounted docker volume name for a durable mount.
16
+ *
17
+ * `runId` (the compiling process's resolved NOOPOLIS_RUN_ID, see
18
+ * src/runtime/common.ts) is the run-scoping key: `spawnfile run`/`spawnfile
19
+ * up` always call `ensureNoopolisRunId()` before compiling, so a fresh
20
+ * invocation with no host-pinned run id gets a fresh generated one and
21
+ * therefore a fresh volume — two concurrent/successive runs (e.g. two
22
+ * memetics replicates) never share durable state. A cold restart that wants
23
+ * to recall the same run's memory sets the SAME `NOOPOLIS_RUN_ID` before
24
+ * re-running, which reproduces this same volume name and remounts it.
25
+ * Omitted (a bare `spawnfile compile`/`spawnfile build` with no run id in
26
+ * the host env) reproduces the pre-run-scoping name exactly, so standard
27
+ * compiles stay byte-identical.
28
+ *
29
+ * `explicitName` (an author-declared `persistence.name`) always wins over
30
+ * both project/id and run scoping — an explicit name is opt-in shared/
31
+ * reused state by author intent, not something this helper should silently
32
+ * fragment across runs.
33
+ */
34
+ export const createPersistentVolumeName = (planRoot, id, explicitName, runId) => {
35
+ if (explicitName && explicitName.trim().length > 0) {
36
+ return explicitName.trim();
37
+ }
38
+ const project = truncateSegment(slugify(planRoot.split("/").slice(-2, -1)[0] ?? "project") || "project", 32);
39
+ const suffix = truncateSegment(slugify(id) || "state", 48);
40
+ const trimmedRunId = runId?.trim();
41
+ if (!trimmedRunId) {
42
+ return `spawnfile-${project}-${suffix}-${createShortHash(`${planRoot}:${id}`)}`;
43
+ }
44
+ const runSegment = truncateSegment(slugify(trimmedRunId) || "run", 24);
45
+ return `spawnfile-${project}-${suffix}-${runSegment}-${createShortHash(`${planRoot}:${id}:${trimmedRunId}`)}`;
46
+ };
47
+ export const toContainerRootfsPath = (rootfsPath) => `/${rootfsPath.replace(`${ROOTFS_PREFIX}/`, "")}`;
48
+ export const isNetworkHttpEnabled = (network) => network.server?.mode === "managed" && network.server.human_ingress === true;
49
+ export const resolveNetworkPort = (network, fallbackPort) => network.server?.mode === "managed" ? network.server.listen.port : fallbackPort;
@@ -0,0 +1,46 @@
1
+ import type { EmittedFile } from "../runtime/index.js";
2
+ import type { TeamNetworkServer } from "../manifest/index.js";
3
+ import type { MoltnetSecretPatch } from "./moltnetConfigLowering.js";
4
+ import type { MoltnetExternalParticipantArtifactV1 } from "./moltnetExternalParticipantArtifact.js";
5
+ export interface MoltnetServerPlan {
6
+ baseUrl: string;
7
+ configPath?: string;
8
+ id: string;
9
+ mode: "external" | "managed";
10
+ name: string;
11
+ networkId: string;
12
+ port?: number;
13
+ rooms: Array<{
14
+ id: string;
15
+ members: string[];
16
+ name?: string;
17
+ visibility?: "public" | "private";
18
+ write_policy?: "members" | "operators" | "registered_agents";
19
+ }>;
20
+ server: TeamNetworkServer;
21
+ secretPatches: MoltnetSecretPatch[];
22
+ teamSource: string;
23
+ }
24
+ export interface MoltnetNodePlan {
25
+ configPath: string;
26
+ credentialAgentId?: string;
27
+ credentialId?: string;
28
+ credentialSecret?: string;
29
+ memberId?: string;
30
+ networkId: string;
31
+ }
32
+ export interface MoltnetPersistentMount {
33
+ id: string;
34
+ mountPath: string;
35
+ reason: string;
36
+ volumeName: string;
37
+ }
38
+ export interface MoltnetArtifacts {
39
+ externalParticipantArtifacts?: MoltnetExternalParticipantArtifactV1[];
40
+ files: EmittedFile[];
41
+ nodePlans: MoltnetNodePlan[];
42
+ persistentMounts: MoltnetPersistentMount[];
43
+ ports: number[];
44
+ publishedPorts: number[];
45
+ serverPlans: MoltnetServerPlan[];
46
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,42 +1,4 @@
1
- import type { EmittedFile } from "../runtime/index.js";
2
- import type { TeamNetworkServer } from "../manifest/index.js";
3
- import { type MoltnetSecretPatch } from "./moltnetConfigLowering.js";
1
+ import type { MoltnetArtifacts } from "./moltnetArtifactTypes.js";
4
2
  import type { CompilePlan } from "./types.js";
5
- export interface MoltnetServerPlan {
6
- baseUrl: string;
7
- configPath?: string;
8
- id: string;
9
- mode: "external" | "managed";
10
- name: string;
11
- networkId: string;
12
- port?: number;
13
- rooms: Array<{
14
- id: string;
15
- members: string[];
16
- name?: string;
17
- visibility?: "public" | "private";
18
- write_policy?: "members" | "operators" | "registered_agents";
19
- }>;
20
- server: TeamNetworkServer;
21
- secretPatches: MoltnetSecretPatch[];
22
- teamSource: string;
23
- }
24
- export interface MoltnetNodePlan {
25
- configPath: string;
26
- networkId: string;
27
- }
28
- export interface MoltnetPersistentMount {
29
- id: string;
30
- mountPath: string;
31
- reason: string;
32
- volumeName: string;
33
- }
34
- export interface MoltnetArtifacts {
35
- files: EmittedFile[];
36
- nodePlans: MoltnetNodePlan[];
37
- persistentMounts: MoltnetPersistentMount[];
38
- ports: number[];
39
- publishedPorts: number[];
40
- serverPlans: MoltnetServerPlan[];
41
- }
3
+ export type { MoltnetArtifacts, MoltnetNodePlan, MoltnetPersistentMount, MoltnetServerPlan } from "./moltnetArtifactTypes.js";
42
4
  export declare const generateMoltnetArtifacts: (plan: CompilePlan) => Promise<MoltnetArtifacts | null>;