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,78 @@
1
+ import { createHash } from "node:crypto";
2
+ import { claimLifecycleInvocation, claimLifecycleRecovery, completeLifecycleInvocation, findExactLifecycleCompletion, markLifecycleAmbiguous, renewLifecycleOwner, } from "../deployment/index.js";
3
+ import { SpawnfileError } from "../shared/index.js";
4
+ export const createLifecycleInvocation = (id, operation, correlation, requestPolicy) => ({
5
+ correlation,
6
+ id,
7
+ operation,
8
+ request_policy: requestPolicy,
9
+ version: "spawnfile.lifecycle-invocation.v1",
10
+ });
11
+ export const digestLifecycleBinding = (value) => value === undefined
12
+ ? null
13
+ : `sha256:${createHash("sha256").update(value).digest("hex")}`;
14
+ const withLifecycleHeartbeat = async (invocation, capability, task) => {
15
+ await renewLifecycleOwner(invocation, capability);
16
+ let failure;
17
+ const timer = setInterval(() => {
18
+ void renewLifecycleOwner(invocation, capability).catch((error) => {
19
+ failure = error;
20
+ });
21
+ }, 10_000);
22
+ timer.unref();
23
+ try {
24
+ const result = await task();
25
+ if (failure)
26
+ throw failure;
27
+ return result;
28
+ }
29
+ finally {
30
+ clearInterval(timer);
31
+ }
32
+ };
33
+ export const runMachineLifecycle = async (invocation, owner, reconcile) => {
34
+ const existing = await findExactLifecycleCompletion(invocation);
35
+ if (existing)
36
+ return existing.outcome_bytes;
37
+ const claim = await claimLifecycleInvocation(invocation);
38
+ if (claim.status === "replay") {
39
+ const replay = await findExactLifecycleCompletion(invocation);
40
+ if (!replay) {
41
+ throw new SpawnfileError("runtime_error", "Lifecycle replay completion disappeared");
42
+ }
43
+ return replay.outcome_bytes;
44
+ }
45
+ if (claim.status === "pending" && reconcile) {
46
+ const recovery = await claimLifecycleRecovery(invocation);
47
+ if (recovery.status === "replay") {
48
+ const completed = await findExactLifecycleCompletion(invocation);
49
+ if (completed)
50
+ return completed.outcome_bytes;
51
+ throw new SpawnfileError("runtime_error", "Lifecycle replay completion disappeared");
52
+ }
53
+ if (recovery.status === "owner") {
54
+ const verdict = await withLifecycleHeartbeat(invocation, recovery.capability, reconcile);
55
+ if (verdict.status === "completed") {
56
+ return (await completeLifecycleInvocation(invocation, verdict.outcomeBytes, recovery.capability)).outcome_bytes;
57
+ }
58
+ if (verdict.status === "provably_not_applied" ||
59
+ verdict.status === "resume_safe") {
60
+ return (await completeLifecycleInvocation(invocation, await withLifecycleHeartbeat(invocation, recovery.capability, () => owner(recovery.capability)), recovery.capability)).outcome_bytes;
61
+ }
62
+ await markLifecycleAmbiguous(invocation, "reconciliation_ambiguous", recovery.capability);
63
+ throw new SpawnfileError("runtime_error", `Lifecycle recovery is ambiguous: ${verdict.reason}`);
64
+ }
65
+ if (recovery.status === "ambiguous") {
66
+ throw new SpawnfileError("runtime_error", "Lifecycle recovery owner died; invocation is ambiguous");
67
+ }
68
+ }
69
+ if (claim.status !== "owner") {
70
+ throw new SpawnfileError("runtime_error", "Lifecycle invocation already has an in-flight owner");
71
+ }
72
+ return (await completeLifecycleInvocation(invocation, await withLifecycleHeartbeat(invocation, claim.capability, () => owner(claim.capability)), claim.capability)).outcome_bytes;
73
+ };
74
+ export const requireMachineLifecycle = (invocationId, json) => {
75
+ if (invocationId !== undefined && !json) {
76
+ throw new SpawnfileError("validation_error", "--lifecycle-invocation is only valid with --json");
77
+ }
78
+ };
@@ -0,0 +1,35 @@
1
+ import { z } from "zod";
2
+ import { type LifecycleInvocation } from "../deployment/index.js";
3
+ export declare const LIFECYCLE_PLAN_REQUEST_VERSION: "spawnfile.lifecycle-plan-request.v1";
4
+ export declare const MAX_LIFECYCLE_PLAN_REQUEST_BYTES = 262144;
5
+ export declare const lifecyclePlanRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
6
+ deployment: z.ZodNullable<z.ZodString>;
7
+ include_private: z.ZodBoolean;
8
+ operation: z.ZodLiteral<"artifacts_export">;
9
+ out: z.ZodString;
10
+ reader_image: z.ZodNullable<z.ZodString>;
11
+ run_id: z.ZodNullable<z.ZodString>;
12
+ compiled: z.ZodNullable<z.ZodString>;
13
+ docker_command: z.ZodNullable<z.ZodString>;
14
+ lifecycle_invocation_id: z.ZodString;
15
+ path: z.ZodString;
16
+ timeout_ms: z.ZodNullable<z.ZodNumber>;
17
+ version: z.ZodLiteral<"spawnfile.lifecycle-plan-request.v1">;
18
+ }, z.core.$strict>, z.ZodObject<{
19
+ deployment: z.ZodString;
20
+ export_to: z.ZodNullable<z.ZodString>;
21
+ force: z.ZodBoolean;
22
+ operation: z.ZodLiteral<"down">;
23
+ reader_image: z.ZodNullable<z.ZodString>;
24
+ remove_volumes: z.ZodBoolean;
25
+ compiled: z.ZodNullable<z.ZodString>;
26
+ docker_command: z.ZodNullable<z.ZodString>;
27
+ lifecycle_invocation_id: z.ZodString;
28
+ path: z.ZodString;
29
+ timeout_ms: z.ZodNullable<z.ZodNumber>;
30
+ version: z.ZodLiteral<"spawnfile.lifecycle-plan-request.v1">;
31
+ }, z.core.$strict>], "operation">;
32
+ export type LifecyclePlanRequest = z.infer<typeof lifecyclePlanRequestSchema>;
33
+ export declare const readLifecyclePlanRequest: (source: string, stdin: AsyncIterable<unknown>) => Promise<LifecyclePlanRequest>;
34
+ export declare const createPlannedLifecycleInvocation: (request: LifecyclePlanRequest) => Promise<LifecycleInvocation>;
35
+ export declare const planLifecycleInvocation: (request: LifecyclePlanRequest) => Promise<LifecycleInvocation>;
@@ -0,0 +1,240 @@
1
+ import { open } from "node:fs/promises";
2
+ import path from "node:path";
3
+ import { TextDecoder } from "node:util";
4
+ import { z } from "zod";
5
+ import { admitLifecyclePlan, createDeploymentLifecycleCorrelation, readDeploymentRecordFromOutput, resolveArtifactsExportLifecycleCorrelation, } from "../deployment/index.js";
6
+ import { resolveProjectOutputDirectory } from "../filesystem/index.js";
7
+ import { DEFAULT_OUTPUT_DIRECTORY, SpawnfileError } from "../shared/index.js";
8
+ import { createArtifactsExportLifecycleInvocation, } from "./artifactsCommands.js";
9
+ import { createDownLifecycleInvocation, } from "./downCommand.js";
10
+ export const LIFECYCLE_PLAN_REQUEST_VERSION = "spawnfile.lifecycle-plan-request.v1";
11
+ export const MAX_LIFECYCLE_PLAN_REQUEST_BYTES = 262_144;
12
+ const common = {
13
+ compiled: z.string().min(1).max(4096).nullable(),
14
+ docker_command: z.string().min(1).max(4096).nullable(),
15
+ lifecycle_invocation_id: z
16
+ .string()
17
+ .regex(/^lci_[a-z0-9][a-z0-9_-]{15,127}$/u),
18
+ path: z.string().min(1).max(4096),
19
+ timeout_ms: z.number().int().positive().nullable(),
20
+ version: z.literal(LIFECYCLE_PLAN_REQUEST_VERSION),
21
+ };
22
+ export const lifecyclePlanRequestSchema = z.discriminatedUnion("operation", [
23
+ z
24
+ .object({
25
+ ...common,
26
+ deployment: z.string().min(1).max(128).nullable(),
27
+ include_private: z.boolean(),
28
+ operation: z.literal("artifacts_export"),
29
+ out: z.string().min(1).max(4096),
30
+ reader_image: z.string().min(1).max(4096).nullable(),
31
+ run_id: z.string().min(1).max(512).nullable(),
32
+ })
33
+ .strict(),
34
+ z
35
+ .object({
36
+ ...common,
37
+ deployment: z.string().min(1).max(128),
38
+ export_to: z.string().min(1).max(4096).nullable(),
39
+ force: z.boolean(),
40
+ operation: z.literal("down"),
41
+ reader_image: z.string().min(1).max(4096).nullable(),
42
+ remove_volumes: z.boolean(),
43
+ })
44
+ .strict(),
45
+ ]);
46
+ const fail = () => {
47
+ throw new SpawnfileError("validation_error", "Invalid lifecycle plan request");
48
+ };
49
+ const assertNoDuplicateJsonKeys = (source) => {
50
+ let offset = 0;
51
+ const whitespace = () => {
52
+ while (/\s/u.test(source[offset] ?? ""))
53
+ offset += 1;
54
+ };
55
+ const string = () => {
56
+ const start = offset++;
57
+ while (offset < source.length) {
58
+ if (source[offset] === "\\")
59
+ offset += 2;
60
+ else if (source[offset] === '"') {
61
+ offset += 1;
62
+ return JSON.parse(source.slice(start, offset));
63
+ }
64
+ else
65
+ offset += 1;
66
+ }
67
+ return fail();
68
+ };
69
+ const value = () => {
70
+ whitespace();
71
+ if (source[offset] === "{")
72
+ object();
73
+ else if (source[offset] === "[")
74
+ array();
75
+ else if (source[offset] === '"')
76
+ void string();
77
+ else
78
+ while (offset < source.length &&
79
+ !/[\s,\]}]/u.test(source[offset] ?? ""))
80
+ offset += 1;
81
+ };
82
+ const object = () => {
83
+ offset += 1;
84
+ whitespace();
85
+ const keys = new Set();
86
+ if (source[offset] === "}") {
87
+ offset += 1;
88
+ return;
89
+ }
90
+ while (offset < source.length) {
91
+ const key = string();
92
+ if (keys.has(key))
93
+ fail();
94
+ keys.add(key);
95
+ whitespace();
96
+ if (source[offset++] !== ":")
97
+ fail();
98
+ value();
99
+ whitespace();
100
+ if (source[offset] === "}") {
101
+ offset += 1;
102
+ return;
103
+ }
104
+ if (source[offset++] !== ",")
105
+ fail();
106
+ whitespace();
107
+ }
108
+ fail();
109
+ };
110
+ const array = () => {
111
+ offset += 1;
112
+ whitespace();
113
+ if (source[offset] === "]") {
114
+ offset += 1;
115
+ return;
116
+ }
117
+ while (offset < source.length) {
118
+ value();
119
+ whitespace();
120
+ if (source[offset] === "]") {
121
+ offset += 1;
122
+ return;
123
+ }
124
+ if (source[offset++] !== ",")
125
+ fail();
126
+ whitespace();
127
+ }
128
+ fail();
129
+ };
130
+ value();
131
+ whitespace();
132
+ if (offset !== source.length)
133
+ fail();
134
+ };
135
+ const readStdin = async (stdin) => {
136
+ const chunks = [];
137
+ let length = 0;
138
+ try {
139
+ for await (const raw of stdin) {
140
+ const chunk = typeof raw === "string"
141
+ ? new TextEncoder().encode(raw)
142
+ : raw instanceof Uint8Array
143
+ ? Uint8Array.from(raw)
144
+ : fail();
145
+ if (chunk.byteLength === 0 ||
146
+ chunk.byteLength > MAX_LIFECYCLE_PLAN_REQUEST_BYTES - length)
147
+ fail();
148
+ chunks.push(chunk);
149
+ length += chunk.byteLength;
150
+ }
151
+ }
152
+ catch {
153
+ fail();
154
+ }
155
+ if (length === 0)
156
+ fail();
157
+ const result = new Uint8Array(length);
158
+ let offset = 0;
159
+ for (const chunk of chunks) {
160
+ result.set(chunk, offset);
161
+ offset += chunk.byteLength;
162
+ }
163
+ return result;
164
+ };
165
+ const readFile = async (file) => {
166
+ const exact = path.resolve(file);
167
+ const handle = await open(exact, "r").catch(fail);
168
+ try {
169
+ const stat = await handle.stat();
170
+ if (!stat.isFile() || stat.size > MAX_LIFECYCLE_PLAN_REQUEST_BYTES)
171
+ fail();
172
+ const bytes = new Uint8Array(stat.size);
173
+ let offset = 0;
174
+ while (offset < bytes.byteLength) {
175
+ const { bytesRead } = await handle.read(bytes, offset, bytes.byteLength - offset, offset);
176
+ if (bytesRead === 0)
177
+ fail();
178
+ offset += bytesRead;
179
+ }
180
+ return bytes;
181
+ }
182
+ finally {
183
+ await handle.close();
184
+ }
185
+ };
186
+ export const readLifecyclePlanRequest = async (source, stdin) => {
187
+ try {
188
+ const bytes = source === "-" ? await readStdin(stdin) : await readFile(source);
189
+ const text = new TextDecoder("utf-8", {
190
+ fatal: true,
191
+ ignoreBOM: true,
192
+ }).decode(bytes);
193
+ if (text.startsWith("\uFEFF"))
194
+ fail();
195
+ assertNoDuplicateJsonKeys(text);
196
+ return lifecyclePlanRequestSchema.parse(JSON.parse(text));
197
+ }
198
+ catch {
199
+ return fail();
200
+ }
201
+ };
202
+ const timeout = (value) => value === null ? undefined : String(value);
203
+ export const createPlannedLifecycleInvocation = async (request) => {
204
+ const compiled = resolveProjectOutputDirectory(request.path, request.compiled ?? undefined, DEFAULT_OUTPUT_DIRECTORY);
205
+ if (request.operation === "artifacts_export") {
206
+ const options = {
207
+ compiled: request.compiled ?? undefined,
208
+ deployment: request.deployment ?? undefined,
209
+ dockerCommand: request.docker_command ?? undefined,
210
+ includePrivate: request.include_private,
211
+ json: true,
212
+ lifecycleInvocation: request.lifecycle_invocation_id,
213
+ out: request.out,
214
+ readerImage: request.reader_image ?? undefined,
215
+ runId: request.run_id ?? undefined,
216
+ timeout: timeout(request.timeout_ms),
217
+ };
218
+ const correlation = await resolveArtifactsExportLifecycleCorrelation({
219
+ compiledOutputDirectory: compiled,
220
+ deploymentName: options.deployment,
221
+ runId: options.runId,
222
+ });
223
+ return createArtifactsExportLifecycleInvocation(request.lifecycle_invocation_id, options, compiled, correlation);
224
+ }
225
+ const options = {
226
+ compiled: request.compiled ?? undefined,
227
+ deployment: request.deployment,
228
+ dockerCommand: request.docker_command ?? undefined,
229
+ exportTo: request.export_to ?? undefined,
230
+ force: request.force,
231
+ json: true,
232
+ lifecycleInvocation: request.lifecycle_invocation_id,
233
+ readerImage: request.reader_image ?? undefined,
234
+ timeout: timeout(request.timeout_ms),
235
+ volumes: request.remove_volumes,
236
+ };
237
+ const record = await readDeploymentRecordFromOutput(compiled, request.deployment);
238
+ return createDownLifecycleInvocation(request.lifecycle_invocation_id, compiled, options, createDeploymentLifecycleCorrelation(record));
239
+ };
240
+ export const planLifecycleInvocation = async (request) => admitLifecyclePlan(await createPlannedLifecycleInvocation(request));
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CliStreams } from "./runCli.js";
3
+ export declare const registerLifecyclePlanningCommands: (program: Command, streams: CliStreams, stdin: AsyncIterable<unknown>) => void;
@@ -0,0 +1,30 @@
1
+ import { lookupLifecycleCompletion } from "../deployment/index.js";
2
+ import { SpawnfileError } from "../shared/index.js";
3
+ import { planLifecycleInvocation, readLifecyclePlanRequest } from "./lifecyclePlan.js";
4
+ export const registerLifecyclePlanningCommands = (program, streams, stdin) => {
5
+ const lifecycle = program
6
+ .command("lifecycle")
7
+ .description("Plan or read durable machine lifecycle operations");
8
+ lifecycle
9
+ .command("plan")
10
+ .description("Admit an exact read-only artifacts-export or down lifecycle plan")
11
+ .requiredOption("--request <file>", "Strict spawnfile.lifecycle-plan-request.v1 JSON file, or - for stdin")
12
+ .action(async (options) => {
13
+ streams.stdout(JSON.stringify(await planLifecycleInvocation(await readLifecyclePlanRequest(options.request, stdin)), null, 2));
14
+ });
15
+ lifecycle
16
+ .command("lookup")
17
+ .description("Read one lifecycle completion without Docker or provider inspection")
18
+ .argument("[invocation]", "Lifecycle invocation id")
19
+ .option("--lifecycle-invocation <id>", "Lifecycle invocation id")
20
+ .action(async (invocation, options) => {
21
+ const id = options.lifecycleInvocation ?? invocation;
22
+ if (!id ||
23
+ (invocation !== undefined &&
24
+ options.lifecycleInvocation !== undefined &&
25
+ invocation !== options.lifecycleInvocation)) {
26
+ throw new SpawnfileError("validation_error", "lifecycle lookup requires exactly one lifecycle invocation id");
27
+ }
28
+ streams.stdout(JSON.stringify(await lookupLifecycleCompletion(id), null, 2));
29
+ });
30
+ };
@@ -1,6 +1,8 @@
1
- import { importClaudeCodeAuth, importCodexAuth, importEnvFile, requireAuthProfile } from "../auth/index.js";
2
- import { addAgentProject, addProjectSurface, addProjectModelFallback, addSubagentProject, addTeamProject, buildOrganizationView, buildCompilePlan, buildProject, clearProjectModelFallbacks, compileProject, initProject, publishProject, upProject, removeProjectSurface, runProject, setProjectPrimaryModel, setProjectRuntime, setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth } from "../compiler/index.js";
1
+ import { importClaudeCodeAuth, importCodexAuth, importEnvFile, initializeTargetSecretSourceLifecycle, provisionCredentials, requireAuthProfile } from "../auth/index.js";
2
+ import { addAgentProject, addProjectSurface, addProjectModelFallback, addSubagentProject, addTeamProject, buildOrganizationView, buildCompilePlan, buildProject, buildUpReceipt, clearProjectModelFallbacks, compileProject, initProject, publishProject, upProject, removeProjectSurface, runProject, setProjectPrimaryModel, setProjectRuntime, setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth } from "../compiler/index.js";
3
+ import { devActivityProject, devApplyProject, devRestartProject, devStopProject, devUpProject } from "../dev/index.js";
3
4
  import { consumeImageUp } from "../distribution/index.js";
5
+ import { downDeployment, exportRunArtifacts } from "../deployment/index.js";
4
6
  import { listRuntimeAdapters } from "../runtime/index.js";
5
7
  export interface CliStreams {
6
8
  stderr: (message: string) => void;
@@ -27,12 +29,22 @@ export interface CliHandlers {
27
29
  importCodexAuth: typeof importCodexAuth;
28
30
  importEnvFile: typeof importEnvFile;
29
31
  initProject: typeof initProject;
32
+ initializeTargetSecretSourceLifecycle: typeof initializeTargetSecretSourceLifecycle;
33
+ provisionCredentials: typeof provisionCredentials;
34
+ exportRunArtifacts: typeof exportRunArtifacts;
35
+ downDeployment: typeof downDeployment;
30
36
  listRuntimeAdapters: typeof listRuntimeAdapters;
31
37
  removeProjectSurface: typeof removeProjectSurface;
32
38
  requireAuthProfile: typeof requireAuthProfile;
33
39
  runProject: typeof runProject;
34
40
  upProject: typeof upProject;
41
+ buildUpReceipt: typeof buildUpReceipt;
35
42
  consumeImageUp: typeof consumeImageUp;
43
+ devActivityProject: typeof devActivityProject;
44
+ devApplyProject: typeof devApplyProject;
45
+ devRestartProject: typeof devRestartProject;
46
+ devStopProject: typeof devStopProject;
47
+ devUpProject: typeof devUpProject;
36
48
  setProjectPrimaryModel: typeof setProjectPrimaryModel;
37
49
  setProjectRuntime: typeof setProjectRuntime;
38
50
  setProjectSurfaceAccess: typeof setProjectSurfaceAccess;
@@ -42,6 +54,7 @@ export interface CliHandlers {
42
54
  export interface RunCliOptions {
43
55
  handlers?: Partial<CliHandlers>;
44
56
  renderEnvironment?: CliRenderEnvironment;
57
+ stdin?: AsyncIterable<unknown>;
45
58
  streams?: CliStreams;
46
59
  }
47
60
  type RunCli = {
@@ -1,15 +1,21 @@
1
1
  import { readFileSync } from "node:fs";
2
2
  import { Command } from "commander";
3
- import { importClaudeCodeAuth, importCodexAuth, importEnvFile, requireAuthProfile } from "../auth/index.js";
4
- import { addAgentProject, addProjectSurface, addProjectModelFallback, addSubagentProject, addTeamProject, buildOrganizationView, buildCompilePlan, buildProject, clearProjectModelFallbacks, compileProject, initProject, publishProject, upProject, removeProjectSurface, runProject, setProjectPrimaryModel, setProjectRuntime, setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth } from "../compiler/index.js";
3
+ import { importClaudeCodeAuth, importCodexAuth, importEnvFile, initializeTargetSecretSourceLifecycle, provisionCredentials, requireAuthProfile } from "../auth/index.js";
4
+ import { addAgentProject, addProjectSurface, addProjectModelFallback, addSubagentProject, addTeamProject, buildOrganizationView, buildCompilePlan, buildProject, buildUpReceipt, clearProjectModelFallbacks, compileProject, initProject, publishProject, upProject, removeProjectSurface, runProject, setProjectPrimaryModel, setProjectRuntime, setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth } from "../compiler/index.js";
5
+ import { devActivityProject, devApplyProject, devRestartProject, devStopProject, devUpProject } from "../dev/index.js";
5
6
  import { consumeImageUp } from "../distribution/index.js";
7
+ import { downDeployment, exportRunArtifacts } from "../deployment/index.js";
6
8
  import { errorExitCode, isSpawnfileError } from "../shared/index.js";
7
9
  import { listRuntimeAdapters } from "../runtime/index.js";
10
+ import { registerArtifactsCommands } from "./artifactsCommands.js";
11
+ import { registerAuthCommands } from "./authCommands.js";
12
+ import { registerDevCommands } from "./devCommands.js";
8
13
  import { registerLifecycleCommands } from "./lifecycleCommands.js";
9
14
  import { registerModelCommands } from "./modelCommands.js";
10
15
  import { registerRuntimeCommands } from "./runtimeCommands.js";
11
16
  import { registerSurfaceCommands } from "./surfaceCommands.js";
12
17
  import { registerStatusCommand } from "./statusCommand.js";
18
+ import { registerProductionTargetCommands } from "./targetCommands.js";
13
19
  import { registerViewCommand } from "./viewCommand.js";
14
20
  const packageJsonPath = new URL("../../package.json", import.meta.url);
15
21
  const readPackageVersion = () => {
@@ -29,9 +35,12 @@ const createDefaultHandlers = () => ({
29
35
  buildCompilePlan, buildOrganizationView, buildProject, compileProject, publishProject,
30
36
  addAgentProject, addProjectModelFallback, addProjectSurface,
31
37
  addSubagentProject, addTeamProject, clearProjectModelFallbacks,
32
- importClaudeCodeAuth, importCodexAuth, importEnvFile,
38
+ importClaudeCodeAuth, importCodexAuth, importEnvFile, initializeTargetSecretSourceLifecycle,
39
+ provisionCredentials,
40
+ exportRunArtifacts, downDeployment,
33
41
  initProject, listRuntimeAdapters, removeProjectSurface, requireAuthProfile,
34
- runProject, setProjectPrimaryModel, setProjectRuntime, upProject, consumeImageUp,
42
+ runProject, setProjectPrimaryModel, setProjectRuntime, upProject, buildUpReceipt, consumeImageUp,
43
+ devActivityProject, devApplyProject, devRestartProject, devStopProject, devUpProject,
35
44
  setProjectSurfaceAccess, showProjectSurfaces, syncProjectAuth
36
45
  });
37
46
  const isCliStreams = (value) => {
@@ -42,11 +51,13 @@ const normalizeRunCliOptions = (optionsOrStreams, handlerOverrides = {}) => isCl
42
51
  ? {
43
52
  handlers: handlerOverrides,
44
53
  renderEnvironment: createDefaultRenderEnvironment(),
54
+ stdin: process.stdin,
45
55
  streams: optionsOrStreams
46
56
  }
47
57
  : {
48
58
  handlers: optionsOrStreams?.handlers ?? handlerOverrides,
49
59
  renderEnvironment: optionsOrStreams?.renderEnvironment ?? createDefaultRenderEnvironment(),
60
+ stdin: optionsOrStreams?.stdin ?? process.stdin,
50
61
  streams: optionsOrStreams?.streams ?? createDefaultStreams()
51
62
  };
52
63
  const writeCommanderOutput = (write, message) => {
@@ -55,6 +66,7 @@ const writeCommanderOutput = (write, message) => {
55
66
  write(normalized);
56
67
  }
57
68
  };
69
+ const TARGET_CLI_USAGE_ERROR = "error: Invalid target command";
58
70
  const isCommanderError = (error) => {
59
71
  if (typeof error !== "object" || error === null) {
60
72
  return false;
@@ -79,31 +91,28 @@ const formatPlanSummary = (plan) => [
79
91
  `nodes: ${plan.nodes.length}`,
80
92
  `runtimes: ${Object.keys(plan.runtimes).sort().join(", ") || "none"}`
81
93
  ].join("\n");
82
- const formatAuthProfileSummary = (profile) => {
83
- const envKeys = Object.keys(profile.env).sort();
84
- const importedKinds = Object.keys(profile.imports).sort();
85
- return [
86
- `profile: ${profile.name}`,
87
- `env: ${envKeys.length > 0 ? envKeys.join(", ") : "none"}`,
88
- `imports: ${importedKinds.length > 0 ? importedKinds.join(", ") : "none"}`
89
- ];
90
- };
91
94
  const emitLines = (streams, lines) => lines.forEach((line) => streams.stdout(line));
92
95
  const emitFileLines = (streams, label, filePaths) => emitLines(streams, filePaths.map((filePath) => `${label} ${filePath}`));
93
96
  export const runCli = async (argv, optionsOrStreams, handlerOverrides = {}) => {
94
97
  const cliOptions = normalizeRunCliOptions(optionsOrStreams, handlerOverrides);
95
98
  const streams = cliOptions.streams;
96
99
  const handlers = { ...createDefaultHandlers(), ...cliOptions.handlers };
100
+ const isTargetInvocation = argv[0] === "target";
97
101
  let commandExitCode = 0;
98
102
  const program = new Command();
99
103
  program.name("spawnfile").description("Spawnfile v0.1 compiler").version(readPackageVersion());
100
104
  program.exitOverride();
101
105
  program.configureOutput({
102
106
  outputError: (message, write) => write(message),
103
- writeErr: (message) => writeCommanderOutput(streams.stderr, message),
107
+ writeErr: (message) => {
108
+ if (!isTargetInvocation)
109
+ writeCommanderOutput(streams.stderr, message);
110
+ },
104
111
  writeOut: (message) => writeCommanderOutput(streams.stdout, message)
105
112
  });
106
- registerLifecycleCommands(program, handlers, streams);
113
+ registerLifecycleCommands(program, handlers, streams, cliOptions.stdin);
114
+ registerDevCommands(program, handlers, streams);
115
+ registerArtifactsCommands(program, handlers, streams);
107
116
  program
108
117
  .command("init")
109
118
  .description("Scaffold a new Spawnfile project or team in a directory")
@@ -168,6 +177,9 @@ export const runCli = async (argv, optionsOrStreams, handlerOverrides = {}) => {
168
177
  commandExitCode = exitCode;
169
178
  });
170
179
  registerViewCommand(program, handlers, streams, cliOptions.renderEnvironment);
180
+ registerProductionTargetCommands(program, streams, cliOptions.stdin, (exitCode) => {
181
+ commandExitCode = exitCode;
182
+ });
171
183
  program
172
184
  .command("validate")
173
185
  .description("Validate a Spawnfile and report the resolved compile plan")
@@ -185,68 +197,16 @@ export const runCli = async (argv, optionsOrStreams, handlerOverrides = {}) => {
185
197
  streams.stdout(runtimeName);
186
198
  }
187
199
  });
188
- const authCommand = program.command("auth").description("Manage local Spawnfile auth profiles");
189
- const authImportCommand = authCommand
190
- .command("import")
191
- .description("Import auth material into a local auth profile");
192
- authImportCommand
193
- .command("env")
194
- .description("Import secrets from an env file into a profile")
195
- .argument("<file>", "Path to an env file")
196
- .option("-p, --profile <name>", "Auth profile name", "default")
197
- .action(async (filePath, options) => {
198
- const profile = await handlers.importEnvFile(options.profile, filePath);
199
- emitLines(streams, formatAuthProfileSummary(profile));
200
- });
201
- authImportCommand
202
- .command("claude-code")
203
- .description("Import Claude Code subscription credentials into a profile")
204
- .option("-p, --profile <name>", "Auth profile name", "default")
205
- .option("--from <directory>", "Source Claude Code config directory")
206
- .action(async (options) => {
207
- const profile = await handlers.importClaudeCodeAuth(options.profile, options.from);
208
- emitLines(streams, formatAuthProfileSummary(profile));
209
- });
210
- authImportCommand
211
- .command("codex")
212
- .description("Import Codex subscription credentials into a profile")
213
- .option("-p, --profile <name>", "Auth profile name", "default")
214
- .option("--from <directory>", "Source Codex config directory")
215
- .action(async (options) => {
216
- const profile = await handlers.importCodexAuth(options.profile, options.from);
217
- emitLines(streams, formatAuthProfileSummary(profile));
218
- });
219
- authCommand
220
- .command("sync")
221
- .description("Provision auth material a project requires into a profile")
222
- .argument("[path]", "Project directory or Spawnfile path", process.cwd())
223
- .option("-p, --profile <name>", "Auth profile name", "default")
224
- .option("--env-file <file>", "Path to an env file with model keys and runtime secrets")
225
- .option("--claude-from <directory>", "Source Claude Code config directory")
226
- .option("--codex-from <directory>", "Source Codex config directory")
227
- .action(async (inputPath, options) => {
228
- const profile = await handlers.syncProjectAuth(inputPath, {
229
- claudeCodeDirectory: options.claudeFrom,
230
- codexDirectory: options.codexFrom,
231
- envFilePath: options.envFile,
232
- profileName: options.profile
233
- });
234
- emitLines(streams, formatAuthProfileSummary(profile));
235
- });
236
- authCommand
237
- .command("show")
238
- .description("Show the contents of a local auth profile")
239
- .option("-p, --profile <name>", "Auth profile name", "default")
240
- .action(async (options) => {
241
- const profile = await handlers.requireAuthProfile(options.profile);
242
- emitLines(streams, formatAuthProfileSummary(profile));
243
- });
200
+ registerAuthCommands(program, handlers, streams, cliOptions.stdin);
244
201
  try {
245
202
  await program.parseAsync(argv, { from: "user" });
246
203
  return commandExitCode;
247
204
  }
248
205
  catch (error) {
249
206
  if (isCommanderError(error)) {
207
+ if (isTargetInvocation && error.exitCode !== 0) {
208
+ streams.stderr(TARGET_CLI_USAGE_ERROR);
209
+ }
250
210
  // Commander prints its own usage message; usage errors exit 2.
251
211
  return error.exitCode === 0 ? 0 : 2;
252
212
  }
@@ -0,0 +1,3 @@
1
+ import type { Command } from "commander";
2
+ import type { CliHandlers, CliStreams } from "./runCli.js";
3
+ export declare const registerRunPublishCommands: (program: Command, handlers: CliHandlers, streams: CliStreams) => void;