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
@@ -0,0 +1,188 @@
1
+ import { spawn } from "node:child_process";
2
+ import { readFile } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { fileURLToPath } from "node:url";
5
+ import { parseCausalJsonl } from "@noopolis/stele";
6
+ /** run_id every emitter is invoked with. Sourced from NOOPOLIS_RUN_ID, never model output. */
7
+ export const EMITTER_RUN_ID = "b92-conformance";
8
+ /** Per-emitter kill timeout. `go run` pays a compile cost on a cold module cache. */
9
+ const EMITTER_TIMEOUT_MS = 120_000;
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+ // src/ledger -> src -> <repo root>
12
+ const ROOT_DIR = path.resolve(__dirname, "..", "..");
13
+ const ecosystemPath = (name) => path.resolve(ROOT_DIR, "ecosystem", name);
14
+ /**
15
+ * The four real sibling fixture emitters, invoked by path (never `npm run`).
16
+ * See B92 packet §1-§2 and each sibling's own runtime/observability AGENTS.md
17
+ * for what each emitter does.
18
+ */
19
+ export const EMITTER_SPECS = [
20
+ {
21
+ command: ["node_modules/.bin/tsx", "src/runtime/emit-causal-fixture.ts"],
22
+ cwd: ecosystemPath("simfile"),
23
+ name: "simfile",
24
+ output: "stdout-jsonl"
25
+ },
26
+ {
27
+ command: ["node_modules/.bin/tsx", "scripts/emit-causal-fixture.ts"],
28
+ cwd: ecosystemPath("mneme"),
29
+ name: "mneme",
30
+ output: "stdout-jsonl"
31
+ },
32
+ {
33
+ command: ["node_modules/.bin/tsx", "src/observability/emitCausalFixture.ts"],
34
+ cwd: ecosystemPath("daimon"),
35
+ name: "daimon",
36
+ output: "path-line"
37
+ },
38
+ {
39
+ command: ["go", "run", "./cmd/emit-causal-fixture"],
40
+ cwd: ecosystemPath("moltnet"),
41
+ name: "moltnet",
42
+ output: "stdout-jsonl"
43
+ }
44
+ ];
45
+ /**
46
+ * Builds the adversarial "spoof mode" variant of an `EmitterSpec` (B62
47
+ * enforcement point #4): the sibling fixture emitter is asked to embed a
48
+ * forged/claimed identity in its fixture's input or output content, while
49
+ * still stamping `principal_id` as its own authenticated identity — never
50
+ * the claimed one. `--spoof` is the flag convention daimon's own fixture
51
+ * emitter already understands (`npm run emit-causal-fixture:spoof`, see
52
+ * `ecosystem/daimon/src/observability/emitCausalFixture.ts`); this helper
53
+ * applies the same convention uniformly across all four `EmitterSpec`s so a
54
+ * future caller does not need one-off spoof plumbing per sibling.
55
+ *
56
+ * `EMITTER_SPOOF_SPECS` is deliberately NOT part of the default real-mode
57
+ * `EMITTER_SPECS` list `causalConformanceCli.ts` invokes: today only
58
+ * daimon's real fixture script understands `--spoof` (simfile/mneme/moltnet
59
+ * have not yet added a spoof-capable fixture variant), so spawning the
60
+ * other three with an unrecognized flag would break the hermetic real-mode
61
+ * run. `EMITTER_SPOOF_SPECS` exists for callers — and this file's own
62
+ * injected-exec tests — that want to exercise spoof-mode collection
63
+ * explicitly, and is the shape every sibling's real spoof script should
64
+ * match once added.
65
+ */
66
+ export const toSpoofEmitterSpec = (spec) => ({
67
+ ...spec,
68
+ command: [...spec.command, "--spoof"],
69
+ name: `${spec.name}-spoof`
70
+ });
71
+ /** The adversarial "spoof mode" counterpart to `EMITTER_SPECS` — see `toSpoofEmitterSpec`. */
72
+ export const EMITTER_SPOOF_SPECS = EMITTER_SPECS.map(toSpoofEmitterSpec);
73
+ /**
74
+ * Spawns `spec.command` directly (no shell) in `spec.cwd`, with stdout and
75
+ * stderr captured separately so stderr noise (npm banners, SQLite
76
+ * ExperimentalWarning, etc.) never corrupts stdout-jsonl parsing. Kills the
77
+ * child on `EMITTER_TIMEOUT_MS` expiry.
78
+ */
79
+ export const realExec = (spec) => new Promise((resolve) => {
80
+ const [command, ...args] = spec.command;
81
+ if (!command) {
82
+ resolve({ exitCode: null, spawnError: new Error("empty command"), stderr: "", stdout: "", timedOut: false });
83
+ return;
84
+ }
85
+ let stdout = "";
86
+ let stderr = "";
87
+ let timedOut = false;
88
+ let settled = false;
89
+ const child = spawn(command, args, {
90
+ cwd: spec.cwd,
91
+ env: { ...process.env, NOOPOLIS_RUN_ID: EMITTER_RUN_ID }
92
+ });
93
+ const timer = setTimeout(() => {
94
+ timedOut = true;
95
+ child.kill("SIGKILL");
96
+ }, EMITTER_TIMEOUT_MS);
97
+ child.stdout?.on("data", (chunk) => {
98
+ stdout += chunk.toString("utf8");
99
+ });
100
+ child.stderr?.on("data", (chunk) => {
101
+ stderr += chunk.toString("utf8");
102
+ });
103
+ child.on("error", (error) => {
104
+ if (settled) {
105
+ return;
106
+ }
107
+ settled = true;
108
+ clearTimeout(timer);
109
+ resolve({ exitCode: null, spawnError: error, stderr, stdout, timedOut });
110
+ });
111
+ child.on("close", (code) => {
112
+ if (settled) {
113
+ return;
114
+ }
115
+ settled = true;
116
+ clearTimeout(timer);
117
+ resolve({ exitCode: code, stderr, stdout, timedOut });
118
+ });
119
+ });
120
+ const lastNonEmptyLine = (text) => {
121
+ const lines = text.split("\n").map((line) => line.trim()).filter((line) => line.length > 0);
122
+ return lines[lines.length - 1];
123
+ };
124
+ /**
125
+ * Runs every emitter spec sequentially (daimon reuses a fixed on-disk
126
+ * directory across runs, so concurrent invocation is unsafe) and turns each
127
+ * result into either a conformance fixture source or a reported issue.
128
+ * Never silently skips an emitter: spawn error, timeout, nonzero exit, zero
129
+ * parsed records, and an unreadable daimon path-line are all reported as a
130
+ * `ConformanceIssue{source}` rather than dropped.
131
+ */
132
+ export const collectEmitterFixtures = async (specs = EMITTER_SPECS, exec = realExec) => {
133
+ const sources = [];
134
+ const issues = [];
135
+ for (const spec of specs) {
136
+ const result = await exec(spec);
137
+ if (result.spawnError) {
138
+ issues.push({ message: `spawn error: ${result.spawnError.message}`, source: spec.name });
139
+ continue;
140
+ }
141
+ if (result.timedOut) {
142
+ issues.push({ message: `timed out after ${EMITTER_TIMEOUT_MS}ms`, source: spec.name });
143
+ continue;
144
+ }
145
+ if (result.exitCode !== 0) {
146
+ const stderrDetail = result.stderr.trim();
147
+ issues.push({
148
+ message: `exited with code ${String(result.exitCode)}${stderrDetail ? `: ${stderrDetail}` : ""}`,
149
+ source: spec.name
150
+ });
151
+ continue;
152
+ }
153
+ let jsonl;
154
+ if (spec.output === "path-line") {
155
+ const pathLine = lastNonEmptyLine(result.stdout);
156
+ if (!pathLine) {
157
+ issues.push({ message: "path-line emitter produced no output path on stdout", source: spec.name });
158
+ continue;
159
+ }
160
+ try {
161
+ jsonl = await readFile(pathLine, "utf8");
162
+ }
163
+ catch (error) {
164
+ issues.push({
165
+ message: `unreadable path ${pathLine}: ${error instanceof Error ? error.message : String(error)}`,
166
+ source: spec.name
167
+ });
168
+ continue;
169
+ }
170
+ }
171
+ else {
172
+ jsonl = result.stdout;
173
+ }
174
+ const { errors, events } = parseCausalJsonl(jsonl);
175
+ if (errors.length > 0) {
176
+ for (const error of errors) {
177
+ issues.push({ line: error.line, message: error.message, source: spec.name });
178
+ }
179
+ continue;
180
+ }
181
+ if (events.length === 0) {
182
+ issues.push({ message: "emitter produced zero parsed records", source: spec.name });
183
+ continue;
184
+ }
185
+ sources.push({ jsonl, name: spec.name });
186
+ }
187
+ return { issues, sources };
188
+ };
@@ -0,0 +1,4 @@
1
+ export * from "./causeNamespace.js";
2
+ export * from "./conformance.js";
3
+ export * from "./emitters.js";
4
+ export * from "@noopolis/stele";
@@ -0,0 +1,4 @@
1
+ export * from "./causeNamespace.js";
2
+ export * from "./conformance.js";
3
+ export * from "./emitters.js";
4
+ export * from "@noopolis/stele";
@@ -0,0 +1,96 @@
1
+ import type { CausalEvent } from "@noopolis/stele";
2
+ import { PRINCIPAL_GRAMMAR_SOURCE } from "@noopolis/stele";
3
+ /**
4
+ * Principal grammar (specs/CAUSAL.md §3, `specs/causal-event.v1.schema.json`
5
+ * `principal_id.pattern`): `agent:<agentId>` | `operator:<credentialKey|name>`
6
+ * | `system:<system>[.<component>]`. A principal is minted only by a
7
+ * trusted layer (root's container env, a per-agent harness config, an
8
+ * authn claim) — never derived from `request.From`, tool arguments, or
9
+ * model output. This module owns parsing/validating that grammar on the
10
+ * root side, plus the per-event conformance checks conformance.ts layers
11
+ * on top of it; it has no I/O and no knowledge of any specific authority's
12
+ * transport.
13
+ *
14
+ * The grammar itself (`PRINCIPAL_GRAMMAR_SOURCE`) is defined once in
15
+ * `envelope.ts` — the same regex `causalEventSchema` enforces on the wire —
16
+ * and re-exported from here so existing callers of this module keep working;
17
+ * this file never hardcodes a second copy of the pattern.
18
+ */
19
+ export type PrincipalKind = "agent" | "operator" | "system";
20
+ export interface Principal {
21
+ id: string;
22
+ kind: PrincipalKind;
23
+ }
24
+ export interface PrincipalParseError {
25
+ message: string;
26
+ }
27
+ export { PRINCIPAL_GRAMMAR_SOURCE };
28
+ /**
29
+ * `system:moltnet.anonymous` is moltnet's stamped principal for the
30
+ * unauthenticated dev-mode case (no authn claims on the request context at
31
+ * all) — see `ecosystem/moltnet/internal/rooms/causal.go`. It is grammar-
32
+ * valid (a real `system:` principal) but conformance treats it as
33
+ * unauthenticated on purpose: it is a placeholder for "no principal",
34
+ * never a credential to attribute causal events to.
35
+ */
36
+ export declare const ANONYMOUS_SYSTEM_PRINCIPAL = "system:moltnet.anonymous";
37
+ /**
38
+ * Parses a `principal_id` string against the grammar. Returns a
39
+ * `PrincipalParseError` (never throws) for anything that does not match
40
+ * `^(agent|operator|system):.+` — a bare id with no prefix, an unknown
41
+ * prefix, or an empty string all land here.
42
+ */
43
+ export declare const parsePrincipal: (value: string) => Principal | PrincipalParseError;
44
+ export declare const isPrincipalParseError: (value: Principal | PrincipalParseError) => value is PrincipalParseError;
45
+ /**
46
+ * True only for a principal that is both grammar-valid and represents a
47
+ * real authenticated identity: grammar mismatches, a bare id, an empty
48
+ * trailing id, the literal `anonymous`, and `system:moltnet.anonymous`
49
+ * (moltnet's unauthenticated dev-mode placeholder) are all rejected.
50
+ * Conformance (`conformance.ts`) uses this as its per-event grammar check.
51
+ */
52
+ export declare const isAuthenticatedPrincipal: (value: string) => boolean;
53
+ /**
54
+ * Lightweight structural sibling of `conformance.ts`'s `ConformanceIssue`
55
+ * (message + source; no line number — these are per-event, not per-line
56
+ * fixture checks). Kept local to this module to avoid a circular import
57
+ * with `conformance.ts`, which imports `PRINCIPAL_DISCIPLINE_CHECKS` from
58
+ * here; every field here is a subset of `ConformanceIssue`'s, so these
59
+ * values are usable anywhere a `ConformanceIssue` is expected.
60
+ */
61
+ export interface PrincipalConformanceIssue {
62
+ message: string;
63
+ source: string;
64
+ }
65
+ export type PrincipalEventCheck = (event: CausalEvent, sourceName: string) => PrincipalConformanceIssue[];
66
+ /**
67
+ * Principal-grammar check (specs/CAUSAL.md §3, B62 enforcement point #4a):
68
+ * every event's `principal_id` must be an authenticated `agent:`/`operator:`/
69
+ * `system:` principal — never a bare id, the literal `anonymous`, or
70
+ * moltnet's `system:moltnet.anonymous` unauthenticated placeholder.
71
+ */
72
+ export declare const checkPrincipalGrammar: PrincipalEventCheck;
73
+ /**
74
+ * Stream/principal consistency check (B62 enforcement point #4b): for
75
+ * daimon's turn events, `principal_id` must exactly equal `emitter.stream_id`
76
+ * — the agent whose stream this is must be the agent this event is
77
+ * attributed to. This deliberately does NOT apply to daimon's control-wake
78
+ * events (`control.wake.accepted`/`control.wake.denied`), whose stream is
79
+ * the *target* agent being woken but whose principal is the *operator* who
80
+ * requested the wake — an intentional mismatch, not a violation.
81
+ */
82
+ export declare const checkStreamPrincipalConsistency: PrincipalEventCheck;
83
+ /**
84
+ * Per-event checks `conformance.ts`'s `runSyntheticConformance` AND (as of
85
+ * the B62 fix) `runRealConformance` both layer on top of schema parsing +
86
+ * payload minimums, via `validateConformanceSources`'s `extraChecks`
87
+ * parameter. Wiring this into `runRealConformance` is what gives the real
88
+ * `npm run test:causal-conformance` path teeth: without it, a real sibling
89
+ * emitter stamping a non-grammar `principal_id` would pass conformance
90
+ * silently (the schema-level `PRINCIPAL_GRAMMAR_SOURCE` regex in
91
+ * `envelope.ts` already rejects most malformed principals at parse time, but
92
+ * `checkStreamPrincipalConsistency` in particular is conformance-only — it
93
+ * has no envelope-schema equivalent). `realConformance.test.ts`'s hand-
94
+ * authored fixtures are kept grammar-compliant for exactly this reason.
95
+ */
96
+ export declare const PRINCIPAL_DISCIPLINE_CHECKS: PrincipalEventCheck[];
@@ -0,0 +1,121 @@
1
+ import { PRINCIPAL_GRAMMAR_SOURCE } from "@noopolis/stele";
2
+ export { PRINCIPAL_GRAMMAR_SOURCE };
3
+ /** Boolean grammar test built from the single source of truth, `PRINCIPAL_GRAMMAR_SOURCE`. */
4
+ const PRINCIPAL_PATTERN = new RegExp(PRINCIPAL_GRAMMAR_SOURCE, "u");
5
+ /**
6
+ * `system:moltnet.anonymous` is moltnet's stamped principal for the
7
+ * unauthenticated dev-mode case (no authn claims on the request context at
8
+ * all) — see `ecosystem/moltnet/internal/rooms/causal.go`. It is grammar-
9
+ * valid (a real `system:` principal) but conformance treats it as
10
+ * unauthenticated on purpose: it is a placeholder for "no principal",
11
+ * never a credential to attribute causal events to.
12
+ */
13
+ export const ANONYMOUS_SYSTEM_PRINCIPAL = "system:moltnet.anonymous";
14
+ /** The literal bare string some legacy/dev paths might stamp instead of a real principal. */
15
+ const ANONYMOUS_LITERAL = "anonymous";
16
+ /**
17
+ * Parses a `principal_id` string against the grammar. Returns a
18
+ * `PrincipalParseError` (never throws) for anything that does not match
19
+ * `^(agent|operator|system):.+` — a bare id with no prefix, an unknown
20
+ * prefix, or an empty string all land here.
21
+ */
22
+ export const parsePrincipal = (value) => {
23
+ if (typeof value !== "string" || value.length === 0) {
24
+ return { message: "principal_id must be a non-empty string" };
25
+ }
26
+ if (!PRINCIPAL_PATTERN.test(value)) {
27
+ return {
28
+ message: `principal_id "${value}" does not match the <agent|operator|system>:<id> grammar (specs/CAUSAL.md §3)`
29
+ };
30
+ }
31
+ // PRINCIPAL_PATTERN already guarantees a `<kind>:<rest>` shape with a
32
+ // known kind prefix, so a plain split on the first colon is safe and
33
+ // avoids maintaining a second, capturing copy of the same pattern.
34
+ const separatorIndex = value.indexOf(":");
35
+ const kind = value.slice(0, separatorIndex);
36
+ const id = value.slice(separatorIndex + 1);
37
+ return { id, kind };
38
+ };
39
+ export const isPrincipalParseError = (value) => "message" in value;
40
+ /**
41
+ * True only for a principal that is both grammar-valid and represents a
42
+ * real authenticated identity: grammar mismatches, a bare id, an empty
43
+ * trailing id, the literal `anonymous`, and `system:moltnet.anonymous`
44
+ * (moltnet's unauthenticated dev-mode placeholder) are all rejected.
45
+ * Conformance (`conformance.ts`) uses this as its per-event grammar check.
46
+ */
47
+ export const isAuthenticatedPrincipal = (value) => {
48
+ if (typeof value !== "string") {
49
+ return false;
50
+ }
51
+ const trimmed = value.trim();
52
+ if (trimmed.length === 0 || trimmed === ANONYMOUS_LITERAL || trimmed === ANONYMOUS_SYSTEM_PRINCIPAL) {
53
+ return false;
54
+ }
55
+ const parsed = parsePrincipal(trimmed);
56
+ if (isPrincipalParseError(parsed)) {
57
+ return false;
58
+ }
59
+ return parsed.id.trim().length > 0;
60
+ };
61
+ /** `type`s whose `principal_id` must exactly equal `emitter.stream_id` (a daimon `agent:<id>` stream). */
62
+ const AGENT_STREAM_TURN_EVENT_TYPES = new Set(["turn.input.submitted", "turn.output.completed"]);
63
+ /**
64
+ * Principal-grammar check (specs/CAUSAL.md §3, B62 enforcement point #4a):
65
+ * every event's `principal_id` must be an authenticated `agent:`/`operator:`/
66
+ * `system:` principal — never a bare id, the literal `anonymous`, or
67
+ * moltnet's `system:moltnet.anonymous` unauthenticated placeholder.
68
+ */
69
+ export const checkPrincipalGrammar = (event, sourceName) => {
70
+ if (isAuthenticatedPrincipal(event.principal_id)) {
71
+ return [];
72
+ }
73
+ return [
74
+ {
75
+ message: `event ${event.event_id} has principal_id "${event.principal_id}", which is not an authenticated ` +
76
+ `agent:/operator:/system: principal (specs/CAUSAL.md §3)`,
77
+ source: sourceName
78
+ }
79
+ ];
80
+ };
81
+ /**
82
+ * Stream/principal consistency check (B62 enforcement point #4b): for
83
+ * daimon's turn events, `principal_id` must exactly equal `emitter.stream_id`
84
+ * — the agent whose stream this is must be the agent this event is
85
+ * attributed to. This deliberately does NOT apply to daimon's control-wake
86
+ * events (`control.wake.accepted`/`control.wake.denied`), whose stream is
87
+ * the *target* agent being woken but whose principal is the *operator* who
88
+ * requested the wake — an intentional mismatch, not a violation.
89
+ */
90
+ export const checkStreamPrincipalConsistency = (event, sourceName) => {
91
+ if (event.emitter.system !== "daimon" || !AGENT_STREAM_TURN_EVENT_TYPES.has(event.type)) {
92
+ return [];
93
+ }
94
+ if (!event.emitter.stream_id.startsWith("agent:") || event.principal_id === event.emitter.stream_id) {
95
+ return [];
96
+ }
97
+ return [
98
+ {
99
+ message: `event ${event.event_id} is on stream ${event.emitter.stream_id} but has principal_id ` +
100
+ `"${event.principal_id}" — daimon turn events must be attributed to the agent that owns their stream`,
101
+ source: sourceName
102
+ }
103
+ ];
104
+ };
105
+ /**
106
+ * Per-event checks `conformance.ts`'s `runSyntheticConformance` AND (as of
107
+ * the B62 fix) `runRealConformance` both layer on top of schema parsing +
108
+ * payload minimums, via `validateConformanceSources`'s `extraChecks`
109
+ * parameter. Wiring this into `runRealConformance` is what gives the real
110
+ * `npm run test:causal-conformance` path teeth: without it, a real sibling
111
+ * emitter stamping a non-grammar `principal_id` would pass conformance
112
+ * silently (the schema-level `PRINCIPAL_GRAMMAR_SOURCE` regex in
113
+ * `envelope.ts` already rejects most malformed principals at parse time, but
114
+ * `checkStreamPrincipalConsistency` in particular is conformance-only — it
115
+ * has no envelope-schema equivalent). `realConformance.test.ts`'s hand-
116
+ * authored fixtures are kept grammar-compliant for exactly this reason.
117
+ */
118
+ export const PRINCIPAL_DISCIPLINE_CHECKS = [
119
+ checkPrincipalGrammar,
120
+ checkStreamPrincipalConsistency
121
+ ];
@@ -0,0 +1,18 @@
1
+ import { z } from "zod";
2
+ export declare const externalParticipantServiceSchema: z.ZodObject<{
3
+ id: z.ZodString;
4
+ kind: z.ZodLiteral<"service">;
5
+ surfaces: z.ZodObject<{
6
+ moltnet: z.ZodArray<z.ZodObject<{
7
+ network: z.ZodString;
8
+ auth: z.ZodObject<{
9
+ token_id: z.ZodString;
10
+ }, z.core.$strict>;
11
+ dms: z.ZodObject<{
12
+ enabled: z.ZodLiteral<true>;
13
+ }, z.core.$strict>;
14
+ }, z.core.$strict>>;
15
+ }, z.core.$strict>;
16
+ }, z.core.$strict>;
17
+ export type ExternalParticipantService = z.infer<typeof externalParticipantServiceSchema>;
18
+ export type ExternalParticipantMoltnetAttachment = ExternalParticipantService["surfaces"]["moltnet"][number];
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ const segment = z.string().regex(/^[a-z][a-z0-9-]{0,62}$/u);
3
+ const attachmentSchema = z.object({
4
+ network: segment,
5
+ auth: z.object({ token_id: segment }).strict(),
6
+ dms: z.object({ enabled: z.literal(true) }).strict()
7
+ }).strict();
8
+ export const externalParticipantServiceSchema = z.object({
9
+ id: segment,
10
+ kind: z.literal("service"),
11
+ surfaces: z.object({ moltnet: z.array(attachmentSchema).min(1).max(16) }).strict()
12
+ }).strict().superRefine((value, context) => {
13
+ const networks = value.surfaces.moltnet.map((entry) => entry.network);
14
+ if (new Set(networks).size !== networks.length) {
15
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "external participant networks must be unique" });
16
+ }
17
+ });
@@ -1,3 +1,4 @@
1
+ export * from "./inlineAgentMember.js";
1
2
  export * from "./loadManifest.js";
2
3
  export * from "./renderSpawnfile.js";
3
4
  export * from "./scaffold.js";
@@ -1,3 +1,4 @@
1
+ export * from "./inlineAgentMember.js";
1
2
  export * from "./loadManifest.js";
2
3
  export * from "./renderSpawnfile.js";
3
4
  export * from "./scaffold.js";
@@ -0,0 +1,2 @@
1
+ import type { AgentManifest, InlineAgentMember, TeamManifest } from "./schemas.js";
2
+ export declare const materializeInlineAgentManifest: (team: TeamManifest, member: InlineAgentMember) => AgentManifest;
@@ -0,0 +1,9 @@
1
+ export const materializeInlineAgentManifest = (team, member) => {
2
+ const { id, ...agentFields } = member;
3
+ return {
4
+ spawnfile_version: team.spawnfile_version,
5
+ kind: "agent",
6
+ name: id,
7
+ ...agentFields
8
+ };
9
+ };
@@ -3,7 +3,7 @@ import { parse as parseYaml } from "yaml";
3
3
  import { z } from "zod";
4
4
  import { fileExists, isSymlink, readUtf8File, resolveProjectPath } from "../filesystem/index.js";
5
5
  import { SpawnfileError } from "../shared/index.js";
6
- import { isAgentManifest, isTeamManifest, manifestSchema } from "./schemas.js";
6
+ import { isAgentManifest, isInlineAgentMember, isReferencedMember, isTeamManifest, manifestSchema } from "./schemas.js";
7
7
  import { parseSkillFrontmatter } from "./skillFrontmatter.js";
8
8
  const ensureUniqueNames = (names, label) => {
9
9
  const seen = new Set();
@@ -84,16 +84,19 @@ const validateSkills = async (manifestPath, skills) => {
84
84
  parseSkillFrontmatter(await readUtf8File(skillFilePath));
85
85
  }));
86
86
  };
87
- const validateLocalAgentManifest = async (manifestPath, manifest) => {
88
- const agentWorkspaceSkills = manifest.workspace?.skills;
89
- const agentEnvironment = manifest.environment;
87
+ const validateLocalAgentConfiguration = async (manifestPath, agent) => {
88
+ const agentWorkspaceSkills = agent.workspace?.skills;
89
+ const agentEnvironment = agent.environment;
90
90
  ensureUniqueNames((agentEnvironment?.mcp_servers ?? []).map((server) => server.name), "MCP server");
91
- ensureUniqueNames((manifest.subagents ?? []).map((subagent) => subagent.id), "subagent id");
92
- await validateDocFiles(manifestPath, manifest.workspace?.docs);
91
+ await validateDocFiles(manifestPath, agent.workspace?.docs);
93
92
  await validateSkills(manifestPath, agentWorkspaceSkills);
94
- await validateManifestRefs(manifestPath, manifest.subagents?.map((subagent) => subagent.ref), "Subagent");
95
93
  validateSkillRequirements(agentWorkspaceSkills, getMcpNames(agentEnvironment?.mcp_servers));
96
94
  };
95
+ const validateLocalAgentManifest = async (manifestPath, manifest) => {
96
+ ensureUniqueNames((manifest.subagents ?? []).map((subagent) => subagent.id), "subagent id");
97
+ await validateLocalAgentConfiguration(manifestPath, manifest);
98
+ await validateManifestRefs(manifestPath, manifest.subagents?.map((subagent) => subagent.ref), "Subagent");
99
+ };
97
100
  const getSharedMcpNames = (shared) => getMcpNames(shared?.environment?.mcp_servers);
98
101
  const validateLocalTeamManifest = async (manifestPath, manifest) => {
99
102
  const sharedWorkspace = manifest.shared?.workspace;
@@ -102,7 +105,10 @@ const validateLocalTeamManifest = async (manifestPath, manifest) => {
102
105
  ensureUniqueNames(manifest.members.map((member) => member.id), "member id");
103
106
  await validateDocFiles(manifestPath, sharedWorkspace?.docs);
104
107
  await validateSkills(manifestPath, sharedWorkspace?.skills);
105
- await validateManifestRefs(manifestPath, manifest.members.map((member) => member.ref), "Member");
108
+ await validateManifestRefs(manifestPath, manifest.members.filter(isReferencedMember).map((member) => member.ref), "Member");
109
+ await Promise.all(manifest.members
110
+ .filter(isInlineAgentMember)
111
+ .map((member) => validateLocalAgentConfiguration(manifestPath, member)));
106
112
  validateSkillRequirements(sharedWorkspace?.skills, getSharedMcpNames(manifest.shared));
107
113
  const memberIds = new Set(manifest.members.map((member) => member.id));
108
114
  if (manifest.lead && !memberIds.has(manifest.lead)) {
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export declare const mcpServerSchema: z.ZodObject<{
3
+ args: z.ZodOptional<z.ZodArray<z.ZodString>>;
4
+ auth: z.ZodOptional<z.ZodObject<{
5
+ mode: z.ZodOptional<z.ZodLiteral<"bearer">>;
6
+ secret: z.ZodString;
7
+ }, z.core.$strict>>;
8
+ command: z.ZodOptional<z.ZodString>;
9
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
10
+ name: z.ZodString;
11
+ transport: z.ZodEnum<{
12
+ sse: "sse";
13
+ stdio: "stdio";
14
+ streamable_http: "streamable_http";
15
+ }>;
16
+ url: z.ZodOptional<z.ZodString>;
17
+ }, z.core.$strict>;
@@ -0,0 +1,41 @@
1
+ import { z } from "zod";
2
+ const mcpAuthSchema = z
3
+ .object({
4
+ mode: z.literal("bearer").optional(),
5
+ secret: z.string()
6
+ })
7
+ .strict()
8
+ .superRefine((value, context) => {
9
+ if (value.mode === "bearer" && !/^[A-Za-z_][A-Za-z0-9_]*$/.test(value.secret)) {
10
+ context.addIssue({
11
+ code: z.ZodIssueCode.custom,
12
+ path: ["secret"],
13
+ message: "bearer auth.secret must be a valid shell environment-variable name"
14
+ });
15
+ }
16
+ });
17
+ export const mcpServerSchema = z
18
+ .object({
19
+ args: z.array(z.string()).optional(),
20
+ auth: mcpAuthSchema.optional(),
21
+ command: z.string().optional(),
22
+ env: z.record(z.string(), z.string()).optional(),
23
+ name: z.string().min(1),
24
+ transport: z.enum(["sse", "stdio", "streamable_http"]),
25
+ url: z.string().optional()
26
+ })
27
+ .strict()
28
+ .superRefine((value, context) => {
29
+ if (value.name.startsWith("spawnfile.") || value.name.startsWith("mneme-")) {
30
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "MCP server name is reserved for compiler-owned generated services" });
31
+ }
32
+ if (value.transport === "stdio" && !value.command) {
33
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "stdio MCP servers must declare command" });
34
+ }
35
+ if (value.transport === "stdio" && value.auth?.mode === "bearer") {
36
+ context.addIssue({ code: z.ZodIssueCode.custom, message: "stdio MCP servers do not support bearer auth" });
37
+ }
38
+ if (value.transport !== "stdio" && !value.url) {
39
+ context.addIssue({ code: z.ZodIssueCode.custom, message: `${value.transport} MCP servers must declare url` });
40
+ }
41
+ });