@ankhorage/infra 4.1.12 → 5.0.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 (521) hide show
  1. package/CHANGELOG.md +10 -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/domain/orderInfraPlanActions.d.ts +4 -0
  192. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.d.ts.map +1 -0
  193. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.js +54 -0
  194. package/dist/features/environment-lifecycle/domain/orderInfraPlanActions.js.map +1 -0
  195. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.d.ts +5 -0
  196. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.d.ts.map +1 -0
  197. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.js +39 -0
  198. package/dist/features/environment-lifecycle/domain/resolveInfraEnvironment.js.map +1 -0
  199. package/dist/features/environment-lifecycle/utils/appendInfraFailure.d.ts +7 -0
  200. package/dist/features/environment-lifecycle/utils/appendInfraFailure.d.ts.map +1 -0
  201. package/dist/features/environment-lifecycle/utils/appendInfraFailure.js +5 -0
  202. package/dist/features/environment-lifecycle/utils/appendInfraFailure.js.map +1 -0
  203. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.d.ts +5 -0
  204. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.d.ts.map +1 -0
  205. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.js +13 -0
  206. package/dist/features/environment-lifecycle/utils/createInfraExecutionContext.js.map +1 -0
  207. package/dist/features/environment-lifecycle/utils/createInfraFailure.d.ts +4 -0
  208. package/dist/features/environment-lifecycle/utils/createInfraFailure.d.ts.map +1 -0
  209. package/dist/features/environment-lifecycle/utils/createInfraFailure.js +5 -0
  210. package/dist/features/environment-lifecycle/utils/createInfraFailure.js.map +1 -0
  211. package/dist/features/environment-lifecycle/utils/createInfraLedger.d.ts +12 -0
  212. package/dist/features/environment-lifecycle/utils/createInfraLedger.d.ts.map +1 -0
  213. package/dist/features/environment-lifecycle/utils/createInfraLedger.js +14 -0
  214. package/dist/features/environment-lifecycle/utils/createInfraLedger.js.map +1 -0
  215. package/dist/features/environment-lifecycle/utils/infraIdentityKey.d.ts +4 -0
  216. package/dist/features/environment-lifecycle/utils/infraIdentityKey.d.ts.map +1 -0
  217. package/dist/features/environment-lifecycle/utils/infraIdentityKey.js +5 -0
  218. package/dist/features/environment-lifecycle/utils/infraIdentityKey.js.map +1 -0
  219. package/dist/features/environment-lifecycle/utils/isInfraStoredState.d.ts +4 -0
  220. package/dist/features/environment-lifecycle/utils/isInfraStoredState.d.ts.map +1 -0
  221. package/dist/features/environment-lifecycle/utils/isInfraStoredState.js +103 -0
  222. package/dist/features/environment-lifecycle/utils/isInfraStoredState.js.map +1 -0
  223. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.d.ts +4 -0
  224. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.d.ts.map +1 -0
  225. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.js +10 -0
  226. package/dist/features/environment-lifecycle/utils/mergeInfraOutputs.js.map +1 -0
  227. package/dist/features/environment-lifecycle/utils/mergeInfraResources.d.ts +4 -0
  228. package/dist/features/environment-lifecycle/utils/mergeInfraResources.d.ts.map +1 -0
  229. package/dist/features/environment-lifecycle/utils/mergeInfraResources.js +10 -0
  230. package/dist/features/environment-lifecycle/utils/mergeInfraResources.js.map +1 -0
  231. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.d.ts +3 -0
  232. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.d.ts.map +1 -0
  233. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.js +8 -0
  234. package/dist/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.js.map +1 -0
  235. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.d.ts +4 -0
  236. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.d.ts.map +1 -0
  237. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.js +11 -0
  238. package/dist/features/environment-lifecycle/utils/resolveInfraStatePath.js.map +1 -0
  239. package/dist/features/environment-lifecycle/utils/resolveProjectFile.d.ts +3 -0
  240. package/dist/features/environment-lifecycle/utils/resolveProjectFile.d.ts.map +1 -0
  241. package/dist/features/environment-lifecycle/utils/resolveProjectFile.js +19 -0
  242. package/dist/features/environment-lifecycle/utils/resolveProjectFile.js.map +1 -0
  243. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.d.ts +4 -0
  244. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.d.ts.map +1 -0
  245. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.js +6 -0
  246. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.js.map +1 -0
  247. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.d.ts +4 -0
  248. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.d.ts.map +1 -0
  249. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.js +6 -0
  250. package/dist/features/environment-lifecycle/utils/retainUnchangedAdapterResources.js.map +1 -0
  251. package/dist/index.d.ts +16 -6
  252. package/dist/index.d.ts.map +1 -1
  253. package/dist/index.js +14 -15
  254. package/dist/index.js.map +1 -1
  255. package/dist/metadata/index.d.ts +1 -1
  256. package/dist/metadata/index.d.ts.map +1 -1
  257. package/dist/metadata/index.js +1 -1
  258. package/dist/metadata/index.js.map +1 -1
  259. package/dist/project/index.d.ts +7 -5
  260. package/dist/project/index.d.ts.map +1 -1
  261. package/dist/project/index.js +6 -5
  262. package/dist/project/index.js.map +1 -1
  263. package/dist/readme-usage.js +17 -26
  264. package/dist/readme-usage.js.map +1 -1
  265. package/dist/testSupport.d.ts +1 -1
  266. package/dist/testSupport.d.ts.map +1 -1
  267. package/dist/testSupport.js +11 -1
  268. package/dist/testSupport.js.map +1 -1
  269. package/dist/types/infraCli.d.ts +91 -0
  270. package/dist/types/infraCli.d.ts.map +1 -0
  271. package/dist/types/infraCli.js +2 -0
  272. package/dist/types/infraCli.js.map +1 -0
  273. package/dist/types/infraOrchestration.d.ts +84 -0
  274. package/dist/types/infraOrchestration.d.ts.map +1 -0
  275. package/dist/types/infraOrchestration.js +2 -0
  276. package/dist/types/infraOrchestration.js.map +1 -0
  277. package/dist/{project.d.ts → types/infraProject.d.ts} +6 -6
  278. package/dist/types/infraProject.d.ts.map +1 -0
  279. package/dist/types/infraProject.js +2 -0
  280. package/dist/types/infraProject.js.map +1 -0
  281. package/package.json +20 -10
  282. package/src/adapterPackages.integration.test.ts +79 -0
  283. package/src/cli/bin.ts +2 -61
  284. package/src/cli/cli.test.ts +35 -126
  285. package/src/cli/commands/destroy.ts +57 -0
  286. package/src/cli/commands/down.ts +28 -0
  287. package/src/cli/commands/generate.ts +34 -0
  288. package/src/cli/commands/outputs.ts +25 -0
  289. package/src/cli/commands/plan.ts +20 -0
  290. package/src/cli/commands/status.ts +20 -0
  291. package/src/cli/commands/up.ts +29 -0
  292. package/src/cli/commands/validate.ts +20 -0
  293. package/src/cli/constants.ts +19 -0
  294. package/src/cli/createDefaultInfraCommandContext.ts +17 -0
  295. package/src/cli/createInfraRuntimeProvider.ts +35 -0
  296. package/src/cli/createProviderCommandDescriptors.ts +8 -0
  297. package/src/cli/findInfraCommand.ts +7 -0
  298. package/src/cli/index.test.ts +12 -20
  299. package/src/cli/index.ts +7 -49
  300. package/src/cli/renderInfraRootHelp.ts +23 -0
  301. package/src/cli/renderUnknownInfraCommand.ts +4 -0
  302. package/src/cli/runInfraCliAsync.ts +51 -0
  303. package/src/cli/runInfraCommandAsync.ts +114 -0
  304. package/src/cli/utils/prepareInfraCommandOperationAsync.ts +64 -0
  305. package/src/cli/utils/requireInfraSuccess.ts +24 -0
  306. package/src/cli/utils/resolveInfraPersistence.ts +22 -0
  307. package/src/cli/utils/writeInfraEnvironmentOutputs.ts +24 -0
  308. package/src/cli/utils/writeInfraStructured.ts +11 -0
  309. package/src/commands.test.ts +198 -196
  310. package/src/{packageMetadata.ts → constants.ts} +5 -2
  311. package/src/environmentLifecycle.test.ts +193 -0
  312. package/src/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.ts +52 -0
  313. package/src/features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.ts +32 -0
  314. package/src/features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.ts +10 -0
  315. package/src/features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.ts +34 -0
  316. package/src/features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.ts +12 -0
  317. package/src/{project.ts → features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.ts} +10 -45
  318. package/src/features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.ts +34 -0
  319. package/src/features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.ts +21 -0
  320. package/src/features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.ts +10 -0
  321. package/src/features/environment-lifecycle/application/use-cases/collectInfraWorkloadsAsync.ts +25 -0
  322. package/src/features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.ts +119 -0
  323. package/src/features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.ts +65 -0
  324. package/src/features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.ts +51 -0
  325. package/src/features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.ts +41 -0
  326. package/src/features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.ts +67 -0
  327. package/src/features/environment-lifecycle/application/use-cases/prepareInfraOperationAsync.ts +137 -0
  328. package/src/features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.ts +257 -0
  329. package/src/features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.ts +80 -0
  330. package/src/features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.ts +126 -0
  331. package/src/features/environment-lifecycle/application/use-cases/validateInfraAdaptersAsync.ts +25 -0
  332. package/src/features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.ts +21 -0
  333. package/src/features/environment-lifecycle/composition/createInfraCommandServices.ts +47 -0
  334. package/src/features/environment-lifecycle/domain/orderInfraPlanActions.ts +64 -0
  335. package/src/features/environment-lifecycle/domain/resolveInfraEnvironment.ts +62 -0
  336. package/src/features/environment-lifecycle/utils/appendInfraFailure.ts +9 -0
  337. package/src/features/environment-lifecycle/utils/createInfraExecutionContext.ts +24 -0
  338. package/src/features/environment-lifecycle/utils/createInfraFailure.ts +6 -0
  339. package/src/features/environment-lifecycle/utils/createInfraLedger.ts +30 -0
  340. package/src/features/environment-lifecycle/utils/infraIdentityKey.ts +6 -0
  341. package/src/features/environment-lifecycle/utils/isInfraStoredState.ts +141 -0
  342. package/src/features/environment-lifecycle/utils/mergeInfraOutputs.ts +14 -0
  343. package/src/features/environment-lifecycle/utils/mergeInfraResources.ts +14 -0
  344. package/src/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.ts +7 -0
  345. package/src/features/environment-lifecycle/utils/resolveInfraStatePath.ts +12 -0
  346. package/src/features/environment-lifecycle/utils/resolveProjectFile.ts +22 -0
  347. package/src/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.ts +15 -0
  348. package/src/features/environment-lifecycle/utils/retainUnchangedAdapterResources.ts +15 -0
  349. package/src/index.test.ts +22 -315
  350. package/src/index.ts +41 -53
  351. package/src/infraComposition.integration.test.ts +128 -0
  352. package/src/infraOperations.test.ts +386 -0
  353. package/src/infraUp.test.ts +260 -0
  354. package/src/metadata/index.ts +1 -1
  355. package/src/package.test.ts +4 -2
  356. package/src/project/index.test.ts +8 -188
  357. package/src/project/index.ts +7 -22
  358. package/src/project.test.ts +39 -189
  359. package/src/projectContractsParser.test.ts +2 -2
  360. package/src/projectInfrastructure.test.ts +121 -167
  361. package/src/readme-usage.ts +17 -26
  362. package/src/testSupport.ts +12 -2
  363. package/src/types/infraCli.ts +115 -0
  364. package/src/types/infraOrchestration.ts +126 -0
  365. package/src/types/infraProject.ts +15 -0
  366. package/dist/adapters/minikube/auth/index.d.ts +0 -8
  367. package/dist/adapters/minikube/auth/index.d.ts.map +0 -1
  368. package/dist/adapters/minikube/auth/index.js +0 -29
  369. package/dist/adapters/minikube/auth/index.js.map +0 -1
  370. package/dist/adapters/minikube/auth/oauthRuntime.d.ts +0 -4
  371. package/dist/adapters/minikube/auth/oauthRuntime.d.ts.map +0 -1
  372. package/dist/adapters/minikube/auth/oauthRuntime.js +0 -138
  373. package/dist/adapters/minikube/auth/oauthRuntime.js.map +0 -1
  374. package/dist/adapters/minikube/auth/supabase/index.d.ts +0 -7
  375. package/dist/adapters/minikube/auth/supabase/index.d.ts.map +0 -1
  376. package/dist/adapters/minikube/auth/supabase/index.js +0 -232
  377. package/dist/adapters/minikube/auth/supabase/index.js.map +0 -1
  378. package/dist/adapters/minikube/auth/supabase/profile.d.ts +0 -20
  379. package/dist/adapters/minikube/auth/supabase/profile.d.ts.map +0 -1
  380. package/dist/adapters/minikube/auth/supabase/profile.js +0 -452
  381. package/dist/adapters/minikube/auth/supabase/profile.js.map +0 -1
  382. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.d.ts +0 -7
  383. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.d.ts.map +0 -1
  384. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.js +0 -104
  385. package/dist/adapters/minikube/auth/targetAwareOAuthRuntime.js.map +0 -1
  386. package/dist/adapters/minikube/authz/cerbos/index.d.ts +0 -13
  387. package/dist/adapters/minikube/authz/cerbos/index.d.ts.map +0 -1
  388. package/dist/adapters/minikube/authz/cerbos/index.js +0 -382
  389. package/dist/adapters/minikube/authz/cerbos/index.js.map +0 -1
  390. package/dist/adapters/minikube/authz/index.d.ts +0 -9
  391. package/dist/adapters/minikube/authz/index.d.ts.map +0 -1
  392. package/dist/adapters/minikube/authz/index.js +0 -23
  393. package/dist/adapters/minikube/authz/index.js.map +0 -1
  394. package/dist/adapters/minikube/base/index.d.ts +0 -14
  395. package/dist/adapters/minikube/base/index.d.ts.map +0 -1
  396. package/dist/adapters/minikube/base/index.js +0 -3433
  397. package/dist/adapters/minikube/base/index.js.map +0 -1
  398. package/dist/adapters/minikube/base/supabaseMigrations.d.ts +0 -2
  399. package/dist/adapters/minikube/base/supabaseMigrations.d.ts.map +0 -1
  400. package/dist/adapters/minikube/base/supabaseMigrations.js +0 -6
  401. package/dist/adapters/minikube/base/supabaseMigrations.js.map +0 -1
  402. package/dist/adapters/minikube/contracts.d.ts +0 -34
  403. package/dist/adapters/minikube/contracts.d.ts.map +0 -1
  404. package/dist/adapters/minikube/contracts.js +0 -10
  405. package/dist/adapters/minikube/contracts.js.map +0 -1
  406. package/dist/adapters/minikube/index.d.ts +0 -3
  407. package/dist/adapters/minikube/index.d.ts.map +0 -1
  408. package/dist/adapters/minikube/index.js +0 -136
  409. package/dist/adapters/minikube/index.js.map +0 -1
  410. package/dist/adapters/minikube/secrets/index.d.ts +0 -7
  411. package/dist/adapters/minikube/secrets/index.d.ts.map +0 -1
  412. package/dist/adapters/minikube/secrets/index.js +0 -13
  413. package/dist/adapters/minikube/secrets/index.js.map +0 -1
  414. package/dist/adapters/minikube/secrets/supabase-vault/index.d.ts +0 -8
  415. package/dist/adapters/minikube/secrets/supabase-vault/index.d.ts.map +0 -1
  416. package/dist/adapters/minikube/secrets/supabase-vault/index.js +0 -118
  417. package/dist/adapters/minikube/secrets/supabase-vault/index.js.map +0 -1
  418. package/dist/adapters/minikube/storage/index.d.ts +0 -7
  419. package/dist/adapters/minikube/storage/index.d.ts.map +0 -1
  420. package/dist/adapters/minikube/storage/index.js +0 -77
  421. package/dist/adapters/minikube/storage/index.js.map +0 -1
  422. package/dist/adapters/minikube/storage/supabase/index.d.ts +0 -7
  423. package/dist/adapters/minikube/storage/supabase/index.d.ts.map +0 -1
  424. package/dist/adapters/minikube/storage/supabase/index.js +0 -82
  425. package/dist/adapters/minikube/storage/supabase/index.js.map +0 -1
  426. package/dist/authRedirects.d.ts +0 -19
  427. package/dist/authRedirects.d.ts.map +0 -1
  428. package/dist/authRedirects.js +0 -80
  429. package/dist/authRedirects.js.map +0 -1
  430. package/dist/authTargetRedirects.d.ts +0 -12
  431. package/dist/authTargetRedirects.d.ts.map +0 -1
  432. package/dist/authTargetRedirects.js +0 -32
  433. package/dist/authTargetRedirects.js.map +0 -1
  434. package/dist/commandContext.d.ts +0 -12
  435. package/dist/commandContext.d.ts.map +0 -1
  436. package/dist/commandContext.js.map +0 -1
  437. package/dist/commands.d.ts +0 -95
  438. package/dist/commands.d.ts.map +0 -1
  439. package/dist/commands.js +0 -256
  440. package/dist/commands.js.map +0 -1
  441. package/dist/infraValidation.d.ts +0 -4
  442. package/dist/infraValidation.d.ts.map +0 -1
  443. package/dist/infraValidation.js +0 -63
  444. package/dist/infraValidation.js.map +0 -1
  445. package/dist/packageMetadata.d.ts +0 -10
  446. package/dist/packageMetadata.d.ts.map +0 -1
  447. package/dist/packageMetadata.js.map +0 -1
  448. package/dist/project.d.ts.map +0 -1
  449. package/dist/project.js.map +0 -1
  450. package/dist/projectDatabase.d.ts +0 -5
  451. package/dist/projectDatabase.d.ts.map +0 -1
  452. package/dist/projectDatabase.js +0 -22
  453. package/dist/projectDatabase.js.map +0 -1
  454. package/dist/projectEnvironment.d.ts +0 -6
  455. package/dist/projectEnvironment.d.ts.map +0 -1
  456. package/dist/projectEnvironment.js +0 -45
  457. package/dist/projectEnvironment.js.map +0 -1
  458. package/dist/projectInfrastructure.d.ts +0 -38
  459. package/dist/projectInfrastructure.d.ts.map +0 -1
  460. package/dist/projectInfrastructure.js +0 -145
  461. package/dist/projectInfrastructure.js.map +0 -1
  462. package/dist/runtime.d.ts +0 -54
  463. package/dist/runtime.d.ts.map +0 -1
  464. package/dist/runtime.js +0 -151
  465. package/dist/runtime.js.map +0 -1
  466. package/dist/secretStore.d.ts +0 -19
  467. package/dist/secretStore.d.ts.map +0 -1
  468. package/dist/secretStore.js +0 -22
  469. package/dist/secretStore.js.map +0 -1
  470. package/dist/types.d.ts +0 -70
  471. package/dist/types.d.ts.map +0 -1
  472. package/dist/types.js +0 -2
  473. package/dist/types.js.map +0 -1
  474. package/src/adapters/minikube/README.md +0 -115
  475. package/src/adapters/minikube/appRuntimeServing.test.ts +0 -28
  476. package/src/adapters/minikube/auth/index.ts +0 -40
  477. package/src/adapters/minikube/auth/oauthRuntime.ts +0 -163
  478. package/src/adapters/minikube/auth/supabase/index.test.ts +0 -227
  479. package/src/adapters/minikube/auth/supabase/index.ts +0 -293
  480. package/src/adapters/minikube/auth/supabase/oauthRuntime.test.ts +0 -154
  481. package/src/adapters/minikube/auth/supabase/profile.integration.test.ts +0 -1028
  482. package/src/adapters/minikube/auth/supabase/profile.ts +0 -526
  483. package/src/adapters/minikube/auth/supabase/providerAssignments.test.ts +0 -36
  484. package/src/adapters/minikube/auth/targetAwareOAuthRuntime.test.ts +0 -83
  485. package/src/adapters/minikube/auth/targetAwareOAuthRuntime.ts +0 -136
  486. package/src/adapters/minikube/authz/cerbos/index.ts +0 -486
  487. package/src/adapters/minikube/authz/index.ts +0 -32
  488. package/src/adapters/minikube/base/appImageBuild.test.ts +0 -352
  489. package/src/adapters/minikube/base/index.test.ts +0 -693
  490. package/src/adapters/minikube/base/index.ts +0 -3763
  491. package/src/adapters/minikube/base/portForwardRuntime.test.ts +0 -624
  492. package/src/adapters/minikube/base/supabaseMigrations.test.ts +0 -168
  493. package/src/adapters/minikube/base/supabaseMigrations.ts +0 -5
  494. package/src/adapters/minikube/base/twoAppIsolation.integration.test.ts +0 -898
  495. package/src/adapters/minikube/base/upgradeReconciliation.test.ts +0 -135
  496. package/src/adapters/minikube/contracts.ts +0 -46
  497. package/src/adapters/minikube/index.ts +0 -172
  498. package/src/adapters/minikube/secrets/index.test.ts +0 -147
  499. package/src/adapters/minikube/secrets/index.ts +0 -19
  500. package/src/adapters/minikube/secrets/supabase-vault/index.ts +0 -139
  501. package/src/adapters/minikube/storage/index.ts +0 -91
  502. package/src/adapters/minikube/storage/supabase/index.ts +0 -108
  503. package/src/apiInfrastructure.test.ts +0 -69
  504. package/src/authRedirects.test.ts +0 -63
  505. package/src/authRedirects.ts +0 -113
  506. package/src/authTargetRedirects.test.ts +0 -62
  507. package/src/authTargetRedirects.ts +0 -46
  508. package/src/commandContext.ts +0 -27
  509. package/src/commands.ts +0 -404
  510. package/src/generatedApiLedgerCleanup.test.ts +0 -72
  511. package/src/infraApiValidation.test.ts +0 -42
  512. package/src/infraValidation.ts +0 -99
  513. package/src/minikubeImageLifecycle.test.ts +0 -35
  514. package/src/projectDatabase.ts +0 -27
  515. package/src/projectEnvironment.ts +0 -51
  516. package/src/projectInfrastructure.ts +0 -221
  517. package/src/runtime.test.ts +0 -124
  518. package/src/runtime.ts +0 -234
  519. package/src/secretStore.test.ts +0 -76
  520. package/src/secretStore.ts +0 -44
  521. package/src/types.ts +0 -82
@@ -0,0 +1,66 @@
1
+ export declare const INFRA_COMMANDS: readonly [{
2
+ readonly standaloneName: "validate";
3
+ readonly path: readonly ["validate"];
4
+ readonly capability: "infra.validate";
5
+ readonly summary: "Validate manifest, compatibility, credentials and selected adapters.";
6
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
7
+ exitCode: number;
8
+ }>;
9
+ }, {
10
+ readonly standaloneName: "plan";
11
+ readonly path: readonly ["plan"];
12
+ readonly capability: "infra.plan";
13
+ readonly summary: "Print an ordered side-effect-free infrastructure plan.";
14
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
15
+ exitCode: number;
16
+ }>;
17
+ }, {
18
+ readonly standaloneName: "generate";
19
+ readonly path: readonly ["generate"];
20
+ readonly capability: "infra.generate";
21
+ readonly summary: "Generate deterministic review artifacts without remote side effects.";
22
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
23
+ exitCode: number;
24
+ }>;
25
+ }, {
26
+ readonly standaloneName: "up";
27
+ readonly path: readonly ["up"];
28
+ readonly capability: "infra.up";
29
+ readonly summary: "Idempotently ensure and reconcile the selected environment.";
30
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
31
+ exitCode: number;
32
+ }>;
33
+ }, {
34
+ readonly standaloneName: "status";
35
+ readonly path: readonly ["status"];
36
+ readonly capability: "infra.status";
37
+ readonly summary: "Aggregate provider-neutral environment status.";
38
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
39
+ exitCode: number;
40
+ }>;
41
+ }, {
42
+ readonly standaloneName: "outputs";
43
+ readonly path: readonly ["outputs"];
44
+ readonly capability: "infra.outputs";
45
+ readonly summary: "Print safe public outputs and secret references.";
46
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
47
+ exitCode: number;
48
+ }>;
49
+ }, {
50
+ readonly standaloneName: "down";
51
+ readonly path: readonly ["down"];
52
+ readonly capability: "infra.down";
53
+ readonly summary: "Reversibly suspend runtime workloads while retaining persistent data.";
54
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
55
+ exitCode: number;
56
+ }>;
57
+ }, {
58
+ readonly standaloneName: "destroy";
59
+ readonly path: readonly ["destroy"];
60
+ readonly capability: "infra.destroy";
61
+ readonly summary: "Destroy exact owned resources behind explicit confirmation.";
62
+ readonly run: (request: import("../types/infraCli.js").InfraCommandRunRequest, services: import("./index.js").InfraCommandServices) => Promise<{
63
+ exitCode: number;
64
+ }>;
65
+ }];
66
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { destroy } from './commands/destroy.js';
2
+ import { down } from './commands/down.js';
3
+ import { generate } from './commands/generate.js';
4
+ import { outputs } from './commands/outputs.js';
5
+ import { plan } from './commands/plan.js';
6
+ import { status } from './commands/status.js';
7
+ import { up } from './commands/up.js';
8
+ import { validate } from './commands/validate.js';
9
+ export const INFRA_COMMANDS = [
10
+ validate,
11
+ plan,
12
+ generate,
13
+ up,
14
+ status,
15
+ outputs,
16
+ down,
17
+ destroy,
18
+ ];
19
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,EAAE;IACF,MAAM;IACN,OAAO;IACP,IAAI;IACJ,OAAO;CACC,CAAC","sourcesContent":["import { destroy } from './commands/destroy.js';\nimport { down } from './commands/down.js';\nimport { generate } from './commands/generate.js';\nimport { outputs } from './commands/outputs.js';\nimport { plan } from './commands/plan.js';\nimport { status } from './commands/status.js';\nimport { up } from './commands/up.js';\nimport { validate } from './commands/validate.js';\n\nexport const INFRA_COMMANDS = [\n validate,\n plan,\n generate,\n up,\n status,\n outputs,\n down,\n destroy,\n] as const;\n"]}
@@ -0,0 +1,4 @@
1
+ import type { InfraCommandContext } from '../types/infraCli.js';
2
+ /*** Create the process-backed command context used by the standalone executable. */
3
+ export declare function createDefaultInfraCommandContext(): InfraCommandContext;
4
+ //# sourceMappingURL=createDefaultInfraCommandContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDefaultInfraCommandContext.d.ts","sourceRoot":"","sources":["../../src/cli/createDefaultInfraCommandContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,oFAAoF;AACpF,wBAAgB,gCAAgC,IAAI,mBAAmB,CAYtE"}
@@ -1,5 +1,6 @@
1
- import { INFRA_PACKAGE_VERSION } from './packageMetadata.js';
2
- export function createDefaultCommandContext() {
1
+ import { INFRA_PACKAGE_VERSION } from '../constants.js';
2
+ /*** Create the process-backed command context used by the standalone executable. */
3
+ export function createDefaultInfraCommandContext() {
3
4
  return {
4
5
  cwd: process.cwd(),
5
6
  env: process.env,
@@ -12,4 +13,4 @@ export function createDefaultCommandContext() {
12
13
  },
13
14
  };
14
15
  }
15
- //# sourceMappingURL=commandContext.js.map
16
+ //# sourceMappingURL=createDefaultInfraCommandContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDefaultInfraCommandContext.js","sourceRoot":"","sources":["../../src/cli/createDefaultInfraCommandContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,oFAAoF;AACpF,MAAM,UAAU,gCAAgC;IAC9C,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,CAAC,IAAY;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,WAAW,CAAC,IAAY;YACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { INFRA_PACKAGE_VERSION } from '../constants.js';\nimport type { InfraCommandContext } from '../types/infraCli.js';\n\n/*** Create the process-backed command context used by the standalone executable. */\nexport function createDefaultInfraCommandContext(): InfraCommandContext {\n return {\n cwd: process.cwd(),\n env: process.env,\n version: INFRA_PACKAGE_VERSION,\n writeStdout(text: string) {\n process.stdout.write(text);\n },\n writeStderr(text: string) {\n process.stderr.write(text);\n },\n };\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { AnkhRuntimeCommandProvider } from '@ankhorage/ankh';
2
+ import type { CreateInfraRuntimeProviderOptions } from '../types/infraCli.js';
3
+ /*** Compose the canonical Infra command surface as an Ankh runtime provider. */
4
+ export declare function createInfraRuntimeProvider(options?: CreateInfraRuntimeProviderOptions): AnkhRuntimeCommandProvider;
5
+ //# sourceMappingURL=createInfraRuntimeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createInfraRuntimeProvider.d.ts","sourceRoot":"","sources":["../../src/cli/createInfraRuntimeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAQlE,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AAK9E,gFAAgF;AAChF,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,iCAAsC,GAC9C,0BAA0B,CAkB5B"}
@@ -0,0 +1,22 @@
1
+ import { INFRA_CAPABILITIES, INFRA_COMMAND_CATEGORY, INFRA_PACKAGE_NAME, INFRA_PACKAGE_VERSION, } from '../constants.js';
2
+ import { INFRA_COMMANDS } from './constants.js';
3
+ import { createProviderCommandDescriptors } from './createProviderCommandDescriptors.js';
4
+ import { runInfraCommandAsync } from './runInfraCommandAsync.js';
5
+ /*** Compose the canonical Infra command surface as an Ankh runtime provider. */
6
+ export function createInfraRuntimeProvider(options = {}) {
7
+ const runCommandImpl = options.runCommandImpl ?? runInfraCommandAsync;
8
+ return {
9
+ id: INFRA_PACKAGE_NAME,
10
+ category: INFRA_COMMAND_CATEGORY,
11
+ version: INFRA_PACKAGE_VERSION,
12
+ capabilities: [...INFRA_CAPABILITIES],
13
+ commands: createProviderCommandDescriptors(),
14
+ handlers: INFRA_COMMANDS.map((command) => ({
15
+ path: command.path,
16
+ handler(request) {
17
+ return runCommandImpl({ argv: request.argv, command, context: request.context }, { services: options.services });
18
+ },
19
+ })),
20
+ };
21
+ }
22
+ //# sourceMappingURL=createInfraRuntimeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createInfraRuntimeProvider.js","sourceRoot":"","sources":["../../src/cli/createInfraRuntimeProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,gFAAgF;AAChF,MAAM,UAAU,0BAA0B,CACxC,UAA6C,EAAE;IAE/C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC;IACtE,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACrC,QAAQ,EAAE,gCAAgC,EAAE;QAC5C,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,CAAC,OAAO;gBACb,OAAO,cAAc,CACnB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EACzD,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAC/B,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;KACiC,CAAC;AACzC,CAAC","sourcesContent":["import type { AnkhRuntimeCommandProvider } from '@ankhorage/ankh';\n\nimport {\n INFRA_CAPABILITIES,\n INFRA_COMMAND_CATEGORY,\n INFRA_PACKAGE_NAME,\n INFRA_PACKAGE_VERSION,\n} from '../constants.js';\nimport type { CreateInfraRuntimeProviderOptions } from '../types/infraCli.js';\nimport { INFRA_COMMANDS } from './constants.js';\nimport { createProviderCommandDescriptors } from './createProviderCommandDescriptors.js';\nimport { runInfraCommandAsync } from './runInfraCommandAsync.js';\n\n/*** Compose the canonical Infra command surface as an Ankh runtime provider. */\nexport function createInfraRuntimeProvider(\n options: CreateInfraRuntimeProviderOptions = {},\n): AnkhRuntimeCommandProvider {\n const runCommandImpl = options.runCommandImpl ?? runInfraCommandAsync;\n return {\n id: INFRA_PACKAGE_NAME,\n category: INFRA_COMMAND_CATEGORY,\n version: INFRA_PACKAGE_VERSION,\n capabilities: [...INFRA_CAPABILITIES],\n commands: createProviderCommandDescriptors(),\n handlers: INFRA_COMMANDS.map((command) => ({\n path: command.path,\n handler(request) {\n return runCommandImpl(\n { argv: request.argv, command, context: request.context },\n { services: options.services },\n );\n },\n })),\n } satisfies AnkhRuntimeCommandProvider;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { AnkhCommandDescriptor } from '@ankhorage/contracts/cli';
2
+ /*** Expose the same eight commands through Ankh provider discovery. */
3
+ export declare function createProviderCommandDescriptors(): readonly AnkhCommandDescriptor[];
4
+ //# sourceMappingURL=createProviderCommandDescriptors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProviderCommandDescriptors.d.ts","sourceRoot":"","sources":["../../src/cli/createProviderCommandDescriptors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAItE,uEAAuE;AACvE,wBAAgB,gCAAgC,IAAI,SAAS,qBAAqB,EAAE,CAEnF"}
@@ -0,0 +1,6 @@
1
+ import { INFRA_COMMANDS } from './constants.js';
2
+ /*** Expose the same eight commands through Ankh provider discovery. */
3
+ export function createProviderCommandDescriptors() {
4
+ return INFRA_COMMANDS.map(({ capability, path, summary }) => ({ capability, path, summary }));
5
+ }
6
+ //# sourceMappingURL=createProviderCommandDescriptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createProviderCommandDescriptors.js","sourceRoot":"","sources":["../../src/cli/createProviderCommandDescriptors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,uEAAuE;AACvE,MAAM,UAAU,gCAAgC;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAChG,CAAC","sourcesContent":["import type { AnkhCommandDescriptor } from '@ankhorage/contracts/cli';\n\nimport { INFRA_COMMANDS } from './constants.js';\n\n/*** Expose the same eight commands through Ankh provider discovery. */\nexport function createProviderCommandDescriptors(): readonly AnkhCommandDescriptor[] {\n return INFRA_COMMANDS.map(({ capability, path, summary }) => ({ capability, path, summary }));\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { InfraCommandDefinition } from '../types/infraCli.js';
2
+ /*** Resolve one exact standalone Infra command name without guessing intent. */
3
+ export declare function findInfraCommand(value: string): InfraCommandDefinition | null;
4
+ //# sourceMappingURL=findInfraCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findInfraCommand.d.ts","sourceRoot":"","sources":["../../src/cli/findInfraCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAE7E"}
@@ -0,0 +1,6 @@
1
+ import { INFRA_COMMANDS } from './constants.js';
2
+ /*** Resolve one exact standalone Infra command name without guessing intent. */
3
+ export function findInfraCommand(value) {
4
+ return INFRA_COMMANDS.find((candidate) => candidate.standaloneName === value) ?? null;
5
+ }
6
+ //# sourceMappingURL=findInfraCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findInfraCommand.js","sourceRoot":"","sources":["../../src/cli/findInfraCommand.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,cAAc,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;AACxF,CAAC","sourcesContent":["import type { InfraCommandDefinition } from '../types/infraCli.js';\nimport { INFRA_COMMANDS } from './constants.js';\n\n/*** Resolve one exact standalone Infra command name without guessing intent. */\nexport function findInfraCommand(value: string): InfraCommandDefinition | null {\n return INFRA_COMMANDS.find((candidate) => candidate.standaloneName === value) ?? null;\n}\n"]}
@@ -1,10 +1,5 @@
1
- import type { AnkhRuntimeCommandProvider } from '@ankhorage/ankh';
2
- import { type InfraCommandServices, type RunInfraCommandImpl } from '../commands.js';
3
- export interface CreateInfraRuntimeProviderOptions {
4
- readonly runCommandImpl?: RunInfraCommandImpl;
5
- readonly services?: Partial<InfraCommandServices>;
6
- }
7
- export declare function createInfraRuntimeProvider(options?: CreateInfraRuntimeProviderOptions): AnkhRuntimeCommandProvider;
8
- declare const provider: AnkhRuntimeCommandProvider;
1
+ declare const provider: import("@ankhorage/ankh").AnkhRuntimeCommandProvider;
2
+ export type { CreateInfraRuntimeProviderOptions, InfraCommandServices, RunInfraCommandImpl, } from '../types/infraCli.js';
3
+ export { createInfraRuntimeProvider } from './createInfraRuntimeProvider.js';
9
4
  export default provider;
10
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAGL,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAQxB,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACnD;AAED,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,iCAAsC,GAC9C,0BAA0B,CAyB5B;AAED,QAAA,MAAM,QAAQ,4BAA+B,CAAC;AAE9C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,QAAQ,sDAA+B,CAAC;AAE9C,YAAY,EACV,iCAAiC,EACjC,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,eAAe,QAAQ,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,27 +1,5 @@
1
- import { createProviderCommandDescriptors, INFRA_COMMANDS, runInfraCommand, } from '../commands.js';
2
- import { INFRA_CAPABILITIES, INFRA_COMMAND_CATEGORY, INFRA_PACKAGE_NAME, INFRA_PACKAGE_VERSION, } from '../packageMetadata.js';
3
- export function createInfraRuntimeProvider(options = {}) {
4
- const runCommandImpl = options.runCommandImpl ?? runInfraCommand;
5
- return {
6
- id: INFRA_PACKAGE_NAME,
7
- category: INFRA_COMMAND_CATEGORY,
8
- version: INFRA_PACKAGE_VERSION,
9
- capabilities: [...INFRA_CAPABILITIES],
10
- commands: createProviderCommandDescriptors(),
11
- handlers: INFRA_COMMANDS.map((command) => ({
12
- path: command.path,
13
- handler(request) {
14
- return runCommandImpl({
15
- argv: request.argv,
16
- command,
17
- context: request.context,
18
- }, {
19
- services: options.services,
20
- });
21
- },
22
- })),
23
- };
24
- }
1
+ import { createInfraRuntimeProvider } from './createInfraRuntimeProvider.js';
25
2
  const provider = createInfraRuntimeProvider();
3
+ export { createInfraRuntimeProvider } from './createInfraRuntimeProvider.js';
26
4
  export default provider;
27
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gCAAgC,EAChC,cAAc,EAEd,eAAe,GAEhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAO/B,MAAM,UAAU,0BAA0B,CACxC,UAA6C,EAAE;IAE/C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,eAAe,CAAC;IAEjE,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,qBAAqB;QAC9B,YAAY,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACrC,QAAQ,EAAE,gCAAgC,EAAE;QAC5C,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,CAAC,OAAO;gBACb,OAAO,cAAc,CACnB;oBACE,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO;oBACP,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,EACD;oBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CACF,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;KACiC,CAAC;AACzC,CAAC;AAED,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;AAE9C,eAAe,QAAQ,CAAC","sourcesContent":["import type { AnkhRuntimeCommandProvider } from '@ankhorage/ankh';\n\nimport {\n createProviderCommandDescriptors,\n INFRA_COMMANDS,\n type InfraCommandServices,\n runInfraCommand,\n type RunInfraCommandImpl,\n} from '../commands.js';\nimport {\n INFRA_CAPABILITIES,\n INFRA_COMMAND_CATEGORY,\n INFRA_PACKAGE_NAME,\n INFRA_PACKAGE_VERSION,\n} from '../packageMetadata.js';\n\nexport interface CreateInfraRuntimeProviderOptions {\n readonly runCommandImpl?: RunInfraCommandImpl;\n readonly services?: Partial<InfraCommandServices>;\n}\n\nexport function createInfraRuntimeProvider(\n options: CreateInfraRuntimeProviderOptions = {},\n): AnkhRuntimeCommandProvider {\n const runCommandImpl = options.runCommandImpl ?? runInfraCommand;\n\n return {\n id: INFRA_PACKAGE_NAME,\n category: INFRA_COMMAND_CATEGORY,\n version: INFRA_PACKAGE_VERSION,\n capabilities: [...INFRA_CAPABILITIES],\n commands: createProviderCommandDescriptors(),\n handlers: INFRA_COMMANDS.map((command) => ({\n path: command.path,\n handler(request) {\n return runCommandImpl(\n {\n argv: request.argv,\n command,\n context: request.context,\n },\n {\n services: options.services,\n },\n );\n },\n })),\n } satisfies AnkhRuntimeCommandProvider;\n}\n\nconst provider = createInfraRuntimeProvider();\n\nexport default provider;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAC;AAO9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,eAAe,QAAQ,CAAC","sourcesContent":["import { createInfraRuntimeProvider } from './createInfraRuntimeProvider.js';\n\nconst provider = createInfraRuntimeProvider();\n\nexport type {\n CreateInfraRuntimeProviderOptions,\n InfraCommandServices,\n RunInfraCommandImpl,\n} from '../types/infraCli.js';\nexport { createInfraRuntimeProvider } from './createInfraRuntimeProvider.js';\nexport default provider;\n"]}
@@ -0,0 +1,3 @@
1
+ /*** Render the standalone Infra command surface and environment safety rules. */
2
+ export declare function renderInfraRootHelp(version: string): string;
3
+ //# sourceMappingURL=renderInfraRootHelp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderInfraRootHelp.d.ts","sourceRoot":"","sources":["../../src/cli/renderInfraRootHelp.ts"],"names":[],"mappings":"AAGA,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkB3D"}
@@ -0,0 +1,21 @@
1
+ import { INFRA_COMMAND_CATEGORY } from '../constants.js';
2
+ import { INFRA_COMMANDS } from './constants.js';
3
+ /*** Render the standalone Infra command surface and environment safety rules. */
4
+ export function renderInfraRootHelp(version) {
5
+ const commands = INFRA_COMMANDS.map(({ standaloneName, summary }) => ` ${standaloneName.padEnd(8, ' ')} ${summary}`).join('\n');
6
+ return [
7
+ `@ankhorage/infra v${version}`,
8
+ '',
9
+ 'Usage:',
10
+ ' ankhorage-infra <command> [project] [--environment <environment>]',
11
+ ` ankh ${INFRA_COMMAND_CATEGORY} <command> [project] [--environment <environment>]`,
12
+ '',
13
+ 'Commands:',
14
+ commands,
15
+ '',
16
+ 'Safety:',
17
+ ' local is the only implicit environment; destroy always requires --environment and --confirm.',
18
+ '',
19
+ ].join('\n');
20
+ }
21
+ //# sourceMappingURL=renderInfraRootHelp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderInfraRootHelp.js","sourceRoot":"","sources":["../../src/cli/renderInfraRootHelp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,iFAAiF;AACjF,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CACjC,CAAC,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,EAAE,CACjF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO;QACL,qBAAqB,OAAO,EAAE;QAC9B,EAAE;QACF,QAAQ;QACR,qEAAqE;QACrE,UAAU,sBAAsB,oDAAoD;QACpF,EAAE;QACF,WAAW;QACX,QAAQ;QACR,EAAE;QACF,SAAS;QACT,gGAAgG;QAChG,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC","sourcesContent":["import { INFRA_COMMAND_CATEGORY } from '../constants.js';\nimport { INFRA_COMMANDS } from './constants.js';\n\n/*** Render the standalone Infra command surface and environment safety rules. */\nexport function renderInfraRootHelp(version: string): string {\n const commands = INFRA_COMMANDS.map(\n ({ standaloneName, summary }) => ` ${standaloneName.padEnd(8, ' ')} ${summary}`,\n ).join('\\n');\n return [\n `@ankhorage/infra v${version}`,\n '',\n 'Usage:',\n ' ankhorage-infra <command> [project] [--environment <environment>]',\n ` ankh ${INFRA_COMMAND_CATEGORY} <command> [project] [--environment <environment>]`,\n '',\n 'Commands:',\n commands,\n '',\n 'Safety:',\n ' local is the only implicit environment; destroy always requires --environment and --confirm.',\n '',\n ].join('\\n');\n}\n"]}
@@ -0,0 +1,3 @@
1
+ /*** Render an invalid standalone Infra command without guessing intent. */
2
+ export declare function renderUnknownInfraCommand(value: string): string;
3
+ //# sourceMappingURL=renderUnknownInfraCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderUnknownInfraCommand.d.ts","sourceRoot":"","sources":["../../src/cli/renderUnknownInfraCommand.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/D"}
@@ -0,0 +1,5 @@
1
+ /*** Render an invalid standalone Infra command without guessing intent. */
2
+ export function renderUnknownInfraCommand(value) {
3
+ return [`Unknown infra command: ${value}`, '', 'Run ankhorage-infra --help', ''].join('\n');
4
+ }
5
+ //# sourceMappingURL=renderUnknownInfraCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderUnknownInfraCommand.js","sourceRoot":"","sources":["../../src/cli/renderUnknownInfraCommand.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,OAAO,CAAC,0BAA0B,KAAK,EAAE,EAAE,EAAE,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9F,CAAC","sourcesContent":["/*** Render an invalid standalone Infra command without guessing intent. */\nexport function renderUnknownInfraCommand(value: string): string {\n return [`Unknown infra command: ${value}`, '', 'Run ankhorage-infra --help', ''].join('\\n');\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import type { InfraCommandContext, InfraCommandRunResult, InfraCommandServices, RunInfraCommandImpl } from '../types/infraCli.js';
2
+ /*** Dispatch the standalone executable arguments through the canonical Infra command surface. */
3
+ export declare function runInfraCliAsync(argv: readonly string[], options?: InfraCliOptions): Promise<InfraCommandRunResult>;
4
+ interface InfraCliOptions {
5
+ readonly context?: InfraCommandContext;
6
+ readonly runCommandImpl?: RunInfraCommandImpl;
7
+ readonly services?: Partial<InfraCommandServices>;
8
+ }
9
+ export {};
10
+ //# sourceMappingURL=runInfraCliAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runInfraCliAsync.d.ts","sourceRoot":"","sources":["../../src/cli/runInfraCliAsync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAO9B,iGAAiG;AACjG,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,qBAAqB,CAAC,CAkBhC;AAED,UAAU,eAAe;IACvB,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"}
@@ -0,0 +1,34 @@
1
+ import { createDefaultInfraCommandContext } from './createDefaultInfraCommandContext.js';
2
+ import { findInfraCommand } from './findInfraCommand.js';
3
+ import { renderInfraRootHelp } from './renderInfraRootHelp.js';
4
+ import { renderUnknownInfraCommand } from './renderUnknownInfraCommand.js';
5
+ import { runInfraCommandAsync } from './runInfraCommandAsync.js';
6
+ /*** Dispatch the standalone executable arguments through the canonical Infra command surface. */
7
+ export async function runInfraCliAsync(argv, options = {}) {
8
+ const context = options.context ?? createDefaultInfraCommandContext();
9
+ const runCommand = options.runCommandImpl ?? runInfraCommandAsync;
10
+ const [firstToken, ...restTokens] = argv;
11
+ if (firstToken === undefined || isHelpToken(firstToken)) {
12
+ context.writeStdout(renderInfraRootHelp(context.version));
13
+ return { exitCode: 0 };
14
+ }
15
+ if (isVersionToken(firstToken)) {
16
+ context.writeStdout(`${context.version}\n`);
17
+ return { exitCode: 0 };
18
+ }
19
+ const command = findInfraCommand(firstToken);
20
+ if (command === null) {
21
+ context.writeStderr(renderUnknownInfraCommand(firstToken));
22
+ return { exitCode: 1 };
23
+ }
24
+ return runCommand({ argv: restTokens, command, context }, { services: options.services });
25
+ }
26
+ /*** Recognize standalone help tokens. */
27
+ function isHelpToken(value) {
28
+ return value === '--help' || value === '-h' || value === 'help';
29
+ }
30
+ /*** Recognize standalone version tokens. */
31
+ function isVersionToken(value) {
32
+ return value === '--version' || value === '-v' || value === 'version';
33
+ }
34
+ //# sourceMappingURL=runInfraCliAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runInfraCliAsync.js","sourceRoot":"","sources":["../../src/cli/runInfraCliAsync.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAuB,EACvB,UAA2B,EAAE;IAE7B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,gCAAgC,EAAE,CAAC;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAoB,CAAC;IAClE,MAAM,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;IACzC,IAAI,UAAU,KAAK,SAAS,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IACD,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;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5F,CAAC;AAQD,yCAAyC;AACzC,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC;AAClE,CAAC;AAED,4CAA4C;AAC5C,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AACxE,CAAC","sourcesContent":["import type {\n InfraCommandContext,\n InfraCommandRunResult,\n InfraCommandServices,\n RunInfraCommandImpl,\n} from '../types/infraCli.js';\nimport { createDefaultInfraCommandContext } from './createDefaultInfraCommandContext.js';\nimport { findInfraCommand } from './findInfraCommand.js';\nimport { renderInfraRootHelp } from './renderInfraRootHelp.js';\nimport { renderUnknownInfraCommand } from './renderUnknownInfraCommand.js';\nimport { runInfraCommandAsync } from './runInfraCommandAsync.js';\n\n/*** Dispatch the standalone executable arguments through the canonical Infra command surface. */\nexport async function runInfraCliAsync(\n argv: readonly string[],\n options: InfraCliOptions = {},\n): Promise<InfraCommandRunResult> {\n const context = options.context ?? createDefaultInfraCommandContext();\n const runCommand = options.runCommandImpl ?? runInfraCommandAsync;\n const [firstToken, ...restTokens] = argv;\n if (firstToken === undefined || isHelpToken(firstToken)) {\n context.writeStdout(renderInfraRootHelp(context.version));\n return { exitCode: 0 };\n }\n if (isVersionToken(firstToken)) {\n context.writeStdout(`${context.version}\\n`);\n return { exitCode: 0 };\n }\n const command = findInfraCommand(firstToken);\n if (command === null) {\n context.writeStderr(renderUnknownInfraCommand(firstToken));\n return { exitCode: 1 };\n }\n return runCommand({ argv: restTokens, command, context }, { services: options.services });\n}\n\ninterface InfraCliOptions {\n readonly context?: InfraCommandContext;\n readonly runCommandImpl?: RunInfraCommandImpl;\n readonly services?: Partial<InfraCommandServices>;\n}\n\n/*** Recognize standalone help tokens. */\nfunction isHelpToken(value: string): boolean {\n return value === '--help' || value === '-h' || value === 'help';\n}\n\n/*** Recognize standalone version tokens. */\nfunction isVersionToken(value: string): boolean {\n return value === '--version' || value === '-v' || value === 'version';\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { InfraCommandInvocation, InfraCommandRunResult, RunInfraCommandOptions } from '../types/infraCli.js';
2
+ /*** Run one standalone or provider-backed Infra command through the shared typed lifecycle. */
3
+ export declare function runInfraCommandAsync(request: InfraCommandInvocation, options?: RunInfraCommandOptions): Promise<InfraCommandRunResult>;
4
+ //# sourceMappingURL=runInfraCommandAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runInfraCommandAsync.d.ts","sourceRoot":"","sources":["../../src/cli/runInfraCommandAsync.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,sBAAsB,EACtB,qBAAqB,EAErB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,+FAA+F;AAC/F,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CAehC"}
@@ -0,0 +1,100 @@
1
+ import { APP_ENVIRONMENT_IDS } from '@ankhorage/contracts/environments';
2
+ import { INFRA_COMMAND_CATEGORY } from '../constants.js';
3
+ import { createInfraCommandServices } from '../features/environment-lifecycle/composition/createInfraCommandServices.js';
4
+ /*** Run one standalone or provider-backed Infra command through the shared typed lifecycle. */
5
+ export async function runInfraCommandAsync(request, options = {}) {
6
+ const services = createInfraCommandServices(options.services);
7
+ try {
8
+ const parsed = parseCommandArguments(request.command, request.argv);
9
+ if (parsed === null) {
10
+ request.context.writeStdout(renderCommandHelp(request.command));
11
+ return { exitCode: 0 };
12
+ }
13
+ return await request.command.run({ context: request.context, arguments: parsed }, services);
14
+ }
15
+ catch (error) {
16
+ request.context.writeStderr(`Infra ${request.command.standaloneName} failed: ${getErrorMessage(error)}\n`);
17
+ return { exitCode: 1 };
18
+ }
19
+ }
20
+ /*** Parse the common project, environment, output and destruction options. */
21
+ function parseCommandArguments(commandDefinition, argv) {
22
+ if (argv.length === 1 && isHelpToken(argv.at(0)))
23
+ return null;
24
+ let projectId;
25
+ let environment;
26
+ let format = 'human';
27
+ let confirmation;
28
+ const deleteResources = [];
29
+ for (let index = 0; index < argv.length; index += 1) {
30
+ const token = argv.at(index);
31
+ if (token === '--environment') {
32
+ environment = parseEnvironment(readOptionValue(argv, ++index, token));
33
+ }
34
+ else if (token === '--format') {
35
+ format = parseFormat(readOptionValue(argv, ++index, token));
36
+ }
37
+ else if (token === '--confirm') {
38
+ confirmation = readOptionValue(argv, ++index, token);
39
+ }
40
+ else if (token === '--delete-resource') {
41
+ deleteResources.push(readOptionValue(argv, ++index, token));
42
+ }
43
+ else if (token?.startsWith('-') === true) {
44
+ throw new Error(`Unknown Infra ${commandDefinition.standaloneName} option: ${token}`);
45
+ }
46
+ else if (projectId === undefined && token !== undefined) {
47
+ projectId = token;
48
+ }
49
+ else {
50
+ throw new Error(`Infra ${commandDefinition.standaloneName} accepts at most one project argument.`);
51
+ }
52
+ }
53
+ if (format === 'env' && commandDefinition.standaloneName !== 'outputs') {
54
+ throw new Error('--format env is supported only by Infra outputs.');
55
+ }
56
+ if (commandDefinition.standaloneName === 'destroy' && environment === undefined) {
57
+ throw new Error('Infra destroy requires --environment <local|preview|production>.');
58
+ }
59
+ return { projectId, environment, format, confirmation, deleteResources };
60
+ }
61
+ /*** Parse one environment identifier against the canonical closed set. */
62
+ function parseEnvironment(value) {
63
+ const environment = APP_ENVIRONMENT_IDS.find((candidate) => candidate === value);
64
+ if (environment === undefined)
65
+ throw new Error(`Unknown Infra environment: ${value}.`);
66
+ return environment;
67
+ }
68
+ /*** Parse the supported command output formats. */
69
+ function parseFormat(value) {
70
+ if (value === 'human' || value === 'json' || value === 'env')
71
+ return value;
72
+ throw new Error(`Unknown Infra output format: ${value}.`);
73
+ }
74
+ /*** Read one required CLI option value. */
75
+ function readOptionValue(argv, index, option) {
76
+ const value = argv.at(index);
77
+ if (value === undefined || value.startsWith('-'))
78
+ throw new Error(`${option} requires a value.`);
79
+ return value;
80
+ }
81
+ /*** Render command-specific standalone and provider usage. */
82
+ function renderCommandHelp(commandDefinition) {
83
+ return [
84
+ commandDefinition.summary,
85
+ '',
86
+ 'Usage:',
87
+ ` ankhorage-infra ${commandDefinition.standaloneName} [project] [--environment <environment>]`,
88
+ ` ankh ${INFRA_COMMAND_CATEGORY} ${commandDefinition.path.join(' ')} [project] [--environment <environment>]`,
89
+ '',
90
+ ].join('\n');
91
+ }
92
+ /*** Normalize arbitrary command failures for the CLI boundary. */
93
+ function getErrorMessage(error) {
94
+ return error instanceof Error ? error.message : String(error);
95
+ }
96
+ /*** Recognize the command-local help tokens. */
97
+ function isHelpToken(value) {
98
+ return value === '--help' || value === '-h' || value === 'help';
99
+ }
100
+ //# sourceMappingURL=runInfraCommandAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runInfraCommandAsync.js","sourceRoot":"","sources":["../../src/cli/runInfraCommandAsync.ts"],"names":[],"mappings":"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","sourcesContent":["import { APP_ENVIRONMENT_IDS } from '@ankhorage/contracts/environments';\n\nimport { INFRA_COMMAND_CATEGORY } from '../constants.js';\nimport { createInfraCommandServices } from '../features/environment-lifecycle/composition/createInfraCommandServices.js';\nimport type {\n InfraCommandDefinition,\n InfraCommandInvocation,\n InfraCommandRunResult,\n ParsedInfraArguments,\n RunInfraCommandOptions,\n} from '../types/infraCli.js';\n\n/*** Run one standalone or provider-backed Infra command through the shared typed lifecycle. */\nexport async function runInfraCommandAsync(\n request: InfraCommandInvocation,\n options: RunInfraCommandOptions = {},\n): Promise<InfraCommandRunResult> {\n const services = createInfraCommandServices(options.services);\n try {\n const parsed = parseCommandArguments(request.command, request.argv);\n if (parsed === null) {\n request.context.writeStdout(renderCommandHelp(request.command));\n return { exitCode: 0 };\n }\n return await request.command.run({ context: request.context, arguments: parsed }, services);\n } catch (error) {\n request.context.writeStderr(\n `Infra ${request.command.standaloneName} failed: ${getErrorMessage(error)}\\n`,\n );\n return { exitCode: 1 };\n }\n}\n\n/*** Parse the common project, environment, output and destruction options. */\nfunction parseCommandArguments(\n commandDefinition: InfraCommandDefinition,\n argv: readonly string[],\n): ParsedInfraArguments | null {\n if (argv.length === 1 && isHelpToken(argv.at(0))) return null;\n let projectId: string | undefined;\n let environment: ParsedInfraArguments['environment'];\n let format: ParsedInfraArguments['format'] = 'human';\n let confirmation: string | undefined;\n const deleteResources: string[] = [];\n for (let index = 0; index < argv.length; index += 1) {\n const token = argv.at(index);\n if (token === '--environment') {\n environment = parseEnvironment(readOptionValue(argv, ++index, token));\n } else if (token === '--format') {\n format = parseFormat(readOptionValue(argv, ++index, token));\n } else if (token === '--confirm') {\n confirmation = readOptionValue(argv, ++index, token);\n } else if (token === '--delete-resource') {\n deleteResources.push(readOptionValue(argv, ++index, token));\n } else if (token?.startsWith('-') === true) {\n throw new Error(`Unknown Infra ${commandDefinition.standaloneName} option: ${token}`);\n } else if (projectId === undefined && token !== undefined) {\n projectId = token;\n } else {\n throw new Error(\n `Infra ${commandDefinition.standaloneName} accepts at most one project argument.`,\n );\n }\n }\n if (format === 'env' && commandDefinition.standaloneName !== 'outputs') {\n throw new Error('--format env is supported only by Infra outputs.');\n }\n if (commandDefinition.standaloneName === 'destroy' && environment === undefined) {\n throw new Error('Infra destroy requires --environment <local|preview|production>.');\n }\n return { projectId, environment, format, confirmation, deleteResources };\n}\n\n/*** Parse one environment identifier against the canonical closed set. */\nfunction parseEnvironment(value: string): ParsedInfraArguments['environment'] {\n const environment = APP_ENVIRONMENT_IDS.find((candidate) => candidate === value);\n if (environment === undefined) throw new Error(`Unknown Infra environment: ${value}.`);\n return environment;\n}\n\n/*** Parse the supported command output formats. */\nfunction parseFormat(value: string): ParsedInfraArguments['format'] {\n if (value === 'human' || value === 'json' || value === 'env') return value;\n throw new Error(`Unknown Infra output format: ${value}.`);\n}\n\n/*** Read one required CLI option value. */\nfunction readOptionValue(argv: readonly string[], index: number, option: string): string {\n const value = argv.at(index);\n if (value === undefined || value.startsWith('-')) throw new Error(`${option} requires a value.`);\n return value;\n}\n\n/*** Render command-specific standalone and provider usage. */\nfunction renderCommandHelp(commandDefinition: InfraCommandDefinition): string {\n return [\n commandDefinition.summary,\n '',\n 'Usage:',\n ` ankhorage-infra ${commandDefinition.standaloneName} [project] [--environment <environment>]`,\n ` ankh ${INFRA_COMMAND_CATEGORY} ${commandDefinition.path.join(' ')} [project] [--environment <environment>]`,\n '',\n ].join('\\n');\n}\n\n/*** Normalize arbitrary command failures for the CLI boundary. */\nfunction getErrorMessage(error: unknown): string {\n return error instanceof Error ? error.message : String(error);\n}\n\n/*** Recognize the command-local help tokens. */\nfunction isHelpToken(value: string | undefined): boolean {\n return value === '--help' || value === '-h' || value === 'help';\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { InfraCommandRunRequest, InfraCommandServices, PreparedInfraCommandOperation } from '../../types/infraCli.js';
2
+ /*** Resolve one command's project, desired environment, stored ownership and adapter dependencies. */
3
+ export declare function prepareInfraCommandOperationAsync(request: InfraCommandRunRequest, services: InfraCommandServices, useStoredDesired?: boolean): Promise<PreparedInfraCommandOperation>;
4
+ //# sourceMappingURL=prepareInfraCommandOperationAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareInfraCommandOperationAsync.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/prepareInfraCommandOperationAsync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,6BAA6B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,sGAAsG;AACtG,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,oBAAoB,EAC9B,gBAAgB,UAAQ,GACvB,OAAO,CAAC,6BAA6B,CAAC,CA2BxC"}
@@ -0,0 +1,45 @@
1
+ /*** Resolve one command's project, desired environment, stored ownership and adapter dependencies. */
2
+ export async function prepareInfraCommandOperationAsync(request, services, useStoredDesired = false) {
3
+ const project = await services.resolveProject({
4
+ cwd: request.context.cwd,
5
+ ...(request.arguments.projectId === undefined
6
+ ? {}
7
+ : { projectId: request.arguments.projectId }),
8
+ });
9
+ const environment = request.arguments.environment ?? 'local';
10
+ const state = await services.readState(project.projectPath, environment);
11
+ const currentDesired = environmentDesired(project.manifest.infra, environment);
12
+ const desired = useStoredDesired && state !== null ? state.desired : currentDesired;
13
+ if (desired === undefined) {
14
+ throw new Error(`Infra environment "${environment}" is not configured.`);
15
+ }
16
+ const manifest = replaceEnvironment(project.manifest.infra, environment, desired);
17
+ return {
18
+ project,
19
+ state,
20
+ desired,
21
+ operation: {
22
+ projectId: project.projectId,
23
+ manifest,
24
+ ...(request.arguments.environment === undefined ? {} : { environment }),
25
+ ...(state === null ? {} : { previous: state.ledger, previousDesired: state.desired }),
26
+ },
27
+ dependencies: services.createDependencies(request.context),
28
+ };
29
+ }
30
+ /*** Select one exact environment specification from the canonical manifest. */
31
+ function environmentDesired(manifest, environment) {
32
+ if (environment === 'local')
33
+ return manifest.environments.local;
34
+ if (environment === 'preview')
35
+ return manifest.environments.preview;
36
+ return manifest.environments.production;
37
+ }
38
+ /*** Replace one environment while preserving the rest of the canonical manifest. */
39
+ function replaceEnvironment(manifest, environment, desired) {
40
+ return {
41
+ ...manifest,
42
+ environments: { ...manifest.environments, [environment]: desired },
43
+ };
44
+ }
45
+ //# sourceMappingURL=prepareInfraCommandOperationAsync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareInfraCommandOperationAsync.js","sourceRoot":"","sources":["../../../src/cli/utils/prepareInfraCommandOperationAsync.ts"],"names":[],"mappings":"AASA,sGAAsG;AACtG,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAA+B,EAC/B,QAA8B,EAC9B,gBAAgB,GAAG,KAAK;IAExB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC;QAC5C,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;QACxB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;KAChD,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,IAAI,OAAO,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,gBAAgB,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IACpF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,sBAAsB,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAClF,OAAO;QACL,OAAO;QACP,KAAK;QACL,OAAO;QACP,SAAS,EAAE;YACT,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ;YACR,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;YACvE,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;SACtF;QACD,YAAY,EAAE,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,kBAAkB,CACzB,QAAuB,EACvB,WAA6B;IAE7B,IAAI,WAAW,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;IAChE,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC;IACpE,OAAO,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC;AAC1C,CAAC;AAED,oFAAoF;AACpF,SAAS,kBAAkB,CACzB,QAAuB,EACvB,WAA6B,EAC7B,OAA6B;IAE7B,OAAO;QACL,GAAG,QAAQ;QACX,YAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE;KACnE,CAAC;AACJ,CAAC","sourcesContent":["import type { AppEnvironmentId } from '@ankhorage/contracts/environments';\nimport type { InfraEnvironmentSpec, InfraManifest } from '@ankhorage/contracts/infra';\n\nimport type {\n InfraCommandRunRequest,\n InfraCommandServices,\n PreparedInfraCommandOperation,\n} from '../../types/infraCli.js';\n\n/*** Resolve one command's project, desired environment, stored ownership and adapter dependencies. */\nexport async function prepareInfraCommandOperationAsync(\n request: InfraCommandRunRequest,\n services: InfraCommandServices,\n useStoredDesired = false,\n): Promise<PreparedInfraCommandOperation> {\n const project = await services.resolveProject({\n cwd: request.context.cwd,\n ...(request.arguments.projectId === undefined\n ? {}\n : { projectId: request.arguments.projectId }),\n });\n const environment = request.arguments.environment ?? 'local';\n const state = await services.readState(project.projectPath, environment);\n const currentDesired = environmentDesired(project.manifest.infra, environment);\n const desired = useStoredDesired && state !== null ? state.desired : currentDesired;\n if (desired === undefined) {\n throw new Error(`Infra environment \"${environment}\" is not configured.`);\n }\n const manifest = replaceEnvironment(project.manifest.infra, environment, desired);\n return {\n project,\n state,\n desired,\n operation: {\n projectId: project.projectId,\n manifest,\n ...(request.arguments.environment === undefined ? {} : { environment }),\n ...(state === null ? {} : { previous: state.ledger, previousDesired: state.desired }),\n },\n dependencies: services.createDependencies(request.context),\n };\n}\n\n/*** Select one exact environment specification from the canonical manifest. */\nfunction environmentDesired(\n manifest: InfraManifest,\n environment: AppEnvironmentId,\n): InfraEnvironmentSpec | undefined {\n if (environment === 'local') return manifest.environments.local;\n if (environment === 'preview') return manifest.environments.preview;\n return manifest.environments.production;\n}\n\n/*** Replace one environment while preserving the rest of the canonical manifest. */\nfunction replaceEnvironment(\n manifest: InfraManifest,\n environment: AppEnvironmentId,\n desired: InfraEnvironmentSpec,\n): InfraManifest {\n return {\n ...manifest,\n environments: { ...manifest.environments, [environment]: desired },\n };\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { InfraResult } from '@ankhorage/contracts/infra';
2
+ import type { InfraCommandContext } from '../../types/infraCli.js';
3
+ /*** Emit diagnostics and narrow a provider-neutral result before command rendering continues. */
4
+ export declare function requireInfraSuccess<T>(result: InfraResult<T>, context: InfraCommandContext): asserts result is Extract<InfraResult<T>, {
5
+ readonly ok: true;
6
+ }>;
7
+ //# sourceMappingURL=requireInfraSuccess.d.ts.map