@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
@@ -0,0 +1,10 @@
1
+ import { infraIdentityKey } from './infraIdentityKey.js';
2
+ /*** Merge resource identities while preferring the last adapter result for each owner. */
3
+ export function mergeInfraResources(...groups) {
4
+ const resources = new Map();
5
+ for (const resource of groups.flat()) {
6
+ resources.set(infraIdentityKey(resource.identity), resource);
7
+ }
8
+ return [...resources.values()];
9
+ }
10
+ //# sourceMappingURL=mergeInfraResources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeInfraResources.js","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/mergeInfraResources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,UAAU,mBAAmB,CACjC,GAAG,MAAkD;IAErD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IACxD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACjC,CAAC","sourcesContent":["import type { InfraOwnedResource } from '@ankhorage/contracts/infra';\n\nimport { infraIdentityKey } from './infraIdentityKey.js';\n\n/*** Merge resource identities while preferring the last adapter result for each owner. */\nexport function mergeInfraResources(\n ...groups: readonly (readonly InfraOwnedResource[])[]\n): readonly InfraOwnedResource[] {\n const resources = new Map<string, InfraOwnedResource>();\n for (const resource of groups.flat()) {\n resources.set(infraIdentityKey(resource.identity), resource);\n }\n return [...resources.values()];\n}\n"]}
@@ -0,0 +1,3 @@
1
+ /*** Convert arbitrary credential and secret identifiers into stable environment-variable segments. */
2
+ export declare function normalizeInfraEnvironmentKey(value: string): string;
3
+ //# sourceMappingURL=normalizeInfraEnvironmentKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeInfraEnvironmentKey.d.ts","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlE"}
@@ -0,0 +1,8 @@
1
+ /*** Convert arbitrary credential and secret identifiers into stable environment-variable segments. */
2
+ export function normalizeInfraEnvironmentKey(value) {
3
+ return value
4
+ .replaceAll(/[^A-Za-z0-9]+/gu, '_')
5
+ .replaceAll(/^_+|_+$/gu, '')
6
+ .toUpperCase();
7
+ }
8
+ //# sourceMappingURL=normalizeInfraEnvironmentKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeInfraEnvironmentKey.js","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/normalizeInfraEnvironmentKey.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,OAAO,KAAK;SACT,UAAU,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAClC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;SAC3B,WAAW,EAAE,CAAC;AACnB,CAAC","sourcesContent":["/*** Convert arbitrary credential and secret identifiers into stable environment-variable segments. */\nexport function normalizeInfraEnvironmentKey(value: string): string {\n return value\n .replaceAll(/[^A-Za-z0-9]+/gu, '_')\n .replaceAll(/^_+|_+$/gu, '')\n .toUpperCase();\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { type AppEnvironmentId } from '@ankhorage/contracts/environments';
2
+ /*** Build an exact state-file path from a closed canonical environment identifier. */
3
+ export declare function resolveInfraStatePath(projectPath: string, environment: AppEnvironmentId): string;
4
+ //# sourceMappingURL=resolveInfraStatePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveInfraStatePath.d.ts","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/resolveInfraStatePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAK/F,sFAAsF;AACtF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,MAAM,CAKhG"}
@@ -0,0 +1,11 @@
1
+ import { APP_ENVIRONMENT_IDS } from '@ankhorage/contracts/environments';
2
+ import path from 'path';
3
+ const INFRA_STATE_ROOT = '.ankh/infra';
4
+ /*** Build an exact state-file path from a closed canonical environment identifier. */
5
+ export function resolveInfraStatePath(projectPath, environment) {
6
+ if (!APP_ENVIRONMENT_IDS.includes(environment)) {
7
+ throw new Error(`Invalid Infra state environment: ${environment}`);
8
+ }
9
+ return path.join(projectPath, INFRA_STATE_ROOT, environment, 'state.json');
10
+ }
11
+ //# sourceMappingURL=resolveInfraStatePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveInfraStatePath.js","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/resolveInfraStatePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAyB,MAAM,mCAAmC,CAAC;AAC/F,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,sFAAsF;AACtF,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,WAA6B;IACtF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,oCAAoC,WAAW,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC","sourcesContent":["import { APP_ENVIRONMENT_IDS, type AppEnvironmentId } from '@ankhorage/contracts/environments';\nimport path from 'path';\n\nconst INFRA_STATE_ROOT = '.ankh/infra';\n\n/*** Build an exact state-file path from a closed canonical environment identifier. */\nexport function resolveInfraStatePath(projectPath: string, environment: AppEnvironmentId): string {\n if (!APP_ENVIRONMENT_IDS.includes(environment)) {\n throw new Error(`Invalid Infra state environment: ${environment}`);\n }\n return path.join(projectPath, INFRA_STATE_ROOT, environment, 'state.json');\n}\n"]}
@@ -0,0 +1,3 @@
1
+ /*** Resolve one generated path inside the project while protecting Infra state and traversal. */
2
+ export declare function resolveProjectFile(projectPath: string, filePath: string): string;
3
+ //# sourceMappingURL=resolveProjectFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveProjectFile.d.ts","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/resolveProjectFile.ts"],"names":[],"mappings":"AAIA,iGAAiG;AACjG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAgBhF"}
@@ -0,0 +1,19 @@
1
+ import path from 'path';
2
+ const INFRA_STATE_ROOT = '.ankh/infra';
3
+ /*** Resolve one generated path inside the project while protecting Infra state and traversal. */
4
+ export function resolveProjectFile(projectPath, filePath) {
5
+ if (filePath.length === 0 ||
6
+ path.isAbsolute(filePath) ||
7
+ filePath === INFRA_STATE_ROOT ||
8
+ filePath.startsWith(`${INFRA_STATE_ROOT}/`)) {
9
+ throw new Error(`Invalid generated Infra artifact path: ${filePath}`);
10
+ }
11
+ const rootPath = path.resolve(projectPath);
12
+ const resolvedPath = path.resolve(rootPath, filePath);
13
+ const relativePath = path.relative(rootPath, resolvedPath);
14
+ if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {
15
+ throw new Error(`Invalid generated Infra artifact path outside project root: ${filePath}`);
16
+ }
17
+ return resolvedPath;
18
+ }
19
+ //# sourceMappingURL=resolveProjectFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveProjectFile.js","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/resolveProjectFile.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAEvC,iGAAiG;AACjG,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,QAAgB;IACtE,IACE,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QACzB,QAAQ,KAAK,gBAAgB;QAC7B,QAAQ,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+DAA+D,QAAQ,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import path from 'path';\n\nconst INFRA_STATE_ROOT = '.ankh/infra';\n\n/*** Resolve one generated path inside the project while protecting Infra state and traversal. */\nexport function resolveProjectFile(projectPath: string, filePath: string): string {\n if (\n filePath.length === 0 ||\n path.isAbsolute(filePath) ||\n filePath === INFRA_STATE_ROOT ||\n filePath.startsWith(`${INFRA_STATE_ROOT}/`)\n ) {\n throw new Error(`Invalid generated Infra artifact path: ${filePath}`);\n }\n const rootPath = path.resolve(projectPath);\n const resolvedPath = path.resolve(rootPath, filePath);\n const relativePath = path.relative(rootPath, resolvedPath);\n if (relativePath.startsWith('..') || path.isAbsolute(relativePath)) {\n throw new Error(`Invalid generated Infra artifact path outside project root: ${filePath}`);\n }\n return resolvedPath;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { InfraOutput } from '@ankhorage/contracts/infra';
2
+ /*** Keep prior outputs not owned by adapters that returned a replacement snapshot. */
3
+ export declare function retainUnchangedAdapterOutputs(previous: readonly InfraOutput[], replacements: readonly InfraOutput[], replacedAdapters: ReadonlySet<string>): readonly InfraOutput[];
4
+ //# sourceMappingURL=retainUnchangedAdapterOutputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retainUnchangedAdapterOutputs.d.ts","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D,sFAAsF;AACtF,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,SAAS,WAAW,EAAE,CAKxB"}
@@ -0,0 +1,6 @@
1
+ import { mergeInfraOutputs } from './mergeInfraOutputs.js';
2
+ /*** Keep prior outputs not owned by adapters that returned a replacement snapshot. */
3
+ export function retainUnchangedAdapterOutputs(previous, replacements, replacedAdapters) {
4
+ return mergeInfraOutputs(previous.filter(({ owner }) => !replacedAdapters.has(owner.adapter)), replacements);
5
+ }
6
+ //# sourceMappingURL=retainUnchangedAdapterOutputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retainUnchangedAdapterOutputs.js","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/retainUnchangedAdapterOutputs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAC3C,QAAgC,EAChC,YAAoC,EACpC,gBAAqC;IAErC,OAAO,iBAAiB,CACtB,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EACpE,YAAY,CACb,CAAC;AACJ,CAAC","sourcesContent":["import type { InfraOutput } from '@ankhorage/contracts/infra';\n\nimport { mergeInfraOutputs } from './mergeInfraOutputs.js';\n\n/*** Keep prior outputs not owned by adapters that returned a replacement snapshot. */\nexport function retainUnchangedAdapterOutputs(\n previous: readonly InfraOutput[],\n replacements: readonly InfraOutput[],\n replacedAdapters: ReadonlySet<string>,\n): readonly InfraOutput[] {\n return mergeInfraOutputs(\n previous.filter(({ owner }) => !replacedAdapters.has(owner.adapter)),\n replacements,\n );\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { InfraOwnedResource } from '@ankhorage/contracts/infra';
2
+ /*** Keep prior resources not owned by adapters that returned a replacement snapshot. */
3
+ export declare function retainUnchangedAdapterResources(previous: readonly InfraOwnedResource[], replacements: readonly InfraOwnedResource[], replacedAdapters: ReadonlySet<string>): readonly InfraOwnedResource[];
4
+ //# sourceMappingURL=retainUnchangedAdapterResources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retainUnchangedAdapterResources.d.ts","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/retainUnchangedAdapterResources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,wFAAwF;AACxF,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,YAAY,EAAE,SAAS,kBAAkB,EAAE,EAC3C,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,GACpC,SAAS,kBAAkB,EAAE,CAK/B"}
@@ -0,0 +1,6 @@
1
+ import { mergeInfraResources } from './mergeInfraResources.js';
2
+ /*** Keep prior resources not owned by adapters that returned a replacement snapshot. */
3
+ export function retainUnchangedAdapterResources(previous, replacements, replacedAdapters) {
4
+ return mergeInfraResources(previous.filter(({ identity }) => !replacedAdapters.has(identity.adapter)), replacements);
5
+ }
6
+ //# sourceMappingURL=retainUnchangedAdapterResources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retainUnchangedAdapterResources.js","sourceRoot":"","sources":["../../../../src/features/environment-lifecycle/utils/retainUnchangedAdapterResources.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,wFAAwF;AACxF,MAAM,UAAU,+BAA+B,CAC7C,QAAuC,EACvC,YAA2C,EAC3C,gBAAqC;IAErC,OAAO,mBAAmB,CACxB,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAC1E,YAAY,CACb,CAAC;AACJ,CAAC","sourcesContent":["import type { InfraOwnedResource } from '@ankhorage/contracts/infra';\n\nimport { mergeInfraResources } from './mergeInfraResources.js';\n\n/*** Keep prior resources not owned by adapters that returned a replacement snapshot. */\nexport function retainUnchangedAdapterResources(\n previous: readonly InfraOwnedResource[],\n replacements: readonly InfraOwnedResource[],\n replacedAdapters: ReadonlySet<string>,\n): readonly InfraOwnedResource[] {\n return mergeInfraResources(\n previous.filter(({ identity }) => !replacedAdapters.has(identity.adapter)),\n replacements,\n );\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,17 @@
1
- import type { InfraGenerationInput, InfraManifestInput, InfrastructureGenerationOptions, InfrastructureGenerationResult } from './types';
2
- export { type AuthRedirectConfiguration, type AuthRedirectEnvironment, getLocalAuthRedirectPatterns, normalizeAuthCallbackRoute, resolveAuthRedirectConfiguration, type ResolveAuthRedirectConfigurationInput, } from './authRedirects';
3
- export { createInfraSecretStoreAdapter, type CreateInfraSecretStoreAdapterInput, type InfraSecretStoreProviders, } from './secretStore';
4
- export type { GeneratedFile, GeneratedInfrastructureFile, GeneratedPackageDependency, InfraDiagnostic, InfraGenerationInput, InfraGenerationOptions, InfraGenerationResult, InfraManifestInput, InfrastructureGenerationMeta, InfrastructureGenerationOptions, InfrastructureGenerationResult, PackageDependency, } from './types';
5
- export declare function generateInfra(input: InfraGenerationInput): InfrastructureGenerationResult;
6
- export declare function generateInfrastructure(manifest: InfraManifestInput, options?: InfrastructureGenerationOptions): InfrastructureGenerationResult;
1
+ export { createEnvironmentInfraCredentialPort } from './features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.js';
2
+ export { createEnvironmentInfraSecretPort } from './features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.js';
3
+ export { createNodeInfraAdapterPackageResolver } from './features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.js';
4
+ export type { InfraAdapterPackageModule, InfraAdapterPackageResolver, } from './features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.js';
5
+ export { destroyInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js';
6
+ export { downInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js';
7
+ export { generateInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js';
8
+ export { getInfraEnvironmentOutputs } from './features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js';
9
+ export { planInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js';
10
+ export { resolveInfraAdaptersAsync } from './features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.js';
11
+ export { statusInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js';
12
+ export { upInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js';
13
+ export { validateInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js';
14
+ export { orderInfraPlanActions } from './features/environment-lifecycle/domain/orderInfraPlanActions.js';
15
+ export { resolveInfraEnvironment } from './features/environment-lifecycle/domain/resolveInfraEnvironment.js';
16
+ export type { InfraDestroyOperationRequest, InfraDestroyOperationResult, InfraDestroyResult, InfraDownOperationResult, InfraDownResult, InfraGenerateOperationResult, InfraGenerateResult, InfraOperationRequest, InfraOrchestrationDependencies, InfraOutputsOperationResult, InfraOutputsResult, InfraPlanOperationResult, InfraStatusOperationResult, InfraStoredState, InfraUpOperationResult, InfraUpRequest, InfraUpResult, InfraValidateOperationResult, InfraValidateResult, PreparedInfraOperation, ResolvedInfraAdapters, ResolvedInfraEnvironment, } from './types/infraOrchestration.js';
7
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,+BAA+B,EAC/B,8BAA8B,EAC/B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,4BAA4B,EAC5B,0BAA0B,EAC1B,gCAAgC,EAChC,KAAK,qCAAqC,GAC3C,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,EAC7B,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,aAAa,EACb,2BAA2B,EAC3B,0BAA0B,EAC1B,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,4BAA4B,EAC5B,+BAA+B,EAC/B,8BAA8B,EAC9B,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG,8BAA8B,CAEzF;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,GAAE,+BAAoC,GAC5C,8BAA8B,CAUhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,4FAA4F,CAAC;AAClJ,OAAO,EAAE,gCAAgC,EAAE,MAAM,wFAAwF,CAAC;AAC1I,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AACpJ,YAAY,EACV,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,wFAAwF,CAAC;AACtI,OAAO,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AAChI,OAAO,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AACxI,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAC;AAClI,OAAO,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AAChI,OAAO,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AAChI,OAAO,EAAE,2BAA2B,EAAE,MAAM,uFAAuF,CAAC;AACpI,OAAO,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AAC5H,OAAO,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AACxI,OAAO,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAC;AAC7G,YAAY,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC3B,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC"}
package/dist/index.js CHANGED
@@ -1,16 +1,15 @@
1
- import { generateMinikubeInfra } from './adapters/minikube';
2
- export { getLocalAuthRedirectPatterns, normalizeAuthCallbackRoute, resolveAuthRedirectConfiguration, } from './authRedirects';
3
- export { createInfraSecretStoreAdapter, } from './secretStore';
4
- export function generateInfra(input) {
5
- return generateInfrastructure(input.manifest, input.options ?? {});
6
- }
7
- export function generateInfrastructure(manifest, options = {}) {
8
- if (!manifest.deployment) {
9
- throw new Error('Deployment configuration is missing.');
10
- }
11
- if (manifest.deployment.target !== 'minikube') {
12
- throw new Error(`Unsupported deployment target: ${manifest.deployment.target}`);
13
- }
14
- return generateMinikubeInfra(manifest, options);
15
- }
1
+ export { createEnvironmentInfraCredentialPort } from './features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.js';
2
+ export { createEnvironmentInfraSecretPort } from './features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.js';
3
+ export { createNodeInfraAdapterPackageResolver } from './features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.js';
4
+ export { destroyInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js';
5
+ export { downInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js';
6
+ export { generateInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js';
7
+ export { getInfraEnvironmentOutputs } from './features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js';
8
+ export { planInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js';
9
+ export { resolveInfraAdaptersAsync } from './features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.js';
10
+ export { statusInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js';
11
+ export { upInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js';
12
+ export { validateInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js';
13
+ export { orderInfraPlanActions } from './features/environment-lifecycle/domain/orderInfraPlanActions.js';
14
+ export { resolveInfraEnvironment } from './features/environment-lifecycle/domain/resolveInfraEnvironment.js';
16
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAQ5D,OAAO,EAGL,4BAA4B,EAC5B,0BAA0B,EAC1B,gCAAgC,GAEjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,GAG9B,MAAM,eAAe,CAAC;AAgBvB,MAAM,UAAU,aAAa,CAAC,KAA2B;IACvD,OAAO,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAA4B,EAC5B,UAA2C,EAAE;IAE7C,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC","sourcesContent":["import { generateMinikubeInfra } from './adapters/minikube';\nimport type {\n InfraGenerationInput,\n InfraManifestInput,\n InfrastructureGenerationOptions,\n InfrastructureGenerationResult,\n} from './types';\n\nexport {\n type AuthRedirectConfiguration,\n type AuthRedirectEnvironment,\n getLocalAuthRedirectPatterns,\n normalizeAuthCallbackRoute,\n resolveAuthRedirectConfiguration,\n type ResolveAuthRedirectConfigurationInput,\n} from './authRedirects';\nexport {\n createInfraSecretStoreAdapter,\n type CreateInfraSecretStoreAdapterInput,\n type InfraSecretStoreProviders,\n} from './secretStore';\nexport type {\n GeneratedFile,\n GeneratedInfrastructureFile,\n GeneratedPackageDependency,\n InfraDiagnostic,\n InfraGenerationInput,\n InfraGenerationOptions,\n InfraGenerationResult,\n InfraManifestInput,\n InfrastructureGenerationMeta,\n InfrastructureGenerationOptions,\n InfrastructureGenerationResult,\n PackageDependency,\n} from './types';\n\nexport function generateInfra(input: InfraGenerationInput): InfrastructureGenerationResult {\n return generateInfrastructure(input.manifest, input.options ?? {});\n}\n\nexport function generateInfrastructure(\n manifest: InfraManifestInput,\n options: InfrastructureGenerationOptions = {},\n): InfrastructureGenerationResult {\n if (!manifest.deployment) {\n throw new Error('Deployment configuration is missing.');\n }\n\n if (manifest.deployment.target !== 'minikube') {\n throw new Error(`Unsupported deployment target: ${manifest.deployment.target}`);\n }\n\n return generateMinikubeInfra(manifest, options);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,4FAA4F,CAAC;AAClJ,OAAO,EAAE,gCAAgC,EAAE,MAAM,wFAAwF,CAAC;AAC1I,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AAKpJ,OAAO,EAAE,4BAA4B,EAAE,MAAM,wFAAwF,CAAC;AACtI,OAAO,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AAChI,OAAO,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AACxI,OAAO,EAAE,0BAA0B,EAAE,MAAM,sFAAsF,CAAC;AAClI,OAAO,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AAChI,OAAO,EAAE,yBAAyB,EAAE,MAAM,qFAAqF,CAAC;AAChI,OAAO,EAAE,2BAA2B,EAAE,MAAM,uFAAuF,CAAC;AACpI,OAAO,EAAE,uBAAuB,EAAE,MAAM,mFAAmF,CAAC;AAC5H,OAAO,EAAE,6BAA6B,EAAE,MAAM,yFAAyF,CAAC;AACxI,OAAO,EAAE,qBAAqB,EAAE,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAE,uBAAuB,EAAE,MAAM,oEAAoE,CAAC","sourcesContent":["export { createEnvironmentInfraCredentialPort } from './features/environment-lifecycle/adapters/outbound/createEnvironmentInfraCredentialPort.js';\nexport { createEnvironmentInfraSecretPort } from './features/environment-lifecycle/adapters/outbound/createEnvironmentInfraSecretPort.js';\nexport { createNodeInfraAdapterPackageResolver } from './features/environment-lifecycle/adapters/outbound/createNodeInfraAdapterPackageResolver.js';\nexport type {\n InfraAdapterPackageModule,\n InfraAdapterPackageResolver,\n} from './features/environment-lifecycle/application/ports/outbound/infraAdapterPackage.js';\nexport { destroyInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js';\nexport { downInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js';\nexport { generateInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js';\nexport { getInfraEnvironmentOutputs } from './features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js';\nexport { planInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js';\nexport { resolveInfraAdaptersAsync } from './features/environment-lifecycle/application/use-cases/resolveInfraAdaptersAsync.js';\nexport { statusInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js';\nexport { upInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js';\nexport { validateInfraEnvironmentAsync } from './features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js';\nexport { orderInfraPlanActions } from './features/environment-lifecycle/domain/orderInfraPlanActions.js';\nexport { resolveInfraEnvironment } from './features/environment-lifecycle/domain/resolveInfraEnvironment.js';\nexport type {\n InfraDestroyOperationRequest,\n InfraDestroyOperationResult,\n InfraDestroyResult,\n InfraDownOperationResult,\n InfraDownResult,\n InfraGenerateOperationResult,\n InfraGenerateResult,\n InfraOperationRequest,\n InfraOrchestrationDependencies,\n InfraOutputsOperationResult,\n InfraOutputsResult,\n InfraPlanOperationResult,\n InfraStatusOperationResult,\n InfraStoredState,\n InfraUpOperationResult,\n InfraUpRequest,\n InfraUpResult,\n InfraValidateOperationResult,\n InfraValidateResult,\n PreparedInfraOperation,\n ResolvedInfraAdapters,\n ResolvedInfraEnvironment,\n} from './types/infraOrchestration.js';\n"]}
@@ -1,2 +1,2 @@
1
- export { INFRA_CAPABILITIES, INFRA_COMMAND_CATEGORY, INFRA_PACKAGE_METADATA, INFRA_PACKAGE_NAME, INFRA_PACKAGE_VERSION, } from '../packageMetadata.js';
1
+ export { INFRA_CAPABILITIES, INFRA_COMMAND_CATEGORY, INFRA_PACKAGE_METADATA, INFRA_PACKAGE_NAME, INFRA_PACKAGE_VERSION, } from '../constants.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { INFRA_CAPABILITIES, INFRA_COMMAND_CATEGORY, INFRA_PACKAGE_METADATA, INFRA_PACKAGE_NAME, INFRA_PACKAGE_VERSION, } from '../packageMetadata.js';
1
+ export { INFRA_CAPABILITIES, INFRA_COMMAND_CATEGORY, INFRA_PACKAGE_METADATA, INFRA_PACKAGE_NAME, INFRA_PACKAGE_VERSION, } from '../constants.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC","sourcesContent":["export {\n INFRA_CAPABILITIES,\n INFRA_COMMAND_CATEGORY,\n INFRA_PACKAGE_METADATA,\n INFRA_PACKAGE_NAME,\n INFRA_PACKAGE_VERSION,\n} from '../packageMetadata.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC","sourcesContent":["export {\n INFRA_CAPABILITIES,\n INFRA_COMMAND_CATEGORY,\n INFRA_PACKAGE_METADATA,\n INFRA_PACKAGE_NAME,\n INFRA_PACKAGE_VERSION,\n} from '../constants.js';\n"]}
@@ -1,6 +1,9 @@
1
- export { type ResolvedInfraProject, resolveInfraProject as resolveInfraWorkspaceProject, } from '../project.js';
2
- export { resolveProjectInfrastructureDatabaseUrl } from '../projectDatabase.js';
3
- export { readProjectInfrastructureEnvironment } from '../projectEnvironment.js';
4
- export { type InfraProjectInspection, type InfraSyncResult, inspectProjectInfrastructure, resolveProjectInfrastructureTarget, syncProjectInfrastructure, } from '../projectInfrastructure.js';
5
- export { ensureProjectInfrastructureRuntime, type InfraLifecycleScript, type InfraPortForwardInfo, InfraScriptExecutionError, type InfraScriptOutput, resolveProjectInfrastructurePortForward, runProjectInfrastructureLifecycle, } from '../runtime.js';
1
+ export { readStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js';
2
+ export { removeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js';
3
+ export { resolveInfraProjectAsync } from '../features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.js';
4
+ export { writeInfraGeneratedArtifactsAsync } from '../features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js';
5
+ export { writeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js';
6
+ export { createProjectInfraLifecycle } from '../features/environment-lifecycle/composition/createProjectInfraLifecycle.js';
7
+ export { resolveProjectFile } from '../features/environment-lifecycle/utils/resolveProjectFile.js';
8
+ export type { CreateProjectInfraLifecycleOptions, InfraArtifactWriteResult, ProjectInfraDestroyRequest, ProjectInfraLifecycle, ProjectInfraOperationRequest, ResolvedInfraProject, } from '../types/infraProject.js';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,oBAAoB,EACzB,mBAAmB,IAAI,4BAA4B,GACpD,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uCAAuC,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,oCAAoC,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,EAClC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,uCAAuC,EACvC,iCAAiC,GAClC,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kFAAkF,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,MAAM,oFAAoF,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,MAAM,iFAAiF,CAAC;AAC3H,OAAO,EAAE,iCAAiC,EAAE,MAAM,0FAA0F,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAE,MAAM,mFAAmF,CAAC;AAC/H,OAAO,EAAE,2BAA2B,EAAE,MAAM,8EAA8E,CAAC;AAC3H,OAAO,EAAE,kBAAkB,EAAE,MAAM,+DAA+D,CAAC;AACnG,YAAY,EACV,kCAAkC,EAClC,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,4BAA4B,EAC5B,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
@@ -1,6 +1,8 @@
1
- export { resolveInfraProject as resolveInfraWorkspaceProject, } from '../project.js';
2
- export { resolveProjectInfrastructureDatabaseUrl } from '../projectDatabase.js';
3
- export { readProjectInfrastructureEnvironment } from '../projectEnvironment.js';
4
- export { inspectProjectInfrastructure, resolveProjectInfrastructureTarget, syncProjectInfrastructure, } from '../projectInfrastructure.js';
5
- export { ensureProjectInfrastructureRuntime, InfraScriptExecutionError, resolveProjectInfrastructurePortForward, runProjectInfrastructureLifecycle, } from '../runtime.js';
1
+ export { readStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js';
2
+ export { removeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js';
3
+ export { resolveInfraProjectAsync } from '../features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.js';
4
+ export { writeInfraGeneratedArtifactsAsync } from '../features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js';
5
+ export { writeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js';
6
+ export { createProjectInfraLifecycle } from '../features/environment-lifecycle/composition/createProjectInfraLifecycle.js';
7
+ export { resolveProjectFile } from '../features/environment-lifecycle/utils/resolveProjectFile.js';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,IAAI,4BAA4B,GACpD,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uCAAuC,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,oCAAoC,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAGL,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kCAAkC,EAGlC,yBAAyB,EAEzB,uCAAuC,EACvC,iCAAiC,GAClC,MAAM,eAAe,CAAC","sourcesContent":["export {\n type ResolvedInfraProject,\n resolveInfraProject as resolveInfraWorkspaceProject,\n} from '../project.js';\nexport { resolveProjectInfrastructureDatabaseUrl } from '../projectDatabase.js';\nexport { readProjectInfrastructureEnvironment } from '../projectEnvironment.js';\nexport {\n type InfraProjectInspection,\n type InfraSyncResult,\n inspectProjectInfrastructure,\n resolveProjectInfrastructureTarget,\n syncProjectInfrastructure,\n} from '../projectInfrastructure.js';\nexport {\n ensureProjectInfrastructureRuntime,\n type InfraLifecycleScript,\n type InfraPortForwardInfo,\n InfraScriptExecutionError,\n type InfraScriptOutput,\n resolveProjectInfrastructurePortForward,\n runProjectInfrastructureLifecycle,\n} from '../runtime.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/project/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kFAAkF,CAAC;AAC7H,OAAO,EAAE,2BAA2B,EAAE,MAAM,oFAAoF,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,MAAM,iFAAiF,CAAC;AAC3H,OAAO,EAAE,iCAAiC,EAAE,MAAM,0FAA0F,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAE,MAAM,mFAAmF,CAAC;AAC/H,OAAO,EAAE,2BAA2B,EAAE,MAAM,8EAA8E,CAAC;AAC3H,OAAO,EAAE,kBAAkB,EAAE,MAAM,+DAA+D,CAAC","sourcesContent":["export { readStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js';\nexport { removeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js';\nexport { resolveInfraProjectAsync } from '../features/environment-lifecycle/adapters/outbound/resolveInfraProjectAsync.js';\nexport { writeInfraGeneratedArtifactsAsync } from '../features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js';\nexport { writeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js';\nexport { createProjectInfraLifecycle } from '../features/environment-lifecycle/composition/createProjectInfraLifecycle.js';\nexport { resolveProjectFile } from '../features/environment-lifecycle/utils/resolveProjectFile.js';\nexport type {\n CreateProjectInfraLifecycleOptions,\n InfraArtifactWriteResult,\n ProjectInfraDestroyRequest,\n ProjectInfraLifecycle,\n ProjectInfraOperationRequest,\n ResolvedInfraProject,\n} from '../types/infraProject.js';\n"]}
@@ -1,39 +1,30 @@
1
- import { runCli } from './cli/bin.js';
1
+ import { runInfraCliAsync } from './cli/runInfraCliAsync.js';
2
2
  /***
3
- * Provider, CLI, and project API surface
3
+ * Provider-neutral infrastructure lifecycle
4
4
  *
5
- * `@ankhorage/infra` owns infrastructure generation, project reconciliation,
6
- * and generated lifecycle execution.
5
+ * `@ankhorage/infra` resolves only the compute, runtime, and service adapter packages selected by
6
+ * an environment-aware Infra manifest. Its typed use cases own orchestration, dependency ordering,
7
+ * safe outputs, deterministic artifacts, and environment-scoped ownership state. Provider packages
8
+ * own all technology-specific implementation.
7
9
  *
8
- * The same owner implementation backs CLI consumers and the public
9
- * `@ankhorage/infra/project` application-service boundary. Trusted hosts such
10
- * as Studio should call that subpath instead of reproducing ledger, generated
11
- * file, lifecycle-script, or port-forward configuration semantics.
12
- *
13
- * CLI entrypoints:
14
- *
15
- * - `ankh infra ...`
16
- * - `bunx @ankhorage/infra ...`
17
- *
18
- * Current command surface:
10
+ * The standalone CLI and `ankh infra` expose the same lifecycle:
19
11
  *
20
12
  * - `validate`
13
+ * - `plan`
21
14
  * - `generate`
22
- * - `status`
23
15
  * - `up`
16
+ * - `status`
17
+ * - `outputs`
24
18
  * - `down`
19
+ * - `destroy`
25
20
  *
26
- * Project resolution for the CLI is workspace-aware: pass `[project]`, or
27
- * omit it when cwd is already inside `apps/<project>`. Programmatic project
28
- * operations accept an explicit project path and do not require Studio or a
29
- * particular workspace layout.
30
- *
31
- * Running applications can repair their provider-aware host endpoints through
32
- * `ensureProjectInfrastructureRuntime()` from `@ankhorage/infra/project`. This
33
- * operation only ensures the generated runtime port-forward group; it does not
34
- * deploy, bootstrap, or reconcile infrastructure.
21
+ * `local` is the only default environment. Destruction always requires an explicit environment and
22
+ * exact `<project>:<environment>` confirmation. Persistent resources remain retained unless each
23
+ * exact owned resource is separately authorized with `--delete-resource <adapter>:<resourceId>`.
24
+ * Environment-style outputs print only explicitly public values with an environment-variable name;
25
+ * secret outputs remain references.
35
26
  *
36
27
  * @usage
37
28
  */
38
- await runCli(['--help']);
29
+ await runInfraCliAsync(['--help']);
39
30
  //# sourceMappingURL=readme-usage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readme-usage.js","sourceRoot":"","sources":["../src/readme-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC","sourcesContent":["import { runCli } from './cli/bin.js';\n\n/***\n * Provider, CLI, and project API surface\n *\n * `@ankhorage/infra` owns infrastructure generation, project reconciliation,\n * and generated lifecycle execution.\n *\n * The same owner implementation backs CLI consumers and the public\n * `@ankhorage/infra/project` application-service boundary. Trusted hosts such\n * as Studio should call that subpath instead of reproducing ledger, generated\n * file, lifecycle-script, or port-forward configuration semantics.\n *\n * CLI entrypoints:\n *\n * - `ankh infra ...`\n * - `bunx @ankhorage/infra ...`\n *\n * Current command surface:\n *\n * - `validate`\n * - `generate`\n * - `status`\n * - `up`\n * - `down`\n *\n * Project resolution for the CLI is workspace-aware: pass `[project]`, or\n * omit it when cwd is already inside `apps/<project>`. Programmatic project\n * operations accept an explicit project path and do not require Studio or a\n * particular workspace layout.\n *\n * Running applications can repair their provider-aware host endpoints through\n * `ensureProjectInfrastructureRuntime()` from `@ankhorage/infra/project`. This\n * operation only ensures the generated runtime port-forward group; it does not\n * deploy, bootstrap, or reconcile infrastructure.\n *\n * @usage\n */\nawait runCli(['--help']);\n"]}
1
+ {"version":3,"file":"readme-usage.js","sourceRoot":"","sources":["../src/readme-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC","sourcesContent":["import { runInfraCliAsync } from './cli/runInfraCliAsync.js';\n\n/***\n * Provider-neutral infrastructure lifecycle\n *\n * `@ankhorage/infra` resolves only the compute, runtime, and service adapter packages selected by\n * an environment-aware Infra manifest. Its typed use cases own orchestration, dependency ordering,\n * safe outputs, deterministic artifacts, and environment-scoped ownership state. Provider packages\n * own all technology-specific implementation.\n *\n * The standalone CLI and `ankh infra` expose the same lifecycle:\n *\n * - `validate`\n * - `plan`\n * - `generate`\n * - `up`\n * - `status`\n * - `outputs`\n * - `down`\n * - `destroy`\n *\n * `local` is the only default environment. Destruction always requires an explicit environment and\n * exact `<project>:<environment>` confirmation. Persistent resources remain retained unless each\n * exact owned resource is separately authorized with `--delete-resource <adapter>:<resourceId>`.\n * Environment-style outputs print only explicitly public values with an environment-variable name;\n * secret outputs remain references.\n *\n * @usage\n */\nawait runInfraCliAsync(['--help']);\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { AppManifest } from '@ankhorage/contracts';
2
- import type { InfraCommandContext } from './commandContext.js';
2
+ import type { InfraCommandContext } from './types/infraCli.js';
3
3
  export interface CapturedCommandContext {
4
4
  readonly context: InfraCommandContext;
5
5
  readonly stderr: {
@@ -1 +1 @@
1
- {"version":3,"file":"testSupport.d.ts","sourceRoot":"","sources":["../src/testSupport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,SAAU,GAChB,sBAAsB,CAmBxB;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE;IACJ,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,OAAO,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC,CA6BD;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,WAAW,CAAC,OAAO,CAAmB,GAC5C,WAAW,CAwBb"}
1
+ {"version":3,"file":"testSupport.d.ts","sourceRoot":"","sources":["../src/testSupport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,OAAO,SAAU,GAChB,sBAAsB,CAmBxB;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,GAAE;IACJ,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,OAAO,CAAC;IACT,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC,CA6BD;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,KAAK,GAAE,WAAW,CAAC,OAAO,CAUzB,GACA,WAAW,CAwBb"}
@@ -40,7 +40,17 @@ export async function createWorkspaceFixture(args = {}) {
40
40
  rootPath,
41
41
  };
42
42
  }
43
- export function createAppManifest(projectId, infra = { modules: [] }) {
43
+ export function createAppManifest(projectId, infra = {
44
+ environments: {
45
+ local: {
46
+ deployment: {
47
+ compute: { provider: 'local' },
48
+ runtime: { provider: 'docker-compose' },
49
+ },
50
+ },
51
+ },
52
+ modules: [],
53
+ }) {
44
54
  return {
45
55
  metadata: {
46
56
  name: projectId,
@@ -1 +1 @@
1
- {"version":3,"file":"testSupport.js","sourceRoot":"","sources":["../src/testSupport.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AppManifest } from '@ankhorage/contracts';\nimport { promises as fs } from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nimport type { InfraCommandContext } from './commandContext.js';\n\nexport interface CapturedCommandContext {\n readonly context: InfraCommandContext;\n readonly stderr: { value: string };\n readonly stdout: { value: string };\n}\n\nexport function createCapturedCommandContext(\n cwd: string,\n version = '0.2.1',\n): CapturedCommandContext {\n const stdout = { value: '' };\n const stderr = { value: '' };\n\n return {\n stdout,\n stderr,\n context: {\n cwd,\n env: process.env,\n version,\n writeStdout(text: string) {\n stdout.value += text;\n },\n writeStderr(text: string) {\n stderr.value += text;\n },\n },\n };\n}\n\nexport async function createWorkspaceFixture(\n args: {\n readonly manifest?: AppManifest;\n readonly manifestFile?: 'invalid-json' | 'missing';\n readonly projectId?: string;\n } = {},\n): Promise<{\n readonly appsRoot: string;\n readonly projectId: string;\n readonly projectPath: string;\n readonly rootPath: string;\n}> {\n const rootPath = await fs.mkdtemp(path.join(os.tmpdir(), 'ankhorage-infra-'));\n const appsRoot = path.join(rootPath, 'apps');\n const projectId = args.projectId ?? 'shop';\n const projectPath = path.join(appsRoot, projectId);\n\n await fs.mkdir(projectPath, { recursive: true });\n await fs.writeFile(\n path.join(projectPath, 'package.json'),\n JSON.stringify({ name: projectId, version: '1.0.0' }, null, 2),\n 'utf8',\n );\n\n if (args.manifestFile === 'invalid-json') {\n await fs.writeFile(path.join(projectPath, 'ankh.config.json'), '{invalid', 'utf8');\n } else if (args.manifestFile !== 'missing') {\n await fs.writeFile(\n path.join(projectPath, 'ankh.config.json'),\n `${JSON.stringify(args.manifest ?? createAppManifest(projectId), null, 2)}\\n`,\n 'utf8',\n );\n }\n\n return {\n appsRoot,\n projectId,\n projectPath,\n rootPath,\n };\n}\n\nexport function createAppManifest(\n projectId: string,\n infra: AppManifest['infra'] = { modules: [] },\n): AppManifest {\n return {\n metadata: {\n name: projectId,\n slug: projectId,\n version: '1.0.0',\n category: 'developer_tools',\n themeId: 'default',\n },\n themes: [],\n activeThemeId: 'default',\n infra,\n navigator: {\n type: 'stack',\n routes: [{ name: 'index', screenId: 'index' }],\n },\n screens: {},\n settings: {\n localization: {\n defaultLocale: 'en',\n locales: ['en'],\n },\n },\n };\n}\n"]}
1
+ {"version":3,"file":"testSupport.js","sourceRoot":"","sources":["../src/testSupport.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AppManifest } from '@ankhorage/contracts';\nimport { promises as fs } from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nimport type { InfraCommandContext } from './types/infraCli.js';\n\nexport interface CapturedCommandContext {\n readonly context: InfraCommandContext;\n readonly stderr: { value: string };\n readonly stdout: { value: string };\n}\n\nexport function createCapturedCommandContext(\n cwd: string,\n version = '0.2.1',\n): CapturedCommandContext {\n const stdout = { value: '' };\n const stderr = { value: '' };\n\n return {\n stdout,\n stderr,\n context: {\n cwd,\n env: process.env,\n version,\n writeStdout(text: string) {\n stdout.value += text;\n },\n writeStderr(text: string) {\n stderr.value += text;\n },\n },\n };\n}\n\nexport async function createWorkspaceFixture(\n args: {\n readonly manifest?: AppManifest;\n readonly manifestFile?: 'invalid-json' | 'missing';\n readonly projectId?: string;\n } = {},\n): Promise<{\n readonly appsRoot: string;\n readonly projectId: string;\n readonly projectPath: string;\n readonly rootPath: string;\n}> {\n const rootPath = await fs.mkdtemp(path.join(os.tmpdir(), 'ankhorage-infra-'));\n const appsRoot = path.join(rootPath, 'apps');\n const projectId = args.projectId ?? 'shop';\n const projectPath = path.join(appsRoot, projectId);\n\n await fs.mkdir(projectPath, { recursive: true });\n await fs.writeFile(\n path.join(projectPath, 'package.json'),\n JSON.stringify({ name: projectId, version: '1.0.0' }, null, 2),\n 'utf8',\n );\n\n if (args.manifestFile === 'invalid-json') {\n await fs.writeFile(path.join(projectPath, 'ankh.config.json'), '{invalid', 'utf8');\n } else if (args.manifestFile !== 'missing') {\n await fs.writeFile(\n path.join(projectPath, 'ankh.config.json'),\n `${JSON.stringify(args.manifest ?? createAppManifest(projectId), null, 2)}\\n`,\n 'utf8',\n );\n }\n\n return {\n appsRoot,\n projectId,\n projectPath,\n rootPath,\n };\n}\n\nexport function createAppManifest(\n projectId: string,\n infra: AppManifest['infra'] = {\n environments: {\n local: {\n deployment: {\n compute: { provider: 'local' },\n runtime: { provider: 'docker-compose' },\n },\n },\n },\n modules: [],\n },\n): AppManifest {\n return {\n metadata: {\n name: projectId,\n slug: projectId,\n version: '1.0.0',\n category: 'developer_tools',\n themeId: 'default',\n },\n themes: [],\n activeThemeId: 'default',\n infra,\n navigator: {\n type: 'stack',\n routes: [{ name: 'index', screenId: 'index' }],\n },\n screens: {},\n settings: {\n localization: {\n defaultLocale: 'en',\n locales: ['en'],\n },\n },\n };\n}\n"]}
@@ -0,0 +1,91 @@
1
+ import type { AnkhCapabilityId } from '@ankhorage/contracts/cli';
2
+ import type { AppEnvironmentId } from '@ankhorage/contracts/environments';
3
+ import type { InfraEnvironmentSpec } from '@ankhorage/contracts/infra';
4
+ import type { readStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/readStoredInfraStateAsync.js';
5
+ import type { removeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/removeStoredInfraStateAsync.js';
6
+ import type { writeInfraGeneratedArtifactsAsync } from '../features/environment-lifecycle/adapters/outbound/writeInfraGeneratedArtifactsAsync.js';
7
+ import type { writeStoredInfraStateAsync } from '../features/environment-lifecycle/adapters/outbound/writeStoredInfraStateAsync.js';
8
+ import type { destroyInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/destroyInfraEnvironmentAsync.js';
9
+ import type { downInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/downInfraEnvironmentAsync.js';
10
+ import type { generateInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/generateInfraEnvironmentAsync.js';
11
+ import type { getInfraEnvironmentOutputs } from '../features/environment-lifecycle/application/use-cases/getInfraEnvironmentOutputs.js';
12
+ import type { planInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/planInfraEnvironmentAsync.js';
13
+ import type { statusInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/statusInfraEnvironmentAsync.js';
14
+ import type { upInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/upInfraEnvironmentAsync.js';
15
+ import type { validateInfraEnvironmentAsync } from '../features/environment-lifecycle/application/use-cases/validateInfraEnvironmentAsync.js';
16
+ import type { InfraOperationRequest, InfraOrchestrationDependencies, InfraStoredState } from './infraOrchestration.js';
17
+ import type { ResolvedInfraProject } from './infraProject.js';
18
+ type InfraCommandName = 'validate' | 'plan' | 'generate' | 'up' | 'status' | 'outputs' | 'down' | 'destroy';
19
+ export interface InfraCommandContext {
20
+ readonly cwd: string;
21
+ readonly env: Readonly<Record<string, string | undefined>>;
22
+ readonly version: string;
23
+ writeStdout(text: string): void;
24
+ writeStderr(text: string): void;
25
+ }
26
+ export interface InfraCommandRunResult {
27
+ readonly exitCode: number;
28
+ }
29
+ export interface ParsedInfraArguments {
30
+ readonly projectId?: string;
31
+ readonly environment?: AppEnvironmentId;
32
+ readonly format: 'human' | 'json' | 'env';
33
+ readonly confirmation?: string;
34
+ readonly deleteResources: readonly string[];
35
+ }
36
+ export interface InfraCommandRunRequest {
37
+ readonly context: InfraCommandContext;
38
+ readonly arguments: ParsedInfraArguments;
39
+ }
40
+ type InfraCommandImplementation = (request: InfraCommandRunRequest, services: InfraCommandServices) => Promise<InfraCommandRunResult>;
41
+ export interface InfraCommandDefinition {
42
+ readonly capability: AnkhCapabilityId;
43
+ readonly path: readonly [InfraCommandName];
44
+ readonly standaloneName: InfraCommandName;
45
+ readonly summary: string;
46
+ readonly run: InfraCommandImplementation;
47
+ }
48
+ export interface InfraCommandInvocation {
49
+ readonly argv: readonly string[];
50
+ readonly command: InfraCommandDefinition;
51
+ readonly context: InfraCommandContext;
52
+ }
53
+ export interface InfraLifecycleOperations {
54
+ readonly validate: typeof validateInfraEnvironmentAsync;
55
+ readonly plan: typeof planInfraEnvironmentAsync;
56
+ readonly generate: typeof generateInfraEnvironmentAsync;
57
+ readonly up: typeof upInfraEnvironmentAsync;
58
+ readonly status: typeof statusInfraEnvironmentAsync;
59
+ readonly outputs: typeof getInfraEnvironmentOutputs;
60
+ readonly down: typeof downInfraEnvironmentAsync;
61
+ readonly destroy: typeof destroyInfraEnvironmentAsync;
62
+ }
63
+ export interface InfraCommandServices {
64
+ readonly resolveProject: (options: {
65
+ readonly cwd: string;
66
+ readonly projectId?: string;
67
+ }) => Promise<ResolvedInfraProject>;
68
+ readonly readState: typeof readStoredInfraStateAsync;
69
+ readonly writeState: typeof writeStoredInfraStateAsync;
70
+ readonly removeState: typeof removeStoredInfraStateAsync;
71
+ readonly writeArtifacts: typeof writeInfraGeneratedArtifactsAsync;
72
+ readonly operations: InfraLifecycleOperations;
73
+ readonly createDependencies: (context: InfraCommandContext) => InfraOrchestrationDependencies;
74
+ }
75
+ export interface RunInfraCommandOptions {
76
+ readonly services?: Partial<InfraCommandServices>;
77
+ }
78
+ export interface CreateInfraRuntimeProviderOptions {
79
+ readonly runCommandImpl?: RunInfraCommandImpl;
80
+ readonly services?: Partial<InfraCommandServices>;
81
+ }
82
+ export type RunInfraCommandImpl = (request: InfraCommandInvocation, options?: RunInfraCommandOptions) => Promise<InfraCommandRunResult>;
83
+ export interface PreparedInfraCommandOperation {
84
+ readonly project: ResolvedInfraProject;
85
+ readonly state: InfraStoredState | null;
86
+ readonly desired: InfraEnvironmentSpec;
87
+ readonly operation: InfraOperationRequest;
88
+ readonly dependencies: InfraOrchestrationDependencies;
89
+ }
90
+ export {};
91
+ //# sourceMappingURL=infraCli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infraCli.d.ts","sourceRoot":"","sources":["../../src/types/infraCli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=infraCli.js.map