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,38 +1,14 @@
1
1
  import path from "node:path";
2
- import { getCanonicalManifestPath, getManifestPath, getProjectRoot, writeUtf8File } from "../filesystem/index.js";
3
- import { loadManifest, renderSpawnfile } from "../manifest/index.js";
2
+ import { getManifestPath, writeUtf8File } from "../filesystem/index.js";
3
+ import { loadManifest, materializeInlineAgentManifest, renderSpawnfile } from "../manifest/index.js";
4
4
  import { assertRuntimeCanCompile } from "../runtime/index.js";
5
5
  import { SpawnfileError } from "../shared/index.js";
6
6
  import { assertRuntimeSupportsExecutionModelAuth } from "./modelAuth.js";
7
+ import { collectProjectManifestPaths, rewriteInlineAgentMembers } from "./projectManifestGraph.js";
7
8
  import { validateAgentSurfaceSupport } from "./surfaceDefinitions.js";
8
9
  const TEAM_RUNTIME_COMMAND_ERROR = "spawnfile runtime commands only write agent manifests; use --recursive to update descendant agents of a team project";
9
10
  const resolveTargetManifestPath = (inputPath) => getManifestPath(path.resolve(inputPath ?? process.cwd()));
10
- const collectManifestPaths = async (manifestPath, recursive, visited = new Set()) => {
11
- const canonicalPath = getCanonicalManifestPath(manifestPath);
12
- if (visited.has(canonicalPath)) {
13
- return [];
14
- }
15
- visited.add(canonicalPath);
16
- if (!recursive) {
17
- return [canonicalPath];
18
- }
19
- const loadedManifest = await loadManifest(canonicalPath);
20
- const childRefs = loadedManifest.manifest.kind === "team"
21
- ? loadedManifest.manifest.members.map((member) => member.ref)
22
- : (loadedManifest.manifest.subagents ?? []).map((subagent) => subagent.ref);
23
- const nestedPaths = await Promise.all(childRefs.map((ref) => collectManifestPaths(getManifestPath(path.resolve(getProjectRoot(canonicalPath), ref)), true, visited)));
24
- return [canonicalPath, ...nestedPaths.flat()];
25
- };
26
11
  const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
27
- const assertRuntimeMutationAllowed = (manifest, recursive) => {
28
- if (manifest.kind === "agent") {
29
- return true;
30
- }
31
- if (recursive) {
32
- return false;
33
- }
34
- throw new SpawnfileError("validation_error", TEAM_RUNTIME_COMMAND_ERROR);
35
- };
36
12
  const validateAgentRuntimeMutation = (manifest) => {
37
13
  validateAgentSurfaceSupport(manifest);
38
14
  const runtimeName = typeof manifest.runtime === "string" ? manifest.runtime : manifest.runtime?.name;
@@ -41,22 +17,33 @@ const validateAgentRuntimeMutation = (manifest) => {
41
17
  }
42
18
  assertRuntimeSupportsExecutionModelAuth(runtimeName, manifest.execution, manifest.name);
43
19
  };
20
+ const setInlineRuntime = (team, member, runtime) => {
21
+ const nextMember = { ...member, runtime };
22
+ validateAgentRuntimeMutation(materializeInlineAgentManifest(team, nextMember));
23
+ return nextMember;
24
+ };
44
25
  export const setProjectRuntime = async (options) => {
45
26
  await assertRuntimeCanCompile(options.runtime);
46
27
  const recursive = options.recursive ?? false;
47
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
28
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
48
29
  const updatedFiles = [];
49
30
  for (const manifestPath of manifestPaths) {
50
31
  const loadedManifest = await loadManifest(manifestPath);
51
32
  const manifest = loadedManifest.manifest;
52
- if (!assertRuntimeMutationAllowed(manifest, recursive)) {
53
- continue;
33
+ let nextManifest;
34
+ if (manifest.kind === "agent") {
35
+ nextManifest = {
36
+ ...manifest,
37
+ runtime: options.runtime
38
+ };
39
+ validateAgentRuntimeMutation(nextManifest);
40
+ }
41
+ else {
42
+ if (!recursive) {
43
+ throw new SpawnfileError("validation_error", TEAM_RUNTIME_COMMAND_ERROR);
44
+ }
45
+ nextManifest = rewriteInlineAgentMembers(manifest, (member) => setInlineRuntime(manifest, member, options.runtime));
54
46
  }
55
- const nextManifest = {
56
- ...manifest,
57
- runtime: options.runtime
58
- };
59
- validateAgentRuntimeMutation(nextManifest);
60
47
  if (!manifestChanged(manifest, nextManifest)) {
61
48
  continue;
62
49
  }
@@ -1,25 +1,20 @@
1
1
  import path from "node:path";
2
- import { getCanonicalManifestPath, getManifestPath, getProjectRoot, writeUtf8File } from "../filesystem/index.js";
3
- import { loadManifest, renderSpawnfile } from "../manifest/index.js";
2
+ import { getManifestPath, writeUtf8File } from "../filesystem/index.js";
3
+ import { isReferencedMember, loadManifest, materializeInlineAgentManifest, renderSpawnfile } from "../manifest/index.js";
4
4
  import { assertSurfaceMutationAllowed, removeSurface, updateSurfaceAccess, upsertSurface, validateAgentSurfaceSupport } from "./surfaceDefinitions.js";
5
+ import { collectProjectManifestPaths, createInlineAgentSource, rewriteInlineAgentMembers } from "./projectManifestGraph.js";
5
6
  const resolveTargetManifestPath = (inputPath) => getManifestPath(path.resolve(inputPath ?? process.cwd()));
6
- const collectManifestPaths = async (manifestPath, recursive, visited = new Set()) => {
7
- const canonicalPath = getCanonicalManifestPath(manifestPath);
8
- if (visited.has(canonicalPath)) {
9
- return [];
7
+ const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
8
+ const mutateAgentDeclarations = (manifest, manifestPath, recursive, mutate) => {
9
+ if (manifest.kind === "agent") {
10
+ return mutate(manifest, manifestPath);
10
11
  }
11
- visited.add(canonicalPath);
12
12
  if (!recursive) {
13
- return [canonicalPath];
13
+ assertSurfaceMutationAllowed(manifest, recursive);
14
+ return null;
14
15
  }
15
- const loadedManifest = await loadManifest(canonicalPath);
16
- const childRefs = loadedManifest.manifest.kind === "team"
17
- ? loadedManifest.manifest.members.map((member) => member.ref)
18
- : (loadedManifest.manifest.subagents ?? []).map((subagent) => subagent.ref);
19
- const nestedPaths = await Promise.all(childRefs.map((ref) => collectManifestPaths(getManifestPath(path.resolve(getProjectRoot(canonicalPath), ref)), true, visited)));
20
- return [canonicalPath, ...nestedPaths.flat()];
16
+ return rewriteInlineAgentMembers(manifest, (member) => mutate(member, createInlineAgentSource(manifestPath, member.id)) ?? member);
21
17
  };
22
- const manifestChanged = (current, next) => JSON.stringify(current) !== JSON.stringify(next);
23
18
  const rewriteTouchedManifests = async (manifestPaths, mutate) => {
24
19
  const rewrites = [];
25
20
  for (const manifestPath of manifestPaths) {
@@ -31,6 +26,13 @@ const rewriteTouchedManifests = async (manifestPaths, mutate) => {
31
26
  if (nextManifest.kind === "agent") {
32
27
  validateAgentSurfaceSupport(nextManifest);
33
28
  }
29
+ else {
30
+ for (const member of nextManifest.members) {
31
+ if (!isReferencedMember(member)) {
32
+ validateAgentSurfaceSupport(materializeInlineAgentManifest(nextManifest, member));
33
+ }
34
+ }
35
+ }
34
36
  rewrites.push({
35
37
  manifest: nextManifest,
36
38
  manifestPath
@@ -46,53 +48,57 @@ const rewriteTouchedManifests = async (manifestPaths, mutate) => {
46
48
  export { resolvePortableSurfaceName } from "./surfaceDefinitions.js";
47
49
  export const addProjectSurface = async (options) => {
48
50
  const recursive = options.recursive ?? false;
49
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
50
- return rewriteTouchedManifests(manifestPaths, (manifest) => {
51
- if (!assertSurfaceMutationAllowed(manifest, recursive)) {
52
- return null;
53
- }
54
- return {
55
- ...manifest,
56
- surfaces: upsertSurface(manifest.surfaces, options)
57
- };
51
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
52
+ return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
53
+ return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration) => ({
54
+ ...declaration,
55
+ surfaces: upsertSurface(declaration.surfaces, options)
56
+ }));
58
57
  });
59
58
  };
60
59
  export const setProjectSurfaceAccess = async (options) => {
61
60
  const recursive = options.recursive ?? false;
62
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
61
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
63
62
  return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
64
- if (!assertSurfaceMutationAllowed(manifest, recursive)) {
65
- return null;
66
- }
67
- const nextSurfaces = updateSurfaceAccess(manifest.surfaces, options, manifestPath, recursive);
68
- if (!nextSurfaces) {
69
- return null;
70
- }
71
- return {
72
- ...manifest,
73
- surfaces: nextSurfaces
74
- };
63
+ return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration, source) => {
64
+ const nextSurfaces = updateSurfaceAccess(declaration.surfaces, options, source, recursive);
65
+ if (!nextSurfaces) {
66
+ return null;
67
+ }
68
+ return {
69
+ ...declaration,
70
+ surfaces: nextSurfaces
71
+ };
72
+ });
75
73
  });
76
74
  };
77
75
  export const removeProjectSurface = async (options) => {
78
76
  const recursive = options.recursive ?? false;
79
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), recursive);
80
- return rewriteTouchedManifests(manifestPaths, (manifest) => {
81
- if (!assertSurfaceMutationAllowed(manifest, recursive)) {
82
- return null;
83
- }
84
- return {
85
- ...manifest,
86
- surfaces: removeSurface(manifest.surfaces, options.surface)
87
- };
77
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), recursive);
78
+ return rewriteTouchedManifests(manifestPaths, (manifest, manifestPath) => {
79
+ return mutateAgentDeclarations(manifest, manifestPath, recursive, (declaration) => ({
80
+ ...declaration,
81
+ surfaces: removeSurface(declaration.surfaces, options.surface)
82
+ }));
88
83
  });
89
84
  };
90
85
  export const showProjectSurfaces = async (options = {}) => {
91
- const manifestPaths = await collectManifestPaths(resolveTargetManifestPath(options.path), options.recursive ?? false);
86
+ const manifestPaths = await collectProjectManifestPaths(resolveTargetManifestPath(options.path), options.recursive ?? false);
92
87
  const entries = [];
93
88
  for (const manifestPath of manifestPaths) {
94
89
  const loadedManifest = await loadManifest(manifestPath);
95
- if (options.recursive && loadedManifest.manifest.kind !== "agent") {
90
+ if (options.recursive && loadedManifest.manifest.kind === "team") {
91
+ for (const member of loadedManifest.manifest.members) {
92
+ if (isReferencedMember(member)) {
93
+ continue;
94
+ }
95
+ entries.push({
96
+ kind: "agent",
97
+ manifestPath: createInlineAgentSource(manifestPath, member.id),
98
+ name: member.id,
99
+ surfaces: member.surfaces
100
+ });
101
+ }
96
102
  continue;
97
103
  }
98
104
  entries.push({
@@ -0,0 +1,39 @@
1
+ import type { CompilePlan } from "./types.js";
2
+ export declare const SIMFILE_WORLD_BINDINGS_VERSION: "simfile.world-bindings.v1";
3
+ export declare const WORLD_BINDINGS_OUTPUT_FILE = "world-bindings.json";
4
+ export interface SimfileWorldBindingV1 {
5
+ readonly member: {
6
+ readonly id: string;
7
+ readonly principal_id: string;
8
+ };
9
+ readonly run_id: string;
10
+ readonly world_instance_id: string;
11
+ readonly capability_manifest_digest: string;
12
+ readonly token_env: string;
13
+ readonly json: {
14
+ readonly auth: "bearer";
15
+ readonly url: string;
16
+ };
17
+ readonly mcp: {
18
+ readonly auth: "bearer";
19
+ readonly transport: "streamable_http";
20
+ readonly url: string;
21
+ };
22
+ }
23
+ export interface SimfileWorldBindingsV1 {
24
+ readonly schema: typeof SIMFILE_WORLD_BINDINGS_VERSION;
25
+ readonly bindings: readonly SimfileWorldBindingV1[];
26
+ }
27
+ export interface ResolvedWorldBindingAssignment {
28
+ readonly binding: SimfileWorldBindingV1;
29
+ readonly nodeId: string;
30
+ }
31
+ export interface ResolvedWorldBindings {
32
+ readonly artifact: SimfileWorldBindingsV1;
33
+ readonly assignments: readonly ResolvedWorldBindingAssignment[];
34
+ readonly canonicalBytes: string;
35
+ }
36
+ export declare const parseSimfileWorldBindings: (raw: unknown) => SimfileWorldBindingsV1;
37
+ export declare const renderSimfileWorldBindings: (artifact: SimfileWorldBindingsV1) => string;
38
+ export declare const resolveWorldBindings: (plan: CompilePlan, raw: unknown) => ResolvedWorldBindings;
39
+ export declare const findWorldBindingForNode: (resolved: ResolvedWorldBindings | undefined, nodeId: string) => SimfileWorldBindingV1 | undefined;
@@ -0,0 +1,247 @@
1
+ import { Buffer } from "node:buffer";
2
+ import { types as nodeTypes } from "node:util";
3
+ import { SpawnfileError } from "../shared/index.js";
4
+ import { MAX_ORGANIZATION_AGENT_MEMBERS, MAX_ORGANIZATION_MEMBER_ID_BYTES, ORGANIZATION_MEMBER_ID_PATTERN_SOURCE, resolveCanonicalAgentMemberId } from "./organizationIdentity.js";
5
+ export const SIMFILE_WORLD_BINDINGS_VERSION = "simfile.world-bindings.v1";
6
+ export const WORLD_BINDINGS_OUTPUT_FILE = "world-bindings.json";
7
+ const MEMBER_ID = new RegExp(ORGANIZATION_MEMBER_ID_PATTERN_SOURCE, "u");
8
+ const BINDING_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/u;
9
+ const DIGEST = /^sha256:[a-f0-9]{64}$/u;
10
+ const ENV_NAME = /^[A-Z_][A-Z0-9_]{0,127}$/u;
11
+ const MAX_ENDPOINT_BYTES = 2_048;
12
+ const MAX_HOSTILE_DEPTH = 16;
13
+ const MAX_HOSTILE_NODES = 2_048;
14
+ const fail = (message) => {
15
+ throw new SpawnfileError("validation_error", `invalid ${SIMFILE_WORLD_BINDINGS_VERSION}: ${message}`);
16
+ };
17
+ const compareAscii = (left, right) => left < right ? -1 : left > right ? 1 : 0;
18
+ const rejectUnsafeGraph = (value, state = { nodes: 0, seen: new WeakSet() }, depth = 0) => {
19
+ if (value === null || typeof value !== "object")
20
+ return;
21
+ if (nodeTypes.isProxy(value))
22
+ fail("proxy values are not allowed");
23
+ if (depth > MAX_HOSTILE_DEPTH)
24
+ fail(`object depth exceeds ${MAX_HOSTILE_DEPTH}`);
25
+ state.nodes += 1;
26
+ if (state.nodes > MAX_HOSTILE_NODES)
27
+ fail(`object node count exceeds ${MAX_HOSTILE_NODES}`);
28
+ if (state.seen.has(value))
29
+ fail("aliases and cycles are not allowed");
30
+ state.seen.add(value);
31
+ if (Array.isArray(value)) {
32
+ if (Object.getPrototypeOf(value) !== Array.prototype)
33
+ fail("array prototype is not canonical");
34
+ const length = Object.getOwnPropertyDescriptor(value, "length");
35
+ if (!length || !("value" in length) || !Number.isSafeInteger(length.value)) {
36
+ return fail("array length is unsafe");
37
+ }
38
+ const count = length.value;
39
+ if (count > MAX_ORGANIZATION_AGENT_MEMBERS)
40
+ fail("binding cardinality exceeds organization limit");
41
+ const keys = Reflect.ownKeys(value);
42
+ if (keys.length !== count + 1 || keys.some((key) => key !== "length" && (typeof key !== "string" || !/^(?:0|[1-9][0-9]*)$/u.test(key)))) {
43
+ fail("array contains extended properties");
44
+ }
45
+ for (let index = 0; index < count; index += 1) {
46
+ const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
47
+ if (!descriptor?.enumerable || !("value" in descriptor)) {
48
+ return fail("sparse or accessor array");
49
+ }
50
+ rejectUnsafeGraph(descriptor.value, state, depth + 1);
51
+ }
52
+ return;
53
+ }
54
+ const keys = Reflect.ownKeys(value);
55
+ if (keys.length > 32)
56
+ fail("object property count exceeds 32");
57
+ for (const key of keys) {
58
+ if (typeof key !== "string")
59
+ fail("symbol properties are not allowed");
60
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
61
+ if (!descriptor?.enumerable || !("value" in descriptor)) {
62
+ return fail("accessor or non-enumerable property");
63
+ }
64
+ rejectUnsafeGraph(descriptor.value, state, depth + 1);
65
+ }
66
+ };
67
+ const exactObject = (value, fields, label) => {
68
+ if (value === null || typeof value !== "object" || Array.isArray(value)
69
+ || Object.getPrototypeOf(value) !== Object.prototype) {
70
+ return fail(`${label} must be a plain object`);
71
+ }
72
+ const keys = Object.getOwnPropertyNames(value);
73
+ if (keys.length !== fields.length || Object.keys(value).length !== fields.length
74
+ || keys.some((key) => !fields.includes(key))
75
+ || fields.some((field) => !Object.hasOwn(value, field))) {
76
+ return fail(`${label} keys must be ${fields.join(",")}`);
77
+ }
78
+ return value;
79
+ };
80
+ const exactArray = (value, label) => {
81
+ if (!Array.isArray(value) || Object.getPrototypeOf(value) !== Array.prototype) {
82
+ return fail(`${label} must be a plain array`);
83
+ }
84
+ return value;
85
+ };
86
+ const boundedId = (value, label) => {
87
+ if (typeof value !== "string" || !BINDING_ID.test(value)
88
+ || Buffer.byteLength(value, "ascii") > 128) {
89
+ return fail(`${label} is invalid`);
90
+ }
91
+ return value;
92
+ };
93
+ const canonicalEndpoint = (value, label) => {
94
+ if (typeof value !== "string" || value.length === 0
95
+ || Buffer.byteLength(value, "utf8") > MAX_ENDPOINT_BYTES) {
96
+ return fail(`${label} endpoint is invalid`);
97
+ }
98
+ let parsed;
99
+ try {
100
+ parsed = new URL(value);
101
+ }
102
+ catch {
103
+ return fail(`${label} endpoint is invalid`);
104
+ }
105
+ if ((parsed.protocol !== "http:" && parsed.protocol !== "https:")
106
+ || parsed.username !== "" || parsed.password !== ""
107
+ || parsed.search !== "" || parsed.hash !== "" || parsed.hostname === ""
108
+ || value.includes("?") || value.includes("#")
109
+ || parsed.href !== value || parsed.pathname.endsWith("/")) {
110
+ return fail(`${label} endpoint must be a canonical credential-free http(s) URL`);
111
+ }
112
+ if (label === "json" && !parsed.pathname.endsWith("/v1/world")) {
113
+ return fail("json endpoint must end with /v1/world");
114
+ }
115
+ return value;
116
+ };
117
+ const parseBinding = (value, index) => {
118
+ const entry = exactObject(value, [
119
+ "member",
120
+ "run_id",
121
+ "world_instance_id",
122
+ "capability_manifest_digest",
123
+ "token_env",
124
+ "json",
125
+ "mcp"
126
+ ], `bindings[${index}]`);
127
+ const member = exactObject(entry.member, ["id", "principal_id"], `bindings[${index}].member`);
128
+ const memberId = typeof member.id === "string" ? member.id : "";
129
+ if (!MEMBER_ID.test(memberId)
130
+ || Buffer.byteLength(memberId, "ascii") > MAX_ORGANIZATION_MEMBER_ID_BYTES
131
+ || member.principal_id !== `agent:${memberId}`) {
132
+ return fail(`bindings[${index}] member identity is invalid`);
133
+ }
134
+ const digest = entry.capability_manifest_digest;
135
+ if (typeof digest !== "string" || !DIGEST.test(digest)) {
136
+ return fail(`bindings[${index}] capability manifest digest is invalid`);
137
+ }
138
+ const tokenEnv = entry.token_env;
139
+ if (typeof tokenEnv !== "string" || !ENV_NAME.test(tokenEnv)) {
140
+ return fail(`bindings[${index}] token env is invalid`);
141
+ }
142
+ const json = exactObject(entry.json, ["auth", "url"], `bindings[${index}].json`);
143
+ const mcp = exactObject(entry.mcp, ["auth", "transport", "url"], `bindings[${index}].mcp`);
144
+ if (json.auth !== "bearer" || mcp.auth !== "bearer" || mcp.transport !== "streamable_http") {
145
+ return fail(`bindings[${index}] endpoint authentication is invalid`);
146
+ }
147
+ return {
148
+ member: { id: memberId, principal_id: member.principal_id },
149
+ run_id: boundedId(entry.run_id, `bindings[${index}].run_id`),
150
+ world_instance_id: boundedId(entry.world_instance_id, `bindings[${index}].world_instance_id`),
151
+ capability_manifest_digest: digest,
152
+ token_env: tokenEnv,
153
+ json: { auth: "bearer", url: canonicalEndpoint(json.url, "json") },
154
+ mcp: { auth: "bearer", transport: "streamable_http", url: canonicalEndpoint(mcp.url, "mcp") }
155
+ };
156
+ };
157
+ const freezeCopy = (value) => {
158
+ const copy = structuredClone(value);
159
+ const freeze = (current) => {
160
+ if (current === null || typeof current !== "object" || Object.isFrozen(current))
161
+ return;
162
+ Object.freeze(current);
163
+ for (const child of Object.values(current))
164
+ freeze(child);
165
+ };
166
+ freeze(copy);
167
+ return copy;
168
+ };
169
+ export const parseSimfileWorldBindings = (raw) => {
170
+ rejectUnsafeGraph(raw);
171
+ const root = exactObject(raw, ["schema", "bindings"], "root");
172
+ if (root.schema !== SIMFILE_WORLD_BINDINGS_VERSION)
173
+ fail("schema is invalid");
174
+ const input = exactArray(root.bindings, "bindings");
175
+ if (input.length === 0 || input.length > MAX_ORGANIZATION_AGENT_MEMBERS) {
176
+ fail("bindings must contain 1 to 128 entries");
177
+ }
178
+ const bindings = input.map((entry, index) => parseBinding(entry, index));
179
+ const members = new Set();
180
+ const principals = new Set();
181
+ const tokenEnvs = new Set();
182
+ const first = bindings[0];
183
+ for (const binding of bindings) {
184
+ if (members.has(binding.member.id) || principals.has(binding.member.principal_id)
185
+ || tokenEnvs.has(binding.token_env)) {
186
+ fail("bindings contain a duplicate member, principal, or token env");
187
+ }
188
+ if (binding.run_id !== first.run_id || binding.world_instance_id !== first.world_instance_id) {
189
+ fail("bindings must share one run and world instance");
190
+ }
191
+ members.add(binding.member.id);
192
+ principals.add(binding.member.principal_id);
193
+ tokenEnvs.add(binding.token_env);
194
+ }
195
+ bindings.sort((left, right) => compareAscii(left.member.principal_id, right.member.principal_id)
196
+ || compareAscii(left.member.id, right.member.id));
197
+ return freezeCopy({ schema: SIMFILE_WORLD_BINDINGS_VERSION, bindings });
198
+ };
199
+ export const renderSimfileWorldBindings = (artifact) => `${JSON.stringify(parseSimfileWorldBindings(artifact), null, 2)}\n`;
200
+ export const resolveWorldBindings = (plan, raw) => {
201
+ const artifact = parseSimfileWorldBindings(raw);
202
+ const identity = plan.organizationIdentity;
203
+ if (!identity)
204
+ return fail("organization identity is required");
205
+ const authorityByMember = new Map(identity.agentMembers.map((member) => [member.memberId, member]));
206
+ const nodeByMember = new Map();
207
+ for (const node of plan.nodes) {
208
+ if (node.kind !== "agent")
209
+ continue;
210
+ const memberId = resolveCanonicalAgentMemberId(plan, node.value.source);
211
+ if (memberId === undefined)
212
+ continue;
213
+ const authority = authorityByMember.get(memberId);
214
+ if (!authority || authority.principalId !== `agent:${memberId}` || nodeByMember.has(memberId)) {
215
+ fail(`organization identity does not resolve exactly once for ${memberId}`);
216
+ }
217
+ nodeByMember.set(memberId, node.id);
218
+ }
219
+ if (nodeByMember.size !== identity.agentMembers.length
220
+ || artifact.bindings.length !== identity.agentMembers.length) {
221
+ fail("binding and organization cardinality do not match");
222
+ }
223
+ const assignments = artifact.bindings.map((binding) => {
224
+ const authority = authorityByMember.get(binding.member.id);
225
+ const nodeId = nodeByMember.get(binding.member.id);
226
+ if (!authority || authority.principalId !== binding.member.principal_id || !nodeId) {
227
+ return fail(`binding does not join organization member ${binding.member.id}`);
228
+ }
229
+ return { binding: freezeCopy(binding), nodeId };
230
+ });
231
+ if (new Set(assignments.map((assignment) => assignment.nodeId)).size !== assignments.length) {
232
+ fail("binding assignments contain a duplicate node");
233
+ }
234
+ return freezeCopy({
235
+ artifact,
236
+ assignments,
237
+ canonicalBytes: renderSimfileWorldBindings(artifact)
238
+ });
239
+ };
240
+ export const findWorldBindingForNode = (resolved, nodeId) => {
241
+ if (!resolved)
242
+ return undefined;
243
+ const matches = resolved.assignments.filter((assignment) => assignment.nodeId === nodeId);
244
+ if (matches.length > 1)
245
+ fail(`node ${nodeId} has duplicate binding assignments`);
246
+ return matches[0]?.binding;
247
+ };
@@ -0,0 +1,5 @@
1
+ import type { CompilePlan } from "./types.js";
2
+ import { type ResolvedWorldBindings } from "./worldBindings.js";
3
+ export declare const MAX_WORLD_BINDINGS_FILE_BYTES = 1048576;
4
+ export declare const readSimfileWorldBindingsFile: (inputPath: string) => Promise<unknown>;
5
+ export declare const loadWorldBindingsForCompile: (plan: CompilePlan, inputPath: string, expectedRunId: string | undefined) => Promise<ResolvedWorldBindings>;