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
@@ -56,6 +56,11 @@ export interface DistributionPortMapping {
56
56
  internal_port: number;
57
57
  published_port: number;
58
58
  }
59
+ export interface DistributionWorldBindingsEvidence {
60
+ artifact_path: typeof WORLD_BINDINGS_IMAGE_PATH;
61
+ digest: string;
62
+ schema: "simfile.world-bindings.v1";
63
+ }
59
64
  export interface DistributionReport {
60
65
  compile_fingerprint: string;
61
66
  generated_at: string;
@@ -72,9 +77,11 @@ export interface DistributionReport {
72
77
  runtime_instances: DistributionRuntimeInstance[];
73
78
  secrets: Record<DistributionSecretCategory, DistributionSecretEntry[]>;
74
79
  version: "spawnfile.distribution-report.v1";
80
+ world_bindings?: DistributionWorldBindingsEvidence;
75
81
  }
76
82
  export declare const DISTRIBUTION_REPORT_VERSION = "spawnfile.distribution-report.v1";
77
83
  export declare const DISTRIBUTION_REPORT_IMAGE_PATH = "/spawnfile/spawnfile-report.json";
78
84
  export declare const DISTRIBUTION_REPORT_OUTPUT_FILE = "distribution-report.json";
79
85
  export declare const IMAGE_CONTRACT_VERSION = "spawnfile.image.v1";
86
+ export declare const WORLD_BINDINGS_IMAGE_PATH = "/spawnfile/world-bindings.json";
80
87
  export type DistributionImageLabels = Record<"com.spawnfile.compile_fingerprint" | "com.spawnfile.image_contract" | "com.spawnfile.project" | "com.spawnfile.report", string> & Record<string, string>;
@@ -2,3 +2,4 @@ export const DISTRIBUTION_REPORT_VERSION = "spawnfile.distribution-report.v1";
2
2
  export const DISTRIBUTION_REPORT_IMAGE_PATH = "/spawnfile/spawnfile-report.json";
3
3
  export const DISTRIBUTION_REPORT_OUTPUT_FILE = "distribution-report.json";
4
4
  export const IMAGE_CONTRACT_VERSION = "spawnfile.image.v1";
5
+ export const WORLD_BINDINGS_IMAGE_PATH = "/spawnfile/world-bindings.json";
@@ -1,3 +1,4 @@
1
+ import { statSync } from "node:fs";
1
2
  import path from "node:path";
2
3
  import { SpawnfileError } from "../shared/index.js";
3
4
  export const assertPortableRelativePath = (inputPath) => {
@@ -9,7 +10,15 @@ export const assertPortableRelativePath = (inputPath) => {
9
10
  }
10
11
  };
11
12
  export const getCanonicalManifestPath = (filePath) => path.resolve(filePath);
12
- export const getManifestPath = (inputPath) => path.basename(inputPath) === "Spawnfile"
13
+ const isExistingFile = (inputPath) => {
14
+ try {
15
+ return statSync(inputPath).isFile();
16
+ }
17
+ catch {
18
+ return false;
19
+ }
20
+ };
21
+ export const getManifestPath = (inputPath) => path.basename(inputPath) === "Spawnfile" || isExistingFile(inputPath)
13
22
  ? path.resolve(inputPath)
14
23
  : path.resolve(inputPath, "Spawnfile");
15
24
  export const getProjectRoot = (manifestPath) => path.dirname(manifestPath);
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import { runRealConformance } from "./conformance.js";
2
+ /**
3
+ * `npm run test:causal-conformance` entry point (B92). Runs the four real
4
+ * sibling causal fixture emitters (simfile, mneme, daimon, moltnet — see
5
+ * emitters.ts) by path, validates every record against the schema and
6
+ * payload minimums, stitches them into one interaction chain, and
7
+ * reconciles it. Prints per-source counts, any issues, and the
8
+ * reconstructed chain edges; exits 1 when the report is not ok.
9
+ *
10
+ * This is a hermetic-suite exception: it spawns real processes (a `go run`
11
+ * compile, three tsx processes), so it is its own npm script rather than a
12
+ * vitest test — `npm test` stays fully in-process (see emitters.test.ts and
13
+ * realConformance.test.ts for the injected-exec unit coverage of this same
14
+ * logic).
15
+ */
16
+ const main = async () => {
17
+ const report = await runRealConformance();
18
+ console.log(`causal conformance: ${report.ok ? "OK" : "FAILED"} (events=${report.eventCount})`);
19
+ console.log("per-source counts:");
20
+ for (const { count, source } of report.sourceCounts) {
21
+ console.log(` - ${source}: ${count}`);
22
+ }
23
+ if (report.issues.length > 0) {
24
+ console.log("issues:");
25
+ for (const issue of report.issues) {
26
+ const line = issue.line !== undefined ? ` (line ${issue.line})` : "";
27
+ console.log(` - [${issue.source}]${line} ${issue.message}`);
28
+ }
29
+ }
30
+ console.log(`chain: ${report.chain.stitchedEventCount} stitched events, ${report.chain.edges.length} backward edges`);
31
+ for (const edge of report.chain.edges) {
32
+ console.log(` - ${edge.from} -> ${edge.to}`);
33
+ }
34
+ if (!report.ok) {
35
+ process.exitCode = 1;
36
+ }
37
+ };
38
+ main().catch((error) => {
39
+ process.stderr.write(`${error instanceof Error ? error.stack ?? error.message : String(error)}\n`);
40
+ process.exitCode = 1;
41
+ });
@@ -0,0 +1,8 @@
1
+ import { type CausalEvent } from "@noopolis/stele";
2
+ import type { ConformanceIssue } from "./conformance.js";
3
+ /**
4
+ * Reports B169 D4 cause-namespace violations without throwing, filtering, or
5
+ * mutating events. Real conformance calls this only after chain stitching has
6
+ * had its chance to repair producer-local bare causes.
7
+ */
8
+ export declare const checkCauseNamespaces: (events: readonly CausalEvent[], sourceName?: string) => ConformanceIssue[];
@@ -0,0 +1,24 @@
1
+ import { parseCausalCauseId } from "@noopolis/stele";
2
+ /**
3
+ * Reports B169 D4 cause-namespace violations without throwing, filtering, or
4
+ * mutating events. Real conformance calls this only after chain stitching has
5
+ * had its chance to repair producer-local bare causes.
6
+ */
7
+ export const checkCauseNamespaces = (events, sourceName = "<cause-namespace>") => {
8
+ const issues = [];
9
+ for (const event of events) {
10
+ for (const causeId of event.cause_event_ids) {
11
+ try {
12
+ parseCausalCauseId(causeId);
13
+ }
14
+ catch (error) {
15
+ const reason = error instanceof Error ? error.message : String(error);
16
+ issues.push({
17
+ message: `event ${event.event_id} has nonconforming cause id ${JSON.stringify(causeId)}: ${reason}`,
18
+ source: sourceName
19
+ });
20
+ }
21
+ }
22
+ }
23
+ return issues;
24
+ };
@@ -0,0 +1,83 @@
1
+ import type { CausalEdge, CausalEvent } from "@noopolis/stele";
2
+ import type { EmitterSpec, Exec } from "./emitters.js";
3
+ export interface ConformanceFixtureSource {
4
+ /** JSONL text for this source. In synthetic mode this is seeded fixture text, not a live emitter invocation. */
5
+ jsonl: string;
6
+ name: string;
7
+ }
8
+ export interface ConformancePayloadMinimum {
9
+ requiredKeys: string[];
10
+ type: string;
11
+ }
12
+ export interface ConformanceIssue {
13
+ line?: number;
14
+ message: string;
15
+ source: string;
16
+ }
17
+ export interface ConformanceReport {
18
+ eventCount: number;
19
+ issues: ConformanceIssue[];
20
+ ok: boolean;
21
+ }
22
+ /**
23
+ * Payload minimums for the event types named in specs/CAUSAL.md and the B57/
24
+ * B92 family packets. `runSyntheticConformance` validates seeded fixture
25
+ * text against these; `runRealConformance` (B92) validates the four real
26
+ * sibling emitters' output against the same minimums.
27
+ */
28
+ export declare const DEFAULT_PAYLOAD_MINIMUMS: ConformancePayloadMinimum[];
29
+ /**
30
+ * Validates seeded/synthetic CausalEvent JSONL fixtures against the schema
31
+ * (via parseCausalJsonl), per-stream seq contiguity, payload minimums, and
32
+ * (B62) the principal grammar/consistency discipline in
33
+ * `PRINCIPAL_DISCIPLINE_CHECKS`. An empty source list is always reported as
34
+ * a failure — this harness never silently skips a missing source, even in
35
+ * synthetic mode.
36
+ */
37
+ export declare const runSyntheticConformance: (sources: ConformanceFixtureSource[], payloadMinimums?: ConformancePayloadMinimum[]) => ConformanceReport;
38
+ /**
39
+ * Stitches the four independent, non-cross-referencing real fixtures into
40
+ * one interaction chain (B92 §4). Pure: never mutates its input, never does
41
+ * I/O. Rewrites ONLY linkage fields — R[i].cause_event_ids, T1.cause_event_ids,
42
+ * T1.payload.input_message_ids, T1.payload.input_content_sha256, and
43
+ * M2.cause_event_ids — every other field of every event is carried through
44
+ * byte-identical. T1out.cause_event_ids is asserted to already equal [T1.id]
45
+ * (daimon stamps that for real) rather than rewritten.
46
+ *
47
+ * Missing roles or a violated T1out->T1 assertion are reported as issues and
48
+ * the input is returned unstitched rather than guessed at.
49
+ */
50
+ export declare const stitchInteractionChain: (events: CausalEvent[]) => {
51
+ issues: ConformanceIssue[];
52
+ stitched: CausalEvent[];
53
+ };
54
+ export interface ConformanceSourceCount {
55
+ count: number;
56
+ source: string;
57
+ }
58
+ export interface ChainSummary {
59
+ edges: CausalEdge[];
60
+ issues: ConformanceIssue[];
61
+ stitchedEventCount: number;
62
+ }
63
+ export interface RealConformanceReport extends ConformanceReport {
64
+ chain: ChainSummary;
65
+ events: CausalEvent[];
66
+ sourceCounts: ConformanceSourceCount[];
67
+ }
68
+ export interface RunRealConformanceOptions {
69
+ exec?: Exec;
70
+ specs?: EmitterSpec[];
71
+ }
72
+ /**
73
+ * Collects the four real sibling emitters (emitters.ts), validates them
74
+ * (schema + payload minimums + combined seq contiguity + (B62) the
75
+ * principal grammar/consistency discipline in `PRINCIPAL_DISCIPLINE_CHECKS`
76
+ * — the real path now enforces exactly what `runSyntheticConformance` does,
77
+ * so a real emitter stamping a non-grammar principal is a reported issue,
78
+ * not a silent pass), stitches them into one interaction chain, and
79
+ * reconciles the result. This is B92's real-mode counterpart to
80
+ * runSyntheticConformance: same validation core, live process spawning
81
+ * instead of seeded fixture text.
82
+ */
83
+ export declare const runRealConformance: (options?: RunRealConformanceOptions) => Promise<RealConformanceReport>;
@@ -0,0 +1,259 @@
1
+ import { checkSeqContiguity, parseCausalJsonl, reconcileEvents, traceCausesBackward } from "@noopolis/stele";
2
+ import { checkCauseNamespaces } from "./causeNamespace.js";
3
+ import { collectEmitterFixtures, EMITTER_RUN_ID, EMITTER_SPECS, realExec } from "./emitters.js";
4
+ import { PRINCIPAL_DISCIPLINE_CHECKS } from "./principal.js";
5
+ /**
6
+ * Shared payload minimum for every world.act variant (specs/CAUSAL.md, the
7
+ * simfile runtime AGENTS.md). The wire never carries the literal type
8
+ * `world.act` — simfile emits the family members `world.message`,
9
+ * `world.dm`, and `wake.recommended` — but `world.act` is kept as its own
10
+ * declared type key so a hypothetical direct `world.act` record is still
11
+ * enforced, and so tests can assert the minimum by its family name.
12
+ */
13
+ const WORLD_ACT_REQUIRED_KEYS = ["sim_time", "provenance", "actor", "target", "scope", "act_id", "action", "value"];
14
+ /**
15
+ * Payload minimums for the event types named in specs/CAUSAL.md and the B57/
16
+ * B92 family packets. `runSyntheticConformance` validates seeded fixture
17
+ * text against these; `runRealConformance` (B92) validates the four real
18
+ * sibling emitters' output against the same minimums.
19
+ */
20
+ export const DEFAULT_PAYLOAD_MINIMUMS = [
21
+ { requiredKeys: ["message_id", "content_sha256"], type: "message.accepted" },
22
+ {
23
+ requiredKeys: ["turn_id", "input_message_ids", "input_content_sha256", "prompt_sha256"],
24
+ type: "turn.input.submitted"
25
+ },
26
+ { requiredKeys: ["turn_id", "output_sha256"], type: "turn.output.completed" },
27
+ { requiredKeys: ["memory_id", "content_sha256"], type: "memory.recalled" },
28
+ { requiredKeys: WORLD_ACT_REQUIRED_KEYS, type: "world.act" },
29
+ { requiredKeys: WORLD_ACT_REQUIRED_KEYS, type: "world.message" },
30
+ { requiredKeys: WORLD_ACT_REQUIRED_KEYS, type: "world.dm" },
31
+ { requiredKeys: WORLD_ACT_REQUIRED_KEYS, type: "wake.recommended" },
32
+ // B62 enforcement-point denial payloads (specs/CAUSAL.md §"Enforcement
33
+ // points"). Field names mirror each authority's real emitted shape:
34
+ // moltnet's protocol.MessageDeniedPayload (target/reason/content_sha256),
35
+ // mneme's kernel/support.ts denyWriteScope (requested_scope/reason), and
36
+ // daimon's controlCausal.ts emitControlWakeDenied (reason/target_agent_id).
37
+ { requiredKeys: ["target", "reason", "content_sha256"], type: "message.denied" },
38
+ { requiredKeys: ["requested_scope", "reason"], type: "memory.write.denied" },
39
+ { requiredKeys: ["reason", "target_agent_id"], type: "control.wake.denied" }
40
+ ];
41
+ const checkPayloadMinimums = (event, sourceName, requiredKeysByType) => {
42
+ const requiredKeys = requiredKeysByType.get(event.type);
43
+ if (!requiredKeys) {
44
+ return [];
45
+ }
46
+ // `key in payload` (not truthiness) is what lets an explicit `null` value
47
+ // (e.g. wake.recommended's `value: null`) pass: absent is a violation,
48
+ // present-but-null is not.
49
+ const missing = requiredKeys.filter((key) => !(key in event.payload) || event.payload[key] === undefined);
50
+ if (missing.length === 0) {
51
+ return [];
52
+ }
53
+ return [
54
+ {
55
+ message: `event ${event.event_id} of type ${event.type} is missing required payload keys: ${missing.join(", ")}`,
56
+ source: sourceName
57
+ }
58
+ ];
59
+ };
60
+ /**
61
+ * Shared validation core for both synthetic and real conformance: schema
62
+ * parsing (via parseCausalJsonl), payload minimums, and combined per-
63
+ * (run_id, system:stream) seq contiguity across every source (disjoint
64
+ * streams are safe to combine — checkSeqContiguity groups by stream key).
65
+ * An empty source list is always reported as a failure, never a silent
66
+ * no-op.
67
+ */
68
+ const validateConformanceSources = (sources, payloadMinimums, extraChecks = []) => {
69
+ const issues = [];
70
+ if (sources.length === 0) {
71
+ issues.push({ message: "no conformance fixture sources were provided", source: "<none>" });
72
+ }
73
+ const requiredKeysByType = new Map(payloadMinimums.map((minimum) => [minimum.type, minimum.requiredKeys]));
74
+ const allEvents = [];
75
+ for (const source of sources) {
76
+ const { errors, events } = parseCausalJsonl(source.jsonl);
77
+ for (const error of errors) {
78
+ issues.push({ line: error.line, message: error.message, source: source.name });
79
+ }
80
+ for (const event of events) {
81
+ issues.push(...checkPayloadMinimums(event, source.name, requiredKeysByType));
82
+ for (const check of extraChecks) {
83
+ issues.push(...check(event, source.name));
84
+ }
85
+ }
86
+ allEvents.push(...events);
87
+ }
88
+ const contiguity = checkSeqContiguity(allEvents);
89
+ for (const gap of contiguity.gaps) {
90
+ issues.push({
91
+ message: `stream ${gap.runId}/${gap.system}:${gap.streamId} has a seq gap at ${gap.missing.map(({ from, to }) => from === to ? `${from}` : `${from}-${to}`).join(", ")} (max seq ${gap.maxSeq})`,
92
+ source: "<seq>"
93
+ });
94
+ }
95
+ return { events: allEvents, issues };
96
+ };
97
+ /**
98
+ * Validates seeded/synthetic CausalEvent JSONL fixtures against the schema
99
+ * (via parseCausalJsonl), per-stream seq contiguity, payload minimums, and
100
+ * (B62) the principal grammar/consistency discipline in
101
+ * `PRINCIPAL_DISCIPLINE_CHECKS`. An empty source list is always reported as
102
+ * a failure — this harness never silently skips a missing source, even in
103
+ * synthetic mode.
104
+ */
105
+ export const runSyntheticConformance = (sources, payloadMinimums = DEFAULT_PAYLOAD_MINIMUMS) => {
106
+ const { events, issues } = validateConformanceSources(sources, payloadMinimums, PRINCIPAL_DISCIPLINE_CHECKS);
107
+ issues.push(...checkCauseNamespaces(events));
108
+ return { eventCount: events.length, issues, ok: issues.length === 0 };
109
+ };
110
+ /**
111
+ * Locates the B92 interaction-chain roles among a flat CausalEvent[] set,
112
+ * scoped to EMITTER_RUN_ID (every real emitter is invoked with that shared
113
+ * run_id — see emitters.ts): M1/M2 are moltnet message.accepted seq 1/2 on
114
+ * the same stream, R[] is every mneme memory.recalled event in seq order,
115
+ * T1/T1out are daimon's turn.input.submitted/turn.output.completed. A
116
+ * missing role is reported as an issue rather than throwing.
117
+ */
118
+ const identifyChainRoles = (events) => {
119
+ const issues = [];
120
+ const inRun = events.filter((event) => event.run_id === EMITTER_RUN_ID);
121
+ const moltnetAccepted = inRun.filter((event) => event.emitter.system === "moltnet" && event.type === "message.accepted");
122
+ const m1 = moltnetAccepted.find((event) => event.emitter.seq === 1);
123
+ const m2 = moltnetAccepted.find((event) => event.emitter.seq === 2 && (m1 === undefined || event.emitter.stream_id === m1.emitter.stream_id));
124
+ const recalls = inRun
125
+ .filter((event) => event.emitter.system === "mneme" && event.type === "memory.recalled")
126
+ .sort((left, right) => left.emitter.seq - right.emitter.seq);
127
+ const daimonEvents = inRun.filter((event) => event.emitter.system === "daimon");
128
+ const t1 = daimonEvents.find((event) => event.type === "turn.input.submitted");
129
+ const t1out = daimonEvents.find((event) => event.type === "turn.output.completed");
130
+ if (!m1) {
131
+ issues.push({ message: "chain stitch: missing moltnet message.accepted seq 1 (M1)", source: "<chain>" });
132
+ }
133
+ if (!m2) {
134
+ issues.push({ message: "chain stitch: missing moltnet message.accepted seq 2 (M2)", source: "<chain>" });
135
+ }
136
+ if (recalls.length === 0) {
137
+ issues.push({ message: "chain stitch: missing mneme memory.recalled events (R)", source: "<chain>" });
138
+ }
139
+ if (!t1) {
140
+ issues.push({ message: "chain stitch: missing daimon turn.input.submitted (T1)", source: "<chain>" });
141
+ }
142
+ if (!t1out) {
143
+ issues.push({ message: "chain stitch: missing daimon turn.output.completed (T1out)", source: "<chain>" });
144
+ }
145
+ return { issues, m1, m2, recalls, t1, t1out };
146
+ };
147
+ const cloneEvent = (event) => ({
148
+ ...event,
149
+ cause_event_ids: [...event.cause_event_ids],
150
+ payload: { ...event.payload }
151
+ });
152
+ /**
153
+ * Stitches the four independent, non-cross-referencing real fixtures into
154
+ * one interaction chain (B92 §4). Pure: never mutates its input, never does
155
+ * I/O. Rewrites ONLY linkage fields — R[i].cause_event_ids, T1.cause_event_ids,
156
+ * T1.payload.input_message_ids, T1.payload.input_content_sha256, and
157
+ * M2.cause_event_ids — every other field of every event is carried through
158
+ * byte-identical. T1out.cause_event_ids is asserted to already equal [T1.id]
159
+ * (daimon stamps that for real) rather than rewritten.
160
+ *
161
+ * Missing roles or a violated T1out->T1 assertion are reported as issues and
162
+ * the input is returned unstitched rather than guessed at.
163
+ */
164
+ export const stitchInteractionChain = (events) => {
165
+ const roles = identifyChainRoles(events);
166
+ if (roles.issues.length > 0) {
167
+ return { issues: roles.issues, stitched: [...events] };
168
+ }
169
+ const m1 = roles.m1;
170
+ const m2 = roles.m2;
171
+ const t1 = roles.t1;
172
+ const t1out = roles.t1out;
173
+ const recalls = roles.recalls;
174
+ if (t1out.cause_event_ids.length !== 1 || t1out.cause_event_ids[0] !== t1.event_id) {
175
+ return {
176
+ issues: [
177
+ {
178
+ message: `chain stitch: expected daimon turn.output.completed to cause from turn.input.submitted ` +
179
+ `${t1.event_id}, got [${t1out.cause_event_ids.join(", ")}]`,
180
+ source: "<chain>"
181
+ }
182
+ ],
183
+ stitched: [...events]
184
+ };
185
+ }
186
+ const m1MessageId = m1.payload.message_id;
187
+ const m1ContentSha256 = m1.payload.content_sha256;
188
+ if (typeof m1MessageId !== "string" || typeof m1ContentSha256 !== "string") {
189
+ return {
190
+ issues: [
191
+ { message: "chain stitch: moltnet M1 payload is missing string message_id/content_sha256", source: "<chain>" }
192
+ ],
193
+ stitched: [...events]
194
+ };
195
+ }
196
+ const recallIds = new Set(recalls.map((recall) => recall.event_id));
197
+ const stitchedRecallsById = new Map(recalls.map((recall) => {
198
+ const clone = cloneEvent(recall);
199
+ clone.cause_event_ids = [m1.event_id];
200
+ return [recall.event_id, clone];
201
+ }));
202
+ const stitchedT1 = cloneEvent(t1);
203
+ stitchedT1.cause_event_ids = [m1.event_id, ...recalls.map((recall) => recall.event_id)];
204
+ stitchedT1.payload.input_message_ids = [m1MessageId];
205
+ stitchedT1.payload.input_content_sha256 = m1ContentSha256;
206
+ const stitchedM2 = cloneEvent(m2);
207
+ stitchedM2.cause_event_ids = [t1out.event_id];
208
+ const stitched = events.map((event) => {
209
+ if (event.event_id === t1.event_id) {
210
+ return stitchedT1;
211
+ }
212
+ if (event.event_id === m2.event_id) {
213
+ return stitchedM2;
214
+ }
215
+ if (recallIds.has(event.event_id)) {
216
+ return stitchedRecallsById.get(event.event_id);
217
+ }
218
+ return event;
219
+ });
220
+ return { issues: [], stitched };
221
+ };
222
+ /**
223
+ * Collects the four real sibling emitters (emitters.ts), validates them
224
+ * (schema + payload minimums + combined seq contiguity + (B62) the
225
+ * principal grammar/consistency discipline in `PRINCIPAL_DISCIPLINE_CHECKS`
226
+ * — the real path now enforces exactly what `runSyntheticConformance` does,
227
+ * so a real emitter stamping a non-grammar principal is a reported issue,
228
+ * not a silent pass), stitches them into one interaction chain, and
229
+ * reconciles the result. This is B92's real-mode counterpart to
230
+ * runSyntheticConformance: same validation core, live process spawning
231
+ * instead of seeded fixture text.
232
+ */
233
+ export const runRealConformance = async (options = {}) => {
234
+ const { issues: collectIssues, sources } = await collectEmitterFixtures(options.specs ?? EMITTER_SPECS, options.exec ?? realExec);
235
+ const sourceCounts = sources.map((source) => ({
236
+ count: parseCausalJsonl(source.jsonl).events.length,
237
+ source: source.name
238
+ }));
239
+ const { events, issues: validateIssues } = validateConformanceSources(sources, DEFAULT_PAYLOAD_MINIMUMS, PRINCIPAL_DISCIPLINE_CHECKS);
240
+ const { issues: stitchIssues, stitched } = stitchInteractionChain(events);
241
+ const causeNamespaceIssues = checkCauseNamespaces(stitched);
242
+ let edges = [];
243
+ if (stitchIssues.length === 0) {
244
+ const roles = identifyChainRoles(stitched);
245
+ if (roles.m2) {
246
+ const reconciled = reconcileEvents(stitched);
247
+ edges = traceCausesBackward(reconciled, roles.m2.event_id);
248
+ }
249
+ }
250
+ const issues = [...collectIssues, ...validateIssues, ...stitchIssues, ...causeNamespaceIssues];
251
+ return {
252
+ chain: { edges, issues: stitchIssues, stitchedEventCount: stitched.length },
253
+ eventCount: events.length,
254
+ events,
255
+ issues,
256
+ ok: issues.length === 0,
257
+ sourceCounts
258
+ };
259
+ };
@@ -0,0 +1,76 @@
1
+ import type { ConformanceFixtureSource, ConformanceIssue } from "./conformance.js";
2
+ /**
3
+ * Normalized invocation contract for the four real Noopolis causal fixture
4
+ * emitters (B92, §2). `command` is a direct argv (never a shell string, never
5
+ * `npm run` — the npm banner would pollute stdout-jsonl output), resolved
6
+ * relative to `cwd`. `output` distinguishes emitters that print JSONL
7
+ * directly to stdout from daimon, which prints the absolute path of a JSONL
8
+ * file it wrote as the last stdout line.
9
+ */
10
+ export interface EmitterSpec {
11
+ command: string[];
12
+ cwd: string;
13
+ name: string;
14
+ output: "path-line" | "stdout-jsonl";
15
+ }
16
+ /** run_id every emitter is invoked with. Sourced from NOOPOLIS_RUN_ID, never model output. */
17
+ export declare const EMITTER_RUN_ID = "b92-conformance";
18
+ /**
19
+ * The four real sibling fixture emitters, invoked by path (never `npm run`).
20
+ * See B92 packet §1-§2 and each sibling's own runtime/observability AGENTS.md
21
+ * for what each emitter does.
22
+ */
23
+ export declare const EMITTER_SPECS: EmitterSpec[];
24
+ /**
25
+ * Builds the adversarial "spoof mode" variant of an `EmitterSpec` (B62
26
+ * enforcement point #4): the sibling fixture emitter is asked to embed a
27
+ * forged/claimed identity in its fixture's input or output content, while
28
+ * still stamping `principal_id` as its own authenticated identity — never
29
+ * the claimed one. `--spoof` is the flag convention daimon's own fixture
30
+ * emitter already understands (`npm run emit-causal-fixture:spoof`, see
31
+ * `ecosystem/daimon/src/observability/emitCausalFixture.ts`); this helper
32
+ * applies the same convention uniformly across all four `EmitterSpec`s so a
33
+ * future caller does not need one-off spoof plumbing per sibling.
34
+ *
35
+ * `EMITTER_SPOOF_SPECS` is deliberately NOT part of the default real-mode
36
+ * `EMITTER_SPECS` list `causalConformanceCli.ts` invokes: today only
37
+ * daimon's real fixture script understands `--spoof` (simfile/mneme/moltnet
38
+ * have not yet added a spoof-capable fixture variant), so spawning the
39
+ * other three with an unrecognized flag would break the hermetic real-mode
40
+ * run. `EMITTER_SPOOF_SPECS` exists for callers — and this file's own
41
+ * injected-exec tests — that want to exercise spoof-mode collection
42
+ * explicitly, and is the shape every sibling's real spoof script should
43
+ * match once added.
44
+ */
45
+ export declare const toSpoofEmitterSpec: (spec: EmitterSpec) => EmitterSpec;
46
+ /** The adversarial "spoof mode" counterpart to `EMITTER_SPECS` — see `toSpoofEmitterSpec`. */
47
+ export declare const EMITTER_SPOOF_SPECS: EmitterSpec[];
48
+ export interface ExecResult {
49
+ exitCode: number | null;
50
+ spawnError?: Error;
51
+ stderr: string;
52
+ stdout: string;
53
+ timedOut: boolean;
54
+ }
55
+ /** Injectable process runner. `realExec` is the only implementation that actually spawns a process. */
56
+ export type Exec = (spec: EmitterSpec) => Promise<ExecResult>;
57
+ /**
58
+ * Spawns `spec.command` directly (no shell) in `spec.cwd`, with stdout and
59
+ * stderr captured separately so stderr noise (npm banners, SQLite
60
+ * ExperimentalWarning, etc.) never corrupts stdout-jsonl parsing. Kills the
61
+ * child on `EMITTER_TIMEOUT_MS` expiry.
62
+ */
63
+ export declare const realExec: Exec;
64
+ export interface EmitterFixtureResult {
65
+ issues: ConformanceIssue[];
66
+ sources: ConformanceFixtureSource[];
67
+ }
68
+ /**
69
+ * Runs every emitter spec sequentially (daimon reuses a fixed on-disk
70
+ * directory across runs, so concurrent invocation is unsafe) and turns each
71
+ * result into either a conformance fixture source or a reported issue.
72
+ * Never silently skips an emitter: spawn error, timeout, nonzero exit, zero
73
+ * parsed records, and an unreadable daimon path-line are all reported as a
74
+ * `ConformanceIssue{source}` rather than dropped.
75
+ */
76
+ export declare const collectEmitterFixtures: (specs?: EmitterSpec[], exec?: Exec) => Promise<EmitterFixtureResult>;