spawnfile 0.1.13 → 0.1.17

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 (950) hide show
  1. package/README.md +61 -121
  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/importers.d.ts +10 -0
  27. package/dist/auth/importers.js +29 -4
  28. package/dist/auth/index.d.ts +9 -0
  29. package/dist/auth/index.js +8 -0
  30. package/dist/auth/paths.d.ts +12 -1
  31. package/dist/auth/paths.js +21 -0
  32. package/dist/auth/profileStore.js +9 -9
  33. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  34. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  35. package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
  36. package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
  37. package/dist/auth/targetSecretSourceFsPublish.d.ts +17 -0
  38. package/dist/auth/targetSecretSourceFsPublish.js +51 -0
  39. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +17 -0
  40. package/dist/auth/targetSecretSourceFsPublishImmutable.js +468 -0
  41. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  42. package/dist/auth/targetSecretSourceFsRead.js +189 -0
  43. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  44. package/dist/auth/targetSecretSourceGrant.js +99 -0
  45. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  46. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  47. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  48. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  49. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  50. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  51. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  52. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  53. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  54. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  55. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  56. package/dist/auth/targetSecretSourceResolver.js +137 -0
  57. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  58. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  59. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  60. package/dist/auth/targetSecretSourceRotate.js +121 -0
  61. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  62. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  63. package/dist/auth/trainingAuth.d.ts +21 -0
  64. package/dist/auth/trainingAuth.js +86 -0
  65. package/dist/auth/types.d.ts +1 -1
  66. package/dist/cli/artifactsCommands.d.ts +27 -0
  67. package/dist/cli/artifactsCommands.js +132 -0
  68. package/dist/cli/authCommands.d.ts +5 -0
  69. package/dist/cli/authCommands.js +230 -0
  70. package/dist/cli/canaryCutoverCommand.d.ts +2 -0
  71. package/dist/cli/canaryCutoverCommand.js +30 -0
  72. package/dist/cli/capabilitiesCommand.d.ts +3 -0
  73. package/dist/cli/capabilitiesCommand.js +12 -0
  74. package/dist/cli/capabilitiesReceipt.d.ts +56 -0
  75. package/dist/cli/capabilitiesReceipt.js +56 -0
  76. package/dist/cli/compileBuildCommands.d.ts +3 -0
  77. package/dist/cli/compileBuildCommands.js +48 -0
  78. package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
  79. package/dist/cli/composedLifecycleContractSet.js +204 -0
  80. package/dist/cli/containerBundleCommand.d.ts +6 -0
  81. package/dist/cli/containerBundleCommand.js +116 -0
  82. package/dist/cli/devCommands.js +2 -0
  83. package/dist/cli/downCommand.d.ts +25 -0
  84. package/dist/cli/downCommand.js +145 -0
  85. package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
  86. package/dist/cli/evidenceExportHelperCommand.js +51 -0
  87. package/dist/cli/index.js +15 -3
  88. package/dist/cli/lifecycleCommands.d.ts +1 -1
  89. package/dist/cli/lifecycleCommands.js +11 -181
  90. package/dist/cli/lifecycleMachine.d.ts +25 -0
  91. package/dist/cli/lifecycleMachine.js +78 -0
  92. package/dist/cli/lifecyclePlan.d.ts +35 -0
  93. package/dist/cli/lifecyclePlan.js +240 -0
  94. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  95. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  96. package/dist/cli/paideiaDelegation.d.ts +17 -0
  97. package/dist/cli/paideiaDelegation.js +210 -0
  98. package/dist/cli/paideiaSupervisor.d.ts +17 -0
  99. package/dist/cli/paideiaSupervisor.js +48 -0
  100. package/dist/cli/productStateCloneCommand.d.ts +2 -0
  101. package/dist/cli/productStateCloneCommand.js +34 -0
  102. package/dist/cli/runCli.d.ts +19 -2
  103. package/dist/cli/runCli.js +58 -74
  104. package/dist/cli/runPublishCommands.d.ts +3 -0
  105. package/dist/cli/runPublishCommands.js +70 -0
  106. package/dist/cli/statusCommand.d.ts +3 -33
  107. package/dist/cli/statusCommand.js +19 -249
  108. package/dist/cli/statusCommandLive.d.ts +20 -0
  109. package/dist/cli/statusCommandLive.js +188 -0
  110. package/dist/cli/statusCommandOptions.d.ts +40 -0
  111. package/dist/cli/statusCommandOptions.js +42 -0
  112. package/dist/cli/targetCliRoute.d.ts +2 -0
  113. package/dist/cli/targetCliRoute.js +30 -0
  114. package/dist/cli/targetCommands.d.ts +30 -0
  115. package/dist/cli/targetCommands.js +227 -0
  116. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  117. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  118. package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
  119. package/dist/cli/targetConfigPreparedPlan.js +74 -0
  120. package/dist/cli/targetConfigResolver.d.ts +3 -0
  121. package/dist/cli/targetConfigResolver.js +111 -0
  122. package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
  123. package/dist/cli/targetConfigResolverCommand.js +43 -0
  124. package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
  125. package/dist/cli/targetConfigResolverContracts.js +30 -0
  126. package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
  127. package/dist/cli/targetConfigResolverDocker.js +47 -0
  128. package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
  129. package/dist/cli/targetConfigResolverValidation.js +94 -0
  130. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  131. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  132. package/dist/cli/targetDefaultAuthorities.d.ts +55 -0
  133. package/dist/cli/targetDefaultAuthorities.js +213 -0
  134. package/dist/cli/targetDefaultConfig.d.ts +75 -0
  135. package/dist/cli/targetDefaultConfig.js +334 -0
  136. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  137. package/dist/cli/targetDefaultConfigStdin.js +221 -0
  138. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  139. package/dist/cli/targetDefaultEnvelope.js +13 -0
  140. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  141. package/dist/cli/targetDefaultHandlerFactory.js +268 -0
  142. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  143. package/dist/cli/targetDefaultHandlers.js +72 -0
  144. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  145. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  146. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  147. package/dist/cli/targetDefaultWorldClock.js +14 -0
  148. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  149. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  150. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  151. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  152. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  153. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  154. package/dist/cli/targetLookupCli.d.ts +3 -0
  155. package/dist/cli/targetLookupCli.js +31 -0
  156. package/dist/cli/targetLookupCommands.d.ts +12 -0
  157. package/dist/cli/targetLookupCommands.js +69 -0
  158. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  159. package/dist/cli/targetOperationDispatch.js +21 -0
  160. package/dist/cli/targetProductionCommands.d.ts +5 -0
  161. package/dist/cli/targetProductionCommands.js +45 -0
  162. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  163. package/dist/cli/targetReceiptOutput.js +21 -0
  164. package/dist/cli/targetRequestFile.d.ts +14 -0
  165. package/dist/cli/targetRequestFile.js +63 -0
  166. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  167. package/dist/cli/targetSecretSourceInput.js +121 -0
  168. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  169. package/dist/cli/targetWorldClockCommand.js +42 -0
  170. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  171. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  172. package/dist/cli/trainCommand.d.ts +3 -0
  173. package/dist/cli/trainCommand.js +61 -0
  174. package/dist/cli/upCommand.d.ts +3 -0
  175. package/dist/cli/upCommand.js +162 -0
  176. package/dist/cli/upImageCommand.d.ts +11 -0
  177. package/dist/cli/upImageCommand.js +41 -0
  178. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  179. package/dist/cli/upLifecycleInvocation.js +48 -0
  180. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  181. package/dist/cli/upLifecycleRecovery.js +197 -0
  182. package/dist/cli/usageCommand.d.ts +40 -0
  183. package/dist/cli/usageCommand.js +284 -0
  184. package/dist/cli/usageCommandLive.d.ts +84 -0
  185. package/dist/cli/usageCommandLive.js +95 -0
  186. package/dist/cli/usageDeploymentSource.d.ts +9 -0
  187. package/dist/cli/usageDeploymentSource.js +22 -0
  188. package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
  189. package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
  190. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  191. package/dist/compiler/agentNodeMerge.js +79 -0
  192. package/dist/compiler/agentSurfaces.js +11 -1
  193. package/dist/compiler/buildCompilePlan.js +17 -0
  194. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  195. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  196. package/dist/compiler/buildCompilePlanTeams.d.ts +2 -1
  197. package/dist/compiler/buildCompilePlanTeams.js +9 -1
  198. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  199. package/dist/compiler/buildProject.d.ts +11 -0
  200. package/dist/compiler/buildProject.js +77 -2
  201. package/dist/compiler/compilePlanHelpers.js +5 -0
  202. package/dist/compiler/compileProject.d.ts +15 -0
  203. package/dist/compiler/compileProject.js +31 -75
  204. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  205. package/dist/compiler/compileProjectPolicy.js +21 -0
  206. package/dist/compiler/compileProjectReports.d.ts +9 -0
  207. package/dist/compiler/compileProjectReports.js +52 -0
  208. package/dist/compiler/compileProjectSupport.js +9 -0
  209. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  210. package/dist/compiler/containerArtifactSummaries.js +138 -0
  211. package/dist/compiler/containerArtifacts.d.ts +12 -0
  212. package/dist/compiler/containerArtifacts.js +180 -127
  213. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  214. package/dist/compiler/containerArtifactsPlans.js +54 -124
  215. package/dist/compiler/containerArtifactsRender.d.ts +5 -2
  216. package/dist/compiler/containerArtifactsRender.js +106 -70
  217. package/dist/compiler/containerArtifactsTypes.d.ts +20 -0
  218. package/dist/compiler/containerBackedMountRender.d.ts +56 -0
  219. package/dist/compiler/containerBackedMountRender.js +101 -0
  220. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  221. package/dist/compiler/containerConfigEnvRender.js +54 -0
  222. package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
  223. package/dist/compiler/containerDaimonBrokerRender.js +191 -0
  224. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
  225. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
  226. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
  227. package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
  228. package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
  229. package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
  230. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
  231. package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
  232. package/dist/compiler/containerEntrypointRender.d.ts +8 -0
  233. package/dist/compiler/containerEntrypointRender.js +82 -72
  234. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  235. package/dist/compiler/containerEntrypointShell.js +29 -0
  236. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  237. package/dist/compiler/containerPackageOverrides.js +63 -0
  238. package/dist/compiler/containerPersistentMounts.d.ts +30 -0
  239. package/dist/compiler/containerPersistentMounts.js +66 -0
  240. package/dist/compiler/containerReadinessPaths.d.ts +1 -0
  241. package/dist/compiler/containerReadinessPaths.js +1 -0
  242. package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
  243. package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
  244. package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
  245. package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
  246. package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
  247. package/dist/compiler/containerStateOwnershipRender.js +75 -0
  248. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  249. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  250. package/dist/compiler/containerTargetResources.d.ts +22 -1
  251. package/dist/compiler/containerTargetResources.js +94 -2
  252. package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
  253. package/dist/compiler/containerVolumeBootstrap.js +3 -0
  254. package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
  255. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  256. package/dist/compiler/daimonTelemetryArtifacts.js +56 -0
  257. package/dist/compiler/deploymentLineage.d.ts +40 -0
  258. package/dist/compiler/deploymentLineage.js +50 -0
  259. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  260. package/dist/compiler/dockerBuildContext.js +159 -0
  261. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  262. package/dist/compiler/dockerBuildSkip.js +81 -0
  263. package/dist/compiler/index.d.ts +7 -0
  264. package/dist/compiler/index.js +7 -0
  265. package/dist/compiler/initProject.d.ts +2 -0
  266. package/dist/compiler/initProject.js +39 -1
  267. package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
  268. package/dist/compiler/localMoltnetAuthority.js +177 -0
  269. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  270. package/dist/compiler/memoryArtifacts.js +210 -0
  271. package/dist/compiler/memoryResolution.d.ts +4 -0
  272. package/dist/compiler/memoryResolution.js +147 -0
  273. package/dist/compiler/modelEnv.d.ts +7 -0
  274. package/dist/compiler/modelEnv.js +13 -1
  275. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  276. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  277. package/dist/compiler/moltnetArtifactPaths.d.ts +31 -0
  278. package/dist/compiler/moltnetArtifactPaths.js +51 -0
  279. package/dist/compiler/moltnetArtifactTypes.d.ts +56 -0
  280. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  281. package/dist/compiler/moltnetArtifacts.d.ts +3 -41
  282. package/dist/compiler/moltnetArtifacts.js +87 -101
  283. package/dist/compiler/moltnetBinaries.d.ts +33 -4
  284. package/dist/compiler/moltnetBinaries.js +173 -26
  285. package/dist/compiler/moltnetClientConfig.js +7 -2
  286. package/dist/compiler/moltnetConfigLowering.d.ts +18 -1
  287. package/dist/compiler/moltnetConfigLowering.js +92 -6
  288. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  289. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  290. package/dist/compiler/moltnetNodeConfig.js +7 -2
  291. package/dist/compiler/moltnetReleaseAuthority.d.ts +40 -0
  292. package/dist/compiler/moltnetReleaseAuthority.js +102 -0
  293. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  294. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  295. package/dist/compiler/moltnetRepresentativeResolution.d.ts +2 -1
  296. package/dist/compiler/moltnetRepresentativeResolution.js +17 -3
  297. package/dist/compiler/moltnetResolution.js +67 -21
  298. package/dist/compiler/moltnetRoomMemberships.js +52 -9
  299. package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
  300. package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
  301. package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
  302. package/dist/compiler/moltnetRuntimeConfig.js +22 -2
  303. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  304. package/dist/compiler/moltnetServerPlans.js +151 -0
  305. package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
  306. package/dist/compiler/organizationExternalParticipants.js +176 -0
  307. package/dist/compiler/organizationIdentity.d.ts +21 -0
  308. package/dist/compiler/organizationIdentity.js +64 -0
  309. package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
  310. package/dist/compiler/organizationIdentityGraph.js +115 -0
  311. package/dist/compiler/organizationReadyEvidence.d.ts +57 -0
  312. package/dist/compiler/organizationReadyEvidence.js +281 -0
  313. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  314. package/dist/compiler/projectManifestGraph.js +24 -0
  315. package/dist/compiler/runProject.d.ts +8 -2
  316. package/dist/compiler/runProject.js +62 -27
  317. package/dist/compiler/runProjectAuth.d.ts +10 -2
  318. package/dist/compiler/runProjectAuth.js +105 -11
  319. package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
  320. package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
  321. package/dist/compiler/runProjectDocker.d.ts +11 -0
  322. package/dist/compiler/runProjectDocker.js +64 -16
  323. package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
  324. package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
  325. package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
  326. package/dist/compiler/runProjectDockerReservation.js +118 -0
  327. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  328. package/dist/compiler/runProjectLifecycle.js +40 -0
  329. package/dist/compiler/syncProjectAuth.js +4 -1
  330. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  331. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  332. package/dist/compiler/teamContextSupport.js +32 -40
  333. package/dist/compiler/teamContextTypes.d.ts +2 -0
  334. package/dist/compiler/training/broker/declaration.d.ts +45 -0
  335. package/dist/compiler/training/broker/declaration.js +55 -0
  336. package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
  337. package/dist/compiler/training/broker/entrypoint.js +111 -0
  338. package/dist/compiler/training/broker/index.d.ts +10 -0
  339. package/dist/compiler/training/broker/index.js +10 -0
  340. package/dist/compiler/training/broker/main.d.ts +2 -0
  341. package/dist/compiler/training/broker/main.js +14 -0
  342. package/dist/compiler/training/broker/paths.d.ts +196 -0
  343. package/dist/compiler/training/broker/paths.js +241 -0
  344. package/dist/compiler/training/broker/processes.d.ts +42 -0
  345. package/dist/compiler/training/broker/processes.js +99 -0
  346. package/dist/compiler/training/broker/projection.d.ts +51 -0
  347. package/dist/compiler/training/broker/projection.js +76 -0
  348. package/dist/compiler/training/broker/provisioning.d.ts +87 -0
  349. package/dist/compiler/training/broker/provisioning.js +213 -0
  350. package/dist/compiler/training/broker/receipt.d.ts +77 -0
  351. package/dist/compiler/training/broker/receipt.js +110 -0
  352. package/dist/compiler/training/broker/registration.d.ts +41 -0
  353. package/dist/compiler/training/broker/registration.js +102 -0
  354. package/dist/compiler/training/broker/runtime.d.ts +25 -0
  355. package/dist/compiler/training/broker/runtime.js +173 -0
  356. package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
  357. package/dist/compiler/training/broker/seccompRoutes.js +36 -0
  358. package/dist/compiler/training/broker/supervisor.d.ts +109 -0
  359. package/dist/compiler/training/broker/supervisor.js +173 -0
  360. package/dist/compiler/training/container/contract.d.ts +31 -0
  361. package/dist/compiler/training/container/contract.js +33 -0
  362. package/dist/compiler/training/container/index.d.ts +4 -0
  363. package/dist/compiler/training/container/index.js +2 -0
  364. package/dist/compiler/training/container/launch.d.ts +18 -0
  365. package/dist/compiler/training/container/launch.js +173 -0
  366. package/dist/compiler/training/container/prepare.d.ts +8 -0
  367. package/dist/compiler/training/container/prepare.js +80 -0
  368. package/dist/compiler/training/container/process.d.ts +14 -0
  369. package/dist/compiler/training/container/process.js +70 -0
  370. package/dist/compiler/training/container/security.d.ts +36 -0
  371. package/dist/compiler/training/container/security.js +58 -0
  372. package/dist/compiler/training/context.d.ts +7 -0
  373. package/dist/compiler/training/context.js +93 -0
  374. package/dist/compiler/training/contract.d.ts +142 -0
  375. package/dist/compiler/training/contract.js +34 -0
  376. package/dist/compiler/training/index.d.ts +4 -0
  377. package/dist/compiler/training/index.js +3 -0
  378. package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
  379. package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
  380. package/dist/compiler/training/preparation/broker.d.ts +21 -0
  381. package/dist/compiler/training/preparation/broker.js +43 -0
  382. package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
  383. package/dist/compiler/training/preparation/contextModes.js +38 -0
  384. package/dist/compiler/training/preparation/contract.d.ts +182 -0
  385. package/dist/compiler/training/preparation/contract.js +94 -0
  386. package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
  387. package/dist/compiler/training/preparation/copyAssets.js +8 -0
  388. package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
  389. package/dist/compiler/training/preparation/daimonParent.js +114 -0
  390. package/dist/compiler/training/preparation/files.d.ts +25 -0
  391. package/dist/compiler/training/preparation/files.js +85 -0
  392. package/dist/compiler/training/preparation/image.d.ts +28 -0
  393. package/dist/compiler/training/preparation/image.js +102 -0
  394. package/dist/compiler/training/preparation/index.d.ts +3 -0
  395. package/dist/compiler/training/preparation/index.js +2 -0
  396. package/dist/compiler/training/preparation/inputs.d.ts +23 -0
  397. package/dist/compiler/training/preparation/inputs.js +93 -0
  398. package/dist/compiler/training/preparation/prepare.d.ts +33 -0
  399. package/dist/compiler/training/preparation/prepare.js +186 -0
  400. package/dist/compiler/training/preparation/scratch.d.ts +19 -0
  401. package/dist/compiler/training/preparation/scratch.js +48 -0
  402. package/dist/compiler/training/repair/compatibility.d.ts +11 -0
  403. package/dist/compiler/training/repair/compatibility.js +34 -0
  404. package/dist/compiler/training/repair/contract.d.ts +506 -0
  405. package/dist/compiler/training/repair/contract.js +31 -0
  406. package/dist/compiler/training/repair/index.d.ts +3 -0
  407. package/dist/compiler/training/repair/index.js +3 -0
  408. package/dist/compiler/training/repair/prepare.d.ts +230 -0
  409. package/dist/compiler/training/repair/prepare.js +74 -0
  410. package/dist/compiler/training/repair/witness.d.ts +203 -0
  411. package/dist/compiler/training/repair/witness.js +42 -0
  412. package/dist/compiler/types.d.ts +84 -1
  413. package/dist/compiler/upProject.d.ts +31 -1
  414. package/dist/compiler/upProject.js +197 -22
  415. package/dist/compiler/upProjectHandoff.d.ts +62 -0
  416. package/dist/compiler/upProjectHandoff.js +204 -0
  417. package/dist/compiler/upReceipt.d.ts +36 -0
  418. package/dist/compiler/upReceipt.js +127 -0
  419. package/dist/compiler/updateProjectModels.js +43 -60
  420. package/dist/compiler/updateProjectRuntime.js +22 -35
  421. package/dist/compiler/updateProjectSurfaces.js +53 -47
  422. package/dist/compiler/view/types.d.ts +1 -1
  423. package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
  424. package/dist/compiler/workspaceBundleArtifacts.js +106 -0
  425. package/dist/compiler/workspaceResources.d.ts +4 -1
  426. package/dist/compiler/workspaceResources.js +12 -7
  427. package/dist/compiler/worldBindings.d.ts +39 -0
  428. package/dist/compiler/worldBindings.js +247 -0
  429. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  430. package/dist/compiler/worldBindingsFile.js +162 -0
  431. package/dist/deployment/artifactsExport.d.ts +49 -0
  432. package/dist/deployment/artifactsExport.js +217 -0
  433. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  434. package/dist/deployment/artifactsExportDocker.js +91 -0
  435. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  436. package/dist/deployment/artifactsExportPlan.js +185 -0
  437. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  438. package/dist/deployment/artifactsExportTypes.js +52 -0
  439. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  440. package/dist/deployment/buildImageCacheStore.js +54 -0
  441. package/dist/deployment/canaryCutover.d.ts +42 -0
  442. package/dist/deployment/canaryCutover.js +140 -0
  443. package/dist/deployment/candidateDiagnostics.d.ts +15 -0
  444. package/dist/deployment/candidateDiagnostics.js +90 -0
  445. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  446. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  447. package/dist/deployment/dockerInspect.d.ts +9 -0
  448. package/dist/deployment/dockerInspect.js +24 -1
  449. package/dist/deployment/dockerLabels.d.ts +2 -0
  450. package/dist/deployment/dockerLabels.js +2 -0
  451. package/dist/deployment/dockerLogs.js +5 -10
  452. package/dist/deployment/dockerManager.d.ts +51 -0
  453. package/dist/deployment/dockerManager.js +124 -1
  454. package/dist/deployment/dockerProbeGateway.d.ts +17 -0
  455. package/dist/deployment/dockerProbeGateway.js +80 -6
  456. package/dist/deployment/dockerRecover.js +9 -1
  457. package/dist/deployment/dockerTeardown.d.ts +32 -0
  458. package/dist/deployment/dockerTeardown.js +61 -0
  459. package/dist/deployment/downDeployment.d.ts +39 -0
  460. package/dist/deployment/downDeployment.js +248 -0
  461. package/dist/deployment/downReceiptTypes.d.ts +36 -0
  462. package/dist/deployment/downReceiptTypes.js +45 -0
  463. package/dist/deployment/index.d.ts +20 -0
  464. package/dist/deployment/index.js +21 -0
  465. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  466. package/dist/deployment/lifecycleCompletion.js +236 -0
  467. package/dist/deployment/lifecycleCompletionContracts.d.ts +224 -0
  468. package/dist/deployment/lifecycleCompletionContracts.js +140 -0
  469. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  470. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  471. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  472. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  473. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  474. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  475. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  476. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  477. package/dist/deployment/lifecycleCompletionPaths.d.ts +12 -0
  478. package/dist/deployment/lifecycleCompletionPaths.js +19 -0
  479. package/dist/deployment/lifecycleCompletionPublication.d.ts +7 -0
  480. package/dist/deployment/lifecycleCompletionPublication.js +49 -0
  481. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  482. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  483. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  484. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  485. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  486. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  487. package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
  488. package/dist/deployment/lifecycleUpRecords.js +127 -0
  489. package/dist/deployment/native/AGENTS.md +11 -0
  490. package/dist/deployment/native/rename-noreplace-arm64 +0 -0
  491. package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
  492. package/dist/deployment/native/rename-noreplace-x64 +0 -0
  493. package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
  494. package/dist/deployment/noReplaceActivation.d.ts +17 -0
  495. package/dist/deployment/noReplaceActivation.js +50 -0
  496. package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
  497. package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
  498. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  499. package/dist/deployment/organizationHandoffAuthorityFsClient.js +187 -0
  500. package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
  501. package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
  502. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  503. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +431 -0
  504. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  505. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  506. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
  507. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
  508. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  509. package/dist/deployment/organizationHandoffAuthorityStore.js +355 -0
  510. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  511. package/dist/deployment/organizationHandoffAuthorityTypes.js +149 -0
  512. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  513. package/dist/deployment/organizationHandoffTypes.js +80 -0
  514. package/dist/deployment/organizationReady.d.ts +54 -0
  515. package/dist/deployment/organizationReady.js +232 -0
  516. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  517. package/dist/deployment/privateArtifactsExport.js +80 -0
  518. package/dist/deployment/productStateClone.d.ts +43 -0
  519. package/dist/deployment/productStateClone.js +319 -0
  520. package/dist/deployment/record.d.ts +26 -1
  521. package/dist/deployment/record.js +49 -4
  522. package/dist/deployment/target.d.ts +1 -35
  523. package/dist/deployment/target.js +1 -96
  524. package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
  525. package/dist/deployment/upLifecycleRecoveryState.js +12 -0
  526. package/dist/deployment/upReceiptTypes.d.ts +137 -0
  527. package/dist/deployment/upReceiptTypes.js +191 -0
  528. package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
  529. package/dist/deployment/workspaceResourceMigration.js +315 -0
  530. package/dist/dev/project.d.ts +7 -0
  531. package/dist/dev/project.js +24 -9
  532. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  533. package/dist/distribution/buildDistributionReport.js +2 -1
  534. package/dist/distribution/consumeImage.d.ts +2 -0
  535. package/dist/distribution/consumeImage.js +98 -73
  536. package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
  537. package/dist/distribution/consumeImageDaimonDocker.js +45 -0
  538. package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
  539. package/dist/distribution/consumeImageLifecycle.js +231 -0
  540. package/dist/distribution/consumeImageSupport.d.ts +12 -0
  541. package/dist/distribution/consumeImageSupport.js +15 -0
  542. package/dist/distribution/distributionReportSchema.d.ts +16 -1
  543. package/dist/distribution/distributionReportSchema.js +21 -3
  544. package/dist/distribution/dockerRunner.d.ts +6 -1
  545. package/dist/distribution/dockerRunner.js +31 -4
  546. package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
  547. package/dist/distribution/imageRuntimeAuth.js +70 -1
  548. package/dist/distribution/index.d.ts +3 -3
  549. package/dist/distribution/index.js +2 -2
  550. package/dist/distribution/preflight.js +5 -1
  551. package/dist/distribution/types.d.ts +21 -1
  552. package/dist/distribution/types.js +4 -0
  553. package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
  554. package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
  555. package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
  556. package/dist/evidenceExportHelper/index.d.ts +4 -0
  557. package/dist/evidenceExportHelper/index.js +4 -0
  558. package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
  559. package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
  560. package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
  561. package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
  562. package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
  563. package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
  564. package/dist/evidenceExportHelper/recipe.d.ts +7 -0
  565. package/dist/evidenceExportHelper/recipe.js +83 -0
  566. package/dist/filesystem/io.d.ts +2 -0
  567. package/dist/filesystem/io.js +16 -1
  568. package/dist/filesystem/paths.js +10 -1
  569. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  570. package/dist/ledger/causalConformanceCli.js +41 -0
  571. package/dist/ledger/causeNamespace.d.ts +8 -0
  572. package/dist/ledger/causeNamespace.js +24 -0
  573. package/dist/ledger/conformance.d.ts +83 -0
  574. package/dist/ledger/conformance.js +259 -0
  575. package/dist/ledger/emitters.d.ts +76 -0
  576. package/dist/ledger/emitters.js +188 -0
  577. package/dist/ledger/index.d.ts +4 -0
  578. package/dist/ledger/index.js +4 -0
  579. package/dist/ledger/principal.d.ts +96 -0
  580. package/dist/ledger/principal.js +121 -0
  581. package/dist/manifest/executionSchemas.d.ts +27 -0
  582. package/dist/manifest/executionSchemas.js +21 -2
  583. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  584. package/dist/manifest/externalParticipantSchemas.js +17 -0
  585. package/dist/manifest/index.d.ts +1 -0
  586. package/dist/manifest/index.js +1 -0
  587. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  588. package/dist/manifest/inlineAgentMember.js +9 -0
  589. package/dist/manifest/loadManifest.js +14 -8
  590. package/dist/manifest/mcpSchemas.d.ts +18 -0
  591. package/dist/manifest/mcpSchemas.js +44 -0
  592. package/dist/manifest/memorySchemas.d.ts +245 -0
  593. package/dist/manifest/memorySchemas.js +148 -0
  594. package/dist/manifest/renderSpawnfile.js +22 -131
  595. package/dist/manifest/renderSpawnfileNetworks.js +20 -2
  596. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  597. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  598. package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
  599. package/dist/manifest/scheduleSchemas.d.ts +3 -1
  600. package/dist/manifest/scheduleSchemas.js +91 -5
  601. package/dist/manifest/schemas.d.ts +2034 -40
  602. package/dist/manifest/schemas.js +82 -33
  603. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  604. package/dist/manifest/surfaceSchemas.js +24 -1
  605. package/dist/manifest/teamNetworkAccessSchemas.d.ts +6 -2
  606. package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
  607. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  608. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  609. package/dist/manifest/teamNetworkSchemas.d.ts +25 -190
  610. package/dist/manifest/teamNetworkSchemas.js +21 -317
  611. package/dist/manifest/teamNetworkServerSchemas.d.ts +155 -0
  612. package/dist/manifest/teamNetworkServerSchemas.js +215 -0
  613. package/dist/manifest/workspaceSchemas.d.ts +16 -0
  614. package/dist/manifest/workspaceSchemas.js +11 -0
  615. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  616. package/dist/ownership/siblingBuildFreshness.js +20 -0
  617. package/dist/report/types.d.ts +173 -1
  618. package/dist/runtime/common.d.ts +63 -1
  619. package/dist/runtime/common.js +88 -3
  620. package/dist/runtime/container.d.ts +28 -1
  621. package/dist/runtime/container.js +78 -29
  622. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  623. package/dist/runtime/containerPackageOverrides.js +33 -0
  624. package/dist/runtime/daimon/adapter.d.ts +14 -0
  625. package/dist/runtime/daimon/adapter.js +243 -0
  626. package/dist/runtime/daimon/attention.d.ts +8 -0
  627. package/dist/runtime/daimon/attention.js +32 -0
  628. package/dist/runtime/daimon/config.d.ts +25 -0
  629. package/dist/runtime/daimon/config.js +272 -0
  630. package/dist/runtime/daimon/contractManifest.d.ts +295 -0
  631. package/dist/runtime/daimon/contractManifest.js +319 -0
  632. package/dist/runtime/daimon/grokModel.d.ts +19 -0
  633. package/dist/runtime/daimon/grokModel.js +33 -0
  634. package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
  635. package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
  636. package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
  637. package/dist/runtime/daimon/grokWorkerContract.js +48 -0
  638. package/dist/runtime/daimon/memory.d.ts +57 -0
  639. package/dist/runtime/daimon/memory.js +125 -0
  640. package/dist/runtime/daimon/runAuth.d.ts +51 -0
  641. package/dist/runtime/daimon/runAuth.js +279 -0
  642. package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
  643. package/dist/runtime/daimon/runtimeIdentity.js +22 -0
  644. package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
  645. package/dist/runtime/daimon/scheduleAuthority.js +17 -0
  646. package/dist/runtime/index.d.ts +6 -0
  647. package/dist/runtime/index.js +6 -0
  648. package/dist/runtime/install.d.ts +3 -0
  649. package/dist/runtime/install.js +3 -0
  650. package/dist/runtime/localDaimonAuthority.d.ts +11 -0
  651. package/dist/runtime/localDaimonAuthority.js +77 -0
  652. package/dist/runtime/mnemeMcp.d.ts +28 -0
  653. package/dist/runtime/mnemeMcp.js +135 -0
  654. package/dist/runtime/openclaw/adapter.js +17 -6
  655. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  656. package/dist/runtime/openclaw/mcp.js +69 -0
  657. package/dist/runtime/openclaw/runAuth.js +2 -2
  658. package/dist/runtime/openclaw/scaffold.js +1 -1
  659. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  660. package/dist/runtime/openclaw/schedules.js +74 -0
  661. package/dist/runtime/pi/adapter.d.ts +1 -2
  662. package/dist/runtime/pi/adapter.js +87 -58
  663. package/dist/runtime/pi/appActivitySource.js +114 -2
  664. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  665. package/dist/runtime/pi/appAgentConfig.js +264 -0
  666. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  667. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  668. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  669. package/dist/runtime/pi/appCliSource.js +353 -0
  670. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  671. package/dist/runtime/pi/appControlSource.js +390 -0
  672. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  673. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  674. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  675. package/dist/runtime/pi/appCoreSource.js +104 -214
  676. package/dist/runtime/pi/appPreludeSource.js +140 -52
  677. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  678. package/dist/runtime/pi/appScheduleSource.js +84 -0
  679. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  680. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  681. package/dist/runtime/pi/appSource.d.ts +4 -1
  682. package/dist/runtime/pi/appSource.js +6 -2
  683. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  684. package/dist/runtime/pi/appTemplate.js +9 -126
  685. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  686. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  687. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  688. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  689. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  690. package/dist/runtime/pi/containerTargets.js +57 -0
  691. package/dist/runtime/pi/runAuth.js +126 -9
  692. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  693. package/dist/runtime/pi/testHelpers.js +40 -0
  694. package/dist/runtime/picoclaw/adapter.js +25 -29
  695. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  696. package/dist/runtime/picoclaw/mcp.js +43 -0
  697. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  698. package/dist/runtime/picoclaw/memory.js +17 -0
  699. package/dist/runtime/picoclaw/runAuth.js +1 -1
  700. package/dist/runtime/picoclaw/scaffold.js +1 -1
  701. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  702. package/dist/runtime/picoclaw/schedules.js +62 -3
  703. package/dist/runtime/registry.d.ts +3 -0
  704. package/dist/runtime/registry.js +19 -2
  705. package/dist/runtime/scheduleUtils.d.ts +3 -0
  706. package/dist/runtime/scheduleUtils.js +19 -0
  707. package/dist/runtime/types.d.ts +50 -2
  708. package/dist/runtime/usageLedger.d.ts +158 -0
  709. package/dist/runtime/usageLedger.js +269 -0
  710. package/dist/runtime/usageLedgerRead.d.ts +48 -0
  711. package/dist/runtime/usageLedgerRead.js +102 -0
  712. package/dist/runtime/usageRequestLedger.d.ts +42 -0
  713. package/dist/runtime/usageRequestLedger.js +72 -0
  714. package/dist/shared/daimonCodexDocker.d.ts +32 -0
  715. package/dist/shared/daimonCodexDocker.js +120 -0
  716. package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
  717. package/dist/shared/daimonGrokSeccompProfile.js +11 -0
  718. package/dist/shared/errors.d.ts +1 -1
  719. package/dist/shared/errors.js +2 -2
  720. package/dist/shared/index.d.ts +3 -0
  721. package/dist/shared/index.js +3 -0
  722. package/dist/shared/redaction.d.ts +2 -0
  723. package/dist/shared/redaction.js +10 -0
  724. package/dist/shared/types.d.ts +1 -1
  725. package/dist/shared/volumeNames.d.ts +6 -0
  726. package/dist/shared/volumeNames.js +14 -0
  727. package/dist/status/buildStatus.d.ts +1 -0
  728. package/dist/status/buildStatus.js +2 -0
  729. package/dist/status/compileReport.d.ts +22 -0
  730. package/dist/status/compileReport.js +16 -2
  731. package/dist/status/compiledProbeCollection.d.ts +21 -0
  732. package/dist/status/compiledProbeCollection.js +27 -0
  733. package/dist/status/imageStatusReport.js +6 -0
  734. package/dist/status/index.d.ts +3 -0
  735. package/dist/status/index.js +3 -0
  736. package/dist/status/lifecycleProbes.d.ts +19 -0
  737. package/dist/status/lifecycleProbes.js +174 -0
  738. package/dist/status/moltnetProbes.d.ts +7 -8
  739. package/dist/status/moltnetProbes.js +27 -198
  740. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  741. package/dist/status/moltnetWiringProbes.js +178 -0
  742. package/dist/target/cleanupRun.d.ts +41 -0
  743. package/dist/target/cleanupRun.js +139 -0
  744. package/dist/target/cleanupRunDocker.d.ts +16 -0
  745. package/dist/target/cleanupRunDocker.js +66 -0
  746. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  747. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  748. package/dist/target/composedPreparation.d.ts +205 -0
  749. package/dist/target/composedPreparation.js +223 -0
  750. package/dist/target/containerBundle.d.ts +82 -0
  751. package/dist/target/containerBundle.js +243 -0
  752. package/dist/target/containerBundleArchive.d.ts +31 -0
  753. package/dist/target/containerBundleArchive.js +140 -0
  754. package/dist/target/containerBundleAuthority.d.ts +25 -0
  755. package/dist/target/containerBundleAuthority.js +65 -0
  756. package/dist/target/containerBundleContracts.d.ts +114 -0
  757. package/dist/target/containerBundleContracts.js +173 -0
  758. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  759. package/dist/target/containerBundleFilesystemStore.js +247 -0
  760. package/dist/target/containerBundlePolicy.d.ts +33 -0
  761. package/dist/target/containerBundlePolicy.js +64 -0
  762. package/dist/target/containerBundleStore.d.ts +127 -0
  763. package/dist/target/containerBundleStore.js +284 -0
  764. package/dist/target/contracts.d.ts +538 -0
  765. package/dist/target/contracts.js +373 -0
  766. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  767. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  768. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  769. package/dist/target/dockerArtifactInspection.js +125 -0
  770. package/dist/target/dockerArtifacts.d.ts +21 -0
  771. package/dist/target/dockerArtifacts.js +110 -0
  772. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  773. package/dist/target/dockerArtifactsProvider.js +476 -0
  774. package/dist/target/dockerBaseImage.d.ts +2 -0
  775. package/dist/target/dockerBaseImage.js +11 -0
  776. package/dist/target/dockerCommandExecutor.d.ts +38 -0
  777. package/dist/target/dockerCommandExecutor.js +251 -0
  778. package/dist/target/dockerCommandExecutorCore.d.ts +35 -0
  779. package/dist/target/dockerCommandExecutorCore.js +275 -0
  780. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  781. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  782. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  783. package/dist/target/dockerContextSnapshot.js +158 -0
  784. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  785. package/dist/target/dockerEndpointFingerprint.js +9 -0
  786. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  787. package/dist/target/dockerPreparedArtifact.js +131 -0
  788. package/dist/target/dockerProjectionJson.d.ts +1 -0
  789. package/dist/target/dockerProjectionJson.js +80 -0
  790. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  791. package/dist/target/dockerPublicArtifactSnapshot.js +83 -0
  792. package/dist/target/dockerResources.d.ts +26 -0
  793. package/dist/target/dockerResources.js +162 -0
  794. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  795. package/dist/target/dockerResourcesProvider.js +207 -0
  796. package/dist/target/dockerSecrets.d.ts +39 -0
  797. package/dist/target/dockerSecrets.js +249 -0
  798. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  799. package/dist/target/dockerSecretsAuthority.js +216 -0
  800. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  801. package/dist/target/dockerSecretsLifecycle.js +133 -0
  802. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  803. package/dist/target/dockerSecretsProvider.js +329 -0
  804. package/dist/target/dockerTarget.d.ts +53 -0
  805. package/dist/target/dockerTarget.js +48 -0
  806. package/dist/target/dockerTargetBinding.d.ts +13 -0
  807. package/dist/target/dockerTargetBinding.js +95 -0
  808. package/dist/target/dockerTargetExecFile.d.ts +19 -0
  809. package/dist/target/dockerTargetExecFile.js +194 -0
  810. package/dist/target/dockerWorldClock.d.ts +17 -0
  811. package/dist/target/dockerWorldClock.js +111 -0
  812. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  813. package/dist/target/dockerWorldReadiness.js +119 -0
  814. package/dist/target/dockerWorldService.d.ts +23 -0
  815. package/dist/target/dockerWorldService.js +216 -0
  816. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  817. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  818. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  819. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  820. package/dist/target/dockerWorldServiceProvider.d.ts +64 -0
  821. package/dist/target/dockerWorldServiceProvider.js +330 -0
  822. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  823. package/dist/target/dockerWorldServiceStore.js +367 -0
  824. package/dist/target/evidenceExport.d.ts +57 -0
  825. package/dist/target/evidenceExport.js +527 -0
  826. package/dist/target/evidenceExportArchive.d.ts +10 -0
  827. package/dist/target/evidenceExportArchive.js +302 -0
  828. package/dist/target/evidenceExportContract.d.ts +27 -0
  829. package/dist/target/evidenceExportContract.js +40 -0
  830. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  831. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  832. package/dist/target/evidenceExportProvider.d.ts +87 -0
  833. package/dist/target/evidenceExportProvider.js +197 -0
  834. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  835. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  836. package/dist/target/evidenceExportStore.d.ts +70 -0
  837. package/dist/target/evidenceExportStore.js +498 -0
  838. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  839. package/dist/target/evidenceExportStorePublication.js +395 -0
  840. package/dist/target/handles.d.ts +20 -0
  841. package/dist/target/handles.js +56 -0
  842. package/dist/target/index.d.ts +12 -0
  843. package/dist/target/index.js +11 -0
  844. package/dist/target/journal.d.ts +59 -0
  845. package/dist/target/journal.js +529 -0
  846. package/dist/target/journalFilesystem.d.ts +3 -0
  847. package/dist/target/journalFilesystem.js +111 -0
  848. package/dist/target/journalRoot.d.ts +4 -0
  849. package/dist/target/journalRoot.js +6 -0
  850. package/dist/target/organizationAttachment.d.ts +23 -0
  851. package/dist/target/organizationAttachment.js +263 -0
  852. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  853. package/dist/target/organizationAttachmentAuthority.js +161 -0
  854. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  855. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  856. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  857. package/dist/target/organizationAttachmentProvider.js +289 -0
  858. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  859. package/dist/target/organizationAttachmentStore.js +316 -0
  860. package/dist/target/publicArtifactSnapshot.d.ts +72 -0
  861. package/dist/target/publicArtifactSnapshot.js +184 -0
  862. package/dist/target/topologyActivation.d.ts +51 -0
  863. package/dist/target/topologyActivation.js +149 -0
  864. package/dist/target/topologyAttestation.d.ts +37 -0
  865. package/dist/target/topologyAttestation.js +300 -0
  866. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  867. package/dist/target/topologyAttestationErrors.js +1 -0
  868. package/dist/target/worldClock.d.ts +60 -0
  869. package/dist/target/worldClock.js +129 -0
  870. package/dist/target/worldReadiness.d.ts +103 -0
  871. package/dist/target/worldReadiness.js +153 -0
  872. package/examples/README.md +45 -0
  873. package/examples/agent-with-subagents/AGENTS.md +3 -0
  874. package/examples/agent-with-subagents/Spawnfile +30 -0
  875. package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
  876. package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
  877. package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
  878. package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
  879. package/examples/daimon-org/Spawnfile +68 -0
  880. package/examples/daimon-org/TEAM.md +4 -0
  881. package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
  882. package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
  883. package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
  884. package/examples/daimon-org/teams/review/Spawnfile +53 -0
  885. package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
  886. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
  887. package/examples/daimon-public-host/AGENTS.md +3 -0
  888. package/examples/daimon-public-host/Spawnfile +21 -0
  889. package/examples/distribution-org/Spawnfile +43 -0
  890. package/examples/distribution-org/TEAM.md +4 -0
  891. package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
  892. package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
  893. package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
  894. package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
  895. package/examples/jungian-daimon-org/Spawnfile +41 -0
  896. package/examples/jungian-daimon-org/TEAM.md +21 -0
  897. package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
  898. package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
  899. package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
  900. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
  901. package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
  902. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
  903. package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
  904. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
  905. package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
  906. package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
  907. package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
  908. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
  909. package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
  910. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
  911. package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
  912. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
  913. package/examples/mixed-runtime-org/Spawnfile +71 -0
  914. package/examples/mixed-runtime-org/TEAM.md +8 -0
  915. package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
  916. package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
  917. package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
  918. package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
  919. package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
  920. package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
  921. package/examples/moltnet-team-chat/Spawnfile +43 -0
  922. package/examples/moltnet-team-chat/TEAM.md +5 -0
  923. package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
  924. package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
  925. package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
  926. package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
  927. package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
  928. package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
  929. package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
  930. package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
  931. package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
  932. package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
  933. package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
  934. package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
  935. package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
  936. package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
  937. package/examples/single-agent/AGENTS.md +3 -0
  938. package/examples/single-agent/HEARTBEAT.md +3 -0
  939. package/examples/single-agent/IDENTITY.md +3 -0
  940. package/examples/single-agent/MEMORY.md +3 -0
  941. package/examples/single-agent/SOUL.md +3 -0
  942. package/examples/single-agent/Spawnfile +41 -0
  943. package/examples/single-agent/skills/web_search/SKILL.md +6 -0
  944. package/moltnet-releases.json +21 -0
  945. package/package.json +57 -14
  946. package/runtimes.yaml +11 -23
  947. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  948. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  949. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  950. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,279 @@
1
+ // Not re-exported by src/ledger/index.js's barrel (see conformance.ts, which
2
+ // also imports it directly from principal.js rather than through the
3
+ // barrel); mirrored here for the same reason.
4
+ import { isAuthenticatedPrincipal } from "../ledger/principal.js";
5
+ import { CONTROL_TOKEN_ENV, DENIAL_MINIMUMS_BY_TYPE, escapeRegExp, FAIL_CLOSED_MARKER, literalAssignmentPattern, missingRequiredKeys, notApplicable, statusFor } from "./checksShared.js";
6
+ /**
7
+ * Check 1 — `causal.principals-authenticated` (run). Grounded in
8
+ * `runRealConformance` reporting zero issues over the ledger jsonl, and in
9
+ * `isAuthenticatedPrincipal` (src/ledger/principal.ts:87) rejecting a bare,
10
+ * literal-`anonymous`, or `system:moltnet.anonymous` principal
11
+ * (principal.ts:45,93). Fails on either a nonempty `issues` list (any
12
+ * schema/seq/payload/principal/chain problem `runRealConformance` found) or
13
+ * an event whose `principal_id` is not authenticated — evidence names the
14
+ * offending event and principal directly rather than relying on issue-
15
+ * message string matching.
16
+ */
17
+ export const checkPrincipalsAuthenticated = (evidence) => {
18
+ const id = "causal.principals-authenticated";
19
+ const category = "causal";
20
+ const severity = "critical";
21
+ if (!evidence) {
22
+ return notApplicable(id, category, severity, "no run artifacts provided");
23
+ }
24
+ const offendingPrincipals = evidence.events
25
+ .filter((event) => !isAuthenticatedPrincipal(event.principal_id))
26
+ .map((event) => ({ event_id: event.event_id, principal_id: event.principal_id }));
27
+ return {
28
+ category,
29
+ evidence: {
30
+ eventCount: evidence.eventCount,
31
+ issueCount: evidence.issues.length,
32
+ offendingPrincipals,
33
+ sources: evidence.sources
34
+ },
35
+ id,
36
+ severity,
37
+ status: statusFor(evidence.issues.length === 0 && offendingPrincipals.length === 0)
38
+ };
39
+ };
40
+ /**
41
+ * Check 2 — `causal.denied-ledger-visible` (run). Grounded in
42
+ * `DEFAULT_PAYLOAD_MINIMUMS` (conformance.ts:67-69) for every `*.denied`
43
+ * type: any such event that appears must carry its required keys. Also
44
+ * detects a silent drop — this fixture's `expected-denials.json` asserted a
45
+ * denial type occurred, but no matching `*.denied` event exists in the
46
+ * ledger — which fails even when every event that *is* present is well
47
+ * shaped.
48
+ *
49
+ * `not_applicable`, never `pass`, when there is no `expected-denials.json`
50
+ * manifest AND zero `*.denied` events are present in the ledger — with
51
+ * neither an assertion to check against nor an event to inspect, there is
52
+ * nothing here to actually assess (see AGENTS.md's cardinal rule: absent
53
+ * evidence is `not_applicable`, never `pass`). A manifest being present is
54
+ * enough to keep evaluating (silent-drop detection needs no observed event
55
+ * to fire), and any `*.denied` event that *is* present is always
56
+ * key-validated regardless of manifest presence.
57
+ */
58
+ export const checkDeniedLedgerVisible = (evidence) => {
59
+ const id = "causal.denied-ledger-visible";
60
+ const category = "causal";
61
+ const severity = "high";
62
+ if (!evidence) {
63
+ return notApplicable(id, category, severity, "no run artifacts provided");
64
+ }
65
+ const presentDenials = evidence.events.filter((event) => DENIAL_MINIMUMS_BY_TYPE.has(event.type));
66
+ if (!evidence.manifestPresent && presentDenials.length === 0) {
67
+ return notApplicable(id, category, severity, "no denial events and no expected-denials manifest; cannot assess silent-drop");
68
+ }
69
+ const malformed = presentDenials
70
+ .map((event) => ({
71
+ event_id: event.event_id,
72
+ /* v8 ignore next -- presentDenials already filtered by DENIAL_MINIMUMS_BY_TYPE.has(event.type), so .get() always hits; defensive fallback only */
73
+ missingKeys: missingRequiredKeys(event, DENIAL_MINIMUMS_BY_TYPE.get(event.type) ?? []),
74
+ type: event.type
75
+ }))
76
+ .filter((entry) => entry.missingKeys.length > 0);
77
+ const presentTypes = new Set(presentDenials.map((event) => event.type));
78
+ const silentlyDropped = evidence.expectedDenialTypes.filter((type) => !presentTypes.has(type));
79
+ return {
80
+ category,
81
+ evidence: {
82
+ deniedEventCount: presentDenials.length,
83
+ expectedDenialTypes: evidence.expectedDenialTypes,
84
+ malformed,
85
+ silentlyDropped
86
+ },
87
+ id,
88
+ severity,
89
+ status: statusFor(malformed.length === 0 && silentlyDropped.length === 0)
90
+ };
91
+ };
92
+ /**
93
+ * Check 3 — `control.wake-fail-closed` (static). Grounded in
94
+ * appControlSource.ts:31-47 (B62 Option B): the operator wake endpoint must
95
+ * fail closed when `SPAWNFILE_PI_CONTROL_TOKEN` is unset, never treat an
96
+ * unset token as "auth disabled". Passes only when the compiled Pi app
97
+ * source references the token env, contains the verbatim fail-closed
98
+ * rejection text, and never bakes a literal default value for it.
99
+ */
100
+ export const checkControlWakeFailClosed = (evidence) => {
101
+ const combined = `${evidence.dockerfile}\n${evidence.entrypoint}\n${evidence.piAppSource}`;
102
+ const tokenReferenced = combined.includes(CONTROL_TOKEN_ENV);
103
+ const failClosedMarkerFound = evidence.piAppSource.includes(FAIL_CLOSED_MARKER);
104
+ const bakedDefaultFound = literalAssignmentPattern(CONTROL_TOKEN_ENV).test(combined);
105
+ return {
106
+ category: "control",
107
+ evidence: {
108
+ bakedDefaultFound,
109
+ envSourceList: [CONTROL_TOKEN_ENV],
110
+ failClosedMarkerFound,
111
+ tokenReferenced
112
+ },
113
+ id: "control.wake-fail-closed",
114
+ severity: "critical",
115
+ status: statusFor(tokenReferenced && failClosedMarkerFound && !bakedDefaultFound)
116
+ };
117
+ };
118
+ /**
119
+ * Check 4 — `container.no-baked-secrets` (static). Grounded in
120
+ * containerEntrypointRender.ts:232-233: every required secret is emitted as
121
+ * a `require_env <name>` runtime check, never a literal value baked into the
122
+ * Dockerfile build layer or the entrypoint script. Passes only when every
123
+ * `requiredSecrets` name is `require_env`-guarded in the entrypoint AND no
124
+ * name is ever followed by a literal (non-`$`) assignment anywhere in the
125
+ * compiled Dockerfile/entrypoint text.
126
+ */
127
+ export const checkContainerNoBakedSecrets = (evidence) => {
128
+ const combined = `${evidence.dockerfile}\n${evidence.entrypoint}`;
129
+ const missingRequireEnv = evidence.requiredSecrets.filter((name) => !new RegExp(`require_env\\s+['"]${escapeRegExp(name)}['"]`, "u").test(evidence.entrypoint));
130
+ const bakedLiteralValues = evidence.requiredSecrets.filter((name) => literalAssignmentPattern(name).test(combined));
131
+ return {
132
+ category: "container",
133
+ evidence: {
134
+ bakedLiteralValues,
135
+ missingRequireEnv,
136
+ requiredSecrets: evidence.requiredSecrets
137
+ },
138
+ id: "container.no-baked-secrets",
139
+ severity: "critical",
140
+ status: statusFor(missingRequireEnv.length === 0 && bakedLiteralValues.length === 0)
141
+ };
142
+ };
143
+ /**
144
+ * Check 5 — `memory.cross-scope-capability` (run). Grounded in mneme's
145
+ * `mneme.cap.system.v1` foreign-scope escalation capability
146
+ * (ecosystem/mneme/src/policy/capability.ts:28) and the
147
+ * `memory.write.denied` payload minimum (conformance.ts:68:
148
+ * `requested_scope`, `reason`). `mneme.cap.system.v1` is carried as an
149
+ * informational `grounding` string only — this function performs no static
150
+ * check against mneme's source, so the status is never driven by that
151
+ * literal.
152
+ *
153
+ * `not_applicable`, never `pass`, when no `memory.write.denied` event is
154
+ * present in the ledger: enforcement was never exercised in this run, and
155
+ * "nothing to violate" is not evidence the capability guard works (see
156
+ * AGENTS.md). When one or more denial events are present, every one must
157
+ * carry both `requested_scope` and `reason` to pass.
158
+ */
159
+ export const checkMemoryCrossScopeCapability = (evidence) => {
160
+ const id = "memory.cross-scope-capability";
161
+ const category = "memory";
162
+ const severity = "high";
163
+ if (!evidence) {
164
+ return notApplicable(id, category, severity, "no run artifacts provided");
165
+ }
166
+ const denials = evidence.events.filter((event) => event.type === "memory.write.denied");
167
+ if (denials.length === 0) {
168
+ return {
169
+ category,
170
+ evidence: {
171
+ deniedEventCount: 0,
172
+ reason: "no memory.write.denied events observed; cross-scope enforcement was not exercised in this run"
173
+ },
174
+ id,
175
+ severity,
176
+ status: "not_applicable"
177
+ };
178
+ }
179
+ /* v8 ignore next -- "memory.write.denied" is always in DEFAULT_PAYLOAD_MINIMUMS (conformance.ts:68); defensive fallback only */
180
+ const requiredKeys = DENIAL_MINIMUMS_BY_TYPE.get("memory.write.denied") ?? [];
181
+ const malformed = denials
182
+ .map((event) => ({
183
+ event_id: event.event_id,
184
+ missingKeys: missingRequiredKeys(event, requiredKeys),
185
+ requested_scope: event.payload.requested_scope,
186
+ reason: event.payload.reason
187
+ }))
188
+ .filter((entry) => entry.missingKeys.length > 0);
189
+ return {
190
+ category,
191
+ evidence: {
192
+ deniedEventCount: denials.length,
193
+ grounding: "mneme.cap.system.v1",
194
+ malformed
195
+ },
196
+ id,
197
+ severity,
198
+ status: statusFor(malformed.length === 0)
199
+ };
200
+ };
201
+ /**
202
+ * Check 6 — `network.non-member-write-denied` (run). Grounded in moltnet's
203
+ * `writeForbiddenError` (ecosystem/moltnet/internal/rooms/access_policy.go:23,71-72)
204
+ * and the `message.denied` payload minimum (conformance.ts:67: `target`,
205
+ * `reason`, `content_sha256`). The `writeForbiddenError` path is carried as
206
+ * an informational `grounding` string only — this function performs no
207
+ * static check against moltnet's source, so the status is never driven by
208
+ * that literal.
209
+ *
210
+ * `not_applicable`, never `pass`, when no `message.denied` event is present:
211
+ * non-member-write enforcement was never exercised in this run, which is not
212
+ * evidence it works (see AGENTS.md). When one or more denial events are
213
+ * present, every one must carry `target`, `reason`, and `content_sha256` to
214
+ * pass.
215
+ */
216
+ export const checkNonMemberWriteDenied = (evidence) => {
217
+ const id = "network.non-member-write-denied";
218
+ const category = "network";
219
+ const severity = "high";
220
+ if (!evidence) {
221
+ return notApplicable(id, category, severity, "no run artifacts provided");
222
+ }
223
+ const denials = evidence.events.filter((event) => event.type === "message.denied");
224
+ if (denials.length === 0) {
225
+ return {
226
+ category,
227
+ evidence: {
228
+ deniedEventCount: 0,
229
+ reason: "no message.denied events observed; non-member write enforcement was not exercised in this run"
230
+ },
231
+ id,
232
+ severity,
233
+ status: "not_applicable"
234
+ };
235
+ }
236
+ /* v8 ignore next -- "message.denied" is always in DEFAULT_PAYLOAD_MINIMUMS (conformance.ts:67); defensive fallback only */
237
+ const requiredKeys = DENIAL_MINIMUMS_BY_TYPE.get("message.denied") ?? [];
238
+ const malformed = denials
239
+ .map((event) => ({
240
+ event_id: event.event_id,
241
+ missingKeys: missingRequiredKeys(event, requiredKeys),
242
+ target: event.payload.target,
243
+ reason: event.payload.reason
244
+ }))
245
+ .filter((entry) => entry.missingKeys.length > 0);
246
+ return {
247
+ category,
248
+ evidence: {
249
+ deniedEventCount: denials.length,
250
+ grounding: "ecosystem/moltnet/internal/rooms/access_policy.go writeForbiddenError",
251
+ malformed
252
+ },
253
+ id,
254
+ severity,
255
+ status: statusFor(malformed.length === 0)
256
+ };
257
+ };
258
+ /**
259
+ * Check 7 — `provenance.signed-report` — always `not_applicable`. Report
260
+ * signing/provenance is deferred to B66; this audit generator has no
261
+ * signing input to check and must never claim it. Takes no evidence input
262
+ * on purpose: there is nothing yet for it to inspect.
263
+ */
264
+ export const checkProvenanceSignedReport = () => notApplicable("provenance.signed-report", "provenance", "medium", "not yet enforced (see B66)");
265
+ /**
266
+ * The seven check ids in the order `generateAudit.ts` assembles
267
+ * `AuditReport.checks` in (each check function above takes a different
268
+ * evidence shape, so this is a documentation/ordering list only — not a
269
+ * uniformly-callable array).
270
+ */
271
+ export const AUDIT_CHECK_IDS = [
272
+ "causal.principals-authenticated",
273
+ "causal.denied-ledger-visible",
274
+ "control.wake-fail-closed",
275
+ "container.no-baked-secrets",
276
+ "memory.cross-scope-capability",
277
+ "network.non-member-write-denied",
278
+ "provenance.signed-report"
279
+ ];
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Evidence input types and small pure helpers shared by every check function
3
+ * in checks.ts. Split out purely to keep checks.ts under the repo's 400-line
4
+ * cap (see the repo CLAUDE.md) — nothing here is
5
+ * a different layer or a different contract, it is checks.ts's own
6
+ * plumbing. No I/O, same as checks.ts itself.
7
+ */
8
+ import type { CausalEvent, ConformanceIssue } from "../ledger/index.js";
9
+ import type { AuditCheck, AuditCheckCategory, AuditCheckSeverity, AuditCheckStatus } from "./types.js";
10
+ /**
11
+ * Ledger evidence handed to every run-mode check (1, 2, 5, 6). Built once by
12
+ * `generateAudit.ts` from `runRealConformance` (offline-mode: an injected
13
+ * `exec` that reads fixture files instead of spawning a sibling process —
14
+ * see generateAudit.ts) plus the audit's own `expected-denials.json`
15
+ * manifest. `undefined` means "no run artifacts provided" — every run-mode
16
+ * check below returns `not_applicable` in that case, and never `pass`.
17
+ */
18
+ export interface RunLedgerEvidence {
19
+ eventCount: number;
20
+ events: CausalEvent[];
21
+ /** Denial types this fixture's `expected-denials.json` asserts a `*.denied` event must exist for (silent-drop detection, check 2). */
22
+ expectedDenialTypes: string[];
23
+ /** Every schema/seq/payload-minimum/principal-grammar/chain-stitch issue `runRealConformance` reported — reused, never recomputed. */
24
+ issues: ConformanceIssue[];
25
+ /** Whether the ledger directory actually contained an `expected-denials.json` file — distinct from `expectedDenialTypes.length === 0`, which is also true for a *present-but-empty* manifest. Check 2 uses this to tell "no manifest, so silent-drop cannot be assessed" apart from "a manifest exists and asserts nothing". */
26
+ manifestPresent: boolean;
27
+ sources: string[];
28
+ }
29
+ /**
30
+ * Compiled-output evidence handed to every static check (3, 4). Plain
31
+ * strings, not paths — `generateAudit.ts` owns the file reads, these
32
+ * functions stay pure. Any file that does not exist in the compiled output
33
+ * directory reads as an empty string; that is itself audit-worthy (absence
34
+ * of proof is not proof of enforcement), never treated as not_applicable —
35
+ * unlike run-mode checks, the compiled-output directory is a required
36
+ * `generateAudit` input, never optional.
37
+ */
38
+ export interface StaticContainerEvidence {
39
+ /** Rendered Dockerfile text (containerArtifactsRender.ts's `renderDockerfile` output shape). */
40
+ dockerfile: string;
41
+ /** Rendered entrypoint.sh text (containerEntrypointRender.ts's `renderEntrypoint` output shape). */
42
+ entrypoint: string;
43
+ /** Rendered generated Pi app source, if this compile targeted Pi (appControlSource.ts's `renderPiControlSource` output is inlined into it). Empty string if the compiled output has no such file. */
44
+ piAppSource: string;
45
+ /** Secret env var NAMES this compile declared required (containerEntrypointRender.ts's `renderEntrypoint(runtimePlans, requiredSecrets, ...)` second argument) — never the values. */
46
+ requiredSecrets: string[];
47
+ }
48
+ export declare const notApplicable: (id: string, category: AuditCheckCategory, severity: AuditCheckSeverity, reason: string) => AuditCheck;
49
+ export declare const statusFor: (ok: boolean) => AuditCheckStatus;
50
+ /** `conformance.ts`'s `checkPayloadMinimums` is not exported (it is that module's private helper); this is the same one-line key-presence rule applied directly to already-parsed events, not a reimplementation of `validateConformanceSources`'s schema/seq/stitch pipeline. */
51
+ export declare const missingRequiredKeys: (event: CausalEvent, requiredKeys: string[]) => string[];
52
+ export declare const DENIAL_MINIMUMS_BY_TYPE: Map<string, string[]>;
53
+ /** Env name gating the operator-only wake endpoint (appControlSource.ts:45, `CONTROL_TOKEN_ENV`). */
54
+ export declare const CONTROL_TOKEN_ENV = "SPAWNFILE_PI_CONTROL_TOKEN";
55
+ /**
56
+ * Verbatim source-text substring of appControlSource.ts:75's fail-closed
57
+ * rejection branch (`return { ok: false, reason: "no operator token
58
+ * configured (" + CONTROL_TOKEN_ENV + " is unset)" }`). The literal string
59
+ * checked here is only the first concatenated chunk — the source
60
+ * concatenates `CONTROL_TOKEN_ENV` in with `+`, so the fully-assembled
61
+ * runtime message never appears as one literal in the source text itself.
62
+ * Its presence is direct evidence the fail-closed branch was actually
63
+ * emitted, not paraphrased.
64
+ */
65
+ export declare const FAIL_CLOSED_MARKER = "no operator token configured (";
66
+ export declare const escapeRegExp: (value: string) => string;
67
+ /**
68
+ * Matches a literal (non-`$`-expansion) shell/Dockerfile assignment
69
+ * `NAME=<value>` — never a `require_env 'NAME'` call (no `=` follows the
70
+ * name there at all) and never a same-name passthrough reference like
71
+ * `NAME="$NAME"`/`NAME=${NAME}` (an optional quote followed by `$`), both of
72
+ * which read the env rather than bake a value into it.
73
+ */
74
+ export declare const literalAssignmentPattern: (name: string) => RegExp;
@@ -0,0 +1,37 @@
1
+ import { DEFAULT_PAYLOAD_MINIMUMS } from "../ledger/index.js";
2
+ export const notApplicable = (id, category, severity, reason) => ({
3
+ category,
4
+ evidence: { reason },
5
+ id,
6
+ severity,
7
+ status: "not_applicable"
8
+ });
9
+ export const statusFor = (ok) => (ok ? "pass" : "fail");
10
+ /** `conformance.ts`'s `checkPayloadMinimums` is not exported (it is that module's private helper); this is the same one-line key-presence rule applied directly to already-parsed events, not a reimplementation of `validateConformanceSources`'s schema/seq/stitch pipeline. */
11
+ export const missingRequiredKeys = (event, requiredKeys) => requiredKeys.filter((key) => !(key in event.payload) || event.payload[key] === undefined);
12
+ export const DENIAL_MINIMUMS_BY_TYPE = new Map(DEFAULT_PAYLOAD_MINIMUMS.filter((minimum) => minimum.type.endsWith(".denied")).map((minimum) => [
13
+ minimum.type,
14
+ minimum.requiredKeys
15
+ ]));
16
+ /** Env name gating the operator-only wake endpoint (appControlSource.ts:45, `CONTROL_TOKEN_ENV`). */
17
+ export const CONTROL_TOKEN_ENV = "SPAWNFILE_PI_CONTROL_TOKEN";
18
+ /**
19
+ * Verbatim source-text substring of appControlSource.ts:75's fail-closed
20
+ * rejection branch (`return { ok: false, reason: "no operator token
21
+ * configured (" + CONTROL_TOKEN_ENV + " is unset)" }`). The literal string
22
+ * checked here is only the first concatenated chunk — the source
23
+ * concatenates `CONTROL_TOKEN_ENV` in with `+`, so the fully-assembled
24
+ * runtime message never appears as one literal in the source text itself.
25
+ * Its presence is direct evidence the fail-closed branch was actually
26
+ * emitted, not paraphrased.
27
+ */
28
+ export const FAIL_CLOSED_MARKER = "no operator token configured (";
29
+ export const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
30
+ /**
31
+ * Matches a literal (non-`$`-expansion) shell/Dockerfile assignment
32
+ * `NAME=<value>` — never a `require_env 'NAME'` call (no `=` follows the
33
+ * name there at all) and never a same-name passthrough reference like
34
+ * `NAME="$NAME"`/`NAME=${NAME}` (an optional quote followed by `$`), both of
35
+ * which read the env rather than bake a value into it.
36
+ */
37
+ export const literalAssignmentPattern = (name) => new RegExp(`\\b${escapeRegExp(name)}=(?!['"]?\\$)\\S`, "u");
@@ -0,0 +1,19 @@
1
+ import type { AuditReport } from "./types.js";
2
+ export interface GenerateAuditOptions {
3
+ /** Required. The compiled-output directory (`spawnfile compile`'s emitted `Dockerfile`, `entrypoint.sh`, and — for a Pi-targeted compile — `runtime/app.mjs`). Static checks 3-4 always evaluate pass/fail against whatever is (or is not) present here; a missing file reads as an empty string, never a silent skip. */
4
+ compiledOutputDirPath: string;
5
+ /** Optional. A directory of `*.jsonl` ledger fixture files plus an optional `expected-denials.json` manifest (see checks.ts's `RunLedgerEvidence`). Omitting it (or an empty directory) is what makes run-mode checks 1, 2, 5, 6 report `not_applicable` — they never `pass` without it. */
6
+ ledgerDirPath?: string;
7
+ /** Injectable clock for `generated_at`, defaulting to `() => new Date()`. Every other report field is deterministic given the same inputs. */
8
+ now?: () => Date;
9
+ /** Secret env var NAMES this compile declared required (`requiredSecrets` passed to `renderEntrypoint`). Defaults to `[]`. */
10
+ requiredSecrets?: string[];
11
+ }
12
+ /**
13
+ * Orchestrator: the only I/O-performing function in src/audit/. Reads the
14
+ * compiled-output directory and, if given, the ledger directory, then runs
15
+ * the seven pure checks (checks.ts) and assembles the `AuditReport`.
16
+ * Deterministic across repeated calls with the same inputs except for
17
+ * `generated_at`.
18
+ */
19
+ export declare const generateAudit: (options: GenerateAuditOptions) => Promise<AuditReport>;
@@ -0,0 +1,122 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { fileExists, readUtf8File } from "../filesystem/index.js";
4
+ import { runRealConformance } from "../ledger/index.js";
5
+ import { checkContainerNoBakedSecrets, checkControlWakeFailClosed, checkDeniedLedgerVisible, checkMemoryCrossScopeCapability, checkNonMemberWriteDenied, checkPrincipalsAuthenticated, checkProvenanceSignedReport } from "./checks.js";
6
+ import { SPAWNFILE_AUDIT_SCHEMA } from "./types.js";
7
+ const readOptionalFile = async (filePath) => (await fileExists(filePath)) ? readUtf8File(filePath) : "";
8
+ const readExpectedDenials = async (ledgerDirPath) => {
9
+ const manifestPath = path.join(ledgerDirPath, "expected-denials.json");
10
+ if (!(await fileExists(manifestPath))) {
11
+ return { expectedDenialTypes: [], manifestPresent: false };
12
+ }
13
+ const raw = await readUtf8File(manifestPath);
14
+ const parsed = JSON.parse(raw);
15
+ if (!Array.isArray(parsed.expectedDenialTypes)) {
16
+ return { expectedDenialTypes: [], manifestPresent: true };
17
+ }
18
+ return {
19
+ expectedDenialTypes: parsed.expectedDenialTypes.filter((value) => typeof value === "string"),
20
+ manifestPresent: true
21
+ };
22
+ };
23
+ /**
24
+ * Reads every `*.jsonl` file in `ledgerDirPath` and feeds it to
25
+ * `runRealConformance` (src/ledger/conformance.ts) through an injected
26
+ * `exec` that returns each file's pre-read text instead of spawning a real
27
+ * sibling emitter process. This is what keeps the whole B54 generator
28
+ * offline while still reusing `runRealConformance`'s real schema/seq/
29
+ * payload-minimum/principal-grammar/chain-stitch pipeline rather than
30
+ * reimplementing any of it — see src/ledger/emitters.ts for the `Exec`/
31
+ * `EmitterSpec` contract this fills in. Returns `undefined` (never an empty
32
+ * evidence object) when the directory has no `*.jsonl` files, so callers can
33
+ * distinguish "no run artifacts" from "ledger with zero events".
34
+ */
35
+ const collectRunLedgerEvidence = async (ledgerDirPath) => {
36
+ const entries = await readdir(ledgerDirPath, { withFileTypes: true }).catch(() => []);
37
+ const jsonlFileNames = entries
38
+ .filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl"))
39
+ .map((entry) => entry.name)
40
+ .sort((left, right) => left.localeCompare(right));
41
+ if (jsonlFileNames.length === 0) {
42
+ return undefined;
43
+ }
44
+ const contentByFileName = new Map();
45
+ for (const fileName of jsonlFileNames) {
46
+ contentByFileName.set(fileName, await readUtf8File(path.join(ledgerDirPath, fileName)));
47
+ }
48
+ const specs = jsonlFileNames.map((fileName) => ({
49
+ command: [fileName],
50
+ cwd: ledgerDirPath,
51
+ name: fileName.replace(/\.jsonl$/u, ""),
52
+ output: "stdout-jsonl"
53
+ }));
54
+ // Offline exec: returns the pre-read fixture text for the named source,
55
+ // never spawns a process. Matches src/ledger/emitters.ts's `Exec` contract.
56
+ const exec = (spec) => Promise.resolve({
57
+ exitCode: 0,
58
+ stderr: "",
59
+ stdout: contentByFileName.get(`${spec.name}.jsonl`) ?? "",
60
+ timedOut: false
61
+ });
62
+ const report = await runRealConformance({ exec, specs });
63
+ const { expectedDenialTypes, manifestPresent } = await readExpectedDenials(ledgerDirPath);
64
+ return {
65
+ eventCount: report.eventCount,
66
+ events: report.events,
67
+ expectedDenialTypes,
68
+ issues: report.issues,
69
+ manifestPresent,
70
+ sources: report.sourceCounts.map((entry) => entry.source)
71
+ };
72
+ };
73
+ const collectStaticEvidence = async (compiledOutputDirPath, requiredSecrets) => ({
74
+ dockerfile: await readOptionalFile(path.join(compiledOutputDirPath, "Dockerfile")),
75
+ entrypoint: await readOptionalFile(path.join(compiledOutputDirPath, "entrypoint.sh")),
76
+ piAppSource: await readOptionalFile(path.join(compiledOutputDirPath, "runtime", "app.mjs")),
77
+ requiredSecrets
78
+ });
79
+ const summarize = (checks) => ({
80
+ failed: checks.filter((check) => check.status === "fail").length,
81
+ na: checks.filter((check) => check.status === "not_applicable").length,
82
+ passed: checks.filter((check) => check.status === "pass").length
83
+ });
84
+ /** `null` unless every ledger event shares one `run_id` (see specs/CAUSAL.md — a single audit always covers one run). */
85
+ const resolveRunId = (events) => {
86
+ if (events.length === 0) {
87
+ return null;
88
+ }
89
+ const runIds = new Set(events.map((event) => event.run_id));
90
+ return runIds.size === 1 ? runIds.values().next().value : null;
91
+ };
92
+ /**
93
+ * Orchestrator: the only I/O-performing function in src/audit/. Reads the
94
+ * compiled-output directory and, if given, the ledger directory, then runs
95
+ * the seven pure checks (checks.ts) and assembles the `AuditReport`.
96
+ * Deterministic across repeated calls with the same inputs except for
97
+ * `generated_at`.
98
+ */
99
+ export const generateAudit = async (options) => {
100
+ const now = options.now ?? (() => new Date());
101
+ const requiredSecrets = options.requiredSecrets ?? [];
102
+ const [ledgerEvidence, staticEvidence] = await Promise.all([
103
+ options.ledgerDirPath ? collectRunLedgerEvidence(options.ledgerDirPath) : Promise.resolve(undefined),
104
+ collectStaticEvidence(options.compiledOutputDirPath, requiredSecrets)
105
+ ]);
106
+ const checks = [
107
+ checkPrincipalsAuthenticated(ledgerEvidence),
108
+ checkDeniedLedgerVisible(ledgerEvidence),
109
+ checkControlWakeFailClosed(staticEvidence),
110
+ checkContainerNoBakedSecrets(staticEvidence),
111
+ checkMemoryCrossScopeCapability(ledgerEvidence),
112
+ checkNonMemberWriteDenied(ledgerEvidence),
113
+ checkProvenanceSignedReport()
114
+ ];
115
+ return {
116
+ checks,
117
+ generated_at: now().toISOString(),
118
+ run_id: ledgerEvidence ? resolveRunId(ledgerEvidence.events) : null,
119
+ schema: SPAWNFILE_AUDIT_SCHEMA,
120
+ summary: summarize(checks)
121
+ };
122
+ };
@@ -0,0 +1,4 @@
1
+ export * from "./checks.js";
2
+ export * from "./generateAudit.js";
3
+ export * from "./readAudit.js";
4
+ export * from "./types.js";
@@ -0,0 +1,4 @@
1
+ export * from "./checks.js";
2
+ export * from "./generateAudit.js";
3
+ export * from "./readAudit.js";
4
+ export * from "./types.js";
@@ -0,0 +1,50 @@
1
+ import { z } from "zod";
2
+ import type { AuditReport } from "./types.js";
3
+ export declare const auditReportSchema: z.ZodObject<{
4
+ checks: z.ZodArray<z.ZodObject<{
5
+ category: z.ZodEnum<{
6
+ provenance: "provenance";
7
+ causal: "causal";
8
+ container: "container";
9
+ control: "control";
10
+ memory: "memory";
11
+ network: "network";
12
+ }>;
13
+ evidence: z.ZodRecord<z.ZodString, z.ZodUnknown>;
14
+ id: z.ZodString;
15
+ severity: z.ZodEnum<{
16
+ critical: "critical";
17
+ high: "high";
18
+ medium: "medium";
19
+ }>;
20
+ status: z.ZodEnum<{
21
+ pass: "pass";
22
+ fail: "fail";
23
+ not_applicable: "not_applicable";
24
+ }>;
25
+ }, z.core.$strict>>;
26
+ generated_at: z.ZodString;
27
+ run_id: z.ZodNullable<z.ZodString>;
28
+ schema: z.ZodLiteral<"spawnfile.audit.v1">;
29
+ summary: z.ZodObject<{
30
+ failed: z.ZodNumber;
31
+ na: z.ZodNumber;
32
+ passed: z.ZodNumber;
33
+ }, z.core.$strict>;
34
+ }, z.core.$strict>;
35
+ export interface AuditReadError {
36
+ message: string;
37
+ }
38
+ /**
39
+ * Safe (non-throwing) validator. Rejects an unknown `schema` string as a
40
+ * top-level structural mismatch — `z.literal` already fails it — rather
41
+ * than accepting any string and comparing separately, so a caller cannot
42
+ * bypass the schema gate with a structurally-valid-but-wrong-version report.
43
+ */
44
+ export declare const validateAuditReport: (value: unknown) => {
45
+ report: AuditReport;
46
+ } | {
47
+ error: AuditReadError;
48
+ };
49
+ /** Throwing counterpart of `validateAuditReport`, mirroring `envelope.ts`'s `parseCausalEvent`. */
50
+ export declare const readAuditReport: (value: unknown) => AuditReport;
@@ -0,0 +1,59 @@
1
+ import { z } from "zod";
2
+ import { SPAWNFILE_AUDIT_SCHEMA } from "./types.js";
3
+ /**
4
+ * Pure reader/validator for an existing `spawnfile.audit.v1` report — the
5
+ * `envelope.ts` precedent (a zod schema mirroring the hand-written
6
+ * `AuditReport` interface, plus a `parse*`/`validate*` pair). No I/O:
7
+ * callers pass already-read JSON (typically `JSON.parse`d from a file
8
+ * `generateAudit.ts` wrote), this module only checks shape.
9
+ */
10
+ const auditCheckSchema = z
11
+ .object({
12
+ category: z.enum(["causal", "container", "control", "memory", "network", "provenance"]),
13
+ evidence: z.record(z.string(), z.unknown()),
14
+ id: z.string().min(1),
15
+ severity: z.enum(["critical", "high", "medium"]),
16
+ status: z.enum(["pass", "fail", "not_applicable"])
17
+ })
18
+ .strict();
19
+ const auditSummarySchema = z
20
+ .object({
21
+ failed: z.number().int().min(0),
22
+ na: z.number().int().min(0),
23
+ passed: z.number().int().min(0)
24
+ })
25
+ .strict();
26
+ export const auditReportSchema = z
27
+ .object({
28
+ checks: z.array(auditCheckSchema),
29
+ generated_at: z.string().min(1),
30
+ run_id: z.string().min(1).nullable(),
31
+ schema: z.literal(SPAWNFILE_AUDIT_SCHEMA),
32
+ summary: auditSummarySchema
33
+ })
34
+ .strict();
35
+ /**
36
+ * Safe (non-throwing) validator. Rejects an unknown `schema` string as a
37
+ * top-level structural mismatch — `z.literal` already fails it — rather
38
+ * than accepting any string and comparing separately, so a caller cannot
39
+ * bypass the schema gate with a structurally-valid-but-wrong-version report.
40
+ */
41
+ export const validateAuditReport = (value) => {
42
+ const result = auditReportSchema.safeParse(value);
43
+ if (!result.success) {
44
+ return {
45
+ error: {
46
+ message: result.error.issues.map((issue) => `${issue.path.join(".")}: ${issue.message}`).join("; ")
47
+ }
48
+ };
49
+ }
50
+ return { report: result.data };
51
+ };
52
+ /** Throwing counterpart of `validateAuditReport`, mirroring `envelope.ts`'s `parseCausalEvent`. */
53
+ export const readAuditReport = (value) => {
54
+ const result = validateAuditReport(value);
55
+ if ("error" in result) {
56
+ throw new Error(`invalid spawnfile.audit.v1 report: ${result.error.message}`);
57
+ }
58
+ return result.report;
59
+ };