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,5 +1,6 @@
1
1
  import YAML from "yaml";
2
- import { buildContextOrientation, collectMoltnetBindings, createContextBaseKey, createVisibleTeamCards, findAgentBySource, findTeamBySource, getSystemTeamDoc, reportKeySegment, shortHash } from "./teamContextHelpers.js";
2
+ import { buildContextOrientation, collectMoltnetBindings, createContextBaseKey, createVisibleTeamCards, findTeamBySource, getSystemTeamDoc, reportKeySegment, shortHash } from "./teamContextHelpers.js";
3
+ import { buildActiveEnvironments } from "./teamContextActiveEnvironments.js";
3
4
  import { generateTeamRoster, listTeamRepresentatives } from "./teamRoster.js";
4
5
  const assignContextKeys = (contexts) => {
5
6
  const baseCounts = new Map();
@@ -84,6 +85,11 @@ const createTeamCapabilities = (teamNode) => [
84
85
  message: "Team context orientation was surfaced through runtime system instructions",
85
86
  outcome: "supported"
86
87
  },
88
+ {
89
+ key: "team.active_environments",
90
+ message: "Derived active environment bindings were emitted in team-contexts.yaml",
91
+ outcome: "supported"
92
+ },
87
93
  {
88
94
  key: "team.representatives",
89
95
  message: "Representative chains were resolved",
@@ -134,44 +140,11 @@ const createRepresentativeDiagnostics = (plan, teamNode) => {
134
140
  }
135
141
  return diagnostics;
136
142
  };
137
- const addAmbiguousBindingDiagnostics = (agentNode, contexts, diagnosticsByTeamSource) => {
138
- const bindings = new Map();
139
- for (const context of contexts) {
140
- const teamSource = context.kind === "direct"
141
- ? context.membership.teamSource
142
- : context.parentTeamNode.source;
143
- const memberId = context.kind === "direct"
144
- ? context.membership.memberId
145
- : context.representativeMemberId;
146
- for (const binding of collectMoltnetBindings(agentNode, teamSource, memberId)) {
147
- for (const room of binding.rooms) {
148
- const key = `moltnet:${binding.network}:${room}`;
149
- bindings.set(key, [...(bindings.get(key) ?? []), context]);
150
- }
151
- }
152
- }
153
- for (const [binding, bindingContexts] of bindings) {
154
- const uniqueKeys = [...new Set(bindingContexts.map((context) => context.contextKey))];
155
- if (uniqueKeys.length < 2) {
156
- continue;
157
- }
158
- for (const context of bindingContexts) {
159
- const teamSource = context.kind === "direct"
160
- ? context.membership.teamSource
161
- : context.parentTeamNode.source;
162
- addMapEntries(diagnosticsByTeamSource, teamSource, [
163
- {
164
- level: "warn",
165
- message: `Agent ${agentNode.name} maps ${binding} to multiple team contexts: ${uniqueKeys.join(", ")}`
166
- }
167
- ]);
168
- }
169
- }
170
- };
171
143
  export const prepareTeamCompileSupport = async (plan) => {
172
144
  const capabilitiesByTeamSource = new Map();
173
145
  const diagnosticsByTeamSource = new Map();
174
146
  const filesByAgentSource = new Map();
147
+ const activeEnvironmentsByAgentSource = new Map();
175
148
  const contextsByAgent = collectAgentContexts(plan);
176
149
  for (const node of plan.nodes) {
177
150
  if (node.value.kind !== "team") {
@@ -180,12 +153,24 @@ export const prepareTeamCompileSupport = async (plan) => {
180
153
  addMapEntries(capabilitiesByTeamSource, node.value.source, createTeamCapabilities(node.value));
181
154
  addMapEntries(diagnosticsByTeamSource, node.value.source, createRepresentativeDiagnostics(plan, node.value));
182
155
  }
183
- for (const [agentSource, contexts] of contextsByAgent) {
184
- const agentNode = findAgentBySource(plan, agentSource);
185
- if (!agentNode) {
156
+ for (const node of plan.nodes) {
157
+ if (node.value.kind !== "agent") {
186
158
  continue;
187
159
  }
160
+ const agentNode = node.value;
161
+ const agentSource = agentNode.source;
162
+ const contexts = contextsByAgent.get(agentSource) ?? [];
188
163
  const directCount = contexts.filter((context) => context.kind === "direct").length;
164
+ const activeEnvironmentsResult = buildActiveEnvironments(plan, agentNode, contexts, directCount);
165
+ for (const { source, diagnostic } of activeEnvironmentsResult.diagnostics) {
166
+ addMapEntries(diagnosticsByTeamSource, source, [diagnostic]);
167
+ }
168
+ if (activeEnvironmentsResult.activeEnvironments !== undefined) {
169
+ activeEnvironmentsByAgentSource.set(agentSource, activeEnvironmentsResult.activeEnvironments);
170
+ }
171
+ if (contexts.length === 0 && activeEnvironmentsResult.activeEnvironments === undefined) {
172
+ continue;
173
+ }
189
174
  const directIndex = [];
190
175
  const representationIndex = [];
191
176
  const files = [];
@@ -247,6 +232,9 @@ export const prepareTeamCompileSupport = async (plan) => {
247
232
  }
248
233
  }
249
234
  const contextIndex = {
235
+ ...(activeEnvironmentsResult.activeEnvironments
236
+ ? { active_environments: activeEnvironmentsResult.activeEnvironments }
237
+ : {}),
250
238
  direct_memberships: directIndex,
251
239
  representations: representationIndex
252
240
  };
@@ -258,7 +246,11 @@ export const prepareTeamCompileSupport = async (plan) => {
258
246
  path: ".spawnfile/team-contexts.md"
259
247
  });
260
248
  filesByAgentSource.set(agentSource, files);
261
- addAmbiguousBindingDiagnostics(agentNode, contexts, diagnosticsByTeamSource);
262
249
  }
263
- return { capabilitiesByTeamSource, diagnosticsByTeamSource, filesByAgentSource };
250
+ return {
251
+ activeEnvironmentsByAgentSource,
252
+ capabilitiesByTeamSource,
253
+ diagnosticsByTeamSource,
254
+ filesByAgentSource
255
+ };
264
256
  };
@@ -1,7 +1,9 @@
1
1
  import type { CapabilityReport, DiagnosticReport } from "../report/index.js";
2
+ import type { ActiveEnvironmentsIndex } from "./teamContextActiveEnvironments.js";
2
3
  import type { EmittedFile } from "../runtime/index.js";
3
4
  import type { ResolvedMemberRef, ResolvedTeamMembershipContext, ResolvedTeamNode } from "./types.js";
4
5
  export interface TeamCompileSupport {
6
+ activeEnvironmentsByAgentSource: Map<string, ActiveEnvironmentsIndex>;
5
7
  capabilitiesByTeamSource: Map<string, CapabilityReport[]>;
6
8
  diagnosticsByTeamSource: Map<string, DiagnosticReport[]>;
7
9
  filesByAgentSource: Map<string, EmittedFile[]>;
@@ -1,6 +1,7 @@
1
- import { AgentSchedule, ExecutionBlock, McpServer, ModelEndpoint, Secret, TeamNetworkServer } from "../manifest/index.js";
1
+ import { AgentSchedule, ExecutionBlock, McpServer, MemoryConsolidation, MemoryRetention, ModelEndpoint, Secret, TeamNetworkServer, type ExternalParticipantService } from "../manifest/index.js";
2
2
  import { ModelAuthMethod, StringMap } from "../shared/index.js";
3
3
  import type { ResolvedWorkspaceResource } from "./workspaceResources.js";
4
+ import type { ResolvedExternalParticipant, ResolvedOrganizationIdentity } from "./organizationIdentity.js";
4
5
  export interface ResolvedDocument {
5
6
  content: string;
6
7
  role: string;
@@ -86,8 +87,12 @@ export interface ResolvedMoltnetRoomPolicy {
86
87
  }
87
88
  export interface ResolvedMoltnetDMConfig extends ResolvedMoltnetRoomPolicy {
88
89
  enabled: boolean;
90
+ allowedWakeSenders?: string[];
89
91
  }
90
92
  export interface ResolvedMoltnetAttachment {
93
+ auth?: {
94
+ tokenId: string;
95
+ };
91
96
  contextRooms?: Record<string, string[]>;
92
97
  dms?: ResolvedMoltnetDMConfig;
93
98
  memberId: string | null;
@@ -123,6 +128,67 @@ export interface ResolvedTeamNetwork {
123
128
  rooms: ResolvedTeamNetworkRoom[];
124
129
  server?: TeamNetworkServer;
125
130
  }
131
+ export interface ResolvedMemoryStorePersistence {
132
+ mode: "durable" | "ephemeral";
133
+ mount?: string;
134
+ name?: string;
135
+ }
136
+ export interface ResolvedMemoryStore {
137
+ kind: "json" | "memory" | "postgres" | "sqlite";
138
+ path?: string;
139
+ persistence?: ResolvedMemoryStorePersistence;
140
+ dsn_secret?: string;
141
+ }
142
+ export interface ResolvedMemoryIndex {
143
+ graph: {
144
+ enabled: boolean;
145
+ kind?: "entity_graph" | "temporal_kg";
146
+ };
147
+ lexical: {
148
+ enabled: boolean;
149
+ engine?: "bm25" | "sqlite_fts";
150
+ };
151
+ rerank: {
152
+ enabled: boolean;
153
+ };
154
+ vector: {
155
+ base_url?: string;
156
+ enabled: boolean;
157
+ model?: string;
158
+ provider?: "ollama";
159
+ dimensions?: number;
160
+ timeout_ms?: number;
161
+ };
162
+ }
163
+ export interface ResolvedMemoryConsolidation {
164
+ mode: MemoryConsolidation["mode"];
165
+ schedule?: string;
166
+ summarize_after_events?: number;
167
+ }
168
+ export interface ResolvedMemoryRetention {
169
+ forgetting: MemoryRetention["forgetting"];
170
+ ttl?: string;
171
+ }
172
+ export interface ResolvedMemoryBank {
173
+ access?: {
174
+ members?: string[];
175
+ };
176
+ consolidation: ResolvedMemoryConsolidation;
177
+ declaredBy: "agent" | "team";
178
+ declaredName: string;
179
+ id: string;
180
+ index: ResolvedMemoryIndex;
181
+ retention: ResolvedMemoryRetention;
182
+ source: string;
183
+ store: ResolvedMemoryStore;
184
+ }
185
+ export interface ResolvedMemoryAccess {
186
+ agentSource: string;
187
+ declaringKind: "agent" | "team";
188
+ slotId?: string;
189
+ source: string;
190
+ bank: ResolvedMemoryBank;
191
+ }
126
192
  export interface EffectiveModelTarget {
127
193
  auth: {
128
194
  key?: string;
@@ -159,8 +225,11 @@ export interface ResolvedAgentNode {
159
225
  secrets: Secret[];
160
226
  skills: ResolvedSkill[];
161
227
  source: string;
228
+ sourcePath?: string;
162
229
  surfaces?: ResolvedAgentSurfaces;
163
230
  subagents: ResolvedSubagentRef[];
231
+ memory?: ResolvedMemoryBank[];
232
+ memoryAccess?: ResolvedMemoryAccess[];
164
233
  workspaceResources?: ResolvedWorkspaceResource[];
165
234
  }
166
235
  export interface ResolvedTeamNode {
@@ -168,6 +237,7 @@ export interface ResolvedTeamNode {
168
237
  docs: ResolvedDocument[];
169
238
  external: string[];
170
239
  externalExplicit?: boolean;
240
+ externalParticipants?: ExternalParticipantService[];
171
241
  kind: "team";
172
242
  lead: string | null;
173
243
  members: ResolvedMemberRef[];
@@ -184,6 +254,7 @@ export interface ResolvedTeamNode {
184
254
  skills: ResolvedSkill[];
185
255
  packages?: ResolvedPackage[];
186
256
  };
257
+ memory?: ResolvedMemoryBank[];
187
258
  source: string;
188
259
  }
189
260
  export interface CompilePlanEdge {
@@ -224,6 +295,7 @@ export interface ResolvedMoltnetRoomMembership {
224
295
  }
225
296
  export interface CompilePlan {
226
297
  edges: CompilePlanEdge[];
298
+ memoryAccess?: ResolvedMemoryAccess[];
227
299
  memberships?: ResolvedTeamMembershipContext[];
228
300
  moltnetRoomMemberships?: ResolvedMoltnetRoomMembership[];
229
301
  nodes: CompilePlanNode[];
@@ -231,4 +303,13 @@ export interface CompilePlan {
231
303
  runtimes: Record<string, {
232
304
  nodeIds: string[];
233
305
  }>;
306
+ organizationIdentity?: ResolvedOrganizationIdentity;
307
+ moltnetExternalParticipantIntents?: MoltnetExternalParticipantIntent[];
308
+ }
309
+ export interface MoltnetExternalParticipantIntent {
310
+ participant: ResolvedExternalParticipant;
311
+ networkId: string;
312
+ tokenId: string;
313
+ tokenEnv: string;
314
+ directMessagePeers: string[];
234
315
  }
@@ -14,6 +14,11 @@ export interface UpProjectOptions extends CompileProjectOptions {
14
14
  envFilePath?: string;
15
15
  imageTag?: string;
16
16
  runRunner?: DockerRunRunner;
17
+ networkAttachmentHandle?: string;
18
+ organizationHandoffRunId?: string;
19
+ descriptorDigest?: string;
20
+ selectedTargetReceipt?: unknown;
21
+ selectedTargetReceiptDigest?: string;
17
22
  targetExecFile?: DockerTargetExecFile;
18
23
  }
19
24
  export interface UpProjectResult extends BuildProjectResult {
@@ -1,11 +1,110 @@
1
1
  import path from "node:path";
2
- import { removeDirectory } from "../filesystem/index.js";
3
- import { writeDockerDeploymentRecordForRun } from "../deployment/index.js";
2
+ import { createHash } from "node:crypto";
3
+ import { rm } from "node:fs/promises";
4
+ import { createOrganizationReadinessPending, createDockerOrganizationHandoffSession, createDockerDeploymentRecord, initializeOrganizationHandoffAuthorityStore, parseCanonicalSha256Digest, probeDockerOrganizationReadiness, readDeploymentRecord, resolveDockerDeploymentTarget, resolveDeploymentRecordPath, writeDeploymentRecord, writeDockerDeploymentRecordForRun } from "../deployment/index.js";
5
+ import { createCanonicalSelectedTargetReceiptBytes, parseOpaqueTargetHandle, parseRunId, parseSelectedTargetReceipt, selectTarget } from "../target/index.js";
4
6
  import { buildProject } from "./buildProject.js";
5
7
  import { createDockerRunInvocation, resolveDetachedDeploymentOptions, runDockerContainer } from "./runProject.js";
8
+ import { executeDockerRunWithSupportCleanup } from "./runProjectLifecycle.js";
6
9
  import { requireAuthProfile } from "../auth/index.js";
7
- import { DEFAULT_OUTPUT_DIRECTORY } from "../shared/index.js";
10
+ import { DEFAULT_OUTPUT_DIRECTORY, SpawnfileError } from "../shared/index.js";
11
+ import { ensureNoopolisRunId, resolveNoopolisRunId } from "../runtime/index.js";
12
+ import { fileExists } from "../filesystem/index.js";
13
+ import { resolveHostCliCredential } from "./runProjectAuth.js";
14
+ const handoffInputError = () => new SpawnfileError("validation_error", "Organization handoff requires authorized run id, selected target receipt, descriptor digest, selected target receipt digest, network attachment handle, and world bindings");
15
+ const handoffRecoveryIncompleteError = () => new SpawnfileError("runtime_error", "Organization handoff recovery is incomplete; redeploy with explicit authorization");
16
+ const stableRecord = (record) => {
17
+ const { created_at: _createdAt, export_index: _exportIndex, organization_ready: _organizationReady, ...stable } = record;
18
+ return stable;
19
+ };
20
+ const canonicalJson = (value) => {
21
+ if (Array.isArray(value))
22
+ return `[${value.map(canonicalJson).join(",")}]`;
23
+ if (value !== null && typeof value === "object") {
24
+ const record = value;
25
+ return `{${Object.keys(record).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(record[key])}`).join(",")}}`;
26
+ }
27
+ const serialized = JSON.stringify(value);
28
+ if (serialized === undefined)
29
+ throw handoffInputError();
30
+ return serialized;
31
+ };
32
+ const resolveRequestedHandoff = (options) => {
33
+ const values = [
34
+ options.descriptorDigest,
35
+ options.organizationHandoffRunId,
36
+ options.selectedTargetReceiptDigest,
37
+ options.selectedTargetReceipt,
38
+ options.networkAttachmentHandle,
39
+ options.worldBindingsPath
40
+ ];
41
+ if (values.every((value) => value === undefined))
42
+ return null;
43
+ if (values.some((value) => value === undefined) || !options.detach)
44
+ throw handoffInputError();
45
+ try {
46
+ const selectedTarget = parseSelectedTargetReceipt(options.selectedTargetReceipt);
47
+ const selectedDigest = parseCanonicalSha256Digest(options.selectedTargetReceiptDigest, "selected_target_receipt_digest");
48
+ const computedDigest = `sha256:${createHash("sha256").update(createCanonicalSelectedTargetReceiptBytes(selectedTarget), "utf8").digest("hex")}`;
49
+ if (selectedDigest !== computedDigest)
50
+ throw new Error("selected receipt digest mismatch");
51
+ return {
52
+ descriptorDigest: parseCanonicalSha256Digest(options.descriptorDigest, "descriptor_digest"),
53
+ runId: parseRunId(options.organizationHandoffRunId),
54
+ networkAttachmentHandle: parseOpaqueTargetHandle(options.networkAttachmentHandle),
55
+ selectedTarget,
56
+ selectedTargetReceiptDigest: selectedDigest
57
+ };
58
+ }
59
+ catch {
60
+ throw handoffInputError();
61
+ }
62
+ };
63
+ const verifyRequestedHandoffTarget = async (requested, resolved, options) => {
64
+ if (!requested)
65
+ return;
66
+ if (typeof resolved.dockerContext !== "string" || resolved.dockerContext.length === 0
67
+ || resolved.dockerHost != null || process.env.DOCKER_HOST != null)
68
+ throw handoffInputError();
69
+ try {
70
+ const actual = await selectTarget({
71
+ context: resolved.dockerContext,
72
+ dockerCommand: options.dockerCommand,
73
+ execFile: options.targetExecFile
74
+ });
75
+ if (createCanonicalSelectedTargetReceiptBytes(actual)
76
+ !== createCanonicalSelectedTargetReceiptBytes(requested.selectedTarget))
77
+ throw new Error("target mismatch");
78
+ }
79
+ catch {
80
+ throw handoffInputError();
81
+ }
82
+ };
83
+ const resolveCompiledHandoff = (requested, buildResult) => {
84
+ if (!requested)
85
+ return undefined;
86
+ try {
87
+ const bindingDigest = buildResult.organizationReadinessEvidence.worldBindings?.digest;
88
+ if (!bindingDigest)
89
+ throw new Error("missing compiled binding evidence");
90
+ const bindingDigestParsed = parseCanonicalSha256Digest(bindingDigest, "binding_digest");
91
+ return { authority: { ...requested, bindingDigest: bindingDigestParsed }, organizationHandoff: {
92
+ bindingDigest: bindingDigestParsed, networkAttachmentHandle: requested.networkAttachmentHandle,
93
+ selectedTargetReceiptDigest: requested.selectedTargetReceiptDigest
94
+ } };
95
+ }
96
+ catch {
97
+ throw handoffInputError();
98
+ }
99
+ };
8
100
  export const upProject = async (inputPath, options = {}) => {
101
+ // Parse caller authority before any target or build work. Target identity is
102
+ // verified below from the resolved detached options, including exact record reuse.
103
+ const requestedHandoff = resolveRequestedHandoff(options);
104
+ // Handoff reservation identity must survive a process crash. Unlike an
105
+ // ordinary deployment run, it may never silently mint a fresh run id.
106
+ if (requestedHandoff && resolveNoopolisRunId(process.env) !== requestedHandoff.runId)
107
+ throw handoffInputError();
9
108
  const resolvedOptions = await resolveDetachedDeploymentOptions(path.resolve(options.outputDirectory ?? DEFAULT_OUTPUT_DIRECTORY), {
10
109
  authProfile: options.authProfile,
11
110
  containerName: options.containerName,
@@ -18,19 +117,37 @@ export const upProject = async (inputPath, options = {}) => {
18
117
  imageTag: options.imageTag,
19
118
  targetExecFile: options.targetExecFile
20
119
  });
120
+ await verifyRequestedHandoffTarget(requestedHandoff, resolvedOptions, options);
121
+ // Every authority container compiled for this deployment must stamp
122
+ // causal events under the same real run id (see specs/CAUSAL.md).
123
+ // buildProject/compileProject stay deterministic functions of the host
124
+ // env; this only fills in a generated id when the host did not already
125
+ // provide one, before the build step that bakes it into the
126
+ // entrypoint/recipe env.
127
+ if (!requestedHandoff)
128
+ ensureNoopolisRunId();
21
129
  const buildResult = await buildProject(inputPath, {
22
130
  buildRunner: options.buildRunner,
23
131
  clean: options.clean,
132
+ containerArchitecture: options.containerArchitecture,
133
+ dockerContext: resolvedOptions.dockerContext,
24
134
  dockerCommand: options.dockerCommand,
25
135
  imageTag: resolvedOptions.imageTag,
26
- outputDirectory: options.outputDirectory
136
+ outputDirectory: options.outputDirectory,
137
+ runtimePackageOverrides: options.runtimePackageOverrides,
138
+ ...(options.worldBindingsPath !== undefined
139
+ ? { worldBindingsPath: options.worldBindingsPath }
140
+ : {})
27
141
  });
142
+ const handoff = resolveCompiledHandoff(requestedHandoff, buildResult);
28
143
  const authProfile = resolvedOptions.authProfile
29
144
  ? await requireAuthProfile(resolvedOptions.authProfile)
30
145
  : null;
146
+ const cliCredential = await resolveHostCliCredential(buildResult.report.container);
31
147
  const imageTag = resolvedOptions.imageTag ?? buildResult.imageTag;
32
148
  const invocation = await createDockerRunInvocation(buildResult, imageTag, {
33
149
  authProfile,
150
+ ...(cliCredential ? { cliCredential: { name: cliCredential.name, value: cliCredential.value } } : {}),
34
151
  containerName: resolvedOptions.containerName,
35
152
  detach: options.detach,
36
153
  deploymentName: resolvedOptions.deploymentName,
@@ -39,27 +156,147 @@ export const upProject = async (inputPath, options = {}) => {
39
156
  dockerHost: resolvedOptions.dockerHost,
40
157
  envFilePath: resolvedOptions.envFilePath
41
158
  });
42
- let runMetadata;
159
+ let authority;
160
+ let deploymentRecordPath;
161
+ let recovered = false;
162
+ let dockerLifecycleInvoked = false;
43
163
  try {
44
- runMetadata = await (options.runRunner ?? runDockerContainer)(invocation);
164
+ let pending;
165
+ if (handoff) {
166
+ if (!invocation.deploymentLabels || !invocation.containerName)
167
+ throw handoffInputError();
168
+ const session = createDockerOrganizationHandoffSession({
169
+ bindingDigest: handoff.authority.bindingDigest,
170
+ containerName: invocation.containerName,
171
+ deploymentLabels: invocation.deploymentLabels,
172
+ descriptorDigest: handoff.authority.descriptorDigest,
173
+ organizationHandoff: handoff.organizationHandoff,
174
+ runId: handoff.authority.runId,
175
+ selectedTarget: handoff.authority.selectedTarget,
176
+ selectedTargetReceiptDigest: handoff.authority.selectedTargetReceiptDigest
177
+ });
178
+ authority = await initializeOrganizationHandoffAuthorityStore();
179
+ const begun = await authority.begin(session.authorityInput);
180
+ pending = begun.pending;
181
+ recovered = !begun.created;
182
+ }
183
+ let runMetadata = undefined;
184
+ if (!recovered) {
185
+ dockerLifecycleInvoked = true;
186
+ runMetadata = await executeDockerRunWithSupportCleanup(invocation, options.runRunner ?? runDockerContainer);
187
+ }
188
+ const observed = recovered && authority && pending
189
+ ? await authority.readDockerMutation(pending.pending_key)
190
+ : undefined;
191
+ if (recovered && !observed)
192
+ throw handoffRecoveryIncompleteError();
193
+ const recoveredMetadata = observed
194
+ ? { containerId: observed.container_id, deploymentLabels: observed.deployment_labels, imageId: observed.image_id }
195
+ : undefined;
196
+ const exactRunMetadata = runMetadata ?? recoveredMetadata;
197
+ let organizationHandoffHandle;
198
+ if (handoff) {
199
+ if (!exactRunMetadata?.containerId || !exactRunMetadata.deploymentLabels || !exactRunMetadata.imageId || !authority || !pending)
200
+ throw handoffInputError();
201
+ if (!recovered)
202
+ await authority.observeDockerMutation(pending.pending_key, {
203
+ containerId: exactRunMetadata.containerId, deploymentLabels: exactRunMetadata.deploymentLabels, imageId: exactRunMetadata.imageId
204
+ });
205
+ const finalized = await authority.finalize(pending.pending_key, { containerId: exactRunMetadata.containerId, deploymentLabels: exactRunMetadata.deploymentLabels });
206
+ organizationHandoffHandle = finalized.organization_handoff_handle;
207
+ const existingRecordPath = invocation.detach && invocation.deploymentName
208
+ ? resolveDeploymentRecordPath(buildResult.outputDirectory, invocation.deploymentName)
209
+ : null;
210
+ if (existingRecordPath && await fileExists(existingRecordPath)) {
211
+ const existing = await readDeploymentRecord(existingRecordPath);
212
+ const target = await resolveDockerDeploymentTarget({
213
+ context: invocation.dockerContext ?? undefined,
214
+ dockerCommand: invocation.command,
215
+ dockerHost: invocation.dockerHost ?? undefined,
216
+ execFile: options.targetExecFile
217
+ });
218
+ const expected = createDockerDeploymentRecord({
219
+ authProfileName: authProfile?.name ?? null,
220
+ compileFingerprint: buildResult.report.compile_fingerprint ?? "",
221
+ containerName: invocation.containerName,
222
+ deploymentName: invocation.deploymentName ?? undefined,
223
+ envFilePath: resolvedOptions.envFilePath,
224
+ imageTag,
225
+ networkIds: buildResult.report.container?.moltnet?.server_plans
226
+ .filter((server) => server.mode === "managed").map((server) => server.network_id),
227
+ nodes: buildResult.report.nodes,
228
+ organizationHandoff: handoff.organizationHandoff,
229
+ organizationHandoffHandle,
230
+ outputDirectory: buildResult.outputDirectory,
231
+ projectRoot: buildResult.report.root,
232
+ runId: handoff.authority.runId,
233
+ runMetadata: exactRunMetadata,
234
+ runtimeInstanceIds: buildResult.report.container?.runtime_instances.map((instance) => instance.id) ?? [],
235
+ target
236
+ });
237
+ if (canonicalJson(stableRecord(existing)) !== canonicalJson(stableRecord(expected)))
238
+ throw handoffInputError();
239
+ deploymentRecordPath = existingRecordPath;
240
+ }
241
+ else
242
+ deploymentRecordPath = invocation.detach && invocation.deploymentName
243
+ ? await writeDockerDeploymentRecordForRun({ authProfileName: authProfile?.name ?? null, envFilePath: resolvedOptions.envFilePath,
244
+ imageTag, invocation, outputDirectory: buildResult.outputDirectory,
245
+ organizationHandoff: handoff.organizationHandoff, organizationHandoffHandle, report: buildResult.report,
246
+ runMetadata: exactRunMetadata, targetExecFile: options.targetExecFile })
247
+ : null;
248
+ }
249
+ else
250
+ deploymentRecordPath = invocation.detach && invocation.deploymentName
251
+ ? await writeDockerDeploymentRecordForRun({ authProfileName: authProfile?.name ?? null, envFilePath: resolvedOptions.envFilePath,
252
+ imageTag, invocation, outputDirectory: buildResult.outputDirectory, report: buildResult.report,
253
+ runMetadata: runMetadata ?? undefined, targetExecFile: options.targetExecFile })
254
+ : null;
45
255
  }
46
256
  finally {
47
- if (!invocation.detach) {
48
- await removeDirectory(invocation.supportDirectory);
257
+ // Replay creates a fresh support directory but does not invoke the normal
258
+ // Docker lifecycle wrapper. Preserve its detached credential cleanup
259
+ // semantics without deleting bind-mount support files.
260
+ let cleanupError;
261
+ try {
262
+ if (invocation.detach && !dockerLifecycleInvoked)
263
+ await rm(invocation.envFilePath, { force: true });
264
+ }
265
+ catch (error) {
266
+ cleanupError = error;
267
+ }
268
+ try {
269
+ await authority?.dispose();
49
270
  }
271
+ catch (error) {
272
+ if (cleanupError === undefined)
273
+ throw error;
274
+ }
275
+ if (cleanupError !== undefined)
276
+ throw cleanupError;
277
+ }
278
+ if (deploymentRecordPath && buildResult.organizationReadinessEvidence) {
279
+ const record = await readDeploymentRecord(deploymentRecordPath);
280
+ const pending = createOrganizationReadinessPending(buildResult.organizationReadinessEvidence, {
281
+ compileFingerprint: record.compile_fingerprint,
282
+ deploymentName: record.name,
283
+ runId: record.run_id ?? null,
284
+ unitCount: record.units.length,
285
+ unitId: record.units[0]?.id ?? "invalid-unit"
286
+ });
287
+ const pendingRecord = { ...record, organization_ready: pending };
288
+ await writeDeploymentRecord(buildResult.outputDirectory, pendingRecord);
289
+ const organizationReady = await probeDockerOrganizationReadiness({
290
+ dockerCommand: options.dockerCommand,
291
+ evidence: buildResult.organizationReadinessEvidence,
292
+ execFile: options.targetExecFile,
293
+ record: pendingRecord
294
+ });
295
+ await writeDeploymentRecord(buildResult.outputDirectory, {
296
+ ...pendingRecord,
297
+ organization_ready: organizationReady
298
+ });
50
299
  }
51
- const deploymentRecordPath = invocation.detach && invocation.deploymentName
52
- ? await writeDockerDeploymentRecordForRun({
53
- authProfileName: authProfile?.name ?? null,
54
- envFilePath: resolvedOptions.envFilePath,
55
- imageTag,
56
- invocation,
57
- outputDirectory: buildResult.outputDirectory,
58
- report: buildResult.report,
59
- runMetadata: runMetadata ?? undefined,
60
- targetExecFile: options.targetExecFile
61
- })
62
- : null;
63
300
  return {
64
301
  ...buildResult,
65
302
  authProfileName: authProfile?.name ?? null,
@@ -0,0 +1,36 @@
1
+ import { type CompiledEngineEntry, type CompiledScheduleEntry, type UpReceipt } from "../deployment/index.js";
2
+ import type { CompilePlan } from "./types.js";
3
+ import type { UpProjectResult } from "./upProject.js";
4
+ /**
5
+ * Extracts the `{agent, cron}` pairs an up-receipt's `compiled_schedule` field carries
6
+ * (Decision 21 Piece 4) — the raw material for simfile's wake-diff denominator oracle.
7
+ * Only `kind: "cron"` schedules are represented; `every`/`disabled` schedules have no
8
+ * cron-fire cadence to diff against sim-time and are intentionally omitted, not zeroed.
9
+ */
10
+ export declare const resolveCompiledSchedule: (plan: CompilePlan) => CompiledScheduleEntry[];
11
+ /**
12
+ * Extracts `{agent, engine}` pairs (Piece 5, Slice B) — disclosure ground truth for the
13
+ * run-manifest's `pinned-engine` field, so a `scripted` (or any non-default) pi engine is
14
+ * visibly disclosed rather than an invisible test-only branch. Reads
15
+ * `report.container.runtime_instances[].engine_by_node_id`, the single source of truth
16
+ * `containerArtifacts.ts` already stamps from the pi adapter's own resolved engine kinds
17
+ * (see `src/runtime/pi/adapter.ts`'s `createContainerTargets`) — deliberately not
18
+ * re-derived from a fresh `buildCompilePlan` walk (unlike `resolveCompiledSchedule` above),
19
+ * since that would recompute the exact same fact from pi-adapter-internal logic
20
+ * (`resolvePiEngine`) that compiler code has no business reaching into directly.
21
+ */
22
+ export declare const resolveCompiledEngines: (report: UpProjectResult["report"]) => CompiledEngineEntry[];
23
+ /**
24
+ * Builds `spawnfile.up-receipt.v1` from a project-path `upProject()` result. Reads back
25
+ * the deployment record `upProject` already wrote (for `run_id`/deployment name/container
26
+ * id — the same record `spawnfile artifacts export`/`spawnfile down` resolve), and
27
+ * re-derives `compiled_schedule` from the resolved graph, since `compileProject` does not
28
+ * retain its own `CompilePlan` past the compile step.
29
+ *
30
+ * `readiness` reuses whatever signal `upProject` already has — a bare `docker run -d`
31
+ * that returned a container id, not a new health probe: `up` has never polled
32
+ * application-level readiness, and this receipt does not invent one. `moltnet_base_url`
33
+ * comes straight from the compiled container report's own managed/external server plan;
34
+ * no credentials ever land on this contract (contracts.md).
35
+ */
36
+ export declare const buildUpReceipt: (inputPath: string, result: UpProjectResult) => Promise<UpReceipt>;