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
@@ -1,109 +1,38 @@
1
- import { buildDistributionReport, createDistributionImageLabels, DISTRIBUTION_REPORT_OUTPUT_FILE, normalizeProjectLabelSlug } from "../distribution/index.js";
1
+ import { createHash } from "node:crypto";
2
+ import { buildDistributionReport, createDistributionImageLabels, DISTRIBUTION_REPORT_OUTPUT_FILE, normalizeProjectLabelSlug, WORLD_BINDINGS_IMAGE_PATH } from "../distribution/index.js";
2
3
  import { SpawnfileError } from "../shared/index.js";
4
+ import { createMoltnetSummary, createOrganizationSummary } from "./containerArtifactSummaries.js";
3
5
  import { createEnvVariableMap, createRuntimeTargetPlans } from "./containerArtifactsPlans.js";
6
+ import { createDockerIgnoreContent } from "./dockerBuildContext.js";
7
+ import { createDaimonTelemetryArtifacts } from "./daimonTelemetryArtifacts.js";
4
8
  import { createRootfsFiles, renderDockerfile, renderEntrypoint, renderEnvExample } from "./containerArtifactsRender.js";
5
- const createOrganizationSummary = (plan, compiledNodes) => {
6
- const nodes = compiledNodes.map((node) => ({
7
- id: node.id ?? `${node.kind}:${node.slug}`,
8
- kind: node.kind,
9
- name: node.value.name,
10
- runtimeName: node.runtimeName,
11
- source: node.value.source
12
- }));
13
- const rootNode = nodes.find((node) => node.source === plan.root)
14
- ?? nodes.find((node) => !plan.edges.some((edge) => edge.to === node.id))
15
- ?? nodes[0];
16
- if (!rootNode) {
17
- throw new SpawnfileError("compile_error", `Unable to resolve the root node for ${plan.root}`);
18
- }
19
- const memberEdges = plan.edges.filter((edge) => edge.kind === "team_member");
20
- const teamsByAgent = new Map();
21
- for (const edge of memberEdges) {
22
- teamsByAgent.set(edge.to, [...(teamsByAgent.get(edge.to) ?? []), edge.from]);
23
- }
24
- const agentNodes = nodes.filter((node) => node.kind === "agent");
25
- const teamNodes = nodes.filter((node) => node.kind === "team");
26
- const agentIds = new Set(agentNodes.map((node) => node.id));
27
- return {
28
- agents: agentNodes
29
- .map((node) => ({
30
- id: node.id,
31
- name: node.name,
32
- runtime: node.runtimeName,
33
- teams: [...(teamsByAgent.get(node.id) ?? [])].sort()
34
- }))
35
- .sort((left, right) => left.id.localeCompare(right.id)),
36
- project: rootNode.name,
37
- teams: teamNodes
38
- .map((node) => ({
39
- agents: memberEdges
40
- .filter((edge) => edge.from === node.id && agentIds.has(edge.to))
41
- .map((edge) => edge.to)
42
- .sort(),
43
- id: node.id,
44
- name: node.name
45
- }))
46
- .sort((left, right) => left.id.localeCompare(right.id))
47
- };
48
- };
49
- const resolveMoltnetOperatorTokenSecret = (plan) => {
50
- const client = plan.server.auth.client;
51
- if (!client) {
52
- return undefined;
53
- }
54
- if (client.token_env) {
55
- return client.token_env;
56
- }
57
- if (client.token_path) {
58
- return client.token_path;
59
- }
60
- if (!client.token_id) {
61
- return undefined;
9
+ import { createMemoryArtifactBundle } from "./memoryArtifacts.js";
10
+ import { SIMFILE_WORLD_BINDINGS_VERSION, WORLD_BINDINGS_OUTPUT_FILE } from "./worldBindings.js";
11
+ export const createContainerArtifacts = async (plan, compiledNodes, options = {}) => {
12
+ const runtimePlans = await createRuntimeTargetPlans(plan, compiledNodes, options.worldBindings);
13
+ const daimonTelemetryArtifacts = createDaimonTelemetryArtifacts(plan, runtimePlans, compiledNodes);
14
+ const envVariableMap = createEnvVariableMap(compiledNodes, runtimePlans, options.moltnet);
15
+ const projectedWorldTokenEnvNames = [...new Set(runtimePlans.flatMap((runtimePlan) => runtimePlan.worldTokenEnvNames ?? []))].sort();
16
+ const worldTokenEnvNames = (options.worldBindings?.artifact.bindings ?? [])
17
+ .map((binding) => binding.token_env)
18
+ .sort();
19
+ const recipeEnvNames = new Set(runtimePlans.flatMap((runtimePlan) => Object.keys(runtimePlan.recipeEnv ?? {})));
20
+ const moltnetSecretEnvNames = new Set((options.moltnet?.serverPlans ?? []).flatMap((serverPlan) => serverPlan.secretPatches.map((patch) => patch.envName)));
21
+ for (const name of worldTokenEnvNames) {
22
+ if (envVariableMap.has(name) || recipeEnvNames.has(name) || moltnetSecretEnvNames.has(name)) {
23
+ throw new SpawnfileError("validation_error", `World token env ${name} conflicts with an existing environment authority`);
24
+ }
62
25
  }
63
- return plan.server.auth.tokens?.find((token) => token.id === client.token_id)?.secret;
64
- };
65
- const createMoltnetSummary = (moltnet) => {
66
- if (!moltnet) {
67
- return undefined;
26
+ for (const name of projectedWorldTokenEnvNames) {
27
+ envVariableMap.set(name, {
28
+ categories: ["runtime"],
29
+ description: "World bearer token for a native runtime projection",
30
+ generated: false,
31
+ name,
32
+ required: true
33
+ });
68
34
  }
69
- return {
70
- node_plans: moltnet.nodePlans.map((plan) => ({
71
- config_path: plan.configPath,
72
- network_id: plan.networkId
73
- })),
74
- server_plans: moltnet.serverPlans.map((plan) => {
75
- const operatorTokenSecret = resolveMoltnetOperatorTokenSecret(plan);
76
- return {
77
- auth_mode: plan.server.auth.mode,
78
- base_url: plan.baseUrl,
79
- ...(plan.configPath ? { config_path: plan.configPath } : {}),
80
- ...(plan.server.mode === "managed"
81
- ? { direct_messages: plan.server.direct_messages }
82
- : {}),
83
- id: plan.id,
84
- mode: plan.mode,
85
- network_id: plan.networkId,
86
- ...(operatorTokenSecret ? { operator_token_secret: operatorTokenSecret } : {}),
87
- ...(plan.port ? { port: plan.port } : {}),
88
- ...(plan.server.auth.public_read !== undefined
89
- ? { public_read: plan.server.auth.public_read }
90
- : {}),
91
- rooms: plan.rooms.map((room) => ({
92
- id: room.id,
93
- members: [...room.members],
94
- ...(room.visibility ? { visibility: room.visibility } : {}),
95
- ...(room.write_policy ? { write_policy: room.write_policy } : {})
96
- })),
97
- ...(plan.server.mode === "managed"
98
- ? { store_kind: plan.server.store.kind }
99
- : {})
100
- };
101
- })
102
- };
103
- };
104
- export const createContainerArtifacts = async (plan, compiledNodes, options = {}) => {
105
- const runtimePlans = await createRuntimeTargetPlans(plan, compiledNodes);
106
- const envVariables = [...createEnvVariableMap(compiledNodes, runtimePlans).values()].sort((left, right) => left.name.localeCompare(right.name));
35
+ const envVariables = [...envVariableMap.values()].sort((left, right) => left.name.localeCompare(right.name));
107
36
  const requiredSecrets = envVariables
108
37
  .filter((variable) => variable.required)
109
38
  .map((variable) => variable.name)
@@ -116,14 +45,50 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
116
45
  .filter((variable) => variable.required && variable.categories.includes("runtime"))
117
46
  .map((variable) => variable.name)
118
47
  .sort();
119
- const persistentMounts = (options.moltnet?.persistentMounts ?? [])
120
- .map((mount) => ({
121
- id: mount.id,
122
- mount_path: mount.mountPath,
123
- reason: mount.reason,
124
- volume_name: mount.volumeName
125
- }))
126
- .sort((left, right) => left.id.localeCompare(right.id));
48
+ const memoryArtifacts = createMemoryArtifactBundle(plan);
49
+ const persistentMountsById = new Map();
50
+ for (const mount of memoryArtifacts.mounts) {
51
+ const existing = persistentMountsById.get(mount.id);
52
+ if (existing) {
53
+ if (existing.mount_path !== mount.mount_path || existing.volume_name !== mount.volume_name) {
54
+ throw new Error(`Container persistent mount ${mount.id} resolves to conflicting targets`);
55
+ }
56
+ continue;
57
+ }
58
+ persistentMountsById.set(mount.id, {
59
+ mount_path: mount.mount_path,
60
+ reason: mount.reason,
61
+ volume_name: mount.volume_name
62
+ });
63
+ }
64
+ const persistentMounts = [
65
+ ...memoryArtifacts.mounts,
66
+ ...daimonTelemetryArtifacts.mounts,
67
+ ...((options.moltnet?.persistentMounts ?? []).map((mount) => ({
68
+ id: mount.id,
69
+ mount_path: mount.mountPath,
70
+ reason: mount.reason,
71
+ volume_name: mount.volumeName
72
+ })))
73
+ ]
74
+ .sort((left, right) => left.id.localeCompare(right.id))
75
+ .filter((mount) => {
76
+ const existing = persistentMountsById.get(mount.id);
77
+ if (existing) {
78
+ if (existing.mount_path === mount.mount_path &&
79
+ existing.volume_name === mount.volume_name &&
80
+ existing.reason === mount.reason) {
81
+ return true;
82
+ }
83
+ throw new Error(`Container persistent mount ${mount.id} resolves to conflicting targets`);
84
+ }
85
+ persistentMountsById.set(mount.id, {
86
+ mount_path: mount.mount_path,
87
+ reason: mount.reason,
88
+ volume_name: mount.volume_name
89
+ });
90
+ return true;
91
+ });
127
92
  const runtimeInternalPorts = runtimePlans.flatMap((plan) => plan.port ? [plan.port] : []);
128
93
  const internalPorts = [...new Set([...runtimeInternalPorts, ...(options.moltnet?.ports ?? [])])].sort((left, right) => left - right);
129
94
  const runtimePublishedPorts = runtimePlans.flatMap((plan) => plan.publishedPort ? [plan.publishedPort] : []);
@@ -140,18 +105,25 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
140
105
  ...new Set(runtimePlans.flatMap((plan) => (plan.instancePaths.homePath ? [plan.instancePaths.homePath] : [])))
141
106
  ].sort();
142
107
  const runtimeInstances = runtimePlans
143
- .map((plan) => ({
144
- config_path: plan.instancePaths.configPath,
145
- home_path: plan.instancePaths.homePath ?? null,
146
- id: plan.id,
147
- internal_port: plan.port ?? null,
148
- model_auth_methods: plan.modelAuthMethods,
149
- model_secrets_required: plan.modelSecretsRequired,
150
- node_ids: [...(plan.sourceIds ?? [])],
151
- published_port: plan.publishedPort ?? null,
152
- runtime: plan.runtimeName,
153
- workspace_path: plan.instancePaths.workspacePath
154
- }))
108
+ .map((plan) => {
109
+ const telemetryMountIds = daimonTelemetryArtifacts.telemetryMountIdsByInstance.get(plan.id);
110
+ return {
111
+ config_path: plan.instancePaths.configPath,
112
+ home_path: plan.instancePaths.homePath ?? null,
113
+ id: plan.id,
114
+ internal_port: plan.port ?? null,
115
+ model_auth_methods: plan.modelAuthMethods,
116
+ model_secrets_required: plan.modelSecretsRequired,
117
+ ...(plan.engineByNodeId && Object.keys(plan.engineByNodeId).length > 0
118
+ ? { engine_by_node_id: plan.engineByNodeId }
119
+ : {}),
120
+ node_ids: [...(plan.sourceIds ?? [])],
121
+ published_port: plan.publishedPort ?? null,
122
+ runtime: plan.runtimeName,
123
+ ...(telemetryMountIds ? { telemetry_mount_ids: telemetryMountIds } : {}),
124
+ workspace_path: plan.instancePaths.workspacePath
125
+ };
126
+ })
155
127
  .sort((left, right) => left.id.localeCompare(right.id));
156
128
  const runtimesInstalled = [...new Set(runtimePlans.map((plan) => plan.runtimeName))].sort();
157
129
  const workspaceResources = [
@@ -168,7 +140,7 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
168
140
  }
169
141
  ]))).values()
170
142
  ].sort((left, right) => left.link_path.localeCompare(right.link_path) || left.id.localeCompare(right.id));
171
- const moltnetSummary = createMoltnetSummary(options.moltnet);
143
+ const moltnetSummary = createMoltnetSummary(options.moltnet, options.moltnetRelease);
172
144
  const organization = createOrganizationSummary(plan, compiledNodes);
173
145
  const projectSlug = normalizeProjectLabelSlug(organization.project);
174
146
  const mergedModelAuthMethods = Object.assign({}, ...runtimePlans.map((runtimePlan) => runtimePlan.modelAuthMethods));
@@ -182,6 +154,13 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
182
154
  }
183
155
  ])).values()
184
156
  ];
157
+ const worldBindingsEvidence = options.worldBindings
158
+ ? {
159
+ artifact_path: WORLD_BINDINGS_IMAGE_PATH,
160
+ digest: `sha256:${createHash("sha256").update(options.worldBindings.canonicalBytes).digest("hex")}`,
161
+ schema: SIMFILE_WORLD_BINDINGS_VERSION
162
+ }
163
+ : undefined;
185
164
  const distributionReport = buildDistributionReport({
186
165
  envVariables: envVariables.map((variable) => ({
187
166
  categories: variable.categories,
@@ -210,12 +189,16 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
210
189
  mount: resource.mount,
211
190
  sharing: resource.sharing
212
191
  })),
213
- runtimeInstances
192
+ runtimeInstances,
193
+ ...(worldBindingsEvidence ? { worldBindings: worldBindingsEvidence } : {})
214
194
  });
215
195
  const distributionLabels = createDistributionImageLabels(projectSlug, distributionReport.compile_fingerprint);
216
196
  const files = [
217
197
  ...createRootfsFiles(runtimePlans),
218
198
  ...(options.moltnet?.files ?? []),
199
+ ...(options.worldBindings
200
+ ? [{ content: options.worldBindings.canonicalBytes, mode: 0o600, path: WORLD_BINDINGS_OUTPUT_FILE }]
201
+ : []),
219
202
  {
220
203
  content: `${JSON.stringify(distributionReport, null, 2)}\n`,
221
204
  path: DISTRIBUTION_REPORT_OUTPUT_FILE
@@ -224,12 +207,24 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
224
207
  content: await renderDockerfile(runtimePlans, {
225
208
  distribution: {
226
209
  labels: distributionLabels,
227
- reportOutputFile: DISTRIBUTION_REPORT_OUTPUT_FILE
210
+ reportOutputFile: DISTRIBUTION_REPORT_OUTPUT_FILE,
211
+ ...(options.worldBindings
212
+ ? { worldBindingsOutputFile: WORLD_BINDINGS_OUTPUT_FILE }
213
+ : {})
228
214
  },
229
215
  hasMoltnet: Boolean(options.moltnet),
230
216
  hasStagedMoltnetBinaries: options.hasStagedMoltnetBinaries,
217
+ ...(options.moltnet
218
+ ? {
219
+ moltnet: {
220
+ nodePlans: options.moltnet.nodePlans,
221
+ serverPlans: options.moltnet.serverPlans
222
+ }
223
+ }
224
+ : {}),
231
225
  moltnetPublishedPorts: options.moltnet?.publishedPorts ?? [],
232
- persistentMountPaths: persistentMounts.map((mount) => mount.mount_path)
226
+ persistentMountPaths: persistentMounts.map((mount) => mount.mount_path),
227
+ runtimePackageOverrides: options.runtimePackageOverrides
233
228
  }),
234
229
  path: "Dockerfile"
235
230
  },
@@ -237,6 +232,7 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
237
232
  content: renderEntrypoint(runtimePlans, requiredSecrets.filter((secretName) => !modelSecretsRequired.includes(secretName)), {
238
233
  moltnet: options.moltnet
239
234
  ? {
235
+ externalParticipantArtifacts: options.moltnet.externalParticipantArtifacts ?? [],
240
236
  nodePlans: options.moltnet.nodePlans,
241
237
  serverPlans: options.moltnet.serverPlans
242
238
  }
@@ -247,6 +243,10 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
247
243
  {
248
244
  content: renderEnvExample(envVariables),
249
245
  path: ".env.example"
246
+ },
247
+ {
248
+ content: createDockerIgnoreContent(),
249
+ path: ".dockerignore"
250
250
  }
251
251
  ];
252
252
  return {
@@ -280,6 +280,7 @@ export const createContainerArtifacts = async (plan, compiledNodes, options = {}
280
280
  runtime_secrets_required: runtimeSecretsRequired,
281
281
  runtimes_installed: runtimesInstalled,
282
282
  secrets_required: requiredSecrets,
283
+ ...(memoryArtifacts.memories.length > 0 ? { memory: memoryArtifacts.memories } : {}),
283
284
  ...(persistentMounts.length > 0 ? { persistent_mounts: persistentMounts } : {}),
284
285
  ...(workspaceResources.length > 0 ? { workspace_resources: workspaceResources } : {})
285
286
  }
@@ -1,4 +1,6 @@
1
- import type { CompilePlan } from "./types.js";
2
1
  import type { CompiledNodeArtifact, ContainerEnvVariable, RuntimeTargetPlan } from "./containerArtifactsTypes.js";
3
- export declare const createEnvVariableMap: (compiledNodes: CompiledNodeArtifact[], runtimePlans: RuntimeTargetPlan[]) => Map<string, ContainerEnvVariable>;
4
- export declare const createRuntimeTargetPlans: (plan: CompilePlan, compiledNodes: CompiledNodeArtifact[]) => Promise<RuntimeTargetPlan[]>;
2
+ import type { MoltnetArtifacts } from "./moltnetArtifacts.js";
3
+ import type { CompilePlan } from "./types.js";
4
+ import { type ResolvedWorldBindings } from "./worldBindings.js";
5
+ export declare const createEnvVariableMap: (compiledNodes: CompiledNodeArtifact[], runtimePlans: RuntimeTargetPlan[], moltnet?: MoltnetArtifacts | null) => Map<string, ContainerEnvVariable>;
6
+ export declare const createRuntimeTargetPlans: (plan: CompilePlan, compiledNodes: CompiledNodeArtifact[], worldBindings?: ResolvedWorldBindings) => Promise<RuntimeTargetPlan[]>;
@@ -1,69 +1,10 @@
1
- import path from "node:path";
2
1
  import { createRuntimeInstallRecipe, getRuntimeAdapter } from "../runtime/index.js";
3
- import { SpawnfileError } from "../shared/index.js";
4
2
  import { listAgentSurfaceSecretNames } from "./agentSurfaces.js";
5
- import { listExecutionModelSecretNames, resolveExecutionModelAuthMethods } from "./modelEnv.js";
6
3
  import { resolveTargetResources } from "./containerTargetResources.js";
7
- const CONFIG_FILE_PLACEHOLDER = "<config-file>";
8
- const INSTANCE_ROOT_PLACEHOLDER = "<instance-root>";
9
- const createDefaultTargets = (inputs) => inputs.map((input) => ({
10
- files: input.emittedFiles,
11
- id: `${input.kind}-${input.slug}`,
12
- sourceIds: [input.id]
13
- }));
14
- const resolveTargetEnvFiles = (configPath, target) => (target.envFiles ?? []).map((binding) => ({
15
- envName: binding.envName,
16
- filePath: path.posix.join(path.posix.dirname(configPath), binding.relativePath)
17
- }));
18
- const resolveTargetConfigEnvBindings = (meta, target) => [...(meta.configEnvBindings ?? []), ...(target.configEnvBindings ?? [])];
19
- const assertTargetHasConfig = (runtimeName, targetId, meta, files) => {
20
- if (!files.some((file) => file.path === meta.configFileName)) {
21
- throw new SpawnfileError("runtime_error", `Container target ${targetId} for ${runtimeName} is missing ${meta.configFileName}`);
22
- }
23
- };
24
- const createPackageIdentity = (pkg) => `${pkg.manager}\u0000${pkg.name}\u0000${pkg.version ?? ""}\u0000${pkg.scope ?? ""}`;
25
- const createPackageConflictIdentity = (pkg) => `${pkg.manager}\u0000${pkg.name}`;
26
- const createPackageLabel = (pkg) => `${pkg.manager} package ${pkg.name}`;
27
- const resolveTargetPackages = (target, inputs) => {
28
- const sourceIds = new Set(target.sourceIds ?? []);
29
- if (sourceIds.size === 0) {
30
- return [];
31
- }
32
- const byIdentity = new Map();
33
- for (const input of inputs) {
34
- if (!sourceIds.has(input.id) || input.value.kind !== "agent") {
35
- continue;
36
- }
37
- const candidatePackages = input.value.packages ?? [];
38
- for (const currentPackage of candidatePackages) {
39
- const conflictIdentity = createPackageConflictIdentity(currentPackage);
40
- const existingPackage = byIdentity.get(conflictIdentity);
41
- if (!existingPackage) {
42
- byIdentity.set(conflictIdentity, currentPackage);
43
- continue;
44
- }
45
- if (createPackageIdentity(existingPackage) !== createPackageIdentity(currentPackage)) {
46
- throw new SpawnfileError("validation_error", `Container target ${target.id} declares conflicting package definitions for ${createPackageLabel(currentPackage)}`);
47
- }
48
- }
49
- }
50
- return [...byIdentity.values()].sort((left, right) => createPackageIdentity(left).localeCompare(createPackageIdentity(right)));
51
- };
52
- const replaceContainerPathTemplate = (template, instanceRoot, configFileName) => template
53
- .replaceAll(INSTANCE_ROOT_PLACEHOLDER, instanceRoot)
54
- .replaceAll(CONFIG_FILE_PLACEHOLDER, configFileName);
55
- const resolveInstancePaths = (runtimeName, targetId, meta) => {
56
- const instanceRoot = `/var/lib/spawnfile/instances/${runtimeName}/${targetId}`;
57
- return {
58
- configPath: replaceContainerPathTemplate(meta.instancePaths.configPathTemplate, instanceRoot, meta.configFileName),
59
- homePath: meta.instancePaths.homePathTemplate
60
- ? replaceContainerPathTemplate(meta.instancePaths.homePathTemplate, instanceRoot, meta.configFileName)
61
- : undefined,
62
- instanceRoot,
63
- workspacePath: replaceContainerPathTemplate(meta.instancePaths.workspacePathTemplate, instanceRoot, meta.configFileName)
64
- };
65
- };
66
- export const createEnvVariableMap = (compiledNodes, runtimePlans) => {
4
+ import { assertTargetHasConfig, createDefaultTargets, resolveInstancePaths, resolveTargetConfigEnvBindings, resolveTargetEnvFiles, resolveTargetExposure, resolveTargetModelAuthMethods, resolveTargetModelSecrets, resolveTargetPackages } from "./containerTargetPlanResolution.js";
5
+ import { listExecutionModelSecretNames } from "./modelEnv.js";
6
+ import { findWorldBindingForNode } from "./worldBindings.js";
7
+ export const createEnvVariableMap = (compiledNodes, runtimePlans, moltnet) => {
67
8
  const variables = new Map();
68
9
  const register = (name, required, description, category, generated = false) => {
69
10
  const current = variables.get(name);
@@ -89,9 +30,8 @@ export const createEnvVariableMap = (compiledNodes, runtimePlans) => {
89
30
  };
90
31
  for (const node of compiledNodes) {
91
32
  if (node.value.kind === "agent") {
92
- for (const secret of node.value.secrets) {
33
+ for (const secret of node.value.secrets)
93
34
  registerSecret(secret);
94
- }
95
35
  for (const secretName of listExecutionModelSecretNames(node.value.execution)) {
96
36
  register(secretName, true, `Model provider auth for ${secretName}`, "model");
97
37
  }
@@ -100,9 +40,8 @@ export const createEnvVariableMap = (compiledNodes, runtimePlans) => {
100
40
  }
101
41
  continue;
102
42
  }
103
- for (const secret of node.value.shared.secrets) {
43
+ for (const secret of node.value.shared.secrets)
104
44
  registerSecret(secret);
105
- }
106
45
  }
107
46
  for (const runtimePlan of runtimePlans) {
108
47
  for (const variable of runtimePlan.meta.env ?? []) {
@@ -112,52 +51,14 @@ export const createEnvVariableMap = (compiledNodes, runtimePlans) => {
112
51
  register(binding.envName, true, `Injected into ${runtimePlan.runtimeName} runtime config`, "runtime", binding.generated ?? false);
113
52
  }
114
53
  }
115
- return variables;
116
- };
117
- const resolveTargetModelSecrets = (target, inputs) => {
118
- const sourceIds = new Set(target.sourceIds ?? []);
119
- if (sourceIds.size === 0) {
120
- return [];
121
- }
122
- const secretNames = new Set();
123
- for (const input of inputs) {
124
- if (!sourceIds.has(input.id) || input.value.kind !== "agent") {
125
- continue;
126
- }
127
- for (const secretName of listExecutionModelSecretNames(input.value.execution)) {
128
- secretNames.add(secretName);
129
- }
130
- }
131
- return [...secretNames].sort();
132
- };
133
- const resolveTargetModelAuthMethods = (target, inputs) => {
134
- const sourceIds = new Set(target.sourceIds ?? []);
135
- if (sourceIds.size === 0) {
136
- return {};
137
- }
138
- const methods = new Map();
139
- for (const input of inputs) {
140
- if (!sourceIds.has(input.id) || input.value.kind !== "agent") {
141
- continue;
142
- }
143
- for (const [provider, method] of Object.entries(resolveExecutionModelAuthMethods(input.value.execution))) {
144
- const existingMethod = methods.get(provider);
145
- if (existingMethod && existingMethod !== method) {
146
- throw new SpawnfileError("validation_error", `Container target ${target.id} declares conflicting auth methods for provider ${provider}`);
147
- }
148
- methods.set(provider, method);
54
+ for (const serverPlan of moltnet?.serverPlans ?? []) {
55
+ for (const patch of serverPlan.secretPatches) {
56
+ register(patch.envName, true, `Managed Moltnet secret for ${serverPlan.networkId}`, "surface");
149
57
  }
150
58
  }
151
- return Object.fromEntries([...methods.entries()].sort(([left], [right]) => left.localeCompare(right)));
152
- };
153
- const resolveTargetExposure = (target, inputs) => {
154
- const sourceIds = new Set(target.sourceIds ?? []);
155
- if (sourceIds.size === 0) {
156
- return false;
157
- }
158
- return inputs.some((input) => sourceIds.has(input.id) && input.value.kind === "agent" && input.value.expose === true);
59
+ return variables;
159
60
  };
160
- export const createRuntimeTargetPlans = async (plan, compiledNodes) => {
61
+ export const createRuntimeTargetPlans = async (plan, compiledNodes, worldBindings) => {
161
62
  const runtimeNames = Object.keys(plan.runtimes).sort();
162
63
  const runtimePlans = [];
163
64
  for (const runtimeName of runtimeNames) {
@@ -165,13 +66,20 @@ export const createRuntimeTargetPlans = async (plan, compiledNodes) => {
165
66
  const recipe = await createRuntimeInstallRecipe(runtimeName);
166
67
  const targetInputs = compiledNodes
167
68
  .filter((node) => node.runtimeName === runtimeName && node.emittedFiles.length > 0)
168
- .map((node) => ({
169
- emittedFiles: node.emittedFiles,
170
- id: node.id ?? `${node.kind}:${node.slug}`,
171
- kind: node.kind,
172
- slug: node.slug,
173
- value: node.value
174
- }));
69
+ .map((node) => {
70
+ const id = node.id ?? `${node.kind}:${node.slug}`;
71
+ const worldBinding = node.kind === "agent"
72
+ ? findWorldBindingForNode(worldBindings, id)
73
+ : undefined;
74
+ return {
75
+ emittedFiles: node.emittedFiles,
76
+ id,
77
+ kind: node.kind,
78
+ slug: node.slug,
79
+ value: node.value,
80
+ ...(worldBinding ? { worldBinding } : {})
81
+ };
82
+ });
175
83
  const targets = (await adapter.createContainerTargets?.(targetInputs)) ??
176
84
  createDefaultTargets(targetInputs);
177
85
  targets.forEach((target, index) => {
@@ -180,6 +88,7 @@ export const createRuntimeTargetPlans = async (plan, compiledNodes) => {
180
88
  const portStride = adapter.container.portStride ?? 1;
181
89
  runtimePlans.push({
182
90
  configEnvBindings: resolveTargetConfigEnvBindings(adapter.container, target) ?? [],
91
+ ...(target.engineByNodeId ? { engineByNodeId: target.engineByNodeId } : {}),
183
92
  envFiles: resolveTargetEnvFiles(instancePaths.configPath, target),
184
93
  packages: resolveTargetPackages(target, targetInputs),
185
94
  id: target.id,
@@ -191,12 +100,16 @@ export const createRuntimeTargetPlans = async (plan, compiledNodes) => {
191
100
  publishedPort: resolveTargetExposure(target, targetInputs) && adapter.container.port
192
101
  ? adapter.container.port + (index * portStride)
193
102
  : undefined,
103
+ recipeEnv: recipe.env,
194
104
  resources: resolveTargetResources(target, targetInputs, instancePaths, adapter.container),
195
105
  runtimeName,
196
106
  runtimeRoot: recipe.runtimeRoot,
197
107
  sourceIds: [...(target.sourceIds ?? [])].sort(),
198
108
  targetConfigEnvBindings: target.configEnvBindings,
199
- targetFiles: target.files
109
+ targetFiles: target.files,
110
+ ...(target.worldTokenEnvNames
111
+ ? { worldTokenEnvNames: target.worldTokenEnvNames }
112
+ : {})
200
113
  });
201
114
  });
202
115
  }
@@ -1,4 +1,4 @@
1
- import type { EmittedFile } from "../runtime/index.js";
1
+ import type { EmittedFile, RuntimeContainerPackageOverrides } from "../runtime/index.js";
2
2
  import type { ContainerEnvVariable, RuntimeTargetPlan } from "./containerArtifactsTypes.js";
3
3
  import type { EntrypointOptions } from "./containerEntrypointRender.js";
4
4
  export { renderEntrypoint } from "./containerEntrypointRender.js";
@@ -7,8 +7,10 @@ export declare const renderEnvExample: (variables: ContainerEnvVariable[]) => st
7
7
  export interface DockerfileDistributionOptions {
8
8
  labels: Record<string, string>;
9
9
  reportOutputFile: string;
10
+ worldBindingsOutputFile?: string;
10
11
  }
11
12
  export declare const renderDockerfile: (runtimePlans: RuntimeTargetPlan[], options?: EntrypointOptions & {
12
13
  distribution?: DockerfileDistributionOptions;
14
+ runtimePackageOverrides?: RuntimeContainerPackageOverrides;
13
15
  }) => Promise<string>;
14
16
  export declare const createRootfsFiles: (runtimePlans: RuntimeTargetPlan[]) => EmittedFile[];