spawnfile 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/README.md +50 -11
  2. package/dist/audit/auditCli.d.ts +19 -0
  3. package/dist/audit/auditCli.js +63 -0
  4. package/dist/audit/checks.d.ts +100 -0
  5. package/dist/audit/checks.js +279 -0
  6. package/dist/audit/checksShared.d.ts +74 -0
  7. package/dist/audit/checksShared.js +37 -0
  8. package/dist/audit/generateAudit.d.ts +19 -0
  9. package/dist/audit/generateAudit.js +122 -0
  10. package/dist/audit/index.d.ts +4 -0
  11. package/dist/audit/index.js +4 -0
  12. package/dist/audit/readAudit.d.ts +50 -0
  13. package/dist/audit/readAudit.js +59 -0
  14. package/dist/audit/types.d.ts +40 -0
  15. package/dist/audit/types.js +8 -0
  16. package/dist/auth/credentialEnvFile.d.ts +11 -0
  17. package/dist/auth/credentialEnvFile.js +60 -0
  18. package/dist/auth/credentialProvisioning.d.ts +15 -0
  19. package/dist/auth/credentialProvisioning.js +75 -0
  20. package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
  21. package/dist/auth/credentialProvisioningReceipt.js +70 -0
  22. package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
  23. package/dist/auth/credentialProvisioningRequest.js +169 -0
  24. package/dist/auth/credentialWorldBindings.d.ts +21 -0
  25. package/dist/auth/credentialWorldBindings.js +104 -0
  26. package/dist/auth/index.d.ts +7 -0
  27. package/dist/auth/index.js +7 -0
  28. package/dist/auth/paths.d.ts +11 -0
  29. package/dist/auth/paths.js +21 -0
  30. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  31. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  32. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  33. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  34. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  36. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  37. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  38. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  39. package/dist/auth/targetSecretSourceGrant.js +99 -0
  40. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  42. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  43. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  44. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  46. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  48. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  50. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  51. package/dist/auth/targetSecretSourceResolver.js +137 -0
  52. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  53. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  54. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  55. package/dist/auth/targetSecretSourceRotate.js +121 -0
  56. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  58. package/dist/cli/artifactsCommands.d.ts +27 -0
  59. package/dist/cli/artifactsCommands.js +132 -0
  60. package/dist/cli/authCommands.d.ts +5 -0
  61. package/dist/cli/authCommands.js +221 -0
  62. package/dist/cli/compileBuildCommands.d.ts +3 -0
  63. package/dist/cli/compileBuildCommands.js +35 -0
  64. package/dist/cli/containerBundleCommand.d.ts +6 -0
  65. package/dist/cli/containerBundleCommand.js +116 -0
  66. package/dist/cli/downCommand.d.ts +25 -0
  67. package/dist/cli/downCommand.js +134 -0
  68. package/dist/cli/index.js +6 -3
  69. package/dist/cli/lifecycleCommands.d.ts +1 -1
  70. package/dist/cli/lifecycleCommands.js +11 -181
  71. package/dist/cli/lifecycleMachine.d.ts +19 -0
  72. package/dist/cli/lifecycleMachine.js +78 -0
  73. package/dist/cli/lifecyclePlan.d.ts +35 -0
  74. package/dist/cli/lifecyclePlan.js +240 -0
  75. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  76. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  77. package/dist/cli/runCli.d.ts +9 -2
  78. package/dist/cli/runCli.js +27 -71
  79. package/dist/cli/runPublishCommands.d.ts +3 -0
  80. package/dist/cli/runPublishCommands.js +70 -0
  81. package/dist/cli/statusCommand.d.ts +3 -33
  82. package/dist/cli/statusCommand.js +19 -249
  83. package/dist/cli/statusCommandLive.d.ts +20 -0
  84. package/dist/cli/statusCommandLive.js +188 -0
  85. package/dist/cli/statusCommandOptions.d.ts +40 -0
  86. package/dist/cli/statusCommandOptions.js +42 -0
  87. package/dist/cli/targetCliRoute.d.ts +2 -0
  88. package/dist/cli/targetCliRoute.js +30 -0
  89. package/dist/cli/targetCommands.d.ts +33 -0
  90. package/dist/cli/targetCommands.js +257 -0
  91. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  92. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  93. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  94. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  95. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  96. package/dist/cli/targetDefaultAuthorities.js +210 -0
  97. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  98. package/dist/cli/targetDefaultConfig.js +317 -0
  99. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  100. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  101. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  102. package/dist/cli/targetDefaultEnvelope.js +13 -0
  103. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  104. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  105. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  106. package/dist/cli/targetDefaultHandlers.js +72 -0
  107. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  108. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  109. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  110. package/dist/cli/targetDefaultWorldClock.js +14 -0
  111. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  112. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  113. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  114. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  115. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  116. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  117. package/dist/cli/targetLookupCli.d.ts +3 -0
  118. package/dist/cli/targetLookupCli.js +31 -0
  119. package/dist/cli/targetLookupCommands.d.ts +12 -0
  120. package/dist/cli/targetLookupCommands.js +69 -0
  121. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  122. package/dist/cli/targetOperationDispatch.js +21 -0
  123. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  124. package/dist/cli/targetReceiptOutput.js +21 -0
  125. package/dist/cli/targetRequestFile.d.ts +14 -0
  126. package/dist/cli/targetRequestFile.js +63 -0
  127. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  128. package/dist/cli/targetSecretSourceInput.js +121 -0
  129. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  130. package/dist/cli/targetWorldClockCommand.js +42 -0
  131. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  132. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  133. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  134. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  135. package/dist/cli/upCommand.d.ts +3 -0
  136. package/dist/cli/upCommand.js +133 -0
  137. package/dist/cli/upImageCommand.d.ts +11 -0
  138. package/dist/cli/upImageCommand.js +41 -0
  139. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  140. package/dist/cli/upLifecycleInvocation.js +48 -0
  141. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  142. package/dist/cli/upLifecycleRecovery.js +53 -0
  143. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  144. package/dist/compiler/agentNodeMerge.js +79 -0
  145. package/dist/compiler/agentSurfaces.js +11 -1
  146. package/dist/compiler/buildCompilePlan.js +17 -0
  147. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  148. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  149. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  150. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  151. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  152. package/dist/compiler/buildProject.d.ts +11 -0
  153. package/dist/compiler/buildProject.js +77 -2
  154. package/dist/compiler/compilePlanHelpers.js +2 -0
  155. package/dist/compiler/compileProject.d.ts +13 -0
  156. package/dist/compiler/compileProject.js +26 -74
  157. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  158. package/dist/compiler/compileProjectPolicy.js +21 -0
  159. package/dist/compiler/compileProjectReports.d.ts +9 -0
  160. package/dist/compiler/compileProjectReports.js +52 -0
  161. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  162. package/dist/compiler/containerArtifactSummaries.js +138 -0
  163. package/dist/compiler/containerArtifacts.d.ts +10 -0
  164. package/dist/compiler/containerArtifacts.js +126 -125
  165. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  166. package/dist/compiler/containerArtifactsPlans.js +31 -118
  167. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  168. package/dist/compiler/containerArtifactsRender.js +15 -12
  169. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  170. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  171. package/dist/compiler/containerConfigEnvRender.js +54 -0
  172. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  173. package/dist/compiler/containerEntrypointRender.js +56 -52
  174. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  175. package/dist/compiler/containerEntrypointShell.js +29 -0
  176. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  177. package/dist/compiler/containerPackageOverrides.js +63 -0
  178. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  179. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  180. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  181. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  182. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  183. package/dist/compiler/dockerBuildContext.js +159 -0
  184. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  185. package/dist/compiler/dockerBuildSkip.js +81 -0
  186. package/dist/compiler/index.d.ts +4 -0
  187. package/dist/compiler/index.js +4 -0
  188. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  189. package/dist/compiler/memoryArtifacts.js +134 -0
  190. package/dist/compiler/memoryResolution.d.ts +4 -0
  191. package/dist/compiler/memoryResolution.js +147 -0
  192. package/dist/compiler/modelEnv.d.ts +2 -0
  193. package/dist/compiler/modelEnv.js +6 -0
  194. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  195. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  196. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  197. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  198. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  199. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  200. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  201. package/dist/compiler/moltnetArtifacts.js +43 -97
  202. package/dist/compiler/moltnetBinaries.d.ts +21 -4
  203. package/dist/compiler/moltnetBinaries.js +134 -27
  204. package/dist/compiler/moltnetClientConfig.js +7 -2
  205. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  206. package/dist/compiler/moltnetConfigLowering.js +67 -5
  207. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  208. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  209. package/dist/compiler/moltnetNodeConfig.js +7 -2
  210. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  211. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  212. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  213. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  214. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  215. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  216. package/dist/compiler/moltnetResolution.js +72 -20
  217. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  218. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  219. package/dist/compiler/moltnetServerPlans.js +132 -0
  220. package/dist/compiler/organizationIdentity.d.ts +27 -0
  221. package/dist/compiler/organizationIdentity.js +297 -0
  222. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  223. package/dist/compiler/organizationReadyEvidence.js +261 -0
  224. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  225. package/dist/compiler/projectManifestGraph.js +24 -0
  226. package/dist/compiler/runProject.d.ts +4 -0
  227. package/dist/compiler/runProject.js +30 -21
  228. package/dist/compiler/runProjectAuth.d.ts +7 -1
  229. package/dist/compiler/runProjectAuth.js +87 -9
  230. package/dist/compiler/runProjectDocker.d.ts +7 -0
  231. package/dist/compiler/runProjectDocker.js +31 -8
  232. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  233. package/dist/compiler/runProjectLifecycle.js +40 -0
  234. package/dist/compiler/syncProjectAuth.js +4 -1
  235. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  236. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  237. package/dist/compiler/teamContextSupport.js +32 -40
  238. package/dist/compiler/teamContextTypes.d.ts +2 -0
  239. package/dist/compiler/types.d.ts +82 -1
  240. package/dist/compiler/upProject.d.ts +5 -0
  241. package/dist/compiler/upProject.js +256 -20
  242. package/dist/compiler/upReceipt.d.ts +36 -0
  243. package/dist/compiler/upReceipt.js +82 -0
  244. package/dist/compiler/updateProjectModels.js +42 -60
  245. package/dist/compiler/updateProjectRuntime.js +22 -35
  246. package/dist/compiler/updateProjectSurfaces.js +53 -47
  247. package/dist/compiler/worldBindings.d.ts +39 -0
  248. package/dist/compiler/worldBindings.js +247 -0
  249. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  250. package/dist/compiler/worldBindingsFile.js +162 -0
  251. package/dist/deployment/artifactsExport.d.ts +49 -0
  252. package/dist/deployment/artifactsExport.js +217 -0
  253. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  254. package/dist/deployment/artifactsExportDocker.js +91 -0
  255. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  256. package/dist/deployment/artifactsExportPlan.js +135 -0
  257. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  258. package/dist/deployment/artifactsExportTypes.js +52 -0
  259. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  260. package/dist/deployment/buildImageCacheStore.js +54 -0
  261. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  262. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  263. package/dist/deployment/dockerInspect.d.ts +9 -0
  264. package/dist/deployment/dockerInspect.js +24 -1
  265. package/dist/deployment/dockerLabels.d.ts +2 -0
  266. package/dist/deployment/dockerLabels.js +2 -0
  267. package/dist/deployment/dockerLogs.js +2 -10
  268. package/dist/deployment/dockerManager.d.ts +51 -0
  269. package/dist/deployment/dockerManager.js +118 -1
  270. package/dist/deployment/dockerProbeGateway.js +64 -5
  271. package/dist/deployment/dockerRecover.js +9 -1
  272. package/dist/deployment/dockerTeardown.d.ts +32 -0
  273. package/dist/deployment/dockerTeardown.js +61 -0
  274. package/dist/deployment/downDeployment.d.ts +34 -0
  275. package/dist/deployment/downDeployment.js +147 -0
  276. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  277. package/dist/deployment/downReceiptTypes.js +30 -0
  278. package/dist/deployment/index.d.ts +16 -0
  279. package/dist/deployment/index.js +17 -0
  280. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  281. package/dist/deployment/lifecycleCompletion.js +236 -0
  282. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  283. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  284. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  285. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  286. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  287. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  288. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  289. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  290. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  291. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  292. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  293. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  294. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  295. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  296. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  297. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  298. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  299. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  300. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  301. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  302. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  303. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  304. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  305. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  306. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  307. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  308. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  309. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  310. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  311. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  312. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  313. package/dist/deployment/organizationHandoffTypes.js +80 -0
  314. package/dist/deployment/organizationReady.d.ts +52 -0
  315. package/dist/deployment/organizationReady.js +200 -0
  316. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  317. package/dist/deployment/privateArtifactsExport.js +80 -0
  318. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  319. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  320. package/dist/deployment/record.d.ts +26 -1
  321. package/dist/deployment/record.js +49 -4
  322. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  323. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  324. package/dist/deployment/target.d.ts +1 -35
  325. package/dist/deployment/target.js +1 -96
  326. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  327. package/dist/deployment/upReceiptTypes.js +164 -0
  328. package/dist/dev/project.js +15 -9
  329. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  330. package/dist/distribution/buildDistributionReport.js +2 -1
  331. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  332. package/dist/distribution/distributionReportSchema.js +7 -2
  333. package/dist/distribution/index.d.ts +2 -2
  334. package/dist/distribution/index.js +1 -1
  335. package/dist/distribution/types.d.ts +7 -0
  336. package/dist/distribution/types.js +1 -0
  337. package/dist/filesystem/paths.js +10 -1
  338. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  339. package/dist/ledger/causalConformanceCli.js +41 -0
  340. package/dist/ledger/causeNamespace.d.ts +8 -0
  341. package/dist/ledger/causeNamespace.js +24 -0
  342. package/dist/ledger/conformance.d.ts +83 -0
  343. package/dist/ledger/conformance.js +259 -0
  344. package/dist/ledger/emitters.d.ts +76 -0
  345. package/dist/ledger/emitters.js +188 -0
  346. package/dist/ledger/index.d.ts +4 -0
  347. package/dist/ledger/index.js +4 -0
  348. package/dist/ledger/principal.d.ts +96 -0
  349. package/dist/ledger/principal.js +121 -0
  350. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  351. package/dist/manifest/externalParticipantSchemas.js +17 -0
  352. package/dist/manifest/index.d.ts +1 -0
  353. package/dist/manifest/index.js +1 -0
  354. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  355. package/dist/manifest/inlineAgentMember.js +9 -0
  356. package/dist/manifest/loadManifest.js +14 -8
  357. package/dist/manifest/mcpSchemas.d.ts +17 -0
  358. package/dist/manifest/mcpSchemas.js +41 -0
  359. package/dist/manifest/memorySchemas.d.ts +245 -0
  360. package/dist/manifest/memorySchemas.js +148 -0
  361. package/dist/manifest/renderSpawnfile.js +22 -131
  362. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  363. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  364. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  365. package/dist/manifest/schemas.d.ts +1868 -99
  366. package/dist/manifest/schemas.js +78 -32
  367. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  368. package/dist/manifest/surfaceSchemas.js +24 -1
  369. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  370. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  371. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  372. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  373. package/dist/manifest/teamNetworkSchemas.js +3 -317
  374. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  375. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  376. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  377. package/dist/ownership/siblingBuildFreshness.js +20 -0
  378. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  379. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  380. package/dist/report/types.d.ts +142 -0
  381. package/dist/runtime/common.d.ts +35 -0
  382. package/dist/runtime/common.js +55 -0
  383. package/dist/runtime/container.d.ts +28 -1
  384. package/dist/runtime/container.js +38 -5
  385. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  386. package/dist/runtime/containerPackageOverrides.js +33 -0
  387. package/dist/runtime/index.d.ts +2 -0
  388. package/dist/runtime/index.js +2 -0
  389. package/dist/runtime/mnemeMcp.d.ts +15 -0
  390. package/dist/runtime/mnemeMcp.js +109 -0
  391. package/dist/runtime/openclaw/adapter.js +15 -4
  392. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  393. package/dist/runtime/openclaw/mcp.js +69 -0
  394. package/dist/runtime/openclaw/runAuth.js +2 -2
  395. package/dist/runtime/openclaw/scaffold.js +1 -1
  396. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  397. package/dist/runtime/openclaw/schedules.js +74 -0
  398. package/dist/runtime/pi/adapter.d.ts +1 -1
  399. package/dist/runtime/pi/adapter.js +86 -53
  400. package/dist/runtime/pi/appActivitySource.js +114 -2
  401. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  402. package/dist/runtime/pi/appAgentConfig.js +264 -0
  403. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  404. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  405. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  406. package/dist/runtime/pi/appCliSource.js +353 -0
  407. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  408. package/dist/runtime/pi/appControlSource.js +390 -0
  409. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  410. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  411. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  412. package/dist/runtime/pi/appCoreSource.js +104 -214
  413. package/dist/runtime/pi/appPreludeSource.js +140 -52
  414. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  415. package/dist/runtime/pi/appScheduleSource.js +80 -0
  416. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  417. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  418. package/dist/runtime/pi/appSource.d.ts +4 -1
  419. package/dist/runtime/pi/appSource.js +6 -2
  420. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  421. package/dist/runtime/pi/appTemplate.js +9 -126
  422. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  423. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  424. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  425. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  426. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  427. package/dist/runtime/pi/containerTargets.js +57 -0
  428. package/dist/runtime/pi/runAuth.js +126 -9
  429. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  430. package/dist/runtime/pi/testHelpers.js +40 -0
  431. package/dist/runtime/picoclaw/adapter.js +23 -27
  432. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  433. package/dist/runtime/picoclaw/mcp.js +43 -0
  434. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  435. package/dist/runtime/picoclaw/memory.js +17 -0
  436. package/dist/runtime/picoclaw/runAuth.js +1 -1
  437. package/dist/runtime/picoclaw/scaffold.js +1 -1
  438. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  439. package/dist/runtime/picoclaw/schedules.js +62 -3
  440. package/dist/runtime/scheduleUtils.d.ts +2 -0
  441. package/dist/runtime/scheduleUtils.js +15 -0
  442. package/dist/runtime/types.d.ts +25 -2
  443. package/dist/shared/errors.d.ts +1 -1
  444. package/dist/shared/errors.js +2 -2
  445. package/dist/shared/index.d.ts +1 -0
  446. package/dist/shared/index.js +1 -0
  447. package/dist/shared/redaction.d.ts +2 -0
  448. package/dist/shared/redaction.js +10 -0
  449. package/dist/status/buildStatus.d.ts +1 -0
  450. package/dist/status/buildStatus.js +2 -0
  451. package/dist/status/compileReport.d.ts +22 -0
  452. package/dist/status/compileReport.js +16 -2
  453. package/dist/status/compiledProbeCollection.d.ts +21 -0
  454. package/dist/status/compiledProbeCollection.js +27 -0
  455. package/dist/status/imageStatusReport.js +6 -0
  456. package/dist/status/index.d.ts +3 -0
  457. package/dist/status/index.js +3 -0
  458. package/dist/status/lifecycleProbes.d.ts +19 -0
  459. package/dist/status/lifecycleProbes.js +174 -0
  460. package/dist/status/moltnetProbes.d.ts +7 -8
  461. package/dist/status/moltnetProbes.js +27 -198
  462. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  463. package/dist/status/moltnetWiringProbes.js +178 -0
  464. package/dist/target/cleanupRun.d.ts +41 -0
  465. package/dist/target/cleanupRun.js +139 -0
  466. package/dist/target/cleanupRunDocker.d.ts +16 -0
  467. package/dist/target/cleanupRunDocker.js +66 -0
  468. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  469. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  470. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  471. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  472. package/dist/target/composedPreparation.d.ts +205 -0
  473. package/dist/target/composedPreparation.js +223 -0
  474. package/dist/target/containerBundle.d.ts +82 -0
  475. package/dist/target/containerBundle.js +243 -0
  476. package/dist/target/containerBundleArchive.d.ts +31 -0
  477. package/dist/target/containerBundleArchive.js +140 -0
  478. package/dist/target/containerBundleAuthority.d.ts +25 -0
  479. package/dist/target/containerBundleAuthority.js +65 -0
  480. package/dist/target/containerBundleContracts.d.ts +114 -0
  481. package/dist/target/containerBundleContracts.js +173 -0
  482. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  483. package/dist/target/containerBundleFilesystemStore.js +247 -0
  484. package/dist/target/containerBundlePolicy.d.ts +33 -0
  485. package/dist/target/containerBundlePolicy.js +64 -0
  486. package/dist/target/containerBundleStore.d.ts +127 -0
  487. package/dist/target/containerBundleStore.js +284 -0
  488. package/dist/target/contracts.d.ts +538 -0
  489. package/dist/target/contracts.js +373 -0
  490. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  491. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  492. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  493. package/dist/target/dockerArtifactInspection.js +125 -0
  494. package/dist/target/dockerArtifacts.d.ts +21 -0
  495. package/dist/target/dockerArtifacts.js +110 -0
  496. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  497. package/dist/target/dockerArtifactsProvider.js +449 -0
  498. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  499. package/dist/target/dockerCommandExecutor.js +200 -0
  500. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  501. package/dist/target/dockerCommandExecutorCore.js +273 -0
  502. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  503. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  504. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  505. package/dist/target/dockerContextSnapshot.js +158 -0
  506. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  507. package/dist/target/dockerEndpointFingerprint.js +9 -0
  508. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  509. package/dist/target/dockerPreparedArtifact.js +131 -0
  510. package/dist/target/dockerProjectionJson.d.ts +1 -0
  511. package/dist/target/dockerProjectionJson.js +80 -0
  512. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  513. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  514. package/dist/target/dockerResources.d.ts +26 -0
  515. package/dist/target/dockerResources.js +162 -0
  516. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  517. package/dist/target/dockerResourcesProvider.js +207 -0
  518. package/dist/target/dockerSecrets.d.ts +39 -0
  519. package/dist/target/dockerSecrets.js +249 -0
  520. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  521. package/dist/target/dockerSecretsAuthority.js +216 -0
  522. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  523. package/dist/target/dockerSecretsLifecycle.js +133 -0
  524. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  525. package/dist/target/dockerSecretsProvider.js +329 -0
  526. package/dist/target/dockerTarget.d.ts +52 -0
  527. package/dist/target/dockerTarget.js +48 -0
  528. package/dist/target/dockerTargetBinding.d.ts +14 -0
  529. package/dist/target/dockerTargetBinding.js +96 -0
  530. package/dist/target/dockerWorldClock.d.ts +17 -0
  531. package/dist/target/dockerWorldClock.js +111 -0
  532. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  533. package/dist/target/dockerWorldReadiness.js +119 -0
  534. package/dist/target/dockerWorldService.d.ts +23 -0
  535. package/dist/target/dockerWorldService.js +216 -0
  536. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  537. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  538. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  539. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  540. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  541. package/dist/target/dockerWorldServiceProvider.js +318 -0
  542. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  543. package/dist/target/dockerWorldServiceStore.js +367 -0
  544. package/dist/target/evidenceExport.d.ts +55 -0
  545. package/dist/target/evidenceExport.js +518 -0
  546. package/dist/target/evidenceExportArchive.d.ts +10 -0
  547. package/dist/target/evidenceExportArchive.js +302 -0
  548. package/dist/target/evidenceExportContract.d.ts +27 -0
  549. package/dist/target/evidenceExportContract.js +40 -0
  550. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  551. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  552. package/dist/target/evidenceExportProvider.d.ts +85 -0
  553. package/dist/target/evidenceExportProvider.js +187 -0
  554. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  555. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  556. package/dist/target/evidenceExportStore.d.ts +70 -0
  557. package/dist/target/evidenceExportStore.js +498 -0
  558. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  559. package/dist/target/evidenceExportStorePublication.js +395 -0
  560. package/dist/target/handles.d.ts +20 -0
  561. package/dist/target/handles.js +56 -0
  562. package/dist/target/index.d.ts +12 -0
  563. package/dist/target/index.js +11 -0
  564. package/dist/target/journal.d.ts +59 -0
  565. package/dist/target/journal.js +529 -0
  566. package/dist/target/journalFilesystem.d.ts +3 -0
  567. package/dist/target/journalFilesystem.js +111 -0
  568. package/dist/target/journalRoot.d.ts +4 -0
  569. package/dist/target/journalRoot.js +6 -0
  570. package/dist/target/organizationAttachment.d.ts +23 -0
  571. package/dist/target/organizationAttachment.js +263 -0
  572. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  573. package/dist/target/organizationAttachmentAuthority.js +161 -0
  574. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  575. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  576. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  577. package/dist/target/organizationAttachmentProvider.js +289 -0
  578. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  579. package/dist/target/organizationAttachmentStore.js +316 -0
  580. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  581. package/dist/target/publicArtifactSnapshot.js +150 -0
  582. package/dist/target/topologyActivation.d.ts +51 -0
  583. package/dist/target/topologyActivation.js +149 -0
  584. package/dist/target/topologyAttestation.d.ts +37 -0
  585. package/dist/target/topologyAttestation.js +300 -0
  586. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  587. package/dist/target/topologyAttestationErrors.js +1 -0
  588. package/dist/target/worldClock.d.ts +60 -0
  589. package/dist/target/worldClock.js +129 -0
  590. package/dist/target/worldReadiness.d.ts +103 -0
  591. package/dist/target/worldReadiness.js +153 -0
  592. package/moltnet-releases.json +20 -0
  593. package/package.json +27 -11
  594. package/runtimes.yaml +8 -23
  595. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  596. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  597. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  598. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,33 @@
1
+ import type { Command } from "commander";
2
+ import { type TargetPublicArtifactSnapshot, type TargetPublicArtifactSnapshotRequest } from "../target/publicArtifactSnapshot.js";
3
+ import { type TargetTopologyActivationResult } from "../target/topologyActivation.js";
4
+ import { type SelectedTargetReceipt, type TargetResourceRequest, type TargetTopologyAttestationRequest } from "../target/contracts.js";
5
+ import { type TargetOperation } from "./targetOperationDispatch.js";
6
+ import { type TargetMutationResult } from "./targetReceiptOutput.js";
7
+ import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
8
+ import { type TargetOperationLookupLoader } from "./targetLookupCommands.js";
9
+ import type { TargetTopologyAttestationResult } from "../target/topologyAttestation.js";
10
+ import { type TargetWorldClockSession } from "./targetWorldClockCommand.js";
11
+ import { type TargetWorldReadinessSession } from "./targetWorldReadinessCommand.js";
12
+ type RequestFor<Operation extends TargetOperation> = Extract<TargetResourceRequest, {
13
+ operation: Operation;
14
+ }>;
15
+ export type TargetCommandHandlers = {
16
+ [Operation in TargetOperation]: (request: RequestFor<Operation>) => Promise<Operation extends "select_target" ? SelectedTargetReceipt : TargetMutationResult>;
17
+ };
18
+ export type TargetCommandSessionLoader = (configInput: unknown) => Promise<TargetCommandHandlerSession>;
19
+ export interface TargetCommandHandlerSession extends TargetWorldReadinessSession, TargetWorldClockSession {
20
+ run<Result>(invoke: (handlers: TargetCommandHandlers) => Promise<Result>): Promise<Result>;
21
+ activateTopology?(request: TargetTopologyAttestationRequest): Promise<TargetTopologyActivationResult>;
22
+ attestTopology?(request: TargetTopologyAttestationRequest): Promise<TargetTopologyAttestationResult>;
23
+ snapshotPublicArtifact?(request: TargetPublicArtifactSnapshotRequest): Promise<TargetPublicArtifactSnapshot>;
24
+ }
25
+ export interface TargetCommandStreams {
26
+ stderr(message: string): void;
27
+ stdout(message: string): void;
28
+ }
29
+ type SetTargetCommandExitCode = (exitCode: 1 | 2) => void;
30
+ export declare const registerTargetCommands: (program: Command, session: TargetCommandHandlerSession | TargetCommandSessionLoader, streams: TargetCommandStreams, setExitCode: SetTargetCommandExitCode, lookupLoader?: TargetOperationLookupLoader, worldReadinessSession?: (configInput: unknown) => Promise<TargetWorldReadinessSession & TargetWorldClockSession>) => Command;
31
+ export declare const createProductionTargetCommandSession: (config: TargetDefaultConfig) => TargetCommandHandlerSession;
32
+ export declare const registerProductionTargetCommands: (program: Command, streams: TargetCommandStreams, stdin: AsyncIterable<unknown>, setExitCode: SetTargetCommandExitCode) => void;
33
+ export {};
@@ -0,0 +1,257 @@
1
+ import { createCanonicalTargetTopologyReceiptBytes, createCanonicalSelectedTargetReceiptBytes, createTargetTopologyReceiptDigest } from "../target/handles.js";
2
+ import { createCanonicalTargetPublicArtifactSnapshotBytes } from "../target/publicArtifactSnapshot.js";
3
+ import { createCanonicalTargetTopologyActivationReceiptBytes, createTargetTopologyActivationReceiptDigest, parseTargetTopologyActivationReceipt } from "../target/topologyActivation.js";
4
+ import { parseSelectedTargetReceipt, parseTargetTopologyReceipt } from "../target/contracts.js";
5
+ import { TARGET_OPERATION_DISPATCH } from "./targetOperationDispatch.js";
6
+ import { emitCanonicalTargetMutationReceipt, formatCaughtTargetCliError, formatTargetCliError } from "./targetReceiptOutput.js";
7
+ import { readTargetRequestFile, readTargetPublicArtifactSnapshotRequestFile, readTargetTopologyAttestationRequestFile } from "./targetRequestFile.js";
8
+ import { readTargetDefaultConfigStdin, readTargetWorldReadinessConfigStdin } from "./targetDefaultConfigStdin.js";
9
+ import { createProductionTargetLookupLoader, registerTargetOperationLookup } from "./targetLookupCommands.js";
10
+ import { registerContainerBundleCommand } from "./containerBundleCommand.js";
11
+ import { registerTargetWorldClockCommand } from "./targetWorldClockCommand.js";
12
+ import { registerTargetWorldReadinessCommand, } from "./targetWorldReadinessCommand.js";
13
+ import { registerTargetComposedPreparationCommand } from "./targetComposedPreparationCommand.js";
14
+ import { createProductionTargetWorldQuerySession } from "./targetDefaultWorldQueries.js";
15
+ const operations = Object.keys(TARGET_OPERATION_DISPATCH);
16
+ const invoke = async (handlers, request) => {
17
+ const handler = handlers[request.operation];
18
+ return handler(request);
19
+ };
20
+ const emitSelection = (raw, streams) => {
21
+ const receipt = parseSelectedTargetReceipt(raw);
22
+ streams.stdout(createCanonicalSelectedTargetReceiptBytes(receipt));
23
+ };
24
+ const registerOperation = (target, operation, session, streams, setExitCode) => {
25
+ target.command(operation)
26
+ .description(`Execute the ${operation} target operation`)
27
+ .argument("<request-file>", "Strict target-resource request JSON file")
28
+ .action(async (requestFile) => {
29
+ let request;
30
+ try {
31
+ request = await readTargetRequestFile(requestFile);
32
+ if (request.operation !== operation)
33
+ throw new TypeError("operation mismatch");
34
+ }
35
+ catch {
36
+ streams.stderr(formatTargetCliError("request"));
37
+ setExitCode(2);
38
+ return;
39
+ }
40
+ let activeSession;
41
+ try {
42
+ activeSession = typeof session === "function"
43
+ ? await session(target.opts().config)
44
+ : session;
45
+ }
46
+ catch {
47
+ streams.stderr("error: Invalid target configuration");
48
+ setExitCode(2);
49
+ return;
50
+ }
51
+ try {
52
+ const result = await activeSession.run((handlers) => invoke(handlers, request));
53
+ if (operation === "select_target") {
54
+ emitSelection(result, streams);
55
+ }
56
+ else {
57
+ emitCanonicalTargetMutationReceipt(result, streams.stdout);
58
+ }
59
+ }
60
+ catch (error) {
61
+ streams.stderr(formatCaughtTargetCliError(error, "Target operation crashed"));
62
+ setExitCode(1);
63
+ }
64
+ });
65
+ };
66
+ const emitTopologyReceipt = (raw, streams) => {
67
+ const receipt = parseTargetTopologyReceipt(raw.receipt);
68
+ const bytes = createCanonicalTargetTopologyReceiptBytes(receipt);
69
+ if (typeof raw.receiptBytes !== "string" || raw.receiptBytes !== bytes
70
+ || receipt.receipt_digest !== createTargetTopologyReceiptDigest(receipt)) {
71
+ throw new TypeError("Target attestation returned a non-canonical receipt");
72
+ }
73
+ streams.stdout(bytes);
74
+ };
75
+ const emitTopologyActivationReceipt = (raw, streams) => {
76
+ const receipt = parseTargetTopologyActivationReceipt(raw.receipt);
77
+ const bytes = createCanonicalTargetTopologyActivationReceiptBytes(receipt);
78
+ if (typeof raw.receiptBytes !== "string" || raw.receiptBytes !== bytes
79
+ || receipt.receipt_digest !== createTargetTopologyActivationReceiptDigest(receipt)) {
80
+ throw new TypeError("Target activation returned a non-canonical receipt");
81
+ }
82
+ streams.stdout(bytes);
83
+ };
84
+ const registerTopologyActivation = (target, session, streams, setExitCode) => {
85
+ target.command("activate_topology")
86
+ .description("Release one exact attested target topology")
87
+ .argument("<request-file>", "Strict target topology-attestation request JSON file")
88
+ .action(async (requestFile) => {
89
+ let request;
90
+ try {
91
+ request = await readTargetTopologyAttestationRequestFile(requestFile);
92
+ }
93
+ catch {
94
+ streams.stderr("error: Invalid target activation request");
95
+ setExitCode(2);
96
+ return;
97
+ }
98
+ let activeSession;
99
+ try {
100
+ activeSession = typeof session === "function"
101
+ ? await session(target.opts().config)
102
+ : session;
103
+ if (typeof activeSession.activateTopology !== "function")
104
+ throw new TypeError();
105
+ }
106
+ catch {
107
+ streams.stderr("error: Invalid target configuration");
108
+ setExitCode(2);
109
+ return;
110
+ }
111
+ try {
112
+ emitTopologyActivationReceipt(await activeSession.activateTopology(request), streams);
113
+ }
114
+ catch (error) {
115
+ streams.stderr(formatCaughtTargetCliError(error, "Target topology activation crashed"));
116
+ setExitCode(1);
117
+ }
118
+ });
119
+ };
120
+ const registerTopologyAttestation = (target, session, streams, setExitCode) => {
121
+ target.command("attest_topology")
122
+ .description("Attest one exact composed target topology")
123
+ .argument("<request-file>", "Strict target topology-attestation request JSON file")
124
+ .action(async (requestFile) => {
125
+ let request;
126
+ try {
127
+ request = await readTargetTopologyAttestationRequestFile(requestFile);
128
+ }
129
+ catch {
130
+ streams.stderr("error: Invalid target attestation request");
131
+ setExitCode(2);
132
+ return;
133
+ }
134
+ let activeSession;
135
+ try {
136
+ activeSession = typeof session === "function"
137
+ ? await session(target.opts().config)
138
+ : session;
139
+ if (typeof activeSession.attestTopology !== "function")
140
+ throw new TypeError();
141
+ }
142
+ catch {
143
+ streams.stderr("error: Invalid target configuration");
144
+ setExitCode(2);
145
+ return;
146
+ }
147
+ try {
148
+ emitTopologyReceipt(await activeSession.attestTopology(request), streams);
149
+ }
150
+ catch (error) {
151
+ streams.stderr(formatCaughtTargetCliError(error, "Target topology attestation crashed"));
152
+ setExitCode(1);
153
+ }
154
+ });
155
+ };
156
+ const registerPublicArtifactSnapshot = (target, session, streams, setExitCode) => {
157
+ target.command("snapshot_public_artifact")
158
+ .description("Read one exact bounded public artifact from a world service")
159
+ .argument("<request-file>", "Strict public artifact snapshot request JSON file")
160
+ .action(async (requestFile) => {
161
+ let request;
162
+ try {
163
+ request = await readTargetPublicArtifactSnapshotRequestFile(requestFile);
164
+ }
165
+ catch {
166
+ streams.stderr("error: Invalid public artifact snapshot request");
167
+ setExitCode(2);
168
+ return;
169
+ }
170
+ let activeSession;
171
+ try {
172
+ activeSession = typeof session === "function"
173
+ ? await session(target.opts().config)
174
+ : session;
175
+ if (typeof activeSession.snapshotPublicArtifact !== "function")
176
+ throw new TypeError();
177
+ }
178
+ catch {
179
+ streams.stderr("error: Invalid target configuration");
180
+ setExitCode(2);
181
+ return;
182
+ }
183
+ try {
184
+ streams.stdout(createCanonicalTargetPublicArtifactSnapshotBytes(await activeSession.snapshotPublicArtifact(request)));
185
+ }
186
+ catch (error) {
187
+ streams.stderr(formatCaughtTargetCliError(error, "Target public artifact snapshot crashed"));
188
+ setExitCode(1);
189
+ }
190
+ });
191
+ };
192
+ export const registerTargetCommands = (program, session, streams, setExitCode, lookupLoader, worldReadinessSession) => {
193
+ const target = program.command("target").description("Execute target-resource operations");
194
+ if (typeof session === "function") {
195
+ target.requiredOption("--config <config-input>", "Strict target configuration JSON stdin; use -");
196
+ }
197
+ for (const operation of operations) {
198
+ registerOperation(target, operation, session, streams, setExitCode);
199
+ }
200
+ registerTargetComposedPreparationCommand(target, session, streams, setExitCode);
201
+ if (typeof session === "function" || typeof session.attestTopology === "function") {
202
+ registerTopologyAttestation(target, session, streams, setExitCode);
203
+ }
204
+ if (typeof session === "function" || typeof session.snapshotPublicArtifact === "function") {
205
+ registerPublicArtifactSnapshot(target, session, streams, setExitCode);
206
+ }
207
+ if (typeof session === "function" || typeof session.queryWorldReadiness === "function") {
208
+ registerTargetWorldReadinessCommand(target, worldReadinessSession ?? session, streams, setExitCode);
209
+ }
210
+ if (typeof session === "function" || typeof session.queryWorldClock === "function") {
211
+ registerTargetWorldClockCommand(target, worldReadinessSession ?? session, streams, setExitCode);
212
+ }
213
+ if (typeof session === "function" || typeof session.activateTopology === "function") {
214
+ registerTopologyActivation(target, session, streams, setExitCode);
215
+ }
216
+ if (lookupLoader)
217
+ registerTargetOperationLookup(target, lookupLoader, streams, setExitCode);
218
+ return target;
219
+ };
220
+ export const createProductionTargetCommandSession = (config) => Object.freeze({
221
+ activateTopology: async (request) => {
222
+ const { activateTargetDefaultTopology } = await import("./targetDefaultHandlers.js");
223
+ return activateTargetDefaultTopology(config, request);
224
+ },
225
+ run: async (invokeHandlers) => {
226
+ const { withTargetDefaultHandlerSession } = await import("./targetDefaultHandlers.js");
227
+ return withTargetDefaultHandlerSession(config, invokeHandlers);
228
+ },
229
+ attestTopology: async (request) => {
230
+ const { attestTargetDefaultTopology } = await import("./targetDefaultHandlers.js");
231
+ return attestTargetDefaultTopology(config, request);
232
+ },
233
+ queryWorldReadiness: async (request) => {
234
+ const { queryTargetDefaultWorldReadiness } = await import("./targetDefaultWorldReadiness.js");
235
+ return queryTargetDefaultWorldReadiness(config, request);
236
+ },
237
+ queryWorldClock: async (request) => {
238
+ const { queryTargetDefaultWorldClock } = await import("./targetDefaultWorldClock.js");
239
+ return queryTargetDefaultWorldClock(config, request);
240
+ },
241
+ snapshotPublicArtifact: async (request) => {
242
+ const { snapshotTargetDefaultPublicArtifact } = await import("./targetDefaultHandlers.js");
243
+ return snapshotTargetDefaultPublicArtifact(config, request);
244
+ }
245
+ });
246
+ export const registerProductionTargetCommands = (program, streams, stdin, setExitCode) => {
247
+ const target = registerTargetCommands(program, async (configInput) => {
248
+ if (configInput !== "-")
249
+ throw new TypeError("Invalid target configuration");
250
+ return createProductionTargetCommandSession(await readTargetDefaultConfigStdin(stdin));
251
+ }, streams, setExitCode, createProductionTargetLookupLoader(stdin), async (configInput) => {
252
+ if (configInput !== "-")
253
+ throw new TypeError("Invalid target configuration");
254
+ return createProductionTargetWorldQuerySession(await readTargetWorldReadinessConfigStdin(stdin));
255
+ });
256
+ registerContainerBundleCommand(target, stdin, streams, setExitCode);
257
+ };
@@ -0,0 +1,6 @@
1
+ import type { Command } from "commander";
2
+ import type { TargetCommandHandlerSession, TargetCommandSessionLoader, TargetCommandStreams } from "./targetCommands.js";
3
+ type SetExitCode = (exitCode: 1 | 2) => void;
4
+ /** Registers the sole aggregate preparation path consumed by Simfile. */
5
+ export declare const registerTargetComposedPreparationCommand: (target: Command, session: TargetCommandHandlerSession | TargetCommandSessionLoader, streams: TargetCommandStreams, setExitCode: SetExitCode) => void;
6
+ export {};
@@ -0,0 +1,39 @@
1
+ import { createCanonicalComposedPreparationReceiptBytes, prepareComposedRun, } from "../target/composedPreparation.js";
2
+ import { formatCaughtTargetCliError } from "./targetReceiptOutput.js";
3
+ import { readComposedPreparationRequestFile } from "./targetRequestFile.js";
4
+ /** Registers the sole aggregate preparation path consumed by Simfile. */
5
+ export const registerTargetComposedPreparationCommand = (target, session, streams, setExitCode) => {
6
+ target.command("prepare_composed_run")
7
+ .description("Prepare one immutable composed-run target resource set")
8
+ .argument("<request-file>", "Strict composed-preparation request JSON file")
9
+ .action(async (requestFile) => {
10
+ let request;
11
+ try {
12
+ request = await readComposedPreparationRequestFile(requestFile);
13
+ }
14
+ catch {
15
+ streams.stderr("error: Invalid composed preparation request");
16
+ setExitCode(2);
17
+ return;
18
+ }
19
+ let activeSession;
20
+ try {
21
+ activeSession = typeof session === "function"
22
+ ? await session(target.opts().config)
23
+ : session;
24
+ }
25
+ catch {
26
+ streams.stderr("error: Invalid target configuration");
27
+ setExitCode(2);
28
+ return;
29
+ }
30
+ try {
31
+ const receipt = await activeSession.run((handlers) => prepareComposedRun(handlers, request));
32
+ streams.stdout(createCanonicalComposedPreparationReceiptBytes(receipt));
33
+ }
34
+ catch (error) {
35
+ streams.stderr(formatCaughtTargetCliError(error, "Composed preparation crashed"));
36
+ setExitCode(1);
37
+ }
38
+ });
39
+ };
@@ -0,0 +1,5 @@
1
+ import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
2
+ import type { DockerArtifactIdentityBinding, DockerArtifactIdentityStore, DockerArtifactMapping } from "../target/dockerArtifactsProvider.js";
3
+ import type { TargetJournalStore } from "../target/journal.js";
4
+ export declare const completedTargetArtifacts: (journal: TargetJournalStore, identities: DockerArtifactIdentityStore) => Promise<readonly DockerArtifactIdentityBinding[]>;
5
+ export declare const exactTargetArtifactMapping: (config: TargetDefaultConfig, binding: DockerArtifactIdentityBinding) => DockerArtifactMapping;
@@ -0,0 +1,28 @@
1
+ const fail = () => { throw new Error("Target authority initialization failed"); };
2
+ export const completedTargetArtifacts = async (journal, identities) => {
3
+ const snapshot = await journal.read();
4
+ const bindings = [];
5
+ for (const entry of snapshot.entries) {
6
+ if (entry.operation !== "resolve_world_artifact" || entry.state !== "completed")
7
+ continue;
8
+ const completed = await journal.resolveCompletedReceipt({ operationHandle: entry.operation_handle, requestDigest: entry.request_digest });
9
+ if (!completed || completed.receipt.operation !== "resolve_world_artifact" || completed.receipt.operation_handle !== entry.operation_handle
10
+ || completed.receipt.request_digest !== entry.request_digest || completed.receipt.result_handle === null)
11
+ return fail();
12
+ const binding = await identities.resolveOperation(entry.operation_handle, entry.request_digest);
13
+ if (!binding || binding.operationHandle !== entry.operation_handle || binding.requestDigest !== entry.request_digest
14
+ || binding.resultHandle !== completed.receipt.result_handle || binding.selectedTargetHandle !== snapshot.selected_target.handle)
15
+ return fail();
16
+ bindings.push(binding);
17
+ }
18
+ return Object.freeze(bindings);
19
+ };
20
+ export const exactTargetArtifactMapping = (config, binding) => {
21
+ if (binding.identityKind !== "oci_image_manifest")
22
+ return fail();
23
+ const matches = config.artifactMappings.filter((mapping) => mapping.artifact_manifest_digest === binding.artifactManifestDigest
24
+ && mapping.image_digest === binding.imageDigest && mapping.image_reference === binding.imageReference);
25
+ if (matches.length !== 1)
26
+ return fail();
27
+ return matches[0];
28
+ };
@@ -0,0 +1,53 @@
1
+ import { type DockerArtifactIdentityBinding, type DockerArtifactIdentityStore, type DockerArtifactMapping } from "../target/dockerArtifactsProvider.js";
2
+ import { type DockerTargetExecutors } from "../target/dockerCommandExecutor.js";
3
+ import { type TargetSecretVersionAuthorityStore } from "../target/dockerSecretsAuthority.js";
4
+ import { type WorldServiceResolver } from "../target/dockerWorldServiceAuthority.js";
5
+ import { type WorldServiceAuthorityStore } from "../target/dockerWorldServiceStore.js";
6
+ import { type EvidenceExportAuthorityStore } from "../target/evidenceExportStore.js";
7
+ import { type OrganizationAttachmentAuthorityStore } from "../target/organizationAttachmentStore.js";
8
+ import { type TargetTopologyAttestor } from "../target/topologyAttestation.js";
9
+ import type { TargetSecretSourceResolver } from "../target/dockerSecrets.js";
10
+ import type { OrganizationAttachmentResolver } from "../target/organizationAttachmentAuthority.js";
11
+ import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
12
+ import { type TargetJournalResolver } from "./targetDefaultJournalAuthority.js";
13
+ export { TARGET_DEFAULT_AUTHORITIES_ERROR, type TargetJournalResolver, type TargetMutationAuthority } from "./targetDefaultJournalAuthority.js";
14
+ export interface HelperArtifactAuthority {
15
+ readonly artifactIdentity: DockerArtifactIdentityBinding;
16
+ readonly bundle: {
17
+ readonly operation_handle: DockerArtifactIdentityBinding["operationHandle"];
18
+ readonly request_digest: string;
19
+ readonly result_handle: DockerArtifactIdentityBinding["resultHandle"];
20
+ };
21
+ readonly mapping: DockerArtifactMapping;
22
+ }
23
+ export interface HelperArtifactResolver {
24
+ resolve(input: {
25
+ readonly context: unknown;
26
+ readonly request: unknown;
27
+ }): Promise<HelperArtifactAuthority>;
28
+ }
29
+ export interface TargetDefaultAuthorities {
30
+ readonly artifactIdentityStore: DockerArtifactIdentityStore;
31
+ readonly attachmentAuthorityStore: OrganizationAttachmentAuthorityStore;
32
+ readonly evidenceExportAuthorityStore: EvidenceExportAuthorityStore;
33
+ readonly executors: DockerTargetExecutors;
34
+ readonly handoffResolver: OrganizationAttachmentResolver;
35
+ /** Omitted when this invocation cannot export evidence. */
36
+ readonly helperArtifactResolver?: HelperArtifactResolver;
37
+ readonly journals: TargetJournalResolver;
38
+ readonly secretAuthorityStore: TargetSecretVersionAuthorityStore;
39
+ readonly secretResolver: TargetSecretSourceResolver;
40
+ readonly topologyAttestor: TargetTopologyAttestor;
41
+ readonly worldAuthorityStore: WorldServiceAuthorityStore;
42
+ readonly worldResolver: WorldServiceResolver;
43
+ }
44
+ /**
45
+ * The production authority graph owns B114 worker clients and directory file
46
+ * handles. It is therefore deliberately a session, rather than an ambient
47
+ * process singleton: the caller that starts the graph must close it.
48
+ */
49
+ export interface TargetDefaultAuthoritySession {
50
+ readonly authorities: TargetDefaultAuthorities;
51
+ dispose(): Promise<void>;
52
+ }
53
+ export declare const initializeTargetDefaultAuthoritySession: (config: TargetDefaultConfig) => Promise<TargetDefaultAuthoritySession>;
@@ -0,0 +1,210 @@
1
+ import { initializeDockerArtifactIdentityStore } from "../target/dockerArtifactsProvider.js";
2
+ import { createDockerTargetExecutors } from "../target/dockerCommandExecutor.js";
3
+ import { initializeTargetSecretVersionAuthorityStore } from "../target/dockerSecretsAuthority.js";
4
+ import { parseWorldServiceAuthorization, parseWorldServiceResolution } from "../target/dockerWorldServiceAuthority.js";
5
+ import { initializeWorldServiceAuthorityStore } from "../target/dockerWorldServiceStore.js";
6
+ import { initializeEvidenceExportAuthorityStore } from "../target/evidenceExportStore.js";
7
+ import { initializeOrganizationAttachmentAuthorityStore } from "../target/organizationAttachmentStore.js";
8
+ import { createTargetTopologyAttestor } from "../target/topologyAttestation.js";
9
+ import { initializeTargetSecretSourceResolver } from "../auth/targetSecretSourceResolver.js";
10
+ import { initializeOrganizationHandoffAuthorityStore } from "../deployment/organizationHandoffAuthorityStore.js";
11
+ import { completedTargetArtifacts, exactTargetArtifactMapping } from "./targetDefaultArtifactAuthority.js";
12
+ import { targetDefaultEnvelope as envelope } from "./targetDefaultEnvelope.js";
13
+ import { createDockerTargetLocalBundleBuilder } from "../target/dockerContainerBundleBuilder.js";
14
+ import { attestPreparedArtifactIdentity } from "../target/dockerPreparedArtifact.js";
15
+ import { initializeFilesystemTargetLocalBundleStore } from "../target/containerBundleFilesystemStore.js";
16
+ import { createTargetJournalAccess, TARGET_DEFAULT_AUTHORITIES_ERROR } from "./targetDefaultJournalAuthority.js";
17
+ export { TARGET_DEFAULT_AUTHORITIES_ERROR } from "./targetDefaultJournalAuthority.js";
18
+ const fail = () => { throw new Error(TARGET_DEFAULT_AUTHORITIES_ERROR); };
19
+ const same = (left, right) => JSON.stringify(left) === JSON.stringify(right);
20
+ export const initializeTargetDefaultAuthoritySession = async (config) => {
21
+ let handoffAuthority;
22
+ try {
23
+ const journalAccess = createTargetJournalAccess(config);
24
+ const journals = journalAccess.resolver;
25
+ const [artifactIdentityStore, secretAuthorityStore, attachmentAuthorityStore, worldAuthorityStore, evidenceExportAuthorityStore, secretResolver] = await Promise.all([
26
+ initializeDockerArtifactIdentityStore(config.paths.artifactIdentities),
27
+ initializeTargetSecretVersionAuthorityStore(config.paths.secretAuthority),
28
+ initializeOrganizationAttachmentAuthorityStore(config.paths.attachmentAuthority),
29
+ initializeWorldServiceAuthorityStore(config.paths.worldAuthority),
30
+ initializeEvidenceExportAuthorityStore(config.paths.evidenceExport),
31
+ // Production always resolves grants from the B113 host-local authority
32
+ // store. It deliberately has no configuration or ambient override seam.
33
+ initializeTargetSecretSourceResolver()
34
+ ]);
35
+ // The B114 store owns its anchored filesystem workers. Keep the store
36
+ // alive through its resolver rather than accepting a caller-provided one.
37
+ handoffAuthority = await initializeOrganizationHandoffAuthorityStore();
38
+ const handoffResolver = handoffAuthority.resolver;
39
+ const executors = createDockerTargetExecutors({ dockerCommand: config.dockerCommand });
40
+ const preparedBuilder = createDockerTargetLocalBundleBuilder({ context: config.context,
41
+ executor: executors.artifact, timeoutMs: config.timeoutMs });
42
+ const preparedStore = await initializeFilesystemTargetLocalBundleStore(config.paths.containerBundles);
43
+ const worldResolver = Object.freeze({
44
+ resolve: async (raw) => {
45
+ const input = envelope(raw, ["authorization"], ["signal"]);
46
+ let authorization;
47
+ try {
48
+ authorization = parseWorldServiceAuthorization(input.authorization);
49
+ }
50
+ catch {
51
+ return fail();
52
+ }
53
+ const journal = await journalAccess.resolveIdentity({
54
+ context: config.context,
55
+ descriptorDigest: authorization.descriptor_digest,
56
+ runId: authorization.run_id,
57
+ selectedTarget: authorization.selected_target
58
+ });
59
+ const bindings = (await completedTargetArtifacts(journal, artifactIdentityStore))
60
+ .filter((binding) => binding.resultHandle === authorization.world_artifact_handle);
61
+ if (bindings.length !== 1)
62
+ return fail();
63
+ const binding = bindings[0];
64
+ try {
65
+ let artifact;
66
+ if (binding.identityKind === "oci_image_manifest") {
67
+ artifact = {
68
+ artifact_manifest_digest: binding.artifactManifestDigest,
69
+ identity_kind: binding.identityKind,
70
+ image_digest: binding.imageDigest,
71
+ image_reference: binding.imageReference,
72
+ operation_handle: binding.operationHandle,
73
+ request_digest: binding.requestDigest,
74
+ result_handle: binding.resultHandle
75
+ };
76
+ }
77
+ else if (binding.identityKind === "docker_image_config_digest") {
78
+ const prepared = await preparedStore.resolve({
79
+ operation_handle: binding.preparedOperationHandle,
80
+ request_digest: binding.preparedRequestDigest
81
+ });
82
+ if (!prepared || !same(prepared, {
83
+ archive_digest: binding.archiveDigest,
84
+ artifact_digest: binding.artifactManifestDigest,
85
+ base_image_config_digest: binding.baseImageConfigDigest,
86
+ build_policy_digest: binding.buildPolicyDigest,
87
+ bundle_digest: binding.bundleDigest,
88
+ config_id: binding.configId,
89
+ daemon_epoch: binding.daemonEpoch,
90
+ entrypoint: binding.entrypoint,
91
+ gc_tag: binding.gcTag,
92
+ identity_kind: binding.identityKind,
93
+ launcher_digest: binding.launcherDigest,
94
+ network_alias: binding.networkAlias,
95
+ operation_handle: binding.preparedOperationHandle,
96
+ platform: binding.platform,
97
+ platform_digest: binding.platformDigest,
98
+ request_digest: binding.preparedRequestDigest,
99
+ selected_target: authorization.selected_target
100
+ }))
101
+ return fail();
102
+ await attestPreparedArtifactIdentity(preparedBuilder, binding, prepared, authorization.selected_target);
103
+ artifact = {
104
+ archive_digest: binding.archiveDigest,
105
+ artifact_manifest_digest: binding.artifactManifestDigest,
106
+ base_image_config_digest: binding.baseImageConfigDigest,
107
+ build_policy_digest: binding.buildPolicyDigest,
108
+ bundle_digest: binding.bundleDigest,
109
+ config_id: binding.configId,
110
+ daemon_epoch: binding.daemonEpoch,
111
+ entrypoint: binding.entrypoint,
112
+ gc_tag: binding.gcTag,
113
+ identity_kind: binding.identityKind,
114
+ image_digest: binding.configId,
115
+ image_reference: binding.configId,
116
+ launcher_digest: binding.launcherDigest,
117
+ network_alias: binding.networkAlias,
118
+ operation_handle: binding.operationHandle,
119
+ platform: binding.platform,
120
+ platform_digest: binding.platformDigest,
121
+ prepared_operation_handle: binding.preparedOperationHandle,
122
+ prepared_request_digest: binding.preparedRequestDigest,
123
+ request_digest: binding.requestDigest,
124
+ result_handle: binding.resultHandle
125
+ };
126
+ }
127
+ else
128
+ return fail();
129
+ return parseWorldServiceResolution({
130
+ artifact,
131
+ authorization
132
+ });
133
+ }
134
+ catch {
135
+ return fail();
136
+ }
137
+ }
138
+ });
139
+ const helperArtifactResolver = config.helperArtifact
140
+ ? Object.freeze({
141
+ resolve: async (raw) => {
142
+ const input = envelope(raw, ["context", "request"]);
143
+ const authority = await journals.resolve({
144
+ context: input.context,
145
+ request: input.request
146
+ });
147
+ const bindings = (await completedTargetArtifacts(authority.journal, artifactIdentityStore))
148
+ .filter((binding) => binding.identityKind === "oci_image_manifest"
149
+ && binding.artifactManifestDigest === config.helperArtifact.artifact_manifest_digest);
150
+ if (bindings.length !== 1)
151
+ return fail();
152
+ const artifactIdentity = bindings[0];
153
+ if (artifactIdentity.identityKind !== "oci_image_manifest")
154
+ return fail();
155
+ const mapping = exactTargetArtifactMapping(config, artifactIdentity);
156
+ return Object.freeze({
157
+ artifactIdentity,
158
+ bundle: Object.freeze({
159
+ operation_handle: artifactIdentity.operationHandle,
160
+ request_digest: artifactIdentity.requestDigest,
161
+ result_handle: artifactIdentity.resultHandle
162
+ }),
163
+ mapping
164
+ });
165
+ }
166
+ }) : undefined;
167
+ const topologyAttestor = createTargetTopologyAttestor({
168
+ attachmentExecutor: executors.attachment,
169
+ attachmentStore: attachmentAuthorityStore,
170
+ context: config.context,
171
+ resolveJournal: async (input) => journalAccess.resolveExistingIdentity({
172
+ context: config.context,
173
+ descriptorDigest: input.descriptorDigest,
174
+ runId: input.runId,
175
+ selectedTarget: input.selectedTarget
176
+ }),
177
+ resourceExecutor: executors.resource,
178
+ timeoutMs: config.timeoutMs,
179
+ worldExecutor: executors.world,
180
+ worldStore: worldAuthorityStore
181
+ });
182
+ const authorities = Object.freeze({
183
+ artifactIdentityStore,
184
+ attachmentAuthorityStore,
185
+ evidenceExportAuthorityStore,
186
+ executors,
187
+ handoffResolver,
188
+ ...(helperArtifactResolver ? { helperArtifactResolver } : {}),
189
+ journals,
190
+ secretAuthorityStore,
191
+ secretResolver,
192
+ topologyAttestor,
193
+ worldAuthorityStore,
194
+ worldResolver
195
+ });
196
+ let disposal;
197
+ const dispose = async () => {
198
+ disposal ??= handoffAuthority.dispose();
199
+ await disposal;
200
+ };
201
+ return Object.freeze({ authorities, dispose });
202
+ }
203
+ catch {
204
+ // Do not orphan B114's worker clients if a later authority fails to
205
+ // initialize. A successfully-created session transfers that ownership
206
+ // to its explicit disposer instead.
207
+ await handoffAuthority?.dispose().catch(() => undefined);
208
+ return fail();
209
+ }
210
+ };