spawnfile 0.1.13 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (950) hide show
  1. package/README.md +61 -121
  2. package/dist/audit/auditCli.d.ts +19 -0
  3. package/dist/audit/auditCli.js +63 -0
  4. package/dist/audit/checks.d.ts +100 -0
  5. package/dist/audit/checks.js +279 -0
  6. package/dist/audit/checksShared.d.ts +74 -0
  7. package/dist/audit/checksShared.js +37 -0
  8. package/dist/audit/generateAudit.d.ts +19 -0
  9. package/dist/audit/generateAudit.js +122 -0
  10. package/dist/audit/index.d.ts +4 -0
  11. package/dist/audit/index.js +4 -0
  12. package/dist/audit/readAudit.d.ts +50 -0
  13. package/dist/audit/readAudit.js +59 -0
  14. package/dist/audit/types.d.ts +40 -0
  15. package/dist/audit/types.js +8 -0
  16. package/dist/auth/credentialEnvFile.d.ts +11 -0
  17. package/dist/auth/credentialEnvFile.js +60 -0
  18. package/dist/auth/credentialProvisioning.d.ts +15 -0
  19. package/dist/auth/credentialProvisioning.js +75 -0
  20. package/dist/auth/credentialProvisioningReceipt.d.ts +28 -0
  21. package/dist/auth/credentialProvisioningReceipt.js +70 -0
  22. package/dist/auth/credentialProvisioningRequest.d.ts +51 -0
  23. package/dist/auth/credentialProvisioningRequest.js +169 -0
  24. package/dist/auth/credentialWorldBindings.d.ts +21 -0
  25. package/dist/auth/credentialWorldBindings.js +104 -0
  26. package/dist/auth/importers.d.ts +10 -0
  27. package/dist/auth/importers.js +29 -4
  28. package/dist/auth/index.d.ts +9 -0
  29. package/dist/auth/index.js +8 -0
  30. package/dist/auth/paths.d.ts +12 -1
  31. package/dist/auth/paths.js +21 -0
  32. package/dist/auth/profileStore.js +9 -9
  33. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  34. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  35. package/dist/auth/targetSecretSourceFsIdentity.d.ts +40 -0
  36. package/dist/auth/targetSecretSourceFsIdentity.js +42 -0
  37. package/dist/auth/targetSecretSourceFsPublish.d.ts +17 -0
  38. package/dist/auth/targetSecretSourceFsPublish.js +51 -0
  39. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +17 -0
  40. package/dist/auth/targetSecretSourceFsPublishImmutable.js +468 -0
  41. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  42. package/dist/auth/targetSecretSourceFsRead.js +189 -0
  43. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  44. package/dist/auth/targetSecretSourceGrant.js +99 -0
  45. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  46. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  47. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  48. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  49. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  50. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  51. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  52. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  53. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  54. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  55. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  56. package/dist/auth/targetSecretSourceResolver.js +137 -0
  57. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  58. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  59. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  60. package/dist/auth/targetSecretSourceRotate.js +121 -0
  61. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  62. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  63. package/dist/auth/trainingAuth.d.ts +21 -0
  64. package/dist/auth/trainingAuth.js +86 -0
  65. package/dist/auth/types.d.ts +1 -1
  66. package/dist/cli/artifactsCommands.d.ts +27 -0
  67. package/dist/cli/artifactsCommands.js +132 -0
  68. package/dist/cli/authCommands.d.ts +5 -0
  69. package/dist/cli/authCommands.js +230 -0
  70. package/dist/cli/canaryCutoverCommand.d.ts +2 -0
  71. package/dist/cli/canaryCutoverCommand.js +30 -0
  72. package/dist/cli/capabilitiesCommand.d.ts +3 -0
  73. package/dist/cli/capabilitiesCommand.js +12 -0
  74. package/dist/cli/capabilitiesReceipt.d.ts +56 -0
  75. package/dist/cli/capabilitiesReceipt.js +56 -0
  76. package/dist/cli/compileBuildCommands.d.ts +3 -0
  77. package/dist/cli/compileBuildCommands.js +48 -0
  78. package/dist/cli/composedLifecycleContractSet.d.ts +21 -0
  79. package/dist/cli/composedLifecycleContractSet.js +204 -0
  80. package/dist/cli/containerBundleCommand.d.ts +6 -0
  81. package/dist/cli/containerBundleCommand.js +116 -0
  82. package/dist/cli/devCommands.js +2 -0
  83. package/dist/cli/downCommand.d.ts +25 -0
  84. package/dist/cli/downCommand.js +145 -0
  85. package/dist/cli/evidenceExportHelperCommand.d.ts +13 -0
  86. package/dist/cli/evidenceExportHelperCommand.js +51 -0
  87. package/dist/cli/index.js +15 -3
  88. package/dist/cli/lifecycleCommands.d.ts +1 -1
  89. package/dist/cli/lifecycleCommands.js +11 -181
  90. package/dist/cli/lifecycleMachine.d.ts +25 -0
  91. package/dist/cli/lifecycleMachine.js +78 -0
  92. package/dist/cli/lifecyclePlan.d.ts +35 -0
  93. package/dist/cli/lifecyclePlan.js +240 -0
  94. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  95. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  96. package/dist/cli/paideiaDelegation.d.ts +17 -0
  97. package/dist/cli/paideiaDelegation.js +210 -0
  98. package/dist/cli/paideiaSupervisor.d.ts +17 -0
  99. package/dist/cli/paideiaSupervisor.js +48 -0
  100. package/dist/cli/productStateCloneCommand.d.ts +2 -0
  101. package/dist/cli/productStateCloneCommand.js +34 -0
  102. package/dist/cli/runCli.d.ts +19 -2
  103. package/dist/cli/runCli.js +58 -74
  104. package/dist/cli/runPublishCommands.d.ts +3 -0
  105. package/dist/cli/runPublishCommands.js +70 -0
  106. package/dist/cli/statusCommand.d.ts +3 -33
  107. package/dist/cli/statusCommand.js +19 -249
  108. package/dist/cli/statusCommandLive.d.ts +20 -0
  109. package/dist/cli/statusCommandLive.js +188 -0
  110. package/dist/cli/statusCommandOptions.d.ts +40 -0
  111. package/dist/cli/statusCommandOptions.js +42 -0
  112. package/dist/cli/targetCliRoute.d.ts +2 -0
  113. package/dist/cli/targetCliRoute.js +30 -0
  114. package/dist/cli/targetCommands.d.ts +30 -0
  115. package/dist/cli/targetCommands.js +227 -0
  116. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  117. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  118. package/dist/cli/targetConfigPreparedPlan.d.ts +3 -0
  119. package/dist/cli/targetConfigPreparedPlan.js +74 -0
  120. package/dist/cli/targetConfigResolver.d.ts +3 -0
  121. package/dist/cli/targetConfigResolver.js +111 -0
  122. package/dist/cli/targetConfigResolverCommand.d.ts +6 -0
  123. package/dist/cli/targetConfigResolverCommand.js +43 -0
  124. package/dist/cli/targetConfigResolverContracts.d.ts +56 -0
  125. package/dist/cli/targetConfigResolverContracts.js +30 -0
  126. package/dist/cli/targetConfigResolverDocker.d.ts +4 -0
  127. package/dist/cli/targetConfigResolverDocker.js +47 -0
  128. package/dist/cli/targetConfigResolverValidation.d.ts +10 -0
  129. package/dist/cli/targetConfigResolverValidation.js +94 -0
  130. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  131. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  132. package/dist/cli/targetDefaultAuthorities.d.ts +55 -0
  133. package/dist/cli/targetDefaultAuthorities.js +213 -0
  134. package/dist/cli/targetDefaultConfig.d.ts +75 -0
  135. package/dist/cli/targetDefaultConfig.js +334 -0
  136. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  137. package/dist/cli/targetDefaultConfigStdin.js +221 -0
  138. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  139. package/dist/cli/targetDefaultEnvelope.js +13 -0
  140. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  141. package/dist/cli/targetDefaultHandlerFactory.js +268 -0
  142. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  143. package/dist/cli/targetDefaultHandlers.js +72 -0
  144. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  145. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  146. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  147. package/dist/cli/targetDefaultWorldClock.js +14 -0
  148. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  149. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  150. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  151. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  152. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  153. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  154. package/dist/cli/targetLookupCli.d.ts +3 -0
  155. package/dist/cli/targetLookupCli.js +31 -0
  156. package/dist/cli/targetLookupCommands.d.ts +12 -0
  157. package/dist/cli/targetLookupCommands.js +69 -0
  158. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  159. package/dist/cli/targetOperationDispatch.js +21 -0
  160. package/dist/cli/targetProductionCommands.d.ts +5 -0
  161. package/dist/cli/targetProductionCommands.js +45 -0
  162. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  163. package/dist/cli/targetReceiptOutput.js +21 -0
  164. package/dist/cli/targetRequestFile.d.ts +14 -0
  165. package/dist/cli/targetRequestFile.js +63 -0
  166. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  167. package/dist/cli/targetSecretSourceInput.js +121 -0
  168. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  169. package/dist/cli/targetWorldClockCommand.js +42 -0
  170. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  171. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  172. package/dist/cli/trainCommand.d.ts +3 -0
  173. package/dist/cli/trainCommand.js +61 -0
  174. package/dist/cli/upCommand.d.ts +3 -0
  175. package/dist/cli/upCommand.js +162 -0
  176. package/dist/cli/upImageCommand.d.ts +11 -0
  177. package/dist/cli/upImageCommand.js +41 -0
  178. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  179. package/dist/cli/upLifecycleInvocation.js +48 -0
  180. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  181. package/dist/cli/upLifecycleRecovery.js +197 -0
  182. package/dist/cli/usageCommand.d.ts +40 -0
  183. package/dist/cli/usageCommand.js +284 -0
  184. package/dist/cli/usageCommandLive.d.ts +84 -0
  185. package/dist/cli/usageCommandLive.js +95 -0
  186. package/dist/cli/usageDeploymentSource.d.ts +9 -0
  187. package/dist/cli/usageDeploymentSource.js +22 -0
  188. package/dist/cli/workspaceResourceMigrationCommand.d.ts +8 -0
  189. package/dist/cli/workspaceResourceMigrationCommand.js +36 -0
  190. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  191. package/dist/compiler/agentNodeMerge.js +79 -0
  192. package/dist/compiler/agentSurfaces.js +11 -1
  193. package/dist/compiler/buildCompilePlan.js +17 -0
  194. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  195. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  196. package/dist/compiler/buildCompilePlanTeams.d.ts +2 -1
  197. package/dist/compiler/buildCompilePlanTeams.js +9 -1
  198. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  199. package/dist/compiler/buildProject.d.ts +11 -0
  200. package/dist/compiler/buildProject.js +77 -2
  201. package/dist/compiler/compilePlanHelpers.js +5 -0
  202. package/dist/compiler/compileProject.d.ts +15 -0
  203. package/dist/compiler/compileProject.js +31 -75
  204. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  205. package/dist/compiler/compileProjectPolicy.js +21 -0
  206. package/dist/compiler/compileProjectReports.d.ts +9 -0
  207. package/dist/compiler/compileProjectReports.js +52 -0
  208. package/dist/compiler/compileProjectSupport.js +9 -0
  209. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  210. package/dist/compiler/containerArtifactSummaries.js +138 -0
  211. package/dist/compiler/containerArtifacts.d.ts +12 -0
  212. package/dist/compiler/containerArtifacts.js +180 -127
  213. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  214. package/dist/compiler/containerArtifactsPlans.js +54 -124
  215. package/dist/compiler/containerArtifactsRender.d.ts +5 -2
  216. package/dist/compiler/containerArtifactsRender.js +106 -70
  217. package/dist/compiler/containerArtifactsTypes.d.ts +20 -0
  218. package/dist/compiler/containerBackedMountRender.d.ts +56 -0
  219. package/dist/compiler/containerBackedMountRender.js +101 -0
  220. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  221. package/dist/compiler/containerConfigEnvRender.js +54 -0
  222. package/dist/compiler/containerDaimonBrokerRender.d.ts +112 -0
  223. package/dist/compiler/containerDaimonBrokerRender.js +191 -0
  224. package/dist/compiler/containerDaimonGrokWorkerProvisioning.d.ts +38 -0
  225. package/dist/compiler/containerDaimonGrokWorkerProvisioning.js +108 -0
  226. package/dist/compiler/containerDaimonGrokWorkerRender.d.ts +172 -0
  227. package/dist/compiler/containerDaimonGrokWorkerRender.js +268 -0
  228. package/dist/compiler/containerDaimonOwnershipGuardRender.d.ts +12 -0
  229. package/dist/compiler/containerDaimonOwnershipGuardRender.js +191 -0
  230. package/dist/compiler/containerDaimonUidEntrypointRender.d.ts +24 -0
  231. package/dist/compiler/containerDaimonUidEntrypointRender.js +297 -0
  232. package/dist/compiler/containerEntrypointRender.d.ts +8 -0
  233. package/dist/compiler/containerEntrypointRender.js +82 -72
  234. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  235. package/dist/compiler/containerEntrypointShell.js +29 -0
  236. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  237. package/dist/compiler/containerPackageOverrides.js +63 -0
  238. package/dist/compiler/containerPersistentMounts.d.ts +30 -0
  239. package/dist/compiler/containerPersistentMounts.js +66 -0
  240. package/dist/compiler/containerReadinessPaths.d.ts +1 -0
  241. package/dist/compiler/containerReadinessPaths.js +1 -0
  242. package/dist/compiler/containerRuntimeLinkMaterializer.d.ts +2 -0
  243. package/dist/compiler/containerRuntimeLinkMaterializer.js +12 -0
  244. package/dist/compiler/containerRuntimeReadinessRender.d.ts +7 -0
  245. package/dist/compiler/containerRuntimeReadinessRender.js +40 -0
  246. package/dist/compiler/containerStateOwnershipRender.d.ts +4 -0
  247. package/dist/compiler/containerStateOwnershipRender.js +75 -0
  248. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  249. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  250. package/dist/compiler/containerTargetResources.d.ts +22 -1
  251. package/dist/compiler/containerTargetResources.js +94 -2
  252. package/dist/compiler/containerVolumeBootstrap.d.ts +3 -0
  253. package/dist/compiler/containerVolumeBootstrap.js +3 -0
  254. package/dist/compiler/containerWorkspaceResourceRender.js +49 -1
  255. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  256. package/dist/compiler/daimonTelemetryArtifacts.js +56 -0
  257. package/dist/compiler/deploymentLineage.d.ts +40 -0
  258. package/dist/compiler/deploymentLineage.js +50 -0
  259. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  260. package/dist/compiler/dockerBuildContext.js +159 -0
  261. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  262. package/dist/compiler/dockerBuildSkip.js +81 -0
  263. package/dist/compiler/index.d.ts +7 -0
  264. package/dist/compiler/index.js +7 -0
  265. package/dist/compiler/initProject.d.ts +2 -0
  266. package/dist/compiler/initProject.js +39 -1
  267. package/dist/compiler/localMoltnetAuthority.d.ts +64 -0
  268. package/dist/compiler/localMoltnetAuthority.js +177 -0
  269. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  270. package/dist/compiler/memoryArtifacts.js +210 -0
  271. package/dist/compiler/memoryResolution.d.ts +4 -0
  272. package/dist/compiler/memoryResolution.js +147 -0
  273. package/dist/compiler/modelEnv.d.ts +7 -0
  274. package/dist/compiler/modelEnv.js +13 -1
  275. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  276. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  277. package/dist/compiler/moltnetArtifactPaths.d.ts +31 -0
  278. package/dist/compiler/moltnetArtifactPaths.js +51 -0
  279. package/dist/compiler/moltnetArtifactTypes.d.ts +56 -0
  280. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  281. package/dist/compiler/moltnetArtifacts.d.ts +3 -41
  282. package/dist/compiler/moltnetArtifacts.js +87 -101
  283. package/dist/compiler/moltnetBinaries.d.ts +33 -4
  284. package/dist/compiler/moltnetBinaries.js +173 -26
  285. package/dist/compiler/moltnetClientConfig.js +7 -2
  286. package/dist/compiler/moltnetConfigLowering.d.ts +18 -1
  287. package/dist/compiler/moltnetConfigLowering.js +92 -6
  288. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  289. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  290. package/dist/compiler/moltnetNodeConfig.js +7 -2
  291. package/dist/compiler/moltnetReleaseAuthority.d.ts +40 -0
  292. package/dist/compiler/moltnetReleaseAuthority.js +102 -0
  293. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  294. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  295. package/dist/compiler/moltnetRepresentativeResolution.d.ts +2 -1
  296. package/dist/compiler/moltnetRepresentativeResolution.js +17 -3
  297. package/dist/compiler/moltnetResolution.js +67 -21
  298. package/dist/compiler/moltnetRoomMemberships.js +52 -9
  299. package/dist/compiler/moltnetRoomPolicyCompatibility.d.ts +1 -1
  300. package/dist/compiler/moltnetRoomPolicyCompatibility.js +3 -1
  301. package/dist/compiler/moltnetRuntimeConfig.d.ts +1 -1
  302. package/dist/compiler/moltnetRuntimeConfig.js +22 -2
  303. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  304. package/dist/compiler/moltnetServerPlans.js +151 -0
  305. package/dist/compiler/organizationExternalParticipants.d.ts +3 -0
  306. package/dist/compiler/organizationExternalParticipants.js +176 -0
  307. package/dist/compiler/organizationIdentity.d.ts +21 -0
  308. package/dist/compiler/organizationIdentity.js +64 -0
  309. package/dist/compiler/organizationIdentityGraph.d.ts +15 -0
  310. package/dist/compiler/organizationIdentityGraph.js +115 -0
  311. package/dist/compiler/organizationReadyEvidence.d.ts +57 -0
  312. package/dist/compiler/organizationReadyEvidence.js +281 -0
  313. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  314. package/dist/compiler/projectManifestGraph.js +24 -0
  315. package/dist/compiler/runProject.d.ts +8 -2
  316. package/dist/compiler/runProject.js +62 -27
  317. package/dist/compiler/runProjectAuth.d.ts +10 -2
  318. package/dist/compiler/runProjectAuth.js +105 -11
  319. package/dist/compiler/runProjectDaimonCodexDocker.d.ts +3 -0
  320. package/dist/compiler/runProjectDaimonCodexDocker.js +36 -0
  321. package/dist/compiler/runProjectDocker.d.ts +11 -0
  322. package/dist/compiler/runProjectDocker.js +64 -16
  323. package/dist/compiler/runProjectDockerDaimonGuards.d.ts +15 -0
  324. package/dist/compiler/runProjectDockerDaimonGuards.js +122 -0
  325. package/dist/compiler/runProjectDockerReservation.d.ts +3 -0
  326. package/dist/compiler/runProjectDockerReservation.js +118 -0
  327. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  328. package/dist/compiler/runProjectLifecycle.js +40 -0
  329. package/dist/compiler/syncProjectAuth.js +4 -1
  330. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  331. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  332. package/dist/compiler/teamContextSupport.js +32 -40
  333. package/dist/compiler/teamContextTypes.d.ts +2 -0
  334. package/dist/compiler/training/broker/declaration.d.ts +45 -0
  335. package/dist/compiler/training/broker/declaration.js +55 -0
  336. package/dist/compiler/training/broker/entrypoint.d.ts +39 -0
  337. package/dist/compiler/training/broker/entrypoint.js +111 -0
  338. package/dist/compiler/training/broker/index.d.ts +10 -0
  339. package/dist/compiler/training/broker/index.js +10 -0
  340. package/dist/compiler/training/broker/main.d.ts +2 -0
  341. package/dist/compiler/training/broker/main.js +14 -0
  342. package/dist/compiler/training/broker/paths.d.ts +196 -0
  343. package/dist/compiler/training/broker/paths.js +241 -0
  344. package/dist/compiler/training/broker/processes.d.ts +42 -0
  345. package/dist/compiler/training/broker/processes.js +99 -0
  346. package/dist/compiler/training/broker/projection.d.ts +51 -0
  347. package/dist/compiler/training/broker/projection.js +76 -0
  348. package/dist/compiler/training/broker/provisioning.d.ts +87 -0
  349. package/dist/compiler/training/broker/provisioning.js +213 -0
  350. package/dist/compiler/training/broker/receipt.d.ts +77 -0
  351. package/dist/compiler/training/broker/receipt.js +110 -0
  352. package/dist/compiler/training/broker/registration.d.ts +41 -0
  353. package/dist/compiler/training/broker/registration.js +102 -0
  354. package/dist/compiler/training/broker/runtime.d.ts +25 -0
  355. package/dist/compiler/training/broker/runtime.js +173 -0
  356. package/dist/compiler/training/broker/seccompRoutes.d.ts +31 -0
  357. package/dist/compiler/training/broker/seccompRoutes.js +36 -0
  358. package/dist/compiler/training/broker/supervisor.d.ts +109 -0
  359. package/dist/compiler/training/broker/supervisor.js +173 -0
  360. package/dist/compiler/training/container/contract.d.ts +31 -0
  361. package/dist/compiler/training/container/contract.js +33 -0
  362. package/dist/compiler/training/container/index.d.ts +4 -0
  363. package/dist/compiler/training/container/index.js +2 -0
  364. package/dist/compiler/training/container/launch.d.ts +18 -0
  365. package/dist/compiler/training/container/launch.js +173 -0
  366. package/dist/compiler/training/container/prepare.d.ts +8 -0
  367. package/dist/compiler/training/container/prepare.js +80 -0
  368. package/dist/compiler/training/container/process.d.ts +14 -0
  369. package/dist/compiler/training/container/process.js +70 -0
  370. package/dist/compiler/training/container/security.d.ts +36 -0
  371. package/dist/compiler/training/container/security.js +58 -0
  372. package/dist/compiler/training/context.d.ts +7 -0
  373. package/dist/compiler/training/context.js +93 -0
  374. package/dist/compiler/training/contract.d.ts +142 -0
  375. package/dist/compiler/training/contract.js +34 -0
  376. package/dist/compiler/training/index.d.ts +4 -0
  377. package/dist/compiler/training/index.js +3 -0
  378. package/dist/compiler/training/preparation/assets/Dockerfile +98 -0
  379. package/dist/compiler/training/preparation/assets/package-lock.json +3787 -0
  380. package/dist/compiler/training/preparation/broker.d.ts +21 -0
  381. package/dist/compiler/training/preparation/broker.js +43 -0
  382. package/dist/compiler/training/preparation/contextModes.d.ts +12 -0
  383. package/dist/compiler/training/preparation/contextModes.js +38 -0
  384. package/dist/compiler/training/preparation/contract.d.ts +182 -0
  385. package/dist/compiler/training/preparation/contract.js +94 -0
  386. package/dist/compiler/training/preparation/copyAssets.d.ts +1 -0
  387. package/dist/compiler/training/preparation/copyAssets.js +8 -0
  388. package/dist/compiler/training/preparation/daimonParent.d.ts +42 -0
  389. package/dist/compiler/training/preparation/daimonParent.js +114 -0
  390. package/dist/compiler/training/preparation/files.d.ts +25 -0
  391. package/dist/compiler/training/preparation/files.js +85 -0
  392. package/dist/compiler/training/preparation/image.d.ts +28 -0
  393. package/dist/compiler/training/preparation/image.js +102 -0
  394. package/dist/compiler/training/preparation/index.d.ts +3 -0
  395. package/dist/compiler/training/preparation/index.js +2 -0
  396. package/dist/compiler/training/preparation/inputs.d.ts +23 -0
  397. package/dist/compiler/training/preparation/inputs.js +93 -0
  398. package/dist/compiler/training/preparation/prepare.d.ts +33 -0
  399. package/dist/compiler/training/preparation/prepare.js +186 -0
  400. package/dist/compiler/training/preparation/scratch.d.ts +19 -0
  401. package/dist/compiler/training/preparation/scratch.js +48 -0
  402. package/dist/compiler/training/repair/compatibility.d.ts +11 -0
  403. package/dist/compiler/training/repair/compatibility.js +34 -0
  404. package/dist/compiler/training/repair/contract.d.ts +506 -0
  405. package/dist/compiler/training/repair/contract.js +31 -0
  406. package/dist/compiler/training/repair/index.d.ts +3 -0
  407. package/dist/compiler/training/repair/index.js +3 -0
  408. package/dist/compiler/training/repair/prepare.d.ts +230 -0
  409. package/dist/compiler/training/repair/prepare.js +74 -0
  410. package/dist/compiler/training/repair/witness.d.ts +203 -0
  411. package/dist/compiler/training/repair/witness.js +42 -0
  412. package/dist/compiler/types.d.ts +84 -1
  413. package/dist/compiler/upProject.d.ts +31 -1
  414. package/dist/compiler/upProject.js +197 -22
  415. package/dist/compiler/upProjectHandoff.d.ts +62 -0
  416. package/dist/compiler/upProjectHandoff.js +204 -0
  417. package/dist/compiler/upReceipt.d.ts +36 -0
  418. package/dist/compiler/upReceipt.js +127 -0
  419. package/dist/compiler/updateProjectModels.js +43 -60
  420. package/dist/compiler/updateProjectRuntime.js +22 -35
  421. package/dist/compiler/updateProjectSurfaces.js +53 -47
  422. package/dist/compiler/view/types.d.ts +1 -1
  423. package/dist/compiler/workspaceBundleArtifacts.d.ts +3 -0
  424. package/dist/compiler/workspaceBundleArtifacts.js +106 -0
  425. package/dist/compiler/workspaceResources.d.ts +4 -1
  426. package/dist/compiler/workspaceResources.js +12 -7
  427. package/dist/compiler/worldBindings.d.ts +39 -0
  428. package/dist/compiler/worldBindings.js +247 -0
  429. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  430. package/dist/compiler/worldBindingsFile.js +162 -0
  431. package/dist/deployment/artifactsExport.d.ts +49 -0
  432. package/dist/deployment/artifactsExport.js +217 -0
  433. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  434. package/dist/deployment/artifactsExportDocker.js +91 -0
  435. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  436. package/dist/deployment/artifactsExportPlan.js +185 -0
  437. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  438. package/dist/deployment/artifactsExportTypes.js +52 -0
  439. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  440. package/dist/deployment/buildImageCacheStore.js +54 -0
  441. package/dist/deployment/canaryCutover.d.ts +42 -0
  442. package/dist/deployment/canaryCutover.js +140 -0
  443. package/dist/deployment/candidateDiagnostics.d.ts +15 -0
  444. package/dist/deployment/candidateDiagnostics.js +90 -0
  445. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  446. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  447. package/dist/deployment/dockerInspect.d.ts +9 -0
  448. package/dist/deployment/dockerInspect.js +24 -1
  449. package/dist/deployment/dockerLabels.d.ts +2 -0
  450. package/dist/deployment/dockerLabels.js +2 -0
  451. package/dist/deployment/dockerLogs.js +5 -10
  452. package/dist/deployment/dockerManager.d.ts +51 -0
  453. package/dist/deployment/dockerManager.js +124 -1
  454. package/dist/deployment/dockerProbeGateway.d.ts +17 -0
  455. package/dist/deployment/dockerProbeGateway.js +80 -6
  456. package/dist/deployment/dockerRecover.js +9 -1
  457. package/dist/deployment/dockerTeardown.d.ts +32 -0
  458. package/dist/deployment/dockerTeardown.js +61 -0
  459. package/dist/deployment/downDeployment.d.ts +39 -0
  460. package/dist/deployment/downDeployment.js +248 -0
  461. package/dist/deployment/downReceiptTypes.d.ts +36 -0
  462. package/dist/deployment/downReceiptTypes.js +45 -0
  463. package/dist/deployment/index.d.ts +20 -0
  464. package/dist/deployment/index.js +21 -0
  465. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  466. package/dist/deployment/lifecycleCompletion.js +236 -0
  467. package/dist/deployment/lifecycleCompletionContracts.d.ts +224 -0
  468. package/dist/deployment/lifecycleCompletionContracts.js +140 -0
  469. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  470. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  471. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  472. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  473. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  474. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  475. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  476. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  477. package/dist/deployment/lifecycleCompletionPaths.d.ts +12 -0
  478. package/dist/deployment/lifecycleCompletionPaths.js +19 -0
  479. package/dist/deployment/lifecycleCompletionPublication.d.ts +7 -0
  480. package/dist/deployment/lifecycleCompletionPublication.js +49 -0
  481. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  482. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  483. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  484. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  485. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  486. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  487. package/dist/deployment/lifecycleUpRecords.d.ts +11 -0
  488. package/dist/deployment/lifecycleUpRecords.js +127 -0
  489. package/dist/deployment/native/AGENTS.md +11 -0
  490. package/dist/deployment/native/rename-noreplace-arm64 +0 -0
  491. package/dist/deployment/native/rename-noreplace-arm64.provenance.json +1 -0
  492. package/dist/deployment/native/rename-noreplace-x64 +0 -0
  493. package/dist/deployment/native/rename-noreplace-x64.provenance.json +1 -0
  494. package/dist/deployment/noReplaceActivation.d.ts +17 -0
  495. package/dist/deployment/noReplaceActivation.js +50 -0
  496. package/dist/deployment/organizationHandoffAuthorityFsBudget.d.ts +110 -0
  497. package/dist/deployment/organizationHandoffAuthorityFsBudget.js +156 -0
  498. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  499. package/dist/deployment/organizationHandoffAuthorityFsClient.js +187 -0
  500. package/dist/deployment/organizationHandoffAuthorityFsElection.d.ts +21 -0
  501. package/dist/deployment/organizationHandoffAuthorityFsElection.js +57 -0
  502. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  503. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +431 -0
  504. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  505. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  506. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.d.ts +1 -0
  507. package/dist/deployment/organizationHandoffAuthorityFsWorkerStall.fixture.js +16 -0
  508. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  509. package/dist/deployment/organizationHandoffAuthorityStore.js +355 -0
  510. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  511. package/dist/deployment/organizationHandoffAuthorityTypes.js +149 -0
  512. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  513. package/dist/deployment/organizationHandoffTypes.js +80 -0
  514. package/dist/deployment/organizationReady.d.ts +54 -0
  515. package/dist/deployment/organizationReady.js +232 -0
  516. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  517. package/dist/deployment/privateArtifactsExport.js +80 -0
  518. package/dist/deployment/productStateClone.d.ts +43 -0
  519. package/dist/deployment/productStateClone.js +319 -0
  520. package/dist/deployment/record.d.ts +26 -1
  521. package/dist/deployment/record.js +49 -4
  522. package/dist/deployment/target.d.ts +1 -35
  523. package/dist/deployment/target.js +1 -96
  524. package/dist/deployment/upLifecycleRecoveryState.d.ts +23 -0
  525. package/dist/deployment/upLifecycleRecoveryState.js +12 -0
  526. package/dist/deployment/upReceiptTypes.d.ts +137 -0
  527. package/dist/deployment/upReceiptTypes.js +191 -0
  528. package/dist/deployment/workspaceResourceMigration.d.ts +55 -0
  529. package/dist/deployment/workspaceResourceMigration.js +315 -0
  530. package/dist/dev/project.d.ts +7 -0
  531. package/dist/dev/project.js +24 -9
  532. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  533. package/dist/distribution/buildDistributionReport.js +2 -1
  534. package/dist/distribution/consumeImage.d.ts +2 -0
  535. package/dist/distribution/consumeImage.js +98 -73
  536. package/dist/distribution/consumeImageDaimonDocker.d.ts +3 -0
  537. package/dist/distribution/consumeImageDaimonDocker.js +45 -0
  538. package/dist/distribution/consumeImageLifecycle.d.ts +17 -0
  539. package/dist/distribution/consumeImageLifecycle.js +231 -0
  540. package/dist/distribution/consumeImageSupport.d.ts +12 -0
  541. package/dist/distribution/consumeImageSupport.js +15 -0
  542. package/dist/distribution/distributionReportSchema.d.ts +16 -1
  543. package/dist/distribution/distributionReportSchema.js +21 -3
  544. package/dist/distribution/dockerRunner.d.ts +6 -1
  545. package/dist/distribution/dockerRunner.js +31 -4
  546. package/dist/distribution/imageRuntimeAuth.d.ts +9 -1
  547. package/dist/distribution/imageRuntimeAuth.js +70 -1
  548. package/dist/distribution/index.d.ts +3 -3
  549. package/dist/distribution/index.js +2 -2
  550. package/dist/distribution/preflight.js +5 -1
  551. package/dist/distribution/types.d.ts +21 -1
  552. package/dist/distribution/types.js +4 -0
  553. package/dist/evidenceExportHelper/boundedExecutor.d.ts +3 -0
  554. package/dist/evidenceExportHelper/boundedExecutor.js +33 -0
  555. package/dist/evidenceExportHelper/helperProgram.mjs +156 -0
  556. package/dist/evidenceExportHelper/index.d.ts +4 -0
  557. package/dist/evidenceExportHelper/index.js +4 -0
  558. package/dist/evidenceExportHelper/preparedAuthority.d.ts +64 -0
  559. package/dist/evidenceExportHelper/preparedAuthority.js +228 -0
  560. package/dist/evidenceExportHelper/preparedBuilder.d.ts +10 -0
  561. package/dist/evidenceExportHelper/preparedBuilder.js +183 -0
  562. package/dist/evidenceExportHelper/preparedBuilderTypes.d.ts +19 -0
  563. package/dist/evidenceExportHelper/preparedBuilderTypes.js +1 -0
  564. package/dist/evidenceExportHelper/recipe.d.ts +7 -0
  565. package/dist/evidenceExportHelper/recipe.js +83 -0
  566. package/dist/filesystem/io.d.ts +2 -0
  567. package/dist/filesystem/io.js +16 -1
  568. package/dist/filesystem/paths.js +10 -1
  569. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  570. package/dist/ledger/causalConformanceCli.js +41 -0
  571. package/dist/ledger/causeNamespace.d.ts +8 -0
  572. package/dist/ledger/causeNamespace.js +24 -0
  573. package/dist/ledger/conformance.d.ts +83 -0
  574. package/dist/ledger/conformance.js +259 -0
  575. package/dist/ledger/emitters.d.ts +76 -0
  576. package/dist/ledger/emitters.js +188 -0
  577. package/dist/ledger/index.d.ts +4 -0
  578. package/dist/ledger/index.js +4 -0
  579. package/dist/ledger/principal.d.ts +96 -0
  580. package/dist/ledger/principal.js +121 -0
  581. package/dist/manifest/executionSchemas.d.ts +27 -0
  582. package/dist/manifest/executionSchemas.js +21 -2
  583. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  584. package/dist/manifest/externalParticipantSchemas.js +17 -0
  585. package/dist/manifest/index.d.ts +1 -0
  586. package/dist/manifest/index.js +1 -0
  587. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  588. package/dist/manifest/inlineAgentMember.js +9 -0
  589. package/dist/manifest/loadManifest.js +14 -8
  590. package/dist/manifest/mcpSchemas.d.ts +18 -0
  591. package/dist/manifest/mcpSchemas.js +44 -0
  592. package/dist/manifest/memorySchemas.d.ts +245 -0
  593. package/dist/manifest/memorySchemas.js +148 -0
  594. package/dist/manifest/renderSpawnfile.js +22 -131
  595. package/dist/manifest/renderSpawnfileNetworks.js +20 -2
  596. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  597. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  598. package/dist/manifest/renderSpawnfileWorkspace.js +5 -0
  599. package/dist/manifest/scheduleSchemas.d.ts +3 -1
  600. package/dist/manifest/scheduleSchemas.js +91 -5
  601. package/dist/manifest/schemas.d.ts +2034 -40
  602. package/dist/manifest/schemas.js +82 -33
  603. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  604. package/dist/manifest/surfaceSchemas.js +24 -1
  605. package/dist/manifest/teamNetworkAccessSchemas.d.ts +6 -2
  606. package/dist/manifest/teamNetworkAccessSchemas.js +11 -0
  607. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  608. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  609. package/dist/manifest/teamNetworkSchemas.d.ts +25 -190
  610. package/dist/manifest/teamNetworkSchemas.js +21 -317
  611. package/dist/manifest/teamNetworkServerSchemas.d.ts +155 -0
  612. package/dist/manifest/teamNetworkServerSchemas.js +215 -0
  613. package/dist/manifest/workspaceSchemas.d.ts +16 -0
  614. package/dist/manifest/workspaceSchemas.js +11 -0
  615. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  616. package/dist/ownership/siblingBuildFreshness.js +20 -0
  617. package/dist/report/types.d.ts +173 -1
  618. package/dist/runtime/common.d.ts +63 -1
  619. package/dist/runtime/common.js +88 -3
  620. package/dist/runtime/container.d.ts +28 -1
  621. package/dist/runtime/container.js +78 -29
  622. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  623. package/dist/runtime/containerPackageOverrides.js +33 -0
  624. package/dist/runtime/daimon/adapter.d.ts +14 -0
  625. package/dist/runtime/daimon/adapter.js +243 -0
  626. package/dist/runtime/daimon/attention.d.ts +8 -0
  627. package/dist/runtime/daimon/attention.js +32 -0
  628. package/dist/runtime/daimon/config.d.ts +25 -0
  629. package/dist/runtime/daimon/config.js +272 -0
  630. package/dist/runtime/daimon/contractManifest.d.ts +295 -0
  631. package/dist/runtime/daimon/contractManifest.js +319 -0
  632. package/dist/runtime/daimon/grokModel.d.ts +19 -0
  633. package/dist/runtime/daimon/grokModel.js +33 -0
  634. package/dist/runtime/daimon/grokWorkerConfigBytes.d.ts +26 -0
  635. package/dist/runtime/daimon/grokWorkerConfigBytes.js +36 -0
  636. package/dist/runtime/daimon/grokWorkerContract.d.ts +22 -0
  637. package/dist/runtime/daimon/grokWorkerContract.js +48 -0
  638. package/dist/runtime/daimon/memory.d.ts +57 -0
  639. package/dist/runtime/daimon/memory.js +125 -0
  640. package/dist/runtime/daimon/runAuth.d.ts +51 -0
  641. package/dist/runtime/daimon/runAuth.js +279 -0
  642. package/dist/runtime/daimon/runtimeIdentity.d.ts +22 -0
  643. package/dist/runtime/daimon/runtimeIdentity.js +22 -0
  644. package/dist/runtime/daimon/scheduleAuthority.d.ts +3 -0
  645. package/dist/runtime/daimon/scheduleAuthority.js +17 -0
  646. package/dist/runtime/index.d.ts +6 -0
  647. package/dist/runtime/index.js +6 -0
  648. package/dist/runtime/install.d.ts +3 -0
  649. package/dist/runtime/install.js +3 -0
  650. package/dist/runtime/localDaimonAuthority.d.ts +11 -0
  651. package/dist/runtime/localDaimonAuthority.js +77 -0
  652. package/dist/runtime/mnemeMcp.d.ts +28 -0
  653. package/dist/runtime/mnemeMcp.js +135 -0
  654. package/dist/runtime/openclaw/adapter.js +17 -6
  655. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  656. package/dist/runtime/openclaw/mcp.js +69 -0
  657. package/dist/runtime/openclaw/runAuth.js +2 -2
  658. package/dist/runtime/openclaw/scaffold.js +1 -1
  659. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  660. package/dist/runtime/openclaw/schedules.js +74 -0
  661. package/dist/runtime/pi/adapter.d.ts +1 -2
  662. package/dist/runtime/pi/adapter.js +87 -58
  663. package/dist/runtime/pi/appActivitySource.js +114 -2
  664. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  665. package/dist/runtime/pi/appAgentConfig.js +264 -0
  666. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  667. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  668. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  669. package/dist/runtime/pi/appCliSource.js +353 -0
  670. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  671. package/dist/runtime/pi/appControlSource.js +390 -0
  672. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  673. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  674. package/dist/runtime/pi/appCoreSource.d.ts +4 -1
  675. package/dist/runtime/pi/appCoreSource.js +104 -214
  676. package/dist/runtime/pi/appPreludeSource.js +140 -52
  677. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  678. package/dist/runtime/pi/appScheduleSource.js +84 -0
  679. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  680. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  681. package/dist/runtime/pi/appSource.d.ts +4 -1
  682. package/dist/runtime/pi/appSource.js +6 -2
  683. package/dist/runtime/pi/appTemplate.d.ts +8 -22
  684. package/dist/runtime/pi/appTemplate.js +9 -126
  685. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  686. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  687. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  688. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  689. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  690. package/dist/runtime/pi/containerTargets.js +57 -0
  691. package/dist/runtime/pi/runAuth.js +126 -9
  692. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  693. package/dist/runtime/pi/testHelpers.js +40 -0
  694. package/dist/runtime/picoclaw/adapter.js +25 -29
  695. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  696. package/dist/runtime/picoclaw/mcp.js +43 -0
  697. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  698. package/dist/runtime/picoclaw/memory.js +17 -0
  699. package/dist/runtime/picoclaw/runAuth.js +1 -1
  700. package/dist/runtime/picoclaw/scaffold.js +1 -1
  701. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  702. package/dist/runtime/picoclaw/schedules.js +62 -3
  703. package/dist/runtime/registry.d.ts +3 -0
  704. package/dist/runtime/registry.js +19 -2
  705. package/dist/runtime/scheduleUtils.d.ts +3 -0
  706. package/dist/runtime/scheduleUtils.js +19 -0
  707. package/dist/runtime/types.d.ts +50 -2
  708. package/dist/runtime/usageLedger.d.ts +158 -0
  709. package/dist/runtime/usageLedger.js +269 -0
  710. package/dist/runtime/usageLedgerRead.d.ts +48 -0
  711. package/dist/runtime/usageLedgerRead.js +102 -0
  712. package/dist/runtime/usageRequestLedger.d.ts +42 -0
  713. package/dist/runtime/usageRequestLedger.js +72 -0
  714. package/dist/shared/daimonCodexDocker.d.ts +32 -0
  715. package/dist/shared/daimonCodexDocker.js +120 -0
  716. package/dist/shared/daimonGrokSeccompProfile.d.ts +10 -0
  717. package/dist/shared/daimonGrokSeccompProfile.js +11 -0
  718. package/dist/shared/errors.d.ts +1 -1
  719. package/dist/shared/errors.js +2 -2
  720. package/dist/shared/index.d.ts +3 -0
  721. package/dist/shared/index.js +3 -0
  722. package/dist/shared/redaction.d.ts +2 -0
  723. package/dist/shared/redaction.js +10 -0
  724. package/dist/shared/types.d.ts +1 -1
  725. package/dist/shared/volumeNames.d.ts +6 -0
  726. package/dist/shared/volumeNames.js +14 -0
  727. package/dist/status/buildStatus.d.ts +1 -0
  728. package/dist/status/buildStatus.js +2 -0
  729. package/dist/status/compileReport.d.ts +22 -0
  730. package/dist/status/compileReport.js +16 -2
  731. package/dist/status/compiledProbeCollection.d.ts +21 -0
  732. package/dist/status/compiledProbeCollection.js +27 -0
  733. package/dist/status/imageStatusReport.js +6 -0
  734. package/dist/status/index.d.ts +3 -0
  735. package/dist/status/index.js +3 -0
  736. package/dist/status/lifecycleProbes.d.ts +19 -0
  737. package/dist/status/lifecycleProbes.js +174 -0
  738. package/dist/status/moltnetProbes.d.ts +7 -8
  739. package/dist/status/moltnetProbes.js +27 -198
  740. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  741. package/dist/status/moltnetWiringProbes.js +178 -0
  742. package/dist/target/cleanupRun.d.ts +41 -0
  743. package/dist/target/cleanupRun.js +139 -0
  744. package/dist/target/cleanupRunDocker.d.ts +16 -0
  745. package/dist/target/cleanupRunDocker.js +66 -0
  746. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  747. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  748. package/dist/target/composedPreparation.d.ts +205 -0
  749. package/dist/target/composedPreparation.js +223 -0
  750. package/dist/target/containerBundle.d.ts +82 -0
  751. package/dist/target/containerBundle.js +243 -0
  752. package/dist/target/containerBundleArchive.d.ts +31 -0
  753. package/dist/target/containerBundleArchive.js +140 -0
  754. package/dist/target/containerBundleAuthority.d.ts +25 -0
  755. package/dist/target/containerBundleAuthority.js +65 -0
  756. package/dist/target/containerBundleContracts.d.ts +114 -0
  757. package/dist/target/containerBundleContracts.js +173 -0
  758. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  759. package/dist/target/containerBundleFilesystemStore.js +247 -0
  760. package/dist/target/containerBundlePolicy.d.ts +33 -0
  761. package/dist/target/containerBundlePolicy.js +64 -0
  762. package/dist/target/containerBundleStore.d.ts +127 -0
  763. package/dist/target/containerBundleStore.js +284 -0
  764. package/dist/target/contracts.d.ts +538 -0
  765. package/dist/target/contracts.js +373 -0
  766. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  767. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  768. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  769. package/dist/target/dockerArtifactInspection.js +125 -0
  770. package/dist/target/dockerArtifacts.d.ts +21 -0
  771. package/dist/target/dockerArtifacts.js +110 -0
  772. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  773. package/dist/target/dockerArtifactsProvider.js +476 -0
  774. package/dist/target/dockerBaseImage.d.ts +2 -0
  775. package/dist/target/dockerBaseImage.js +11 -0
  776. package/dist/target/dockerCommandExecutor.d.ts +38 -0
  777. package/dist/target/dockerCommandExecutor.js +251 -0
  778. package/dist/target/dockerCommandExecutorCore.d.ts +35 -0
  779. package/dist/target/dockerCommandExecutorCore.js +275 -0
  780. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  781. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  782. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  783. package/dist/target/dockerContextSnapshot.js +158 -0
  784. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  785. package/dist/target/dockerEndpointFingerprint.js +9 -0
  786. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  787. package/dist/target/dockerPreparedArtifact.js +131 -0
  788. package/dist/target/dockerProjectionJson.d.ts +1 -0
  789. package/dist/target/dockerProjectionJson.js +80 -0
  790. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  791. package/dist/target/dockerPublicArtifactSnapshot.js +83 -0
  792. package/dist/target/dockerResources.d.ts +26 -0
  793. package/dist/target/dockerResources.js +162 -0
  794. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  795. package/dist/target/dockerResourcesProvider.js +207 -0
  796. package/dist/target/dockerSecrets.d.ts +39 -0
  797. package/dist/target/dockerSecrets.js +249 -0
  798. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  799. package/dist/target/dockerSecretsAuthority.js +216 -0
  800. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  801. package/dist/target/dockerSecretsLifecycle.js +133 -0
  802. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  803. package/dist/target/dockerSecretsProvider.js +329 -0
  804. package/dist/target/dockerTarget.d.ts +53 -0
  805. package/dist/target/dockerTarget.js +48 -0
  806. package/dist/target/dockerTargetBinding.d.ts +13 -0
  807. package/dist/target/dockerTargetBinding.js +95 -0
  808. package/dist/target/dockerTargetExecFile.d.ts +19 -0
  809. package/dist/target/dockerTargetExecFile.js +194 -0
  810. package/dist/target/dockerWorldClock.d.ts +17 -0
  811. package/dist/target/dockerWorldClock.js +111 -0
  812. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  813. package/dist/target/dockerWorldReadiness.js +119 -0
  814. package/dist/target/dockerWorldService.d.ts +23 -0
  815. package/dist/target/dockerWorldService.js +216 -0
  816. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  817. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  818. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  819. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  820. package/dist/target/dockerWorldServiceProvider.d.ts +64 -0
  821. package/dist/target/dockerWorldServiceProvider.js +330 -0
  822. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  823. package/dist/target/dockerWorldServiceStore.js +367 -0
  824. package/dist/target/evidenceExport.d.ts +57 -0
  825. package/dist/target/evidenceExport.js +527 -0
  826. package/dist/target/evidenceExportArchive.d.ts +10 -0
  827. package/dist/target/evidenceExportArchive.js +302 -0
  828. package/dist/target/evidenceExportContract.d.ts +27 -0
  829. package/dist/target/evidenceExportContract.js +40 -0
  830. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  831. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  832. package/dist/target/evidenceExportProvider.d.ts +87 -0
  833. package/dist/target/evidenceExportProvider.js +197 -0
  834. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  835. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  836. package/dist/target/evidenceExportStore.d.ts +70 -0
  837. package/dist/target/evidenceExportStore.js +498 -0
  838. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  839. package/dist/target/evidenceExportStorePublication.js +395 -0
  840. package/dist/target/handles.d.ts +20 -0
  841. package/dist/target/handles.js +56 -0
  842. package/dist/target/index.d.ts +12 -0
  843. package/dist/target/index.js +11 -0
  844. package/dist/target/journal.d.ts +59 -0
  845. package/dist/target/journal.js +529 -0
  846. package/dist/target/journalFilesystem.d.ts +3 -0
  847. package/dist/target/journalFilesystem.js +111 -0
  848. package/dist/target/journalRoot.d.ts +4 -0
  849. package/dist/target/journalRoot.js +6 -0
  850. package/dist/target/organizationAttachment.d.ts +23 -0
  851. package/dist/target/organizationAttachment.js +263 -0
  852. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  853. package/dist/target/organizationAttachmentAuthority.js +161 -0
  854. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  855. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  856. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  857. package/dist/target/organizationAttachmentProvider.js +289 -0
  858. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  859. package/dist/target/organizationAttachmentStore.js +316 -0
  860. package/dist/target/publicArtifactSnapshot.d.ts +72 -0
  861. package/dist/target/publicArtifactSnapshot.js +184 -0
  862. package/dist/target/topologyActivation.d.ts +51 -0
  863. package/dist/target/topologyActivation.js +149 -0
  864. package/dist/target/topologyAttestation.d.ts +37 -0
  865. package/dist/target/topologyAttestation.js +300 -0
  866. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  867. package/dist/target/topologyAttestationErrors.js +1 -0
  868. package/dist/target/worldClock.d.ts +60 -0
  869. package/dist/target/worldClock.js +129 -0
  870. package/dist/target/worldReadiness.d.ts +103 -0
  871. package/dist/target/worldReadiness.js +153 -0
  872. package/examples/README.md +45 -0
  873. package/examples/agent-with-subagents/AGENTS.md +3 -0
  874. package/examples/agent-with-subagents/Spawnfile +30 -0
  875. package/examples/agent-with-subagents/subagents/critic/AGENTS.md +3 -0
  876. package/examples/agent-with-subagents/subagents/critic/Spawnfile +15 -0
  877. package/examples/agent-with-subagents/subagents/researcher/AGENTS.md +3 -0
  878. package/examples/agent-with-subagents/subagents/researcher/Spawnfile +17 -0
  879. package/examples/daimon-org/Spawnfile +68 -0
  880. package/examples/daimon-org/TEAM.md +4 -0
  881. package/examples/daimon-org/agents/mapper/AGENTS.md +4 -0
  882. package/examples/daimon-org/agents/mapper/Spawnfile +37 -0
  883. package/examples/daimon-org/shared/skills/file-note/SKILL.md +9 -0
  884. package/examples/daimon-org/teams/review/Spawnfile +53 -0
  885. package/examples/daimon-org/teams/review/agents/reviewer/AGENTS.md +4 -0
  886. package/examples/daimon-org/teams/review/agents/reviewer/Spawnfile +37 -0
  887. package/examples/daimon-public-host/AGENTS.md +3 -0
  888. package/examples/daimon-public-host/Spawnfile +21 -0
  889. package/examples/distribution-org/Spawnfile +43 -0
  890. package/examples/distribution-org/TEAM.md +4 -0
  891. package/examples/distribution-org/agents/coordinator/AGENTS.md +1 -0
  892. package/examples/distribution-org/agents/coordinator/Spawnfile +20 -0
  893. package/examples/distribution-org/agents/researcher/AGENTS.md +1 -0
  894. package/examples/distribution-org/agents/researcher/Spawnfile +20 -0
  895. package/examples/jungian-daimon-org/Spawnfile +41 -0
  896. package/examples/jungian-daimon-org/TEAM.md +21 -0
  897. package/examples/jungian-daimon-org/teams/luna/Spawnfile +47 -0
  898. package/examples/jungian-daimon-org/teams/luna/TEAM.md +4 -0
  899. package/examples/jungian-daimon-org/teams/luna/agents/animus/AGENTS.md +10 -0
  900. package/examples/jungian-daimon-org/teams/luna/agents/animus/Spawnfile +33 -0
  901. package/examples/jungian-daimon-org/teams/luna/agents/representative/AGENTS.md +21 -0
  902. package/examples/jungian-daimon-org/teams/luna/agents/representative/Spawnfile +30 -0
  903. package/examples/jungian-daimon-org/teams/luna/agents/shadow/AGENTS.md +10 -0
  904. package/examples/jungian-daimon-org/teams/luna/agents/shadow/Spawnfile +33 -0
  905. package/examples/jungian-daimon-org/teams/selene/Spawnfile +47 -0
  906. package/examples/jungian-daimon-org/teams/selene/TEAM.md +4 -0
  907. package/examples/jungian-daimon-org/teams/selene/agents/animus/AGENTS.md +10 -0
  908. package/examples/jungian-daimon-org/teams/selene/agents/animus/Spawnfile +33 -0
  909. package/examples/jungian-daimon-org/teams/selene/agents/representative/AGENTS.md +19 -0
  910. package/examples/jungian-daimon-org/teams/selene/agents/representative/Spawnfile +33 -0
  911. package/examples/jungian-daimon-org/teams/selene/agents/shadow/AGENTS.md +10 -0
  912. package/examples/jungian-daimon-org/teams/selene/agents/shadow/Spawnfile +30 -0
  913. package/examples/mixed-runtime-org/Spawnfile +71 -0
  914. package/examples/mixed-runtime-org/TEAM.md +8 -0
  915. package/examples/mixed-runtime-org/agents/analyst/AGENTS.md +8 -0
  916. package/examples/mixed-runtime-org/agents/analyst/Spawnfile +27 -0
  917. package/examples/mixed-runtime-org/agents/conductor/AGENTS.md +8 -0
  918. package/examples/mixed-runtime-org/agents/conductor/Spawnfile +27 -0
  919. package/examples/mixed-runtime-org/agents/localist/AGENTS.md +7 -0
  920. package/examples/mixed-runtime-org/agents/localist/Spawnfile +50 -0
  921. package/examples/moltnet-team-chat/Spawnfile +43 -0
  922. package/examples/moltnet-team-chat/TEAM.md +5 -0
  923. package/examples/moltnet-team-chat/agents/coordinator/AGENTS.md +9 -0
  924. package/examples/moltnet-team-chat/agents/coordinator/Spawnfile +26 -0
  925. package/examples/moltnet-team-chat/teams/analysis/Spawnfile +23 -0
  926. package/examples/moltnet-team-chat/teams/analysis/TEAM.md +3 -0
  927. package/examples/moltnet-team-chat/teams/analysis/agents/observer/AGENTS.md +5 -0
  928. package/examples/moltnet-team-chat/teams/analysis/agents/observer/Spawnfile +19 -0
  929. package/examples/moltnet-team-chat/teams/analysis/agents/representative/AGENTS.md +5 -0
  930. package/examples/moltnet-team-chat/teams/analysis/agents/representative/Spawnfile +19 -0
  931. package/examples/moltnet-team-chat/teams/field/Spawnfile +41 -0
  932. package/examples/moltnet-team-chat/teams/field/TEAM.md +3 -0
  933. package/examples/moltnet-team-chat/teams/field/agents/observer/AGENTS.md +5 -0
  934. package/examples/moltnet-team-chat/teams/field/agents/observer/Spawnfile +26 -0
  935. package/examples/moltnet-team-chat/teams/field/agents/representative/AGENTS.md +11 -0
  936. package/examples/moltnet-team-chat/teams/field/agents/representative/Spawnfile +26 -0
  937. package/examples/single-agent/AGENTS.md +3 -0
  938. package/examples/single-agent/HEARTBEAT.md +3 -0
  939. package/examples/single-agent/IDENTITY.md +3 -0
  940. package/examples/single-agent/MEMORY.md +3 -0
  941. package/examples/single-agent/SOUL.md +3 -0
  942. package/examples/single-agent/Spawnfile +41 -0
  943. package/examples/single-agent/skills/web_search/SKILL.md +6 -0
  944. package/moltnet-releases.json +21 -0
  945. package/package.json +57 -14
  946. package/runtimes.yaml +11 -23
  947. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  948. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  949. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  950. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,23 @@
1
+ import { createHash } from "node:crypto";
2
+ import { parseTargetResourceRequest, } from "../target/contracts.js";
3
+ /**
4
+ * Derives the target-owned helper admission immediately preceding an evidence
5
+ * export. The public export revision therefore names the second mutation in
6
+ * this aggregate operation; recovery reuses the completed admission.
7
+ */
8
+ export const createTargetEvidenceHelperResolutionRequest = (request, artifactManifestDigest) => {
9
+ if (request.expected_revision < 1)
10
+ throw new Error("Target operation mismatch");
11
+ return parseTargetResourceRequest({
12
+ artifact_manifest_digest: artifactManifestDigest,
13
+ descriptor_digest: request.descriptor_digest,
14
+ expected_revision: request.expected_revision - 1,
15
+ idempotency_key: `idem_${createHash("sha256")
16
+ .update("spawnfile.target-evidence-helper-resolution.v1\0", "utf8")
17
+ .update(request.idempotency_key, "utf8").digest("hex").slice(0, 32)}`,
18
+ operation: "resolve_world_artifact",
19
+ run_id: request.run_id,
20
+ selected_target: request.selected_target,
21
+ version: "spawnfile.target-resource.request.v1",
22
+ });
23
+ };
@@ -0,0 +1,3 @@
1
+ import { type TargetLookupCommandStreams } from "./targetLookupCommands.js";
2
+ /** Minimal production entry point for lookup; it loads no mutation/provider defaults. */
3
+ export declare const runTargetLookupCli: (argv: string[], stdin?: AsyncIterable<unknown>, streams?: TargetLookupCommandStreams) => Promise<number>;
@@ -0,0 +1,31 @@
1
+ import { Command } from "commander";
2
+ import { createProductionTargetLookupLoader, registerTargetOperationLookup } from "./targetLookupCommands.js";
3
+ const defaultStreams = () => ({
4
+ stderr: (message) => process.stderr.write(`${message}\n`),
5
+ stdout: (message) => process.stdout.write(`${message}\n`)
6
+ });
7
+ const commanderError = (error) => typeof error === "object" && error !== null
8
+ && typeof error.exitCode === "number";
9
+ /** Minimal production entry point for lookup; it loads no mutation/provider defaults. */
10
+ export const runTargetLookupCli = async (argv, stdin = process.stdin, streams = defaultStreams()) => {
11
+ let exitCode = 0;
12
+ const program = new Command();
13
+ program.exitOverride();
14
+ program.configureOutput({ writeErr: () => undefined, writeOut: () => undefined });
15
+ const target = program.command("target").description("Execute target-resource operations");
16
+ target.requiredOption("--config <config-input>", "Strict target configuration JSON stdin; use -");
17
+ registerTargetOperationLookup(target, createProductionTargetLookupLoader(stdin), streams, (code) => { exitCode = code; });
18
+ try {
19
+ await program.parseAsync(argv, { from: "user" });
20
+ return exitCode;
21
+ }
22
+ catch (error) {
23
+ if (commanderError(error)) {
24
+ if (error.exitCode !== 0)
25
+ streams.stderr("error: Invalid target command");
26
+ return error.exitCode === 0 ? 0 : 2;
27
+ }
28
+ streams.stderr("error: Target operation lookup failed");
29
+ return 1;
30
+ }
31
+ };
@@ -0,0 +1,12 @@
1
+ import type { Command } from "commander";
2
+ import { type TargetMutationRequest, type TargetOperationLookup } from "../target/contracts.js";
3
+ export interface TargetLookupCommandStreams {
4
+ stderr(message: string): void;
5
+ stdout(message: string): void;
6
+ }
7
+ export type TargetOperationLookupHandler = (request: TargetMutationRequest) => Promise<TargetOperationLookup>;
8
+ export type TargetOperationLookupLoader = (configInput: unknown) => Promise<TargetOperationLookupHandler>;
9
+ type SetExitCode = (exitCode: 1 | 2) => void;
10
+ export declare const registerTargetOperationLookup: (target: Command, loader: TargetOperationLookupLoader, streams: TargetLookupCommandStreams, setExitCode: SetExitCode) => void;
11
+ export declare const createProductionTargetLookupLoader: (stdin: AsyncIterable<unknown>) => TargetOperationLookupLoader;
12
+ export {};
@@ -0,0 +1,69 @@
1
+ import { parseTargetOperationLookup } from "../target/contracts.js";
2
+ import { createCanonicalTargetOperationLookupBytes, createTargetReceiptDigest, createTargetRequestDigest } from "../target/handles.js";
3
+ import { lookupTargetOperation } from "../target/journal.js";
4
+ import { resolveTargetDefaultJournalRoot } from "../target/journalRoot.js";
5
+ import { readTargetLookupConfigStdin } from "./targetDefaultConfigStdin.js";
6
+ import { readTargetRequestFile } from "./targetRequestFile.js";
7
+ const same = (left, right) => JSON.stringify(left) === JSON.stringify(right);
8
+ const emitLookup = (raw, request, streams) => {
9
+ const result = parseTargetOperationLookup(raw);
10
+ const requestDigest = createTargetRequestDigest(request);
11
+ if (result.idempotency_key !== request.idempotency_key
12
+ || result.operation !== request.operation
13
+ || result.request_digest !== requestDigest)
14
+ throw new TypeError();
15
+ if (result.status === "completed"
16
+ && (result.receipt.receipt_digest !== createTargetReceiptDigest(result.receipt)
17
+ || result.receipt.descriptor_digest !== request.descriptor_digest
18
+ || result.receipt.run_id !== request.run_id
19
+ || !same(result.receipt.selected_target, request.selected_target)
20
+ || result.receipt.resulting_revision !== request.expected_revision + 1)) {
21
+ throw new TypeError();
22
+ }
23
+ streams.stdout(createCanonicalTargetOperationLookupBytes(result));
24
+ };
25
+ export const registerTargetOperationLookup = (target, loader, streams, setExitCode) => {
26
+ target.command("lookup_operation")
27
+ .description("Read the state of one exact target mutation")
28
+ .argument("<request-file>", "Original strict target-resource mutation request JSON file")
29
+ .action(async (requestFile) => {
30
+ let request;
31
+ try {
32
+ const parsed = await readTargetRequestFile(requestFile);
33
+ if (parsed.operation === "select_target")
34
+ throw new TypeError();
35
+ request = parsed;
36
+ }
37
+ catch {
38
+ streams.stderr("error: Invalid target lookup request");
39
+ setExitCode(2);
40
+ return;
41
+ }
42
+ let lookup;
43
+ try {
44
+ lookup = await loader(target.opts().config);
45
+ }
46
+ catch {
47
+ streams.stderr("error: Invalid target lookup configuration");
48
+ setExitCode(2);
49
+ return;
50
+ }
51
+ try {
52
+ emitLookup(await lookup(request), request, streams);
53
+ }
54
+ catch {
55
+ streams.stderr("error: Target operation lookup failed");
56
+ setExitCode(1);
57
+ }
58
+ });
59
+ };
60
+ export const createProductionTargetLookupLoader = (stdin) => async (configInput) => {
61
+ if (configInput !== "-")
62
+ throw new TypeError();
63
+ const config = await readTargetLookupConfigStdin(stdin);
64
+ return (request) => lookupTargetOperation({
65
+ context: config.context,
66
+ request,
67
+ root: resolveTargetDefaultJournalRoot()
68
+ });
69
+ };
@@ -0,0 +1,58 @@
1
+ import type { TargetResourceRequest } from "../target/contracts.js";
2
+ export type TargetOperation = TargetResourceRequest["operation"];
3
+ export type TargetMutationOperation = Exclude<TargetOperation, "select_target">;
4
+ export interface TargetSelectionDispatch {
5
+ readonly kind: "selection";
6
+ readonly operation: "select_target";
7
+ }
8
+ export interface TargetMutationDispatch {
9
+ readonly kind: "mutation";
10
+ readonly operation: TargetMutationOperation;
11
+ }
12
+ export type TargetOperationDispatch = TargetSelectionDispatch | TargetMutationDispatch;
13
+ export declare const TARGET_OPERATION_DISPATCH: Readonly<{
14
+ attach_organization: TargetMutationDispatch & {
15
+ readonly operation: "attach_organization";
16
+ };
17
+ cleanup_run: TargetMutationDispatch & {
18
+ readonly operation: "cleanup_run";
19
+ };
20
+ create_data_network: TargetMutationDispatch & {
21
+ readonly operation: "create_data_network";
22
+ };
23
+ create_evidence_volume: TargetMutationDispatch & {
24
+ readonly operation: "create_evidence_volume";
25
+ };
26
+ create_world_service: TargetMutationDispatch & {
27
+ readonly operation: "create_world_service";
28
+ };
29
+ detach_organization: TargetMutationDispatch & {
30
+ readonly operation: "detach_organization";
31
+ };
32
+ export_evidence_volume: TargetMutationDispatch & {
33
+ readonly operation: "export_evidence_volume";
34
+ };
35
+ prepare_secret_bindings: TargetMutationDispatch & {
36
+ readonly operation: "prepare_secret_bindings";
37
+ };
38
+ recover_operation: TargetMutationDispatch & {
39
+ readonly operation: "recover_operation";
40
+ };
41
+ resolve_world_artifact: TargetMutationDispatch & {
42
+ readonly operation: "resolve_world_artifact";
43
+ };
44
+ revoke_secret_bindings: TargetMutationDispatch & {
45
+ readonly operation: "revoke_secret_bindings";
46
+ };
47
+ select_target: {
48
+ kind: "selection";
49
+ operation: "select_target";
50
+ };
51
+ start_world_service: TargetMutationDispatch & {
52
+ readonly operation: "start_world_service";
53
+ };
54
+ stop_world_service: TargetMutationDispatch & {
55
+ readonly operation: "stop_world_service";
56
+ };
57
+ }>;
58
+ export declare const targetOperationDispatch: (request: TargetResourceRequest) => TargetOperationDispatch;
@@ -0,0 +1,21 @@
1
+ const mutation = (operation) => ({
2
+ kind: "mutation",
3
+ operation
4
+ });
5
+ export const TARGET_OPERATION_DISPATCH = Object.freeze({
6
+ attach_organization: mutation("attach_organization"),
7
+ cleanup_run: mutation("cleanup_run"),
8
+ create_data_network: mutation("create_data_network"),
9
+ create_evidence_volume: mutation("create_evidence_volume"),
10
+ create_world_service: mutation("create_world_service"),
11
+ detach_organization: mutation("detach_organization"),
12
+ export_evidence_volume: mutation("export_evidence_volume"),
13
+ prepare_secret_bindings: mutation("prepare_secret_bindings"),
14
+ recover_operation: mutation("recover_operation"),
15
+ resolve_world_artifact: mutation("resolve_world_artifact"),
16
+ revoke_secret_bindings: mutation("revoke_secret_bindings"),
17
+ select_target: { kind: "selection", operation: "select_target" },
18
+ start_world_service: mutation("start_world_service"),
19
+ stop_world_service: mutation("stop_world_service")
20
+ });
21
+ export const targetOperationDispatch = (request) => TARGET_OPERATION_DISPATCH[request.operation];
@@ -0,0 +1,5 @@
1
+ import type { Command } from "commander";
2
+ import type { TargetDefaultConfig } from "./targetDefaultConfig.js";
3
+ import { type SetTargetCommandExitCode, type TargetCommandHandlerSession, type TargetCommandStreams } from "./targetCommands.js";
4
+ export declare const createProductionTargetCommandSession: (config: TargetDefaultConfig) => TargetCommandHandlerSession;
5
+ export declare const registerProductionTargetCommands: (program: Command, streams: TargetCommandStreams, stdin: AsyncIterable<unknown>, setExitCode: SetTargetCommandExitCode) => void;
@@ -0,0 +1,45 @@
1
+ import { registerContainerBundleCommand } from "./containerBundleCommand.js";
2
+ import { readTargetDefaultConfigStdin, readTargetWorldReadinessConfigStdin, } from "./targetDefaultConfigStdin.js";
3
+ import { createProductionTargetWorldQuerySession } from "./targetDefaultWorldQueries.js";
4
+ import { registerTargetConfigResolverCommand, TARGET_CONFIG_RESOLVER_COMMAND, } from "./targetConfigResolverCommand.js";
5
+ import { createProductionTargetLookupLoader } from "./targetLookupCommands.js";
6
+ import { registerTargetCommands, } from "./targetCommands.js";
7
+ export const createProductionTargetCommandSession = (config) => Object.freeze({
8
+ activateTopology: async (request) => {
9
+ const { activateTargetDefaultTopology } = await import("./targetDefaultHandlers.js");
10
+ return activateTargetDefaultTopology(config, request);
11
+ },
12
+ run: async (invokeHandlers) => {
13
+ const { withTargetDefaultHandlerSession } = await import("./targetDefaultHandlers.js");
14
+ return withTargetDefaultHandlerSession(config, invokeHandlers);
15
+ },
16
+ attestTopology: async (request) => {
17
+ const { attestTargetDefaultTopology } = await import("./targetDefaultHandlers.js");
18
+ return attestTargetDefaultTopology(config, request);
19
+ },
20
+ queryWorldReadiness: async (request) => {
21
+ const { queryTargetDefaultWorldReadiness } = await import("./targetDefaultWorldReadiness.js");
22
+ return queryTargetDefaultWorldReadiness(config, request);
23
+ },
24
+ queryWorldClock: async (request) => {
25
+ const { queryTargetDefaultWorldClock } = await import("./targetDefaultWorldClock.js");
26
+ return queryTargetDefaultWorldClock(config, request);
27
+ },
28
+ snapshotPublicArtifact: async (request) => {
29
+ const { snapshotTargetDefaultPublicArtifact } = await import("./targetDefaultHandlers.js");
30
+ return snapshotTargetDefaultPublicArtifact(config, request);
31
+ },
32
+ });
33
+ export const registerProductionTargetCommands = (program, streams, stdin, setExitCode) => {
34
+ const target = registerTargetCommands(program, async (configInput) => {
35
+ if (configInput !== "-")
36
+ throw new TypeError("Invalid target configuration");
37
+ return createProductionTargetCommandSession(await readTargetDefaultConfigStdin(stdin));
38
+ }, streams, setExitCode, createProductionTargetLookupLoader(stdin), async (configInput) => {
39
+ if (configInput !== "-")
40
+ throw new TypeError("Invalid target configuration");
41
+ return createProductionTargetWorldQuerySession(await readTargetWorldReadinessConfigStdin(stdin));
42
+ }, [TARGET_CONFIG_RESOLVER_COMMAND]);
43
+ registerContainerBundleCommand(target, stdin, streams, setExitCode);
44
+ registerTargetConfigResolverCommand(target, streams, setExitCode);
45
+ };
@@ -0,0 +1,14 @@
1
+ import { type TargetResourceReceipt } from "../target/contracts.js";
2
+ export interface TargetMutationResult {
3
+ readonly receipt: unknown;
4
+ readonly receiptBytes: unknown;
5
+ }
6
+ export interface CanonicalTargetMutationReceipt {
7
+ readonly bytes: string;
8
+ readonly receipt: TargetResourceReceipt;
9
+ }
10
+ export type TargetCliErrorPhase = "operation" | "request";
11
+ export declare const formatTargetCliError: (phase: TargetCliErrorPhase) => string;
12
+ export declare const formatCaughtTargetCliError: (error: unknown, crashMessage: string) => string;
13
+ export declare const validateCanonicalTargetMutationReceipt: (raw: TargetMutationResult) => CanonicalTargetMutationReceipt;
14
+ export declare const emitCanonicalTargetMutationReceipt: (raw: TargetMutationResult, write: (receiptBytes: string) => void) => TargetResourceReceipt;
@@ -0,0 +1,21 @@
1
+ import { createCanonicalTargetReceiptBytes, createTargetReceiptDigest } from "../target/handles.js";
2
+ import { parseTargetResourceReceipt } from "../target/contracts.js";
3
+ import { isSpawnfileError } from "../shared/index.js";
4
+ export const formatTargetCliError = (phase) => phase === "request" ? "error: Invalid target request" : "error: Target operation failed";
5
+ export const formatCaughtTargetCliError = (error, crashMessage) => isSpawnfileError(error)
6
+ ? `error: ${error.message}`
7
+ : `error: ${crashMessage}`;
8
+ export const validateCanonicalTargetMutationReceipt = (raw) => {
9
+ const receipt = parseTargetResourceReceipt(raw.receipt);
10
+ const bytes = createCanonicalTargetReceiptBytes(receipt);
11
+ if (receipt.receipt_digest !== createTargetReceiptDigest(receipt)
12
+ || typeof raw.receiptBytes !== "string" || raw.receiptBytes !== bytes) {
13
+ throw new TypeError("Target operation returned a non-canonical receipt");
14
+ }
15
+ return Object.freeze({ bytes, receipt });
16
+ };
17
+ export const emitCanonicalTargetMutationReceipt = (raw, write) => {
18
+ const validated = validateCanonicalTargetMutationReceipt(raw);
19
+ write(validated.bytes);
20
+ return validated.receipt;
21
+ };
@@ -0,0 +1,14 @@
1
+ import { type TargetTopologyAttestationRequest, type TargetResourceRequest } from "../target/contracts.js";
2
+ import { type ComposedPreparationRequest } from "../target/composedPreparation.js";
3
+ import { type TargetPublicArtifactSnapshotRequest } from "../target/publicArtifactSnapshot.js";
4
+ import { type TargetWorldClockRequest } from "../target/worldClock.js";
5
+ import { type TargetWorldReadinessRequest } from "../target/worldReadiness.js";
6
+ export declare const DEFAULT_TARGET_REQUEST_FILE_BYTES = 262144;
7
+ export declare const MAX_TARGET_REQUEST_FILE_BYTES = 1048576;
8
+ export declare const MAX_TARGET_REQUEST_FILE_PATH_BYTES = 4096;
9
+ export declare const readTargetRequestFile: (filePath: string, byteLimit?: number) => Promise<TargetResourceRequest>;
10
+ export declare const readComposedPreparationRequestFile: (filePath: string, byteLimit?: number) => Promise<ComposedPreparationRequest>;
11
+ export declare const readTargetTopologyAttestationRequestFile: (filePath: string, byteLimit?: number) => Promise<TargetTopologyAttestationRequest>;
12
+ export declare const readTargetPublicArtifactSnapshotRequestFile: (filePath: string, byteLimit?: number) => Promise<TargetPublicArtifactSnapshotRequest>;
13
+ export declare const readTargetWorldReadinessRequestFile: (filePath: string, byteLimit?: number) => Promise<TargetWorldReadinessRequest>;
14
+ export declare const readTargetWorldClockRequestFile: (filePath: string, byteLimit?: number) => Promise<TargetWorldClockRequest>;
@@ -0,0 +1,63 @@
1
+ import { open } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { parseTargetResourceRequest, parseTargetTopologyAttestationRequest } from "../target/contracts.js";
4
+ import { parseComposedPreparationRequest } from "../target/composedPreparation.js";
5
+ import { parseTargetPublicArtifactSnapshotRequest } from "../target/publicArtifactSnapshot.js";
6
+ import { parseTargetWorldClockRequest } from "../target/worldClock.js";
7
+ import { parseTargetWorldReadinessRequest } from "../target/worldReadiness.js";
8
+ export const DEFAULT_TARGET_REQUEST_FILE_BYTES = 262_144;
9
+ export const MAX_TARGET_REQUEST_FILE_BYTES = 1_048_576;
10
+ export const MAX_TARGET_REQUEST_FILE_PATH_BYTES = 4_096;
11
+ const parseByteLimit = (raw) => {
12
+ if (!Number.isSafeInteger(raw) || raw < 1
13
+ || raw > MAX_TARGET_REQUEST_FILE_BYTES) {
14
+ throw new TypeError("Target request-file byte limit is invalid");
15
+ }
16
+ return raw;
17
+ };
18
+ const requireExactAbsolutePath = (raw) => {
19
+ if (typeof raw !== "string" || raw.length < 1 || raw.includes("\0")
20
+ || Buffer.byteLength(raw, "utf8") > MAX_TARGET_REQUEST_FILE_PATH_BYTES
21
+ || !path.isAbsolute(raw) || path.normalize(raw) !== raw) {
22
+ throw new TypeError("Target request file path is invalid");
23
+ }
24
+ return raw;
25
+ };
26
+ const requireObject = (raw) => {
27
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
28
+ throw new TypeError("Target request file must contain one JSON object");
29
+ }
30
+ return raw;
31
+ };
32
+ const readTargetRequestFileValue = async (filePath, byteLimit) => {
33
+ const limit = parseByteLimit(byteLimit);
34
+ const exactPath = requireExactAbsolutePath(filePath);
35
+ const handle = await open(exactPath, "r");
36
+ try {
37
+ const info = await handle.stat();
38
+ if (!info.isFile() || info.size > limit) {
39
+ throw new TypeError("Target request file is not a bounded regular file");
40
+ }
41
+ const bytes = Buffer.alloc(limit + 1);
42
+ let offset = 0;
43
+ while (offset <= limit) {
44
+ const result = await handle.read(bytes, offset, limit + 1 - offset, offset);
45
+ if (result.bytesRead === 0)
46
+ break;
47
+ offset += result.bytesRead;
48
+ }
49
+ if (offset > limit) {
50
+ throw new TypeError("Target request file exceeds the byte limit");
51
+ }
52
+ return requireObject(JSON.parse(bytes.toString("utf8", 0, offset)));
53
+ }
54
+ finally {
55
+ await handle.close();
56
+ }
57
+ };
58
+ export const readTargetRequestFile = async (filePath, byteLimit = DEFAULT_TARGET_REQUEST_FILE_BYTES) => parseTargetResourceRequest(await readTargetRequestFileValue(filePath, byteLimit));
59
+ export const readComposedPreparationRequestFile = async (filePath, byteLimit = DEFAULT_TARGET_REQUEST_FILE_BYTES) => parseComposedPreparationRequest(await readTargetRequestFileValue(filePath, byteLimit));
60
+ export const readTargetTopologyAttestationRequestFile = async (filePath, byteLimit = DEFAULT_TARGET_REQUEST_FILE_BYTES) => parseTargetTopologyAttestationRequest(await readTargetRequestFileValue(filePath, byteLimit));
61
+ export const readTargetPublicArtifactSnapshotRequestFile = async (filePath, byteLimit = DEFAULT_TARGET_REQUEST_FILE_BYTES) => parseTargetPublicArtifactSnapshotRequest(await readTargetRequestFileValue(filePath, byteLimit));
62
+ export const readTargetWorldReadinessRequestFile = async (filePath, byteLimit = DEFAULT_TARGET_REQUEST_FILE_BYTES) => parseTargetWorldReadinessRequest(await readTargetRequestFileValue(filePath, byteLimit));
63
+ export const readTargetWorldClockRequestFile = async (filePath, byteLimit = DEFAULT_TARGET_REQUEST_FILE_BYTES) => parseTargetWorldClockRequest(await readTargetRequestFileValue(filePath, byteLimit));
@@ -0,0 +1,28 @@
1
+ import { type OpaqueTargetSecretSourceHandle } from "../auth/targetSecretSourceRecordCommon.js";
2
+ import { type TargetSecretSourceGrantCommandInput } from "../auth/targetSecretSourceGrantRecords.js";
3
+ export declare const TARGET_SECRET_SOURCE_REQUEST_VERSION: "spawnfile.auth.target-secret.source-request.v1";
4
+ export declare const TARGET_SECRET_SOURCE_GRANT_REQUEST_VERSION: "spawnfile.auth.target-secret.grant-request.v1";
5
+ export declare const TARGET_SECRET_SOURCE_RECEIPT_VERSION: "spawnfile.auth.target-secret.receipt.v1";
6
+ export declare const MAX_TARGET_SECRET_SOURCE_REQUEST_FILE_BYTES = 65536;
7
+ export type TargetSecretSourceCommandKind = "author" | "grant" | "revoke-grant" | "revoke-version" | "rotate";
8
+ export type TargetSecretSourceRequest = Readonly<{
9
+ source_handle: OpaqueTargetSecretSourceHandle;
10
+ version: typeof TARGET_SECRET_SOURCE_REQUEST_VERSION;
11
+ }>;
12
+ export type TargetSecretSourceReceipt = Readonly<{
13
+ kind: TargetSecretSourceCommandKind;
14
+ source_handle: OpaqueTargetSecretSourceHandle;
15
+ version: typeof TARGET_SECRET_SOURCE_RECEIPT_VERSION;
16
+ }>;
17
+ export declare const parseTargetSecretSourceRequestBytes: (bytes: Uint8Array) => TargetSecretSourceRequest;
18
+ export declare const parseTargetSecretSourceGrantRequestBytes: (bytes: Uint8Array) => TargetSecretSourceGrantCommandInput;
19
+ export interface TargetSecretSourceRequestFileOptions {
20
+ readonly beforeReadForTest?: () => Promise<void> | void;
21
+ }
22
+ export declare const readTargetSecretSourceRequestFile: (filePath: string, options?: TargetSecretSourceRequestFileOptions) => Promise<TargetSecretSourceRequest>;
23
+ export declare const readTargetSecretSourceGrantRequestFile: (filePath: string, options?: TargetSecretSourceRequestFileOptions) => Promise<TargetSecretSourceGrantCommandInput>;
24
+ export declare const createTargetSecretSourceReceiptBytes: (raw: Readonly<{
25
+ kind: TargetSecretSourceCommandKind;
26
+ source_handle: unknown;
27
+ }>) => Uint8Array;
28
+ export declare const readBoundedTargetSecretStdin: (input: AsyncIterable<unknown>, maximumBytes: number) => Promise<Uint8Array>;
@@ -0,0 +1,121 @@
1
+ import { Buffer } from "node:buffer";
2
+ import { open } from "node:fs/promises";
3
+ import { MAX_TARGET_SECRET_SOURCE_SECRET_BYTES, TARGET_SECRET_SOURCE_ERROR, assertOrdinaryJsonGraph, createCanonicalTargetSecretSourceJson, parseCanonicalTargetSecretSourceJson, parseTargetSecretSourceOpaqueHandle } from "../auth/targetSecretSourceRecordCommon.js";
4
+ import { parseTargetSecretSourceGrantCommandInput } from "../auth/targetSecretSourceGrantRecords.js";
5
+ export const TARGET_SECRET_SOURCE_REQUEST_VERSION = "spawnfile.auth.target-secret.source-request.v1";
6
+ export const TARGET_SECRET_SOURCE_GRANT_REQUEST_VERSION = "spawnfile.auth.target-secret.grant-request.v1";
7
+ export const TARGET_SECRET_SOURCE_RECEIPT_VERSION = "spawnfile.auth.target-secret.receipt.v1";
8
+ export const MAX_TARGET_SECRET_SOURCE_REQUEST_FILE_BYTES = 65_536;
9
+ const fail = () => { throw new Error(TARGET_SECRET_SOURCE_ERROR); };
10
+ const exact = (raw, keys) => {
11
+ assertOrdinaryJsonGraph(raw);
12
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
13
+ return fail();
14
+ const record = raw;
15
+ const actual = Object.keys(record).sort();
16
+ if (actual.length !== keys.length || actual.some((key, index) => key !== keys[index]))
17
+ fail();
18
+ return record;
19
+ };
20
+ export const parseTargetSecretSourceRequestBytes = (bytes) => {
21
+ const record = exact(parseCanonicalTargetSecretSourceJson(bytes), ["source_handle", "version"]);
22
+ if (record.version !== TARGET_SECRET_SOURCE_REQUEST_VERSION)
23
+ fail();
24
+ return Object.freeze({
25
+ source_handle: parseTargetSecretSourceOpaqueHandle(record.source_handle),
26
+ version: TARGET_SECRET_SOURCE_REQUEST_VERSION
27
+ });
28
+ };
29
+ export const parseTargetSecretSourceGrantRequestBytes = (bytes) => {
30
+ const record = exact(parseCanonicalTargetSecretSourceJson(bytes), ["grant", "version"]);
31
+ if (record.version !== TARGET_SECRET_SOURCE_GRANT_REQUEST_VERSION)
32
+ fail();
33
+ return parseTargetSecretSourceGrantCommandInput(record.grant);
34
+ };
35
+ const readRequestFile = async (filePath, parse, options) => {
36
+ let bytes;
37
+ let handle;
38
+ try {
39
+ handle = await open(filePath, "r");
40
+ const info = await handle.stat();
41
+ if (!info.isFile() || info.size < 1 || info.size > MAX_TARGET_SECRET_SOURCE_REQUEST_FILE_BYTES)
42
+ fail();
43
+ await options.beforeReadForTest?.();
44
+ bytes = Buffer.alloc(info.size + 1);
45
+ let offset = 0;
46
+ while (offset < bytes.length) {
47
+ const { bytesRead } = await handle.read(bytes, offset, bytes.length - offset, offset);
48
+ if (bytesRead === 0)
49
+ break;
50
+ offset += bytesRead;
51
+ }
52
+ if (offset !== info.size)
53
+ fail();
54
+ return parse(bytes.subarray(0, offset));
55
+ }
56
+ catch {
57
+ return fail();
58
+ }
59
+ finally {
60
+ bytes?.fill(0);
61
+ await handle?.close().catch(() => undefined);
62
+ }
63
+ };
64
+ export const readTargetSecretSourceRequestFile = (filePath, options = {}) => readRequestFile(filePath, parseTargetSecretSourceRequestBytes, options);
65
+ export const readTargetSecretSourceGrantRequestFile = (filePath, options = {}) => readRequestFile(filePath, parseTargetSecretSourceGrantRequestBytes, options);
66
+ export const createTargetSecretSourceReceiptBytes = (raw) => {
67
+ try {
68
+ const record = exact(raw, ["kind", "source_handle"]);
69
+ const kinds = ["author", "grant", "revoke-grant", "revoke-version", "rotate"];
70
+ if (!kinds.includes(record.kind))
71
+ fail();
72
+ const receipt = Object.freeze({
73
+ kind: record.kind,
74
+ source_handle: parseTargetSecretSourceOpaqueHandle(record.source_handle),
75
+ version: TARGET_SECRET_SOURCE_RECEIPT_VERSION
76
+ });
77
+ const canonical = createCanonicalTargetSecretSourceJson(receipt);
78
+ return canonical;
79
+ }
80
+ catch {
81
+ return fail();
82
+ }
83
+ };
84
+ export const readBoundedTargetSecretStdin = async (input, maximumBytes) => {
85
+ const chunks = [];
86
+ let total = 0;
87
+ try {
88
+ if (!input || typeof input[Symbol.asyncIterator] !== "function"
89
+ || !Number.isSafeInteger(maximumBytes) || maximumBytes < 1
90
+ || maximumBytes > MAX_TARGET_SECRET_SOURCE_SECRET_BYTES)
91
+ fail();
92
+ for await (const raw of input) {
93
+ if (typeof raw === "string" && Buffer.byteLength(raw, "utf8") > maximumBytes - total)
94
+ fail();
95
+ if (raw instanceof Uint8Array && raw.byteLength > maximumBytes - total)
96
+ fail();
97
+ const chunk = typeof raw === "string" ? new TextEncoder().encode(raw)
98
+ : raw instanceof Uint8Array ? Uint8Array.from(raw) : fail();
99
+ chunks.push(chunk);
100
+ total += chunk.length;
101
+ if (total > maximumBytes)
102
+ fail();
103
+ }
104
+ if (total === 0)
105
+ fail();
106
+ const result = new Uint8Array(total);
107
+ let offset = 0;
108
+ for (const chunk of chunks) {
109
+ result.set(chunk, offset);
110
+ offset += chunk.length;
111
+ }
112
+ return result;
113
+ }
114
+ catch {
115
+ return fail();
116
+ }
117
+ finally {
118
+ for (const chunk of chunks)
119
+ chunk.fill(0);
120
+ }
121
+ };
@@ -0,0 +1,10 @@
1
+ import type { Command } from "commander";
2
+ import { type TargetWorldClockReceipt, type TargetWorldClockRequest } from "../target/worldClock.js";
3
+ export interface TargetWorldClockSession {
4
+ queryWorldClock?(request: TargetWorldClockRequest): Promise<TargetWorldClockReceipt>;
5
+ }
6
+ export type TargetWorldClockSessionLoader = (configInput: unknown) => Promise<TargetWorldClockSession>;
7
+ export declare const registerTargetWorldClockCommand: (target: Command, session: TargetWorldClockSession | TargetWorldClockSessionLoader, streams: {
8
+ readonly stderr: (message: string) => void;
9
+ readonly stdout: (message: string) => void;
10
+ }, setExitCode: (exitCode: 1 | 2) => void) => void;
@@ -0,0 +1,42 @@
1
+ import { createCanonicalTargetWorldClockReceiptBytes, verifyTargetWorldClockReceipt, } from "../target/worldClock.js";
2
+ import { formatCaughtTargetCliError } from "./targetReceiptOutput.js";
3
+ import { readTargetWorldClockRequestFile } from "./targetRequestFile.js";
4
+ export const registerTargetWorldClockCommand = (target, session, streams, setExitCode) => {
5
+ target.command("query_world_clock")
6
+ .description("Query one exact activated world's observed public clock")
7
+ .argument("<request-file>", "Strict world clock request JSON file")
8
+ .action(async (requestFile) => {
9
+ let request;
10
+ try {
11
+ request = await readTargetWorldClockRequestFile(requestFile);
12
+ }
13
+ catch {
14
+ streams.stderr("error: Invalid world clock request");
15
+ setExitCode(2);
16
+ return;
17
+ }
18
+ let active;
19
+ try {
20
+ active = typeof session === "function"
21
+ ? await session(target.opts().config)
22
+ : session;
23
+ if (typeof active.queryWorldClock !== "function")
24
+ throw new TypeError();
25
+ }
26
+ catch {
27
+ streams.stderr("error: Invalid target configuration");
28
+ setExitCode(2);
29
+ return;
30
+ }
31
+ try {
32
+ const receipt = verifyTargetWorldClockReceipt({
33
+ receipt: await active.queryWorldClock(request), request,
34
+ });
35
+ streams.stdout(createCanonicalTargetWorldClockReceiptBytes(receipt));
36
+ }
37
+ catch (error) {
38
+ streams.stderr(formatCaughtTargetCliError(error, "Target world clock query crashed"));
39
+ setExitCode(1);
40
+ }
41
+ });
42
+ };
@@ -0,0 +1,10 @@
1
+ import type { Command } from "commander";
2
+ import { type TargetWorldReadinessRequest, type TargetWorldReadinessReceipt } from "../target/worldReadiness.js";
3
+ export interface TargetWorldReadinessSession {
4
+ queryWorldReadiness?(request: TargetWorldReadinessRequest): Promise<TargetWorldReadinessReceipt>;
5
+ }
6
+ export type TargetWorldReadinessSessionLoader = (configInput: unknown) => Promise<TargetWorldReadinessSession>;
7
+ export declare const registerTargetWorldReadinessCommand: (target: Command, session: TargetWorldReadinessSession | TargetWorldReadinessSessionLoader, streams: {
8
+ readonly stderr: (message: string) => void;
9
+ readonly stdout: (message: string) => void;
10
+ }, setExitCode: (exitCode: 1 | 2) => void) => void;