@empire-builder-kit/nx 1.0.0-rc.2 → 1.0.0-rc.21

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 (253) hide show
  1. package/executors.json +10 -0
  2. package/package.json +4 -4
  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 +67 -10
  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/blueprint-trust/blueprint-trust.js +6 -0
  13. package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -1
  14. package/src/executors/deployment-plan/deployment-plan.js +5 -0
  15. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  16. package/src/executors/foundation-preflight/foundation-preflight.d.ts +2 -0
  17. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  18. package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -1
  19. package/src/executors/foundation-preflight/schema.json +10 -0
  20. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +2 -0
  21. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +2 -1
  22. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -1
  23. package/src/executors/foundation-profile-preflight/schema.json +19 -3
  24. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  25. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  26. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +229 -5
  27. package/src/executors/infrastructure-plan/infrastructure-plan.js +2298 -175
  28. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
  29. package/src/executors/infrastructure-plan/schema.json +16 -0
  30. package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +53 -0
  31. package/src/executors/local-deploy/local-approval.d.ts +23 -0
  32. package/src/executors/local-deploy/local-approval.js +43 -0
  33. package/src/executors/local-deploy/local-approval.js.map +1 -0
  34. package/src/executors/local-deploy/local-deploy.d.ts +69 -0
  35. package/src/executors/local-deploy/local-deploy.js +911 -0
  36. package/src/executors/local-deploy/local-deploy.js.map +1 -0
  37. package/src/executors/local-deploy/schema.json +42 -0
  38. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +3 -0
  39. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +94 -0
  40. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -0
  41. package/src/executors/router-waf-rehearsal/schema.json +9 -0
  42. package/src/executors/secret-metadata/schema.json +5 -0
  43. package/src/executors/secret-metadata/secret-metadata.d.ts +12 -1
  44. package/src/executors/secret-metadata/secret-metadata.js +68 -16
  45. package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
  46. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  47. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  48. package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -1
  49. package/src/executors/sst-lifecycle/run-sst-command.d.ts +8 -1
  50. package/src/executors/sst-lifecycle/run-sst-command.js +144 -12
  51. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  52. package/src/executors/sst-lifecycle/schema.json +13 -1
  53. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +25 -0
  54. package/src/executors/sst-lifecycle/sst-environment-source.js +213 -0
  55. package/src/executors/sst-lifecycle/sst-environment-source.js.map +1 -0
  56. package/src/foundation/index.d.ts +2 -0
  57. package/src/foundation/index.js +2 -0
  58. package/src/foundation/index.js.map +1 -1
  59. package/src/foundation/logging-preflight.js +1 -1
  60. package/src/foundation/logging-preflight.js.map +1 -1
  61. package/src/foundation/logging.d.ts +3 -1
  62. package/src/foundation/logging.js +1 -1
  63. package/src/foundation/logging.js.map +1 -1
  64. package/src/foundation/partial-state.d.ts +10 -0
  65. package/src/foundation/partial-state.js +21 -0
  66. package/src/foundation/partial-state.js.map +1 -0
  67. package/src/foundation/router-waf.d.ts +98 -0
  68. package/src/foundation/router-waf.js +401 -0
  69. package/src/foundation/router-waf.js.map +1 -0
  70. package/src/generators/function/function.js +2 -1
  71. package/src/generators/function/function.js.map +1 -1
  72. package/src/generators/post-generation-install.d.ts +1 -0
  73. package/src/generators/post-generation-install.js +134 -67
  74. package/src/generators/post-generation-install.js.map +1 -1
  75. package/src/generators/preset/generator.js +23 -3
  76. package/src/generators/preset/generator.js.map +1 -1
  77. package/src/generators/preset/schema.d.ts +7 -0
  78. package/src/generators/preset/schema.json +47 -0
  79. package/src/generators/preset/tool-versions.d.ts +5 -5
  80. package/src/generators/preset/tool-versions.js +4 -4
  81. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  82. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  83. package/src/generators/preset/workspace-files-ci-acceptance.js.map +1 -0
  84. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  85. package/src/generators/preset/workspace-files-developer-agent.js +25 -11
  86. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
  87. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  88. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -1
  89. package/src/generators/preset/workspace-files-performance-load.js +2 -1
  90. package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
  91. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  92. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -1
  93. package/src/generators/preset/workspace-files.d.ts +8 -4
  94. package/src/generators/preset/workspace-files.js +1039 -68
  95. package/src/generators/preset/workspace-files.js.map +1 -1
  96. package/src/generators/repository-policy/repository-policy.js +65 -3
  97. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  98. package/src/generators/repository-policy/schema.d.ts +6 -0
  99. package/src/generators/repository-policy/schema.json +46 -0
  100. package/src/generators/slice/built-in-plan-api-files.js +2 -1
  101. package/src/generators/slice/built-in-plan-api-files.js.map +1 -1
  102. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +19 -1
  103. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
  104. package/src/generators/slice/built-in-plan-data-files.js +16 -5
  105. package/src/generators/slice/built-in-plan-data-files.js.map +1 -1
  106. package/src/generators/slice/built-in-plan-data-retention-job-files.js +10 -6
  107. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -1
  108. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +25 -10
  109. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -1
  110. package/src/generators/slice/built-in-plan-foundation-files.js +2 -3
  111. package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -1
  112. package/src/generators/slice/built-in-plan-infrastructure-files.js +364 -29
  113. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
  114. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
  115. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -1
  116. package/src/generators/slice/built-in-plan-metadata-files.js +1 -0
  117. package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -1
  118. package/src/generators/slice/built-in-plan-operations-files.js +442 -5
  119. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
  120. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  121. package/src/generators/slice/built-in-plan-performance-files.js +41 -47
  122. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
  123. package/src/generators/slice/built-in-plan-project-files.js +14 -1
  124. package/src/generators/slice/built-in-plan-project-files.js.map +1 -1
  125. package/src/generators/slice/built-in-plan-release-files.js +235 -56
  126. package/src/generators/slice/built-in-plan-release-files.js.map +1 -1
  127. package/src/generators/slice/built-in-plan-testing-files.js +92 -5
  128. package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
  129. package/src/generators/slice/built-in-plan-web-files.js +13 -0
  130. package/src/generators/slice/built-in-plan-web-files.js.map +1 -1
  131. package/src/generators/slice/built-in-plan-workload-role-files.js +5 -2
  132. package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -1
  133. package/src/generators/slice/built-in-plan.d.ts +2 -1
  134. package/src/generators/slice/built-in-plan.js +8 -5
  135. package/src/generators/slice/built-in-plan.js.map +1 -1
  136. package/src/generators/slice/slice.js +11 -3
  137. package/src/generators/slice/slice.js.map +1 -1
  138. package/src/generators/upgrade/upgrade.js +35 -0
  139. package/src/generators/upgrade/upgrade.js.map +1 -1
  140. package/src/generators/workload/frozen-container.d.ts +3 -2
  141. package/src/generators/workload/frozen-container.js +6 -4
  142. package/src/generators/workload/frozen-container.js.map +1 -1
  143. package/src/generators/workload/workload.js +2 -2
  144. package/src/generators/workload/workload.js.map +1 -1
  145. package/src/git-policy/github-bootstrap.d.ts +3 -1
  146. package/src/git-policy/github-bootstrap.js +22 -5
  147. package/src/git-policy/github-bootstrap.js.map +1 -1
  148. package/src/git-policy/routing.d.ts +2 -0
  149. package/src/git-policy/routing.js +12 -1
  150. package/src/git-policy/routing.js.map +1 -1
  151. package/src/infrastructure-change/local-capability.d.ts +73 -0
  152. package/src/infrastructure-change/local-capability.js +114 -0
  153. package/src/infrastructure-change/local-capability.js.map +1 -0
  154. package/src/infrastructure-change/model.d.ts +25 -4
  155. package/src/infrastructure-change/model.js +1 -0
  156. package/src/infrastructure-change/model.js.map +1 -1
  157. package/src/infrastructure-change/normalize.d.ts +4 -0
  158. package/src/infrastructure-change/normalize.js +47 -7
  159. package/src/infrastructure-change/normalize.js.map +1 -1
  160. package/src/infrastructure-change/plan.d.ts +30 -3
  161. package/src/infrastructure-change/plan.js +323 -13
  162. package/src/infrastructure-change/plan.js.map +1 -1
  163. package/src/infrastructure-change/risk.d.ts +3 -1
  164. package/src/infrastructure-change/risk.js +96 -16
  165. package/src/infrastructure-change/risk.js.map +1 -1
  166. package/src/local-dev/environment-inspector.d.ts +1 -0
  167. package/src/local-dev/environment-inspector.js +21 -9
  168. package/src/local-dev/environment-inspector.js.map +1 -1
  169. package/src/local-dev/private-state.d.ts +2 -0
  170. package/src/local-dev/private-state.js +3 -1
  171. package/src/local-dev/private-state.js.map +1 -1
  172. package/src/performance/cost-controls.d.ts +5 -3
  173. package/src/performance/cost-controls.js +30 -24
  174. package/src/performance/cost-controls.js.map +1 -1
  175. package/src/performance/model.d.ts +1 -1
  176. package/src/performance/model.js +0 -2
  177. package/src/performance/model.js.map +1 -1
  178. package/src/performance/test-fixtures.js +0 -2
  179. package/src/performance/test-fixtures.js.map +1 -1
  180. package/src/release/source-authority.d.ts +1 -0
  181. package/src/release/source-authority.js +136 -9
  182. package/src/release/source-authority.js.map +1 -1
  183. package/src/repository-policy/deployment-plan.d.ts +4 -1
  184. package/src/repository-policy/deployment-plan.js +8 -0
  185. package/src/repository-policy/deployment-plan.js.map +1 -1
  186. package/src/repository-policy/foundation-profile.js +1 -2
  187. package/src/repository-policy/foundation-profile.js.map +1 -1
  188. package/src/repository-policy/policy.d.ts +25 -1
  189. package/src/repository-policy/policy.js +145 -4
  190. package/src/repository-policy/policy.js.map +1 -1
  191. package/src/schemas/performance-policy-v1.json +0 -2
  192. package/src/schemas/repository-policy-v1.json +41 -0
  193. package/src/secrets/operator.js +22 -4
  194. package/src/secrets/operator.js.map +1 -1
  195. package/src/secrets/verification.js +9 -1
  196. package/src/secrets/verification.js.map +1 -1
  197. package/src/sst-environment-source-format.d.ts +3 -0
  198. package/src/sst-environment-source-format.js +179 -0
  199. package/src/sst-environment-source-format.js.map +1 -0
  200. package/src/supply-chain/blueprint-trust-git.js +72 -21
  201. package/src/supply-chain/blueprint-trust-git.js.map +1 -1
  202. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  203. package/src/supply-chain/blueprint-verification-authority.js.map +1 -1
  204. package/src/supply-chain/blueprint-verification-execution.js +17 -2
  205. package/src/supply-chain/blueprint-verification-execution.js.map +1 -1
  206. package/src/supply-chain/build-output.d.ts +7 -1
  207. package/src/supply-chain/build-output.js +160 -20
  208. package/src/supply-chain/build-output.js.map +1 -1
  209. package/src/supply-chain/generated-command.js +131 -43
  210. package/src/supply-chain/generated-command.js.map +1 -1
  211. package/src/supply-chain/generated-container-release-command.js +187 -38
  212. package/src/supply-chain/generated-container-release-command.js.map +1 -1
  213. package/src/supply-chain/generated-ecr-collector-command.js +12 -2
  214. package/src/supply-chain/generated-ecr-collector-command.js.map +1 -1
  215. package/src/supply-chain/generated-scanner-command.js +114 -54
  216. package/src/supply-chain/generated-scanner-command.js.map +1 -1
  217. package/src/supply-chain/inventory.d.ts +17 -0
  218. package/src/supply-chain/inventory.js +114 -3
  219. package/src/supply-chain/inventory.js.map +1 -1
  220. package/src/supply-chain/pnpm-toolchain-authority.d.ts +4 -3
  221. package/src/supply-chain/pnpm-toolchain-authority.js +20 -34
  222. package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -1
  223. package/src/supply-chain/policy.js +4 -1
  224. package/src/supply-chain/policy.js.map +1 -1
  225. package/src/supply-chain/sbom.d.ts +1 -1
  226. package/src/supply-chain/sbom.js +30 -5
  227. package/src/supply-chain/sbom.js.map +1 -1
  228. package/src/supply-chain/scanner.js +10 -1
  229. package/src/supply-chain/scanner.js.map +1 -1
  230. package/src/workload-roles/account-baseline.d.ts +11 -0
  231. package/src/workload-roles/account-baseline.js +253 -16
  232. package/src/workload-roles/account-baseline.js.map +1 -1
  233. package/src/workload-roles/authority.d.ts +3 -1
  234. package/src/workload-roles/authority.js +48 -2
  235. package/src/workload-roles/authority.js.map +1 -1
  236. package/src/workload-roles/aws-s3-state.js +27 -0
  237. package/src/workload-roles/aws-s3-state.js.map +1 -1
  238. package/src/workload-roles/boundary.d.ts +2 -1
  239. package/src/workload-roles/boundary.js +9 -2
  240. package/src/workload-roles/boundary.js.map +1 -1
  241. package/src/workload-roles/handler.js +52 -24
  242. package/src/workload-roles/handler.js.map +1 -1
  243. package/src/workload-roles/injection.js +1 -1
  244. package/src/workload-roles/injection.js.map +1 -1
  245. package/src/workload-roles/provisioner.js +12 -4
  246. package/src/workload-roles/provisioner.js.map +1 -1
  247. package/src/workload-roles/registration.d.ts +1 -0
  248. package/src/workload-roles/registration.js +5 -0
  249. package/src/workload-roles/registration.js.map +1 -1
  250. package/src/workload-roles/stage-boundary.js +1 -1
  251. package/src/workload-roles/stage-boundary.js.map +1 -1
  252. package/src/workload-roles/standard-slice.js +1 -0
  253. package/src/workload-roles/standard-slice.js.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import { type ExecutorContext, type PromiseExecutor } from '@nx/devkit';
2
- import { type InfrastructureDriftStatus, type InfrastructureMutationAction, type InfrastructurePlanV1, type InfrastructureStateIdentityV1, type NormalizedSstDiffV1 } from '../../infrastructure-change/index.js';
2
+ import { type InfrastructureApprovalRecordV1, type InfrastructureAuthorizationEvidenceV1, type InfrastructureDriftStatus, type InfrastructureMutationAction, type InfrastructurePlanV1, type InfrastructureRiskAssessmentV1, type InfrastructureRiskPolicyV1, type InfrastructureStateIdentityV1, type NormalizedSstDiffV1 } from '../../infrastructure-change/index.js';
3
3
  import { type SstCommandInvocation, type SstLifecycleOptions } from '../sst-lifecycle/run-sst-command.js';
4
- export interface InfrastructurePlanExecutorOptions extends Pick<SstLifecycleOptions, 'cwd' | 'stage' | 'stageMode'> {
4
+ export interface InfrastructurePlanExecutorOptions extends Pick<SstLifecycleOptions, 'cwd' | 'expectedRoleArn' | 'profile' | 'region' | 'stage' | 'stageMode'> {
5
5
  action?: InfrastructureMutationAction;
6
6
  approvalPath?: string;
7
7
  configurationPath?: string;
@@ -15,7 +15,7 @@ export interface InfrastructurePlanExecutorOptions extends Pick<SstLifecycleOpti
15
15
  smokeEvidencePath?: string;
16
16
  }
17
17
  export interface InfrastructureResourceObservationCoverage {
18
- adapter: 'aws-resource-groups-tagging-api' | 'none' | 'sst-pulumi-refresh-preview';
18
+ adapter: 'aws-resource-groups-tagging-api' | 'none' | 'sst-pulumi-refresh-preview' | 'sst-pulumi-refresh-preview+aws-secrets-manager-version-stages';
19
19
  arnDigest: string | null;
20
20
  coveredProperties: readonly string[];
21
21
  type: string;
@@ -29,6 +29,61 @@ interface DriftEvidence {
29
29
  generatedAt: string;
30
30
  status: InfrastructureDriftStatus;
31
31
  }
32
+ interface RefreshPreviewDiagnosticResource {
33
+ changeBasis: readonly ('detailedDiff' | 'diffs' | 'old-new')[];
34
+ changedPropertyPaths: readonly string[];
35
+ logicalId: string;
36
+ resourceType: string;
37
+ }
38
+ interface RefreshPreviewExternalLookupNormalization {
39
+ changedPropertyPath: '/inputs/name' | '/inputs/tags/Name';
40
+ logicalId: string;
41
+ resourceType: string;
42
+ }
43
+ interface RefreshPreviewExternalFrameworkTagObservation {
44
+ changedPropertyPaths: readonly string[];
45
+ logicalId: string;
46
+ providerReadLogicalId: string;
47
+ resourceType: string;
48
+ }
49
+ interface RefreshPreviewDiagnostics {
50
+ authorityMode: 'ordinary-and-refresh-separated' | 'refresh-reconciliation';
51
+ command: {
52
+ errorCode: string | null;
53
+ signal: string | null;
54
+ status: number | null;
55
+ stderrBytes: number;
56
+ stdoutBytes: number;
57
+ };
58
+ commandSucceeded: boolean;
59
+ complete: boolean;
60
+ entryCounts: {
61
+ desired: number;
62
+ externalFrameworkTagObserved: number;
63
+ externalLookupNormalized: number;
64
+ inertSame: number;
65
+ refresh: number;
66
+ rejectedSame: number;
67
+ };
68
+ providerRefreshSeparated: boolean;
69
+ ordinaryDesired: {
70
+ complete: boolean;
71
+ failureCounts: Readonly<Record<string, number>>;
72
+ resourceCount: number;
73
+ };
74
+ postRefreshDesired: {
75
+ complete: boolean;
76
+ failureCounts: Readonly<Record<string, number>>;
77
+ operationCounts: Readonly<Record<string, number>>;
78
+ resourceCount: number;
79
+ };
80
+ digest: string;
81
+ kind: 'ebk-infrastructure-refresh-preview-diagnostics';
82
+ externalFrameworkTagObservations: readonly RefreshPreviewExternalFrameworkTagObservation[];
83
+ externalLookupNormalizations: readonly RefreshPreviewExternalLookupNormalization[];
84
+ resources: readonly RefreshPreviewDiagnosticResource[];
85
+ schemaVersion: 7;
86
+ }
32
87
  export interface InfrastructureObservation {
33
88
  callInventory: readonly string[];
34
89
  drift: DriftEvidence;
@@ -48,14 +103,23 @@ export interface InfrastructureObservedResource {
48
103
  retainedOnDelete: boolean | null;
49
104
  urnDigest: string;
50
105
  }
106
+ interface ReviewedApprovalFile {
107
+ approval: InfrastructureApprovalRecordV1;
108
+ governance?: unknown;
109
+ planned: InfrastructurePlanV1;
110
+ }
51
111
  interface CommandResult {
112
+ error?: NodeJS.ErrnoException;
113
+ signal?: NodeJS.Signals | null;
52
114
  status: number | null;
53
115
  stderr: string;
54
116
  stdout: string;
55
117
  }
56
118
  export interface InfrastructurePlanExecutorDependencies {
119
+ localCapability?: (input: Parameters<typeof consumeLocalMutationCapability>[0]) => void;
57
120
  now?: () => Date;
58
121
  observe?: (input: {
122
+ action: InfrastructureMutationAction;
59
123
  backendBootstrapDigest: string;
60
124
  childEnvironment: NodeJS.ProcessEnv;
61
125
  environment: NodeJS.ProcessEnv;
@@ -75,6 +139,29 @@ export interface InfrastructurePlanExecutorDependencies {
75
139
  shell: false;
76
140
  }) => CommandResult;
77
141
  }
142
+ export declare const MAX_SST_DIFF_JSON_BYTES: number;
143
+ interface InfrastructureBuildArtifactEntry {
144
+ digest: string;
145
+ path: string;
146
+ size: number;
147
+ }
148
+ interface InfrastructureBuildArtifactMaterial {
149
+ digest: string;
150
+ entries: readonly InfrastructureBuildArtifactEntry[];
151
+ kind: 'ebk-infrastructure-build-artifacts';
152
+ schemaVersion: 1;
153
+ }
154
+ /** @internal */
155
+ export declare function collectInfrastructureBuildArtifacts(projectRoot: string): InfrastructureBuildArtifactMaterial;
156
+ /** @internal */
157
+ export declare function infrastructureConfigurationMetadataDigest(input: {
158
+ buildArtifactDigest: string;
159
+ configurationInputs: readonly {
160
+ contents: string;
161
+ path: string;
162
+ }[];
163
+ releaseCandidateDigest: string;
164
+ }): string;
78
165
  type StandardRemoveProbeKind = 'aws-cloud-control' | 'aws-events-target' | 'aws-iam-role-policy' | 'aws-kms-retained' | 'aws-lambda-event-invoke-config' | 'aws-lambda-permission' | 'aws-logs-data-protection-policy' | 'aws-s3-retained' | 'aws-s3-object' | 'aws-secrets-manager-secret' | 'aws-sqs-queue-policy' | 'aws-ssm-parameter';
79
166
  interface StandardRemoveProbe {
80
167
  identifier: string;
@@ -83,6 +170,20 @@ interface StandardRemoveProbe {
83
170
  selector?: Readonly<Record<string, string>>;
84
171
  typeName?: string;
85
172
  }
173
+ export declare function matchesExpectedAssumedRoleArn(account: string, callerArn: string, expectedRoleArn: string): boolean;
174
+ export declare function localProductionConfirmation(input: {
175
+ action: InfrastructureMutationAction;
176
+ accountId: string;
177
+ region: string;
178
+ sourceCommit: string;
179
+ }): string;
180
+ export declare function revalidateLocalUnlockCallerAuthority(input: {
181
+ environment?: NodeJS.ProcessEnv;
182
+ invocation: SstCommandInvocation;
183
+ profile?: string;
184
+ spawn?: NonNullable<InfrastructurePlanExecutorDependencies['spawn']>;
185
+ }): void;
186
+ export declare function parseRefreshPreviewJson(value: string): unknown;
86
187
  /**
87
188
  * Reads the Pulumi StepEventStateMetadata `new.id` emitted by SST's pinned
88
189
  * JSON diff for imports. Only its digest leaves this private boundary.
@@ -92,20 +193,51 @@ export declare function extractPrivateImportIdentifierDigests(diffStdout: string
92
193
  export declare function approvalCandidateSourceCommit(context: ExecutorContext, options: InfrastructurePlanExecutorOptions, environment: NodeJS.ProcessEnv): string | undefined;
93
194
  /** @internal */
94
195
  export declare function createCandidateBoundSstChildEnvironment(environment: NodeJS.ProcessEnv, invocationEnvironment: SstCommandInvocation['environment'], candidateSourceCommit: string): NodeJS.ProcessEnv;
196
+ interface PulumiStateResource {
197
+ custom?: unknown;
198
+ dependencies?: unknown;
199
+ external?: unknown;
200
+ id?: unknown;
201
+ inputs?: unknown;
202
+ outputs?: unknown;
203
+ parent?: unknown;
204
+ provider?: unknown;
205
+ protect?: unknown;
206
+ retainOnDelete?: unknown;
207
+ type?: unknown;
208
+ urn?: unknown;
209
+ }
210
+ /** @internal */
211
+ export declare function normalizeDesiredSstDiffV4_17_1(input: {
212
+ errorCode?: string | null;
213
+ exitCode: number;
214
+ signal?: string | null;
215
+ spawnError?: boolean;
216
+ stderr?: string;
217
+ stdout: string | unknown;
218
+ toolVersion: string;
219
+ }): NormalizedSstDiffV1;
95
220
  export declare function assessPulumiRefreshPreview(input: {
221
+ action: InfrastructureMutationAction;
96
222
  invocation: SstCommandInvocation;
97
223
  ordinaryDiff: NormalizedSstDiffV1;
98
224
  spawn: NonNullable<InfrastructurePlanExecutorDependencies['spawn']>;
225
+ stateResources?: readonly PulumiStateResource[];
99
226
  toolVersion: string;
100
227
  childEnvironment: NodeJS.ProcessEnv;
101
228
  }): {
102
229
  commandSucceeded: boolean;
103
230
  complete: boolean;
104
- desiredMatchesOrdinary: boolean;
231
+ diagnostics: RefreshPreviewDiagnostics;
232
+ providerRefreshSeparated: boolean;
105
233
  digest: string;
106
234
  drift: NormalizedSstDiffV1;
107
235
  observedRefreshUrns: readonly string[];
236
+ rawDrift: string;
237
+ stderr: string;
108
238
  };
239
+ /** @internal */
240
+ export declare function requiresIamMutationAnalysis(_action: InfrastructureMutationAction, resource: NormalizedSstDiffV1['resources'][number]): boolean;
109
241
  export declare function standardRemoveProbeForResource(resource: InfrastructureObservedResource): StandardRemoveProbe;
110
242
  interface StandardRemoveProbeResult {
111
243
  present: boolean;
@@ -118,6 +250,7 @@ export declare function probeStandardRemoveResource(input: {
118
250
  spawn: NonNullable<InfrastructurePlanExecutorDependencies['spawn']>;
119
251
  }): StandardRemoveProbeResult;
120
252
  export declare function observeInfrastructureState(input: {
253
+ action: InfrastructureMutationAction;
121
254
  backendBootstrapDigest: string;
122
255
  childEnvironment: NodeJS.ProcessEnv;
123
256
  environment: NodeJS.ProcessEnv;
@@ -129,9 +262,100 @@ export declare function observeInfrastructureState(input: {
129
262
  spawn: NonNullable<InfrastructurePlanExecutorDependencies['spawn']>;
130
263
  toolVersion: string;
131
264
  }): InfrastructureObservation;
265
+ /** @internal */
266
+ export declare function actionRisk(risk: InfrastructureRiskAssessmentV1, action: InfrastructureMutationAction, options?: Readonly<{
267
+ diffComplete?: boolean;
268
+ }>): InfrastructureRiskAssessmentV1;
132
269
  export declare function validateGovernanceEvidence(reviewed: {
270
+ approval?: InfrastructureApprovalRecordV1;
133
271
  governance?: unknown;
134
- } | undefined, plan: InfrastructurePlanV1, observedResources?: readonly InfrastructureObservedResource[], importIdentifierDigests?: Readonly<Record<string, string>>): Readonly<Record<string, string>>;
272
+ } | undefined, plan: InfrastructurePlanV1, observedResources?: readonly InfrastructureObservedResource[], importIdentifierDigests?: Readonly<Record<string, string>>, adoptedImportPolicy?: InfrastructureRiskPolicyV1['adoptedImports']): Readonly<Record<string, string>>;
273
+ /** @internal */
274
+ export declare function createLocalPlanApprovalRecord(input: {
275
+ context: ExecutorContext;
276
+ environment: NodeJS.ProcessEnv;
277
+ now: Date;
278
+ plan: InfrastructurePlanV1;
279
+ }): InfrastructureApprovalRecordV1 | undefined;
280
+ /** @internal */
281
+ export declare function hasUnreviewableLocalPlanBlock(plan: InfrastructurePlanV1): boolean;
282
+ /** @internal */
283
+ export declare function createLocalRefreshGovernanceReview(input: {
284
+ approval: InfrastructureApprovalRecordV1;
285
+ environment: NodeJS.ProcessEnv;
286
+ plan: InfrastructurePlanV1;
287
+ }): ReviewedApprovalFile | undefined;
288
+ /** @internal */
289
+ export declare function createLocalDeployGovernanceReview(input: {
290
+ approval: InfrastructureApprovalRecordV1;
291
+ environment: NodeJS.ProcessEnv;
292
+ plan: InfrastructurePlanV1;
293
+ }): ReviewedApprovalFile | undefined;
294
+ /**
295
+ * Retains exact local approval for a plan that the stage-wide local executor
296
+ * has just recomputed and reviewed. This deliberately does not run SST again:
297
+ * the project mutation executor consumes one invocation-scoped capability and
298
+ * rechecks source, artifacts, credentials, policy, state identity, and lock
299
+ * immediately before spawn without claiming provider-preview replay.
300
+ *
301
+ * @internal
302
+ */
303
+ export declare function authorizeRetainedLocalInfrastructurePlan(input: {
304
+ context: ExecutorContext;
305
+ environment: NodeJS.ProcessEnv;
306
+ now: Date;
307
+ plan: InfrastructurePlanV1;
308
+ }): InfrastructureAuthorizationEvidenceV1;
309
+ /** @internal */
310
+ export declare function requiresGovernanceValidation(input: {
311
+ action: InfrastructureMutationAction;
312
+ adoptedImportCount: number;
313
+ hasApproval: boolean;
314
+ }): boolean;
315
+ /** @internal */
316
+ export declare function isLocalPlanReviewPending(input: {
317
+ context: ExecutorContext;
318
+ environment: NodeJS.ProcessEnv;
319
+ plan: InfrastructurePlanV1;
320
+ validation: InfrastructureAuthorizationEvidenceV1['validation'];
321
+ }): boolean;
322
+ interface LocalMutationStateObservation {
323
+ actorArn: string;
324
+ exportedState: unknown;
325
+ identity: InfrastructureStateIdentityV1;
326
+ resourceCount: number;
327
+ }
328
+ /** @internal */
329
+ export declare function observeLocalMutationStateIdentity(input: {
330
+ backendBootstrapDigest: string;
331
+ childEnvironment: NodeJS.ProcessEnv;
332
+ environment: NodeJS.ProcessEnv;
333
+ invocation: SstCommandInvocation;
334
+ now: Date;
335
+ project: string;
336
+ sourceCommit: string;
337
+ spawn: NonNullable<InfrastructurePlanExecutorDependencies['spawn']>;
338
+ }): LocalMutationStateObservation;
339
+ /** @internal */
340
+ export declare function retainLocalRefreshStateBackup(input: {
341
+ context: ExecutorContext;
342
+ now: Date;
343
+ observation: LocalMutationStateObservation;
344
+ plan: InfrastructurePlanV1;
345
+ project: string;
346
+ }): void;
347
+ declare function consumeLocalMutationCapability(input: {
348
+ action: Extract<InfrastructureMutationAction, 'deploy' | 'refresh'>;
349
+ authorizationContents: string;
350
+ context: ExecutorContext;
351
+ dependencies: InfrastructurePlanExecutorDependencies;
352
+ environment: NodeJS.ProcessEnv;
353
+ invocation: SstCommandInvocation;
354
+ now: Date;
355
+ options: InfrastructurePlanExecutorOptions;
356
+ plan: InfrastructurePlanV1;
357
+ planContents: string;
358
+ }): void;
135
359
  export declare function runInfrastructurePlanExecutor(options: InfrastructurePlanExecutorOptions, context: ExecutorContext, environment?: NodeJS.ProcessEnv, dependencies?: InfrastructurePlanExecutorDependencies): Promise<{
136
360
  success: boolean;
137
361
  }>;