@ankhorage/deploy 0.2.0 → 0.4.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 (268) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -2
  3. package/dist/domain/DeploymentAuthenticationState.d.ts +8 -0
  4. package/dist/domain/DeploymentAuthenticationState.d.ts.map +1 -0
  5. package/dist/domain/DeploymentAuthenticationState.js +2 -0
  6. package/dist/domain/DeploymentAuthenticationState.js.map +1 -0
  7. package/dist/domain/DeploymentCredentialReference.d.ts +6 -0
  8. package/dist/domain/DeploymentCredentialReference.d.ts.map +1 -0
  9. package/dist/domain/DeploymentCredentialReference.js +2 -0
  10. package/dist/domain/DeploymentCredentialReference.js.map +1 -0
  11. package/dist/domain/DeploymentCurrentState.d.ts +6 -3
  12. package/dist/domain/DeploymentCurrentState.d.ts.map +1 -1
  13. package/dist/domain/DeploymentCurrentState.js.map +1 -1
  14. package/dist/domain/DeploymentDesiredRevisions.d.ts +3 -0
  15. package/dist/domain/DeploymentDesiredRevisions.d.ts.map +1 -0
  16. package/dist/domain/DeploymentDesiredRevisions.js +2 -0
  17. package/dist/domain/DeploymentDesiredRevisions.js.map +1 -0
  18. package/dist/domain/DeploymentProviderCapabilityState.d.ts +7 -0
  19. package/dist/domain/DeploymentProviderCapabilityState.d.ts.map +1 -0
  20. package/dist/domain/DeploymentProviderCapabilityState.js +2 -0
  21. package/dist/domain/DeploymentProviderCapabilityState.js.map +1 -0
  22. package/dist/domain/DeploymentProviderSetupAdapter.d.ts +7 -0
  23. package/dist/domain/DeploymentProviderSetupAdapter.d.ts.map +1 -0
  24. package/dist/domain/DeploymentProviderSetupAdapter.js +2 -0
  25. package/dist/domain/DeploymentProviderSetupAdapter.js.map +1 -0
  26. package/dist/domain/DeploymentProviderSetupContext.d.ts +9 -0
  27. package/dist/domain/DeploymentProviderSetupContext.d.ts.map +1 -0
  28. package/dist/domain/DeploymentProviderSetupContext.js +2 -0
  29. package/dist/domain/DeploymentProviderSetupContext.js.map +1 -0
  30. package/dist/domain/DeploymentProviderSetupInspection.d.ts +10 -0
  31. package/dist/domain/DeploymentProviderSetupInspection.d.ts.map +1 -0
  32. package/dist/domain/DeploymentProviderSetupInspection.js +2 -0
  33. package/dist/domain/DeploymentProviderSetupInspection.js.map +1 -0
  34. package/dist/domain/DeploymentProviderSetupInspectionResult.d.ts +10 -0
  35. package/dist/domain/DeploymentProviderSetupInspectionResult.d.ts.map +1 -0
  36. package/dist/domain/DeploymentProviderSetupInspectionResult.js +2 -0
  37. package/dist/domain/DeploymentProviderSetupInspectionResult.js.map +1 -0
  38. package/dist/domain/DeploymentProvisioningRequirement.d.ts +18 -0
  39. package/dist/domain/DeploymentProvisioningRequirement.d.ts.map +1 -0
  40. package/dist/domain/DeploymentProvisioningRequirement.js +2 -0
  41. package/dist/domain/DeploymentProvisioningRequirement.js.map +1 -0
  42. package/dist/domain/DeploymentSecretResolver.d.ts +4 -0
  43. package/dist/domain/DeploymentSecretResolver.d.ts.map +1 -0
  44. package/dist/domain/DeploymentSecretResolver.js +2 -0
  45. package/dist/domain/DeploymentSecretResolver.js.map +1 -0
  46. package/dist/domain/DeploymentTargetChange.d.ts +1 -1
  47. package/dist/domain/DeploymentTargetChange.d.ts.map +1 -1
  48. package/dist/domain/DeploymentTargetChange.js +1 -0
  49. package/dist/domain/DeploymentTargetChange.js.map +1 -1
  50. package/dist/domain/WebDeploymentPublication.d.ts +9 -0
  51. package/dist/domain/WebDeploymentPublication.d.ts.map +1 -0
  52. package/dist/domain/WebDeploymentPublication.js +2 -0
  53. package/dist/domain/WebDeploymentPublication.js.map +1 -0
  54. package/dist/domain/WebDeploymentPublishIntent.d.ts +6 -0
  55. package/dist/domain/WebDeploymentPublishIntent.d.ts.map +1 -0
  56. package/dist/domain/WebDeploymentPublishIntent.js +2 -0
  57. package/dist/domain/WebDeploymentPublishIntent.js.map +1 -0
  58. package/dist/engine/createDeploymentChanges.d.ts +2 -0
  59. package/dist/engine/createDeploymentChanges.d.ts.map +1 -1
  60. package/dist/engine/createDeploymentChanges.js +22 -7
  61. package/dist/engine/createDeploymentChanges.js.map +1 -1
  62. package/dist/engine/createDeploymentPlan.d.ts +2 -0
  63. package/dist/engine/createDeploymentPlan.d.ts.map +1 -1
  64. package/dist/engine/createDeploymentPlan.js.map +1 -1
  65. package/dist/engine/inspectDeploymentProviderSetup.d.ts +8 -0
  66. package/dist/engine/inspectDeploymentProviderSetup.d.ts.map +1 -0
  67. package/dist/engine/inspectDeploymentProviderSetup.js +21 -0
  68. package/dist/engine/inspectDeploymentProviderSetup.js.map +1 -0
  69. package/dist/engine/providerSetup/containsTrackedSecret.d.ts +2 -0
  70. package/dist/engine/providerSetup/containsTrackedSecret.d.ts.map +1 -0
  71. package/dist/engine/providerSetup/containsTrackedSecret.js +12 -0
  72. package/dist/engine/providerSetup/containsTrackedSecret.js.map +1 -0
  73. package/dist/engine/providerSetup/createProviderSetupContext.d.ts +4 -0
  74. package/dist/engine/providerSetup/createProviderSetupContext.d.ts.map +1 -0
  75. package/dist/engine/providerSetup/createProviderSetupContext.js +4 -0
  76. package/dist/engine/providerSetup/createProviderSetupContext.js.map +1 -0
  77. package/dist/engine/providerSetup/createProviderSetupFailure.d.ts +4 -0
  78. package/dist/engine/providerSetup/createProviderSetupFailure.d.ts.map +1 -0
  79. package/dist/engine/providerSetup/createProviderSetupFailure.js +10 -0
  80. package/dist/engine/providerSetup/createProviderSetupFailure.js.map +1 -0
  81. package/dist/engine/providerSetup/createTrackedSecretResolver.d.ts +7 -0
  82. package/dist/engine/providerSetup/createTrackedSecretResolver.d.ts.map +1 -0
  83. package/dist/engine/providerSetup/createTrackedSecretResolver.js +13 -0
  84. package/dist/engine/providerSetup/createTrackedSecretResolver.js.map +1 -0
  85. package/dist/engine/providerSetup/isAppDeployTargetId.d.ts +3 -0
  86. package/dist/engine/providerSetup/isAppDeployTargetId.d.ts.map +1 -0
  87. package/dist/engine/providerSetup/isAppDeployTargetId.js +5 -0
  88. package/dist/engine/providerSetup/isAppDeployTargetId.js.map +1 -0
  89. package/dist/engine/providerSetup/isNonEmptyString.d.ts +2 -0
  90. package/dist/engine/providerSetup/isNonEmptyString.d.ts.map +1 -0
  91. package/dist/engine/providerSetup/isNonEmptyString.js +4 -0
  92. package/dist/engine/providerSetup/isNonEmptyString.js.map +1 -0
  93. package/dist/engine/providerSetup/isRecord.d.ts +2 -0
  94. package/dist/engine/providerSetup/isRecord.d.ts.map +1 -0
  95. package/dist/engine/providerSetup/isRecord.js +4 -0
  96. package/dist/engine/providerSetup/isRecord.js.map +1 -0
  97. package/dist/engine/providerSetup/normalizeAuthenticationAction.d.ts +3 -0
  98. package/dist/engine/providerSetup/normalizeAuthenticationAction.d.ts.map +1 -0
  99. package/dist/engine/providerSetup/normalizeAuthenticationAction.js +21 -0
  100. package/dist/engine/providerSetup/normalizeAuthenticationAction.js.map +1 -0
  101. package/dist/engine/providerSetup/normalizeAuthenticationState.d.ts +3 -0
  102. package/dist/engine/providerSetup/normalizeAuthenticationState.d.ts.map +1 -0
  103. package/dist/engine/providerSetup/normalizeAuthenticationState.js +13 -0
  104. package/dist/engine/providerSetup/normalizeAuthenticationState.js.map +1 -0
  105. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.d.ts +3 -0
  106. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.d.ts.map +1 -0
  107. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.js +23 -0
  108. package/dist/engine/providerSetup/normalizeAutomatedProvisioningRequirement.js.map +1 -0
  109. package/dist/engine/providerSetup/normalizeCredentialReferences.d.ts +3 -0
  110. package/dist/engine/providerSetup/normalizeCredentialReferences.d.ts.map +1 -0
  111. package/dist/engine/providerSetup/normalizeCredentialReferences.js +18 -0
  112. package/dist/engine/providerSetup/normalizeCredentialReferences.js.map +1 -0
  113. package/dist/engine/providerSetup/normalizeManualAction.d.ts +3 -0
  114. package/dist/engine/providerSetup/normalizeManualAction.d.ts.map +1 -0
  115. package/dist/engine/providerSetup/normalizeManualAction.js +23 -0
  116. package/dist/engine/providerSetup/normalizeManualAction.js.map +1 -0
  117. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.d.ts +3 -0
  118. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.d.ts.map +1 -0
  119. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.js +31 -0
  120. package/dist/engine/providerSetup/normalizeProviderCapabilityStates.js.map +1 -0
  121. package/dist/engine/providerSetup/normalizeProviderSetupInspection.d.ts +10 -0
  122. package/dist/engine/providerSetup/normalizeProviderSetupInspection.d.ts.map +1 -0
  123. package/dist/engine/providerSetup/normalizeProviderSetupInspection.js +25 -0
  124. package/dist/engine/providerSetup/normalizeProviderSetupInspection.js.map +1 -0
  125. package/dist/engine/providerSetup/normalizeProvisioningRequirements.d.ts +3 -0
  126. package/dist/engine/providerSetup/normalizeProvisioningRequirements.d.ts.map +1 -0
  127. package/dist/engine/providerSetup/normalizeProvisioningRequirements.js +31 -0
  128. package/dist/engine/providerSetup/normalizeProvisioningRequirements.js.map +1 -0
  129. package/dist/engine/providerSetup/prepareProviderSetupInspection.d.ts +16 -0
  130. package/dist/engine/providerSetup/prepareProviderSetupInspection.d.ts.map +1 -0
  131. package/dist/engine/providerSetup/prepareProviderSetupInspection.js +32 -0
  132. package/dist/engine/providerSetup/prepareProviderSetupInspection.js.map +1 -0
  133. package/dist/engine/targetSnapshot.d.ts +2 -2
  134. package/dist/engine/targetSnapshot.d.ts.map +1 -1
  135. package/dist/engine/targetSnapshot.js +14 -9
  136. package/dist/engine/targetSnapshot.js.map +1 -1
  137. package/dist/index.d.ts +13 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/index.js +13 -0
  140. package/dist/index.js.map +1 -1
  141. package/dist/project/history/validation/observedTarget.d.ts.map +1 -1
  142. package/dist/project/history/validation/observedTarget.js +13 -6
  143. package/dist/project/history/validation/observedTarget.js.map +1 -1
  144. package/dist/project/index.d.ts +6 -0
  145. package/dist/project/index.d.ts.map +1 -1
  146. package/dist/project/index.js +3 -0
  147. package/dist/project/index.js.map +1 -1
  148. package/dist/project/web/ProjectWebDeploymentAccess.d.ts +7 -0
  149. package/dist/project/web/ProjectWebDeploymentAccess.d.ts.map +1 -0
  150. package/dist/project/web/ProjectWebDeploymentAccess.js +2 -0
  151. package/dist/project/web/ProjectWebDeploymentAccess.js.map +1 -0
  152. package/dist/project/web/ProjectWebDeploymentExecution.d.ts +12 -0
  153. package/dist/project/web/ProjectWebDeploymentExecution.d.ts.map +1 -0
  154. package/dist/project/web/ProjectWebDeploymentExecution.js +2 -0
  155. package/dist/project/web/ProjectWebDeploymentExecution.js.map +1 -0
  156. package/dist/project/web/ProjectWebDeploymentInspection.d.ts +19 -0
  157. package/dist/project/web/ProjectWebDeploymentInspection.d.ts.map +1 -0
  158. package/dist/project/web/ProjectWebDeploymentInspection.js +2 -0
  159. package/dist/project/web/ProjectWebDeploymentInspection.js.map +1 -0
  160. package/dist/project/web/ProjectWebDeploymentRuntime.d.ts +9 -0
  161. package/dist/project/web/ProjectWebDeploymentRuntime.d.ts.map +1 -0
  162. package/dist/project/web/ProjectWebDeploymentRuntime.js +8 -0
  163. package/dist/project/web/ProjectWebDeploymentRuntime.js.map +1 -0
  164. package/dist/project/web/ProjectWebExecutionState.d.ts +9 -0
  165. package/dist/project/web/ProjectWebExecutionState.d.ts.map +1 -0
  166. package/dist/project/web/ProjectWebExecutionState.js +2 -0
  167. package/dist/project/web/ProjectWebExecutionState.js.map +1 -0
  168. package/dist/project/web/areDeploymentPlansEqual.d.ts +3 -0
  169. package/dist/project/web/areDeploymentPlansEqual.d.ts.map +1 -0
  170. package/dist/project/web/areDeploymentPlansEqual.js +4 -0
  171. package/dist/project/web/areDeploymentPlansEqual.js.map +1 -0
  172. package/dist/project/web/createProjectWebDeploymentPlan.d.ts +4 -0
  173. package/dist/project/web/createProjectWebDeploymentPlan.d.ts.map +1 -0
  174. package/dist/project/web/createProjectWebDeploymentPlan.js +13 -0
  175. package/dist/project/web/createProjectWebDeploymentPlan.js.map +1 -0
  176. package/dist/project/web/executeProjectWebDeployment.d.ts +14 -0
  177. package/dist/project/web/executeProjectWebDeployment.d.ts.map +1 -0
  178. package/dist/project/web/executeProjectWebDeployment.js +118 -0
  179. package/dist/project/web/executeProjectWebDeployment.js.map +1 -0
  180. package/dist/project/web/executeProjectWebStep.d.ts +16 -0
  181. package/dist/project/web/executeProjectWebStep.d.ts.map +1 -0
  182. package/dist/project/web/executeProjectWebStep.js +80 -0
  183. package/dist/project/web/executeProjectWebStep.js.map +1 -0
  184. package/dist/project/web/inspectProjectWebDeployment.d.ts +9 -0
  185. package/dist/project/web/inspectProjectWebDeployment.d.ts.map +1 -0
  186. package/dist/project/web/inspectProjectWebDeployment.js +56 -0
  187. package/dist/project/web/inspectProjectWebDeployment.js.map +1 -0
  188. package/dist/project/web/inspectProjectWebSetup.d.ts +5 -0
  189. package/dist/project/web/inspectProjectWebSetup.d.ts.map +1 -0
  190. package/dist/project/web/inspectProjectWebSetup.js +9 -0
  191. package/dist/project/web/inspectProjectWebSetup.js.map +1 -0
  192. package/dist/project/web/normalizeProjectWebDesired.d.ts +12 -0
  193. package/dist/project/web/normalizeProjectWebDesired.d.ts.map +1 -0
  194. package/dist/project/web/normalizeProjectWebDesired.js +20 -0
  195. package/dist/project/web/normalizeProjectWebDesired.js.map +1 -0
  196. package/dist/project/web/readCurrentProjectWebDeployment.d.ts +3 -0
  197. package/dist/project/web/readCurrentProjectWebDeployment.d.ts.map +1 -0
  198. package/dist/project/web/readCurrentProjectWebDeployment.js +24 -0
  199. package/dist/project/web/readCurrentProjectWebDeployment.js.map +1 -0
  200. package/dist/project/web/recordProjectWebDeployment.d.ts +19 -0
  201. package/dist/project/web/recordProjectWebDeployment.d.ts.map +1 -0
  202. package/dist/project/web/recordProjectWebDeployment.js +36 -0
  203. package/dist/project/web/recordProjectWebDeployment.js.map +1 -0
  204. package/dist/project/web/resolveProjectWebDeploymentAccess.d.ts +9 -0
  205. package/dist/project/web/resolveProjectWebDeploymentAccess.d.ts.map +1 -0
  206. package/dist/project/web/resolveProjectWebDeploymentAccess.js +7 -0
  207. package/dist/project/web/resolveProjectWebDeploymentAccess.js.map +1 -0
  208. package/dist/project/web/setupBlockingOutcome.d.ts +4 -0
  209. package/dist/project/web/setupBlockingOutcome.d.ts.map +1 -0
  210. package/dist/project/web/setupBlockingOutcome.js +34 -0
  211. package/dist/project/web/setupBlockingOutcome.js.map +1 -0
  212. package/dist/providers/eas/createEasHostingSetupAdapter.d.ts +7 -0
  213. package/dist/providers/eas/createEasHostingSetupAdapter.d.ts.map +1 -0
  214. package/dist/providers/eas/createEasHostingSetupAdapter.js +76 -0
  215. package/dist/providers/eas/createEasHostingSetupAdapter.js.map +1 -0
  216. package/dist/providers/eas/parseEasWebPublication.d.ts +3 -0
  217. package/dist/providers/eas/parseEasWebPublication.d.ts.map +1 -0
  218. package/dist/providers/eas/parseEasWebPublication.js +31 -0
  219. package/dist/providers/eas/parseEasWebPublication.js.map +1 -0
  220. package/dist/providers/eas/publishWebToEas.d.ts +27 -0
  221. package/dist/providers/eas/publishWebToEas.d.ts.map +1 -0
  222. package/dist/providers/eas/publishWebToEas.js +52 -0
  223. package/dist/providers/eas/publishWebToEas.js.map +1 -0
  224. package/dist/providers/eas/resolveEasProcessEnvironment.d.ts +15 -0
  225. package/dist/providers/eas/resolveEasProcessEnvironment.d.ts.map +1 -0
  226. package/dist/providers/eas/resolveEasProcessEnvironment.js +26 -0
  227. package/dist/providers/eas/resolveEasProcessEnvironment.js.map +1 -0
  228. package/dist/runtime/http/DeploymentHttpProbe.d.ts +6 -0
  229. package/dist/runtime/http/DeploymentHttpProbe.d.ts.map +1 -0
  230. package/dist/runtime/http/DeploymentHttpProbe.js +2 -0
  231. package/dist/runtime/http/DeploymentHttpProbe.js.map +1 -0
  232. package/dist/runtime/http/probeDeploymentHttp.d.ts +3 -0
  233. package/dist/runtime/http/probeDeploymentHttp.d.ts.map +1 -0
  234. package/dist/runtime/http/probeDeploymentHttp.js +5 -0
  235. package/dist/runtime/http/probeDeploymentHttp.js.map +1 -0
  236. package/dist/runtime/process/DeploymentProcessRunner.d.ts +13 -0
  237. package/dist/runtime/process/DeploymentProcessRunner.d.ts.map +1 -0
  238. package/dist/runtime/process/DeploymentProcessRunner.js +2 -0
  239. package/dist/runtime/process/DeploymentProcessRunner.js.map +1 -0
  240. package/dist/runtime/process/runDeploymentProcess.d.ts +3 -0
  241. package/dist/runtime/process/runDeploymentProcess.d.ts.map +1 -0
  242. package/dist/runtime/process/runDeploymentProcess.js +29 -0
  243. package/dist/runtime/process/runDeploymentProcess.js.map +1 -0
  244. package/dist/targets/web/PreparedWebArtifact.d.ts +5 -0
  245. package/dist/targets/web/PreparedWebArtifact.d.ts.map +1 -0
  246. package/dist/targets/web/PreparedWebArtifact.js +2 -0
  247. package/dist/targets/web/PreparedWebArtifact.js.map +1 -0
  248. package/dist/targets/web/createWebTargetPlanContributor.d.ts +3 -0
  249. package/dist/targets/web/createWebTargetPlanContributor.d.ts.map +1 -0
  250. package/dist/targets/web/createWebTargetPlanContributor.js +32 -0
  251. package/dist/targets/web/createWebTargetPlanContributor.js.map +1 -0
  252. package/dist/targets/web/hashWebExport.d.ts +2 -0
  253. package/dist/targets/web/hashWebExport.d.ts.map +1 -0
  254. package/dist/targets/web/hashWebExport.js +30 -0
  255. package/dist/targets/web/hashWebExport.js.map +1 -0
  256. package/dist/targets/web/normalizeWebProviders.d.ts +16 -0
  257. package/dist/targets/web/normalizeWebProviders.d.ts.map +1 -0
  258. package/dist/targets/web/normalizeWebProviders.js +16 -0
  259. package/dist/targets/web/normalizeWebProviders.js.map +1 -0
  260. package/dist/targets/web/prepareWebArtifact.d.ts +16 -0
  261. package/dist/targets/web/prepareWebArtifact.d.ts.map +1 -0
  262. package/dist/targets/web/prepareWebArtifact.js +46 -0
  263. package/dist/targets/web/prepareWebArtifact.js.map +1 -0
  264. package/dist/targets/web/verifyWebPublication.d.ts +5 -0
  265. package/dist/targets/web/verifyWebPublication.d.ts.map +1 -0
  266. package/dist/targets/web/verifyWebPublication.js +25 -0
  267. package/dist/targets/web/verifyWebPublication.js.map +1 -0
  268. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ankhorage/deploy
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 8f476cf: Add revision-aware deployment planning and the first production Web deployment lifecycle with Expo export, EAS Hosting publication, verification, and immutable project history.
8
+
9
+ ## 0.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - ced9190: Add provider-neutral provisioning, authentication, credential-reference, injected secret-resolution, capability inspection, and safe provider setup orchestration foundations.
14
+
3
15
  ## 0.2.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  # @ankhorage/deploy
5
5
 
6
- ![license: MIT](././paradox/badges/license.svg) ![npm: v0.1.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
6
+ ![license: MIT](././paradox/badges/license.svg) ![npm: v0.3.0](././paradox/badges/npm.svg) ![runtime: bun](././paradox/badges/runtime.svg) ![typescript: strict](././paradox/badges/typescript.svg) ![eslint: checked](././paradox/badges/eslint.svg) ![prettier: checked](././paradox/badges/prettier.svg) ![build: checked](././paradox/badges/build.svg) ![tests: checked](././paradox/badges/tests.svg) ![docs: paradox](././paradox/badges/docs.svg)
7
7
 
8
8
  Declarative deployment engine for Expo apps across web, iOS, and Android.
9
9
 
@@ -16,4 +16,3 @@ Declarative deployment engine for Expo apps across web, iOS, and Android.
16
16
  - [Module relationships](././paradox/diagrams/module-relationships.mmd)
17
17
  - [Export graph](././paradox/diagrams/export-graph.mmd)
18
18
  - [createDeploymentPlan sequence](././paradox/diagrams/sequences/create-deployment-plan.mmd)
19
- - [executeDeploymentPlan sequence](././paradox/diagrams/sequences/execute-deployment-plan.mmd)
@@ -0,0 +1,8 @@
1
+ import type { DeploymentAuthenticationRequiredAction } from './DeploymentRequiredAction';
2
+ export type DeploymentAuthenticationState = {
3
+ readonly status: 'authenticated';
4
+ } | {
5
+ readonly status: 'required';
6
+ readonly action: DeploymentAuthenticationRequiredAction;
7
+ };
8
+ //# sourceMappingURL=DeploymentAuthenticationState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentAuthenticationState.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentAuthenticationState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sCAAsC,EAAE,MAAM,4BAA4B,CAAC;AAEzF,MAAM,MAAM,6BAA6B,GACrC;IAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;CAAE,GACpC;IACE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAC;CACzD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentAuthenticationState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentAuthenticationState.js","sourceRoot":"","sources":["../../src/domain/DeploymentAuthenticationState.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentAuthenticationRequiredAction } from './DeploymentRequiredAction';\n\nexport type DeploymentAuthenticationState =\n | { readonly status: 'authenticated' }\n | {\n readonly status: 'required';\n readonly action: DeploymentAuthenticationRequiredAction;\n };\n"]}
@@ -0,0 +1,6 @@
1
+ export interface DeploymentCredentialReference {
2
+ readonly provider: string;
3
+ readonly id: string;
4
+ readonly kind: string;
5
+ }
6
+ //# sourceMappingURL=DeploymentCredentialReference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentCredentialReference.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentCredentialReference.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentCredentialReference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentCredentialReference.js","sourceRoot":"","sources":["../../src/domain/DeploymentCredentialReference.ts"],"names":[],"mappings":"","sourcesContent":["export interface DeploymentCredentialReference {\n readonly provider: string;\n readonly id: string;\n readonly kind: string;\n}\n"]}
@@ -1,12 +1,15 @@
1
1
  import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';
2
- export interface DeploymentObservedWebTarget {
2
+ export interface DeploymentObservedRevision {
3
+ readonly revision?: string;
4
+ }
5
+ export interface DeploymentObservedWebTarget extends DeploymentObservedRevision {
3
6
  readonly providers?: AppDeployProviderSelection;
4
7
  }
5
- export interface DeploymentObservedAndroidTarget {
8
+ export interface DeploymentObservedAndroidTarget extends DeploymentObservedRevision {
6
9
  readonly package: string;
7
10
  readonly providers?: AppDeployProviderSelection;
8
11
  }
9
- export interface DeploymentObservedIosTarget {
12
+ export interface DeploymentObservedIosTarget extends DeploymentObservedRevision {
10
13
  readonly bundleIdentifier: string;
11
14
  readonly providers?: AppDeployProviderSelection;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeploymentCurrentState.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentCurrentState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,MAAM,wBAAwB,GAChC,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,2BAA2B,CAAC,GAC1D,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,+BAA+B,CAAC,GAClE,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,2BAA2B,CAAC,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,GAAG,CAAC,EAAE,2BAA2B,CAAC;QAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,+BAA+B,CAAC;QACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,2BAA2B,CAAC;KAC5C,CAAC;CACH"}
1
+ {"version":3,"file":"DeploymentCurrentState.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentCurrentState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,+BAAgC,SAAQ,0BAA0B;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CACjD;AAED,MAAM,MAAM,wBAAwB,GAChC,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,2BAA2B,CAAC,GAC1D,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,+BAA+B,CAAC,GAClE,CAAC;IAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAA;CAAE,GAAG,2BAA2B,CAAC,CAAC;AAE/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,GAAG,CAAC,EAAE,2BAA2B,CAAC;QAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,+BAA+B,CAAC;QACnD,QAAQ,CAAC,GAAG,CAAC,EAAE,2BAA2B,CAAC;KAC5C,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"DeploymentCurrentState.js","sourceRoot":"","sources":["../../src/domain/DeploymentCurrentState.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';\n\nexport interface DeploymentObservedWebTarget {\n readonly providers?: AppDeployProviderSelection;\n}\n\nexport interface DeploymentObservedAndroidTarget {\n readonly package: string;\n readonly providers?: AppDeployProviderSelection;\n}\n\nexport interface DeploymentObservedIosTarget {\n readonly bundleIdentifier: string;\n readonly providers?: AppDeployProviderSelection;\n}\n\nexport type DeploymentObservedTarget =\n | ({ readonly target: 'web' } & DeploymentObservedWebTarget)\n | ({ readonly target: 'android' } & DeploymentObservedAndroidTarget)\n | ({ readonly target: 'ios' } & DeploymentObservedIosTarget);\n\nexport interface DeploymentCurrentState {\n readonly targets: {\n readonly web?: DeploymentObservedWebTarget;\n readonly android?: DeploymentObservedAndroidTarget;\n readonly ios?: DeploymentObservedIosTarget;\n };\n}\n"]}
1
+ {"version":3,"file":"DeploymentCurrentState.js","sourceRoot":"","sources":["../../src/domain/DeploymentCurrentState.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppDeployProviderSelection } from '@ankhorage/contracts/deploy';\n\nexport interface DeploymentObservedRevision {\n readonly revision?: string;\n}\n\nexport interface DeploymentObservedWebTarget extends DeploymentObservedRevision {\n readonly providers?: AppDeployProviderSelection;\n}\n\nexport interface DeploymentObservedAndroidTarget extends DeploymentObservedRevision {\n readonly package: string;\n readonly providers?: AppDeployProviderSelection;\n}\n\nexport interface DeploymentObservedIosTarget extends DeploymentObservedRevision {\n readonly bundleIdentifier: string;\n readonly providers?: AppDeployProviderSelection;\n}\n\nexport type DeploymentObservedTarget =\n | ({ readonly target: 'web' } & DeploymentObservedWebTarget)\n | ({ readonly target: 'android' } & DeploymentObservedAndroidTarget)\n | ({ readonly target: 'ios' } & DeploymentObservedIosTarget);\n\nexport interface DeploymentCurrentState {\n readonly targets: {\n readonly web?: DeploymentObservedWebTarget;\n readonly android?: DeploymentObservedAndroidTarget;\n readonly ios?: DeploymentObservedIosTarget;\n };\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';
2
+ export type DeploymentDesiredRevisions = Partial<Record<AppDeployTargetId, string>>;
3
+ //# sourceMappingURL=DeploymentDesiredRevisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentDesiredRevisions.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentDesiredRevisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentDesiredRevisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentDesiredRevisions.js","sourceRoot":"","sources":["../../src/domain/DeploymentDesiredRevisions.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';\n\nexport type DeploymentDesiredRevisions = Partial<Record<AppDeployTargetId, string>>;\n"]}
@@ -0,0 +1,7 @@
1
+ import type { DeploymentCapability } from './DeploymentCapability';
2
+ export interface DeploymentProviderCapabilityState {
3
+ readonly capability: DeploymentCapability;
4
+ readonly status: 'available' | 'unavailable';
5
+ readonly reason?: string;
6
+ }
7
+ //# sourceMappingURL=DeploymentProviderCapabilityState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderCapabilityState.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentProviderCapabilityState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProviderCapabilityState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderCapabilityState.js","sourceRoot":"","sources":["../../src/domain/DeploymentProviderCapabilityState.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentCapability } from './DeploymentCapability';\n\nexport interface DeploymentProviderCapabilityState {\n readonly capability: DeploymentCapability;\n readonly status: 'available' | 'unavailable';\n readonly reason?: string;\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { DeploymentProviderSetupContext } from './DeploymentProviderSetupContext';
2
+ import type { DeploymentProviderSetupInspection } from './DeploymentProviderSetupInspection';
3
+ export interface DeploymentProviderSetupAdapter {
4
+ readonly provider: string;
5
+ inspectSetup(context: DeploymentProviderSetupContext): Promise<DeploymentProviderSetupInspection>;
6
+ }
7
+ //# sourceMappingURL=DeploymentProviderSetupAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupAdapter.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAE7F,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;CACnG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProviderSetupAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupAdapter.js","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupAdapter.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentProviderSetupContext } from './DeploymentProviderSetupContext';\nimport type { DeploymentProviderSetupInspection } from './DeploymentProviderSetupInspection';\n\nexport interface DeploymentProviderSetupAdapter {\n readonly provider: string;\n inspectSetup(context: DeploymentProviderSetupContext): Promise<DeploymentProviderSetupInspection>;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';
2
+ import type { DeploymentCredentialReference } from './DeploymentCredentialReference';
3
+ import type { DeploymentSecretResolver } from './DeploymentSecretResolver';
4
+ export interface DeploymentProviderSetupContext {
5
+ readonly target?: AppDeployTargetId;
6
+ readonly credentials: readonly DeploymentCredentialReference[];
7
+ readonly resolveSecret: DeploymentSecretResolver;
8
+ }
9
+ //# sourceMappingURL=DeploymentProviderSetupContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupContext.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;CAClD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProviderSetupContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupContext.js","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupContext.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentCredentialReference } from './DeploymentCredentialReference';\nimport type { DeploymentSecretResolver } from './DeploymentSecretResolver';\n\nexport interface DeploymentProviderSetupContext {\n readonly target?: AppDeployTargetId;\n readonly credentials: readonly DeploymentCredentialReference[];\n readonly resolveSecret: DeploymentSecretResolver;\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import type { DeploymentAuthenticationState } from './DeploymentAuthenticationState';
2
+ import type { DeploymentProviderCapabilityState } from './DeploymentProviderCapabilityState';
3
+ import type { DeploymentProvisioningRequirement } from './DeploymentProvisioningRequirement';
4
+ export interface DeploymentProviderSetupInspection {
5
+ readonly provider: string;
6
+ readonly authentication: DeploymentAuthenticationState;
7
+ readonly capabilities: readonly DeploymentProviderCapabilityState[];
8
+ readonly provisioning: readonly DeploymentProvisioningRequirement[];
9
+ }
10
+ //# sourceMappingURL=DeploymentProviderSetupInspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupInspection.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupInspection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAE7F,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,6BAA6B,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,SAAS,iCAAiC,EAAE,CAAC;IACpE,QAAQ,CAAC,YAAY,EAAE,SAAS,iCAAiC,EAAE,CAAC;CACrE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProviderSetupInspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupInspection.js","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupInspection.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentAuthenticationState } from './DeploymentAuthenticationState';\nimport type { DeploymentProviderCapabilityState } from './DeploymentProviderCapabilityState';\nimport type { DeploymentProvisioningRequirement } from './DeploymentProvisioningRequirement';\n\nexport interface DeploymentProviderSetupInspection {\n readonly provider: string;\n readonly authentication: DeploymentAuthenticationState;\n readonly capabilities: readonly DeploymentProviderCapabilityState[];\n readonly provisioning: readonly DeploymentProvisioningRequirement[];\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import type { DeploymentFailure } from './DeploymentFailure';
2
+ import type { DeploymentProviderSetupInspection } from './DeploymentProviderSetupInspection';
3
+ export type DeploymentProviderSetupInspectionResult = {
4
+ readonly ok: true;
5
+ readonly inspection: DeploymentProviderSetupInspection;
6
+ } | {
7
+ readonly ok: false;
8
+ readonly failure: DeploymentFailure;
9
+ };
10
+ //# sourceMappingURL=DeploymentProviderSetupInspectionResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupInspectionResult.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupInspectionResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AAE7F,MAAM,MAAM,uCAAuC,GAC/C;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,iCAAiC,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProviderSetupInspectionResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProviderSetupInspectionResult.js","sourceRoot":"","sources":["../../src/domain/DeploymentProviderSetupInspectionResult.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentFailure } from './DeploymentFailure';\nimport type { DeploymentProviderSetupInspection } from './DeploymentProviderSetupInspection';\n\nexport type DeploymentProviderSetupInspectionResult =\n | { readonly ok: true; readonly inspection: DeploymentProviderSetupInspection }\n | { readonly ok: false; readonly failure: DeploymentFailure };\n"]}
@@ -0,0 +1,18 @@
1
+ import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';
2
+ import type { DeploymentAuthenticationRequiredAction, DeploymentManualAction } from './DeploymentRequiredAction';
3
+ export interface DeploymentAutomatedProvisioningRequirement {
4
+ readonly type: 'automated';
5
+ readonly id: string;
6
+ readonly provider: string;
7
+ readonly target?: AppDeployTargetId;
8
+ readonly code: string;
9
+ readonly message: string;
10
+ }
11
+ export type DeploymentProvisioningRequirement = DeploymentAutomatedProvisioningRequirement | {
12
+ readonly type: 'authentication';
13
+ readonly action: DeploymentAuthenticationRequiredAction;
14
+ } | {
15
+ readonly type: 'manual-action';
16
+ readonly action: DeploymentManualAction;
17
+ };
18
+ //# sourceMappingURL=DeploymentProvisioningRequirement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProvisioningRequirement.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentProvisioningRequirement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EACV,sCAAsC,EACtC,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,iCAAiC,GACzC,0CAA0C,GAC1C;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,sCAAsC,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentProvisioningRequirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentProvisioningRequirement.js","sourceRoot":"","sources":["../../src/domain/DeploymentProvisioningRequirement.ts"],"names":[],"mappings":"","sourcesContent":["import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';\n\nimport type {\n DeploymentAuthenticationRequiredAction,\n DeploymentManualAction,\n} from './DeploymentRequiredAction';\n\nexport interface DeploymentAutomatedProvisioningRequirement {\n readonly type: 'automated';\n readonly id: string;\n readonly provider: string;\n readonly target?: AppDeployTargetId;\n readonly code: string;\n readonly message: string;\n}\n\nexport type DeploymentProvisioningRequirement =\n | DeploymentAutomatedProvisioningRequirement\n | { readonly type: 'authentication'; readonly action: DeploymentAuthenticationRequiredAction }\n | { readonly type: 'manual-action'; readonly action: DeploymentManualAction };\n"]}
@@ -0,0 +1,4 @@
1
+ import type { DeploymentCredentialReference } from './DeploymentCredentialReference';
2
+ export type DeploymentSecretMaterial = string;
3
+ export type DeploymentSecretResolver = (reference: DeploymentCredentialReference) => Promise<DeploymentSecretMaterial | null>;
4
+ //# sourceMappingURL=DeploymentSecretResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentSecretResolver.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentSecretResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAErF,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,6BAA6B,KACrC,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeploymentSecretResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeploymentSecretResolver.js","sourceRoot":"","sources":["../../src/domain/DeploymentSecretResolver.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentCredentialReference } from './DeploymentCredentialReference';\n\nexport type DeploymentSecretMaterial = string;\n\nexport type DeploymentSecretResolver = (\n reference: DeploymentCredentialReference,\n) => Promise<DeploymentSecretMaterial | null>;\n"]}
@@ -2,7 +2,7 @@ import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';
2
2
  import type { DeploymentObservedTarget } from './DeploymentCurrentState';
3
3
  export declare const DEPLOYMENT_CHANGE_KINDS: readonly ["create", "update", "remove", "none"];
4
4
  export type DeploymentChangeKind = (typeof DEPLOYMENT_CHANGE_KINDS)[number];
5
- export declare const DEPLOYMENT_CHANGE_REASONS: readonly ["already-absent", "target-missing", "target-not-desired", "configuration-changed", "already-current"];
5
+ export declare const DEPLOYMENT_CHANGE_REASONS: readonly ["already-absent", "target-missing", "target-not-desired", "configuration-changed", "revision-changed", "already-current"];
6
6
  export type DeploymentChangeReason = (typeof DEPLOYMENT_CHANGE_REASONS)[number];
7
7
  export interface DeploymentTargetChange {
8
8
  readonly target: AppDeployTargetId;
@@ -1 +1 @@
1
- {"version":3,"file":"DeploymentTargetChange.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentTargetChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,eAAO,MAAM,uBAAuB,iDAAkD,CAAC;AACvF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,yBAAyB,iHAM5B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC"}
1
+ {"version":3,"file":"DeploymentTargetChange.d.ts","sourceRoot":"","sources":["../../src/domain/DeploymentTargetChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,eAAO,MAAM,uBAAuB,iDAAkD,CAAC;AACvF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,eAAO,MAAM,yBAAyB,qIAO5B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;CACzC"}
@@ -4,6 +4,7 @@ export const DEPLOYMENT_CHANGE_REASONS = [
4
4
  'target-missing',
5
5
  'target-not-desired',
6
6
  'configuration-changed',
7
+ 'revision-changed',
7
8
  'already-current',
8
9
  ];
9
10
  //# sourceMappingURL=DeploymentTargetChange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeploymentTargetChange.js","sourceRoot":"","sources":["../../src/domain/DeploymentTargetChange.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAGvF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,iBAAiB;CACT,CAAC","sourcesContent":["import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentObservedTarget } from './DeploymentCurrentState';\n\nexport const DEPLOYMENT_CHANGE_KINDS = ['create', 'update', 'remove', 'none'] as const;\nexport type DeploymentChangeKind = (typeof DEPLOYMENT_CHANGE_KINDS)[number];\n\nexport const DEPLOYMENT_CHANGE_REASONS = [\n 'already-absent',\n 'target-missing',\n 'target-not-desired',\n 'configuration-changed',\n 'already-current',\n] as const;\nexport type DeploymentChangeReason = (typeof DEPLOYMENT_CHANGE_REASONS)[number];\n\nexport interface DeploymentTargetChange {\n readonly target: AppDeployTargetId;\n readonly kind: DeploymentChangeKind;\n readonly desired: DeploymentObservedTarget | null;\n readonly current: DeploymentObservedTarget | null;\n readonly reason: DeploymentChangeReason;\n}\n"]}
1
+ {"version":3,"file":"DeploymentTargetChange.js","sourceRoot":"","sources":["../../src/domain/DeploymentTargetChange.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAGvF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,kBAAkB;IAClB,iBAAiB;CACT,CAAC","sourcesContent":["import type { AppDeployTargetId } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentObservedTarget } from './DeploymentCurrentState';\n\nexport const DEPLOYMENT_CHANGE_KINDS = ['create', 'update', 'remove', 'none'] as const;\nexport type DeploymentChangeKind = (typeof DEPLOYMENT_CHANGE_KINDS)[number];\n\nexport const DEPLOYMENT_CHANGE_REASONS = [\n 'already-absent',\n 'target-missing',\n 'target-not-desired',\n 'configuration-changed',\n 'revision-changed',\n 'already-current',\n] as const;\nexport type DeploymentChangeReason = (typeof DEPLOYMENT_CHANGE_REASONS)[number];\n\nexport interface DeploymentTargetChange {\n readonly target: AppDeployTargetId;\n readonly kind: DeploymentChangeKind;\n readonly desired: DeploymentObservedTarget | null;\n readonly current: DeploymentObservedTarget | null;\n readonly reason: DeploymentChangeReason;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export interface WebDeploymentPublication {
2
+ readonly target: 'web';
3
+ readonly revision: string;
4
+ readonly provider: string;
5
+ readonly deploymentId: string;
6
+ readonly url: string;
7
+ readonly production: boolean;
8
+ }
9
+ //# sourceMappingURL=WebDeploymentPublication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebDeploymentPublication.d.ts","sourceRoot":"","sources":["../../src/domain/WebDeploymentPublication.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WebDeploymentPublication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebDeploymentPublication.js","sourceRoot":"","sources":["../../src/domain/WebDeploymentPublication.ts"],"names":[],"mappings":"","sourcesContent":["export interface WebDeploymentPublication {\n readonly target: 'web';\n readonly revision: string;\n readonly provider: string;\n readonly deploymentId: string;\n readonly url: string;\n readonly production: boolean;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ export interface WebDeploymentPublishIntent {
2
+ readonly mode: 'preview' | 'production';
3
+ readonly alias?: string;
4
+ readonly environment?: string;
5
+ }
6
+ //# sourceMappingURL=WebDeploymentPublishIntent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebDeploymentPublishIntent.d.ts","sourceRoot":"","sources":["../../src/domain/WebDeploymentPublishIntent.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WebDeploymentPublishIntent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebDeploymentPublishIntent.js","sourceRoot":"","sources":["../../src/domain/WebDeploymentPublishIntent.ts"],"names":[],"mappings":"","sourcesContent":["export interface WebDeploymentPublishIntent {\n readonly mode: 'preview' | 'production';\n readonly alias?: string;\n readonly environment?: string;\n}\n"]}
@@ -1,9 +1,11 @@
1
1
  import { type AppDeployManifest } from '@ankhorage/contracts/deploy';
2
2
  import type { DeploymentCurrentState } from '../domain/DeploymentCurrentState';
3
+ import type { DeploymentDesiredRevisions } from '../domain/DeploymentDesiredRevisions';
3
4
  import type { DeploymentTargetChange } from '../domain/DeploymentTargetChange';
4
5
  export interface CreateDeploymentChangesInput {
5
6
  readonly desired: AppDeployManifest;
6
7
  readonly current: DeploymentCurrentState;
8
+ readonly desiredRevisions?: DeploymentDesiredRevisions;
7
9
  }
8
10
  export declare function createDeploymentChanges(input: CreateDeploymentChangesInput): readonly DeploymentTargetChange[];
9
11
  //# sourceMappingURL=createDeploymentChanges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDeploymentChanges.d.ts","sourceRoot":"","sources":["../../src/engine/createDeploymentChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAE5F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG/E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;CAC1C;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,4BAA4B,GAClC,SAAS,sBAAsB,EAAE,CAMnC"}
1
+ {"version":3,"file":"createDeploymentChanges.d.ts","sourceRoot":"","sources":["../../src/engine/createDeploymentChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG/E,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;CACxD;AAED,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,4BAA4B,GAClC,SAAS,sBAAsB,EAAE,CAUnC"}
@@ -1,12 +1,22 @@
1
- import { APP_DEPLOY_TARGET_IDS } from '@ankhorage/contracts/deploy';
2
- import { areTargetSnapshotsEqual, getCurrentTarget, getDesiredTarget } from './targetSnapshot';
1
+ import { APP_DEPLOY_TARGET_IDS, } from '@ankhorage/contracts/deploy';
2
+ import { areTargetConfigurationsEqual, getCurrentTarget, getDesiredTarget } from './targetSnapshot';
3
3
  export function createDeploymentChanges(input) {
4
4
  return APP_DEPLOY_TARGET_IDS.map((target) => {
5
- const desired = getDesiredTarget(input.desired, target);
5
+ const desired = getDesiredTarget(input.desired, target, getDesiredRevision(input.desiredRevisions, target));
6
6
  const current = getCurrentTarget(input.current, target);
7
7
  return createTargetChange(target, desired, current);
8
8
  });
9
9
  }
10
+ function getDesiredRevision(revisions, target) {
11
+ switch (target) {
12
+ case 'web':
13
+ return revisions?.web;
14
+ case 'android':
15
+ return revisions?.android;
16
+ case 'ios':
17
+ return revisions?.ios;
18
+ }
19
+ }
10
20
  function createTargetChange(target, desired, current) {
11
21
  if (desired === null && current === null) {
12
22
  return { target, kind: 'none', desired, current, reason: 'already-absent' };
@@ -17,9 +27,14 @@ function createTargetChange(target, desired, current) {
17
27
  if (desired === null && current !== null) {
18
28
  return { target, kind: 'remove', desired, current, reason: 'target-not-desired' };
19
29
  }
20
- const equal = desired !== null && current !== null && areTargetSnapshotsEqual(desired, current);
21
- return equal
22
- ? { target, kind: 'none', desired, current, reason: 'already-current' }
23
- : { target, kind: 'update', desired, current, reason: 'configuration-changed' };
30
+ if (desired === null || current === null)
31
+ throw new Error('Unreachable target change state.');
32
+ if (!areTargetConfigurationsEqual(desired, current)) {
33
+ return { target, kind: 'update', desired, current, reason: 'configuration-changed' };
34
+ }
35
+ if (desired.revision !== undefined && desired.revision !== current.revision) {
36
+ return { target, kind: 'update', desired, current, reason: 'revision-changed' };
37
+ }
38
+ return { target, kind: 'none', desired, current, reason: 'already-current' };
24
39
  }
25
40
  //# sourceMappingURL=createDeploymentChanges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createDeploymentChanges.js","sourceRoot":"","sources":["../../src/engine/createDeploymentChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAA0B,MAAM,6BAA6B,CAAC;AAI5F,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAO/F,MAAM,UAAU,uBAAuB,CACrC,KAAmC;IAEnC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAwC,EACxC,OAA0C,EAC1C,OAA0C;IAE1C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACpF,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,uBAAuB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChG,OAAO,KAAK;QACV,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE;QACvE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;AACpF,CAAC","sourcesContent":["import { APP_DEPLOY_TARGET_IDS, type AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentCurrentState } from '../domain/DeploymentCurrentState';\nimport type { DeploymentTargetChange } from '../domain/DeploymentTargetChange';\nimport { areTargetSnapshotsEqual, getCurrentTarget, getDesiredTarget } from './targetSnapshot';\n\nexport interface CreateDeploymentChangesInput {\n readonly desired: AppDeployManifest;\n readonly current: DeploymentCurrentState;\n}\n\nexport function createDeploymentChanges(\n input: CreateDeploymentChangesInput,\n): readonly DeploymentTargetChange[] {\n return APP_DEPLOY_TARGET_IDS.map((target) => {\n const desired = getDesiredTarget(input.desired, target);\n const current = getCurrentTarget(input.current, target);\n return createTargetChange(target, desired, current);\n });\n}\n\nfunction createTargetChange(\n target: DeploymentTargetChange['target'],\n desired: DeploymentTargetChange['desired'],\n current: DeploymentTargetChange['current'],\n): DeploymentTargetChange {\n if (desired === null && current === null) {\n return { target, kind: 'none', desired, current, reason: 'already-absent' };\n }\n if (desired !== null && current === null) {\n return { target, kind: 'create', desired, current, reason: 'target-missing' };\n }\n if (desired === null && current !== null) {\n return { target, kind: 'remove', desired, current, reason: 'target-not-desired' };\n }\n const equal = desired !== null && current !== null && areTargetSnapshotsEqual(desired, current);\n return equal\n ? { target, kind: 'none', desired, current, reason: 'already-current' }\n : { target, kind: 'update', desired, current, reason: 'configuration-changed' };\n}\n"]}
1
+ {"version":3,"file":"createDeploymentChanges.js","sourceRoot":"","sources":["../../src/engine/createDeploymentChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAQpG,MAAM,UAAU,uBAAuB,CACrC,KAAmC;IAEnC,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,OAAO,GAAG,gBAAgB,CAC9B,KAAK,CAAC,OAAO,EACb,MAAM,EACN,kBAAkB,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,CACnD,CAAC;QACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAiD,EACjD,MAAyB;IAEzB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YACR,OAAO,SAAS,EAAE,GAAG,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,SAAS,EAAE,OAAO,CAAC;QAC5B,KAAK,KAAK;YACR,OAAO,SAAS,EAAE,GAAG,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAwC,EACxC,OAA0C,EAC1C,OAA0C;IAE1C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IACpF,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9F,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5E,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAClF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AAC/E,CAAC","sourcesContent":["import {\n APP_DEPLOY_TARGET_IDS,\n type AppDeployManifest,\n type AppDeployTargetId,\n} from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentCurrentState } from '../domain/DeploymentCurrentState';\nimport type { DeploymentDesiredRevisions } from '../domain/DeploymentDesiredRevisions';\nimport type { DeploymentTargetChange } from '../domain/DeploymentTargetChange';\nimport { areTargetConfigurationsEqual, getCurrentTarget, getDesiredTarget } from './targetSnapshot';\n\nexport interface CreateDeploymentChangesInput {\n readonly desired: AppDeployManifest;\n readonly current: DeploymentCurrentState;\n readonly desiredRevisions?: DeploymentDesiredRevisions;\n}\n\nexport function createDeploymentChanges(\n input: CreateDeploymentChangesInput,\n): readonly DeploymentTargetChange[] {\n return APP_DEPLOY_TARGET_IDS.map((target) => {\n const desired = getDesiredTarget(\n input.desired,\n target,\n getDesiredRevision(input.desiredRevisions, target),\n );\n const current = getCurrentTarget(input.current, target);\n return createTargetChange(target, desired, current);\n });\n}\n\nfunction getDesiredRevision(\n revisions: DeploymentDesiredRevisions | undefined,\n target: AppDeployTargetId,\n): string | undefined {\n switch (target) {\n case 'web':\n return revisions?.web;\n case 'android':\n return revisions?.android;\n case 'ios':\n return revisions?.ios;\n }\n}\n\nfunction createTargetChange(\n target: DeploymentTargetChange['target'],\n desired: DeploymentTargetChange['desired'],\n current: DeploymentTargetChange['current'],\n): DeploymentTargetChange {\n if (desired === null && current === null) {\n return { target, kind: 'none', desired, current, reason: 'already-absent' };\n }\n if (desired !== null && current === null) {\n return { target, kind: 'create', desired, current, reason: 'target-missing' };\n }\n if (desired === null && current !== null) {\n return { target, kind: 'remove', desired, current, reason: 'target-not-desired' };\n }\n if (desired === null || current === null) throw new Error('Unreachable target change state.');\n if (!areTargetConfigurationsEqual(desired, current)) {\n return { target, kind: 'update', desired, current, reason: 'configuration-changed' };\n }\n if (desired.revision !== undefined && desired.revision !== current.revision) {\n return { target, kind: 'update', desired, current, reason: 'revision-changed' };\n }\n return { target, kind: 'none', desired, current, reason: 'already-current' };\n}\n"]}
@@ -1,10 +1,12 @@
1
1
  import type { AppDeployManifest } from '@ankhorage/contracts/deploy';
2
2
  import type { DeploymentCurrentState } from '../domain/DeploymentCurrentState';
3
+ import type { DeploymentDesiredRevisions } from '../domain/DeploymentDesiredRevisions';
3
4
  import type { DeploymentPlan } from '../domain/DeploymentPlan';
4
5
  import type { DeploymentTargetPlanContributors } from '../domain/DeploymentTargetPlanContributor';
5
6
  export interface CreateDeploymentPlanInput {
6
7
  readonly desired: AppDeployManifest;
7
8
  readonly current: DeploymentCurrentState;
9
+ readonly desiredRevisions?: DeploymentDesiredRevisions;
8
10
  readonly contributors: DeploymentTargetPlanContributors;
9
11
  }
10
12
  export declare function createDeploymentPlan(input: CreateDeploymentPlanInput): DeploymentPlan;
@@ -1 +1 @@
1
- {"version":3,"file":"createDeploymentPlan.d.ts","sourceRoot":"","sources":["../../src/engine/createDeploymentPlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAIlG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;CACzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,cAAc,CA4BrF"}
1
+ {"version":3,"file":"createDeploymentPlan.d.ts","sourceRoot":"","sources":["../../src/engine/createDeploymentPlan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAIlG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,gCAAgC,CAAC;CACzD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,cAAc,CA4BrF"}
@@ -1 +1 @@
1
- {"version":3,"file":"createDeploymentPlan.js","sourceRoot":"","sources":["../../src/engine/createDeploymentPlan.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAA8B,MAAM,oBAAoB,CAAC;AAQ1F,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,OAAO,GAA0B;QACrC,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAI,GAAG,EAAU;QAC1B,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACrC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,4BAA4B;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;KAC7C,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentCurrentState } from '../domain/DeploymentCurrentState';\nimport type { DeploymentPlan } from '../domain/DeploymentPlan';\nimport type { DeploymentTargetPlanContributors } from '../domain/DeploymentTargetPlanContributor';\nimport { createDeploymentChanges } from './createDeploymentChanges';\nimport { appendTargetContribution, type MutableDeploymentPlan } from './planContribution';\n\nexport interface CreateDeploymentPlanInput {\n readonly desired: AppDeployManifest;\n readonly current: DeploymentCurrentState;\n readonly contributors: DeploymentTargetPlanContributors;\n}\n\nexport function createDeploymentPlan(input: CreateDeploymentPlanInput): DeploymentPlan {\n const changes = createDeploymentChanges(input);\n const mutable: MutableDeploymentPlan = {\n diagnostics: [],\n stepIds: new Set<string>(),\n steps: [],\n };\n\n for (const change of changes) {\n if (change.kind === 'none') continue;\n const contributor = input.contributors[change.target];\n if (contributor === undefined) {\n mutable.diagnostics.push({\n code: 'TARGET_PLANNER_UNAVAILABLE',\n target: change.target,\n message: 'No target planner is registered for an actionable deployment change.',\n });\n continue;\n }\n appendTargetContribution(change, contributor, mutable);\n }\n\n return {\n changes,\n steps: mutable.steps,\n diagnostics: mutable.diagnostics,\n executable: mutable.diagnostics.length === 0,\n };\n}\n"]}
1
+ {"version":3,"file":"createDeploymentPlan.js","sourceRoot":"","sources":["../../src/engine/createDeploymentPlan.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAA8B,MAAM,oBAAoB,CAAC;AAS1F,MAAM,UAAU,oBAAoB,CAAC,KAAgC;IACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,OAAO,GAA0B;QACrC,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAI,GAAG,EAAU;QAC1B,KAAK,EAAE,EAAE;KACV,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACrC,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,4BAA4B;gBAClC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,sEAAsE;aAChF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,wBAAwB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;KAC7C,CAAC;AACJ,CAAC","sourcesContent":["import type { AppDeployManifest } from '@ankhorage/contracts/deploy';\n\nimport type { DeploymentCurrentState } from '../domain/DeploymentCurrentState';\nimport type { DeploymentDesiredRevisions } from '../domain/DeploymentDesiredRevisions';\nimport type { DeploymentPlan } from '../domain/DeploymentPlan';\nimport type { DeploymentTargetPlanContributors } from '../domain/DeploymentTargetPlanContributor';\nimport { createDeploymentChanges } from './createDeploymentChanges';\nimport { appendTargetContribution, type MutableDeploymentPlan } from './planContribution';\n\nexport interface CreateDeploymentPlanInput {\n readonly desired: AppDeployManifest;\n readonly current: DeploymentCurrentState;\n readonly desiredRevisions?: DeploymentDesiredRevisions;\n readonly contributors: DeploymentTargetPlanContributors;\n}\n\nexport function createDeploymentPlan(input: CreateDeploymentPlanInput): DeploymentPlan {\n const changes = createDeploymentChanges(input);\n const mutable: MutableDeploymentPlan = {\n diagnostics: [],\n stepIds: new Set<string>(),\n steps: [],\n };\n\n for (const change of changes) {\n if (change.kind === 'none') continue;\n const contributor = input.contributors[change.target];\n if (contributor === undefined) {\n mutable.diagnostics.push({\n code: 'TARGET_PLANNER_UNAVAILABLE',\n target: change.target,\n message: 'No target planner is registered for an actionable deployment change.',\n });\n continue;\n }\n appendTargetContribution(change, contributor, mutable);\n }\n\n return {\n changes,\n steps: mutable.steps,\n diagnostics: mutable.diagnostics,\n executable: mutable.diagnostics.length === 0,\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import type { DeploymentProviderSetupAdapter } from '../domain/DeploymentProviderSetupAdapter';
2
+ import type { DeploymentProviderSetupContext } from '../domain/DeploymentProviderSetupContext';
3
+ import type { DeploymentProviderSetupInspectionResult } from '../domain/DeploymentProviderSetupInspectionResult';
4
+ export declare function inspectDeploymentProviderSetup(options: {
5
+ readonly adapter: DeploymentProviderSetupAdapter;
6
+ readonly context: DeploymentProviderSetupContext;
7
+ }): Promise<DeploymentProviderSetupInspectionResult>;
8
+ //# sourceMappingURL=inspectDeploymentProviderSetup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspectDeploymentProviderSetup.d.ts","sourceRoot":"","sources":["../../src/engine/inspectDeploymentProviderSetup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,mDAAmD,CAAC;AAKjH,wBAAsB,8BAA8B,CAAC,OAAO,EAAE;IAC5D,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;CAClD,GAAG,OAAO,CAAC,uCAAuC,CAAC,CA8BnD"}
@@ -0,0 +1,21 @@
1
+ import { createProviderSetupFailure } from './providerSetup/createProviderSetupFailure';
2
+ import { normalizeProviderSetupInspection } from './providerSetup/normalizeProviderSetupInspection';
3
+ import { prepareProviderSetupInspection } from './providerSetup/prepareProviderSetupInspection';
4
+ export async function inspectDeploymentProviderSetup(options) {
5
+ const prepared = prepareProviderSetupInspection(options.adapter, options.context);
6
+ if (!prepared.ok)
7
+ return prepared.result;
8
+ let rawInspection;
9
+ try {
10
+ rawInspection = await options.adapter.inspectSetup(prepared.context);
11
+ }
12
+ catch {
13
+ return createProviderSetupFailure('PROVIDER_SETUP_INSPECTION_FAILED', 'Provider setup inspection failed.', prepared.provider, prepared.target);
14
+ }
15
+ const normalized = normalizeProviderSetupInspection(rawInspection, prepared.provider, prepared.secrets);
16
+ if (normalized.ok)
17
+ return { ok: true, inspection: normalized.inspection };
18
+ const code = normalized.unsafe ? 'PROVIDER_SETUP_UNSAFE_RESULT' : 'PROVIDER_SETUP_INVALID_RESULT';
19
+ return createProviderSetupFailure(code, 'Provider setup inspection returned an invalid safe result.', prepared.provider, prepared.target);
20
+ }
21
+ //# sourceMappingURL=inspectDeploymentProviderSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspectDeploymentProviderSetup.js","sourceRoot":"","sources":["../../src/engine/inspectDeploymentProviderSetup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAEhG,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,OAGpD;IACC,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAClF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;IAEzC,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,0BAA0B,CAC/B,kCAAkC,EAClC,mCAAmC,EACnC,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,MAAM,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,gCAAgC,CACjD,aAAa,EACb,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,OAAO,CACjB,CAAC;IACF,IAAI,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC;IAE1E,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,+BAA+B,CAAC;IAClG,OAAO,0BAA0B,CAC/B,IAAI,EACJ,4DAA4D,EAC5D,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,MAAM,CAChB,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentProviderSetupAdapter } from '../domain/DeploymentProviderSetupAdapter';\nimport type { DeploymentProviderSetupContext } from '../domain/DeploymentProviderSetupContext';\nimport type { DeploymentProviderSetupInspectionResult } from '../domain/DeploymentProviderSetupInspectionResult';\nimport { createProviderSetupFailure } from './providerSetup/createProviderSetupFailure';\nimport { normalizeProviderSetupInspection } from './providerSetup/normalizeProviderSetupInspection';\nimport { prepareProviderSetupInspection } from './providerSetup/prepareProviderSetupInspection';\n\nexport async function inspectDeploymentProviderSetup(options: {\n readonly adapter: DeploymentProviderSetupAdapter;\n readonly context: DeploymentProviderSetupContext;\n}): Promise<DeploymentProviderSetupInspectionResult> {\n const prepared = prepareProviderSetupInspection(options.adapter, options.context);\n if (!prepared.ok) return prepared.result;\n\n let rawInspection: unknown;\n try {\n rawInspection = await options.adapter.inspectSetup(prepared.context);\n } catch {\n return createProviderSetupFailure(\n 'PROVIDER_SETUP_INSPECTION_FAILED',\n 'Provider setup inspection failed.',\n prepared.provider,\n prepared.target,\n );\n }\n\n const normalized = normalizeProviderSetupInspection(\n rawInspection,\n prepared.provider,\n prepared.secrets,\n );\n if (normalized.ok) return { ok: true, inspection: normalized.inspection };\n\n const code = normalized.unsafe ? 'PROVIDER_SETUP_UNSAFE_RESULT' : 'PROVIDER_SETUP_INVALID_RESULT';\n return createProviderSetupFailure(\n code,\n 'Provider setup inspection returned an invalid safe result.',\n prepared.provider,\n prepared.target,\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function containsTrackedSecret(value: unknown, secrets: ReadonlySet<string>): boolean;
2
+ //# sourceMappingURL=containsTrackedSecret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containsTrackedSecret.d.ts","sourceRoot":"","sources":["../../../src/engine/providerSetup/containsTrackedSecret.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAO3F"}
@@ -0,0 +1,12 @@
1
+ import { isRecord } from './isRecord';
2
+ export function containsTrackedSecret(value, secrets) {
3
+ if (typeof value === 'string') {
4
+ return [...secrets].some((secret) => secret.length > 0 && value.includes(secret));
5
+ }
6
+ if (Array.isArray(value))
7
+ return value.some((item) => containsTrackedSecret(item, secrets));
8
+ if (!isRecord(value))
9
+ return false;
10
+ return Object.values(value).some((item) => containsTrackedSecret(item, secrets));
11
+ }
12
+ //# sourceMappingURL=containsTrackedSecret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containsTrackedSecret.js","sourceRoot":"","sources":["../../../src/engine/providerSetup/containsTrackedSecret.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,OAA4B;IAChF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACnF,CAAC","sourcesContent":["import { isRecord } from './isRecord';\n\nexport function containsTrackedSecret(value: unknown, secrets: ReadonlySet<string>): boolean {\n if (typeof value === 'string') {\n return [...secrets].some((secret) => secret.length > 0 && value.includes(secret));\n }\n if (Array.isArray(value)) return value.some((item) => containsTrackedSecret(item, secrets));\n if (!isRecord(value)) return false;\n return Object.values(value).some((item) => containsTrackedSecret(item, secrets));\n}\n"]}