spawnfile 0.1.12 → 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 (620) hide show
  1. package/README.md +58 -12
  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/runtimeCredentials.js +18 -2
  31. package/dist/auth/targetSecretSourceAuthor.d.ts +18 -0
  32. package/dist/auth/targetSecretSourceAuthor.js +52 -0
  33. package/dist/auth/targetSecretSourceFsPublish.d.ts +15 -0
  34. package/dist/auth/targetSecretSourceFsPublish.js +49 -0
  35. package/dist/auth/targetSecretSourceFsPublishImmutable.d.ts +16 -0
  36. package/dist/auth/targetSecretSourceFsPublishImmutable.js +435 -0
  37. package/dist/auth/targetSecretSourceFsRead.d.ts +14 -0
  38. package/dist/auth/targetSecretSourceFsRead.js +198 -0
  39. package/dist/auth/targetSecretSourceGrant.d.ts +16 -0
  40. package/dist/auth/targetSecretSourceGrant.js +99 -0
  41. package/dist/auth/targetSecretSourceGrantRecords.d.ts +84 -0
  42. package/dist/auth/targetSecretSourceGrantRecords.js +214 -0
  43. package/dist/auth/targetSecretSourceLifecycle.d.ts +30 -0
  44. package/dist/auth/targetSecretSourceLifecycle.js +52 -0
  45. package/dist/auth/targetSecretSourceOwnerEntropy.d.ts +6 -0
  46. package/dist/auth/targetSecretSourceOwnerEntropy.js +28 -0
  47. package/dist/auth/targetSecretSourceRecordCommon.d.ts +14 -0
  48. package/dist/auth/targetSecretSourceRecordCommon.js +100 -0
  49. package/dist/auth/targetSecretSourceRecordPublish.d.ts +10 -0
  50. package/dist/auth/targetSecretSourceRecordPublish.js +104 -0
  51. package/dist/auth/targetSecretSourceResolver.d.ts +10 -0
  52. package/dist/auth/targetSecretSourceResolver.js +137 -0
  53. package/dist/auth/targetSecretSourceRevoke.d.ts +20 -0
  54. package/dist/auth/targetSecretSourceRevoke.js +92 -0
  55. package/dist/auth/targetSecretSourceRotate.d.ts +19 -0
  56. package/dist/auth/targetSecretSourceRotate.js +121 -0
  57. package/dist/auth/targetSecretSourceVersionRecords.d.ts +49 -0
  58. package/dist/auth/targetSecretSourceVersionRecords.js +166 -0
  59. package/dist/cli/artifactsCommands.d.ts +27 -0
  60. package/dist/cli/artifactsCommands.js +132 -0
  61. package/dist/cli/authCommands.d.ts +5 -0
  62. package/dist/cli/authCommands.js +221 -0
  63. package/dist/cli/compileBuildCommands.d.ts +3 -0
  64. package/dist/cli/compileBuildCommands.js +35 -0
  65. package/dist/cli/containerBundleCommand.d.ts +6 -0
  66. package/dist/cli/containerBundleCommand.js +116 -0
  67. package/dist/cli/devCommands.d.ts +3 -0
  68. package/dist/cli/devCommands.js +115 -0
  69. package/dist/cli/downCommand.d.ts +25 -0
  70. package/dist/cli/downCommand.js +134 -0
  71. package/dist/cli/index.js +6 -3
  72. package/dist/cli/lifecycleCommands.d.ts +1 -1
  73. package/dist/cli/lifecycleCommands.js +11 -179
  74. package/dist/cli/lifecycleMachine.d.ts +19 -0
  75. package/dist/cli/lifecycleMachine.js +78 -0
  76. package/dist/cli/lifecyclePlan.d.ts +35 -0
  77. package/dist/cli/lifecyclePlan.js +240 -0
  78. package/dist/cli/lifecyclePlanningCommands.d.ts +3 -0
  79. package/dist/cli/lifecyclePlanningCommands.js +30 -0
  80. package/dist/cli/runCli.d.ts +15 -2
  81. package/dist/cli/runCli.js +31 -71
  82. package/dist/cli/runPublishCommands.d.ts +3 -0
  83. package/dist/cli/runPublishCommands.js +70 -0
  84. package/dist/cli/statusCommand.d.ts +3 -32
  85. package/dist/cli/statusCommand.js +37 -233
  86. package/dist/cli/statusCommandLive.d.ts +20 -0
  87. package/dist/cli/statusCommandLive.js +188 -0
  88. package/dist/cli/statusCommandOptions.d.ts +40 -0
  89. package/dist/cli/statusCommandOptions.js +42 -0
  90. package/dist/cli/targetCliRoute.d.ts +2 -0
  91. package/dist/cli/targetCliRoute.js +30 -0
  92. package/dist/cli/targetCommands.d.ts +33 -0
  93. package/dist/cli/targetCommands.js +257 -0
  94. package/dist/cli/targetComposedPreparationCommand.d.ts +6 -0
  95. package/dist/cli/targetComposedPreparationCommand.js +39 -0
  96. package/dist/cli/targetDefaultArtifactAuthority.d.ts +5 -0
  97. package/dist/cli/targetDefaultArtifactAuthority.js +28 -0
  98. package/dist/cli/targetDefaultAuthorities.d.ts +53 -0
  99. package/dist/cli/targetDefaultAuthorities.js +210 -0
  100. package/dist/cli/targetDefaultConfig.d.ts +68 -0
  101. package/dist/cli/targetDefaultConfig.js +317 -0
  102. package/dist/cli/targetDefaultConfigStdin.d.ts +13 -0
  103. package/dist/cli/targetDefaultConfigStdin.js +215 -0
  104. package/dist/cli/targetDefaultEnvelope.d.ts +1 -0
  105. package/dist/cli/targetDefaultEnvelope.js +13 -0
  106. package/dist/cli/targetDefaultHandlerFactory.d.ts +28 -0
  107. package/dist/cli/targetDefaultHandlerFactory.js +247 -0
  108. package/dist/cli/targetDefaultHandlers.d.ts +21 -0
  109. package/dist/cli/targetDefaultHandlers.js +72 -0
  110. package/dist/cli/targetDefaultJournalAuthority.d.ts +35 -0
  111. package/dist/cli/targetDefaultJournalAuthority.js +135 -0
  112. package/dist/cli/targetDefaultWorldClock.d.ts +4 -0
  113. package/dist/cli/targetDefaultWorldClock.js +14 -0
  114. package/dist/cli/targetDefaultWorldQueries.d.ts +5 -0
  115. package/dist/cli/targetDefaultWorldQueries.js +11 -0
  116. package/dist/cli/targetDefaultWorldReadiness.d.ts +4 -0
  117. package/dist/cli/targetDefaultWorldReadiness.js +17 -0
  118. package/dist/cli/targetEvidenceHelperResolution.d.ts +14 -0
  119. package/dist/cli/targetEvidenceHelperResolution.js +23 -0
  120. package/dist/cli/targetLookupCli.d.ts +3 -0
  121. package/dist/cli/targetLookupCli.js +31 -0
  122. package/dist/cli/targetLookupCommands.d.ts +12 -0
  123. package/dist/cli/targetLookupCommands.js +69 -0
  124. package/dist/cli/targetOperationDispatch.d.ts +58 -0
  125. package/dist/cli/targetOperationDispatch.js +21 -0
  126. package/dist/cli/targetReceiptOutput.d.ts +14 -0
  127. package/dist/cli/targetReceiptOutput.js +21 -0
  128. package/dist/cli/targetRequestFile.d.ts +14 -0
  129. package/dist/cli/targetRequestFile.js +63 -0
  130. package/dist/cli/targetSecretSourceInput.d.ts +28 -0
  131. package/dist/cli/targetSecretSourceInput.js +121 -0
  132. package/dist/cli/targetWorldClockCommand.d.ts +10 -0
  133. package/dist/cli/targetWorldClockCommand.js +42 -0
  134. package/dist/cli/targetWorldClockCrossProcess.test-helper.d.ts +13 -0
  135. package/dist/cli/targetWorldClockCrossProcess.test-helper.js +109 -0
  136. package/dist/cli/targetWorldReadinessCommand.d.ts +10 -0
  137. package/dist/cli/targetWorldReadinessCommand.js +43 -0
  138. package/dist/cli/upCommand.d.ts +3 -0
  139. package/dist/cli/upCommand.js +133 -0
  140. package/dist/cli/upImageCommand.d.ts +11 -0
  141. package/dist/cli/upImageCommand.js +41 -0
  142. package/dist/cli/upLifecycleInvocation.d.ts +41 -0
  143. package/dist/cli/upLifecycleInvocation.js +48 -0
  144. package/dist/cli/upLifecycleRecovery.d.ts +4 -0
  145. package/dist/cli/upLifecycleRecovery.js +53 -0
  146. package/dist/compiler/agentNodeMerge.d.ts +2 -0
  147. package/dist/compiler/agentNodeMerge.js +79 -0
  148. package/dist/compiler/agentSurfaces.js +11 -1
  149. package/dist/compiler/buildCompilePlan.js +17 -0
  150. package/dist/compiler/buildCompilePlanAgent.d.ts +11 -0
  151. package/dist/compiler/buildCompilePlanAgent.js +56 -0
  152. package/dist/compiler/buildCompilePlanTeams.d.ts +1 -0
  153. package/dist/compiler/buildCompilePlanTeams.js +4 -1
  154. package/dist/compiler/buildCompilePlanTraversal.js +75 -82
  155. package/dist/compiler/buildProject.d.ts +20 -1
  156. package/dist/compiler/buildProject.js +121 -7
  157. package/dist/compiler/compilePlanHelpers.js +2 -0
  158. package/dist/compiler/compileProject.d.ts +15 -0
  159. package/dist/compiler/compileProject.js +29 -75
  160. package/dist/compiler/compileProjectPolicy.d.ts +5 -0
  161. package/dist/compiler/compileProjectPolicy.js +21 -0
  162. package/dist/compiler/compileProjectReports.d.ts +9 -0
  163. package/dist/compiler/compileProjectReports.js +52 -0
  164. package/dist/compiler/containerArtifactSummaries.d.ts +7 -0
  165. package/dist/compiler/containerArtifactSummaries.js +138 -0
  166. package/dist/compiler/containerArtifacts.d.ts +10 -0
  167. package/dist/compiler/containerArtifacts.js +126 -125
  168. package/dist/compiler/containerArtifactsPlans.d.ts +5 -3
  169. package/dist/compiler/containerArtifactsPlans.js +31 -118
  170. package/dist/compiler/containerArtifactsRender.d.ts +3 -1
  171. package/dist/compiler/containerArtifactsRender.js +40 -81
  172. package/dist/compiler/containerArtifactsTypes.d.ts +12 -0
  173. package/dist/compiler/containerConfigEnvRender.d.ts +3 -0
  174. package/dist/compiler/containerConfigEnvRender.js +54 -0
  175. package/dist/compiler/containerEntrypointRender.d.ts +1 -0
  176. package/dist/compiler/containerEntrypointRender.js +60 -53
  177. package/dist/compiler/containerEntrypointShell.d.ts +5 -0
  178. package/dist/compiler/containerEntrypointShell.js +29 -0
  179. package/dist/compiler/containerPackageOverrides.d.ts +27 -0
  180. package/dist/compiler/containerPackageOverrides.js +63 -0
  181. package/dist/compiler/containerPackageRender.d.ts +15 -0
  182. package/dist/compiler/containerPackageRender.js +63 -0
  183. package/dist/compiler/containerTargetPlanResolution.d.ts +20 -0
  184. package/dist/compiler/containerTargetPlanResolution.js +97 -0
  185. package/dist/compiler/containerTargetResources.js +3 -1
  186. package/dist/compiler/daimonTelemetryArtifacts.d.ts +22 -0
  187. package/dist/compiler/daimonTelemetryArtifacts.js +61 -0
  188. package/dist/compiler/dockerBuildContext.d.ts +16 -0
  189. package/dist/compiler/dockerBuildContext.js +159 -0
  190. package/dist/compiler/dockerBuildSkip.d.ts +30 -0
  191. package/dist/compiler/dockerBuildSkip.js +81 -0
  192. package/dist/compiler/index.d.ts +4 -0
  193. package/dist/compiler/index.js +4 -0
  194. package/dist/compiler/memoryArtifacts.d.ts +26 -0
  195. package/dist/compiler/memoryArtifacts.js +134 -0
  196. package/dist/compiler/memoryResolution.d.ts +4 -0
  197. package/dist/compiler/memoryResolution.js +147 -0
  198. package/dist/compiler/modelEnv.d.ts +2 -0
  199. package/dist/compiler/modelEnv.js +6 -0
  200. package/dist/compiler/moltnetAllowedWakeSendersValidation.d.ts +2 -0
  201. package/dist/compiler/moltnetAllowedWakeSendersValidation.js +42 -0
  202. package/dist/compiler/moltnetArtifactPaths.d.ts +26 -0
  203. package/dist/compiler/moltnetArtifactPaths.js +49 -0
  204. package/dist/compiler/moltnetArtifactTypes.d.ts +46 -0
  205. package/dist/compiler/moltnetArtifactTypes.js +1 -0
  206. package/dist/compiler/moltnetArtifacts.d.ts +2 -40
  207. package/dist/compiler/moltnetArtifacts.js +56 -95
  208. package/dist/compiler/moltnetBinaries.d.ts +21 -1
  209. package/dist/compiler/moltnetBinaries.js +156 -28
  210. package/dist/compiler/moltnetClientConfig.js +18 -2
  211. package/dist/compiler/moltnetConfigLowering.d.ts +16 -1
  212. package/dist/compiler/moltnetConfigLowering.js +67 -5
  213. package/dist/compiler/moltnetExternalParticipantArtifact.d.ts +38 -0
  214. package/dist/compiler/moltnetExternalParticipantArtifact.js +188 -0
  215. package/dist/compiler/moltnetNodeConfig.js +7 -2
  216. package/dist/compiler/moltnetReleaseAuthority.d.ts +17 -0
  217. package/dist/compiler/moltnetReleaseAuthority.js +73 -0
  218. package/dist/compiler/moltnetReleaseDownload.d.ts +12 -0
  219. package/dist/compiler/moltnetReleaseDownload.js +85 -0
  220. package/dist/compiler/moltnetRepresentativeResolution.d.ts +1 -0
  221. package/dist/compiler/moltnetRepresentativeResolution.js +16 -2
  222. package/dist/compiler/moltnetResolution.js +72 -20
  223. package/dist/compiler/moltnetRoomMemberships.js +37 -9
  224. package/dist/compiler/moltnetRuntimeConfig.js +11 -0
  225. package/dist/compiler/moltnetServerPlans.d.ts +9 -0
  226. package/dist/compiler/moltnetServerPlans.js +132 -0
  227. package/dist/compiler/organizationIdentity.d.ts +27 -0
  228. package/dist/compiler/organizationIdentity.js +297 -0
  229. package/dist/compiler/organizationReadyEvidence.d.ts +49 -0
  230. package/dist/compiler/organizationReadyEvidence.js +261 -0
  231. package/dist/compiler/projectManifestGraph.d.ts +4 -0
  232. package/dist/compiler/projectManifestGraph.js +24 -0
  233. package/dist/compiler/runProject.d.ts +4 -0
  234. package/dist/compiler/runProject.js +37 -22
  235. package/dist/compiler/runProjectAuth.d.ts +7 -1
  236. package/dist/compiler/runProjectAuth.js +87 -9
  237. package/dist/compiler/runProjectDocker.d.ts +7 -0
  238. package/dist/compiler/runProjectDocker.js +187 -19
  239. package/dist/compiler/runProjectLifecycle.d.ts +7 -0
  240. package/dist/compiler/runProjectLifecycle.js +40 -0
  241. package/dist/compiler/syncProjectAuth.js +4 -1
  242. package/dist/compiler/teamContextActiveEnvironments.d.ts +13 -0
  243. package/dist/compiler/teamContextActiveEnvironments.js +255 -0
  244. package/dist/compiler/teamContextSupport.js +32 -40
  245. package/dist/compiler/teamContextTypes.d.ts +2 -0
  246. package/dist/compiler/types.d.ts +82 -1
  247. package/dist/compiler/upProject.d.ts +5 -0
  248. package/dist/compiler/upProject.js +257 -20
  249. package/dist/compiler/upReceipt.d.ts +36 -0
  250. package/dist/compiler/upReceipt.js +82 -0
  251. package/dist/compiler/updateProjectModels.js +42 -60
  252. package/dist/compiler/updateProjectRuntime.js +22 -35
  253. package/dist/compiler/updateProjectSurfaces.js +53 -47
  254. package/dist/compiler/worldBindings.d.ts +39 -0
  255. package/dist/compiler/worldBindings.js +247 -0
  256. package/dist/compiler/worldBindingsFile.d.ts +5 -0
  257. package/dist/compiler/worldBindingsFile.js +162 -0
  258. package/dist/deployment/artifactsExport.d.ts +49 -0
  259. package/dist/deployment/artifactsExport.js +217 -0
  260. package/dist/deployment/artifactsExportDocker.d.ts +48 -0
  261. package/dist/deployment/artifactsExportDocker.js +91 -0
  262. package/dist/deployment/artifactsExportPlan.d.ts +24 -0
  263. package/dist/deployment/artifactsExportPlan.js +135 -0
  264. package/dist/deployment/artifactsExportTypes.d.ts +50 -0
  265. package/dist/deployment/artifactsExportTypes.js +52 -0
  266. package/dist/deployment/buildImageCacheStore.d.ts +23 -0
  267. package/dist/deployment/buildImageCacheStore.js +54 -0
  268. package/dist/deployment/deploymentLifecycleCorrelation.d.ts +11 -0
  269. package/dist/deployment/deploymentLifecycleCorrelation.js +33 -0
  270. package/dist/deployment/dockerInspect.d.ts +9 -0
  271. package/dist/deployment/dockerInspect.js +24 -1
  272. package/dist/deployment/dockerLabels.d.ts +2 -0
  273. package/dist/deployment/dockerLabels.js +2 -0
  274. package/dist/deployment/dockerLogs.js +2 -10
  275. package/dist/deployment/dockerManager.d.ts +51 -0
  276. package/dist/deployment/dockerManager.js +118 -1
  277. package/dist/deployment/dockerProbeGateway.js +64 -5
  278. package/dist/deployment/dockerRecover.d.ts +17 -0
  279. package/dist/deployment/dockerRecover.js +137 -0
  280. package/dist/deployment/dockerTeardown.d.ts +32 -0
  281. package/dist/deployment/dockerTeardown.js +61 -0
  282. package/dist/deployment/downDeployment.d.ts +34 -0
  283. package/dist/deployment/downDeployment.js +147 -0
  284. package/dist/deployment/downReceiptTypes.d.ts +21 -0
  285. package/dist/deployment/downReceiptTypes.js +30 -0
  286. package/dist/deployment/index.d.ts +17 -0
  287. package/dist/deployment/index.js +18 -0
  288. package/dist/deployment/lifecycleCompletion.d.ts +37 -0
  289. package/dist/deployment/lifecycleCompletion.js +236 -0
  290. package/dist/deployment/lifecycleCompletionContracts.d.ts +158 -0
  291. package/dist/deployment/lifecycleCompletionContracts.js +106 -0
  292. package/dist/deployment/lifecycleCompletionHeartbeat.d.ts +2 -0
  293. package/dist/deployment/lifecycleCompletionHeartbeat.js +50 -0
  294. package/dist/deployment/lifecycleCompletionLookup.d.ts +18 -0
  295. package/dist/deployment/lifecycleCompletionLookup.js +88 -0
  296. package/dist/deployment/lifecycleCompletionOwner.d.ts +8 -0
  297. package/dist/deployment/lifecycleCompletionOwner.js +31 -0
  298. package/dist/deployment/lifecycleCompletionParsing.d.ts +12 -0
  299. package/dist/deployment/lifecycleCompletionParsing.js +108 -0
  300. package/dist/deployment/lifecycleCompletionPaths.d.ts +9 -0
  301. package/dist/deployment/lifecycleCompletionPaths.js +16 -0
  302. package/dist/deployment/lifecycleCompletionPublication.d.ts +5 -0
  303. package/dist/deployment/lifecycleCompletionPublication.js +35 -0
  304. package/dist/deployment/lifecycleCompletionRecovery.d.ts +21 -0
  305. package/dist/deployment/lifecycleCompletionRecovery.js +56 -0
  306. package/dist/deployment/lifecycleCompletionRoot.d.ts +21 -0
  307. package/dist/deployment/lifecycleCompletionRoot.js +243 -0
  308. package/dist/deployment/lifecycleCompletionStore.d.ts +6 -0
  309. package/dist/deployment/lifecycleCompletionStore.js +151 -0
  310. package/dist/deployment/organizationHandoffAuthorityFsClient.d.ts +17 -0
  311. package/dist/deployment/organizationHandoffAuthorityFsClient.js +132 -0
  312. package/dist/deployment/organizationHandoffAuthorityFsWorker.d.ts +1 -0
  313. package/dist/deployment/organizationHandoffAuthorityFsWorker.js +285 -0
  314. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.d.ts +1 -0
  315. package/dist/deployment/organizationHandoffAuthorityFsWorkerParent.fixture.js +26 -0
  316. package/dist/deployment/organizationHandoffAuthorityStore.d.ts +41 -0
  317. package/dist/deployment/organizationHandoffAuthorityStore.js +348 -0
  318. package/dist/deployment/organizationHandoffAuthorityTypes.d.ts +76 -0
  319. package/dist/deployment/organizationHandoffAuthorityTypes.js +148 -0
  320. package/dist/deployment/organizationHandoffTypes.d.ts +29 -0
  321. package/dist/deployment/organizationHandoffTypes.js +80 -0
  322. package/dist/deployment/organizationReady.d.ts +52 -0
  323. package/dist/deployment/organizationReady.js +200 -0
  324. package/dist/deployment/privateArtifactsExport.d.ts +18 -0
  325. package/dist/deployment/privateArtifactsExport.js +80 -0
  326. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.d.ts +8 -0
  327. package/dist/deployment/providerRuntimeBoundaryScanner.test-helper.js +60 -0
  328. package/dist/deployment/record.d.ts +26 -1
  329. package/dist/deployment/record.js +49 -4
  330. package/dist/deployment/simfileFixtureBoundary.test-helper.d.ts +8 -0
  331. package/dist/deployment/simfileFixtureBoundary.test-helper.js +103 -0
  332. package/dist/deployment/target.d.ts +1 -35
  333. package/dist/deployment/target.js +1 -96
  334. package/dist/deployment/upReceiptTypes.d.ts +111 -0
  335. package/dist/deployment/upReceiptTypes.js +164 -0
  336. package/dist/dev/activity.d.ts +14 -0
  337. package/dist/dev/activity.js +48 -0
  338. package/dist/dev/docker.d.ts +16 -0
  339. package/dist/dev/docker.js +71 -0
  340. package/dist/dev/index.d.ts +2 -0
  341. package/dist/dev/index.js +2 -0
  342. package/dist/dev/project.d.ts +35 -0
  343. package/dist/dev/project.js +170 -0
  344. package/dist/distribution/buildDistributionReport.d.ts +2 -1
  345. package/dist/distribution/buildDistributionReport.js +2 -1
  346. package/dist/distribution/distributionReportSchema.d.ts +5 -0
  347. package/dist/distribution/distributionReportSchema.js +7 -2
  348. package/dist/distribution/index.d.ts +2 -2
  349. package/dist/distribution/index.js +1 -1
  350. package/dist/distribution/types.d.ts +7 -0
  351. package/dist/distribution/types.js +1 -0
  352. package/dist/filesystem/paths.js +10 -1
  353. package/dist/ledger/causalConformanceCli.d.ts +1 -0
  354. package/dist/ledger/causalConformanceCli.js +41 -0
  355. package/dist/ledger/causeNamespace.d.ts +8 -0
  356. package/dist/ledger/causeNamespace.js +24 -0
  357. package/dist/ledger/conformance.d.ts +83 -0
  358. package/dist/ledger/conformance.js +259 -0
  359. package/dist/ledger/emitters.d.ts +76 -0
  360. package/dist/ledger/emitters.js +188 -0
  361. package/dist/ledger/index.d.ts +4 -0
  362. package/dist/ledger/index.js +4 -0
  363. package/dist/ledger/principal.d.ts +96 -0
  364. package/dist/ledger/principal.js +121 -0
  365. package/dist/manifest/externalParticipantSchemas.d.ts +18 -0
  366. package/dist/manifest/externalParticipantSchemas.js +17 -0
  367. package/dist/manifest/index.d.ts +1 -0
  368. package/dist/manifest/index.js +1 -0
  369. package/dist/manifest/inlineAgentMember.d.ts +2 -0
  370. package/dist/manifest/inlineAgentMember.js +9 -0
  371. package/dist/manifest/loadManifest.js +14 -8
  372. package/dist/manifest/mcpSchemas.d.ts +17 -0
  373. package/dist/manifest/mcpSchemas.js +41 -0
  374. package/dist/manifest/memorySchemas.d.ts +245 -0
  375. package/dist/manifest/memorySchemas.js +148 -0
  376. package/dist/manifest/renderSpawnfile.js +22 -131
  377. package/dist/manifest/renderSpawnfileNetworks.js +9 -2
  378. package/dist/manifest/renderSpawnfileSurfaces.d.ts +2 -0
  379. package/dist/manifest/renderSpawnfileSurfaces.js +134 -0
  380. package/dist/manifest/schemas.d.ts +1868 -99
  381. package/dist/manifest/schemas.js +78 -32
  382. package/dist/manifest/surfaceSchemas.d.ts +17 -0
  383. package/dist/manifest/surfaceSchemas.js +24 -1
  384. package/dist/manifest/teamNetworkAccessSchemas.d.ts +1 -1
  385. package/dist/manifest/teamNetworkAuthSchemas.d.ts +48 -0
  386. package/dist/manifest/teamNetworkAuthSchemas.js +103 -0
  387. package/dist/manifest/teamNetworkSchemas.d.ts +8 -187
  388. package/dist/manifest/teamNetworkSchemas.js +3 -317
  389. package/dist/manifest/teamNetworkServerSchemas.d.ts +150 -0
  390. package/dist/manifest/teamNetworkServerSchemas.js +199 -0
  391. package/dist/ownership/siblingBuildFreshness.d.ts +20 -0
  392. package/dist/ownership/siblingBuildFreshness.js +20 -0
  393. package/dist/ownership/simfileRunOperatorInputs.d.ts +103 -0
  394. package/dist/ownership/simfileRunOperatorInputs.js +139 -0
  395. package/dist/report/types.d.ts +142 -0
  396. package/dist/runtime/common.d.ts +37 -0
  397. package/dist/runtime/common.js +56 -1
  398. package/dist/runtime/container.d.ts +29 -1
  399. package/dist/runtime/container.js +127 -11
  400. package/dist/runtime/containerPackageOverrides.d.ts +37 -0
  401. package/dist/runtime/containerPackageOverrides.js +33 -0
  402. package/dist/runtime/index.d.ts +2 -0
  403. package/dist/runtime/index.js +2 -0
  404. package/dist/runtime/install.d.ts +1 -1
  405. package/dist/runtime/install.js +43 -1
  406. package/dist/runtime/mnemeMcp.d.ts +15 -0
  407. package/dist/runtime/mnemeMcp.js +109 -0
  408. package/dist/runtime/openclaw/adapter.js +15 -4
  409. package/dist/runtime/openclaw/mcp.d.ts +10 -0
  410. package/dist/runtime/openclaw/mcp.js +69 -0
  411. package/dist/runtime/openclaw/runAuth.js +2 -2
  412. package/dist/runtime/openclaw/scaffold.js +1 -1
  413. package/dist/runtime/openclaw/schedules.d.ts +38 -0
  414. package/dist/runtime/openclaw/schedules.js +74 -0
  415. package/dist/runtime/pi/adapter.d.ts +4 -0
  416. package/dist/runtime/pi/adapter.js +231 -0
  417. package/dist/runtime/pi/appActivitySource.d.ts +1 -0
  418. package/dist/runtime/pi/appActivitySource.js +199 -0
  419. package/dist/runtime/pi/appAgentConfig.d.ts +11 -0
  420. package/dist/runtime/pi/appAgentConfig.js +264 -0
  421. package/dist/runtime/pi/appCliEnginesSource.d.ts +1 -0
  422. package/dist/runtime/pi/appCliEnginesSource.js +183 -0
  423. package/dist/runtime/pi/appCliSource.d.ts +1 -0
  424. package/dist/runtime/pi/appCliSource.js +353 -0
  425. package/dist/runtime/pi/appControlSource.d.ts +1 -0
  426. package/dist/runtime/pi/appControlSource.js +390 -0
  427. package/dist/runtime/pi/appControlWakeIdentitySource.d.ts +1 -0
  428. package/dist/runtime/pi/appControlWakeIdentitySource.js +19 -0
  429. package/dist/runtime/pi/appCoreSource.d.ts +4 -0
  430. package/dist/runtime/pi/appCoreSource.js +244 -0
  431. package/dist/runtime/pi/appPreludeSource.d.ts +1 -0
  432. package/dist/runtime/pi/appPreludeSource.js +191 -0
  433. package/dist/runtime/pi/appScheduleSource.d.ts +1 -0
  434. package/dist/runtime/pi/appScheduleSource.js +80 -0
  435. package/dist/runtime/pi/appScriptedEngine.d.ts +31 -0
  436. package/dist/runtime/pi/appScriptedEngine.js +42 -0
  437. package/dist/runtime/pi/appSource.d.ts +4 -0
  438. package/dist/runtime/pi/appSource.js +12 -0
  439. package/dist/runtime/pi/appTemplate.d.ts +14 -0
  440. package/dist/runtime/pi/appTemplate.js +27 -0
  441. package/dist/runtime/pi/appTemplateTypes.d.ts +64 -0
  442. package/dist/runtime/pi/appTemplateTypes.js +18 -0
  443. package/dist/runtime/pi/appWakeContextSource.d.ts +1 -0
  444. package/dist/runtime/pi/appWakeContextSource.js +398 -0
  445. package/dist/runtime/pi/containerTargets.d.ts +4 -0
  446. package/dist/runtime/pi/containerTargets.js +57 -0
  447. package/dist/runtime/pi/runAuth.d.ts +2 -0
  448. package/dist/runtime/pi/runAuth.js +185 -0
  449. package/dist/runtime/pi/testHelpers.d.ts +2 -0
  450. package/dist/runtime/pi/testHelpers.js +40 -0
  451. package/dist/runtime/picoclaw/adapter.js +23 -27
  452. package/dist/runtime/picoclaw/mcp.d.ts +4 -0
  453. package/dist/runtime/picoclaw/mcp.js +43 -0
  454. package/dist/runtime/picoclaw/memory.d.ts +7 -0
  455. package/dist/runtime/picoclaw/memory.js +17 -0
  456. package/dist/runtime/picoclaw/runAuth.js +1 -1
  457. package/dist/runtime/picoclaw/scaffold.js +1 -1
  458. package/dist/runtime/picoclaw/schedules.d.ts +26 -0
  459. package/dist/runtime/picoclaw/schedules.js +62 -3
  460. package/dist/runtime/registry.js +3 -0
  461. package/dist/runtime/scheduleUtils.d.ts +2 -0
  462. package/dist/runtime/scheduleUtils.js +15 -0
  463. package/dist/runtime/types.d.ts +26 -2
  464. package/dist/shared/errors.d.ts +1 -1
  465. package/dist/shared/errors.js +2 -2
  466. package/dist/shared/index.d.ts +1 -0
  467. package/dist/shared/index.js +1 -0
  468. package/dist/shared/redaction.d.ts +2 -0
  469. package/dist/shared/redaction.js +10 -0
  470. package/dist/status/buildStatus.d.ts +1 -0
  471. package/dist/status/buildStatus.js +2 -0
  472. package/dist/status/compileReport.d.ts +22 -0
  473. package/dist/status/compileReport.js +16 -2
  474. package/dist/status/compiledProbeCollection.d.ts +21 -0
  475. package/dist/status/compiledProbeCollection.js +27 -0
  476. package/dist/status/deployments.js +5 -12
  477. package/dist/status/imageStatusReport.js +6 -0
  478. package/dist/status/index.d.ts +3 -0
  479. package/dist/status/index.js +3 -0
  480. package/dist/status/lifecycleProbes.d.ts +19 -0
  481. package/dist/status/lifecycleProbes.js +174 -0
  482. package/dist/status/moltnetProbes.d.ts +7 -8
  483. package/dist/status/moltnetProbes.js +27 -198
  484. package/dist/status/moltnetWiringProbes.d.ts +19 -0
  485. package/dist/status/moltnetWiringProbes.js +178 -0
  486. package/dist/target/cleanupRun.d.ts +41 -0
  487. package/dist/target/cleanupRun.js +139 -0
  488. package/dist/target/cleanupRunDocker.d.ts +16 -0
  489. package/dist/target/cleanupRunDocker.js +66 -0
  490. package/dist/target/cleanupRunDocker.test-helper.d.ts +67 -0
  491. package/dist/target/cleanupRunDocker.test-helper.js +238 -0
  492. package/dist/target/cleanupRunDockerPreflight.d.ts +17 -0
  493. package/dist/target/cleanupRunDockerPreflight.js +224 -0
  494. package/dist/target/composedPreparation.d.ts +205 -0
  495. package/dist/target/composedPreparation.js +223 -0
  496. package/dist/target/containerBundle.d.ts +82 -0
  497. package/dist/target/containerBundle.js +243 -0
  498. package/dist/target/containerBundleArchive.d.ts +31 -0
  499. package/dist/target/containerBundleArchive.js +140 -0
  500. package/dist/target/containerBundleAuthority.d.ts +25 -0
  501. package/dist/target/containerBundleAuthority.js +65 -0
  502. package/dist/target/containerBundleContracts.d.ts +114 -0
  503. package/dist/target/containerBundleContracts.js +173 -0
  504. package/dist/target/containerBundleFilesystemStore.d.ts +3 -0
  505. package/dist/target/containerBundleFilesystemStore.js +247 -0
  506. package/dist/target/containerBundlePolicy.d.ts +33 -0
  507. package/dist/target/containerBundlePolicy.js +64 -0
  508. package/dist/target/containerBundleStore.d.ts +127 -0
  509. package/dist/target/containerBundleStore.js +284 -0
  510. package/dist/target/contracts.d.ts +538 -0
  511. package/dist/target/contracts.js +373 -0
  512. package/dist/target/dockerArtifactIdentityTypes.d.ts +56 -0
  513. package/dist/target/dockerArtifactIdentityTypes.js +1 -0
  514. package/dist/target/dockerArtifactInspection.d.ts +40 -0
  515. package/dist/target/dockerArtifactInspection.js +125 -0
  516. package/dist/target/dockerArtifacts.d.ts +21 -0
  517. package/dist/target/dockerArtifacts.js +110 -0
  518. package/dist/target/dockerArtifactsProvider.d.ts +41 -0
  519. package/dist/target/dockerArtifactsProvider.js +449 -0
  520. package/dist/target/dockerCommandExecutor.d.ts +27 -0
  521. package/dist/target/dockerCommandExecutor.js +200 -0
  522. package/dist/target/dockerCommandExecutorCore.d.ts +34 -0
  523. package/dist/target/dockerCommandExecutorCore.js +273 -0
  524. package/dist/target/dockerContainerBundleBuilder.d.ts +8 -0
  525. package/dist/target/dockerContainerBundleBuilder.js +256 -0
  526. package/dist/target/dockerContextSnapshot.d.ts +21 -0
  527. package/dist/target/dockerContextSnapshot.js +158 -0
  528. package/dist/target/dockerEndpointFingerprint.d.ts +1 -0
  529. package/dist/target/dockerEndpointFingerprint.js +9 -0
  530. package/dist/target/dockerPreparedArtifact.d.ts +48 -0
  531. package/dist/target/dockerPreparedArtifact.js +131 -0
  532. package/dist/target/dockerProjectionJson.d.ts +1 -0
  533. package/dist/target/dockerProjectionJson.js +80 -0
  534. package/dist/target/dockerPublicArtifactSnapshot.d.ts +17 -0
  535. package/dist/target/dockerPublicArtifactSnapshot.js +99 -0
  536. package/dist/target/dockerResources.d.ts +26 -0
  537. package/dist/target/dockerResources.js +162 -0
  538. package/dist/target/dockerResourcesProvider.d.ts +44 -0
  539. package/dist/target/dockerResourcesProvider.js +207 -0
  540. package/dist/target/dockerSecrets.d.ts +39 -0
  541. package/dist/target/dockerSecrets.js +249 -0
  542. package/dist/target/dockerSecretsAuthority.d.ts +26 -0
  543. package/dist/target/dockerSecretsAuthority.js +216 -0
  544. package/dist/target/dockerSecretsLifecycle.d.ts +25 -0
  545. package/dist/target/dockerSecretsLifecycle.js +133 -0
  546. package/dist/target/dockerSecretsProvider.d.ts +68 -0
  547. package/dist/target/dockerSecretsProvider.js +329 -0
  548. package/dist/target/dockerTarget.d.ts +52 -0
  549. package/dist/target/dockerTarget.js +48 -0
  550. package/dist/target/dockerTargetBinding.d.ts +14 -0
  551. package/dist/target/dockerTargetBinding.js +96 -0
  552. package/dist/target/dockerWorldClock.d.ts +17 -0
  553. package/dist/target/dockerWorldClock.js +111 -0
  554. package/dist/target/dockerWorldReadiness.d.ts +17 -0
  555. package/dist/target/dockerWorldReadiness.js +119 -0
  556. package/dist/target/dockerWorldService.d.ts +23 -0
  557. package/dist/target/dockerWorldService.js +216 -0
  558. package/dist/target/dockerWorldServiceAuthority.d.ts +80 -0
  559. package/dist/target/dockerWorldServiceAuthority.js +182 -0
  560. package/dist/target/dockerWorldServiceLifecycle.d.ts +41 -0
  561. package/dist/target/dockerWorldServiceLifecycle.js +275 -0
  562. package/dist/target/dockerWorldServiceProvider.d.ts +60 -0
  563. package/dist/target/dockerWorldServiceProvider.js +318 -0
  564. package/dist/target/dockerWorldServiceStore.d.ts +73 -0
  565. package/dist/target/dockerWorldServiceStore.js +367 -0
  566. package/dist/target/evidenceExport.d.ts +55 -0
  567. package/dist/target/evidenceExport.js +518 -0
  568. package/dist/target/evidenceExportArchive.d.ts +10 -0
  569. package/dist/target/evidenceExportArchive.js +302 -0
  570. package/dist/target/evidenceExportContract.d.ts +27 -0
  571. package/dist/target/evidenceExportContract.js +40 -0
  572. package/dist/target/evidenceExportOperationsTestKit.d.ts +87 -0
  573. package/dist/target/evidenceExportOperationsTestKit.js +312 -0
  574. package/dist/target/evidenceExportProvider.d.ts +85 -0
  575. package/dist/target/evidenceExportProvider.js +187 -0
  576. package/dist/target/evidenceExportPublicationTypes.d.ts +16 -0
  577. package/dist/target/evidenceExportPublicationTypes.js +1 -0
  578. package/dist/target/evidenceExportStore.d.ts +70 -0
  579. package/dist/target/evidenceExportStore.js +498 -0
  580. package/dist/target/evidenceExportStorePublication.d.ts +7 -0
  581. package/dist/target/evidenceExportStorePublication.js +395 -0
  582. package/dist/target/handles.d.ts +20 -0
  583. package/dist/target/handles.js +56 -0
  584. package/dist/target/index.d.ts +12 -0
  585. package/dist/target/index.js +11 -0
  586. package/dist/target/journal.d.ts +59 -0
  587. package/dist/target/journal.js +529 -0
  588. package/dist/target/journalFilesystem.d.ts +3 -0
  589. package/dist/target/journalFilesystem.js +111 -0
  590. package/dist/target/journalRoot.d.ts +4 -0
  591. package/dist/target/journalRoot.js +6 -0
  592. package/dist/target/organizationAttachment.d.ts +23 -0
  593. package/dist/target/organizationAttachment.js +263 -0
  594. package/dist/target/organizationAttachmentAuthority.d.ts +65 -0
  595. package/dist/target/organizationAttachmentAuthority.js +161 -0
  596. package/dist/target/organizationAttachmentLifecycle.d.ts +17 -0
  597. package/dist/target/organizationAttachmentLifecycle.js +101 -0
  598. package/dist/target/organizationAttachmentProvider.d.ts +76 -0
  599. package/dist/target/organizationAttachmentProvider.js +289 -0
  600. package/dist/target/organizationAttachmentStore.d.ts +51 -0
  601. package/dist/target/organizationAttachmentStore.js +316 -0
  602. package/dist/target/publicArtifactSnapshot.d.ts +41 -0
  603. package/dist/target/publicArtifactSnapshot.js +150 -0
  604. package/dist/target/topologyActivation.d.ts +51 -0
  605. package/dist/target/topologyActivation.js +149 -0
  606. package/dist/target/topologyAttestation.d.ts +37 -0
  607. package/dist/target/topologyAttestation.js +300 -0
  608. package/dist/target/topologyAttestationErrors.d.ts +1 -0
  609. package/dist/target/topologyAttestationErrors.js +1 -0
  610. package/dist/target/worldClock.d.ts +60 -0
  611. package/dist/target/worldClock.js +129 -0
  612. package/dist/target/worldReadiness.d.ts +103 -0
  613. package/dist/target/worldReadiness.js +153 -0
  614. package/moltnet-releases.json +20 -0
  615. package/package.json +29 -8
  616. package/runtimes.yaml +28 -27
  617. package/dist/runtime/openclaw/scaffold-assets/CLAUDE.md +0 -5
  618. package/dist/runtime/picoclaw/scaffold-assets/CLAUDE.md +0 -5
  619. /package/dist/runtime/openclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
  620. /package/dist/runtime/picoclaw/scaffold-assets/{AGENTS.md → WORKSPACE_AGENTS.md} +0 -0
@@ -0,0 +1,116 @@
1
+ import { constants } from "node:fs";
2
+ import { open } from "node:fs/promises";
3
+ import path from "node:path";
4
+ import { createTargetLocalContainerBundleOperations } from "../target/containerBundle.js";
5
+ import { createContainerBundlePreparationAuthority } from "../target/containerBundleAuthority.js";
6
+ import { createCanonicalTargetLocalBundleLookupBytes, createCanonicalTargetLocalBundleReceiptBytes, parseTargetLocalBundleLookupRequest, parseTargetLocalBundlePrepareRequest } from "../target/containerBundleContracts.js";
7
+ import { initializeFilesystemTargetLocalBundleStore } from "../target/containerBundleFilesystemStore.js";
8
+ import { createDockerTargetLocalBundleBuilder } from "../target/dockerContainerBundleBuilder.js";
9
+ import { createDockerTargetExecutors } from "../target/dockerCommandExecutor.js";
10
+ import { deriveTargetLocalContainerBundlePolicy } from "../target/containerBundlePolicy.js";
11
+ import { readTargetDefaultConfigStdin } from "./targetDefaultConfigStdin.js";
12
+ const MAX_BUNDLE_REQUEST_FILE_BYTES = 5_600_000;
13
+ const readJson = async (raw) => {
14
+ if (typeof raw !== "string" || raw.includes("\0") || !path.isAbsolute(raw) || path.normalize(raw) !== raw
15
+ || Buffer.byteLength(raw, "utf8") > 4096)
16
+ throw new Error();
17
+ const file = await open(raw, constants.O_RDONLY | constants.O_NOFOLLOW);
18
+ try {
19
+ const info = await file.stat();
20
+ if (!info.isFile() || info.size > MAX_BUNDLE_REQUEST_FILE_BYTES)
21
+ throw new Error();
22
+ const bytes = Buffer.alloc(info.size + 1);
23
+ let offset = 0;
24
+ while (offset <= info.size) {
25
+ const result = await file.read(bytes, offset, info.size + 1 - offset, offset);
26
+ if (result.bytesRead === 0)
27
+ break;
28
+ offset += result.bytesRead;
29
+ }
30
+ if (offset !== info.size)
31
+ throw new Error();
32
+ return JSON.parse(bytes.toString("utf8", 0, offset));
33
+ }
34
+ finally {
35
+ await file.close();
36
+ }
37
+ };
38
+ const readRequest = async (file) => parseTargetLocalBundlePrepareRequest(await readJson(file));
39
+ const readLookup = async (file) => parseTargetLocalBundleLookupRequest(await readJson(file));
40
+ const operations = async (config) => {
41
+ const executors = createDockerTargetExecutors({ dockerCommand: config.dockerCommand });
42
+ return createTargetLocalContainerBundleOperations({
43
+ authority: createContainerBundlePreparationAuthority(config.preparedArtifactMappings),
44
+ builder: createDockerTargetLocalBundleBuilder({ context: config.context, executor: executors.artifact, timeoutMs: config.timeoutMs }),
45
+ store: await initializeFilesystemTargetLocalBundleStore(config.paths.containerBundles)
46
+ });
47
+ };
48
+ /** Production-only command. Its stdout is the secret-free canonical receipt. */
49
+ export const registerContainerBundleCommand = (target, stdin, streams, setExitCode) => {
50
+ target.command("derive_container_bundle_policy")
51
+ .argument("<claims-file>", "Strict target-local bundle policy claims")
52
+ .action(async (claimsFile) => {
53
+ try {
54
+ const raw = await readJson(claimsFile);
55
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)
56
+ || Object.keys(raw).sort().join("\0") !== "archiveDigest\0artifactDigest\0baseImageConfigDigest\0bundleDigest\0entrypoint\0launcherDigest\0networkAlias\0platform") {
57
+ throw new Error();
58
+ }
59
+ const policy = deriveTargetLocalContainerBundlePolicy(raw);
60
+ streams.stdout(JSON.stringify({
61
+ version: "spawnfile.target-local-container-bundle-policy.v1",
62
+ build_policy_digest: policy.buildPolicyDigest,
63
+ platform_digest: policy.platformDigest
64
+ }));
65
+ }
66
+ catch {
67
+ streams.stderr("error: Invalid container bundle policy claims");
68
+ setExitCode(2);
69
+ }
70
+ });
71
+ const execute = (name) => target.command(name)
72
+ .argument("<request-file>", "Strict container-bundle preparation request")
73
+ .action(async (requestFile) => {
74
+ let request;
75
+ try {
76
+ request = await readRequest(requestFile);
77
+ }
78
+ catch {
79
+ streams.stderr("error: Invalid container bundle request");
80
+ setExitCode(2);
81
+ return;
82
+ }
83
+ try {
84
+ const config = await readTargetDefaultConfigStdin(stdin);
85
+ const receipt = await (await operations(config))[name === "prepare_container_bundle" ? "prepare" : "recover"](request);
86
+ streams.stdout(createCanonicalTargetLocalBundleReceiptBytes(receipt));
87
+ }
88
+ catch {
89
+ streams.stderr("error: Target-local container bundle preparation failed");
90
+ setExitCode(1);
91
+ }
92
+ });
93
+ execute("prepare_container_bundle");
94
+ execute("recover_container_bundle");
95
+ target.command("lookup_container_bundle").argument("<lookup-file>", "Strict semantic bundle lookup")
96
+ .action(async (lookupFile) => {
97
+ let request;
98
+ try {
99
+ request = await readLookup(lookupFile);
100
+ }
101
+ catch {
102
+ streams.stderr("error: Invalid container bundle lookup");
103
+ setExitCode(2);
104
+ return;
105
+ }
106
+ try {
107
+ const config = await readTargetDefaultConfigStdin(stdin);
108
+ const result = await (await operations(config)).lookup(request);
109
+ streams.stdout(createCanonicalTargetLocalBundleLookupBytes(result));
110
+ }
111
+ catch {
112
+ streams.stderr("error: Target-local container bundle preparation failed");
113
+ setExitCode(1);
114
+ }
115
+ });
116
+ };
@@ -0,0 +1,3 @@
1
+ import { type Command } from "commander";
2
+ import type { CliHandlers, CliStreams } from "./runCli.js";
3
+ export declare const registerDevCommands: (program: Command, handlers: CliHandlers, streams: CliStreams) => void;
@@ -0,0 +1,115 @@
1
+ import { InvalidArgumentError } from "commander";
2
+ const parsePositiveIntegerOption = (value) => {
3
+ if (!/^[1-9]\d*$/u.test(value)) {
4
+ throw new InvalidArgumentError("must be a positive integer");
5
+ }
6
+ return Number(value);
7
+ };
8
+ export const registerDevCommands = (program, handlers, streams) => {
9
+ const dev = program.command("dev").description("Run an interactive Spawnfile development deployment");
10
+ dev
11
+ .command("up")
12
+ .description("Compile, build, and start a detached dev deployment under .spawn-dev")
13
+ .argument("[path]", "Project directory or Spawnfile path", process.cwd())
14
+ .option("--auth-profile <name>", "Local Spawnfile auth profile")
15
+ .option("--context <name>", "Docker context for the deployment target")
16
+ .option("--deployment <name>", "Detached deployment record name")
17
+ .option("--docker-command <command>", "Docker command")
18
+ .option("--env-file <file>", "Path to an env file for runtime secrets")
19
+ .option("--name <container>", "Docker container name")
20
+ .option("-o, --out <directory>", "Dev output directory")
21
+ .option("-t, --tag <image>", "Docker image tag")
22
+ .action(async (inputPath, options) => {
23
+ const result = await handlers.devUpProject(inputPath, {
24
+ authProfile: options.authProfile,
25
+ containerName: options.name,
26
+ deploymentName: options.deployment,
27
+ dockerCommand: options.dockerCommand,
28
+ dockerContext: options.context,
29
+ envFilePath: options.envFile,
30
+ imageTag: options.tag,
31
+ outputDirectory: options.out
32
+ });
33
+ streams.stdout(`dev deployment: ${result.containerName ?? "unknown"}`);
34
+ streams.stdout(`image: ${result.imageTag}`);
35
+ streams.stdout(`compiled to ${result.outputDirectory}`);
36
+ if (result.deploymentRecordPath) {
37
+ streams.stdout(`record: ${result.deploymentRecordPath}`);
38
+ }
39
+ });
40
+ dev
41
+ .command("apply")
42
+ .description("Hot-apply one agent into a running dev deployment")
43
+ .argument("[path]", "Project directory or Spawnfile path", process.cwd())
44
+ .requiredOption("--agent <id>", "Agent id, slug, or name to hot-apply")
45
+ .option("--deployment <name>", "Detached deployment record name")
46
+ .option("--docker-command <command>", "Docker command")
47
+ .option("-o, --out <directory>", "Dev output directory")
48
+ .action(async (inputPath, options) => {
49
+ const result = await handlers.devApplyProject(inputPath, {
50
+ agent: options.agent,
51
+ deploymentName: options.deployment,
52
+ dockerCommand: options.dockerCommand,
53
+ outputDirectory: options.out
54
+ });
55
+ streams.stdout(`applied agent ${result.agentId}`);
56
+ streams.stdout(`container: ${result.containerName}`);
57
+ streams.stdout(`bridge: ${result.bridgeStarted ? "started" : "unchanged"}`);
58
+ });
59
+ dev
60
+ .command("restart")
61
+ .description("Reload one agent in a running dev deployment")
62
+ .argument("[path]", "Project directory or Spawnfile path", process.cwd())
63
+ .requiredOption("--agent <id>", "Agent id, slug, or name to reload")
64
+ .option("--deployment <name>", "Detached deployment record name")
65
+ .option("--docker-command <command>", "Docker command")
66
+ .option("-o, --out <directory>", "Dev output directory")
67
+ .action(async (inputPath, options) => {
68
+ const result = await handlers.devRestartProject(inputPath, {
69
+ agent: options.agent,
70
+ deploymentName: options.deployment,
71
+ dockerCommand: options.dockerCommand,
72
+ outputDirectory: options.out
73
+ });
74
+ streams.stdout(`restarted agent ${result.agentId}`);
75
+ streams.stdout(`container: ${result.containerName}`);
76
+ streams.stdout(`bridge: ${result.bridgeStarted ? "started" : "unchanged"}`);
77
+ });
78
+ dev
79
+ .command("activity")
80
+ .description("Print the current Pi agent activity buffer from a running dev deployment")
81
+ .argument("[path]", "Project directory or Spawnfile path", process.cwd())
82
+ .option("--agent <id>", "Only show events for one agent id, slug, or name")
83
+ .option("--deployment <name>", "Detached deployment record name")
84
+ .option("--docker-command <command>", "Docker command")
85
+ .option("-o, --out <directory>", "Dev output directory")
86
+ .option("--tail <count>", "Maximum buffered events to print", parsePositiveIntegerOption)
87
+ .action(async (inputPath, options) => {
88
+ const result = await handlers.devActivityProject(inputPath, {
89
+ agent: options.agent,
90
+ deploymentName: options.deployment,
91
+ dockerCommand: options.dockerCommand,
92
+ outputDirectory: options.out,
93
+ tail: options.tail
94
+ });
95
+ for (const event of result.events) {
96
+ streams.stdout(JSON.stringify(event));
97
+ }
98
+ });
99
+ dev
100
+ .command("stop")
101
+ .description("Stop the recorded dev deployment container")
102
+ .argument("[path]", "Project directory or Spawnfile path", process.cwd())
103
+ .option("--deployment <name>", "Detached deployment record name")
104
+ .option("--docker-command <command>", "Docker command")
105
+ .option("-o, --out <directory>", "Dev output directory")
106
+ .action(async (inputPath, options) => {
107
+ const result = await handlers.devStopProject(inputPath, {
108
+ deploymentName: options.deployment,
109
+ dockerCommand: options.dockerCommand,
110
+ outputDirectory: options.out
111
+ });
112
+ streams.stdout(`stopped dev deployment ${result.deploymentName}`);
113
+ streams.stdout(`container: ${result.containerName}`);
114
+ });
115
+ };
@@ -0,0 +1,25 @@
1
+ import type { Command } from "commander";
2
+ import { type DeploymentLifecycleCorrelation, type LifecycleInvocation } from "../deployment/index.js";
3
+ import type { CliHandlers, CliStreams } from "./runCli.js";
4
+ export interface DownOptions {
5
+ compiled?: string;
6
+ deployment: string;
7
+ dockerCommand?: string;
8
+ exportTo?: string;
9
+ force?: boolean;
10
+ json?: boolean;
11
+ lifecycleInvocation?: string;
12
+ readerImage?: string;
13
+ timeout?: string;
14
+ volumes?: boolean;
15
+ }
16
+ export declare const createDownLifecyclePolicy: (options: DownOptions) => {
17
+ docker_command: string | null;
18
+ export_to: string | null;
19
+ force: boolean;
20
+ reader_image: string | null;
21
+ remove_volumes: boolean;
22
+ timeout_ms: number | null;
23
+ };
24
+ export declare const createDownLifecycleInvocation: (id: string, compiledOutputDirectory: string, options: DownOptions, correlation: DeploymentLifecycleCorrelation) => LifecycleInvocation;
25
+ export declare const registerDownCommand: (program: Command, handlers: CliHandlers, streams: CliStreams) => void;
@@ -0,0 +1,134 @@
1
+ import path from "node:path";
2
+ import { createDeploymentLifecycleCorrelation, findLifecycleInvocation, readDeploymentRecordFromOutput, } from "../deployment/index.js";
3
+ import { resolveProjectOutputDirectory } from "../filesystem/index.js";
4
+ import { DEFAULT_OUTPUT_DIRECTORY, SpawnfileError } from "../shared/index.js";
5
+ import { canonicalLifecycleJson } from "../deployment/lifecycleCompletionContracts.js";
6
+ import { createLifecycleInvocation, requireMachineLifecycle, runMachineLifecycle, } from "./lifecycleMachine.js";
7
+ export const createDownLifecyclePolicy = (options) => ({
8
+ docker_command: options.dockerCommand ?? null,
9
+ export_to: options.exportTo ? path.resolve(options.exportTo) : null,
10
+ force: options.force ?? false,
11
+ reader_image: options.readerImage ?? null,
12
+ remove_volumes: options.volumes ?? false,
13
+ timeout_ms: options.timeout ? Number(options.timeout) : null,
14
+ });
15
+ export const createDownLifecycleInvocation = (id, compiledOutputDirectory, options, correlation) => createLifecycleInvocation(id, "down", {
16
+ compiled_output_directory: compiledOutputDirectory,
17
+ ...correlation,
18
+ }, createDownLifecyclePolicy(options));
19
+ const correlationFrom = (stored) => {
20
+ const value = stored.correlation;
21
+ if (typeof value.compile_fingerprint !== "string" ||
22
+ typeof value.deployment_instance_digest !== "string" ||
23
+ typeof value.deployment !== "string" ||
24
+ (value.run_id !== null && typeof value.run_id !== "string") ||
25
+ typeof value.target !== "string") {
26
+ throw new SpawnfileError("runtime_error", "Invalid stored down correlation");
27
+ }
28
+ return {
29
+ compile_fingerprint: value.compile_fingerprint,
30
+ deployment: value.deployment,
31
+ deployment_instance_digest: value.deployment_instance_digest,
32
+ run_id: value.run_id,
33
+ target: value.target,
34
+ };
35
+ };
36
+ const assertExactRequest = (stored, compiledOutputDirectory, options) => {
37
+ if (stored.operation !== "down" ||
38
+ stored.correlation.compiled_output_directory !== compiledOutputDirectory ||
39
+ stored.correlation.deployment !== options.deployment ||
40
+ JSON.stringify(stored.request_policy) !==
41
+ JSON.stringify(createDownLifecyclePolicy(options))) {
42
+ throw new SpawnfileError("runtime_error", "Lifecycle invocation id drift");
43
+ }
44
+ };
45
+ export const registerDownCommand = (program, handlers, streams) => {
46
+ program
47
+ .command("down")
48
+ .description("Tear down a recorded deployment; named volumes are retained by default.")
49
+ .argument("[path]", "Project directory or Spawnfile path", process.cwd())
50
+ .requiredOption("--deployment <name>", "Deployment record name to tear down")
51
+ .option("--compiled <directory>", "Compile output directory")
52
+ .option("--docker-command <command>", "Docker command")
53
+ .option("--export-to <directory>", "Export first, then tear down")
54
+ .option("--force", "Discard un-exported artifacts")
55
+ .option("--reader-image <image>", "Image used to read named volumes during auto export")
56
+ .option("--timeout <ms>", "Bound each Docker call in milliseconds")
57
+ .option("--volumes", "Also remove named volumes")
58
+ .option("--json", "Render a spawnfile.down-receipt.v1 machine-readable receipt")
59
+ .option("--lifecycle-invocation <id>", "Durably bind this exact JSON lifecycle invocation")
60
+ .action(async (inputPath, options) => {
61
+ requireMachineLifecycle(options.lifecycleInvocation, options.json);
62
+ const compiled = resolveProjectOutputDirectory(inputPath, options.compiled, DEFAULT_OUTPUT_DIRECTORY);
63
+ const render = async (expected) => {
64
+ const expectedUnits = expected
65
+ ? (await readDeploymentRecordFromOutput(compiled, options.deployment)).units.map((unit) => unit.id).sort()
66
+ : undefined;
67
+ const receipt = await handlers.downDeployment({
68
+ compiledOutputDirectory: compiled,
69
+ deploymentName: options.deployment,
70
+ dockerCommand: options.dockerCommand,
71
+ exportTo: options.exportTo,
72
+ force: options.force,
73
+ readerImage: options.readerImage,
74
+ removeVolumes: options.volumes,
75
+ timeoutMs: options.timeout ? Number(options.timeout) : undefined,
76
+ ...(expected ? { expectedLifecycleCorrelation: expected } : {}),
77
+ });
78
+ if (expectedUnits !== undefined &&
79
+ (receipt.errors.length !== 0 ||
80
+ (options.volumes === true &&
81
+ receipt.retained_volumes.length !== 0) ||
82
+ JSON.stringify([...receipt.units_stopped].sort()) !==
83
+ JSON.stringify(expectedUnits))) {
84
+ throw new SpawnfileError("runtime_error", "Lifecycle down is incomplete and remains retryable");
85
+ }
86
+ return JSON.stringify(receipt, null, 2);
87
+ };
88
+ if (options.json && options.lifecycleInvocation) {
89
+ const stored = await findLifecycleInvocation(options.lifecycleInvocation);
90
+ let exact;
91
+ let correlation;
92
+ if (stored) {
93
+ assertExactRequest(stored, compiled, options);
94
+ exact = stored;
95
+ correlation = correlationFrom(stored);
96
+ }
97
+ else {
98
+ const record = await readDeploymentRecordFromOutput(compiled, options.deployment);
99
+ correlation = createDeploymentLifecycleCorrelation(record);
100
+ exact = createDownLifecycleInvocation(options.lifecycleInvocation, compiled, options, correlation);
101
+ }
102
+ const output = await runMachineLifecycle(exact, () => render(correlation), async () => {
103
+ try {
104
+ const current = createDeploymentLifecycleCorrelation(await readDeploymentRecordFromOutput(compiled, options.deployment));
105
+ return canonicalLifecycleJson(current) ===
106
+ canonicalLifecycleJson(correlation)
107
+ ? { status: "resume_safe" }
108
+ : {
109
+ reason: "deployment_correlation_changed",
110
+ status: "ambiguous",
111
+ };
112
+ }
113
+ catch {
114
+ return {
115
+ reason: "deployment_correlation_unavailable",
116
+ status: "ambiguous",
117
+ };
118
+ }
119
+ });
120
+ streams.stdout(output);
121
+ return;
122
+ }
123
+ const output = await render();
124
+ if (options.json) {
125
+ streams.stdout(output);
126
+ return;
127
+ }
128
+ const receipt = JSON.parse(output);
129
+ streams.stdout(`deployment: ${receipt.deployment}`);
130
+ receipt.units_stopped.forEach((unit) => streams.stdout(`stopped: ${unit}`));
131
+ receipt.retained_volumes.forEach((volume) => streams.stdout(`retained volume: ${volume}`));
132
+ receipt.errors.forEach((error) => streams.stderr(`error: ${error}`));
133
+ });
134
+ };
package/dist/cli/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { runCli } from "./runCli.js";
3
- const exitCode = await runCli(process.argv.slice(2));
4
- process.exit(exitCode);
2
+ import { isTargetLookupInvocation } from "./targetCliRoute.js";
3
+ const argv = process.argv.slice(2);
4
+ const exitCode = isTargetLookupInvocation(argv)
5
+ ? await (await import("./targetLookupCli.js")).runTargetLookupCli(argv)
6
+ : await (await import("./runCli.js")).runCli(argv);
7
+ process.exitCode = exitCode;
@@ -1,3 +1,3 @@
1
1
  import type { Command } from "commander";
2
2
  import type { CliHandlers, CliStreams } from "./runCli.js";
3
- export declare const registerLifecycleCommands: (program: Command, handlers: CliHandlers, streams: CliStreams) => void;
3
+ export declare const registerLifecycleCommands: (program: Command, handlers: CliHandlers, streams: CliStreams, stdin: AsyncIterable<unknown>) => void;
@@ -1,180 +1,12 @@
1
- import { readRunEnvFile } from "../compiler/runProjectAuth.js";
2
- import { SpawnfileError } from "../shared/index.js";
3
- import { resolveCommandInput } from "./resolveCommandInput.js";
4
- const resolveAuthProfileForImage = async (handlers, authProfile) => {
5
- if (!authProfile || !handlers.requireAuthProfile) {
6
- return null;
7
- }
8
- return handlers.requireAuthProfile(authProfile);
9
- };
10
- const shortDigest = (digest) => digest ? digest.replace(/^sha256:/, "").slice(0, 12) : "unknown";
11
- /** Summarizes a redeploy as previous → new ref/digest, per specs/DISTRIBUTION.md. */
12
- const formatRedeploySummary = (previous, newRef, newDigest) => {
13
- // Only claim "unchanged" when we actually resolved a matching digest; two null
14
- // digests (local-only images) are unknown, not provably identical.
15
- if (previous.ref === newRef && newDigest !== null && previous.digest === newDigest) {
16
- return `redeployed image ${newRef} (digest unchanged ${shortDigest(newDigest)})`;
17
- }
18
- return (`redeployed image: ${previous.ref} (${shortDigest(previous.digest)}) ` +
19
- `→ ${newRef} (${shortDigest(newDigest)})`);
20
- };
21
- export const registerLifecycleCommands = (program, handlers, streams) => {
22
- program
23
- .command("compile")
24
- .description("Compile a project into runtime-native output under .spawn")
25
- .argument("[path]", "Project directory or Spawnfile path", process.cwd())
26
- .option("-o, --out <directory>", "Output directory")
27
- .action(async (inputPath, options) => {
28
- const result = await handlers.compileProject(inputPath, { outputDirectory: options.out });
29
- streams.stdout(`compiled to ${result.outputDirectory}`);
30
- streams.stdout(`report: ${result.reportPath}`);
31
- });
32
- program
33
- .command("build")
34
- .description("Compile and build the organization Docker image")
35
- .argument("[path]", "Project directory or Spawnfile path", process.cwd())
36
- .option("--docker-command <command>", "Docker command")
37
- .option("-o, --out <directory>", "Output directory")
38
- .option("-t, --tag <image>", "Docker image tag")
39
- .action(async (inputPath, options) => {
40
- const result = await handlers.buildProject(inputPath, {
41
- dockerCommand: options.dockerCommand,
42
- imageTag: options.tag,
43
- outputDirectory: options.out
44
- });
45
- streams.stdout(`built image ${result.imageTag}`);
46
- streams.stdout(`compiled to ${result.outputDirectory}`);
47
- streams.stdout(`report: ${result.reportPath}`);
48
- });
49
- program
50
- .command("run")
51
- .description("Compile, build, and run the organization container locally")
52
- .argument("[path]", "Project directory or Spawnfile path", process.cwd())
53
- .option("-o, --out <directory>", "Output directory")
54
- .option("-t, --tag <image>", "Docker image tag")
55
- .option("--auth-profile <name>", "Local Spawnfile auth profile")
56
- .option("--context <name>", "Docker context for the deployment target")
57
- .option("--deployment <name>", "Detached deployment record name")
58
- .option("--docker-command <command>", "Docker command")
59
- .option("--name <container>", "Docker container name")
60
- .option("--env-file <file>", "Path to an env file for runtime secrets")
61
- .option("--image", "Interpret the argument as an image reference")
62
- .option("-d, --detach", "Run the container in detached mode")
63
- .action(async (inputPath, options) => {
64
- const runInput = resolveCommandInput(inputPath, { forceImage: options.image });
65
- if (runInput.kind === "image" || (runInput.kind === "invalid" && options.image)) {
66
- throw new SpawnfileError("validation_error", `Image-mode run is not supported. Deploy the image with: ` +
67
- `spawnfile up ${inputPath} --auth-profile <profile> ` +
68
- "(add --env-file for any extra secrets; image deployments always detach).");
69
- }
70
- if (runInput.kind === "invalid") {
71
- throw new SpawnfileError("validation_error", `Cannot resolve "${inputPath}" as a project path or image reference. ` +
72
- "Pass a project directory, a Spawnfile path, or an image like 'name:tag' (use --image to force image mode).");
73
- }
74
- const result = await handlers.runProject(inputPath, {
75
- authProfile: options.authProfile,
76
- containerName: options.name,
77
- detach: options.detach,
78
- deploymentName: options.deployment,
79
- dockerCommand: options.dockerCommand,
80
- dockerContext: options.context,
81
- envFilePath: options.envFile,
82
- imageTag: options.tag,
83
- outputDirectory: options.out
84
- });
85
- if (options.detach) {
86
- streams.stdout(`running container ${result.containerName ?? "unknown"}`);
87
- streams.stdout(`image: ${result.imageTag}`);
88
- }
89
- });
90
- program
91
- .command("publish")
92
- .description("Compile, build, verify, and push the organization image to a registry")
93
- .argument("[path]", "Project directory or Spawnfile path", process.cwd())
94
- .requiredOption("-t, --tag <image>", "Registry image reference to push")
95
- .option("-o, --out <directory>", "Output directory")
96
- .option("--docker-command <command>", "Docker command")
97
- .action(async (inputPath, options) => {
98
- const publishInput = resolveCommandInput(inputPath);
99
- if (publishInput.kind !== "project") {
100
- throw new SpawnfileError("validation_error", "publish operates on a project path, not an image reference");
101
- }
102
- const result = await handlers.publishProject(inputPath, {
103
- dockerCommand: options.dockerCommand,
104
- imageTag: options.tag,
105
- outputDirectory: options.out
106
- });
107
- streams.stdout(`published ${result.imageTag}`);
108
- streams.stdout(`digest: ${result.digest ?? "unknown"}`);
109
- streams.stdout(`next: spawnfile up ${result.imageTag} --detach --auth-profile <profile>`);
110
- });
111
- program
112
- .command("up")
113
- .description("Deploy an organization from a project or a published image reference")
114
- .argument("[path]", "Project directory, Spawnfile path, or image reference", process.cwd())
115
- .option("-o, --out <directory>", "Output directory")
116
- .option("-t, --tag <image>", "Docker image tag")
117
- .option("--auth-profile <name>", "Local Spawnfile auth profile")
118
- .option("--context <name>", "Docker context for the deployment target")
119
- .option("--deployment <name>", "Detached deployment record name")
120
- .option("--docker-command <command>", "Docker command")
121
- .option("--name <container>", "Docker container name")
122
- .option("--env-file <file>", "Path to an env file for runtime secrets")
123
- .option("--image", "Interpret the argument as an image reference")
124
- .option("--pull", "Pull the image before deploying")
125
- .option("-d, --detach", "Run the container in detached mode")
126
- .action(async (inputPath, options) => {
127
- const upInput = resolveCommandInput(inputPath, { forceImage: options.image });
128
- if (upInput.kind === "invalid") {
129
- throw new SpawnfileError("validation_error", `Cannot resolve "${inputPath}" as a project path or image reference. ` +
130
- "Pass a project directory, a Spawnfile path, or an image like 'name:tag' (use --image to force image mode).");
131
- }
132
- if (upInput.kind === "image") {
133
- const [authProfile, envFileEnv] = await Promise.all([
134
- resolveAuthProfileForImage(handlers, options.authProfile),
135
- readRunEnvFile(options.envFile)
136
- ]);
137
- const consumed = await handlers.consumeImageUp(upInput.ref, {
138
- authProfile,
139
- authProfileName: options.authProfile ?? null,
140
- authValues: authProfile?.env ?? {},
141
- deploymentName: options.deployment,
142
- dockerCommand: options.dockerCommand,
143
- dockerContext: options.context,
144
- envFileEnv,
145
- envFilePath: options.envFile ?? null,
146
- pull: options.pull
147
- });
148
- if (consumed.previous) {
149
- const newDigest = consumed.record.source.kind === "image" ? consumed.record.source.digest : null;
150
- streams.stdout(formatRedeploySummary(consumed.previous, consumed.imageRef, newDigest));
151
- }
152
- else {
153
- streams.stdout(`deployed image ${consumed.imageRef}`);
154
- }
155
- streams.stdout(`deployment: ${consumed.deploymentName}`);
156
- streams.stdout(`running container ${consumed.containerName}`);
157
- streams.stdout(`record: ${consumed.recordPath}`);
158
- streams.stdout(`next: spawnfile status --deployment ${consumed.deploymentName} --live`);
159
- return;
160
- }
161
- const result = await handlers.upProject(inputPath, {
162
- authProfile: options.authProfile,
163
- containerName: options.name,
164
- detach: options.detach,
165
- deploymentName: options.deployment,
166
- dockerCommand: options.dockerCommand,
167
- dockerContext: options.context,
168
- envFilePath: options.envFile,
169
- imageTag: options.tag,
170
- outputDirectory: options.out
171
- });
172
- streams.stdout(`built image ${result.imageTag}`);
173
- streams.stdout(`compiled to ${result.outputDirectory}`);
174
- streams.stdout(`report: ${result.reportPath}`);
175
- if (options.detach) {
176
- streams.stdout(`running container ${result.containerName ?? "unknown"}`);
177
- streams.stdout(`image: ${result.imageTag}`);
178
- }
179
- });
1
+ import { registerCompileBuildCommands } from "./compileBuildCommands.js";
2
+ import { registerDownCommand } from "./downCommand.js";
3
+ import { registerLifecyclePlanningCommands } from "./lifecyclePlanningCommands.js";
4
+ import { registerRunPublishCommands } from "./runPublishCommands.js";
5
+ import { registerUpCommand } from "./upCommand.js";
6
+ export const registerLifecycleCommands = (program, handlers, streams, stdin) => {
7
+ registerLifecyclePlanningCommands(program, streams, stdin);
8
+ registerCompileBuildCommands(program, handlers, streams);
9
+ registerRunPublishCommands(program, handlers, streams);
10
+ registerUpCommand(program, handlers, streams);
11
+ registerDownCommand(program, handlers, streams);
180
12
  };
@@ -0,0 +1,19 @@
1
+ import { type LifecycleInvocation } from "../deployment/index.js";
2
+ export declare const createLifecycleInvocation: (id: string, operation: LifecycleInvocation["operation"], correlation: LifecycleInvocation["correlation"], requestPolicy: LifecycleInvocation["request_policy"]) => LifecycleInvocation;
3
+ export declare const digestLifecycleBinding: (value: string | undefined) => string | null;
4
+ export type LifecycleReconciliation = {
5
+ outcomeBytes: string;
6
+ status: "completed";
7
+ } | {
8
+ status: "provably_not_applied";
9
+ } | {
10
+ status: "resume_safe";
11
+ } | {
12
+ reason: string;
13
+ status: "ambiguous";
14
+ };
15
+ export declare const runMachineLifecycle: (invocation: LifecycleInvocation, owner: (capability: {
16
+ epoch: string;
17
+ role: "initial" | "recovery";
18
+ }) => Promise<string>, reconcile?: () => Promise<LifecycleReconciliation>) => Promise<string>;
19
+ export declare const requireMachineLifecycle: (invocationId: string | undefined, json: boolean | undefined) => void;