@ankhorage/deploy 0.9.0 → 0.11.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 (139) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/cli/DeployCliEnvironment.d.ts +27 -0
  4. package/dist/cli/DeployCliEnvironment.d.ts.map +1 -0
  5. package/dist/cli/DeployCliEnvironment.js +27 -0
  6. package/dist/cli/DeployCliEnvironment.js.map +1 -0
  7. package/dist/cli/DeployCliExecutionOutcome.d.ts +7 -0
  8. package/dist/cli/DeployCliExecutionOutcome.d.ts.map +1 -0
  9. package/dist/cli/DeployCliExecutionOutcome.js +2 -0
  10. package/dist/cli/DeployCliExecutionOutcome.js.map +1 -0
  11. package/dist/cli/DeployCliExitCode.d.ts +4 -0
  12. package/dist/cli/DeployCliExitCode.d.ts.map +1 -0
  13. package/dist/cli/DeployCliExitCode.js +2 -0
  14. package/dist/cli/DeployCliExitCode.js.map +1 -0
  15. package/dist/cli/DeployCliExitCodes.d.ts +19 -0
  16. package/dist/cli/DeployCliExitCodes.d.ts.map +1 -0
  17. package/dist/cli/DeployCliExitCodes.js +19 -0
  18. package/dist/cli/DeployCliExitCodes.js.map +1 -0
  19. package/dist/cli/DeployCliInput.d.ts +6 -0
  20. package/dist/cli/DeployCliInput.d.ts.map +1 -0
  21. package/dist/cli/DeployCliInput.js +2 -0
  22. package/dist/cli/DeployCliInput.js.map +1 -0
  23. package/dist/cli/DeployCliInspectionResult.d.ts +12 -0
  24. package/dist/cli/DeployCliInspectionResult.d.ts.map +1 -0
  25. package/dist/cli/DeployCliInspectionResult.js +2 -0
  26. package/dist/cli/DeployCliInspectionResult.js.map +1 -0
  27. package/dist/cli/DeployCliJsonEnvelope.d.ts +34 -0
  28. package/dist/cli/DeployCliJsonEnvelope.d.ts.map +1 -0
  29. package/dist/cli/DeployCliJsonEnvelope.js +2 -0
  30. package/dist/cli/DeployCliJsonEnvelope.js.map +1 -0
  31. package/dist/cli/DeployCliOptions.d.ts +14 -0
  32. package/dist/cli/DeployCliOptions.d.ts.map +1 -0
  33. package/dist/cli/DeployCliOptions.js +2 -0
  34. package/dist/cli/DeployCliOptions.js.map +1 -0
  35. package/dist/cli/DeployCliPlanOutcome.d.ts +6 -0
  36. package/dist/cli/DeployCliPlanOutcome.d.ts.map +1 -0
  37. package/dist/cli/DeployCliPlanOutcome.js +2 -0
  38. package/dist/cli/DeployCliPlanOutcome.js.map +1 -0
  39. package/dist/cli/DeployCliRuntime.d.ts +9 -0
  40. package/dist/cli/DeployCliRuntime.d.ts.map +1 -0
  41. package/dist/cli/DeployCliRuntime.js +2 -0
  42. package/dist/cli/DeployCliRuntime.js.map +1 -0
  43. package/dist/cli/createDeployCliAccess.d.ts +4 -0
  44. package/dist/cli/createDeployCliAccess.d.ts.map +1 -0
  45. package/dist/cli/createDeployCliAccess.js +65 -0
  46. package/dist/cli/createDeployCliAccess.js.map +1 -0
  47. package/dist/cli/createDeployCliConfirmationEnvelope.d.ts +5 -0
  48. package/dist/cli/createDeployCliConfirmationEnvelope.d.ts.map +1 -0
  49. package/dist/cli/createDeployCliConfirmationEnvelope.js +21 -0
  50. package/dist/cli/createDeployCliConfirmationEnvelope.js.map +1 -0
  51. package/dist/cli/createDeployCliExecutionEnvelope.d.ts +5 -0
  52. package/dist/cli/createDeployCliExecutionEnvelope.d.ts.map +1 -0
  53. package/dist/cli/createDeployCliExecutionEnvelope.js +35 -0
  54. package/dist/cli/createDeployCliExecutionEnvelope.js.map +1 -0
  55. package/dist/cli/createDeployCliFailureEnvelope.d.ts +4 -0
  56. package/dist/cli/createDeployCliFailureEnvelope.d.ts.map +1 -0
  57. package/dist/cli/createDeployCliFailureEnvelope.js +13 -0
  58. package/dist/cli/createDeployCliFailureEnvelope.js.map +1 -0
  59. package/dist/cli/createDeployCliPlanEnvelope.d.ts +6 -0
  60. package/dist/cli/createDeployCliPlanEnvelope.d.ts.map +1 -0
  61. package/dist/cli/createDeployCliPlanEnvelope.js +20 -0
  62. package/dist/cli/createDeployCliPlanEnvelope.js.map +1 -0
  63. package/dist/cli/createDeployCliProvider.d.ts +4 -0
  64. package/dist/cli/createDeployCliProvider.d.ts.map +1 -0
  65. package/dist/cli/createDeployCliProvider.js +35 -0
  66. package/dist/cli/createDeployCliProvider.js.map +1 -0
  67. package/dist/cli/defaultDeployCliRuntime.d.ts +3 -0
  68. package/dist/cli/defaultDeployCliRuntime.d.ts.map +1 -0
  69. package/dist/cli/defaultDeployCliRuntime.js +11 -0
  70. package/dist/cli/defaultDeployCliRuntime.js.map +1 -0
  71. package/dist/cli/getDeployCliExecutionOutcome.d.ts +4 -0
  72. package/dist/cli/getDeployCliExecutionOutcome.d.ts.map +1 -0
  73. package/dist/cli/getDeployCliExecutionOutcome.js +19 -0
  74. package/dist/cli/getDeployCliExecutionOutcome.js.map +1 -0
  75. package/dist/cli/getDeployCliPlanOutcome.d.ts +5 -0
  76. package/dist/cli/getDeployCliPlanOutcome.d.ts.map +1 -0
  77. package/dist/cli/getDeployCliPlanOutcome.js +17 -0
  78. package/dist/cli/getDeployCliPlanOutcome.js.map +1 -0
  79. package/dist/cli/handleDeployCliCommand.d.ts +5 -0
  80. package/dist/cli/handleDeployCliCommand.d.ts.map +1 -0
  81. package/dist/cli/handleDeployCliCommand.js +101 -0
  82. package/dist/cli/handleDeployCliCommand.js.map +1 -0
  83. package/dist/cli/handleDeployCliPlan.d.ts +5 -0
  84. package/dist/cli/handleDeployCliPlan.d.ts.map +1 -0
  85. package/dist/cli/handleDeployCliPlan.js +24 -0
  86. package/dist/cli/handleDeployCliPlan.js.map +1 -0
  87. package/dist/cli/index.d.ts +7 -0
  88. package/dist/cli/index.d.ts.map +1 -0
  89. package/dist/cli/index.js +8 -0
  90. package/dist/cli/index.js.map +1 -0
  91. package/dist/cli/inspectDeployCliRelease.d.ts +5 -0
  92. package/dist/cli/inspectDeployCliRelease.d.ts.map +1 -0
  93. package/dist/cli/inspectDeployCliRelease.js +17 -0
  94. package/dist/cli/inspectDeployCliRelease.js.map +1 -0
  95. package/dist/cli/mapDeployCliPlan.d.ts +5 -0
  96. package/dist/cli/mapDeployCliPlan.d.ts.map +1 -0
  97. package/dist/cli/mapDeployCliPlan.js +30 -0
  98. package/dist/cli/mapDeployCliPlan.js.map +1 -0
  99. package/dist/cli/parseDeployCliOptions.d.ts +11 -0
  100. package/dist/cli/parseDeployCliOptions.d.ts.map +1 -0
  101. package/dist/cli/parseDeployCliOptions.js +93 -0
  102. package/dist/cli/parseDeployCliOptions.js.map +1 -0
  103. package/dist/cli/redactDeployCliActions.d.ts +3 -0
  104. package/dist/cli/redactDeployCliActions.d.ts.map +1 -0
  105. package/dist/cli/redactDeployCliActions.js +9 -0
  106. package/dist/cli/redactDeployCliActions.js.map +1 -0
  107. package/dist/cli/redactDeployCliFailure.d.ts +3 -0
  108. package/dist/cli/redactDeployCliFailure.d.ts.map +1 -0
  109. package/dist/cli/redactDeployCliFailure.js +5 -0
  110. package/dist/cli/redactDeployCliFailure.js.map +1 -0
  111. package/dist/cli/redactDeployCliPlan.d.ts +3 -0
  112. package/dist/cli/redactDeployCliPlan.d.ts.map +1 -0
  113. package/dist/cli/redactDeployCliPlan.js +11 -0
  114. package/dist/cli/redactDeployCliPlan.js.map +1 -0
  115. package/dist/cli/redactDeployCliText.d.ts +2 -0
  116. package/dist/cli/redactDeployCliText.d.ts.map +1 -0
  117. package/dist/cli/redactDeployCliText.js +61 -0
  118. package/dist/cli/redactDeployCliText.js.map +1 -0
  119. package/dist/cli/renderDeployCliExecution.d.ts +3 -0
  120. package/dist/cli/renderDeployCliExecution.d.ts.map +1 -0
  121. package/dist/cli/renderDeployCliExecution.js +19 -0
  122. package/dist/cli/renderDeployCliExecution.js.map +1 -0
  123. package/dist/cli/renderDeployCliFailure.d.ts +3 -0
  124. package/dist/cli/renderDeployCliFailure.d.ts.map +1 -0
  125. package/dist/cli/renderDeployCliFailure.js +6 -0
  126. package/dist/cli/renderDeployCliFailure.js.map +1 -0
  127. package/dist/cli/renderDeployCliPlan.d.ts +4 -0
  128. package/dist/cli/renderDeployCliPlan.d.ts.map +1 -0
  129. package/dist/cli/renderDeployCliPlan.js +39 -0
  130. package/dist/cli/renderDeployCliPlan.js.map +1 -0
  131. package/dist/cli/writeDeployCliHuman.d.ts +3 -0
  132. package/dist/cli/writeDeployCliHuman.d.ts.map +1 -0
  133. package/dist/cli/writeDeployCliHuman.js +9 -0
  134. package/dist/cli/writeDeployCliHuman.js.map +1 -0
  135. package/dist/cli/writeDeployCliJson.d.ts +4 -0
  136. package/dist/cli/writeDeployCliJson.d.ts.map +1 -0
  137. package/dist/cli/writeDeployCliJson.js +4 -0
  138. package/dist/cli/writeDeployCliJson.js.map +1 -0
  139. package/package.json +15 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @ankhorage/deploy
2
2
 
3
+ ## 0.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 5057a9a: Stabilize `ankh deploy` for CI with a versioned single-document JSON result, deterministic exit-code contract, prompt-free JSON approval semantics, action-required safety stops, transient credential redaction, and normal Ankh provider-discovery acceptance coverage.
8
+
9
+ ## 0.10.0
10
+
11
+ ### Minor Changes
12
+
13
+ - b10e259: Add the first-class `@ankhorage/deploy/cli` provider for category-root `ankh deploy` and `ankh plan deploy`, with dry-run planning, explicit runtime release context, host-owned confirmation, transient ENV credential mapping and offline safety coverage.
14
+
3
15
  ## 0.9.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.8.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.10.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
 
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Transient environment inputs understood by `ankh deploy`.
3
+ *
4
+ * Credential values have no CLI-flag equivalent and never enter authored
5
+ * release state. Google Play expects the complete service-account JSON string;
6
+ * App Store Connect expects JSON with `keyId`, `issuerId`, and `privateKey`;
7
+ * EAS expects the raw Expo access token.
8
+ *
9
+ * Operational input precedence is explicit:
10
+ * - `--project-root` overrides the command-context cwd.
11
+ * - `--execution-id` overrides generated execution ids.
12
+ * - Android track has no default; an Android build profile requires a track.
13
+ * - build profiles and Web alias/environment are CLI-only runtime inputs.
14
+ *
15
+ * CI examples:
16
+ * `ankh deploy --dry-run --json --android-track internal`
17
+ * `ankh deploy --yes --json --execution-id "$GITHUB_RUN_ID" --android-track production`
18
+ *
19
+ * `--json` writes exactly one versioned document to stdout and never prompts;
20
+ * mutation in JSON/CI mode therefore requires explicit `--yes`.
21
+ */
22
+ export declare const DEPLOY_CLI_ENVIRONMENT: {
23
+ readonly googlePlayServiceAccountJson: "ANKH_DEPLOY_GOOGLE_PLAY_SERVICE_ACCOUNT_JSON";
24
+ readonly appStoreConnectApiKeyJson: "ANKH_DEPLOY_APP_STORE_CONNECT_API_KEY_JSON";
25
+ readonly easToken: "ANKH_DEPLOY_EAS_TOKEN";
26
+ };
27
+ //# sourceMappingURL=DeployCliEnvironment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliEnvironment.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliEnvironment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Transient environment inputs understood by `ankh deploy`.
3
+ *
4
+ * Credential values have no CLI-flag equivalent and never enter authored
5
+ * release state. Google Play expects the complete service-account JSON string;
6
+ * App Store Connect expects JSON with `keyId`, `issuerId`, and `privateKey`;
7
+ * EAS expects the raw Expo access token.
8
+ *
9
+ * Operational input precedence is explicit:
10
+ * - `--project-root` overrides the command-context cwd.
11
+ * - `--execution-id` overrides generated execution ids.
12
+ * - Android track has no default; an Android build profile requires a track.
13
+ * - build profiles and Web alias/environment are CLI-only runtime inputs.
14
+ *
15
+ * CI examples:
16
+ * `ankh deploy --dry-run --json --android-track internal`
17
+ * `ankh deploy --yes --json --execution-id "$GITHUB_RUN_ID" --android-track production`
18
+ *
19
+ * `--json` writes exactly one versioned document to stdout and never prompts;
20
+ * mutation in JSON/CI mode therefore requires explicit `--yes`.
21
+ */
22
+ export const DEPLOY_CLI_ENVIRONMENT = {
23
+ googlePlayServiceAccountJson: 'ANKH_DEPLOY_GOOGLE_PLAY_SERVICE_ACCOUNT_JSON',
24
+ appStoreConnectApiKeyJson: 'ANKH_DEPLOY_APP_STORE_CONNECT_API_KEY_JSON',
25
+ easToken: 'ANKH_DEPLOY_EAS_TOKEN',
26
+ };
27
+ //# sourceMappingURL=DeployCliEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliEnvironment.js","sourceRoot":"","sources":["../../src/cli/DeployCliEnvironment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,4BAA4B,EAAE,8CAA8C;IAC5E,yBAAyB,EAAE,4CAA4C;IACvE,QAAQ,EAAE,uBAAuB;CACzB,CAAC","sourcesContent":["/**\n * Transient environment inputs understood by `ankh deploy`.\n *\n * Credential values have no CLI-flag equivalent and never enter authored\n * release state. Google Play expects the complete service-account JSON string;\n * App Store Connect expects JSON with `keyId`, `issuerId`, and `privateKey`;\n * EAS expects the raw Expo access token.\n *\n * Operational input precedence is explicit:\n * - `--project-root` overrides the command-context cwd.\n * - `--execution-id` overrides generated execution ids.\n * - Android track has no default; an Android build profile requires a track.\n * - build profiles and Web alias/environment are CLI-only runtime inputs.\n *\n * CI examples:\n * `ankh deploy --dry-run --json --android-track internal`\n * `ankh deploy --yes --json --execution-id \"$GITHUB_RUN_ID\" --android-track production`\n *\n * `--json` writes exactly one versioned document to stdout and never prompts;\n * mutation in JSON/CI mode therefore requires explicit `--yes`.\n */\nexport const DEPLOY_CLI_ENVIRONMENT = {\n googlePlayServiceAccountJson: 'ANKH_DEPLOY_GOOGLE_PLAY_SERVICE_ACCOUNT_JSON',\n appStoreConnectApiKeyJson: 'ANKH_DEPLOY_APP_STORE_CONNECT_API_KEY_JSON',\n easToken: 'ANKH_DEPLOY_EAS_TOKEN',\n} as const;\n"]}
@@ -0,0 +1,7 @@
1
+ import type { DeployCliExitCode } from './DeployCliExitCode.js';
2
+ export interface DeployCliExecutionOutcome {
3
+ readonly phase: 'execute' | 'history';
4
+ readonly status: 'completed' | 'waiting' | 'blocked' | 'failed' | 'drifted' | 'history-failed';
5
+ readonly exitCode: DeployCliExitCode;
6
+ }
7
+ //# sourceMappingURL=DeployCliExecutionOutcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliExecutionOutcome.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliExecutionOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC/F,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliExecutionOutcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliExecutionOutcome.js","sourceRoot":"","sources":["../../src/cli/DeployCliExecutionOutcome.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeployCliExitCode } from './DeployCliExitCode.js';\n\nexport interface DeployCliExecutionOutcome {\n readonly phase: 'execute' | 'history';\n readonly status: 'completed' | 'waiting' | 'blocked' | 'failed' | 'drifted' | 'history-failed';\n readonly exitCode: DeployCliExitCode;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { DEPLOY_CLI_EXIT_CODES } from './DeployCliExitCodes.js';
2
+ /** Stable `ankh deploy` process exit-code union. */
3
+ export type DeployCliExitCode = (typeof DEPLOY_CLI_EXIT_CODES)[keyof typeof DEPLOY_CLI_EXIT_CODES];
4
+ //# sourceMappingURL=DeployCliExitCode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliExitCode.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliExitCode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,oDAAoD;AACpD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliExitCode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliExitCode.js","sourceRoot":"","sources":["../../src/cli/DeployCliExitCode.ts"],"names":[],"mappings":"","sourcesContent":["import type { DEPLOY_CLI_EXIT_CODES } from './DeployCliExitCodes.js';\n\n/** Stable `ankh deploy` process exit-code union. */\nexport type DeployCliExitCode = (typeof DEPLOY_CLI_EXIT_CODES)[keyof typeof DEPLOY_CLI_EXIT_CODES];\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Stable process exit codes for `ankh deploy`.
3
+ *
4
+ * - `success`: completed, no-change, or a clean dry-run plan.
5
+ * - `failure`: invalid input, inspection/execution failure, or history write failure.
6
+ * - `blocked`: blocked, waiting, or action-required state.
7
+ * - `confirmationRequired`: mutation needs explicit approval.
8
+ * - `declined`: an interactive user explicitly declined mutation.
9
+ * - `drifted`: provider/project state changed after planning.
10
+ */
11
+ export declare const DEPLOY_CLI_EXIT_CODES: {
12
+ readonly success: 0;
13
+ readonly failure: 1;
14
+ readonly blocked: 2;
15
+ readonly confirmationRequired: 3;
16
+ readonly declined: 4;
17
+ readonly drifted: 5;
18
+ };
19
+ //# sourceMappingURL=DeployCliExitCodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliExitCodes.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliExitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;;;;;;;CAOxB,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Stable process exit codes for `ankh deploy`.
3
+ *
4
+ * - `success`: completed, no-change, or a clean dry-run plan.
5
+ * - `failure`: invalid input, inspection/execution failure, or history write failure.
6
+ * - `blocked`: blocked, waiting, or action-required state.
7
+ * - `confirmationRequired`: mutation needs explicit approval.
8
+ * - `declined`: an interactive user explicitly declined mutation.
9
+ * - `drifted`: provider/project state changed after planning.
10
+ */
11
+ export const DEPLOY_CLI_EXIT_CODES = {
12
+ success: 0,
13
+ failure: 1,
14
+ blocked: 2,
15
+ confirmationRequired: 3,
16
+ declined: 4,
17
+ drifted: 5,
18
+ };
19
+ //# sourceMappingURL=DeployCliExitCodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliExitCodes.js","sourceRoot":"","sources":["../../src/cli/DeployCliExitCodes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,oBAAoB,EAAE,CAAC;IACvB,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;CACF,CAAC","sourcesContent":["/**\n * Stable process exit codes for `ankh deploy`.\n *\n * - `success`: completed, no-change, or a clean dry-run plan.\n * - `failure`: invalid input, inspection/execution failure, or history write failure.\n * - `blocked`: blocked, waiting, or action-required state.\n * - `confirmationRequired`: mutation needs explicit approval.\n * - `declined`: an interactive user explicitly declined mutation.\n * - `drifted`: provider/project state changed after planning.\n */\nexport const DEPLOY_CLI_EXIT_CODES = {\n success: 0,\n failure: 1,\n blocked: 2,\n confirmationRequired: 3,\n declined: 4,\n drifted: 5,\n} as const;\n"]}
@@ -0,0 +1,6 @@
1
+ import type { AnkhCommandContext } from '@ankhorage/ankh';
2
+ export interface DeployCliInput {
3
+ readonly argv: readonly string[];
4
+ readonly context: AnkhCommandContext;
5
+ }
6
+ //# sourceMappingURL=DeployCliInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliInput.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;CACtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliInput.js","sourceRoot":"","sources":["../../src/cli/DeployCliInput.ts"],"names":[],"mappings":"","sourcesContent":["import type { AnkhCommandContext } from '@ankhorage/ankh';\n\nexport interface DeployCliInput {\n readonly argv: readonly string[];\n readonly context: AnkhCommandContext;\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import type { DeploymentFailure, ReleasePlan } from '../index.js';
2
+ import type { ProjectReleaseAccess, ProjectReleaseInspection } from '../project/index.js';
3
+ export type DeployCliInspectionResult = {
4
+ readonly ok: true;
5
+ readonly access: ProjectReleaseAccess;
6
+ readonly inspection: ProjectReleaseInspection;
7
+ readonly plan: ReleasePlan;
8
+ } | {
9
+ readonly ok: false;
10
+ readonly failure: DeploymentFailure;
11
+ };
12
+ //# sourceMappingURL=DeployCliInspectionResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliInspectionResult.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliInspectionResult.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliInspectionResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliInspectionResult.js","sourceRoot":"","sources":["../../src/cli/DeployCliInspectionResult.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeploymentFailure, ReleasePlan } from '../index.js';\nimport type { ProjectReleaseAccess, ProjectReleaseInspection } from '../project/index.js';\n\nexport type DeployCliInspectionResult =\n | {\n readonly ok: true;\n readonly access: ProjectReleaseAccess;\n readonly inspection: ProjectReleaseInspection;\n readonly plan: ReleasePlan;\n }\n | { readonly ok: false; readonly failure: DeploymentFailure };\n"]}
@@ -0,0 +1,34 @@
1
+ import type { DeploymentFailure, DeploymentRequiredAction, ReleasePlan, ReleaseTarget } from '../index.js';
2
+ import type { DeployCliExitCode } from './DeployCliExitCode.js';
3
+ /**
4
+ * Versioned machine-readable result emitted by `ankh deploy --json`.
5
+ *
6
+ * Exactly one JSON document is written to stdout. JSON mode never opens an
7
+ * interactive confirmation prompt; mutating execution therefore requires
8
+ * explicit `--yes`.
9
+ */
10
+ export interface DeployCliJsonEnvelope {
11
+ readonly kind: 'ankh-deploy-result';
12
+ readonly version: 1;
13
+ readonly phase: 'input' | 'inspect' | 'plan' | 'confirmation' | 'execute' | 'history';
14
+ readonly status: 'planned' | 'no-change' | 'action-required' | 'waiting' | 'blocked' | 'confirmation-required' | 'declined' | 'completed' | 'failed' | 'drifted' | 'history-failed';
15
+ readonly exitCode: DeployCliExitCode;
16
+ readonly release?: {
17
+ readonly version: string;
18
+ readonly targets: readonly ReleaseTarget[];
19
+ readonly revision: string;
20
+ };
21
+ readonly plan?: ReleasePlan;
22
+ readonly actions?: readonly DeploymentRequiredAction[];
23
+ readonly execution?: {
24
+ readonly id: string;
25
+ readonly status: 'completed' | 'waiting' | 'blocked' | 'failed' | 'drifted';
26
+ readonly currentRevision: string;
27
+ readonly executedStepIds: readonly string[];
28
+ readonly attemptedStepId?: string;
29
+ readonly code?: string;
30
+ readonly historyRecorded: boolean;
31
+ };
32
+ readonly failure?: DeploymentFailure;
33
+ }
34
+ //# sourceMappingURL=DeployCliJsonEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliJsonEnvelope.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliJsonEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;IACtF,QAAQ,CAAC,MAAM,EACX,SAAS,GACT,WAAW,GACX,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,uBAAuB,GACvB,UAAU,GACV,WAAW,GACX,QAAQ,GACR,SAAS,GACT,gBAAgB,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;QAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC5E,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;KACnC,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;CACtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliJsonEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliJsonEnvelope.js","sourceRoot":"","sources":["../../src/cli/DeployCliJsonEnvelope.ts"],"names":[],"mappings":"","sourcesContent":["import type {\n DeploymentFailure,\n DeploymentRequiredAction,\n ReleasePlan,\n ReleaseTarget,\n} from '../index.js';\nimport type { DeployCliExitCode } from './DeployCliExitCode.js';\n\n/**\n * Versioned machine-readable result emitted by `ankh deploy --json`.\n *\n * Exactly one JSON document is written to stdout. JSON mode never opens an\n * interactive confirmation prompt; mutating execution therefore requires\n * explicit `--yes`.\n */\nexport interface DeployCliJsonEnvelope {\n readonly kind: 'ankh-deploy-result';\n readonly version: 1;\n readonly phase: 'input' | 'inspect' | 'plan' | 'confirmation' | 'execute' | 'history';\n readonly status:\n | 'planned'\n | 'no-change'\n | 'action-required'\n | 'waiting'\n | 'blocked'\n | 'confirmation-required'\n | 'declined'\n | 'completed'\n | 'failed'\n | 'drifted'\n | 'history-failed';\n readonly exitCode: DeployCliExitCode;\n readonly release?: {\n readonly version: string;\n readonly targets: readonly ReleaseTarget[];\n readonly revision: string;\n };\n readonly plan?: ReleasePlan;\n readonly actions?: readonly DeploymentRequiredAction[];\n readonly execution?: {\n readonly id: string;\n readonly status: 'completed' | 'waiting' | 'blocked' | 'failed' | 'drifted';\n readonly currentRevision: string;\n readonly executedStepIds: readonly string[];\n readonly attemptedStepId?: string;\n readonly code?: string;\n readonly historyRecorded: boolean;\n };\n readonly failure?: DeploymentFailure;\n}\n"]}
@@ -0,0 +1,14 @@
1
+ import type { AndroidDeploymentTrack } from '../index.js';
2
+ export interface DeployCliOptions {
3
+ readonly projectRoot: string;
4
+ readonly dryRun: boolean;
5
+ readonly yes: boolean;
6
+ readonly format: 'human' | 'json';
7
+ readonly executionId?: string;
8
+ readonly androidTrack?: AndroidDeploymentTrack;
9
+ readonly androidBuildProfile?: string;
10
+ readonly iosBuildProfile?: string;
11
+ readonly webAlias?: string;
12
+ readonly webEnvironment?: string;
13
+ }
14
+ //# sourceMappingURL=DeployCliOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliOptions.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliOptions.js","sourceRoot":"","sources":["../../src/cli/DeployCliOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type { AndroidDeploymentTrack } from '../index.js';\n\nexport interface DeployCliOptions {\n readonly projectRoot: string;\n readonly dryRun: boolean;\n readonly yes: boolean;\n readonly format: 'human' | 'json';\n readonly executionId?: string;\n readonly androidTrack?: AndroidDeploymentTrack;\n readonly androidBuildProfile?: string;\n readonly iosBuildProfile?: string;\n readonly webAlias?: string;\n readonly webEnvironment?: string;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import type { DeployCliExitCode } from './DeployCliExitCode.js';
2
+ export interface DeployCliPlanOutcome {
3
+ readonly status: 'planned' | 'no-change' | 'action-required' | 'waiting' | 'blocked';
4
+ readonly exitCode: DeployCliExitCode;
5
+ }
6
+ //# sourceMappingURL=DeployCliPlanOutcome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliPlanOutcome.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliPlanOutcome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;IACrF,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliPlanOutcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliPlanOutcome.js","sourceRoot":"","sources":["../../src/cli/DeployCliPlanOutcome.ts"],"names":[],"mappings":"","sourcesContent":["import type { DeployCliExitCode } from './DeployCliExitCode.js';\n\nexport interface DeployCliPlanOutcome {\n readonly status: 'planned' | 'no-change' | 'action-required' | 'waiting' | 'blocked';\n readonly exitCode: DeployCliExitCode;\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type { ReleasePlan } from '../index.js';
2
+ import type { ExecuteProjectReleaseOptions, InspectProjectReleaseOptions, ProjectReleaseExecutionResult, ProjectReleaseInspection, ProjectReleaseInspectionResult } from '../project/index.js';
3
+ export interface DeployCliRuntime {
4
+ inspectProjectRelease(options: InspectProjectReleaseOptions): Promise<ProjectReleaseInspectionResult>;
5
+ createProjectReleasePlan(inspection: ProjectReleaseInspection): ReleasePlan;
6
+ executeProjectRelease(options: ExecuteProjectReleaseOptions): Promise<ProjectReleaseExecutionResult>;
7
+ createExecutionId(): string;
8
+ }
9
+ //# sourceMappingURL=DeployCliRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliRuntime.d.ts","sourceRoot":"","sources":["../../src/cli/DeployCliRuntime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAC5B,6BAA6B,EAC7B,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,CACnB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAC3C,wBAAwB,CAAC,UAAU,EAAE,wBAAwB,GAAG,WAAW,CAAC;IAC5E,qBAAqB,CACnB,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,iBAAiB,IAAI,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DeployCliRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployCliRuntime.js","sourceRoot":"","sources":["../../src/cli/DeployCliRuntime.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReleasePlan } from '../index.js';\nimport type {\n ExecuteProjectReleaseOptions,\n InspectProjectReleaseOptions,\n ProjectReleaseExecutionResult,\n ProjectReleaseInspection,\n ProjectReleaseInspectionResult,\n} from '../project/index.js';\n\nexport interface DeployCliRuntime {\n inspectProjectRelease(\n options: InspectProjectReleaseOptions,\n ): Promise<ProjectReleaseInspectionResult>;\n createProjectReleasePlan(inspection: ProjectReleaseInspection): ReleasePlan;\n executeProjectRelease(\n options: ExecuteProjectReleaseOptions,\n ): Promise<ProjectReleaseExecutionResult>;\n createExecutionId(): string;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { ProjectReleaseAccess } from '../project/index.js';
2
+ import type { DeployCliOptions } from './DeployCliOptions.js';
3
+ export declare function createDeployCliAccess(options: DeployCliOptions, env: Readonly<Record<string, string | undefined>>): ProjectReleaseAccess;
4
+ //# sourceMappingURL=createDeployCliAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliAccess.d.ts","sourceRoot":"","sources":["../../src/cli/createDeployCliAccess.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,oBAAoB,CA6BtB"}
@@ -0,0 +1,65 @@
1
+ import { DEPLOY_CLI_ENVIRONMENT } from './DeployCliEnvironment.js';
2
+ export function createDeployCliAccess(options, env) {
3
+ const credentials = [];
4
+ const secrets = new Map();
5
+ addSecret(credentials, secrets, env, {
6
+ envName: DEPLOY_CLI_ENVIRONMENT.googlePlayServiceAccountJson,
7
+ id: 'env:google-play-service-account',
8
+ provider: 'google-play',
9
+ kind: 'service-account',
10
+ });
11
+ addSecret(credentials, secrets, env, {
12
+ envName: DEPLOY_CLI_ENVIRONMENT.appStoreConnectApiKeyJson,
13
+ id: 'env:app-store-connect-api-key',
14
+ provider: 'app-store-connect',
15
+ kind: 'api-key',
16
+ });
17
+ addSecret(credentials, secrets, env, {
18
+ envName: DEPLOY_CLI_ENVIRONMENT.easToken,
19
+ id: 'env:eas-token',
20
+ provider: 'eas',
21
+ kind: 'expo-token',
22
+ });
23
+ return {
24
+ credentials,
25
+ resolveSecret: (reference) => Promise.resolve(secrets.get(reference.id) ?? null),
26
+ ...androidAccess(options),
27
+ ...iosAccess(options),
28
+ ...webAccess(options),
29
+ };
30
+ }
31
+ function addSecret(credentials, secrets, env, input) {
32
+ const value = env[input.envName]?.trim();
33
+ if (value === undefined || value.length === 0)
34
+ return;
35
+ credentials.push({ id: input.id, provider: input.provider, kind: input.kind });
36
+ secrets.set(input.id, value);
37
+ }
38
+ function androidAccess(options) {
39
+ if (options.androidTrack === undefined)
40
+ return {};
41
+ return {
42
+ android: {
43
+ track: options.androidTrack,
44
+ ...(options.androidBuildProfile === undefined
45
+ ? {}
46
+ : { buildProfile: options.androidBuildProfile }),
47
+ },
48
+ };
49
+ }
50
+ function iosAccess(options) {
51
+ return options.iosBuildProfile === undefined
52
+ ? {}
53
+ : { ios: { buildProfile: options.iosBuildProfile } };
54
+ }
55
+ function webAccess(options) {
56
+ if (options.webAlias === undefined && options.webEnvironment === undefined)
57
+ return {};
58
+ return {
59
+ web: {
60
+ ...(options.webAlias === undefined ? {} : { alias: options.webAlias }),
61
+ ...(options.webEnvironment === undefined ? {} : { environment: options.webEnvironment }),
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=createDeployCliAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliAccess.js","sourceRoot":"","sources":["../../src/cli/createDeployCliAccess.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,MAAM,UAAU,qBAAqB,CACnC,OAAyB,EACzB,GAAiD;IAEjD,MAAM,WAAW,GAAoC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE;QACnC,OAAO,EAAE,sBAAsB,CAAC,4BAA4B;QAC5D,EAAE,EAAE,iCAAiC;QACrC,QAAQ,EAAE,aAAa;QACvB,IAAI,EAAE,iBAAiB;KACxB,CAAC,CAAC;IACH,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE;QACnC,OAAO,EAAE,sBAAsB,CAAC,yBAAyB;QACzD,EAAE,EAAE,+BAA+B;QACnC,QAAQ,EAAE,mBAAmB;QAC7B,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IACH,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE;QACnC,OAAO,EAAE,sBAAsB,CAAC,QAAQ;QACxC,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAChF,GAAG,aAAa,CAAC,OAAO,CAAC;QACzB,GAAG,SAAS,CAAC,OAAO,CAAC;QACrB,GAAG,SAAS,CAAC,OAAO,CAAC;KACtB,CAAC;AACJ,CAAC;AASD,SAAS,SAAS,CAChB,WAA4C,EAC5C,OAA4B,EAC5B,GAAiD,EACjD,KAAkB;IAElB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACtD,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,OAAyB;IAC9C,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClD,OAAO;QACL,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,YAAY;YAC3B,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS;gBAC3C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,mBAAmB,EAAE,CAAC;SACnD;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,OAAyB;IAC1C,OAAO,OAAO,CAAC,eAAe,KAAK,SAAS;QAC1C,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,SAAS,CAAC,OAAyB;IAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtF,OAAO;QACL,GAAG,EAAE;YACH,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtE,GAAG,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;SACzF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentCredentialReference } from '../index.js';\nimport type { ProjectReleaseAccess } from '../project/index.js';\nimport { DEPLOY_CLI_ENVIRONMENT } from './DeployCliEnvironment.js';\nimport type { DeployCliOptions } from './DeployCliOptions.js';\n\nexport function createDeployCliAccess(\n options: DeployCliOptions,\n env: Readonly<Record<string, string | undefined>>,\n): ProjectReleaseAccess {\n const credentials: DeploymentCredentialReference[] = [];\n const secrets = new Map<string, string>();\n addSecret(credentials, secrets, env, {\n envName: DEPLOY_CLI_ENVIRONMENT.googlePlayServiceAccountJson,\n id: 'env:google-play-service-account',\n provider: 'google-play',\n kind: 'service-account',\n });\n addSecret(credentials, secrets, env, {\n envName: DEPLOY_CLI_ENVIRONMENT.appStoreConnectApiKeyJson,\n id: 'env:app-store-connect-api-key',\n provider: 'app-store-connect',\n kind: 'api-key',\n });\n addSecret(credentials, secrets, env, {\n envName: DEPLOY_CLI_ENVIRONMENT.easToken,\n id: 'env:eas-token',\n provider: 'eas',\n kind: 'expo-token',\n });\n\n return {\n credentials,\n resolveSecret: (reference) => Promise.resolve(secrets.get(reference.id) ?? null),\n ...androidAccess(options),\n ...iosAccess(options),\n ...webAccess(options),\n };\n}\n\ninterface SecretInput {\n readonly envName: string;\n readonly id: string;\n readonly provider: string;\n readonly kind: string;\n}\n\nfunction addSecret(\n credentials: DeploymentCredentialReference[],\n secrets: Map<string, string>,\n env: Readonly<Record<string, string | undefined>>,\n input: SecretInput,\n): void {\n const value = env[input.envName]?.trim();\n if (value === undefined || value.length === 0) return;\n credentials.push({ id: input.id, provider: input.provider, kind: input.kind });\n secrets.set(input.id, value);\n}\n\nfunction androidAccess(options: DeployCliOptions): Pick<ProjectReleaseAccess, 'android'> {\n if (options.androidTrack === undefined) return {};\n return {\n android: {\n track: options.androidTrack,\n ...(options.androidBuildProfile === undefined\n ? {}\n : { buildProfile: options.androidBuildProfile }),\n },\n };\n}\n\nfunction iosAccess(options: DeployCliOptions): Pick<ProjectReleaseAccess, 'ios'> {\n return options.iosBuildProfile === undefined\n ? {}\n : { ios: { buildProfile: options.iosBuildProfile } };\n}\n\nfunction webAccess(options: DeployCliOptions): Pick<ProjectReleaseAccess, 'web'> {\n if (options.webAlias === undefined && options.webEnvironment === undefined) return {};\n return {\n web: {\n ...(options.webAlias === undefined ? {} : { alias: options.webAlias }),\n ...(options.webEnvironment === undefined ? {} : { environment: options.webEnvironment }),\n },\n };\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { ReleasePlan } from '../index.js';
2
+ import type { ProjectReleaseInspection } from '../project/index.js';
3
+ import type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';
4
+ export declare function createDeployCliConfirmationEnvelope(inspection: ProjectReleaseInspection, plan: ReleasePlan, env: Readonly<Record<string, string | undefined>>): DeployCliJsonEnvelope;
5
+ //# sourceMappingURL=createDeployCliConfirmationEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliConfirmationEnvelope.d.ts","sourceRoot":"","sources":["../../src/cli/createDeployCliConfirmationEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAKxE,wBAAgB,mCAAmC,CACjD,UAAU,EAAE,wBAAwB,EACpC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,qBAAqB,CAevB"}
@@ -0,0 +1,21 @@
1
+ import { DEPLOY_CLI_EXIT_CODES } from './DeployCliExitCodes.js';
2
+ import { redactDeployCliActions } from './redactDeployCliActions.js';
3
+ import { redactDeployCliPlan } from './redactDeployCliPlan.js';
4
+ import { redactDeployCliText } from './redactDeployCliText.js';
5
+ export function createDeployCliConfirmationEnvelope(inspection, plan, env) {
6
+ return {
7
+ kind: 'ankh-deploy-result',
8
+ version: 1,
9
+ phase: 'confirmation',
10
+ status: 'confirmation-required',
11
+ exitCode: DEPLOY_CLI_EXIT_CODES.confirmationRequired,
12
+ release: {
13
+ version: redactDeployCliText(inspection.desired.version, env),
14
+ targets: inspection.desired.targets,
15
+ revision: redactDeployCliText(inspection.desired.revision, env),
16
+ },
17
+ plan: redactDeployCliPlan(plan, env),
18
+ actions: redactDeployCliActions(inspection.actions, env),
19
+ };
20
+ }
21
+ //# sourceMappingURL=createDeployCliConfirmationEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliConfirmationEnvelope.js","sourceRoot":"","sources":["../../src/cli/createDeployCliConfirmationEnvelope.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,mCAAmC,CACjD,UAAoC,EACpC,IAAiB,EACjB,GAAiD;IAEjD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,cAAc;QACrB,MAAM,EAAE,uBAAuB;QAC/B,QAAQ,EAAE,qBAAqB,CAAC,oBAAoB;QACpD,OAAO,EAAE;YACP,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;YAC7D,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO;YACnC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SAChE;QACD,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC;QACpC,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;KACzD,CAAC;AACJ,CAAC","sourcesContent":["import type { ReleasePlan } from '../index.js';\nimport type { ProjectReleaseInspection } from '../project/index.js';\nimport { DEPLOY_CLI_EXIT_CODES } from './DeployCliExitCodes.js';\nimport type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';\nimport { redactDeployCliActions } from './redactDeployCliActions.js';\nimport { redactDeployCliPlan } from './redactDeployCliPlan.js';\nimport { redactDeployCliText } from './redactDeployCliText.js';\n\nexport function createDeployCliConfirmationEnvelope(\n inspection: ProjectReleaseInspection,\n plan: ReleasePlan,\n env: Readonly<Record<string, string | undefined>>,\n): DeployCliJsonEnvelope {\n return {\n kind: 'ankh-deploy-result',\n version: 1,\n phase: 'confirmation',\n status: 'confirmation-required',\n exitCode: DEPLOY_CLI_EXIT_CODES.confirmationRequired,\n release: {\n version: redactDeployCliText(inspection.desired.version, env),\n targets: inspection.desired.targets,\n revision: redactDeployCliText(inspection.desired.revision, env),\n },\n plan: redactDeployCliPlan(plan, env),\n actions: redactDeployCliActions(inspection.actions, env),\n };\n}\n"]}
@@ -0,0 +1,5 @@
1
+ import type { ProjectReleaseExecution, ProjectReleaseInspection } from '../project/index.js';
2
+ import type { DeployCliExecutionOutcome } from './DeployCliExecutionOutcome.js';
3
+ import type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';
4
+ export declare function createDeployCliExecutionEnvelope(inspection: ProjectReleaseInspection, execution: ProjectReleaseExecution, executionId: string, outcome: DeployCliExecutionOutcome, env: Readonly<Record<string, string | undefined>>): DeployCliJsonEnvelope;
5
+ //# sourceMappingURL=createDeployCliExecutionEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliExecutionEnvelope.d.ts","sourceRoot":"","sources":["../../src/cli/createDeployCliExecutionEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAKxE,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,wBAAwB,EACpC,SAAS,EAAE,uBAAuB,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,yBAAyB,EAClC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,qBAAqB,CA8BvB"}
@@ -0,0 +1,35 @@
1
+ import { redactDeployCliFailure } from './redactDeployCliFailure.js';
2
+ import { redactDeployCliPlan } from './redactDeployCliPlan.js';
3
+ import { redactDeployCliText } from './redactDeployCliText.js';
4
+ export function createDeployCliExecutionEnvelope(inspection, execution, executionId, outcome, env) {
5
+ return {
6
+ kind: 'ankh-deploy-result',
7
+ version: 1,
8
+ phase: outcome.phase,
9
+ status: outcome.status,
10
+ exitCode: outcome.exitCode,
11
+ release: {
12
+ version: redactDeployCliText(inspection.desired.version, env),
13
+ targets: inspection.desired.targets,
14
+ revision: redactDeployCliText(inspection.desired.revision, env),
15
+ },
16
+ plan: redactDeployCliPlan(execution.result.plan, env),
17
+ execution: {
18
+ id: redactDeployCliText(executionId, env),
19
+ status: execution.result.status,
20
+ currentRevision: redactDeployCliText(execution.result.currentRevision, env),
21
+ executedStepIds: execution.result.executedStepIds.map((id) => redactDeployCliText(id, env)),
22
+ ...(execution.result.attemptedStepId === undefined
23
+ ? {}
24
+ : { attemptedStepId: redactDeployCliText(execution.result.attemptedStepId, env) }),
25
+ ...(execution.result.code === undefined
26
+ ? {}
27
+ : { code: redactDeployCliText(execution.result.code, env) }),
28
+ historyRecorded: execution.historyRecorded,
29
+ },
30
+ ...(execution.historyFailure === undefined
31
+ ? {}
32
+ : { failure: redactDeployCliFailure(execution.historyFailure, env) }),
33
+ };
34
+ }
35
+ //# sourceMappingURL=createDeployCliExecutionEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliExecutionEnvelope.js","sourceRoot":"","sources":["../../src/cli/createDeployCliExecutionEnvelope.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,UAAU,gCAAgC,CAC9C,UAAoC,EACpC,SAAkC,EAClC,WAAmB,EACnB,OAAkC,EAClC,GAAiD;IAEjD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE;YACP,OAAO,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;YAC7D,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,OAAO;YACnC,QAAQ,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SAChE;QACD,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;QACrD,SAAS,EAAE;YACT,EAAE,EAAE,mBAAmB,CAAC,WAAW,EAAE,GAAG,CAAC;YACzC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM;YAC/B,eAAe,EAAE,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;YAC3E,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC3F,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS;gBAChD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,EAAE,CAAC;YACpF,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;gBACrC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9D,eAAe,EAAE,SAAS,CAAC,eAAe;SAC3C;QACD,GAAG,CAAC,SAAS,CAAC,cAAc,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;KACxE,CAAC;AACJ,CAAC","sourcesContent":["import type { ProjectReleaseExecution, ProjectReleaseInspection } from '../project/index.js';\nimport type { DeployCliExecutionOutcome } from './DeployCliExecutionOutcome.js';\nimport type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';\nimport { redactDeployCliFailure } from './redactDeployCliFailure.js';\nimport { redactDeployCliPlan } from './redactDeployCliPlan.js';\nimport { redactDeployCliText } from './redactDeployCliText.js';\n\nexport function createDeployCliExecutionEnvelope(\n inspection: ProjectReleaseInspection,\n execution: ProjectReleaseExecution,\n executionId: string,\n outcome: DeployCliExecutionOutcome,\n env: Readonly<Record<string, string | undefined>>,\n): DeployCliJsonEnvelope {\n return {\n kind: 'ankh-deploy-result',\n version: 1,\n phase: outcome.phase,\n status: outcome.status,\n exitCode: outcome.exitCode,\n release: {\n version: redactDeployCliText(inspection.desired.version, env),\n targets: inspection.desired.targets,\n revision: redactDeployCliText(inspection.desired.revision, env),\n },\n plan: redactDeployCliPlan(execution.result.plan, env),\n execution: {\n id: redactDeployCliText(executionId, env),\n status: execution.result.status,\n currentRevision: redactDeployCliText(execution.result.currentRevision, env),\n executedStepIds: execution.result.executedStepIds.map((id) => redactDeployCliText(id, env)),\n ...(execution.result.attemptedStepId === undefined\n ? {}\n : { attemptedStepId: redactDeployCliText(execution.result.attemptedStepId, env) }),\n ...(execution.result.code === undefined\n ? {}\n : { code: redactDeployCliText(execution.result.code, env) }),\n historyRecorded: execution.historyRecorded,\n },\n ...(execution.historyFailure === undefined\n ? {}\n : { failure: redactDeployCliFailure(execution.historyFailure, env) }),\n };\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { DeploymentFailure } from '../index.js';
2
+ import type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';
3
+ export declare function createDeployCliFailureEnvelope(phase: 'input' | 'inspect' | 'execute', failure: DeploymentFailure, env: Readonly<Record<string, string | undefined>>): DeployCliJsonEnvelope;
4
+ //# sourceMappingURL=createDeployCliFailureEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliFailureEnvelope.d.ts","sourceRoot":"","sources":["../../src/cli/createDeployCliFailureEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGxE,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,EACtC,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,qBAAqB,CASvB"}
@@ -0,0 +1,13 @@
1
+ import { DEPLOY_CLI_EXIT_CODES } from './DeployCliExitCodes.js';
2
+ import { redactDeployCliFailure } from './redactDeployCliFailure.js';
3
+ export function createDeployCliFailureEnvelope(phase, failure, env) {
4
+ return {
5
+ kind: 'ankh-deploy-result',
6
+ version: 1,
7
+ phase,
8
+ status: 'failed',
9
+ exitCode: DEPLOY_CLI_EXIT_CODES.failure,
10
+ failure: redactDeployCliFailure(failure, env),
11
+ };
12
+ }
13
+ //# sourceMappingURL=createDeployCliFailureEnvelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliFailureEnvelope.js","sourceRoot":"","sources":["../../src/cli/createDeployCliFailureEnvelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,UAAU,8BAA8B,CAC5C,KAAsC,EACtC,OAA0B,EAC1B,GAAiD;IAEjD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,CAAC;QACV,KAAK;QACL,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,qBAAqB,CAAC,OAAO;QACvC,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC;KAC9C,CAAC;AACJ,CAAC","sourcesContent":["import type { DeploymentFailure } from '../index.js';\nimport { DEPLOY_CLI_EXIT_CODES } from './DeployCliExitCodes.js';\nimport type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';\nimport { redactDeployCliFailure } from './redactDeployCliFailure.js';\n\nexport function createDeployCliFailureEnvelope(\n phase: 'input' | 'inspect' | 'execute',\n failure: DeploymentFailure,\n env: Readonly<Record<string, string | undefined>>,\n): DeployCliJsonEnvelope {\n return {\n kind: 'ankh-deploy-result',\n version: 1,\n phase,\n status: 'failed',\n exitCode: DEPLOY_CLI_EXIT_CODES.failure,\n failure: redactDeployCliFailure(failure, env),\n };\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import type { ReleasePlan } from '../index.js';
2
+ import type { ProjectReleaseInspection } from '../project/index.js';
3
+ import type { DeployCliJsonEnvelope } from './DeployCliJsonEnvelope.js';
4
+ import type { DeployCliPlanOutcome } from './DeployCliPlanOutcome.js';
5
+ export declare function createDeployCliPlanEnvelope(inspection: ProjectReleaseInspection, plan: ReleasePlan, outcome: DeployCliPlanOutcome, env: Readonly<Record<string, string | undefined>>): DeployCliJsonEnvelope;
6
+ //# sourceMappingURL=createDeployCliPlanEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createDeployCliPlanEnvelope.d.ts","sourceRoot":"","sources":["../../src/cli/createDeployCliPlanEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKtE,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,wBAAwB,EACpC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,qBAAqB,CAevB"}