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