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,68 @@
1
+ import { type DockerArtifactMapping } from "../target/dockerArtifactsProvider.js";
2
+ export { resolveTargetDefaultJournalRoot } from "../target/journalRoot.js";
3
+ export declare const TARGET_DEFAULT_CONFIG_ERROR = "Target configuration failed";
4
+ export interface TargetDefaultConfigInputs {
5
+ /**
6
+ * Immutable artifact identities are configuration, not a late-bound provider
7
+ * input. Keeping them here makes the complete production input JSON data.
8
+ */
9
+ readonly artifactMappings?: readonly DockerArtifactMapping[];
10
+ /**
11
+ * Optional durable authority for immutable target-local container bundles.
12
+ * It is deliberately independent from per-run lifecycle and secret roots.
13
+ */
14
+ readonly containerBundleStoreRoot?: string;
15
+ readonly context: string;
16
+ readonly dockerCommand: string;
17
+ readonly evidenceDestination: string;
18
+ readonly helperArtifactManifestDigest?: string;
19
+ /** Local-Daemon prepared images, admitted only by manifest/bundle/policy. */
20
+ readonly preparedArtifactMappings?: readonly PreparedArtifactMapping[];
21
+ readonly timeoutMs: number;
22
+ }
23
+ export interface PreparedArtifactMapping {
24
+ readonly archive_digest: string;
25
+ readonly artifact_manifest_digest: string;
26
+ readonly base_image_config_digest: string;
27
+ readonly build_policy_digest: string;
28
+ readonly bundle_digest: string;
29
+ readonly entrypoint: string;
30
+ readonly launcher_digest: string;
31
+ readonly network_alias: string;
32
+ readonly platform: {
33
+ readonly architecture: "amd64" | "arm64";
34
+ readonly os: "linux";
35
+ };
36
+ readonly platform_digest: string;
37
+ }
38
+ export interface TargetDefaultConfig {
39
+ readonly artifactMappings: readonly DockerArtifactMapping[];
40
+ readonly context: string;
41
+ readonly dockerCommand: string;
42
+ readonly evidenceDestination: string;
43
+ /** Present only when the private evidence-export helper was configured. */
44
+ readonly helperArtifact?: DockerArtifactMapping;
45
+ readonly preparedArtifactMappings: readonly PreparedArtifactMapping[];
46
+ readonly paths: {
47
+ readonly artifactIdentities: string;
48
+ readonly attachmentAuthority: string;
49
+ readonly evidenceExport: string;
50
+ readonly containerBundles: string;
51
+ readonly journals: string;
52
+ readonly root: string;
53
+ readonly secretAuthority: string;
54
+ readonly worldAuthority: string;
55
+ };
56
+ readonly timeoutMs: number;
57
+ }
58
+ export interface TargetDefaultWorldReadinessConfig {
59
+ readonly context: string;
60
+ readonly dockerCommand: string;
61
+ readonly paths: {
62
+ readonly worldAuthority: string;
63
+ };
64
+ readonly timeoutMs: number;
65
+ }
66
+ export declare const loadTargetDefaultConfig: (raw: TargetDefaultConfigInputs) => Promise<TargetDefaultConfig>;
67
+ /** Resolves only the paths required by a world-readiness query; performs no I/O. */
68
+ export declare const resolveTargetDefaultWorldReadinessConfig: (raw: TargetDefaultConfigInputs) => TargetDefaultWorldReadinessConfig;
@@ -0,0 +1,317 @@
1
+ import { constants } from "node:fs";
2
+ import { lstat, mkdir, open, realpath } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { types as nodeTypes } from "node:util";
5
+ import { resolveSpawnfileHome } from "../auth/index.js";
6
+ import { parseDockerArtifactMappings } from "../target/dockerArtifactsProvider.js";
7
+ export { resolveTargetDefaultJournalRoot } from "../target/journalRoot.js";
8
+ export const TARGET_DEFAULT_CONFIG_ERROR = "Target configuration failed";
9
+ const MAX_PATH_BYTES = 4_096;
10
+ const CONTEXT = /^[a-z][a-z0-9_-]{0,63}$/u;
11
+ const DIGEST = /^sha256:[0-9a-f]{64}$/u;
12
+ const COMMAND_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u;
13
+ const CHILD_ROOTS = Object.freeze([
14
+ "journals",
15
+ "artifact-identities",
16
+ "secret-authority",
17
+ "attachment-authority",
18
+ "world-authority",
19
+ "evidence-export"
20
+ ]);
21
+ const fail = () => { throw new Error(TARGET_DEFAULT_CONFIG_ERROR); };
22
+ const byteLength = (value) => Buffer.byteLength(value, "utf8");
23
+ const descriptorValues = (raw) => {
24
+ if (!raw || typeof raw !== "object" || Array.isArray(raw) || nodeTypes.isProxy(raw)
25
+ || Object.getPrototypeOf(raw) !== Object.prototype)
26
+ return fail();
27
+ const expected = [
28
+ "artifactMappings", "containerBundleStoreRoot", "context", "dockerCommand", "evidenceDestination",
29
+ "helperArtifactManifestDigest", "preparedArtifactMappings", "timeoutMs"
30
+ ];
31
+ const required = ["context", "dockerCommand", "evidenceDestination", "timeoutMs"];
32
+ const keys = Reflect.ownKeys(raw);
33
+ if (keys.some((key) => typeof key !== "string" || !expected.includes(key))
34
+ || required.some((key) => !keys.includes(key)))
35
+ return fail();
36
+ const descriptors = Object.getOwnPropertyDescriptors(raw);
37
+ if (Object.values(descriptors).some((item) => !item.enumerable || !("value" in item)))
38
+ return fail();
39
+ return Object.fromEntries(expected.filter((key) => Object.hasOwn(descriptors, key)).map((key) => [key, descriptors[key].value]));
40
+ };
41
+ const preparedMappings = (raw) => {
42
+ if (raw === undefined)
43
+ return Object.freeze([]);
44
+ if (!Array.isArray(raw) || raw.length > 32)
45
+ return fail();
46
+ const manifests = new Set();
47
+ const mappings = raw.map((item) => {
48
+ if (!item || typeof item !== "object" || Array.isArray(item) || nodeTypes.isProxy(item)
49
+ || Object.getPrototypeOf(item) !== Object.prototype)
50
+ return fail();
51
+ const descriptors = Object.getOwnPropertyDescriptors(item);
52
+ if (Object.values(descriptors).some((descriptor) => !descriptor.enumerable || !("value" in descriptor)))
53
+ return fail();
54
+ const value = Object.fromEntries(Object.entries(descriptors).map(([key, descriptor]) => [key, descriptor.value]));
55
+ if (Object.keys(value).sort().join("\0") !== "archive_digest\0artifact_manifest_digest\0base_image_config_digest\0build_policy_digest\0bundle_digest\0entrypoint\0launcher_digest\0network_alias\0platform\0platform_digest"
56
+ || typeof value.artifact_manifest_digest !== "string" || !DIGEST.test(value.artifact_manifest_digest)
57
+ || typeof value.archive_digest !== "string" || !DIGEST.test(value.archive_digest)
58
+ || typeof value.base_image_config_digest !== "string" || !DIGEST.test(value.base_image_config_digest)
59
+ || typeof value.bundle_digest !== "string" || !DIGEST.test(value.bundle_digest)
60
+ || typeof value.build_policy_digest !== "string" || !DIGEST.test(value.build_policy_digest)
61
+ || typeof value.launcher_digest !== "string" || !DIGEST.test(value.launcher_digest)
62
+ || typeof value.platform_digest !== "string" || !DIGEST.test(value.platform_digest)
63
+ || typeof value.entrypoint !== "string" || !/^[A-Za-z0-9][A-Za-z0-9._/-]{0,239}$/u.test(value.entrypoint)
64
+ || value.entrypoint.includes("//") || value.entrypoint.split("/").some((part) => part === "." || part === "..")
65
+ || typeof value.network_alias !== "string" || !/^[a-z][a-z0-9-]{0,62}$/u.test(value.network_alias)
66
+ || !value.platform || typeof value.platform !== "object" || Array.isArray(value.platform) || nodeTypes.isProxy(value.platform)
67
+ || Object.getPrototypeOf(value.platform) !== Object.prototype
68
+ || Object.keys(value.platform).sort().join("\0") !== "architecture\0os"
69
+ || Object.values(Object.getOwnPropertyDescriptors(value.platform)).some((descriptor) => !descriptor.enumerable || !("value" in descriptor))
70
+ || value.platform.os !== "linux"
71
+ || !["amd64", "arm64"].includes(value.platform.architecture)
72
+ || manifests.has(value.artifact_manifest_digest))
73
+ return fail();
74
+ manifests.add(value.artifact_manifest_digest);
75
+ return Object.freeze({ archive_digest: value.archive_digest, artifact_manifest_digest: value.artifact_manifest_digest,
76
+ base_image_config_digest: value.base_image_config_digest, build_policy_digest: value.build_policy_digest,
77
+ bundle_digest: value.bundle_digest, entrypoint: value.entrypoint, launcher_digest: value.launcher_digest,
78
+ network_alias: value.network_alias, platform: Object.freeze({ ...value.platform }),
79
+ platform_digest: value.platform_digest });
80
+ });
81
+ return Object.freeze(mappings);
82
+ };
83
+ const exactPath = (raw) => {
84
+ if (typeof raw !== "string" || raw.length < 1 || raw.includes("\0")
85
+ || byteLength(raw) > MAX_PATH_BYTES || !path.isAbsolute(raw)
86
+ || path.normalize(raw) !== raw)
87
+ return fail();
88
+ return raw;
89
+ };
90
+ const command = (raw) => {
91
+ if (typeof raw !== "string" || raw.includes("\0") || byteLength(raw) > 1_024)
92
+ return fail();
93
+ if (COMMAND_NAME.test(raw))
94
+ return raw;
95
+ if (!path.isAbsolute(raw) || path.normalize(raw) !== raw)
96
+ return fail();
97
+ return raw;
98
+ };
99
+ const ensureOwnedRoot = async (root) => {
100
+ let info;
101
+ try {
102
+ info = await lstat(root);
103
+ }
104
+ catch (error) {
105
+ if (error.code !== "ENOENT")
106
+ return fail();
107
+ try {
108
+ await mkdir(root, { mode: 0o700 });
109
+ }
110
+ catch {
111
+ return fail();
112
+ }
113
+ try {
114
+ info = await lstat(root);
115
+ }
116
+ catch {
117
+ return fail();
118
+ }
119
+ }
120
+ const owner = process.getuid?.();
121
+ if (!info.isDirectory() || info.isSymbolicLink()
122
+ || owner !== undefined && info.uid !== owner)
123
+ return fail();
124
+ let handle;
125
+ try {
126
+ handle = await open(root, constants.O_RDONLY | constants.O_DIRECTORY | constants.O_NOFOLLOW);
127
+ await handle.chmod(0o700);
128
+ info = await handle.stat();
129
+ }
130
+ catch {
131
+ return fail();
132
+ }
133
+ finally {
134
+ await handle?.close().catch(() => undefined);
135
+ }
136
+ if (!info.isDirectory() || (info.mode & 0o777) !== 0o700
137
+ || owner !== undefined && info.uid !== owner)
138
+ return fail();
139
+ return root;
140
+ };
141
+ const isWithin = (candidate, root) => candidate === root || candidate.startsWith(`${root}${path.sep}`);
142
+ const prepareExplicitContainerBundleRoot = async (raw, lifecycleRoot) => {
143
+ const requested = exactPath(raw);
144
+ if (path.parse(requested).root === requested
145
+ || isWithin(requested, lifecycleRoot)
146
+ || isWithin(lifecycleRoot, requested))
147
+ return fail();
148
+ try {
149
+ const existing = await lstat(requested);
150
+ if (!existing.isDirectory() || existing.isSymbolicLink()
151
+ || await realpath(requested) !== requested)
152
+ return fail();
153
+ }
154
+ catch (error) {
155
+ if (error.code !== "ENOENT")
156
+ return fail();
157
+ const parent = path.dirname(requested);
158
+ let parentInfo;
159
+ try {
160
+ parentInfo = await lstat(parent);
161
+ }
162
+ catch {
163
+ return fail();
164
+ }
165
+ const owner = process.getuid?.();
166
+ if (!parentInfo.isDirectory() || parentInfo.isSymbolicLink()
167
+ || owner !== undefined && parentInfo.uid !== owner)
168
+ return fail();
169
+ try {
170
+ if (await realpath(parent) !== parent)
171
+ return fail();
172
+ }
173
+ catch {
174
+ return fail();
175
+ }
176
+ }
177
+ const root = await ensureOwnedRoot(requested);
178
+ try {
179
+ if (await realpath(root) !== root)
180
+ return fail();
181
+ }
182
+ catch {
183
+ return fail();
184
+ }
185
+ return root;
186
+ };
187
+ const prepareRoots = async (containerBundleStoreRoot) => {
188
+ const home = resolveSpawnfileHome();
189
+ let homeInfo;
190
+ try {
191
+ homeInfo = await lstat(home);
192
+ }
193
+ catch {
194
+ return fail();
195
+ }
196
+ if (!homeInfo.isDirectory() || homeInfo.isSymbolicLink())
197
+ return fail();
198
+ const owner = process.getuid?.();
199
+ if (owner !== undefined && homeInfo.uid !== owner)
200
+ return fail();
201
+ try {
202
+ if (await realpath(home) !== home)
203
+ return fail();
204
+ }
205
+ catch {
206
+ return fail();
207
+ }
208
+ const root = await ensureOwnedRoot(path.join(home, "target"));
209
+ const childRoots = containerBundleStoreRoot === undefined
210
+ ? [...CHILD_ROOTS, "container-bundles"]
211
+ : CHILD_ROOTS;
212
+ const created = await Promise.all(childRoots.map((name) => ensureOwnedRoot(path.join(root, name))));
213
+ const containerBundles = containerBundleStoreRoot === undefined
214
+ ? created[6]
215
+ : await prepareExplicitContainerBundleRoot(containerBundleStoreRoot, root);
216
+ return Object.freeze({
217
+ root,
218
+ journals: created[0],
219
+ artifactIdentities: created[1],
220
+ secretAuthority: created[2],
221
+ attachmentAuthority: created[3],
222
+ worldAuthority: created[4],
223
+ evidenceExport: created[5],
224
+ containerBundles
225
+ });
226
+ };
227
+ const validateDestination = async (raw) => {
228
+ const destination = exactPath(raw);
229
+ const parent = path.dirname(destination);
230
+ let parentInfo;
231
+ try {
232
+ parentInfo = await lstat(parent);
233
+ }
234
+ catch {
235
+ return fail();
236
+ }
237
+ const owner = process.getuid?.();
238
+ if (!parentInfo.isDirectory() || parentInfo.isSymbolicLink()
239
+ || (parentInfo.mode & 0o777) !== 0o700
240
+ || owner !== undefined && parentInfo.uid !== owner)
241
+ return fail();
242
+ try {
243
+ if (await realpath(parent) !== parent)
244
+ return fail();
245
+ }
246
+ catch {
247
+ return fail();
248
+ }
249
+ try {
250
+ const existing = await lstat(destination);
251
+ if (!existing.isFile() || existing.isSymbolicLink()
252
+ || owner !== undefined && existing.uid !== owner
253
+ || (existing.mode & 0o777) !== 0o600)
254
+ return fail();
255
+ }
256
+ catch (error) {
257
+ if (error.code !== "ENOENT")
258
+ return fail();
259
+ }
260
+ return destination;
261
+ };
262
+ export const loadTargetDefaultConfig = async (raw) => {
263
+ const value = descriptorValues(raw);
264
+ if (typeof value.context !== "string" || !CONTEXT.test(value.context)
265
+ || !Number.isSafeInteger(value.timeoutMs) || value.timeoutMs < 1
266
+ || value.timeoutMs > 120_000
267
+ || (Object.hasOwn(value, "artifactMappings") !== Object.hasOwn(value, "helperArtifactManifestDigest"))
268
+ || (Object.hasOwn(value, "helperArtifactManifestDigest") &&
269
+ (typeof value.helperArtifactManifestDigest !== "string"
270
+ || !DIGEST.test(value.helperArtifactManifestDigest))))
271
+ return fail();
272
+ const dockerCommand = command(value.dockerCommand);
273
+ let artifactMappings;
274
+ try {
275
+ artifactMappings = value.artifactMappings === undefined
276
+ ? Object.freeze([]) : parseDockerArtifactMappings(value.artifactMappings);
277
+ }
278
+ catch {
279
+ return fail();
280
+ }
281
+ const preparedArtifactMappings = preparedMappings(value.preparedArtifactMappings);
282
+ if (preparedArtifactMappings.some((prepared) => artifactMappings.some((artifact) => artifact.artifact_manifest_digest === prepared.artifact_manifest_digest)))
283
+ return fail();
284
+ const evidenceDestination = await validateDestination(value.evidenceDestination);
285
+ const matches = value.helperArtifactManifestDigest === undefined ? [] : artifactMappings.filter((mapping) => mapping.artifact_manifest_digest === value.helperArtifactManifestDigest);
286
+ if (value.helperArtifactManifestDigest !== undefined && matches.length !== 1)
287
+ return fail();
288
+ const paths = await prepareRoots(value.containerBundleStoreRoot);
289
+ const config = {
290
+ artifactMappings,
291
+ context: value.context,
292
+ dockerCommand,
293
+ evidenceDestination,
294
+ ...(matches.length === 1 ? { helperArtifact: matches[0] } : {}),
295
+ preparedArtifactMappings,
296
+ paths,
297
+ timeoutMs: value.timeoutMs
298
+ };
299
+ return Object.freeze(config);
300
+ };
301
+ /** Resolves only the paths required by a world-readiness query; performs no I/O. */
302
+ export const resolveTargetDefaultWorldReadinessConfig = (raw) => {
303
+ const value = descriptorValues(raw);
304
+ if (typeof value.context !== "string" || !CONTEXT.test(value.context)
305
+ || !Number.isSafeInteger(value.timeoutMs) || value.timeoutMs < 1
306
+ || value.timeoutMs > 120_000)
307
+ return fail();
308
+ const home = resolveSpawnfileHome();
309
+ return Object.freeze({
310
+ context: value.context,
311
+ dockerCommand: command(value.dockerCommand),
312
+ paths: Object.freeze({
313
+ worldAuthority: path.join(home, "target", "world-authority")
314
+ }),
315
+ timeoutMs: value.timeoutMs
316
+ });
317
+ };
@@ -0,0 +1,13 @@
1
+ import type { TargetDefaultConfig, TargetDefaultWorldReadinessConfig } from "./targetDefaultConfig.js";
2
+ export declare const TARGET_DEFAULT_CONFIG_STDIN_ERROR = "Invalid target configuration";
3
+ export declare const TARGET_DEFAULT_CONFIG_STDIN_VERSION = "spawnfile.target-default-config.v1";
4
+ export declare const TARGET_LOOKUP_CONFIG_STDIN_VERSION = "spawnfile.target-lookup-config.v1";
5
+ export declare const MAX_TARGET_DEFAULT_CONFIG_STDIN_BYTES = 262144;
6
+ export interface TargetLookupConfig {
7
+ readonly context: string;
8
+ }
9
+ export declare const readTargetDefaultConfigStdin: (input: AsyncIterable<unknown>) => Promise<TargetDefaultConfig>;
10
+ /** Parses the normal config envelope but resolves only the read-only readiness path. */
11
+ export declare const readTargetWorldReadinessConfigStdin: (input: AsyncIterable<unknown>) => Promise<TargetDefaultWorldReadinessConfig>;
12
+ /** Parses only the read-only lookup authority; it performs no filesystem work. */
13
+ export declare const readTargetLookupConfigStdin: (input: AsyncIterable<unknown>) => Promise<TargetLookupConfig>;
@@ -0,0 +1,215 @@
1
+ import { TextDecoder } from "node:util";
2
+ export const TARGET_DEFAULT_CONFIG_STDIN_ERROR = "Invalid target configuration";
3
+ export const TARGET_DEFAULT_CONFIG_STDIN_VERSION = "spawnfile.target-default-config.v1";
4
+ export const TARGET_LOOKUP_CONFIG_STDIN_VERSION = "spawnfile.target-lookup-config.v1";
5
+ export const MAX_TARGET_DEFAULT_CONFIG_STDIN_BYTES = 262_144;
6
+ const TARGET_CONTEXT_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/u;
7
+ const fail = () => { throw new TypeError(TARGET_DEFAULT_CONFIG_STDIN_ERROR); };
8
+ const assertNoDuplicateJsonKeys = (source) => {
9
+ let offset = 0;
10
+ const whitespace = () => { while (/\s/u.test(source[offset] ?? ""))
11
+ offset += 1; };
12
+ const string = () => {
13
+ const start = offset;
14
+ offset += 1;
15
+ while (offset < source.length) {
16
+ if (source[offset] === "\\")
17
+ offset += 2;
18
+ else if (source[offset] === "\"") {
19
+ offset += 1;
20
+ return JSON.parse(source.slice(start, offset));
21
+ }
22
+ else
23
+ offset += 1;
24
+ }
25
+ return fail();
26
+ };
27
+ const value = () => {
28
+ whitespace();
29
+ if (source[offset] === "{")
30
+ return object();
31
+ if (source[offset] === "[")
32
+ return array();
33
+ if (source[offset] === "\"") {
34
+ string();
35
+ return;
36
+ }
37
+ while (offset < source.length && !/[\s,\]}]/u.test(source[offset] ?? ""))
38
+ offset += 1;
39
+ };
40
+ const object = () => {
41
+ offset += 1;
42
+ whitespace();
43
+ const keys = new Set();
44
+ if (source[offset] === "}") {
45
+ offset += 1;
46
+ return;
47
+ }
48
+ while (offset < source.length) {
49
+ const key = string();
50
+ if (keys.has(key))
51
+ return fail();
52
+ keys.add(key);
53
+ whitespace();
54
+ offset += 1;
55
+ value();
56
+ whitespace();
57
+ if (source[offset] === "}") {
58
+ offset += 1;
59
+ return;
60
+ }
61
+ offset += 1;
62
+ whitespace();
63
+ }
64
+ return fail();
65
+ };
66
+ const array = () => {
67
+ offset += 1;
68
+ whitespace();
69
+ if (source[offset] === "]") {
70
+ offset += 1;
71
+ return;
72
+ }
73
+ while (offset < source.length) {
74
+ value();
75
+ whitespace();
76
+ if (source[offset] === "]") {
77
+ offset += 1;
78
+ return;
79
+ }
80
+ offset += 1;
81
+ whitespace();
82
+ }
83
+ return fail();
84
+ };
85
+ value();
86
+ whitespace();
87
+ if (offset !== source.length)
88
+ fail();
89
+ };
90
+ const exactDefaultConfigObject = (raw) => {
91
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)
92
+ || Object.getPrototypeOf(raw) !== Object.prototype)
93
+ return fail();
94
+ const expected = [
95
+ "artifactMappings", "container_bundle_store_root", "context", "dockerCommand", "evidenceDestination",
96
+ "helperArtifactManifestDigest", "preparedArtifactMappings", "timeoutMs", "version"
97
+ ];
98
+ const required = ["context", "dockerCommand", "evidenceDestination", "timeoutMs", "version"];
99
+ const keys = Object.keys(raw);
100
+ if (keys.some((key) => !expected.includes(key))
101
+ || required.some((key) => !keys.includes(key)))
102
+ return fail();
103
+ const value = raw;
104
+ if (value.version !== TARGET_DEFAULT_CONFIG_STDIN_VERSION
105
+ || Object.hasOwn(value, "artifactMappings") !== Object.hasOwn(value, "helperArtifactManifestDigest"))
106
+ return fail();
107
+ return value;
108
+ };
109
+ const exactLookupConfigObject = (raw) => {
110
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)
111
+ || Object.getPrototypeOf(raw) !== Object.prototype)
112
+ return fail();
113
+ const keys = Object.keys(raw);
114
+ if (keys.length !== 2 || !keys.includes("context") || !keys.includes("version"))
115
+ return fail();
116
+ const value = raw;
117
+ if (value.version !== TARGET_LOOKUP_CONFIG_STDIN_VERSION
118
+ || typeof value.context !== "string"
119
+ || !TARGET_CONTEXT_PATTERN.test(value.context))
120
+ return fail();
121
+ return Object.freeze({ context: value.context });
122
+ };
123
+ const readBytes = async (input) => {
124
+ const chunks = [];
125
+ let total = 0;
126
+ try {
127
+ if (!input || typeof input[Symbol.asyncIterator] !== "function")
128
+ return fail();
129
+ for await (const raw of input) {
130
+ const chunk = typeof raw === "string" ? new TextEncoder().encode(raw)
131
+ : raw instanceof Uint8Array ? Uint8Array.from(raw) : fail();
132
+ // A non-empty chunk consumes at least one byte, so the byte ceiling also
133
+ // bounds iteration. Rejecting empty chunks prevents an unbounded stream
134
+ // from evading that ceiling forever.
135
+ if (chunk.byteLength === 0)
136
+ return fail();
137
+ if (chunk.byteLength > MAX_TARGET_DEFAULT_CONFIG_STDIN_BYTES - total)
138
+ return fail();
139
+ chunks.push(chunk);
140
+ total += chunk.byteLength;
141
+ }
142
+ if (total === 0)
143
+ return fail();
144
+ const bytes = new Uint8Array(total);
145
+ let offset = 0;
146
+ for (const chunk of chunks) {
147
+ bytes.set(chunk, offset);
148
+ offset += chunk.byteLength;
149
+ }
150
+ return bytes;
151
+ }
152
+ catch {
153
+ return fail();
154
+ }
155
+ };
156
+ const readRawConfigStdin = async (input) => {
157
+ const bytes = await readBytes(input);
158
+ let source;
159
+ try {
160
+ source = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true }).decode(bytes);
161
+ }
162
+ catch {
163
+ return fail();
164
+ }
165
+ if (source.startsWith("\uFEFF"))
166
+ return fail();
167
+ try {
168
+ assertNoDuplicateJsonKeys(source);
169
+ return JSON.parse(source);
170
+ }
171
+ catch {
172
+ return fail();
173
+ }
174
+ };
175
+ export const readTargetDefaultConfigStdin = async (input) => {
176
+ const raw = exactDefaultConfigObject(await readRawConfigStdin(input));
177
+ const inputs = defaultConfigInputs(raw);
178
+ try {
179
+ const { loadTargetDefaultConfig } = await import("./targetDefaultConfig.js");
180
+ return await loadTargetDefaultConfig(inputs);
181
+ }
182
+ catch {
183
+ return fail();
184
+ }
185
+ };
186
+ const defaultConfigInputs = (raw) => ({
187
+ ...(Object.hasOwn(raw, "artifactMappings") ? {
188
+ artifactMappings: raw.artifactMappings
189
+ } : {}),
190
+ ...(Object.hasOwn(raw, "container_bundle_store_root") ? {
191
+ containerBundleStoreRoot: raw.container_bundle_store_root
192
+ } : {}),
193
+ context: raw.context,
194
+ dockerCommand: raw.dockerCommand,
195
+ evidenceDestination: raw.evidenceDestination,
196
+ ...(Object.hasOwn(raw, "helperArtifactManifestDigest") ? {
197
+ helperArtifactManifestDigest: raw.helperArtifactManifestDigest
198
+ } : {}),
199
+ preparedArtifactMappings: raw.preparedArtifactMappings,
200
+ timeoutMs: raw.timeoutMs
201
+ });
202
+ /** Parses the normal config envelope but resolves only the read-only readiness path. */
203
+ export const readTargetWorldReadinessConfigStdin = async (input) => {
204
+ const raw = exactDefaultConfigObject(await readRawConfigStdin(input));
205
+ const inputs = defaultConfigInputs(raw);
206
+ try {
207
+ const { resolveTargetDefaultWorldReadinessConfig } = await import("./targetDefaultConfig.js");
208
+ return resolveTargetDefaultWorldReadinessConfig(inputs);
209
+ }
210
+ catch {
211
+ return fail();
212
+ }
213
+ };
214
+ /** Parses only the read-only lookup authority; it performs no filesystem work. */
215
+ export const readTargetLookupConfigStdin = async (input) => exactLookupConfigObject(await readRawConfigStdin(input));
@@ -0,0 +1 @@
1
+ export declare const targetDefaultEnvelope: (raw: unknown, required: readonly string[], optional?: readonly string[]) => Record<string, unknown>;
@@ -0,0 +1,13 @@
1
+ import { types as nodeTypes } from "node:util";
2
+ export const targetDefaultEnvelope = (raw, required, optional = []) => {
3
+ if (!raw || typeof raw !== "object" || Array.isArray(raw) || nodeTypes.isProxy(raw) || Object.getPrototypeOf(raw) !== Object.prototype)
4
+ throw new Error("Target authority initialization failed");
5
+ const keys = Reflect.ownKeys(raw);
6
+ const allowed = [...required, ...optional];
7
+ if (keys.length < required.length || keys.length > allowed.length || keys.some((key) => typeof key !== "string" || !allowed.includes(key)) || required.some((key) => !keys.includes(key)))
8
+ throw new Error("Target authority initialization failed");
9
+ const descriptors = Object.getOwnPropertyDescriptors(raw);
10
+ if (Object.values(descriptors).some((descriptor) => !descriptor.enumerable || !("value" in descriptor)))
11
+ throw new Error("Target authority initialization failed");
12
+ return Object.fromEntries(keys.map((key) => [key, descriptors[key].value]));
13
+ };
@@ -0,0 +1,28 @@
1
+ import { type SelectTargetOptions } from "../target/dockerTarget.js";
2
+ import type { SelectedTargetReceipt } from "../target/contracts.js";
3
+ import type { TargetDefaultAuthorities } from "./targetDefaultAuthorities.js";
4
+ import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
5
+ import type { TargetCommandHandlers } from "./targetCommands.js";
6
+ type Result = Awaited<ReturnType<TargetCommandHandlers["cleanup_run"]>>;
7
+ interface Operations {
8
+ execute(raw: unknown): Promise<Result>;
9
+ }
10
+ interface EvidenceOperations {
11
+ recover(raw: unknown, destination: unknown): Promise<Result>;
12
+ execute(raw: unknown, destination: unknown): Promise<Result>;
13
+ }
14
+ type Factory = (options: Record<string, unknown>) => Operations;
15
+ type EvidenceFactory = (options: Record<string, unknown>) => EvidenceOperations;
16
+ export interface TargetDefaultHandlerFactories {
17
+ readonly artifact: Factory;
18
+ readonly attachment: Factory;
19
+ readonly cleanup: Factory;
20
+ readonly evidence: EvidenceFactory;
21
+ readonly resource: Factory;
22
+ readonly secret: Factory;
23
+ readonly select: (options: SelectTargetOptions) => Promise<SelectedTargetReceipt>;
24
+ readonly world: Factory;
25
+ }
26
+ export declare const targetDefaultHandlerFactories: TargetDefaultHandlerFactories;
27
+ export declare const createTargetDefaultHandlers: (config: TargetDefaultConfig, rawFactories: TargetDefaultHandlerFactories, rawAuthorities: TargetDefaultAuthorities) => Promise<TargetCommandHandlers>;
28
+ export {};