@ankhorage/infra 4.1.12 → 5.1.0

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 (528) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -32
  3. package/dist/cli/bin.d.ts +1 -8
  4. package/dist/cli/bin.d.ts.map +1 -1
  5. package/dist/cli/bin.js +2 -34
  6. package/dist/cli/bin.js.map +1 -1
  7. package/dist/cli/commands/destroy.d.ts +11 -0
  8. package/dist/cli/commands/destroy.d.ts.map +1 -0
  9. package/dist/cli/commands/destroy.js +51 -0
  10. package/dist/cli/commands/destroy.js.map +1 -0
  11. package/dist/cli/commands/down.d.ts +11 -0
  12. package/dist/cli/commands/down.d.ts.map +1 -0
  13. package/dist/cli/commands/down.js +27 -0
  14. package/dist/cli/commands/down.js.map +1 -0
  15. package/dist/cli/commands/generate.d.ts +11 -0
  16. package/dist/cli/commands/generate.d.ts.map +1 -0
  17. package/dist/cli/commands/generate.js +29 -0
  18. package/dist/cli/commands/generate.js.map +1 -0
  19. package/dist/cli/commands/outputs.d.ts +11 -0
  20. package/dist/cli/commands/outputs.d.ts.map +1 -0
  21. package/dist/cli/commands/outputs.js +25 -0
  22. package/dist/cli/commands/outputs.js.map +1 -0
  23. package/dist/cli/commands/plan.d.ts +11 -0
  24. package/dist/cli/commands/plan.d.ts.map +1 -0
  25. package/dist/cli/commands/plan.js +19 -0
  26. package/dist/cli/commands/plan.js.map +1 -0
  27. package/dist/cli/commands/status.d.ts +11 -0
  28. package/dist/cli/commands/status.d.ts.map +1 -0
  29. package/dist/cli/commands/status.js +19 -0
  30. package/dist/cli/commands/status.js.map +1 -0
  31. package/dist/cli/commands/up.d.ts +11 -0
  32. package/dist/cli/commands/up.d.ts.map +1 -0
  33. package/dist/cli/commands/up.js +28 -0
  34. package/dist/cli/commands/up.js.map +1 -0
  35. package/dist/cli/commands/validate.d.ts +11 -0
  36. package/dist/cli/commands/validate.d.ts.map +1 -0
  37. package/dist/cli/commands/validate.js +19 -0
  38. package/dist/cli/commands/validate.js.map +1 -0
  39. package/dist/cli/constants.d.ts +66 -0
  40. package/dist/cli/constants.d.ts.map +1 -0
  41. package/dist/cli/constants.js +19 -0
  42. package/dist/cli/constants.js.map +1 -0
  43. package/dist/cli/createDefaultInfraCommandContext.d.ts +4 -0
  44. package/dist/cli/createDefaultInfraCommandContext.d.ts.map +1 -0
  45. package/dist/{commandContext.js → cli/createDefaultInfraCommandContext.js} +4 -3
  46. package/dist/cli/createDefaultInfraCommandContext.js.map +1 -0
  47. package/dist/cli/createInfraRuntimeProvider.d.ts +5 -0
  48. package/dist/cli/createInfraRuntimeProvider.d.ts.map +1 -0
  49. package/dist/cli/createInfraRuntimeProvider.js +22 -0
  50. package/dist/cli/createInfraRuntimeProvider.js.map +1 -0
  51. package/dist/cli/createProviderCommandDescriptors.d.ts +4 -0
  52. package/dist/cli/createProviderCommandDescriptors.d.ts.map +1 -0
  53. package/dist/cli/createProviderCommandDescriptors.js +6 -0
  54. package/dist/cli/createProviderCommandDescriptors.js.map +1 -0
  55. package/dist/cli/findInfraCommand.d.ts +4 -0
  56. package/dist/cli/findInfraCommand.d.ts.map +1 -0
  57. package/dist/cli/findInfraCommand.js +6 -0
  58. package/dist/cli/findInfraCommand.js.map +1 -0
  59. package/dist/cli/index.d.ts +3 -8
  60. package/dist/cli/index.d.ts.map +1 -1
  61. package/dist/cli/index.js +2 -24
  62. package/dist/cli/index.js.map +1 -1
  63. package/dist/cli/renderInfraRootHelp.d.ts +3 -0
  64. package/dist/cli/renderInfraRootHelp.d.ts.map +1 -0
  65. package/dist/cli/renderInfraRootHelp.js +21 -0
  66. package/dist/cli/renderInfraRootHelp.js.map +1 -0
  67. package/dist/cli/renderUnknownInfraCommand.d.ts +3 -0
  68. package/dist/cli/renderUnknownInfraCommand.d.ts.map +1 -0
  69. package/dist/cli/renderUnknownInfraCommand.js +5 -0
  70. package/dist/cli/renderUnknownInfraCommand.js.map +1 -0
  71. package/dist/cli/runInfraCliAsync.d.ts +10 -0
  72. package/dist/cli/runInfraCliAsync.d.ts.map +1 -0
  73. package/dist/cli/runInfraCliAsync.js +34 -0
  74. package/dist/cli/runInfraCliAsync.js.map +1 -0
  75. package/dist/cli/runInfraCommandAsync.d.ts +4 -0
  76. package/dist/cli/runInfraCommandAsync.d.ts.map +1 -0
  77. package/dist/cli/runInfraCommandAsync.js +100 -0
  78. package/dist/cli/runInfraCommandAsync.js.map +1 -0
  79. package/dist/cli/utils/prepareInfraCommandOperationAsync.d.ts +4 -0
  80. package/dist/cli/utils/prepareInfraCommandOperationAsync.d.ts.map +1 -0
  81. package/dist/cli/utils/prepareInfraCommandOperationAsync.js +45 -0
  82. package/dist/cli/utils/prepareInfraCommandOperationAsync.js.map +1 -0
  83. package/dist/cli/utils/requireInfraSuccess.d.ts +7 -0
  84. package/dist/cli/utils/requireInfraSuccess.d.ts.map +1 -0
  85. package/dist/cli/utils/requireInfraSuccess.js +17 -0
  86. package/dist/cli/utils/requireInfraSuccess.js.map +1 -0
  87. package/dist/cli/utils/resolveInfraPersistence.d.ts +4 -0
  88. package/dist/cli/utils/resolveInfraPersistence.d.ts.map +1 -0
  89. package/dist/cli/utils/resolveInfraPersistence.js +17 -0
  90. package/dist/cli/utils/resolveInfraPersistence.js.map +1 -0
  91. package/dist/cli/utils/writeInfraEnvironmentOutputs.d.ts +5 -0
  92. package/dist/cli/utils/writeInfraEnvironmentOutputs.d.ts.map +1 -0
  93. package/dist/cli/utils/writeInfraEnvironmentOutputs.js +16 -0
  94. package/dist/cli/utils/writeInfraEnvironmentOutputs.js.map +1 -0
  95. package/dist/cli/utils/writeInfraStructured.d.ts +4 -0
  96. package/dist/cli/utils/writeInfraStructured.d.ts.map +1 -0
  97. package/dist/cli/utils/writeInfraStructured.js +8 -0
  98. package/dist/cli/utils/writeInfraStructured.js.map +1 -0
  99. package/dist/constants.d.ts +10 -0
  100. package/dist/constants.d.ts.map +1 -0
  101. package/dist/{packageMetadata.js → constants.js} +6 -3
  102. package/dist/constants.js.map +1 -0
  103. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.d.ts +4 -0
  104. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.d.ts.map +1 -0
  105. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.js +35 -0
  106. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.js.map +1 -0
  107. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.d.ts +4 -0
  108. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.d.ts.map +1 -0
  109. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.js +23 -0
  110. package/dist/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.js.map +1 -0
  111. package/dist/features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.d.ts +4 -0
  112. package/dist/features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.d.ts.map +1 -0
  113. package/dist/features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.js +9 -0
  114. package/dist/features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.js.map +1 -0
  115. package/dist/features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.d.ts +5 -0
  116. package/dist/features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.d.ts.map +1 -0
  117. package/dist/features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js +28 -0
  118. package/dist/features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js.map +1 -0
  119. package/dist/features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.d.ts +4 -0
  120. package/dist/features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.d.ts.map +1 -0
  121. package/dist/features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js +7 -0
  122. package/dist/features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js.map +1 -0
  123. package/dist/features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.d.ts +7 -0
  124. package/dist/features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.d.ts.map +1 -0
  125. package/dist/{project.js → features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.js} +10 -34
  126. package/dist/features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.js.map +1 -0
  127. package/dist/features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.d.ts +5 -0
  128. package/dist/features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.d.ts.map +1 -0
  129. package/dist/features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js +28 -0
  130. package/dist/features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js.map +1 -0
  131. package/dist/features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.d.ts +4 -0
  132. package/dist/features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.d.ts.map +1 -0
  133. package/dist/features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js +16 -0
  134. package/dist/features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js.map +1 -0
  135. package/dist/features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.d.ts +9 -0
  136. package/dist/features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.d.ts.map +1 -0
  137. package/dist/features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.js +2 -0
  138. package/dist/features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.js.map +1 -0
  139. package/dist/features/environment-lifecycle/application/use-cases/collectInfraWorkloadsAsync.d.ts +4 -0
  140. package/dist/features/environment-lifecycle/application/use-cases/collectInfraWorkloadsAsync.d.ts.map +1 -0
  141. package/dist/features/environment-lifecycle/application/use-cases/collectInfraWorkloadsAsync.js +15 -0
  142. package/dist/features/environment-lifecycle/application/use-cases/collectInfraWorkloadsAsync.js.map +1 -0
  143. package/dist/features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.d.ts +4 -0
  144. package/dist/features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.d.ts.map +1 -0
  145. package/dist/features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js +84 -0
  146. package/dist/features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js.map +1 -0
  147. package/dist/features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.d.ts +4 -0
  148. package/dist/features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.d.ts.map +1 -0
  149. package/dist/features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js +55 -0
  150. package/dist/features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js.map +1 -0
  151. package/dist/features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.d.ts +4 -0
  152. package/dist/features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.d.ts.map +1 -0
  153. package/dist/features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js +38 -0
  154. package/dist/features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js.map +1 -0
  155. package/dist/features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.d.ts +4 -0
  156. package/dist/features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.d.ts.map +1 -0
  157. package/dist/features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js +34 -0
  158. package/dist/features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js.map +1 -0
  159. package/dist/features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.d.ts +4 -0
  160. package/dist/features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.d.ts.map +1 -0
  161. package/dist/features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js +57 -0
  162. package/dist/features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js.map +1 -0
  163. package/dist/features/environment-lifecycle/application/use-cases/prepareInfraOperationAsync.d.ts +5 -0
  164. package/dist/features/environment-lifecycle/application/use-cases/prepareInfraOperationAsync.d.ts.map +1 -0
  165. package/dist/features/environment-lifecycle/application/use-cases/prepareInfraOperationAsync.js +109 -0
  166. package/dist/features/environment-lifecycle/application/use-cases/prepareInfraOperationAsync.js.map +1 -0
  167. package/dist/features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.d.ts +6 -0
  168. package/dist/features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.d.ts.map +1 -0
  169. package/dist/features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.js +181 -0
  170. package/dist/features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.js.map +1 -0
  171. package/dist/features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.d.ts +4 -0
  172. package/dist/features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.d.ts.map +1 -0
  173. package/dist/features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js +68 -0
  174. package/dist/features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js.map +1 -0
  175. package/dist/features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.d.ts +4 -0
  176. package/dist/features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.d.ts.map +1 -0
  177. package/dist/features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js +98 -0
  178. package/dist/features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js.map +1 -0
  179. package/dist/features/environment-lifecycle/application/use-cases/validateInfraAdaptersAsync.d.ts +5 -0
  180. package/dist/features/environment-lifecycle/application/use-cases/validateInfraAdaptersAsync.d.ts.map +1 -0
  181. package/dist/features/environment-lifecycle/application/use-cases/validateInfraAdaptersAsync.js +17 -0
  182. package/dist/features/environment-lifecycle/application/use-cases/validateInfraAdaptersAsync.js.map +1 -0
  183. package/dist/features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.d.ts +4 -0
  184. package/dist/features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.d.ts.map +1 -0
  185. package/dist/features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js +13 -0
  186. package/dist/features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js.map +1 -0
  187. package/dist/features/environment-lifecycle/composition/createInfraCommandServices.d.ts +4 -0
  188. package/dist/features/environment-lifecycle/composition/createInfraCommandServices.d.ts.map +1 -0
  189. package/dist/features/environment-lifecycle/composition/createInfraCommandServices.js +43 -0
  190. package/dist/features/environment-lifecycle/composition/createInfraCommandServices.js.map +1 -0
  191. package/dist/features/environment-lifecycle/composition/createProjectInfraLifecycle.d.ts +4 -0
  192. package/dist/features/environment-lifecycle/composition/createProjectInfraLifecycle.d.ts.map +1 -0
  193. package/dist/features/environment-lifecycle/composition/createProjectInfraLifecycle.js +123 -0
  194. package/dist/features/environment-lifecycle/composition/createProjectInfraLifecycle.js.map +1 -0
  195. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.d.ts +4 -0
  196. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.d.ts.map +1 -0
  197. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.js +54 -0
  198. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.js.map +1 -0
  199. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.d.ts +5 -0
  200. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.d.ts.map +1 -0
  201. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.js +39 -0
  202. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.js.map +1 -0
  203. package/dist/features/environment-lifecycle/utils/appendInfraFailure.d.ts +7 -0
  204. package/dist/features/environment-lifecycle/utils/appendInfraFailure.d.ts.map +1 -0
  205. package/dist/features/environment-lifecycle/utils/appendInfraFailure.js +5 -0
  206. package/dist/features/environment-lifecycle/utils/appendInfraFailure.js.map +1 -0
  207. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.d.ts +5 -0
  208. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.d.ts.map +1 -0
  209. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.js +13 -0
  210. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.js.map +1 -0
  211. package/dist/features/environment-lifecycle/utils/createInfraFailure.d.ts +4 -0
  212. package/dist/features/environment-lifecycle/utils/createInfraFailure.d.ts.map +1 -0
  213. package/dist/features/environment-lifecycle/utils/createInfraFailure.js +5 -0
  214. package/dist/features/environment-lifecycle/utils/createInfraFailure.js.map +1 -0
  215. package/dist/features/environment-lifecycle/utils/createInfraLedger.d.ts +12 -0
  216. package/dist/features/environment-lifecycle/utils/createInfraLedger.d.ts.map +1 -0
  217. package/dist/features/environment-lifecycle/utils/createInfraLedger.js +14 -0
  218. package/dist/features/environment-lifecycle/utils/createInfraLedger.js.map +1 -0
  219. package/dist/features/environment-lifecycle/utils/infraIdentityKey.d.ts +4 -0
  220. package/dist/features/environment-lifecycle/utils/infraIdentityKey.d.ts.map +1 -0
  221. package/dist/features/environment-lifecycle/utils/infraIdentityKey.js +5 -0
  222. package/dist/features/environment-lifecycle/utils/infraIdentityKey.js.map +1 -0
  223. package/dist/features/environment-lifecycle/utils/isInfraStoredState.d.ts +4 -0
  224. package/dist/features/environment-lifecycle/utils/isInfraStoredState.d.ts.map +1 -0
  225. package/dist/features/environment-lifecycle/utils/isInfraStoredState.js +103 -0
  226. package/dist/features/environment-lifecycle/utils/isInfraStoredState.js.map +1 -0
  227. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.d.ts +4 -0
  228. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.d.ts.map +1 -0
  229. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.js +10 -0
  230. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.js.map +1 -0
  231. package/dist/features/environment-lifecycle/utils/mergeInfraResources.d.ts +4 -0
  232. package/dist/features/environment-lifecycle/utils/mergeInfraResources.d.ts.map +1 -0
  233. package/dist/features/environment-lifecycle/utils/mergeInfraResources.js +10 -0
  234. package/dist/features/environment-lifecycle/utils/mergeInfraResources.js.map +1 -0
  235. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.d.ts +3 -0
  236. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.d.ts.map +1 -0
  237. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.js +8 -0
  238. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.js.map +1 -0
  239. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.d.ts +4 -0
  240. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.d.ts.map +1 -0
  241. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.js +11 -0
  242. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.js.map +1 -0
  243. package/dist/features/environment-lifecycle/utils/resolveProjectFile.d.ts +3 -0
  244. package/dist/features/environment-lifecycle/utils/resolveProjectFile.d.ts.map +1 -0
  245. package/dist/features/environment-lifecycle/utils/resolveProjectFile.js +19 -0
  246. package/dist/features/environment-lifecycle/utils/resolveProjectFile.js.map +1 -0
  247. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.d.ts +4 -0
  248. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.d.ts.map +1 -0
  249. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.js +6 -0
  250. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.js.map +1 -0
  251. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.d.ts +4 -0
  252. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.d.ts.map +1 -0
  253. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.js +6 -0
  254. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.js.map +1 -0
  255. package/dist/index.d.ts +16 -6
  256. package/dist/index.d.ts.map +1 -1
  257. package/dist/index.js +14 -15
  258. package/dist/index.js.map +1 -1
  259. package/dist/metadata/index.d.ts +1 -1
  260. package/dist/metadata/index.d.ts.map +1 -1
  261. package/dist/metadata/index.js +1 -1
  262. package/dist/metadata/index.js.map +1 -1
  263. package/dist/project/index.d.ts +8 -5
  264. package/dist/project/index.d.ts.map +1 -1
  265. package/dist/project/index.js +7 -5
  266. package/dist/project/index.js.map +1 -1
  267. package/dist/readme-usage.js +17 -26
  268. package/dist/readme-usage.js.map +1 -1
  269. package/dist/testSupport.d.ts +1 -1
  270. package/dist/testSupport.d.ts.map +1 -1
  271. package/dist/testSupport.js +11 -1
  272. package/dist/testSupport.js.map +1 -1
  273. package/dist/types/infraCli.d.ts +91 -0
  274. package/dist/types/infraCli.d.ts.map +1 -0
  275. package/dist/types/infraCli.js +2 -0
  276. package/dist/types/infraCli.js.map +1 -0
  277. package/dist/types/infraOrchestration.d.ts +84 -0
  278. package/dist/types/infraOrchestration.d.ts.map +1 -0
  279. package/dist/types/infraOrchestration.js +2 -0
  280. package/dist/types/infraOrchestration.js.map +1 -0
  281. package/dist/types/infraProject.d.ts +43 -0
  282. package/dist/types/infraProject.d.ts.map +1 -0
  283. package/dist/types/infraProject.js +2 -0
  284. package/dist/types/infraProject.js.map +1 -0
  285. package/package.json +20 -10
  286. package/src/adapterPackages.integration.test.ts +79 -0
  287. package/src/cli/bin.ts +2 -61
  288. package/src/cli/cli.test.ts +35 -126
  289. package/src/cli/commands/destroy.ts +57 -0
  290. package/src/cli/commands/down.ts +28 -0
  291. package/src/cli/commands/generate.ts +34 -0
  292. package/src/cli/commands/outputs.ts +25 -0
  293. package/src/cli/commands/plan.ts +20 -0
  294. package/src/cli/commands/status.ts +20 -0
  295. package/src/cli/commands/up.ts +29 -0
  296. package/src/cli/commands/validate.ts +20 -0
  297. package/src/cli/constants.ts +19 -0
  298. package/src/cli/createDefaultInfraCommandContext.ts +17 -0
  299. package/src/cli/createInfraRuntimeProvider.ts +35 -0
  300. package/src/cli/createProviderCommandDescriptors.ts +8 -0
  301. package/src/cli/findInfraCommand.ts +7 -0
  302. package/src/cli/index.test.ts +12 -20
  303. package/src/cli/index.ts +7 -49
  304. package/src/cli/renderInfraRootHelp.ts +23 -0
  305. package/src/cli/renderUnknownInfraCommand.ts +4 -0
  306. package/src/cli/runInfraCliAsync.ts +51 -0
  307. package/src/cli/runInfraCommandAsync.ts +114 -0
  308. package/src/cli/utils/prepareInfraCommandOperationAsync.ts +64 -0
  309. package/src/cli/utils/requireInfraSuccess.ts +24 -0
  310. package/src/cli/utils/resolveInfraPersistence.ts +22 -0
  311. package/src/cli/utils/writeInfraEnvironmentOutputs.ts +24 -0
  312. package/src/cli/utils/writeInfraStructured.ts +11 -0
  313. package/src/commands.test.ts +198 -196
  314. package/src/{packageMetadata.ts → constants.ts} +5 -2
  315. package/src/environmentLifecycle.test.ts +193 -0
  316. package/src/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.ts +52 -0
  317. package/src/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.ts +32 -0
  318. package/src/features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.ts +10 -0
  319. package/src/features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.ts +34 -0
  320. package/src/features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.ts +12 -0
  321. package/src/{project.ts → features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.ts} +10 -45
  322. package/src/features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.ts +34 -0
  323. package/src/features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.ts +21 -0
  324. package/src/features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.ts +10 -0
  325. package/src/features/environment-lifecycle/application/use-cases/collectInfraWorkloadsAsync.ts +25 -0
  326. package/src/features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.ts +119 -0
  327. package/src/features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.ts +65 -0
  328. package/src/features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.ts +51 -0
  329. package/src/features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.ts +41 -0
  330. package/src/features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.ts +67 -0
  331. package/src/features/environment-lifecycle/application/use-cases/prepareInfraOperationAsync.ts +137 -0
  332. package/src/features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.ts +257 -0
  333. package/src/features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.ts +80 -0
  334. package/src/features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.ts +126 -0
  335. package/src/features/environment-lifecycle/application/use-cases/validateInfraAdaptersAsync.ts +25 -0
  336. package/src/features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.ts +21 -0
  337. package/src/features/environment-lifecycle/composition/createInfraCommandServices.ts +47 -0
  338. package/src/features/environment-lifecycle/composition/createProjectInfraLifecycle.ts +157 -0
  339. package/src/features/environment-lifecycle/domain/orderInfraPlanActions.ts +64 -0
  340. package/src/features/environment-lifecycle/domain/resolveInfraEnvironment.ts +62 -0
  341. package/src/features/environment-lifecycle/utils/appendInfraFailure.ts +9 -0
  342. package/src/features/environment-lifecycle/utils/createInfraExecutionContext.ts +24 -0
  343. package/src/features/environment-lifecycle/utils/createInfraFailure.ts +6 -0
  344. package/src/features/environment-lifecycle/utils/createInfraLedger.ts +30 -0
  345. package/src/features/environment-lifecycle/utils/infraIdentityKey.ts +6 -0
  346. package/src/features/environment-lifecycle/utils/isInfraStoredState.ts +141 -0
  347. package/src/features/environment-lifecycle/utils/mergeInfraOutputs.ts +14 -0
  348. package/src/features/environment-lifecycle/utils/mergeInfraResources.ts +14 -0
  349. package/src/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.ts +7 -0
  350. package/src/features/environment-lifecycle/utils/resolveInfraStatePath.ts +12 -0
  351. package/src/features/environment-lifecycle/utils/resolveProjectFile.ts +22 -0
  352. package/src/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.ts +15 -0
  353. package/src/features/environment-lifecycle/utils/retainUnchangedAdapterResources.ts +15 -0
  354. package/src/index.test.ts +22 -315
  355. package/src/index.ts +41 -53
  356. package/src/infraComposition.integration.test.ts +128 -0
  357. package/src/infraOperations.test.ts +386 -0
  358. package/src/infraUp.test.ts +260 -0
  359. package/src/metadata/index.ts +1 -1
  360. package/src/package.test.ts +4 -2
  361. package/src/project/index.test.ts +10 -188
  362. package/src/project/index.ts +15 -22
  363. package/src/project.test.ts +39 -189
  364. package/src/projectContractsParser.test.ts +2 -2
  365. package/src/projectInfrastructure.test.ts +121 -167
  366. package/src/projectLifecycle.test.ts +136 -0
  367. package/src/readme-usage.ts +17 -26
  368. package/src/testSupport.ts +12 -2
  369. package/src/types/infraCli.ts +115 -0
  370. package/src/types/infraOrchestration.ts +126 -0
  371. package/src/types/infraProject.ts +58 -0
  372. package/dist/adapters/minikube/auth/index.d.ts +0 -8
  373. package/dist/adapters/minikube/auth/index.d.ts.map +0 -1
  374. package/dist/adapters/minikube/auth/index.js +0 -29
  375. package/dist/adapters/minikube/auth/index.js.map +0 -1
  376. package/dist/adapters/minikube/auth/oauthRuntime.d.ts +0 -4
  377. package/dist/adapters/minikube/auth/oauthRuntime.d.ts.map +0 -1
  378. package/dist/adapters/minikube/auth/oauthRuntime.js +0 -138
  379. package/dist/adapters/minikube/auth/oauthRuntime.js.map +0 -1
  380. package/dist/adapters/minikube/auth/supabase/index.d.ts +0 -7
  381. package/dist/adapters/minikube/auth/supabase/index.d.ts.map +0 -1
  382. package/dist/adapters/minikube/auth/supabase/index.js +0 -232
  383. package/dist/adapters/minikube/auth/supabase/index.js.map +0 -1
  384. package/dist/adapters/minikube/auth/supabase/profile.d.ts +0 -20
  385. package/dist/adapters/minikube/auth/supabase/profile.d.ts.map +0 -1
  386. package/dist/adapters/minikube/auth/supabase/profile.js +0 -452
  387. package/dist/adapters/minikube/auth/supabase/profile.js.map +0 -1
  388. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.d.ts +0 -7
  389. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.d.ts.map +0 -1
  390. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.js +0 -104
  391. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.js.map +0 -1
  392. package/dist/adapters/minikube/authz/cerbos/index.d.ts +0 -13
  393. package/dist/adapters/minikube/authz/cerbos/index.d.ts.map +0 -1
  394. package/dist/adapters/minikube/authz/cerbos/index.js +0 -382
  395. package/dist/adapters/minikube/authz/cerbos/index.js.map +0 -1
  396. package/dist/adapters/minikube/authz/index.d.ts +0 -9
  397. package/dist/adapters/minikube/authz/index.d.ts.map +0 -1
  398. package/dist/adapters/minikube/authz/index.js +0 -23
  399. package/dist/adapters/minikube/authz/index.js.map +0 -1
  400. package/dist/adapters/minikube/base/index.d.ts +0 -14
  401. package/dist/adapters/minikube/base/index.d.ts.map +0 -1
  402. package/dist/adapters/minikube/base/index.js +0 -3433
  403. package/dist/adapters/minikube/base/index.js.map +0 -1
  404. package/dist/adapters/minikube/base/supabaseMigrations.d.ts +0 -2
  405. package/dist/adapters/minikube/base/supabaseMigrations.d.ts.map +0 -1
  406. package/dist/adapters/minikube/base/supabaseMigrations.js +0 -6
  407. package/dist/adapters/minikube/base/supabaseMigrations.js.map +0 -1
  408. package/dist/adapters/minikube/contracts.d.ts +0 -34
  409. package/dist/adapters/minikube/contracts.d.ts.map +0 -1
  410. package/dist/adapters/minikube/contracts.js +0 -10
  411. package/dist/adapters/minikube/contracts.js.map +0 -1
  412. package/dist/adapters/minikube/index.d.ts +0 -3
  413. package/dist/adapters/minikube/index.d.ts.map +0 -1
  414. package/dist/adapters/minikube/index.js +0 -136
  415. package/dist/adapters/minikube/index.js.map +0 -1
  416. package/dist/adapters/minikube/secrets/index.d.ts +0 -7
  417. package/dist/adapters/minikube/secrets/index.d.ts.map +0 -1
  418. package/dist/adapters/minikube/secrets/index.js +0 -13
  419. package/dist/adapters/minikube/secrets/index.js.map +0 -1
  420. package/dist/adapters/minikube/secrets/supabase-vault/index.d.ts +0 -8
  421. package/dist/adapters/minikube/secrets/supabase-vault/index.d.ts.map +0 -1
  422. package/dist/adapters/minikube/secrets/supabase-vault/index.js +0 -118
  423. package/dist/adapters/minikube/secrets/supabase-vault/index.js.map +0 -1
  424. package/dist/adapters/minikube/storage/index.d.ts +0 -7
  425. package/dist/adapters/minikube/storage/index.d.ts.map +0 -1
  426. package/dist/adapters/minikube/storage/index.js +0 -77
  427. package/dist/adapters/minikube/storage/index.js.map +0 -1
  428. package/dist/adapters/minikube/storage/supabase/index.d.ts +0 -7
  429. package/dist/adapters/minikube/storage/supabase/index.d.ts.map +0 -1
  430. package/dist/adapters/minikube/storage/supabase/index.js +0 -82
  431. package/dist/adapters/minikube/storage/supabase/index.js.map +0 -1
  432. package/dist/authRedirects.d.ts +0 -19
  433. package/dist/authRedirects.d.ts.map +0 -1
  434. package/dist/authRedirects.js +0 -80
  435. package/dist/authRedirects.js.map +0 -1
  436. package/dist/authTargetRedirects.d.ts +0 -12
  437. package/dist/authTargetRedirects.d.ts.map +0 -1
  438. package/dist/authTargetRedirects.js +0 -32
  439. package/dist/authTargetRedirects.js.map +0 -1
  440. package/dist/commandContext.d.ts +0 -12
  441. package/dist/commandContext.d.ts.map +0 -1
  442. package/dist/commandContext.js.map +0 -1
  443. package/dist/commands.d.ts +0 -95
  444. package/dist/commands.d.ts.map +0 -1
  445. package/dist/commands.js +0 -256
  446. package/dist/commands.js.map +0 -1
  447. package/dist/infraValidation.d.ts +0 -4
  448. package/dist/infraValidation.d.ts.map +0 -1
  449. package/dist/infraValidation.js +0 -63
  450. package/dist/infraValidation.js.map +0 -1
  451. package/dist/packageMetadata.d.ts +0 -10
  452. package/dist/packageMetadata.d.ts.map +0 -1
  453. package/dist/packageMetadata.js.map +0 -1
  454. package/dist/project.d.ts +0 -14
  455. package/dist/project.d.ts.map +0 -1
  456. package/dist/project.js.map +0 -1
  457. package/dist/projectDatabase.d.ts +0 -5
  458. package/dist/projectDatabase.d.ts.map +0 -1
  459. package/dist/projectDatabase.js +0 -22
  460. package/dist/projectDatabase.js.map +0 -1
  461. package/dist/projectEnvironment.d.ts +0 -6
  462. package/dist/projectEnvironment.d.ts.map +0 -1
  463. package/dist/projectEnvironment.js +0 -45
  464. package/dist/projectEnvironment.js.map +0 -1
  465. package/dist/projectInfrastructure.d.ts +0 -38
  466. package/dist/projectInfrastructure.d.ts.map +0 -1
  467. package/dist/projectInfrastructure.js +0 -145
  468. package/dist/projectInfrastructure.js.map +0 -1
  469. package/dist/runtime.d.ts +0 -54
  470. package/dist/runtime.d.ts.map +0 -1
  471. package/dist/runtime.js +0 -151
  472. package/dist/runtime.js.map +0 -1
  473. package/dist/secretStore.d.ts +0 -19
  474. package/dist/secretStore.d.ts.map +0 -1
  475. package/dist/secretStore.js +0 -22
  476. package/dist/secretStore.js.map +0 -1
  477. package/dist/types.d.ts +0 -70
  478. package/dist/types.d.ts.map +0 -1
  479. package/dist/types.js +0 -2
  480. package/dist/types.js.map +0 -1
  481. package/src/adapters/minikube/README.md +0 -115
  482. package/src/adapters/minikube/appRuntimeServing.test.ts +0 -28
  483. package/src/adapters/minikube/auth/index.ts +0 -40
  484. package/src/adapters/minikube/auth/oauthRuntime.ts +0 -163
  485. package/src/adapters/minikube/auth/supabase/index.test.ts +0 -227
  486. package/src/adapters/minikube/auth/supabase/index.ts +0 -293
  487. package/src/adapters/minikube/auth/supabase/oauthRuntime.test.ts +0 -154
  488. package/src/adapters/minikube/auth/supabase/profile.integration.test.ts +0 -1028
  489. package/src/adapters/minikube/auth/supabase/profile.ts +0 -526
  490. package/src/adapters/minikube/auth/supabase/providerAssignments.test.ts +0 -36
  491. package/src/adapters/minikube/auth/targetAwareOAuthRuntime.test.ts +0 -83
  492. package/src/adapters/minikube/auth/targetAwareOAuthRuntime.ts +0 -136
  493. package/src/adapters/minikube/authz/cerbos/index.ts +0 -486
  494. package/src/adapters/minikube/authz/index.ts +0 -32
  495. package/src/adapters/minikube/base/appImageBuild.test.ts +0 -352
  496. package/src/adapters/minikube/base/index.test.ts +0 -693
  497. package/src/adapters/minikube/base/index.ts +0 -3763
  498. package/src/adapters/minikube/base/portForwardRuntime.test.ts +0 -624
  499. package/src/adapters/minikube/base/supabaseMigrations.test.ts +0 -168
  500. package/src/adapters/minikube/base/supabaseMigrations.ts +0 -5
  501. package/src/adapters/minikube/base/twoAppIsolation.integration.test.ts +0 -898
  502. package/src/adapters/minikube/base/upgradeReconciliation.test.ts +0 -135
  503. package/src/adapters/minikube/contracts.ts +0 -46
  504. package/src/adapters/minikube/index.ts +0 -172
  505. package/src/adapters/minikube/secrets/index.test.ts +0 -147
  506. package/src/adapters/minikube/secrets/index.ts +0 -19
  507. package/src/adapters/minikube/secrets/supabase-vault/index.ts +0 -139
  508. package/src/adapters/minikube/storage/index.ts +0 -91
  509. package/src/adapters/minikube/storage/supabase/index.ts +0 -108
  510. package/src/apiInfrastructure.test.ts +0 -69
  511. package/src/authRedirects.test.ts +0 -63
  512. package/src/authRedirects.ts +0 -113
  513. package/src/authTargetRedirects.test.ts +0 -62
  514. package/src/authTargetRedirects.ts +0 -46
  515. package/src/commandContext.ts +0 -27
  516. package/src/commands.ts +0 -404
  517. package/src/generatedApiLedgerCleanup.test.ts +0 -72
  518. package/src/infraApiValidation.test.ts +0 -42
  519. package/src/infraValidation.ts +0 -99
  520. package/src/minikubeImageLifecycle.test.ts +0 -35
  521. package/src/projectDatabase.ts +0 -27
  522. package/src/projectEnvironment.ts +0 -51
  523. package/src/projectInfrastructure.ts +0 -221
  524. package/src/runtime.test.ts +0 -124
  525. package/src/runtime.ts +0 -234
  526. package/src/secretStore.test.ts +0 -76
  527. package/src/secretStore.ts +0 -44
  528. package/src/types.ts +0 -82
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @ankhorage/infra
2
2
 
3
+ ## 5.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 51a60f2: Expose a typed project lifecycle that applies the canonical Infra use cases while preserving environment-scoped state and generated artifact ownership.
8
+
9
+ ## 5.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - 11216db: Replace the embedded Minikube implementation and application-specific deployment helpers with a provider-neutral typed environment lifecycle.
14
+
15
+ Infra now resolves the published compute, runtime, database/auth/storage, authorization and secret-store packages selected by the canonical manifest. It exposes `validate`, `plan`, `generate`, `up`, `status`, `outputs`, `down` and `destroy` through both the standalone executable and the Ankh provider. Environment-scoped state records exact ownership and secret references, while destroy requires exact project/environment confirmation and explicit confirmation for persistent deletion.
16
+
17
+ Consumers must migrate from removed Minikube, OAuth, port-forward, reset and app-serving APIs to the canonical manifest plus the eight lifecycle commands. Project tooling should use the renamed async owner APIs from `@ankhorage/infra/project`, such as `resolveInfraProjectAsync`, `readStoredInfraStateAsync` and `writeInfraGeneratedArtifactsAsync`.
18
+
3
19
  ## 4.1.12
4
20
 
5
21
  ### Patch Changes
package/README.md CHANGED
@@ -3,51 +3,42 @@
3
3
 
4
4
  # INFRA
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v4.1.8](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v5.0.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Executable infra provider and standalone CLI for Ankhorage project workflows.
9
9
 
10
10
  ## Usage
11
11
 
12
- ### Provider, CLI, and project API surface
12
+ ### Provider-neutral infrastructure lifecycle
13
13
 
14
- `@ankhorage/infra` owns infrastructure generation, project reconciliation,
15
- and generated lifecycle execution.
14
+ `@ankhorage/infra` resolves only the compute, runtime, and service adapter packages selected by
15
+ an environment-aware Infra manifest. Its typed use cases own orchestration, dependency ordering,
16
+ safe outputs, deterministic artifacts, and environment-scoped ownership state. Provider packages
17
+ own all technology-specific implementation.
16
18
 
17
- The same owner implementation backs CLI consumers and the public
18
- `@ankhorage/infra/project` application-service boundary. Trusted hosts such
19
- as Studio should call that subpath instead of reproducing ledger, generated
20
- file, lifecycle-script, or port-forward configuration semantics.
21
-
22
- CLI entrypoints:
23
-
24
- - `ankh infra ...`
25
- - `bunx @ankhorage/infra ...`
26
-
27
- Current command surface:
19
+ The standalone CLI and `ankh infra` expose the same lifecycle:
28
20
 
29
21
  - `validate`
22
+ - `plan`
30
23
  - `generate`
31
- - `status`
32
24
  - `up`
25
+ - `status`
26
+ - `outputs`
33
27
  - `down`
28
+ - `destroy`
34
29
 
35
- Project resolution for the CLI is workspace-aware: pass `[project]`, or
36
- omit it when cwd is already inside `apps/<project>`. Programmatic project
37
- operations accept an explicit project path and do not require Studio or a
38
- particular workspace layout.
39
-
40
- Running applications can repair their provider-aware host endpoints through
41
- `ensureProjectInfrastructureRuntime()` from `@ankhorage/infra/project`. This
42
- operation only ensures the generated runtime port-forward group; it does not
43
- deploy, bootstrap, or reconcile infrastructure.
30
+ `local` is the only default environment. Destruction always requires an explicit environment and
31
+ exact `<project>:<environment>` confirmation. Persistent resources remain retained unless each
32
+ exact owned resource is separately authorized with `--delete-resource <adapter>:<resourceId>`.
33
+ Environment-style outputs print only explicitly public values with an environment-variable name;
34
+ secret outputs remain references.
44
35
 
45
36
  Source: `src/readme-usage.ts`
46
37
 
47
38
  ```ts
48
- import { runCli } from './cli/bin.js';
39
+ import { runInfraCliAsync } from './cli/runInfraCliAsync.js';
49
40
 
50
- await runCli(['--help']);
41
+ await runInfraCliAsync(['--help']);
51
42
  ```
52
43
 
53
44
  ## Generated documentation
@@ -58,8 +49,6 @@ await runCli(['--help']);
58
49
  - [Architecture overview](././paradox/diagrams/architecture-overview.mmd)
59
50
  - [Module relationships](././paradox/diagrams/module-relationships.mmd)
60
51
  - [Export graph](././paradox/diagrams/export-graph.mmd)
61
- - [ankhorage-infra sequence](././paradox/diagrams/sequences/ankhorage-infra.mmd)
62
- - [createInfraSecretStoreAdapter sequence](././paradox/diagrams/sequences/create-infra-secret-store-adapter.mmd)
63
- - [getLocalAuthRedirectPatterns sequence](././paradox/diagrams/sequences/get-local-auth-redirect-patterns.mmd)
64
- - [normalizeAuthCallbackRoute sequence](././paradox/diagrams/sequences/normalize-auth-callback-route.mmd)
65
- - [resolveAuthRedirectConfiguration sequence](././paradox/diagrams/sequences/resolve-auth-redirect-configuration.mmd)
52
+ - [getInfraEnvironmentOutputs sequence](././paradox/diagrams/sequences/get-infra-environment-outputs.mmd)
53
+ - [orderInfraPlanActions sequence](././paradox/diagrams/sequences/order-infra-plan-actions.mmd)
54
+ - [resolveInfraEnvironment sequence](././paradox/diagrams/sequences/resolve-infra-environment.mmd)
package/dist/cli/bin.d.ts CHANGED
@@ -1,10 +1,3 @@
1
1
  #!/usr/bin/env bun
2
- import type { InfraCommandContext, InfraCommandRunResult } from '../commandContext.js';
3
- import { type InfraCommandServices, type RunInfraCommandImpl } from '../commands.js';
4
- export interface InfraCliOptions {
5
- readonly context?: InfraCommandContext;
6
- readonly runCommandImpl?: RunInfraCommandImpl;
7
- readonly services?: Partial<InfraCommandServices>;
8
- }
9
- export declare function runCli(argv: readonly string[], options?: InfraCliOptions): Promise<InfraCommandRunResult>;
2
+ export {};
10
3
  //# sourceMappingURL=bin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAEL,KAAK,oBAAoB,EAIzB,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnD;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CA+BhC"}
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":""}
package/dist/cli/bin.js CHANGED
@@ -1,39 +1,7 @@
1
1
  #!/usr/bin/env bun
2
- import { createDefaultCommandContext } from '../commandContext.js';
3
- import { findInfraCommandByStandaloneName, renderRootHelp, renderUnknownCommand, runInfraCommand, } from '../commands.js';
4
- export async function runCli(argv, options = {}) {
5
- const context = options.context ?? createDefaultCommandContext();
6
- const runCommand = options.runCommandImpl ?? runInfraCommand;
7
- const [firstToken, ...restTokens] = argv;
8
- if (firstToken === undefined || isHelpToken(firstToken)) {
9
- context.writeStdout(renderRootHelp(context.version));
10
- return { exitCode: 0 };
11
- }
12
- if (isVersionToken(firstToken)) {
13
- context.writeStdout(`${context.version}\n`);
14
- return { exitCode: 0 };
15
- }
16
- const command = findInfraCommandByStandaloneName(firstToken);
17
- if (command === null) {
18
- context.writeStderr(renderUnknownCommand(firstToken));
19
- return { exitCode: 1 };
20
- }
21
- return runCommand({
22
- argv: restTokens,
23
- command,
24
- context,
25
- }, {
26
- services: options.services,
27
- });
28
- }
29
- function isHelpToken(value) {
30
- return value === '--help' || value === '-h' || value === 'help';
31
- }
32
- function isVersionToken(value) {
33
- return value === '--version' || value === '-v' || value === 'version';
34
- }
2
+ import { runInfraCliAsync } from './runInfraCliAsync.js';
35
3
  if (import.meta.main) {
36
- const result = await runCli(process.argv.slice(2));
4
+ const result = await runInfraCliAsync(process.argv.slice(2));
37
5
  process.exit(result.exitCode);
38
6
  }
39
7
  //# sourceMappingURL=bin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,gCAAgC,EAEhC,cAAc,EACd,oBAAoB,EACpB,eAAe,GAEhB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAuB,EACvB,UAA2B,EAAE;IAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,2BAA2B,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,IAAI,eAAe,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;IAEzC,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5C,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,OAAO,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,UAAU,CACf;QACE,IAAI,EAAE,UAAU;QAChB,OAAO;QACP,OAAO;KACR,EACD;QACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC","sourcesContent":["#!/usr/bin/env bun\n\nimport type { InfraCommandContext, InfraCommandRunResult } from '../commandContext.js';\nimport { createDefaultCommandContext } from '../commandContext.js';\nimport {\n findInfraCommandByStandaloneName,\n type InfraCommandServices,\n renderRootHelp,\n renderUnknownCommand,\n runInfraCommand,\n type RunInfraCommandImpl,\n} from '../commands.js';\n\nexport interface InfraCliOptions {\n readonly context?: InfraCommandContext;\n readonly runCommandImpl?: RunInfraCommandImpl;\n readonly services?: Partial<InfraCommandServices>;\n}\n\nexport async function runCli(\n argv: readonly string[],\n options: InfraCliOptions = {},\n): Promise<InfraCommandRunResult> {\n const context = options.context ?? createDefaultCommandContext();\n const runCommand = options.runCommandImpl ?? runInfraCommand;\n const [firstToken, ...restTokens] = argv;\n\n if (firstToken === undefined || isHelpToken(firstToken)) {\n context.writeStdout(renderRootHelp(context.version));\n return { exitCode: 0 };\n }\n\n if (isVersionToken(firstToken)) {\n context.writeStdout(`${context.version}\\n`);\n return { exitCode: 0 };\n }\n\n const command = findInfraCommandByStandaloneName(firstToken);\n if (command === null) {\n context.writeStderr(renderUnknownCommand(firstToken));\n return { exitCode: 1 };\n }\n\n return runCommand(\n {\n argv: restTokens,\n command,\n context,\n },\n {\n services: options.services,\n },\n );\n}\n\nfunction isHelpToken(value: string): boolean {\n return value === '--help' || value === '-h' || value === 'help';\n}\n\nfunction isVersionToken(value: string): boolean {\n return value === '--version' || value === '-v' || value === 'version';\n}\n\nif (import.meta.main) {\n const result = await runCli(process.argv.slice(2));\n process.exit(result.exitCode);\n}\n"]}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC","sourcesContent":["#!/usr/bin/env bun\n\nimport { runInfraCliAsync } from './runInfraCliAsync.js';\n\nif (import.meta.main) {\n const result = await runInfraCliAsync(process.argv.slice(2));\n process.exit(result.exitCode);\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define exact-scope destruction behind environment and persistent-resource confirmation. */
2
+ export declare const destroy: {
3
+ readonly standaloneName: "destroy";
4
+ readonly path: readonly ["destroy"];
5
+ readonly capability: "infra.destroy";
6
+ readonly summary: "Destroy exact owned resources behind explicit confirmation.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=destroy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/destroy.ts"],"names":[],"mappings":"AAUA,+FAA+F;AAC/F,eAAO,MAAM,OAAO;;;;;;;;CAuCuB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { resolveInfraPersistence } from '../utils/resolveInfraPersistence.js';
5
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
6
+ /*** Define exact-scope destruction behind environment and persistent-resource confirmation. */
7
+ export const destroy = {
8
+ standaloneName: 'destroy',
9
+ path: ['destroy'],
10
+ capability: INFRA_CAPABILITIES[7],
11
+ summary: 'Destroy exact owned resources behind explicit confirmation.',
12
+ async run(request, services) {
13
+ const operation = await prepareInfraCommandOperationAsync(request, services, true);
14
+ const environment = requireEnvironment(request.arguments.environment);
15
+ const confirmation = `${operation.project.projectId}:${environment}`;
16
+ if (request.arguments.confirmation !== confirmation) {
17
+ throw new Error(`Infra destroy requires --confirm ${confirmation}.`);
18
+ }
19
+ const destroyRequest = {
20
+ ...operation.operation,
21
+ environment,
22
+ confirmation: { projectId: operation.project.projectId, environment },
23
+ persistence: resolveInfraPersistence(operation.state?.ledger, request.arguments.deleteResources),
24
+ };
25
+ const result = await services.operations.destroy(destroyRequest, operation.dependencies);
26
+ requireInfraSuccess(result, request.context);
27
+ await services.writeArtifacts(operation.project.projectPath, [], operation.state?.ledger);
28
+ if (result.value.ledger === null) {
29
+ await services.removeState(operation.project.projectPath, environment);
30
+ }
31
+ else {
32
+ await services.writeState(operation.project.projectPath, {
33
+ schemaVersion: 1,
34
+ desired: operation.desired,
35
+ ledger: result.value.ledger,
36
+ });
37
+ }
38
+ writeInfraStructured(request.context, request.arguments.format, {
39
+ environment: result.value.environment,
40
+ retainedResources: result.value.ledger?.resources.length ?? 0,
41
+ });
42
+ return { exitCode: 0 };
43
+ },
44
+ };
45
+ /*** Require the explicit destroy environment after CLI parsing. */
46
+ function requireEnvironment(value) {
47
+ if (value === undefined)
48
+ throw new Error('Infra destroy requires an explicit environment.');
49
+ return value;
50
+ }
51
+ //# sourceMappingURL=destroy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../../src/cli/commands/destroy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAGxD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,cAAc,EAAE,SAAS;IACzB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,6DAA6D;IACtE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,oCAAoC,YAAY,GAAG,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,cAAc,GAAiC;YACnD,GAAG,SAAS,CAAC,SAAS;YACtB,WAAW;YACX,YAAY,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE;YACrE,WAAW,EAAE,uBAAuB,CAClC,SAAS,CAAC,KAAK,EAAE,MAAM,EACvB,OAAO,CAAC,SAAS,CAAC,eAAe,CAClC;SACF,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACzF,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1F,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;gBACvD,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aAC5B,CAAC,CAAC;QACL,CAAC;QACD,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAC9D,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC;AAE5C,mEAAmE;AACnE,SAAS,kBAAkB,CAAC,KAAmC;IAC7D,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import type { AppEnvironmentId } from '@ankhorage/contracts/environments';\n\nimport { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport type { InfraDestroyOperationRequest } from '../../types/infraOrchestration.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { resolveInfraPersistence } from '../utils/resolveInfraPersistence.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define exact-scope destruction behind environment and persistent-resource confirmation. */\nexport const destroy = {\n standaloneName: 'destroy',\n path: ['destroy'],\n capability: INFRA_CAPABILITIES[7],\n summary: 'Destroy exact owned resources behind explicit confirmation.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services, true);\n const environment = requireEnvironment(request.arguments.environment);\n const confirmation = `${operation.project.projectId}:${environment}`;\n if (request.arguments.confirmation !== confirmation) {\n throw new Error(`Infra destroy requires --confirm ${confirmation}.`);\n }\n const destroyRequest: InfraDestroyOperationRequest = {\n ...operation.operation,\n environment,\n confirmation: { projectId: operation.project.projectId, environment },\n persistence: resolveInfraPersistence(\n operation.state?.ledger,\n request.arguments.deleteResources,\n ),\n };\n const result = await services.operations.destroy(destroyRequest, operation.dependencies);\n requireInfraSuccess(result, request.context);\n await services.writeArtifacts(operation.project.projectPath, [], operation.state?.ledger);\n if (result.value.ledger === null) {\n await services.removeState(operation.project.projectPath, environment);\n } else {\n await services.writeState(operation.project.projectPath, {\n schemaVersion: 1,\n desired: operation.desired,\n ledger: result.value.ledger,\n });\n }\n writeInfraStructured(request.context, request.arguments.format, {\n environment: result.value.environment,\n retainedResources: result.value.ledger?.resources.length ?? 0,\n });\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n\n/*** Require the explicit destroy environment after CLI parsing. */\nfunction requireEnvironment(value: AppEnvironmentId | undefined): AppEnvironmentId {\n if (value === undefined) throw new Error('Infra destroy requires an explicit environment.');\n return value;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define reversible runtime suspension while retaining persistent resources. */
2
+ export declare const down: {
3
+ readonly standaloneName: "down";
4
+ readonly path: readonly ["down"];
5
+ readonly capability: "infra.down";
6
+ readonly summary: "Reversibly suspend runtime workloads while retaining persistent data.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=down.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"down.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/down.ts"],"names":[],"mappings":"AAMA,kFAAkF;AAClF,eAAO,MAAM,IAAI;;;;;;;;CAoB0B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
5
+ /*** Define reversible runtime suspension while retaining persistent resources. */
6
+ export const down = {
7
+ standaloneName: 'down',
8
+ path: ['down'],
9
+ capability: INFRA_CAPABILITIES[6],
10
+ summary: 'Reversibly suspend runtime workloads while retaining persistent data.',
11
+ async run(request, services) {
12
+ const operation = await prepareInfraCommandOperationAsync(request, services);
13
+ const result = await services.operations.down(operation.operation, operation.dependencies);
14
+ requireInfraSuccess(result, request.context);
15
+ await services.writeState(operation.project.projectPath, {
16
+ schemaVersion: 1,
17
+ desired: operation.desired,
18
+ ledger: result.value.ledger,
19
+ });
20
+ writeInfraStructured(request.context, request.arguments.format, {
21
+ environment: result.value.environment,
22
+ state: 'stopped',
23
+ });
24
+ return { exitCode: 0 };
25
+ },
26
+ };
27
+ //# sourceMappingURL=down.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"down.js","sourceRoot":"","sources":["../../../src/cli/commands/down.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,kFAAkF;AAClF,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,cAAc,EAAE,MAAM;IACtB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,uEAAuE;IAChF,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3F,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;YACvD,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SAC5B,CAAC,CAAC;QACH,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAC9D,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define reversible runtime suspension while retaining persistent resources. */\nexport const down = {\n standaloneName: 'down',\n path: ['down'],\n capability: INFRA_CAPABILITIES[6],\n summary: 'Reversibly suspend runtime workloads while retaining persistent data.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = await services.operations.down(operation.operation, operation.dependencies);\n requireInfraSuccess(result, request.context);\n await services.writeState(operation.project.projectPath, {\n schemaVersion: 1,\n desired: operation.desired,\n ledger: result.value.ledger,\n });\n writeInfraStructured(request.context, request.arguments.format, {\n environment: result.value.environment,\n state: 'stopped',\n });\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define deterministic review-artifact generation without remote side effects. */
2
+ export declare const generate: {
3
+ readonly standaloneName: "generate";
4
+ readonly path: readonly ["generate"];
5
+ readonly capability: "infra.generate";
6
+ readonly summary: "Generate deterministic review artifacts without remote side effects.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAMA,oFAAoF;AACpF,eAAO,MAAM,QAAQ;;;;;;;;CA0BsB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
5
+ /*** Define deterministic review-artifact generation without remote side effects. */
6
+ export const generate = {
7
+ standaloneName: 'generate',
8
+ path: ['generate'],
9
+ capability: INFRA_CAPABILITIES[2],
10
+ summary: 'Generate deterministic review artifacts without remote side effects.',
11
+ async run(request, services) {
12
+ const operation = await prepareInfraCommandOperationAsync(request, services);
13
+ const result = await services.operations.generate(operation.operation, operation.dependencies);
14
+ requireInfraSuccess(result, request.context);
15
+ const written = await services.writeArtifacts(operation.project.projectPath, result.value.artifacts, operation.state?.ledger);
16
+ await services.writeState(operation.project.projectPath, {
17
+ schemaVersion: 1,
18
+ desired: operation.desired,
19
+ ledger: result.value.ledger,
20
+ });
21
+ writeInfraStructured(request.context, request.arguments.format, {
22
+ environment: result.value.environment,
23
+ ...written,
24
+ artifacts: result.value.artifacts.map(({ path }) => path),
25
+ });
26
+ return { exitCode: 0 };
27
+ },
28
+ };
29
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,oFAAoF;AACpF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,cAAc,EAAE,UAAU;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,sEAAsE;IAC/E,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC/F,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAC3C,SAAS,CAAC,OAAO,CAAC,WAAW,EAC7B,MAAM,CAAC,KAAK,CAAC,SAAS,EACtB,SAAS,CAAC,KAAK,EAAE,MAAM,CACxB,CAAC;QACF,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;YACvD,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SAC5B,CAAC,CAAC;QACH,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAC9D,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,GAAG,OAAO;YACV,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;SAC1D,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define deterministic review-artifact generation without remote side effects. */\nexport const generate = {\n standaloneName: 'generate',\n path: ['generate'],\n capability: INFRA_CAPABILITIES[2],\n summary: 'Generate deterministic review artifacts without remote side effects.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = await services.operations.generate(operation.operation, operation.dependencies);\n requireInfraSuccess(result, request.context);\n const written = await services.writeArtifacts(\n operation.project.projectPath,\n result.value.artifacts,\n operation.state?.ledger,\n );\n await services.writeState(operation.project.projectPath, {\n schemaVersion: 1,\n desired: operation.desired,\n ledger: result.value.ledger,\n });\n writeInfraStructured(request.context, request.arguments.format, {\n environment: result.value.environment,\n ...written,\n artifacts: result.value.artifacts.map(({ path }) => path),\n });\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define safe public-output and secret-reference presentation. */
2
+ export declare const outputs: {
3
+ readonly standaloneName: "outputs";
4
+ readonly path: readonly ["outputs"];
5
+ readonly capability: "infra.outputs";
6
+ readonly summary: "Print safe public outputs and secret references.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=outputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/outputs.ts"],"names":[],"mappings":"AAOA,oEAAoE;AACpE,eAAO,MAAM,OAAO;;;;;;;;CAgBuB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraEnvironmentOutputs } from '../utils/writeInfraEnvironmentOutputs.js';
5
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
6
+ /*** Define safe public-output and secret-reference presentation. */
7
+ export const outputs = {
8
+ standaloneName: 'outputs',
9
+ path: ['outputs'],
10
+ capability: INFRA_CAPABILITIES[5],
11
+ summary: 'Print safe public outputs and secret references.',
12
+ async run(request, services) {
13
+ const operation = await prepareInfraCommandOperationAsync(request, services);
14
+ const result = services.operations.outputs(operation.operation);
15
+ requireInfraSuccess(result, request.context);
16
+ if (request.arguments.format === 'env') {
17
+ writeInfraEnvironmentOutputs(request.context, result.value.outputs);
18
+ }
19
+ else {
20
+ writeInfraStructured(request.context, request.arguments.format, result.value);
21
+ }
22
+ return { exitCode: 0 };
23
+ },
24
+ };
25
+ //# sourceMappingURL=outputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs.js","sourceRoot":"","sources":["../../../src/cli/commands/outputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,oEAAoE;AACpE,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,cAAc,EAAE,SAAS;IACzB,IAAI,EAAE,CAAC,SAAS,CAAC;IACjB,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,kDAAkD;IAC3D,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChE,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACvC,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraEnvironmentOutputs } from '../utils/writeInfraEnvironmentOutputs.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define safe public-output and secret-reference presentation. */\nexport const outputs = {\n standaloneName: 'outputs',\n path: ['outputs'],\n capability: INFRA_CAPABILITIES[5],\n summary: 'Print safe public outputs and secret references.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = services.operations.outputs(operation.operation);\n requireInfraSuccess(result, request.context);\n if (request.arguments.format === 'env') {\n writeInfraEnvironmentOutputs(request.context, result.value.outputs);\n } else {\n writeInfraStructured(request.context, request.arguments.format, result.value);\n }\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define the ordered side-effect-free infrastructure planning command. */
2
+ export declare const plan: {
3
+ readonly standaloneName: "plan";
4
+ readonly path: readonly ["plan"];
5
+ readonly capability: "infra.plan";
6
+ readonly summary: "Print an ordered side-effect-free infrastructure plan.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAMA,4EAA4E;AAC5E,eAAO,MAAM,IAAI;;;;;;;;CAY0B,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
5
+ /*** Define the ordered side-effect-free infrastructure planning command. */
6
+ export const plan = {
7
+ standaloneName: 'plan',
8
+ path: ['plan'],
9
+ capability: INFRA_CAPABILITIES[1],
10
+ summary: 'Print an ordered side-effect-free infrastructure plan.',
11
+ async run(request, services) {
12
+ const operation = await prepareInfraCommandOperationAsync(request, services);
13
+ const result = await services.operations.plan(operation.operation, operation.dependencies);
14
+ requireInfraSuccess(result, request.context);
15
+ writeInfraStructured(request.context, request.arguments.format, result.value);
16
+ return { exitCode: 0 };
17
+ },
18
+ };
19
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/cli/commands/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,cAAc,EAAE,MAAM;IACtB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,wDAAwD;IACjE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3F,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define the ordered side-effect-free infrastructure planning command. */\nexport const plan = {\n standaloneName: 'plan',\n path: ['plan'],\n capability: INFRA_CAPABILITIES[1],\n summary: 'Print an ordered side-effect-free infrastructure plan.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = await services.operations.plan(operation.operation, operation.dependencies);\n requireInfraSuccess(result, request.context);\n writeInfraStructured(request.context, request.arguments.format, result.value);\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define provider-neutral environment status aggregation. */
2
+ export declare const status: {
3
+ readonly standaloneName: "status";
4
+ readonly path: readonly ["status"];
5
+ readonly capability: "infra.status";
6
+ readonly summary: "Aggregate provider-neutral environment status.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAMA,+DAA+D;AAC/D,eAAO,MAAM,MAAM;;;;;;;;CAYwB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
5
+ /*** Define provider-neutral environment status aggregation. */
6
+ export const status = {
7
+ standaloneName: 'status',
8
+ path: ['status'],
9
+ capability: INFRA_CAPABILITIES[4],
10
+ summary: 'Aggregate provider-neutral environment status.',
11
+ async run(request, services) {
12
+ const operation = await prepareInfraCommandOperationAsync(request, services);
13
+ const result = await services.operations.status(operation.operation, operation.dependencies);
14
+ requireInfraSuccess(result, request.context);
15
+ writeInfraStructured(request.context, request.arguments.format, result.value);
16
+ return { exitCode: 0 };
17
+ },
18
+ };
19
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,cAAc,EAAE,QAAQ;IACxB,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,gDAAgD;IACzD,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7F,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define provider-neutral environment status aggregation. */\nexport const status = {\n standaloneName: 'status',\n path: ['status'],\n capability: INFRA_CAPABILITIES[4],\n summary: 'Aggregate provider-neutral environment status.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = await services.operations.status(operation.operation, operation.dependencies);\n requireInfraSuccess(result, request.context);\n writeInfraStructured(request.context, request.arguments.format, result.value);\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define idempotent environment creation and reconciliation. */
2
+ export declare const up: {
3
+ readonly standaloneName: "up";
4
+ readonly path: readonly ["up"];
5
+ readonly capability: "infra.up";
6
+ readonly summary: "Idempotently ensure and reconcile the selected environment.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=up.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/up.ts"],"names":[],"mappings":"AAMA,kEAAkE;AAClE,eAAO,MAAM,EAAE;;;;;;;;CAqB4B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
5
+ /*** Define idempotent environment creation and reconciliation. */
6
+ export const up = {
7
+ standaloneName: 'up',
8
+ path: ['up'],
9
+ capability: INFRA_CAPABILITIES[3],
10
+ summary: 'Idempotently ensure and reconcile the selected environment.',
11
+ async run(request, services) {
12
+ const operation = await prepareInfraCommandOperationAsync(request, services);
13
+ const result = await services.operations.up(operation.operation, operation.dependencies);
14
+ requireInfraSuccess(result, request.context);
15
+ await services.writeState(operation.project.projectPath, {
16
+ schemaVersion: 1,
17
+ desired: operation.desired,
18
+ ledger: result.value.ledger,
19
+ });
20
+ writeInfraStructured(request.context, request.arguments.format, {
21
+ environment: result.value.environment,
22
+ resources: result.value.resources.length,
23
+ outputs: result.value.outputs,
24
+ });
25
+ return { exitCode: 0 };
26
+ },
27
+ };
28
+ //# sourceMappingURL=up.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"up.js","sourceRoot":"","sources":["../../../src/cli/commands/up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,kEAAkE;AAClE,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,CAAC,IAAI,CAAC;IACZ,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,6DAA6D;IACtE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACzF,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;YACvD,aAAa,EAAE,CAAC;YAChB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SAC5B,CAAC,CAAC;QACH,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE;YAC9D,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;YACrC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;YACxC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;SAC9B,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define idempotent environment creation and reconciliation. */\nexport const up = {\n standaloneName: 'up',\n path: ['up'],\n capability: INFRA_CAPABILITIES[3],\n summary: 'Idempotently ensure and reconcile the selected environment.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = await services.operations.up(operation.operation, operation.dependencies);\n requireInfraSuccess(result, request.context);\n await services.writeState(operation.project.projectPath, {\n schemaVersion: 1,\n desired: operation.desired,\n ledger: result.value.ledger,\n });\n writeInfraStructured(request.context, request.arguments.format, {\n environment: result.value.environment,\n resources: result.value.resources.length,\n outputs: result.value.outputs,\n });\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}
@@ -0,0 +1,11 @@
1
+ /*** Define the manifest, compatibility, credential and selected-adapter validation command. */
2
+ export declare const validate: {
3
+ readonly standaloneName: "validate";
4
+ readonly path: readonly ["validate"];
5
+ readonly capability: "infra.validate";
6
+ readonly summary: "Validate manifest, compatibility, credentials and selected adapters.";
7
+ readonly run: (request: import("../../types/infraCli.js").InfraCommandRunRequest, services: import("../index.js").InfraCommandServices) => Promise<{
8
+ exitCode: number;
9
+ }>;
10
+ };
11
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAMA,+FAA+F;AAC/F,eAAO,MAAM,QAAQ;;;;;;;;CAYsB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { INFRA_CAPABILITIES } from '../../constants.js';
2
+ import { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';
3
+ import { requireInfraSuccess } from '../utils/requireInfraSuccess.js';
4
+ import { writeInfraStructured } from '../utils/writeInfraStructured.js';
5
+ /*** Define the manifest, compatibility, credential and selected-adapter validation command. */
6
+ export const validate = {
7
+ standaloneName: 'validate',
8
+ path: ['validate'],
9
+ capability: INFRA_CAPABILITIES[0],
10
+ summary: 'Validate manifest, compatibility, credentials and selected adapters.',
11
+ async run(request, services) {
12
+ const operation = await prepareInfraCommandOperationAsync(request, services);
13
+ const result = await services.operations.validate(operation.operation, operation.dependencies);
14
+ requireInfraSuccess(result, request.context);
15
+ writeInfraStructured(request.context, request.arguments.format, result.value);
16
+ return { exitCode: 0 };
17
+ },
18
+ };
19
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,+FAA+F;AAC/F,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,cAAc,EAAE,UAAU;IAC1B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACjC,OAAO,EAAE,sEAAsE;IAC/E,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ;QACzB,MAAM,SAAS,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QAC/F,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;CACwC,CAAC","sourcesContent":["import { INFRA_CAPABILITIES } from '../../constants.js';\nimport type { InfraCommandDefinition } from '../../types/infraCli.js';\nimport { prepareInfraCommandOperationAsync } from '../utils/prepareInfraCommandOperationAsync.js';\nimport { requireInfraSuccess } from '../utils/requireInfraSuccess.js';\nimport { writeInfraStructured } from '../utils/writeInfraStructured.js';\n\n/*** Define the manifest, compatibility, credential and selected-adapter validation command. */\nexport const validate = {\n standaloneName: 'validate',\n path: ['validate'],\n capability: INFRA_CAPABILITIES[0],\n summary: 'Validate manifest, compatibility, credentials and selected adapters.',\n async run(request, services) {\n const operation = await prepareInfraCommandOperationAsync(request, services);\n const result = await services.operations.validate(operation.operation, operation.dependencies);\n requireInfraSuccess(result, request.context);\n writeInfraStructured(request.context, request.arguments.format, result.value);\n return { exitCode: 0 };\n },\n} as const satisfies InfraCommandDefinition;\n"]}