spawnfile 0.1.13 → 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 (598) hide show
  1. package/README.md +50 -11
  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/targetSecretSourceAuthor.d.ts +18 -0
  31. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  32. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  33. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  34. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  36. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  37. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  38. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  39. package/dist/auth/targetSecretSourceGrant.js +99 -0
  40. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  42. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  43. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  44. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  46. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  48. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  50. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  51. package/dist/auth/targetSecretSourceResolver.js +137 -0
  52. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  53. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  54. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  55. package/dist/auth/targetSecretSourceRotate.js +121 -0
  56. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  58. package/dist/cli/artifactsCommands.d.ts +27 -0
  59. package/dist/cli/artifactsCommands.js +132 -0
  60. package/dist/cli/authCommands.d.ts +5 -0
  61. package/dist/cli/authCommands.js +221 -0
  62. package/dist/cli/compileBuildCommands.d.ts +3 -0
  63. package/dist/cli/compileBuildCommands.js +35 -0
  64. package/dist/cli/containerBundleCommand.d.ts +6 -0
  65. package/dist/cli/containerBundleCommand.js +116 -0
  66. package/dist/cli/downCommand.d.ts +25 -0
  67. package/dist/cli/downCommand.js +134 -0
  68. package/dist/cli/index.js +6 -3
  69. package/dist/cli/lifecycleCommands.d.ts +1 -1
  70. package/dist/cli/lifecycleCommands.js +11 -181
  71. package/dist/cli/lifecycleMachine.d.ts +19 -0
  72. package/dist/cli/lifecycleMachine.js +78 -0
  73. package/dist/cli/lifecyclePlan.d.ts +35 -0
  74. package/dist/cli/lifecyclePlan.js +240 -0
  75. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  76. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  77. package/dist/cli/runCli.d.ts +9 -2
  78. package/dist/cli/runCli.js +27 -71
  79. package/dist/cli/runPublishCommands.d.ts +3 -0
  80. package/dist/cli/runPublishCommands.js +70 -0
  81. package/dist/cli/statusCommand.d.ts +3 -33
  82. package/dist/cli/statusCommand.js +19 -249
  83. package/dist/cli/statusCommandLive.d.ts +20 -0
  84. package/dist/cli/statusCommandLive.js +188 -0
  85. package/dist/cli/statusCommandOptions.d.ts +40 -0
  86. package/dist/cli/statusCommandOptions.js +42 -0
  87. package/dist/cli/targetCliRoute.d.ts +2 -0
  88. package/dist/cli/targetCliRoute.js +30 -0
  89. package/dist/cli/targetCommands.d.ts +33 -0
  90. package/dist/cli/targetCommands.js +257 -0
  91. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  92. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  93. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  94. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  95. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  96. package/dist/cli/targetDefaultAuthorities.js +210 -0
  97. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  98. package/dist/cli/targetDefaultConfig.js +317 -0
  99. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  100. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  101. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  102. package/dist/cli/targetDefaultEnvelope.js +13 -0
  103. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  104. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  105. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  106. package/dist/cli/targetDefaultHandlers.js +72 -0
  107. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  108. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  109. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  110. package/dist/cli/targetDefaultWorldClock.js +14 -0
  111. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  112. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  113. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  114. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  115. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  116. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  117. package/dist/cli/targetLookupCli.d.ts +3 -0
  118. package/dist/cli/targetLookupCli.js +31 -0
  119. package/dist/cli/targetLookupCommands.d.ts +12 -0
  120. package/dist/cli/targetLookupCommands.js +69 -0
  121. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  122. package/dist/cli/targetOperationDispatch.js +21 -0
  123. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  124. package/dist/cli/targetReceiptOutput.js +21 -0
  125. package/dist/cli/targetRequestFile.d.ts +14 -0
  126. package/dist/cli/targetRequestFile.js +63 -0
  127. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  128. package/dist/cli/targetSecretSourceInput.js +121 -0
  129. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  130. package/dist/cli/targetWorldClockCommand.js +42 -0
  131. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  132. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  133. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  134. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  135. package/dist/cli/upCommand.d.ts +3 -0
  136. package/dist/cli/upCommand.js +133 -0
  137. package/dist/cli/upImageCommand.d.ts +11 -0
  138. package/dist/cli/upImageCommand.js +41 -0
  139. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  140. package/dist/cli/upLifecycleInvocation.js +48 -0
  141. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  142. package/dist/cli/upLifecycleRecovery.js +53 -0
  143. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  144. package/dist/compiler/agentNodeMerge.js +79 -0
  145. package/dist/compiler/agentSurfaces.js +11 -1
  146. package/dist/compiler/buildCompilePlan.js +17 -0
  147. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  148. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  149. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  150. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  151. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  152. package/dist/compiler/buildProject.d.ts +11 -0
  153. package/dist/compiler/buildProject.js +77 -2
  154. package/dist/compiler/compilePlanHelpers.js +2 -0
  155. package/dist/compiler/compileProject.d.ts +13 -0
  156. package/dist/compiler/compileProject.js +26 -74
  157. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  158. package/dist/compiler/compileProjectPolicy.js +21 -0
  159. package/dist/compiler/compileProjectReports.d.ts +9 -0
  160. package/dist/compiler/compileProjectReports.js +52 -0
  161. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  162. package/dist/compiler/containerArtifactSummaries.js +138 -0
  163. package/dist/compiler/containerArtifacts.d.ts +10 -0
  164. package/dist/compiler/containerArtifacts.js +126 -125
  165. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  166. package/dist/compiler/containerArtifactsPlans.js +31 -118
  167. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  168. package/dist/compiler/containerArtifactsRender.js +15 -12
  169. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  170. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  171. package/dist/compiler/containerConfigEnvRender.js +54 -0
  172. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  173. package/dist/compiler/containerEntrypointRender.js +56 -52
  174. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  175. package/dist/compiler/containerEntrypointShell.js +29 -0
  176. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  177. package/dist/compiler/containerPackageOverrides.js +63 -0
  178. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  179. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  180. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  181. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  182. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  183. package/dist/compiler/dockerBuildContext.js +159 -0
  184. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  185. package/dist/compiler/dockerBuildSkip.js +81 -0
  186. package/dist/compiler/index.d.ts +4 -0
  187. package/dist/compiler/index.js +4 -0
  188. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  189. package/dist/compiler/memoryArtifacts.js +134 -0
  190. package/dist/compiler/memoryResolution.d.ts +4 -0
  191. package/dist/compiler/memoryResolution.js +147 -0
  192. package/dist/compiler/modelEnv.d.ts +2 -0
  193. package/dist/compiler/modelEnv.js +6 -0
  194. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  195. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  196. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  197. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  198. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  199. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  200. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  201. package/dist/compiler/moltnetArtifacts.js +43 -97
  202. package/dist/compiler/moltnetBinaries.d.ts +21 -4
  203. package/dist/compiler/moltnetBinaries.js +134 -27
  204. package/dist/compiler/moltnetClientConfig.js +7 -2
  205. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  206. package/dist/compiler/moltnetConfigLowering.js +67 -5
  207. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  208. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  209. package/dist/compiler/moltnetNodeConfig.js +7 -2
  210. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  211. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  212. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  213. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  214. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  215. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  216. package/dist/compiler/moltnetResolution.js +72 -20
  217. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  218. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  219. package/dist/compiler/moltnetServerPlans.js +132 -0
  220. package/dist/compiler/organizationIdentity.d.ts +27 -0
  221. package/dist/compiler/organizationIdentity.js +297 -0
  222. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  223. package/dist/compiler/organizationReadyEvidence.js +261 -0
  224. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  225. package/dist/compiler/projectManifestGraph.js +24 -0
  226. package/dist/compiler/runProject.d.ts +4 -0
  227. package/dist/compiler/runProject.js +30 -21
  228. package/dist/compiler/runProjectAuth.d.ts +7 -1
  229. package/dist/compiler/runProjectAuth.js +87 -9
  230. package/dist/compiler/runProjectDocker.d.ts +7 -0
  231. package/dist/compiler/runProjectDocker.js +31 -8
  232. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  233. package/dist/compiler/runProjectLifecycle.js +40 -0
  234. package/dist/compiler/syncProjectAuth.js +4 -1
  235. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  236. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  237. package/dist/compiler/teamContextSupport.js +32 -40
  238. package/dist/compiler/teamContextTypes.d.ts +2 -0
  239. package/dist/compiler/types.d.ts +82 -1
  240. package/dist/compiler/upProject.d.ts +5 -0
  241. package/dist/compiler/upProject.js +256 -20
  242. package/dist/compiler/upReceipt.d.ts +36 -0
  243. package/dist/compiler/upReceipt.js +82 -0
  244. package/dist/compiler/updateProjectModels.js +42 -60
  245. package/dist/compiler/updateProjectRuntime.js +22 -35
  246. package/dist/compiler/updateProjectSurfaces.js +53 -47
  247. package/dist/compiler/worldBindings.d.ts +39 -0
  248. package/dist/compiler/worldBindings.js +247 -0
  249. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  250. package/dist/compiler/worldBindingsFile.js +162 -0
  251. package/dist/deployment/artifactsExport.d.ts +49 -0
  252. package/dist/deployment/artifactsExport.js +217 -0
  253. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  254. package/dist/deployment/artifactsExportDocker.js +91 -0
  255. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  256. package/dist/deployment/artifactsExportPlan.js +135 -0
  257. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  258. package/dist/deployment/artifactsExportTypes.js +52 -0
  259. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  260. package/dist/deployment/buildImageCacheStore.js +54 -0
  261. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  262. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  263. package/dist/deployment/dockerInspect.d.ts +9 -0
  264. package/dist/deployment/dockerInspect.js +24 -1
  265. package/dist/deployment/dockerLabels.d.ts +2 -0
  266. package/dist/deployment/dockerLabels.js +2 -0
  267. package/dist/deployment/dockerLogs.js +2 -10
  268. package/dist/deployment/dockerManager.d.ts +51 -0
  269. package/dist/deployment/dockerManager.js +118 -1
  270. package/dist/deployment/dockerProbeGateway.js +64 -5
  271. package/dist/deployment/dockerRecover.js +9 -1
  272. package/dist/deployment/dockerTeardown.d.ts +32 -0
  273. package/dist/deployment/dockerTeardown.js +61 -0
  274. package/dist/deployment/downDeployment.d.ts +34 -0
  275. package/dist/deployment/downDeployment.js +147 -0
  276. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  277. package/dist/deployment/downReceiptTypes.js +30 -0
  278. package/dist/deployment/index.d.ts +16 -0
  279. package/dist/deployment/index.js +17 -0
  280. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  281. package/dist/deployment/lifecycleCompletion.js +236 -0
  282. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  283. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  284. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  285. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  286. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  287. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  288. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  289. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  290. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  291. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  292. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  293. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  294. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  295. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  296. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  297. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  298. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  299. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  300. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  301. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  302. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  303. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  304. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  305. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  306. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  307. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  308. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  309. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  310. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  311. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  312. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  313. package/dist/deployment/organizationHandoffTypes.js +80 -0
  314. package/dist/deployment/organizationReady.d.ts +52 -0
  315. package/dist/deployment/organizationReady.js +200 -0
  316. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  317. package/dist/deployment/privateArtifactsExport.js +80 -0
  318. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  319. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  320. package/dist/deployment/record.d.ts +26 -1
  321. package/dist/deployment/record.js +49 -4
  322. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  323. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  324. package/dist/deployment/target.d.ts +1 -35
  325. package/dist/deployment/target.js +1 -96
  326. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  327. package/dist/deployment/upReceiptTypes.js +164 -0
  328. package/dist/dev/project.js +15 -9
  329. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  330. package/dist/distribution/buildDistributionReport.js +2 -1
  331. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  332. package/dist/distribution/distributionReportSchema.js +7 -2
  333. package/dist/distribution/index.d.ts +2 -2
  334. package/dist/distribution/index.js +1 -1
  335. package/dist/distribution/types.d.ts +7 -0
  336. package/dist/distribution/types.js +1 -0
  337. package/dist/filesystem/paths.js +10 -1
  338. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  339. package/dist/ledger/causalConformanceCli.js +41 -0
  340. package/dist/ledger/causeNamespace.d.ts +8 -0
  341. package/dist/ledger/causeNamespace.js +24 -0
  342. package/dist/ledger/conformance.d.ts +83 -0
  343. package/dist/ledger/conformance.js +259 -0
  344. package/dist/ledger/emitters.d.ts +76 -0
  345. package/dist/ledger/emitters.js +188 -0
  346. package/dist/ledger/index.d.ts +4 -0
  347. package/dist/ledger/index.js +4 -0
  348. package/dist/ledger/principal.d.ts +96 -0
  349. package/dist/ledger/principal.js +121 -0
  350. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  351. package/dist/manifest/externalParticipantSchemas.js +17 -0
  352. package/dist/manifest/index.d.ts +1 -0
  353. package/dist/manifest/index.js +1 -0
  354. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  355. package/dist/manifest/inlineAgentMember.js +9 -0
  356. package/dist/manifest/loadManifest.js +14 -8
  357. package/dist/manifest/mcpSchemas.d.ts +17 -0
  358. package/dist/manifest/mcpSchemas.js +41 -0
  359. package/dist/manifest/memorySchemas.d.ts +245 -0
  360. package/dist/manifest/memorySchemas.js +148 -0
  361. package/dist/manifest/renderSpawnfile.js +22 -131
  362. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  363. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  364. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  365. package/dist/manifest/schemas.d.ts +1868 -99
  366. package/dist/manifest/schemas.js +78 -32
  367. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  368. package/dist/manifest/surfaceSchemas.js +24 -1
  369. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  370. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  371. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  372. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  373. package/dist/manifest/teamNetworkSchemas.js +3 -317
  374. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  375. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  376. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  377. package/dist/ownership/siblingBuildFreshness.js +20 -0
  378. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  379. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  380. package/dist/report/types.d.ts +142 -0
  381. package/dist/runtime/common.d.ts +35 -0
  382. package/dist/runtime/common.js +55 -0
  383. package/dist/runtime/container.d.ts +28 -1
  384. package/dist/runtime/container.js +38 -5
  385. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  386. package/dist/runtime/containerPackageOverrides.js +33 -0
  387. package/dist/runtime/index.d.ts +2 -0
  388. package/dist/runtime/index.js +2 -0
  389. package/dist/runtime/mnemeMcp.d.ts +15 -0
  390. package/dist/runtime/mnemeMcp.js +109 -0
  391. package/dist/runtime/openclaw/adapter.js +15 -4
  392. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  393. package/dist/runtime/openclaw/mcp.js +69 -0
  394. package/dist/runtime/openclaw/runAuth.js +2 -2
  395. package/dist/runtime/openclaw/scaffold.js +1 -1
  396. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  397. package/dist/runtime/openclaw/schedules.js +74 -0
  398. package/dist/runtime/pi/adapter.d.ts +1 -1
  399. package/dist/runtime/pi/adapter.js +86 -53
  400. package/dist/runtime/pi/appActivitySource.js +114 -2
  401. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  402. package/dist/runtime/pi/appAgentConfig.js +264 -0
  403. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  404. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  405. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  406. package/dist/runtime/pi/appCliSource.js +353 -0
  407. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  408. package/dist/runtime/pi/appControlSource.js +390 -0
  409. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  410. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  411. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  412. package/dist/runtime/pi/appCoreSource.js +104 -214
  413. package/dist/runtime/pi/appPreludeSource.js +140 -52
  414. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  415. package/dist/runtime/pi/appScheduleSource.js +80 -0
  416. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  417. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  418. package/dist/runtime/pi/appSource.d.ts +4 -1
  419. package/dist/runtime/pi/appSource.js +6 -2
  420. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  421. package/dist/runtime/pi/appTemplate.js +9 -126
  422. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  423. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  424. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  425. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  426. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  427. package/dist/runtime/pi/containerTargets.js +57 -0
  428. package/dist/runtime/pi/runAuth.js +126 -9
  429. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  430. package/dist/runtime/pi/testHelpers.js +40 -0
  431. package/dist/runtime/picoclaw/adapter.js +23 -27
  432. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  433. package/dist/runtime/picoclaw/mcp.js +43 -0
  434. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  435. package/dist/runtime/picoclaw/memory.js +17 -0
  436. package/dist/runtime/picoclaw/runAuth.js +1 -1
  437. package/dist/runtime/picoclaw/scaffold.js +1 -1
  438. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  439. package/dist/runtime/picoclaw/schedules.js +62 -3
  440. package/dist/runtime/scheduleUtils.d.ts +2 -0
  441. package/dist/runtime/scheduleUtils.js +15 -0
  442. package/dist/runtime/types.d.ts +25 -2
  443. package/dist/shared/errors.d.ts +1 -1
  444. package/dist/shared/errors.js +2 -2
  445. package/dist/shared/index.d.ts +1 -0
  446. package/dist/shared/index.js +1 -0
  447. package/dist/shared/redaction.d.ts +2 -0
  448. package/dist/shared/redaction.js +10 -0
  449. package/dist/status/buildStatus.d.ts +1 -0
  450. package/dist/status/buildStatus.js +2 -0
  451. package/dist/status/compileReport.d.ts +22 -0
  452. package/dist/status/compileReport.js +16 -2
  453. package/dist/status/compiledProbeCollection.d.ts +21 -0
  454. package/dist/status/compiledProbeCollection.js +27 -0
  455. package/dist/status/imageStatusReport.js +6 -0
  456. package/dist/status/index.d.ts +3 -0
  457. package/dist/status/index.js +3 -0
  458. package/dist/status/lifecycleProbes.d.ts +19 -0
  459. package/dist/status/lifecycleProbes.js +174 -0
  460. package/dist/status/moltnetProbes.d.ts +7 -8
  461. package/dist/status/moltnetProbes.js +27 -198
  462. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  463. package/dist/status/moltnetWiringProbes.js +178 -0
  464. package/dist/target/cleanupRun.d.ts +41 -0
  465. package/dist/target/cleanupRun.js +139 -0
  466. package/dist/target/cleanupRunDocker.d.ts +16 -0
  467. package/dist/target/cleanupRunDocker.js +66 -0
  468. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  469. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  470. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  471. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  472. package/dist/target/composedPreparation.d.ts +205 -0
  473. package/dist/target/composedPreparation.js +223 -0
  474. package/dist/target/containerBundle.d.ts +82 -0
  475. package/dist/target/containerBundle.js +243 -0
  476. package/dist/target/containerBundleArchive.d.ts +31 -0
  477. package/dist/target/containerBundleArchive.js +140 -0
  478. package/dist/target/containerBundleAuthority.d.ts +25 -0
  479. package/dist/target/containerBundleAuthority.js +65 -0
  480. package/dist/target/containerBundleContracts.d.ts +114 -0
  481. package/dist/target/containerBundleContracts.js +173 -0
  482. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  483. package/dist/target/containerBundleFilesystemStore.js +247 -0
  484. package/dist/target/containerBundlePolicy.d.ts +33 -0
  485. package/dist/target/containerBundlePolicy.js +64 -0
  486. package/dist/target/containerBundleStore.d.ts +127 -0
  487. package/dist/target/containerBundleStore.js +284 -0
  488. package/dist/target/contracts.d.ts +538 -0
  489. package/dist/target/contracts.js +373 -0
  490. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  491. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  492. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  493. package/dist/target/dockerArtifactInspection.js +125 -0
  494. package/dist/target/dockerArtifacts.d.ts +21 -0
  495. package/dist/target/dockerArtifacts.js +110 -0
  496. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  497. package/dist/target/dockerArtifactsProvider.js +449 -0
  498. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  499. package/dist/target/dockerCommandExecutor.js +200 -0
  500. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  501. package/dist/target/dockerCommandExecutorCore.js +273 -0
  502. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  503. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  504. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  505. package/dist/target/dockerContextSnapshot.js +158 -0
  506. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  507. package/dist/target/dockerEndpointFingerprint.js +9 -0
  508. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  509. package/dist/target/dockerPreparedArtifact.js +131 -0
  510. package/dist/target/dockerProjectionJson.d.ts +1 -0
  511. package/dist/target/dockerProjectionJson.js +80 -0
  512. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  513. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  514. package/dist/target/dockerResources.d.ts +26 -0
  515. package/dist/target/dockerResources.js +162 -0
  516. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  517. package/dist/target/dockerResourcesProvider.js +207 -0
  518. package/dist/target/dockerSecrets.d.ts +39 -0
  519. package/dist/target/dockerSecrets.js +249 -0
  520. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  521. package/dist/target/dockerSecretsAuthority.js +216 -0
  522. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  523. package/dist/target/dockerSecretsLifecycle.js +133 -0
  524. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  525. package/dist/target/dockerSecretsProvider.js +329 -0
  526. package/dist/target/dockerTarget.d.ts +52 -0
  527. package/dist/target/dockerTarget.js +48 -0
  528. package/dist/target/dockerTargetBinding.d.ts +14 -0
  529. package/dist/target/dockerTargetBinding.js +96 -0
  530. package/dist/target/dockerWorldClock.d.ts +17 -0
  531. package/dist/target/dockerWorldClock.js +111 -0
  532. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  533. package/dist/target/dockerWorldReadiness.js +119 -0
  534. package/dist/target/dockerWorldService.d.ts +23 -0
  535. package/dist/target/dockerWorldService.js +216 -0
  536. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  537. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  538. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  539. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  540. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  541. package/dist/target/dockerWorldServiceProvider.js +318 -0
  542. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  543. package/dist/target/dockerWorldServiceStore.js +367 -0
  544. package/dist/target/evidenceExport.d.ts +55 -0
  545. package/dist/target/evidenceExport.js +518 -0
  546. package/dist/target/evidenceExportArchive.d.ts +10 -0
  547. package/dist/target/evidenceExportArchive.js +302 -0
  548. package/dist/target/evidenceExportContract.d.ts +27 -0
  549. package/dist/target/evidenceExportContract.js +40 -0
  550. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  551. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  552. package/dist/target/evidenceExportProvider.d.ts +85 -0
  553. package/dist/target/evidenceExportProvider.js +187 -0
  554. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  555. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  556. package/dist/target/evidenceExportStore.d.ts +70 -0
  557. package/dist/target/evidenceExportStore.js +498 -0
  558. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  559. package/dist/target/evidenceExportStorePublication.js +395 -0
  560. package/dist/target/handles.d.ts +20 -0
  561. package/dist/target/handles.js +56 -0
  562. package/dist/target/index.d.ts +12 -0
  563. package/dist/target/index.js +11 -0
  564. package/dist/target/journal.d.ts +59 -0
  565. package/dist/target/journal.js +529 -0
  566. package/dist/target/journalFilesystem.d.ts +3 -0
  567. package/dist/target/journalFilesystem.js +111 -0
  568. package/dist/target/journalRoot.d.ts +4 -0
  569. package/dist/target/journalRoot.js +6 -0
  570. package/dist/target/organizationAttachment.d.ts +23 -0
  571. package/dist/target/organizationAttachment.js +263 -0
  572. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  573. package/dist/target/organizationAttachmentAuthority.js +161 -0
  574. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  575. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  576. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  577. package/dist/target/organizationAttachmentProvider.js +289 -0
  578. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  579. package/dist/target/organizationAttachmentStore.js +316 -0
  580. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  581. package/dist/target/publicArtifactSnapshot.js +150 -0
  582. package/dist/target/topologyActivation.d.ts +51 -0
  583. package/dist/target/topologyActivation.js +149 -0
  584. package/dist/target/topologyAttestation.d.ts +37 -0
  585. package/dist/target/topologyAttestation.js +300 -0
  586. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  587. package/dist/target/topologyAttestationErrors.js +1 -0
  588. package/dist/target/worldClock.d.ts +60 -0
  589. package/dist/target/worldClock.js +129 -0
  590. package/dist/target/worldReadiness.d.ts +103 -0
  591. package/dist/target/worldReadiness.js +153 -0
  592. package/moltnet-releases.json +20 -0
  593. package/package.json +27 -11
  594. package/runtimes.yaml +8 -23
  595. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  596. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  597. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  598. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -1,89 +1,62 @@
1
1
  import { getCanonicalManifestPath, getManifestPath, resolveProjectPath } from "../filesystem/index.js";
2
- import { isAgentManifest, isTeamManifest, mergeExecution } from "../manifest/index.js";
2
+ import { isAgentManifest, isReferencedMember, isTeamManifest, materializeInlineAgentManifest } from "../manifest/index.js";
3
3
  import { SpawnfileError } from "../shared/index.js";
4
4
  import { getAgentFingerprint, getMcpNames, getTeamFingerprint, validateEffectiveSkillRequirements } from "./compilePlanHelpers.js";
5
- import { resolveAgentSurfaces } from "./agentSurfaces.js";
6
- import { mergeResolvedSkills, loadResolvedSkills } from "./surfaces.js";
7
- import { assertRuntimeSupportsExecutionModelAuth } from "./modelAuth.js";
8
- import { assertRuntimeSupportsAgentSurfaces } from "./surfaceSupport.js";
9
- import { applyExecutionDefaults } from "./executionDefaults.js";
10
- import { normalizeDescription, resolveDescription, resolveRuntime } from "./buildCompilePlanRuntime.js";
5
+ import { loadResolvedSkills } from "./surfaces.js";
6
+ import { mergeCompatibleAgentNode } from "./agentNodeMerge.js";
7
+ import { normalizeDescription } from "./buildCompilePlanRuntime.js";
11
8
  import { resolveTeamExternalIds, resolveTeamNetworks, validateTeamNetworkRooms } from "./buildCompilePlanTeams.js";
9
+ import { resolveDeclaredMemoryBanks } from "./memoryResolution.js";
12
10
  import { mergeWorkspaceResources } from "./workspaceResources.js";
13
- import { DEFAULT_POLICY_MODE, DEFAULT_POLICY_ON_DEGRADE, mergeResolvedDocuments, resolveEffectiveEnvironment } from "./buildCompilePlanTraversalHelpers.js";
11
+ import { DEFAULT_POLICY_MODE, DEFAULT_POLICY_ON_DEGRADE, mergeResolvedDocuments, } from "./buildCompilePlanTraversalHelpers.js";
12
+ import { resolveAgentNode } from "./buildCompilePlanAgent.js";
13
+ import { createInlineAgentSource } from "./projectManifestGraph.js";
14
14
  export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, fingerprintCache, edges, memberships }) => {
15
15
  const visitStack = [];
16
- const visitAgent = async (manifestPath, context) => {
17
- const canonicalPath = getCanonicalManifestPath(manifestPath);
18
- if (visitStack.includes(canonicalPath)) {
19
- throw new SpawnfileError("compile_error", `Cycle detected while visiting ${canonicalPath}`);
20
- }
21
- const loadedManifest = await getLoadedManifest(canonicalPath);
22
- if (!isAgentManifest(loadedManifest.manifest)) {
23
- throw new SpawnfileError("compile_error", `Expected agent manifest, got ${loadedManifest.manifest.kind} at ${canonicalPath}`);
24
- }
25
- const runtime = await resolveRuntime(loadedManifest.manifest, context);
26
- const execution = applyExecutionDefaults(context.isSubagent
27
- ? mergeExecution(context.inheritedExecution, loadedManifest.manifest.execution)
28
- : loadedManifest.manifest.execution);
29
- assertRuntimeSupportsExecutionModelAuth(runtime.name, execution, loadedManifest.manifest.name);
30
- const environment = resolveEffectiveEnvironment(context.inheritedShared?.surface?.environment, loadedManifest.manifest.environment);
31
- const inheritedSkills = context.inheritedShared
32
- ? await loadResolvedSkills(context.inheritedShared.manifestPath, context.inheritedShared.surface?.workspace?.skills)
33
- : [];
34
- const localSkills = await loadResolvedSkills(canonicalPath, loadedManifest.manifest.workspace?.skills);
35
- const skills = mergeResolvedSkills(inheritedSkills, localSkills);
36
- validateEffectiveSkillRequirements(loadedManifest.manifest.name, getMcpNames(environment.mcpServers), skills);
37
- const docs = await mergeResolvedDocuments(canonicalPath, loadedManifest.manifest.workspace?.docs, context.inheritedShared?.manifestPath, context.inheritedShared?.surface?.workspace?.docs);
38
- const workspaceResources = mergeWorkspaceResources(context.inheritedResources, loadedManifest.manifest.workspace?.resources, loadedManifest.manifest.name, {
39
- kind: "agent",
40
- key: canonicalPath,
41
- name: loadedManifest.manifest.name
16
+ const recordAgentMembership = (teamSource, teamName, memberId, agent) => {
17
+ memberships.set(`${teamSource}::${memberId}::${agent.source}`, {
18
+ agentSource: agent.source,
19
+ memberId,
20
+ teamName,
21
+ teamSource
42
22
  });
43
- const candidate = {
44
- description: resolveDescription(loadedManifest.manifest.description, docs),
45
- docs,
46
- env: environment.env,
47
- execution,
48
- expose: loadedManifest.manifest.expose ?? false,
23
+ return {
24
+ id: memberId,
49
25
  kind: "agent",
50
- mcpServers: environment.mcpServers,
51
- name: loadedManifest.manifest.name,
52
- policyMode: loadedManifest.manifest.policy?.mode ?? DEFAULT_POLICY_MODE,
53
- policyOnDegrade: loadedManifest.manifest.policy?.on_degrade ?? DEFAULT_POLICY_ON_DEGRADE,
54
- runtime,
55
- schedule: loadedManifest.manifest.schedule,
56
- secrets: environment.secrets,
57
- packages: environment.packages,
58
- skills,
59
- source: canonicalPath,
60
- surfaces: resolveAgentSurfaces(loadedManifest.manifest.surfaces),
61
- subagents: [],
62
- workspaceResources
26
+ nodeSource: agent.source,
27
+ runtimeName: agent.runtime.name
63
28
  };
64
- assertRuntimeSupportsAgentSurfaces(runtime.name, candidate.surfaces, loadedManifest.manifest.name);
65
- const fingerprint = getAgentFingerprint(candidate);
66
- const existingFingerprint = fingerprintCache.get(canonicalPath);
67
- if (existingFingerprint && existingFingerprint !== fingerprint) {
68
- throw new SpawnfileError("compile_error", `Manifest ${canonicalPath} resolves differently across compile contexts`);
29
+ };
30
+ const visitAgentManifest = async (manifest, source, manifestPath, context) => {
31
+ if (visitStack.includes(source)) {
32
+ throw new SpawnfileError("compile_error", `Cycle detected while visiting ${source}`);
69
33
  }
70
- const cachedNode = nodeCache.get(canonicalPath);
34
+ const candidate = await resolveAgentNode({ context, manifest, manifestPath, source });
35
+ const cachedNode = nodeCache.get(source);
71
36
  if (cachedNode) {
72
- return cachedNode.value;
37
+ const cachedAgent = cachedNode.value;
38
+ mergeCompatibleAgentNode(cachedAgent, candidate);
39
+ fingerprintCache.set(source, getAgentFingerprint(cachedAgent));
40
+ return cachedAgent;
73
41
  }
74
- fingerprintCache.set(canonicalPath, fingerprint);
75
- nodeCache.set(canonicalPath, {
76
- runtimeName: runtime.name,
77
- source: canonicalPath,
42
+ const fingerprint = getAgentFingerprint(candidate);
43
+ const existingFingerprint = fingerprintCache.get(source);
44
+ if (existingFingerprint && existingFingerprint !== fingerprint) {
45
+ throw new SpawnfileError("compile_error", `Agent ${source} resolves differently across compile contexts`);
46
+ }
47
+ fingerprintCache.set(source, fingerprint);
48
+ nodeCache.set(source, {
49
+ runtimeName: candidate.runtime.name,
50
+ source,
78
51
  value: candidate
79
52
  });
80
- visitStack.push(canonicalPath);
81
- for (const subagent of loadedManifest.manifest.subagents ?? []) {
82
- const childManifestPath = getManifestPath(resolveProjectPath(canonicalPath, subagent.ref));
53
+ visitStack.push(source);
54
+ for (const subagent of manifest.subagents ?? []) {
55
+ const childManifestPath = getManifestPath(resolveProjectPath(manifestPath, subagent.ref));
83
56
  const resolvedSubagent = await visitAgent(childManifestPath, {
84
- inheritedExecution: execution,
57
+ inheritedExecution: candidate.execution,
85
58
  inheritedResources: candidate.workspaceResources,
86
- inheritedRuntime: runtime,
59
+ inheritedRuntime: candidate.runtime,
87
60
  isSubagent: true
88
61
  });
89
62
  candidate.subagents.push({
@@ -91,7 +64,7 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
91
64
  nodeSource: resolvedSubagent.source
92
65
  });
93
66
  edges.push({
94
- from: canonicalPath,
67
+ from: source,
95
68
  kind: "subagent",
96
69
  label: subagent.id,
97
70
  to: resolvedSubagent.source
@@ -100,6 +73,14 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
100
73
  visitStack.pop();
101
74
  return candidate;
102
75
  };
76
+ const visitAgent = async (manifestPath, context) => {
77
+ const canonicalPath = getCanonicalManifestPath(manifestPath);
78
+ const loadedManifest = await getLoadedManifest(canonicalPath);
79
+ if (!isAgentManifest(loadedManifest.manifest)) {
80
+ throw new SpawnfileError("compile_error", `Expected agent manifest, got ${loadedManifest.manifest.kind} at ${canonicalPath}`);
81
+ }
82
+ return visitAgentManifest(loadedManifest.manifest, canonicalPath, canonicalPath, context);
83
+ };
103
84
  const visitTeam = async (manifestPath, inheritedResources = []) => {
104
85
  const canonicalPath = getCanonicalManifestPath(manifestPath);
105
86
  if (visitStack.includes(canonicalPath)) {
@@ -126,11 +107,15 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
126
107
  docs,
127
108
  external: resolvedExternal,
128
109
  externalExplicit: manifest.external !== undefined,
110
+ ...(manifest.external_participants
111
+ ? { externalParticipants: manifest.external_participants }
112
+ : {}),
129
113
  kind: "team",
130
114
  lead: manifest.lead ?? null,
131
115
  members: [],
132
116
  mode: manifest.mode,
133
117
  name: manifest.name,
118
+ memory: resolveDeclaredMemoryBanks(manifest.memory, canonicalPath, "team", manifest.name),
134
119
  networks: resolveTeamNetworks(manifest),
135
120
  policyMode: manifest.policy?.mode ?? DEFAULT_POLICY_MODE,
136
121
  policyOnDegrade: manifest.policy?.on_degrade ?? DEFAULT_POLICY_ON_DEGRADE,
@@ -161,6 +146,25 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
161
146
  });
162
147
  visitStack.push(canonicalPath);
163
148
  for (const member of loadedManifest.manifest.members) {
149
+ if (!isReferencedMember(member)) {
150
+ const resolvedAgent = await visitAgentManifest(materializeInlineAgentManifest(manifest, member), createInlineAgentSource(canonicalPath, member.id), canonicalPath, {
151
+ inheritedShared: {
152
+ manifestPath: canonicalPath,
153
+ surface: manifest.shared
154
+ },
155
+ inheritedResources: candidate.workspaceResources,
156
+ isSubagent: false
157
+ });
158
+ const resolvedMember = recordAgentMembership(canonicalPath, candidate.name, member.id, resolvedAgent);
159
+ candidate.members.push(resolvedMember);
160
+ edges.push({
161
+ from: canonicalPath,
162
+ kind: "team_member",
163
+ label: member.id,
164
+ to: resolvedMember.nodeSource
165
+ });
166
+ continue;
167
+ }
164
168
  const childManifestPath = getManifestPath(resolveProjectPath(canonicalPath, member.ref));
165
169
  const childManifest = await getLoadedManifest(childManifestPath);
166
170
  let resolvedMember;
@@ -173,18 +177,7 @@ export const createCompilePlanTraversal = ({ getLoadedManifest, nodeCache, finge
173
177
  inheritedResources: candidate.workspaceResources,
174
178
  isSubagent: false
175
179
  });
176
- resolvedMember = {
177
- id: member.id,
178
- kind: "agent",
179
- nodeSource: resolvedAgent.source,
180
- runtimeName: resolvedAgent.runtime.name
181
- };
182
- memberships.set(`${canonicalPath}::${member.id}::${resolvedAgent.source}`, {
183
- agentSource: resolvedAgent.source,
184
- memberId: member.id,
185
- teamName: candidate.name,
186
- teamSource: canonicalPath
187
- });
180
+ resolvedMember = recordAgentMembership(canonicalPath, candidate.name, member.id, resolvedAgent);
188
181
  }
189
182
  else {
190
183
  const resolvedTeam = await visitTeam(childManifestPath, candidate.workspaceResources);
@@ -1,4 +1,5 @@
1
1
  import { type CompileProjectOptions, type CompileProjectResult } from "./compileProject.js";
2
+ import { type DockerImageInspector } from "./dockerBuildSkip.js";
2
3
  import type { MoltnetTargetArchitecture } from "./moltnetBinaries.js";
3
4
  export interface DockerBuildInvocation {
4
5
  args: string[];
@@ -12,9 +13,19 @@ export interface BuildProjectOptions extends CompileProjectOptions {
12
13
  buildRunner?: DockerBuildRunner;
13
14
  dockerCommand?: string;
14
15
  dockerContext?: string;
16
+ imageInspector?: DockerImageInspector;
15
17
  imageTag?: string;
16
18
  }
17
19
  export interface BuildProjectResult extends CompileProjectResult {
20
+ imageBuild?: {
21
+ buildMs: number | null;
22
+ contextBytes: number;
23
+ contextDigest: string;
24
+ contextDigestMs: number;
25
+ contextFileCount: number;
26
+ probeMs: number;
27
+ skipped: boolean;
28
+ };
18
29
  imageTag: string;
19
30
  }
20
31
  export declare const createDefaultImageTag: (projectRoot: string) => string;
@@ -1,8 +1,12 @@
1
1
  import path from "node:path";
2
2
  import { execFile as execFileCallback, spawn } from "node:child_process";
3
+ import { performance } from "node:perf_hooks";
3
4
  import { promisify } from "node:util";
5
+ import { BUILD_IMAGE_CACHE_VERSION, readBuildImageCacheEntry, writeBuildImageCacheEntry } from "../deployment/buildImageCacheStore.js";
4
6
  import { SpawnfileError } from "../shared/index.js";
5
7
  import { compileProject } from "./compileProject.js";
8
+ import { createDockerBuildContextDigest, listDockerBuildContextFiles } from "./dockerBuildContext.js";
9
+ import { inspectDockerImage, shouldSkipDockerBuild } from "./dockerBuildSkip.js";
6
10
  import { slugify } from "./helpers.js";
7
11
  const execFile = promisify(execFileCallback);
8
12
  export const createDefaultImageTag = (projectRoot) => {
@@ -76,16 +80,87 @@ export const buildProject = async (inputPath, options = {}) => {
76
80
  const compileResult = await compileProject(inputPath, {
77
81
  clean: options.clean,
78
82
  containerArchitecture: targetArchitecture,
79
- outputDirectory: options.outputDirectory
83
+ outputDirectory: options.outputDirectory,
84
+ runtimePackageOverrides: options.runtimePackageOverrides,
85
+ ...(options.worldBindingsPath !== undefined
86
+ ? { worldBindingsPath: options.worldBindingsPath }
87
+ : {})
80
88
  });
81
89
  const imageTag = options.imageTag ?? createDefaultImageTag(resolveImageTagRoot(inputPath));
82
90
  const invocation = createDockerBuildInvocation(compileResult.outputDirectory, imageTag, {
83
91
  dockerCommand: options.dockerCommand,
84
92
  dockerContext: options.dockerContext
85
93
  });
86
- await (options.buildRunner ?? runDockerBuild)(invocation);
94
+ const compileFingerprint = compileResult.report.compile_fingerprint ?? "";
95
+ const projectRoot = compileResult.report.root;
96
+ const contextDigestStartedAt = performance.now();
97
+ const [contextFiles, contextDigest] = await Promise.all([
98
+ listDockerBuildContextFiles(compileResult.outputDirectory),
99
+ createDockerBuildContextDigest(compileResult.outputDirectory)
100
+ ]);
101
+ const contextDigestMs = performance.now() - contextDigestStartedAt;
102
+ let probeMs = 0;
103
+ let skipped = false;
104
+ if (!options.buildRunner) {
105
+ const probeStartedAt = performance.now();
106
+ const cacheEntry = await readBuildImageCacheEntry({
107
+ dockerContext: options.dockerContext,
108
+ imageTag,
109
+ projectRoot
110
+ });
111
+ skipped = await shouldSkipDockerBuild({
112
+ cacheEntry,
113
+ compileFingerprint,
114
+ contextDigest,
115
+ dockerCommand: options.dockerCommand,
116
+ dockerContext: options.dockerContext,
117
+ imageInspector: options.imageInspector,
118
+ imageTag
119
+ });
120
+ probeMs = performance.now() - probeStartedAt;
121
+ }
122
+ let buildMs = null;
123
+ if (!skipped) {
124
+ const buildStartedAt = performance.now();
125
+ await (options.buildRunner ?? runDockerBuild)(invocation);
126
+ buildMs = performance.now() - buildStartedAt;
127
+ if (!options.buildRunner) {
128
+ try {
129
+ const inspection = await (options.imageInspector ?? inspectDockerImage)({
130
+ dockerCommand: options.dockerCommand,
131
+ dockerContext: options.dockerContext,
132
+ imageTag
133
+ });
134
+ if (inspection
135
+ && inspection.labels["com.spawnfile.compile_fingerprint"] === compileFingerprint) {
136
+ await writeBuildImageCacheEntry({
137
+ compileFingerprint,
138
+ contextDigest,
139
+ dockerContext: options.dockerContext ?? null,
140
+ imageId: inspection.id,
141
+ imageTag,
142
+ projectRoot,
143
+ version: BUILD_IMAGE_CACHE_VERSION,
144
+ writtenAt: new Date().toISOString()
145
+ });
146
+ }
147
+ }
148
+ catch {
149
+ // A post-build cache probe is best-effort and never changes build success.
150
+ }
151
+ }
152
+ }
87
153
  return {
88
154
  ...compileResult,
155
+ imageBuild: {
156
+ buildMs,
157
+ contextBytes: contextFiles.reduce((total, file) => total + file.size, 0),
158
+ contextDigest,
159
+ contextDigestMs,
160
+ contextFileCount: contextFiles.length,
161
+ probeMs,
162
+ skipped
163
+ },
89
164
  imageTag
90
165
  };
91
166
  };
@@ -14,6 +14,7 @@ export const validateEffectiveSkillRequirements = (nodeName, mcpNames, skills) =
14
14
  export const getAgentFingerprint = (node) => stableStringify({
15
15
  env: node.env,
16
16
  execution: node.execution,
17
+ memory: node.memory,
17
18
  mcpServers: node.mcpServers,
18
19
  runtime: node.runtime,
19
20
  schedule: node.schedule,
@@ -30,6 +31,7 @@ export const getAgentFingerprint = (node) => stableStringify({
30
31
  export const getTeamFingerprint = (node) => stableStringify({
31
32
  members: node.members,
32
33
  mode: node.mode,
34
+ memory: node.memory,
33
35
  lead: node.lead,
34
36
  external: node.external,
35
37
  networks: node.networks ?? [],
@@ -1,11 +1,24 @@
1
1
  import { CompileReport } from "../report/index.js";
2
+ import { type RuntimePackageOverrideRequest } from "./containerPackageOverrides.js";
2
3
  import { type MoltnetTargetArchitecture } from "./moltnetBinaries.js";
4
+ import { type OrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
5
+ export { createOrganizationReadinessEvidence, ORGANIZATION_READINESS_EVIDENCE_VERSION } from "./organizationReadyEvidence.js";
6
+ export type { CreateOrganizationReadinessEvidenceInput, OrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
3
7
  export interface CompileProjectOptions {
4
8
  clean?: boolean;
5
9
  containerArchitecture?: MoltnetTargetArchitecture;
6
10
  outputDirectory?: string;
11
+ /** Compile-time-only local overrides for runtime install npm packages
12
+ * (see src/compiler/containerPackageOverrides.ts). Only opt-in
13
+ * local/E2E callers set this; a standard compile leaves it undefined and
14
+ * every runtime install package resolves to its pinned registry
15
+ * version, unchanged. */
16
+ runtimePackageOverrides?: RuntimePackageOverrideRequest;
17
+ /** Runner-owned path to a bounded, secret-free simfile.world-bindings.v1 artifact. */
18
+ worldBindingsPath?: string;
7
19
  }
8
20
  export interface CompileProjectResult {
21
+ organizationReadinessEvidence: OrganizationReadinessEvidence;
9
22
  outputDirectory: string;
10
23
  report: CompileReport;
11
24
  reportPath: string;
@@ -3,12 +3,18 @@ import { chmod } from "node:fs/promises";
3
3
  import { ensureDirectory, removeDirectory } from "../filesystem/index.js";
4
4
  import { createCompileReport, createDiagnostic, writeCompileReport } from "../report/index.js";
5
5
  import { DEFAULT_OUTPUT_DIRECTORY } from "../shared/index.js";
6
- import { assertRuntimeCanCompile, createRuntimeLifecycleDiagnostics, getRuntimeAdapter } from "../runtime/index.js";
6
+ import { assertRuntimeCanCompile, createRuntimeLifecycleDiagnostics, getRuntimeAdapter, resolveNoopolisRunId } from "../runtime/index.js";
7
7
  import { buildCompilePlan } from "./buildCompilePlan.js";
8
8
  import { createContainerArtifacts } from "./containerArtifacts.js";
9
+ import { stageRuntimePackageOverrides } from "./containerPackageOverrides.js";
10
+ import { augmentNodeReports } from "./compileProjectReports.js";
11
+ import { enforcePolicy } from "./compileProjectPolicy.js";
9
12
  import { injectMoltnetWorkspaceFiles, injectTeamCompileSupportFiles, prepareTeamCompileSupport, writeEmittedFiles } from "./compileProjectSupport.js";
10
13
  import { generateMoltnetArtifacts } from "./moltnetArtifacts.js";
11
14
  import { stageMoltnetBinaries } from "./moltnetBinaries.js";
15
+ import { loadWorldBindingsForCompile } from "./worldBindingsFile.js";
16
+ import { createOrganizationReadinessEvidence } from "./organizationReadyEvidence.js";
17
+ export { createOrganizationReadinessEvidence, ORGANIZATION_READINESS_EVIDENCE_VERSION } from "./organizationReadyEvidence.js";
12
18
  const createTeamCapabilities = (outcome, message) => [
13
19
  { key: "team.members", message, outcome },
14
20
  { key: "team.mode", message, outcome },
@@ -132,76 +138,11 @@ const compileTeamNode = async (baseDirectory, node) => {
132
138
  value: node.value
133
139
  };
134
140
  };
135
- const enforcePolicy = (nodeReport, policyMode, onDegrade) => {
136
- for (const capability of nodeReport.capabilities) {
137
- if (capability.outcome === "unsupported") {
138
- if (policyMode === "strict") {
139
- throw new Error(`Policy violation: ${capability.key} is unsupported for ${nodeReport.id} (strict mode)${capability.message ? `: ${capability.message}` : ""}`);
140
- }
141
- if (policyMode === "warn") {
142
- nodeReport.diagnostics.push(createDiagnostic("warn", `Policy warning: ${capability.key} is unsupported for ${nodeReport.id}${capability.message ? `: ${capability.message}` : ""}`));
143
- }
144
- }
145
- if (capability.outcome === "degraded") {
146
- if (onDegrade === "error") {
147
- throw new Error(`Policy violation: ${capability.key} is degraded for ${nodeReport.id} (on_degrade: error)${capability.message ? `: ${capability.message}` : ""}`);
148
- }
149
- if (onDegrade === "warn") {
150
- nodeReport.diagnostics.push(createDiagnostic("warn", `Policy warning: ${capability.key} is degraded for ${nodeReport.id}${capability.message ? `: ${capability.message}` : ""}`));
151
- }
152
- }
153
- }
154
- };
155
- const createIdentityCapabilities = (node) => [
156
- ...(node.surfaces?.slack?.identity
157
- ? [{
158
- key: "surfaces.slack.identity",
159
- message: "Declared Slack identity was preserved for roster output",
160
- outcome: "supported"
161
- }]
162
- : []),
163
- ...(node.surfaces?.discord?.identity
164
- ? [{
165
- key: "surfaces.discord.identity",
166
- message: "Declared Discord identity was preserved for roster output",
167
- outcome: "supported"
168
- }]
169
- : []),
170
- ...(node.surfaces?.telegram?.identity
171
- ? [{
172
- key: "surfaces.telegram.identity",
173
- message: "Declared Telegram identity was preserved for roster output",
174
- outcome: "supported"
175
- }]
176
- : []),
177
- ...(node.surfaces?.whatsapp?.identity
178
- ? [{
179
- key: "surfaces.whatsapp.identity",
180
- message: "Declared WhatsApp identity was preserved for roster output",
181
- outcome: "supported"
182
- }]
183
- : [])
184
- ];
185
- const createWorkspaceResourceCapabilities = (node) => (node.workspaceResources?.length ?? 0) > 0
186
- ? [{
187
- key: "workspace.resources",
188
- message: `${node.workspaceResources?.length ?? 0} workspace resource(s) will be prepared at startup`,
189
- outcome: "supported"
190
- }]
191
- : [];
192
- const augmentNodeReports = (compiledNodes, support) => {
193
- for (const compiled of compiledNodes) {
194
- compiled.report.capabilities.push(...createWorkspaceResourceCapabilities(compiled.value));
195
- if (compiled.value.kind === "team") {
196
- compiled.report.capabilities.push(...(support.capabilitiesByTeamSource.get(compiled.value.source) ?? []));
197
- compiled.report.diagnostics.push(...(support.diagnosticsByTeamSource.get(compiled.value.source) ?? []));
198
- continue;
199
- }
200
- compiled.report.capabilities.push(...createIdentityCapabilities(compiled.value));
201
- }
202
- };
203
141
  export const compileProject = async (inputPath, options = {}) => {
204
142
  const plan = await buildCompilePlan(inputPath);
143
+ const worldBindings = options.worldBindingsPath === undefined
144
+ ? undefined
145
+ : await loadWorldBindingsForCompile(plan, options.worldBindingsPath, resolveNoopolisRunId(process.env));
205
146
  // The default output directory lives under the resolved project root, not the
206
147
  // process working directory, so `spawnfile compile ./org` writes ./org/.spawn.
207
148
  const outputDirectory = options.outputDirectory
@@ -231,17 +172,21 @@ export const compileProject = async (inputPath, options = {}) => {
231
172
  enforcePolicy(compiled.report, compiled.value.policyMode, compiled.value.policyOnDegrade);
232
173
  }
233
174
  const moltnetArtifacts = await generateMoltnetArtifacts(plan);
234
- const hasStagedMoltnetBinaries = moltnetArtifacts
175
+ const moltnetRelease = moltnetArtifacts
235
176
  ? await stageMoltnetBinaries(outputDirectory, {
236
177
  architecture: options.containerArchitecture
237
178
  })
238
- : false;
179
+ : undefined;
239
180
  await injectMoltnetWorkspaceFiles(outputDirectory, compiledNodes, moltnetArtifacts);
181
+ const resolvedRuntimePackageOverrides = await stageRuntimePackageOverrides(outputDirectory, options.runtimePackageOverrides);
240
182
  const generatedAt = new Date().toISOString();
241
183
  const containerArtifacts = await createContainerArtifacts(plan, compiledNodes, {
242
184
  generatedAt,
243
- hasStagedMoltnetBinaries,
244
- moltnet: moltnetArtifacts
185
+ hasStagedMoltnetBinaries: Boolean(moltnetRelease),
186
+ moltnet: moltnetArtifacts,
187
+ moltnetRelease,
188
+ runtimePackageOverrides: resolvedRuntimePackageOverrides,
189
+ ...(worldBindings ? { worldBindings } : {})
245
190
  });
246
191
  await writeEmittedFiles(outputDirectory, containerArtifacts.files);
247
192
  await Promise.all(containerArtifacts.executablePaths.map((filePath) => chmod(path.join(outputDirectory, filePath), 0o755)));
@@ -252,5 +197,12 @@ export const compileProject = async (inputPath, options = {}) => {
252
197
  projectName: containerArtifacts.distribution.report.organization.project
253
198
  });
254
199
  const reportPath = await writeCompileReport(outputDirectory, report);
255
- return { outputDirectory, report, reportPath };
200
+ const organizationReadinessEvidence = createOrganizationReadinessEvidence({
201
+ compileVersion: report.spawnfile_version,
202
+ containerArtifacts,
203
+ moltnetArtifacts,
204
+ plan,
205
+ ...(worldBindings ? { worldBindings } : {})
206
+ });
207
+ return { organizationReadinessEvidence, outputDirectory, report, reportPath };
256
208
  };
@@ -0,0 +1,5 @@
1
+ import type { Manifest } from "../manifest/index.js";
2
+ import { type NodeReport } from "../report/index.js";
3
+ export type PolicyMode = NonNullable<Manifest["policy"]>["mode"];
4
+ export type OnDegrade = NonNullable<Manifest["policy"]>["on_degrade"];
5
+ export declare const enforcePolicy: (nodeReport: NodeReport, policyMode: PolicyMode | null, onDegrade: OnDegrade | null) => void;
@@ -0,0 +1,21 @@
1
+ import { createDiagnostic } from "../report/index.js";
2
+ export const enforcePolicy = (nodeReport, policyMode, onDegrade) => {
3
+ for (const capability of nodeReport.capabilities) {
4
+ if (capability.outcome === "unsupported") {
5
+ if (policyMode === "strict") {
6
+ throw new Error(`Policy violation: ${capability.key} is unsupported for ${nodeReport.id} (strict mode)${capability.message ? `: ${capability.message}` : ""}`);
7
+ }
8
+ if (policyMode === "warn") {
9
+ nodeReport.diagnostics.push(createDiagnostic("warn", `Policy warning: ${capability.key} is unsupported for ${nodeReport.id}${capability.message ? `: ${capability.message}` : ""}`));
10
+ }
11
+ }
12
+ if (capability.outcome === "degraded") {
13
+ if (onDegrade === "error") {
14
+ throw new Error(`Policy violation: ${capability.key} is degraded for ${nodeReport.id} (on_degrade: error)${capability.message ? `: ${capability.message}` : ""}`);
15
+ }
16
+ if (onDegrade === "warn") {
17
+ nodeReport.diagnostics.push(createDiagnostic("warn", `Policy warning: ${capability.key} is degraded for ${nodeReport.id}${capability.message ? `: ${capability.message}` : ""}`));
18
+ }
19
+ }
20
+ }
21
+ };
@@ -0,0 +1,9 @@
1
+ import type { NodeReport } from "../report/index.js";
2
+ import type { TeamCompileSupport } from "./compileProjectSupport.js";
3
+ import type { ResolvedAgentNode, ResolvedTeamNode } from "./types.js";
4
+ interface ReportTarget {
5
+ report: NodeReport;
6
+ value: ResolvedAgentNode | ResolvedTeamNode;
7
+ }
8
+ export declare const augmentNodeReports: (compiledNodes: ReportTarget[], support: TeamCompileSupport) => void;
9
+ export {};
@@ -0,0 +1,52 @@
1
+ const createIdentityCapabilities = (node) => [
2
+ ...(node.surfaces?.slack?.identity
3
+ ? [{
4
+ key: "surfaces.slack.identity",
5
+ message: "Declared Slack identity was preserved for roster output",
6
+ outcome: "supported"
7
+ }]
8
+ : []),
9
+ ...(node.surfaces?.discord?.identity
10
+ ? [{
11
+ key: "surfaces.discord.identity",
12
+ message: "Declared Discord identity was preserved for roster output",
13
+ outcome: "supported"
14
+ }]
15
+ : []),
16
+ ...(node.surfaces?.telegram?.identity
17
+ ? [{
18
+ key: "surfaces.telegram.identity",
19
+ message: "Declared Telegram identity was preserved for roster output",
20
+ outcome: "supported"
21
+ }]
22
+ : []),
23
+ ...(node.surfaces?.whatsapp?.identity
24
+ ? [{
25
+ key: "surfaces.whatsapp.identity",
26
+ message: "Declared WhatsApp identity was preserved for roster output",
27
+ outcome: "supported"
28
+ }]
29
+ : [])
30
+ ];
31
+ const createWorkspaceResourceCapabilities = (node) => (node.workspaceResources?.length ?? 0) > 0
32
+ ? [{
33
+ key: "workspace.resources",
34
+ message: `${node.workspaceResources?.length ?? 0} workspace resource(s) will be prepared at startup`,
35
+ outcome: "supported"
36
+ }]
37
+ : [];
38
+ export const augmentNodeReports = (compiledNodes, support) => {
39
+ for (const compiled of compiledNodes) {
40
+ compiled.report.capabilities.push(...createWorkspaceResourceCapabilities(compiled.value));
41
+ if (compiled.value.kind === "team") {
42
+ compiled.report.capabilities.push(...(support.capabilitiesByTeamSource.get(compiled.value.source) ?? []));
43
+ compiled.report.diagnostics.push(...(support.diagnosticsByTeamSource.get(compiled.value.source) ?? []));
44
+ continue;
45
+ }
46
+ const activeEnvironments = support.activeEnvironmentsByAgentSource.get(compiled.value.source);
47
+ if (activeEnvironments) {
48
+ compiled.report.active_environments = activeEnvironments;
49
+ }
50
+ compiled.report.capabilities.push(...createIdentityCapabilities(compiled.value));
51
+ }
52
+ };
@@ -0,0 +1,7 @@
1
+ import type { DistributionOrganizationSummary } from "../distribution/index.js";
2
+ import type { MoltnetArtifacts } from "./moltnetArtifacts.js";
3
+ import type { MoltnetReleaseIdentity } from "./moltnetBinaries.js";
4
+ import type { CompiledNodeArtifact, GeneratedContainerArtifacts } from "./containerArtifactsTypes.js";
5
+ import type { CompilePlan } from "./types.js";
6
+ export declare const createOrganizationSummary: (plan: CompilePlan, compiledNodes: CompiledNodeArtifact[]) => DistributionOrganizationSummary;
7
+ export declare const createMoltnetSummary: (moltnet: MoltnetArtifacts | undefined | null, release: MoltnetReleaseIdentity | undefined) => GeneratedContainerArtifacts["report"]["moltnet"] | undefined;