@empire-builder-kit/nx 1.0.0-rc.13 → 1.0.0-rc.17

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 (215) hide show
  1. package/executors.json +10 -0
  2. package/package.json +3 -3
  3. package/src/cli/output.js +1 -1
  4. package/src/developer-agent/model.js +4 -4
  5. package/src/developer-agent/model.js.map +1 -1
  6. package/src/developer-agent/operation-registry.js +53 -8
  7. package/src/developer-agent/operation-registry.js.map +1 -1
  8. package/src/developer-agent/planning.js +7 -9
  9. package/src/developer-agent/planning.js.map +1 -1
  10. package/src/developer-agent/workspace-inspection.js +12 -0
  11. package/src/developer-agent/workspace-inspection.js.map +1 -1
  12. package/src/executors/deployment-plan/deployment-plan.js +5 -0
  13. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  14. package/src/executors/foundation-preflight/foundation-preflight.d.ts +2 -0
  15. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  16. package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -1
  17. package/src/executors/foundation-preflight/schema.json +10 -0
  18. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +2 -0
  19. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +2 -1
  20. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -1
  21. package/src/executors/foundation-profile-preflight/schema.json +19 -3
  22. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  23. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  24. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +229 -5
  25. package/src/executors/infrastructure-plan/infrastructure-plan.js +2298 -175
  26. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
  27. package/src/executors/infrastructure-plan/schema.json +16 -0
  28. package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +53 -0
  29. package/src/executors/local-deploy/local-approval.d.ts +23 -0
  30. package/src/executors/local-deploy/local-approval.js +43 -0
  31. package/src/executors/local-deploy/local-approval.js.map +1 -0
  32. package/src/executors/local-deploy/local-deploy.d.ts +69 -0
  33. package/src/executors/local-deploy/local-deploy.js +911 -0
  34. package/src/executors/local-deploy/local-deploy.js.map +1 -0
  35. package/src/executors/local-deploy/schema.json +42 -0
  36. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +3 -0
  37. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +94 -0
  38. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -0
  39. package/src/executors/router-waf-rehearsal/schema.json +9 -0
  40. package/src/executors/secret-metadata/schema.json +5 -0
  41. package/src/executors/secret-metadata/secret-metadata.d.ts +12 -1
  42. package/src/executors/secret-metadata/secret-metadata.js +68 -16
  43. package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
  44. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  45. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  46. package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -1
  47. package/src/executors/sst-lifecycle/run-sst-command.d.ts +8 -1
  48. package/src/executors/sst-lifecycle/run-sst-command.js +144 -12
  49. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  50. package/src/executors/sst-lifecycle/schema.json +13 -1
  51. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +25 -0
  52. package/src/executors/sst-lifecycle/sst-environment-source.js +213 -0
  53. package/src/executors/sst-lifecycle/sst-environment-source.js.map +1 -0
  54. package/src/foundation/index.d.ts +2 -0
  55. package/src/foundation/index.js +2 -0
  56. package/src/foundation/index.js.map +1 -1
  57. package/src/foundation/logging-preflight.js +1 -1
  58. package/src/foundation/logging-preflight.js.map +1 -1
  59. package/src/foundation/logging.d.ts +3 -1
  60. package/src/foundation/logging.js +1 -1
  61. package/src/foundation/logging.js.map +1 -1
  62. package/src/foundation/partial-state.d.ts +10 -0
  63. package/src/foundation/partial-state.js +21 -0
  64. package/src/foundation/partial-state.js.map +1 -0
  65. package/src/foundation/router-waf.d.ts +98 -0
  66. package/src/foundation/router-waf.js +401 -0
  67. package/src/foundation/router-waf.js.map +1 -0
  68. package/src/generators/function/function.js +2 -1
  69. package/src/generators/function/function.js.map +1 -1
  70. package/src/generators/preset/generator.js +23 -3
  71. package/src/generators/preset/generator.js.map +1 -1
  72. package/src/generators/preset/schema.d.ts +7 -0
  73. package/src/generators/preset/schema.json +47 -0
  74. package/src/generators/preset/workspace-files-ci-acceptance.js +176 -36
  75. package/src/generators/preset/workspace-files-ci-acceptance.js.map +1 -1
  76. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  77. package/src/generators/preset/workspace-files-developer-agent.js +25 -11
  78. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
  79. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  80. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -1
  81. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  82. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -1
  83. package/src/generators/preset/workspace-files.d.ts +5 -1
  84. package/src/generators/preset/workspace-files.js +788 -49
  85. package/src/generators/preset/workspace-files.js.map +1 -1
  86. package/src/generators/repository-policy/repository-policy.js +65 -3
  87. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  88. package/src/generators/repository-policy/schema.d.ts +6 -0
  89. package/src/generators/repository-policy/schema.json +46 -0
  90. package/src/generators/slice/built-in-plan-api-files.js +2 -1
  91. package/src/generators/slice/built-in-plan-api-files.js.map +1 -1
  92. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +18 -0
  93. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
  94. package/src/generators/slice/built-in-plan-data-files.js +16 -5
  95. package/src/generators/slice/built-in-plan-data-files.js.map +1 -1
  96. package/src/generators/slice/built-in-plan-data-retention-job-files.js +6 -3
  97. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -1
  98. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +21 -7
  99. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -1
  100. package/src/generators/slice/built-in-plan-foundation-files.js +2 -3
  101. package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -1
  102. package/src/generators/slice/built-in-plan-infrastructure-files.js +359 -27
  103. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
  104. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
  105. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -1
  106. package/src/generators/slice/built-in-plan-metadata-files.js +1 -0
  107. package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -1
  108. package/src/generators/slice/built-in-plan-operations-files.js +442 -5
  109. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
  110. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  111. package/src/generators/slice/built-in-plan-performance-files.js +34 -47
  112. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
  113. package/src/generators/slice/built-in-plan-project-files.js +14 -2
  114. package/src/generators/slice/built-in-plan-project-files.js.map +1 -1
  115. package/src/generators/slice/built-in-plan-release-files.js +119 -30
  116. package/src/generators/slice/built-in-plan-release-files.js.map +1 -1
  117. package/src/generators/slice/built-in-plan-web-files.js +13 -0
  118. package/src/generators/slice/built-in-plan-web-files.js.map +1 -1
  119. package/src/generators/slice/built-in-plan-workload-role-files.js +5 -2
  120. package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -1
  121. package/src/generators/slice/built-in-plan.d.ts +2 -1
  122. package/src/generators/slice/built-in-plan.js +8 -5
  123. package/src/generators/slice/built-in-plan.js.map +1 -1
  124. package/src/generators/slice/slice.js +11 -3
  125. package/src/generators/slice/slice.js.map +1 -1
  126. package/src/generators/upgrade/upgrade.js +35 -0
  127. package/src/generators/upgrade/upgrade.js.map +1 -1
  128. package/src/generators/workload/workload.js +2 -2
  129. package/src/generators/workload/workload.js.map +1 -1
  130. package/src/git-policy/github-bootstrap.d.ts +3 -1
  131. package/src/git-policy/github-bootstrap.js +22 -5
  132. package/src/git-policy/github-bootstrap.js.map +1 -1
  133. package/src/infrastructure-change/local-capability.d.ts +73 -0
  134. package/src/infrastructure-change/local-capability.js +114 -0
  135. package/src/infrastructure-change/local-capability.js.map +1 -0
  136. package/src/infrastructure-change/model.d.ts +25 -4
  137. package/src/infrastructure-change/model.js +1 -0
  138. package/src/infrastructure-change/model.js.map +1 -1
  139. package/src/infrastructure-change/normalize.d.ts +4 -0
  140. package/src/infrastructure-change/normalize.js +47 -7
  141. package/src/infrastructure-change/normalize.js.map +1 -1
  142. package/src/infrastructure-change/plan.d.ts +30 -3
  143. package/src/infrastructure-change/plan.js +323 -13
  144. package/src/infrastructure-change/plan.js.map +1 -1
  145. package/src/infrastructure-change/risk.d.ts +3 -1
  146. package/src/infrastructure-change/risk.js +96 -16
  147. package/src/infrastructure-change/risk.js.map +1 -1
  148. package/src/local-dev/private-state.d.ts +2 -0
  149. package/src/local-dev/private-state.js +3 -1
  150. package/src/local-dev/private-state.js.map +1 -1
  151. package/src/performance/cost-controls.d.ts +5 -3
  152. package/src/performance/cost-controls.js +30 -24
  153. package/src/performance/cost-controls.js.map +1 -1
  154. package/src/performance/model.d.ts +1 -1
  155. package/src/performance/model.js +0 -2
  156. package/src/performance/model.js.map +1 -1
  157. package/src/performance/test-fixtures.js +0 -2
  158. package/src/performance/test-fixtures.js.map +1 -1
  159. package/src/release/source-authority.d.ts +1 -0
  160. package/src/release/source-authority.js +136 -9
  161. package/src/release/source-authority.js.map +1 -1
  162. package/src/repository-policy/deployment-plan.d.ts +4 -1
  163. package/src/repository-policy/deployment-plan.js +8 -0
  164. package/src/repository-policy/deployment-plan.js.map +1 -1
  165. package/src/repository-policy/foundation-profile.js +1 -2
  166. package/src/repository-policy/foundation-profile.js.map +1 -1
  167. package/src/repository-policy/policy.d.ts +25 -1
  168. package/src/repository-policy/policy.js +145 -4
  169. package/src/repository-policy/policy.js.map +1 -1
  170. package/src/schemas/performance-policy-v1.json +0 -2
  171. package/src/schemas/repository-policy-v1.json +41 -0
  172. package/src/secrets/operator.js +22 -4
  173. package/src/secrets/operator.js.map +1 -1
  174. package/src/secrets/verification.js +9 -1
  175. package/src/secrets/verification.js.map +1 -1
  176. package/src/sst-environment-source-format.d.ts +3 -0
  177. package/src/sst-environment-source-format.js +179 -0
  178. package/src/sst-environment-source-format.js.map +1 -0
  179. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  180. package/src/supply-chain/blueprint-verification-authority.js.map +1 -1
  181. package/src/supply-chain/generated-command.js +1 -0
  182. package/src/supply-chain/generated-command.js.map +1 -1
  183. package/src/supply-chain/generated-container-release-command.js +187 -38
  184. package/src/supply-chain/generated-container-release-command.js.map +1 -1
  185. package/src/supply-chain/generated-ecr-collector-command.js +12 -2
  186. package/src/supply-chain/generated-ecr-collector-command.js.map +1 -1
  187. package/src/supply-chain/generated-scanner-command.js +1 -0
  188. package/src/supply-chain/generated-scanner-command.js.map +1 -1
  189. package/src/supply-chain/sbom.d.ts +1 -1
  190. package/src/supply-chain/sbom.js +30 -5
  191. package/src/supply-chain/sbom.js.map +1 -1
  192. package/src/workload-roles/account-baseline.d.ts +11 -0
  193. package/src/workload-roles/account-baseline.js +253 -16
  194. package/src/workload-roles/account-baseline.js.map +1 -1
  195. package/src/workload-roles/authority.d.ts +3 -1
  196. package/src/workload-roles/authority.js +48 -2
  197. package/src/workload-roles/authority.js.map +1 -1
  198. package/src/workload-roles/aws-s3-state.js +27 -0
  199. package/src/workload-roles/aws-s3-state.js.map +1 -1
  200. package/src/workload-roles/boundary.d.ts +2 -1
  201. package/src/workload-roles/boundary.js +9 -2
  202. package/src/workload-roles/boundary.js.map +1 -1
  203. package/src/workload-roles/handler.js +52 -24
  204. package/src/workload-roles/handler.js.map +1 -1
  205. package/src/workload-roles/injection.js +1 -1
  206. package/src/workload-roles/injection.js.map +1 -1
  207. package/src/workload-roles/provisioner.js +12 -4
  208. package/src/workload-roles/provisioner.js.map +1 -1
  209. package/src/workload-roles/registration.d.ts +1 -0
  210. package/src/workload-roles/registration.js +5 -0
  211. package/src/workload-roles/registration.js.map +1 -1
  212. package/src/workload-roles/stage-boundary.js +1 -1
  213. package/src/workload-roles/stage-boundary.js.map +1 -1
  214. package/src/workload-roles/standard-slice.js +1 -0
  215. package/src/workload-roles/standard-slice.js.map +1 -1
@@ -18,6 +18,22 @@
18
18
  "type": "string",
19
19
  "enum": ["consumer", "foundation"]
20
20
  },
21
+ "expectedRoleArn": {
22
+ "type": "string",
23
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn):iam::[0-9]{12}:role/[A-Za-z0-9+=,.@_/-]{1,512}$",
24
+ "description": "Exact temporary-session IAM role expected for local governed planning."
25
+ },
26
+ "profile": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 128,
30
+ "description": "Optional AWS shared-config profile used to obtain temporary federated credentials."
31
+ },
32
+ "region": {
33
+ "type": "string",
34
+ "pattern": "^[a-z]{2}(-gov)?-[a-z]+-[0-9]$",
35
+ "description": "Exact AWS Region used by EBK control-plane preflights. This must match the committed deployment Region."
36
+ },
21
37
  "action": {
22
38
  "type": "string",
23
39
  "enum": ["deploy", "refresh", "remove"],
@@ -0,0 +1,53 @@
1
+ import { readFileSync, renameSync, writeFileSync } from 'node:fs';
2
+
3
+ const [statePath, target, action] = process.argv.slice(2);
4
+ if (!statePath || !target || !action) {
5
+ process.stderr.write('statePath, target, and action are required\n');
6
+ process.exit(2);
7
+ }
8
+
9
+ const [project, operation] = target.split(':');
10
+ const state = JSON.parse(readFileSync(statePath, 'utf8'));
11
+ const projectState = state.projects?.[project];
12
+ if (
13
+ !projectState ||
14
+ !['infrastructure-plan', 'deploy', 'refresh'].includes(operation)
15
+ ) {
16
+ process.stderr.write(`unsupported state-machine target: ${target}\n`);
17
+ process.exit(2);
18
+ }
19
+ if (operation === 'infrastructure-plan' && projectState.planFailure) {
20
+ process.stderr.write(`${projectState.planFailure}\n`);
21
+ process.exit(1);
22
+ }
23
+ if (operation !== 'infrastructure-plan' && projectState.interrupt) {
24
+ process.stderr.write(`interrupted ${target}\n`);
25
+ process.exit(130);
26
+ }
27
+ if (operation !== 'infrastructure-plan') {
28
+ projectState.observed = projectState.desired;
29
+ }
30
+ state.calls ??= [];
31
+ state.calls.push({ action, target });
32
+ const temporaryPath = `${statePath}.next`;
33
+ writeFileSync(temporaryPath, `${JSON.stringify(state)}\n`, { mode: 0o600 });
34
+ renameSync(temporaryPath, statePath);
35
+ process.stdout.write(
36
+ `${JSON.stringify({
37
+ desired: projectState.desired,
38
+ noOp: projectState.desired === projectState.observed,
39
+ observed: projectState.observed,
40
+ project,
41
+ providerReadOnly:
42
+ operation === 'infrastructure-plan' &&
43
+ projectState.providerReadOnly === true,
44
+ providerReadCopies:
45
+ operation === 'infrastructure-plan' &&
46
+ projectState.providerReadOnly === true
47
+ ? (projectState.providerReadCopies ?? 1)
48
+ : 0,
49
+ reviewRequired:
50
+ operation === 'infrastructure-plan' &&
51
+ projectState.desired !== projectState.observed,
52
+ })}\n`,
53
+ );
@@ -0,0 +1,23 @@
1
+ import type { ReadStream, WriteStream } from 'node:tty';
2
+ export interface LocalMutationApprovalRequest {
3
+ action: 'deploy' | 'refresh';
4
+ challenge: string;
5
+ planDigest: string;
6
+ project: string;
7
+ stage: 'development' | 'staging' | 'production';
8
+ }
9
+ export type LocalMutationApprover = (request: LocalMutationApprovalRequest) => Promise<boolean>;
10
+ export declare class LocalMutationApprovalUnavailableError extends Error {
11
+ constructor();
12
+ }
13
+ interface LocalApprovalTerminal {
14
+ input: ReadStream;
15
+ output: WriteStream;
16
+ }
17
+ /**
18
+ * Creates the public, non-secret operator acknowledgement used by deploy-local
19
+ * and refresh-local. This is an active-operator boundary, not an independent
20
+ * human-review claim: an authorized agent controlling a real TTY may answer it.
21
+ */
22
+ export declare function createTtyLocalMutationApprover(terminal?: LocalApprovalTerminal): LocalMutationApprover;
23
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalMutationApprovalUnavailableError = void 0;
4
+ exports.createTtyLocalMutationApprover = createTtyLocalMutationApprover;
5
+ const promises_1 = require("node:readline/promises");
6
+ class LocalMutationApprovalUnavailableError extends Error {
7
+ constructor() {
8
+ super('Local infrastructure mutation requires an interactive TTY operated by a human or authorized agent.');
9
+ this.name = 'LocalMutationApprovalUnavailableError';
10
+ }
11
+ }
12
+ exports.LocalMutationApprovalUnavailableError = LocalMutationApprovalUnavailableError;
13
+ /**
14
+ * Creates the public, non-secret operator acknowledgement used by deploy-local
15
+ * and refresh-local. This is an active-operator boundary, not an independent
16
+ * human-review claim: an authorized agent controlling a real TTY may answer it.
17
+ */
18
+ function createTtyLocalMutationApprover(terminal = {
19
+ input: process.stdin,
20
+ output: process.stderr,
21
+ }) {
22
+ return async ({ challenge }) => {
23
+ if (!terminal.input.isTTY || !terminal.output.isTTY) {
24
+ throw new LocalMutationApprovalUnavailableError();
25
+ }
26
+ const prompt = (0, promises_1.createInterface)({
27
+ input: terminal.input,
28
+ output: terminal.output,
29
+ terminal: true,
30
+ });
31
+ try {
32
+ const response = await prompt.question(`Type ${challenge} to acknowledge the current plan: `);
33
+ return response === challenge;
34
+ }
35
+ catch {
36
+ throw new LocalMutationApprovalUnavailableError();
37
+ }
38
+ finally {
39
+ prompt.close();
40
+ }
41
+ };
42
+ }
43
+ //# sourceMappingURL=local-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-approval.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/executors/local-deploy/local-approval.ts"],"names":[],"mappings":";;;AAkCA,wEA0BC;AA5DD,qDAAyD;AAezD,MAAa,qCAAsC,SAAQ,KAAK;IAC9D;QACE,KAAK,CACH,oGAAoG,CACrG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uCAAuC,CAAC;IACtD,CAAC;CACF;AAPD,sFAOC;AAOD;;;;GAIG;AACH,SAAgB,8BAA8B,CAC5C,WAAkC;IAChC,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB;IAED,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,0BAAe,EAAC;YAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CACpC,QAAQ,SAAS,oCAAoC,CACtD,CAAC;YACF,OAAO,QAAQ,KAAK,SAAS,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,qCAAqC,EAAE,CAAC;QACpD,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import { GetParameterCommand, PutParameterCommand } from '@aws-sdk/client-ssm';
3
+ import { type ExecutorContext, type PromiseExecutor } from '@nx/devkit';
4
+ import { type InfrastructurePlanV1 } from '../../infrastructure-change/index.js';
5
+ import { type CanonicalDeploymentStage } from '../../repository-policy/index.js';
6
+ import { type LocalMutationApprover } from './local-approval.js';
7
+ interface LocalDeployOptions {
8
+ action?: 'deploy' | 'refresh';
9
+ confirmation?: string;
10
+ expectedRoleArn: string;
11
+ phase?: 'foundation-bootstrap' | 'full-stage';
12
+ profile?: string;
13
+ stage: CanonicalDeploymentStage;
14
+ }
15
+ interface LocalDeployDependencies {
16
+ approve?: LocalMutationApprover;
17
+ backend?: (input: {
18
+ account: string;
19
+ applications: readonly string[];
20
+ profile?: string;
21
+ region: string;
22
+ stage: CanonicalDeploymentStage;
23
+ }) => Promise<LocalSstBackendAuthority>;
24
+ now?: () => Date;
25
+ run?: typeof spawnSync;
26
+ caller?: (region: string) => Promise<{
27
+ Account?: string;
28
+ Arn?: string;
29
+ }>;
30
+ }
31
+ interface LocalSstBackendAuthority {
32
+ authorityDigest: string;
33
+ createdApplications: readonly string[];
34
+ stateBucketArn: string;
35
+ }
36
+ /** @internal */
37
+ export declare function prepareLocalSstBackend(input: {
38
+ account: string;
39
+ applications: readonly string[];
40
+ profile?: string;
41
+ region: string;
42
+ stage: CanonicalDeploymentStage;
43
+ }, dependencies?: {
44
+ passphrase?: () => string;
45
+ send?: (command: GetParameterCommand | PutParameterCommand) => Promise<{
46
+ Parameter?: {
47
+ Name?: string;
48
+ Type?: string;
49
+ Value?: string;
50
+ Version?: number;
51
+ };
52
+ }>;
53
+ }): Promise<LocalSstBackendAuthority>;
54
+ /** @internal */
55
+ export declare function localPlanSummaryDigest(input: {
56
+ action?: 'deploy' | 'refresh';
57
+ account: string;
58
+ orderedProjects: readonly string[];
59
+ phase: 'foundation-bootstrap' | 'full-stage';
60
+ plans: Readonly<Record<string, InfrastructurePlanV1>>;
61
+ region: string;
62
+ sourceCommit: string;
63
+ stage: CanonicalDeploymentStage;
64
+ }): string;
65
+ export declare function runLocalDeploy(options: LocalDeployOptions, context: ExecutorContext, dependencies?: LocalDeployDependencies): Promise<{
66
+ success: boolean;
67
+ }>;
68
+ declare const executor: PromiseExecutor<LocalDeployOptions>;
69
+ export default executor;