@go-to-k/cdkd 0.235.0 → 0.236.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ec2-termination-protection-q-WGWgxa.js","names":[],"sources":["../src/utils/error-handler.ts","../src/provisioning/region-check.ts","../src/provisioning/import-helpers.ts","../src/provisioning/ec2-termination-protection.ts"],"sourcesContent":["import { getLogger } from './logger.js';\n\n/**\n * Base error class for cdkd\n */\nexport class CdkdError extends Error {\n public readonly code: string;\n public readonly cause: Error | undefined;\n\n constructor(message: string, code: string, cause?: Error) {\n super(message);\n this.code = code;\n this.cause = cause;\n this.name = 'CdkdError';\n Object.setPrototypeOf(this, CdkdError.prototype);\n }\n}\n\n/**\n * State management errors\n */\nexport class StateError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'STATE_ERROR', cause);\n this.name = 'StateError';\n Object.setPrototypeOf(this, StateError.prototype);\n }\n}\n\n/**\n * Lock acquisition errors\n */\nexport class LockError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'LOCK_ERROR', cause);\n this.name = 'LockError';\n Object.setPrototypeOf(this, LockError.prototype);\n }\n}\n\n/**\n * Synthesis errors\n */\nexport class SynthesisError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'SYNTHESIS_ERROR', cause);\n this.name = 'SynthesisError';\n Object.setPrototypeOf(this, SynthesisError.prototype);\n }\n}\n\n/**\n * Asset errors\n */\nexport class AssetError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'ASSET_ERROR', cause);\n this.name = 'AssetError';\n Object.setPrototypeOf(this, AssetError.prototype);\n }\n}\n\n/**\n * Local-invoke `docker build` failures.\n *\n * Surfaces the stderr captured from `docker build` so the user can\n * re-run the same command directly to debug Dockerfile syntax errors\n * or missing build context. Used by `src/local/docker-image-builder.ts`\n * (PR 5) for container Lambdas; the parallel `AssetError` covers the\n * `cdkd publish-assets` / `cdkd deploy` build path. Kept distinct from\n * `AssetError` so `cdkd local invoke` failures don't show up under the\n * \"asset\" error class.\n */\nexport class LocalInvokeBuildError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'LOCAL_INVOKE_BUILD_ERROR', cause);\n this.name = 'LocalInvokeBuildError';\n Object.setPrototypeOf(this, LocalInvokeBuildError.prototype);\n }\n}\n\n/**\n * Resource provisioning errors\n */\nexport class ProvisioningError extends CdkdError {\n public readonly resourceType: string;\n public readonly logicalId: string;\n public readonly physicalId: string | undefined;\n\n constructor(\n message: string,\n resourceType: string,\n logicalId: string,\n physicalId?: string,\n cause?: Error\n ) {\n super(message, 'PROVISIONING_ERROR', cause);\n this.resourceType = resourceType;\n this.logicalId = logicalId;\n this.physicalId = physicalId;\n this.name = 'ProvisioningError';\n Object.setPrototypeOf(this, ProvisioningError.prototype);\n }\n}\n\n/**\n * Resource provisioning timeout errors (per-resource wall-clock deadline).\n *\n * Thrown by `withResourceDeadline` when a single CREATE / UPDATE / DELETE\n * operation exceeds the user-configured `--resource-timeout`. The deploy\n * engine catches this, wraps it in {@link ProvisioningError}, and lets the\n * existing failure path (interrupt siblings → pre-rollback save → rollback\n * unless `--no-rollback`) take over.\n *\n * The message intentionally names the resource, type, region, elapsed time\n * and operation, plus how to override the default. Long-running providers\n * (e.g. Custom Resource: 1h polling cap) self-report their needed budget\n * via `getMinResourceTimeoutMs()`, so the user only needs a per-type\n * override (`--resource-timeout TYPE=DURATION`) when they want to bump a\n * specific non-self-reporting type or shorten a self-reported one.\n */\nexport class ResourceTimeoutError extends CdkdError {\n public readonly logicalId: string;\n public readonly resourceType: string;\n public readonly region: string;\n public readonly elapsedMs: number;\n public readonly operation: 'CREATE' | 'UPDATE' | 'DELETE';\n public readonly timeoutMs: number;\n\n constructor(\n logicalId: string,\n resourceType: string,\n region: string,\n elapsedMs: number,\n operation: 'CREATE' | 'UPDATE' | 'DELETE',\n timeoutMs: number\n ) {\n const elapsedLabel = formatDuration(elapsedMs);\n const timeoutLabel = formatDuration(timeoutMs);\n super(\n `Resource ${logicalId} (${resourceType}) in ${region} timed out after ${timeoutLabel} during ${operation} (elapsed ${elapsedLabel}).\\n` +\n 'This may indicate a stuck Cloud Control polling loop, hung Custom Resource, or\\n' +\n `slow ENI provisioning. Re-run with --resource-timeout ${resourceType}=<DURATION>\\n` +\n 'to bump the budget for this resource type only, or --verbose to see the\\n' +\n 'underlying provider activity.',\n 'RESOURCE_TIMEOUT'\n );\n this.logicalId = logicalId;\n this.resourceType = resourceType;\n this.region = region;\n this.elapsedMs = elapsedMs;\n this.operation = operation;\n this.timeoutMs = timeoutMs;\n this.name = 'ResourceTimeoutError';\n Object.setPrototypeOf(this, ResourceTimeoutError.prototype);\n }\n}\n\n/**\n * Format a duration in milliseconds as a short human-readable label\n * (`30m`, `1h30m`, `45s`). Used by {@link ResourceTimeoutError} so the\n * error message stays compact.\n */\nfunction formatDuration(ms: number): string {\n if (ms < 60_000) {\n return `${Math.round(ms / 1000)}s`;\n }\n const totalMinutes = Math.round(ms / 60_000);\n if (totalMinutes < 60) return `${totalMinutes}m`;\n const hours = Math.floor(totalMinutes / 60);\n const minutes = totalMinutes % 60;\n return minutes === 0 ? `${hours}h` : `${hours}h${minutes}m`;\n}\n\n/**\n * Dependency resolution errors\n */\nexport class DependencyError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'DEPENDENCY_ERROR', cause);\n this.name = 'DependencyError';\n Object.setPrototypeOf(this, DependencyError.prototype);\n }\n}\n\n/**\n * Configuration errors\n */\nexport class ConfigError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'CONFIG_ERROR', cause);\n this.name = 'ConfigError';\n Object.setPrototypeOf(this, ConfigError.prototype);\n }\n}\n\n/**\n * Signals a partial-failure outcome that should map to exit code 2 (not 1).\n *\n * Used by `cdkd destroy` and `cdkd state destroy` when one or more\n * per-resource deletes failed but the overall command finished its work\n * (state.json is preserved, the rest of the stack was deleted, and the\n * user can re-run to clean up the remaining resources).\n *\n * Exit code conventions:\n * - 0: command completed successfully, no resources left in error state.\n * - 1: command-level failure (auth error, bad arguments, synth crash,\n * unhandled exception). Default for any thrown error.\n * - 2: partial failure — work completed but some resources are still in\n * an error state. Re-running typically resolves it. Documented in\n * README's \"Exit codes\" section.\n *\n * `handleError` recognizes this class via `instanceof` and uses its\n * `exitCode` instead of the default 1.\n */\nexport class PartialFailureError extends CdkdError {\n readonly exitCode: number = 2;\n\n constructor(message: string, cause?: Error) {\n super(message, 'PARTIAL_FAILURE', cause);\n this.name = 'PartialFailureError';\n Object.setPrototypeOf(this, PartialFailureError.prototype);\n }\n}\n\n/**\n * Signals that a provider cannot perform an in-place `update` for a\n * resource type — most commonly because the AWS resource is structurally\n * immutable (`AWS::Lambda::LayerVersion`, `AWS::S3Tables::TableBucket` once\n * created, certain `AWS::EC2::*` sub-resources) or because the provider\n * surfaces a sub-resource attachment whose only mutation pattern is\n * delete + add (Lambda permission statements, IAM policy attachments).\n *\n * Surfaced through `cdkd drift --revert`, which calls\n * `provider.update(logicalId, physicalId, type, stateProps, awsProps)` to\n * push cdkd state values back into AWS for every drifted resource. When a\n * provider throws this error, the drift command collects it as a\n * per-resource outcome distinct from a generic AWS update failure: the\n * fix is to re-deploy with `--replace` (or recreate the resource), not to\n * retry the update.\n *\n * Carries the same `exitCode = 2` as {@link PartialFailureError} so a\n * drift run that hits one immutable resource is reported as partial-\n * success rather than fatal — the rest of the drifted resources still\n * had their `update` invoked, and the user has a clear next step printed\n * for the unsupported one.\n */\nexport class ResourceUpdateNotSupportedError extends CdkdError {\n readonly exitCode: number = 2;\n public readonly resourceType: string;\n public readonly logicalId: string;\n /**\n * Human-readable hint printed alongside the error. The default is\n * \"use cdkd deploy with --replace, or change the resource definition\n * to create a new version\" — providers are encouraged to override\n * with a more specific suggestion when one is available (e.g.\n * Lambda::Permission's \"delete + add a new statement\").\n */\n public readonly suggestion: string | undefined;\n\n constructor(resourceType: string, logicalId: string, suggestion?: string, cause?: Error) {\n const tail = suggestion\n ? suggestion\n : 'use cdkd deploy with --replace, or change the resource definition to create a new version';\n super(\n `${resourceType} (${logicalId}) cannot be updated in place: ${tail}.`,\n 'RESOURCE_UPDATE_NOT_SUPPORTED',\n cause\n );\n this.resourceType = resourceType;\n this.logicalId = logicalId;\n this.suggestion = suggestion;\n this.name = 'ResourceUpdateNotSupportedError';\n Object.setPrototypeOf(this, ResourceUpdateNotSupportedError.prototype);\n }\n}\n\n/**\n * Signals a refusal to destroy a stack whose CDK manifest has\n * `terminationProtection: true`.\n *\n * Surfaced from `cdkd destroy <stack>` / `cdkd destroy --all` BEFORE\n * any lock acquisition or per-resource delete. In multi-stack runs\n * (e.g. `--all`) this counts as a per-stack failure and the rest of\n * the targets continue — the aggregated count is wrapped in\n * {@link PartialFailureError} so the command exits with code 2.\n *\n * The bypass workflow is documented in the message: edit the CDK code\n * (`new Stack(app, '...', { terminationProtection: false })`),\n * redeploy, then retry the destroy. A future `--remove-protection`\n * flag (separate scope) will provide an explicit one-shot bypass.\n *\n * Note: `cdkd state destroy` (state-only, no synth) does NOT honor\n * `terminationProtection` — the flag is a CDK property not persisted\n * in cdkd's state.json. Use `cdkd destroy` when synth is available.\n */\nexport class StackTerminationProtectionError extends CdkdError {\n public readonly stackName: string;\n\n constructor(stackName: string, cause?: Error) {\n super(\n `Stack '${stackName}' has terminationProtection: true and cannot be destroyed. ` +\n `Set terminationProtection: false in the CDK code, redeploy, then retry 'cdkd destroy ${stackName}'.`,\n 'STACK_TERMINATION_PROTECTION',\n cause\n );\n this.stackName = stackName;\n this.name = 'StackTerminationProtectionError';\n Object.setPrototypeOf(this, StackTerminationProtectionError.prototype);\n }\n}\n\n/**\n * `cdkd destroy <child>` refused because the named stack is a nested\n * child of another stack. Mirrors CloudFormation's `you can't directly\n * destroy a nested stack` semantic — destroying the child without\n * touching the parent would leave the parent's `AWS::CloudFormation::Stack`\n * record pointing at non-existent resources, and the parent's next\n * deploy would silently try to re-create them.\n *\n * Detected by reading the loaded state's v6 `parentStack` field — only\n * state files written by `NestedStackProvider.create` (or by the\n * recursive `cdkd import --migrate-from-cloudformation` walk) carry\n * this field; top-level stacks have `parentStack: undefined` and pass\n * the guard unchanged.\n *\n * Fires from `cdkd destroy` AFTER state load but BEFORE lock\n * acquisition or any per-resource delete, so the refusal is cheap.\n * Surfaced as a per-stack failure (wrapped in {@link PartialFailureError},\n * exit code 2) in multi-stack runs — siblings continue.\n *\n * Bypass paths (both intentional escape hatches):\n *\n * 1. `cdkd destroy <parent>` — the normal cascading-destroy path; the\n * parent's reverse-DAG walks into the child via\n * `NestedStackProvider.delete` and removes both layers atomically.\n * 2. `cdkd state destroy <child>` — state-only destroy with no parent\n * coupling check. The state-driven entry point intentionally\n * bypasses this guard for the same reason `cdkd state destroy`\n * bypasses `terminationProtection`: it's the \"I know what I'm\n * doing\" path for cleaning up state when synth is unavailable or\n * the user accepts leaving the parent's reference dangling.\n */\nexport class NestedStackChildDirectDestroyError extends CdkdError {\n public readonly stackName: string;\n public readonly parentStack: string;\n public readonly parentLogicalId?: string;\n\n constructor(stackName: string, parentStack: string, parentLogicalId?: string, cause?: Error) {\n const logicalIdSuffix = parentLogicalId ? ` (parent's logical id: ${parentLogicalId})` : '';\n super(\n `Stack '${stackName}' is a nested child of '${parentStack}'${logicalIdSuffix}; ` +\n `directly destroying a nested stack is not supported. ` +\n `Either run 'cdkd destroy ${parentStack}' to cascade-delete this child along with its parent, ` +\n `or run 'cdkd state destroy ${stackName}' if you intentionally want to leave the parent's ` +\n `reference dangling (the state-only escape hatch).`,\n 'NESTED_STACK_CHILD_DIRECT_DESTROY',\n cause\n );\n this.stackName = stackName;\n this.parentStack = parentStack;\n if (parentLogicalId !== undefined) this.parentLogicalId = parentLogicalId;\n this.name = 'NestedStackChildDirectDestroyError';\n Object.setPrototypeOf(this, NestedStackChildDirectDestroyError.prototype);\n }\n}\n\n/**\n * One consumer that still references the producer being destroyed via\n * `Fn::ImportValue`. Surfaced inside {@link StackHasActiveImportsError}.\n */\nexport interface ActiveImportConsumer {\n consumerStack: string;\n consumerRegion: string;\n exportName: string;\n}\n\n/**\n * `cdkd destroy <producer>` refused because at least one consumer stack\n * still records an `Fn::ImportValue` reference to one of the producer's\n * outputs. This matches CloudFormation's strong-reference semantics —\n * CFn rejects `DeleteStack` for an exporter while an importer exists.\n *\n * cdkd has no `--force` escape hatch for this (intentionally, mirroring\n * CFn). The error message lists every offending consumer and points the\n * user at the two valid resolution paths:\n *\n * 1. Destroy the consumer first: `cdkd destroy <consumer>`\n * 2. Remove the `Fn::ImportValue` from the consumer's template and\n * redeploy, then retry the producer destroy.\n *\n * Weak-reference consumers (`Fn::GetStackOutput`, cdkd-specific) never\n * trigger this error by design — the producer stays deletable\n * independently of consumers when the user intentionally chose a weak\n * reference at template-authoring time.\n *\n * Exit code 2 (same as `PartialFailureError`) so multi-stack `cdkd\n * destroy --all` runs that partially succeed still surface as\n * non-zero without being indistinguishable from a fatal cdkd error.\n */\nexport class StackHasActiveImportsError extends CdkdError {\n readonly exitCode: number = 2;\n public readonly producerStack: string;\n public readonly producerRegion: string;\n public readonly consumers: ActiveImportConsumer[];\n\n constructor(\n producerStack: string,\n producerRegion: string,\n consumers: ActiveImportConsumer[],\n cause?: Error\n ) {\n const lines = consumers.map(\n (c) => ` - ${c.consumerStack} (${c.consumerRegion}): imports export '${c.exportName}'`\n );\n super(\n `Cannot destroy stack '${producerStack}' (${producerRegion}): ` +\n `the following stacks still import its outputs via Fn::ImportValue:\\n` +\n `${lines.join('\\n')}\\n\\n` +\n `This matches CloudFormation's strong-reference semantics — exports are\\n` +\n `protected as long as a consumer references them.\\n\\n` +\n `To proceed:\\n` +\n ` 1. Destroy the consumer first: cdkd destroy <consumer-stack>\\n` +\n ` 2. Or remove the Fn::ImportValue from the consumer's template\\n` +\n ` (e.g. inline the value, or refactor) and re-deploy the consumer,\\n` +\n ` then retry this destroy.\\n\\n` +\n `Note: cdkd's Fn::GetStackOutput intrinsic is a weak alternative that\\n` +\n `does NOT protect the producer — use it when you intentionally want\\n` +\n `the producer to be deletable independently of consumers.`,\n 'STACK_HAS_ACTIVE_IMPORTS',\n cause\n );\n this.producerStack = producerStack;\n this.producerRegion = producerRegion;\n this.consumers = consumers;\n this.name = 'StackHasActiveImportsError';\n Object.setPrototypeOf(this, StackHasActiveImportsError.prototype);\n }\n}\n\n/**\n * Signals that `cdkd local start-api`'s route discovery hit an unsupported\n * shape — non-AWS_PROXY integration, ApiGwV2 service integration\n * (`IntegrationSubtype` set), WebSocket protocol, Lambda::Url with an\n * unrecognized `AuthType` (anything other than `'NONE'` / `'AWS_IAM'`),\n * or an unsupported intrinsic function in `IntegrationUri`. (Lambda::Url\n * with `InvokeMode: RESPONSE_STREAM` is a normal route dispatched via\n * the streaming protocol — #467. Lambda::Url with `AuthType: 'AWS_IAM'`\n * is a normal route verified through the SigV4 pipeline — #621.)\n *\n * The message names every offending route and points the user at the\n * deferred follow-up PR (8b for authorizers, etc.). Hard-error at\n * discovery so the server never starts in a half-working state.\n */\nexport class RouteDiscoveryError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'ROUTE_DISCOVERY_ERROR', cause);\n this.name = 'RouteDiscoveryError';\n Object.setPrototypeOf(this, RouteDiscoveryError.prototype);\n }\n}\n\n/**\n * Signals an unrecoverable failure inside `cdkd local start-api`'s HTTP\n * server — port-binding failure, RIE returned malformed JSON, container\n * pool acquire timed out, etc. Distinct from {@link RouteDiscoveryError}\n * which fires before the server starts.\n */\nexport class StartApiServerError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'START_API_SERVER_ERROR', cause);\n this.name = 'StartApiServerError';\n Object.setPrototypeOf(this, StartApiServerError.prototype);\n }\n}\n\n/**\n * Signals a `cdkd local run-task` orchestration failure that did not\n * originate from a lower-level module (those throw their own narrower\n * errors — `EcsTaskResolutionError`, `EcsSecretsResolutionError`,\n * `DockerRunnerError`, `LocalInvokeBuildError`). Used by the runner /\n * CLI when the failure is meaningful only at the task-orchestrator\n * layer (e.g. cyclic dependsOn, essential container did not start).\n */\nexport class LocalRunTaskError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'LOCAL_RUN_TASK_ERROR', cause);\n this.name = 'LocalRunTaskError';\n Object.setPrototypeOf(this, LocalRunTaskError.prototype);\n }\n}\n\n/**\n * Signals a `cdkd local start-service` orchestration failure (Phase 2\n * of #262 — `AWS::ECS::Service` emulator). Distinct from\n * `LocalRunTaskError` because the service runner has its own lifecycle\n * (long-running replica pool, restart-on-exit), so a failure inside it\n * carries different operator semantics than a one-shot task failure.\n */\nexport class LocalStartServiceError extends CdkdError {\n constructor(message: string, cause?: Error) {\n super(message, 'LOCAL_START_SERVICE_ERROR', cause);\n this.name = 'LocalStartServiceError';\n Object.setPrototypeOf(this, LocalStartServiceError.prototype);\n }\n}\n\n/**\n * Signals that the upstream `cdk` CLI is not available on PATH (or at\n * the override path passed via `--cdk-bin`). Surfaced from `cdkd migrate`\n * (#465 PR A) before any other work runs.\n *\n * The message includes the install hint `npm install -g aws-cdk@latest`\n * so users on a fresh machine see exactly how to recover.\n */\nexport class MissingCdkCliError extends CdkdError {\n constructor(detail?: string, cause?: Error) {\n const head = detail ?? \"upstream 'cdk' CLI not found on PATH\";\n super(\n `${head}. ` +\n `'cdkd migrate' shells out to the upstream aws-cdk CLI for L1 codegen — ` +\n `install it with 'npm install -g aws-cdk@latest' (or pass --cdk-bin <path>).`,\n 'MISSING_CDK_CLI',\n cause\n );\n this.name = 'MissingCdkCliError';\n Object.setPrototypeOf(this, MissingCdkCliError.prototype);\n }\n}\n\n/**\n * Generic local-migrate orchestration failure (#465 PR A). Used by\n * `cdkd migrate` for pre-flight rejections (Custom Resource / nested\n * stack / non-terminal CFn stack state), output-dir collisions, and\n * `cdk migrate` subprocess failures whose underlying stderr is folded\n * into the error message. Exit code 2 (partial-failure family) because\n * some pre-flight failures leave the user with a partially-populated\n * output directory that's still useful for debugging.\n */\nexport class LocalMigrateError extends CdkdError {\n readonly exitCode: number = 2;\n\n constructor(message: string, cause?: Error) {\n super(message, 'LOCAL_MIGRATE_ERROR', cause);\n this.name = 'LocalMigrateError';\n Object.setPrototypeOf(this, LocalMigrateError.prototype);\n }\n}\n\n/**\n * CloudFormation macro / `Fn::Transform` expansion failure (#463).\n *\n * cdkd hands templates that declare `Transform: [...]` (or carry\n * `Fn::Transform: {...}` snippets) to CloudFormation server-side via a\n * transient `CreateChangeSet --change-set-type CREATE` against a\n * `cdkd-macro-expand-<id>` stack name. This error wraps every failure\n * mode of that round-trip:\n *\n * - `CreateChangeSet` rejection (bad template, missing macro IAM\n * permission, custom macro not found in the account).\n * - Changeset settles in `FAILED` (`StatusReason` from CFn is\n * surfaced verbatim — typically a custom macro Lambda error).\n * - Waiter timeout (the macro Lambda is stuck or oversized).\n * - `GetTemplate --template-stage Processed` returns no body (would\n * indicate a CFn-side regression — fail loud rather than silently\n * proceed with the un-expanded template).\n * - Multi-stage detection: the expanded template still contains\n * macros, which cdkd v1 does not support (the design intentionally\n * rejects this so a second round-trip is not silently triggered).\n *\n * The error surfaces at exit code 2 (partial-failure family) — the\n * cleanup `finally` in the expander always runs `DeleteChangeSet` +\n * `DeleteStack` regardless of this error firing, so a failed\n * expansion never leaves a transient CFn stack behind in a routine\n * case. The user can re-run `cdkd deploy` once the upstream cause is\n * fixed.\n */\nexport class MacroExpansionError extends CdkdError {\n readonly exitCode: number = 2;\n\n constructor(message: string, cause?: Error) {\n super(message, 'MACRO_EXPANSION_ERROR', cause);\n this.name = 'MacroExpansionError';\n Object.setPrototypeOf(this, MacroExpansionError.prototype);\n }\n}\n\n/**\n * Check if error is a cdkd error\n */\nexport function isCdkdError(error: unknown): error is CdkdError {\n return error instanceof CdkdError;\n}\n\n/**\n * Format error for display\n */\nexport function formatError(error: unknown): string {\n if (isCdkdError(error)) {\n let message = `${error.name}: ${error.message}`;\n if (error.cause) {\n message += `\\nCaused by: ${error.cause.message}`;\n }\n return message;\n }\n\n if (error instanceof Error) {\n return `${error.name}: ${error.message}`;\n }\n\n return String(error);\n}\n\n/**\n * Global error handler\n *\n * Default exit code is 1 (general error). `PartialFailureError`\n * overrides it to 2 so callers can distinguish \"command crashed /\n * unauthorized / bad arguments\" from \"command completed but some\n * resources are still in an error state, re-run to clean up\".\n *\n * A {@link CdkdError} subclass may set `silent = true` to suppress the\n * default `logger.error` line — used by `cdkd drift` where the command\n * has already printed a richer report and only needs the exit code.\n */\nexport function handleError(error: unknown): never {\n const logger = getLogger();\n const silent = error instanceof CdkdError && (error as CdkdError & { silent?: boolean }).silent;\n if (!silent) {\n logger.error(formatError(error));\n }\n\n if (error instanceof Error && error.stack) {\n logger.debug('Stack trace:', error.stack);\n }\n\n // Honor any CdkdError subclass that declares a custom `exitCode`\n // field (PartialFailureError + ResourceUpdateNotSupportedError +\n // StackHasActiveImportsError + LocalMigrateError + MacroExpansionError\n // etc.). Falling back to 1 covers `CdkdError` subclasses with no\n // override and every non-cdkd error.\n const customExitCode =\n error instanceof CdkdError ? (error as CdkdError & { exitCode?: number }).exitCode : undefined;\n const exitCode = typeof customExitCode === 'number' ? customExitCode : 1;\n process.exit(exitCode);\n}\n\n/**\n * Wrap async function with error handling\n *\n * Note: Uses `any[]` for args to support Commander.js action handlers\n * which can have various parameter types\n */\nexport function withErrorHandling<Args extends unknown[], Return extends Promise<void> | void>(\n fn: (...args: Args) => Return\n): (...args: Args) => Promise<void> {\n return async (...args: Args): Promise<void> => {\n try {\n await fn(...args);\n } catch (error) {\n handleError(error);\n }\n };\n}\n\n/**\n * Context passed to {@link normalizeAwsError} so the rewritten message can\n * name the bucket/operation that produced the synthetic SDK error.\n */\nexport interface NormalizeAwsErrorContext {\n bucket?: string;\n operation?: string;\n}\n\n/**\n * Convert AWS SDK v3's synthetic `Unknown` / `UnknownError` exception into\n * an actionable `Error` keyed off `$metadata.httpStatusCode`.\n *\n * Background — why this helper exists:\n * AWS SDK v3 produces a synthetic `name: 'Unknown'`, `message:\n * 'UnknownError'` exception when the protocol parser hits a HEAD response\n * with an empty body. The most common trigger is `HeadBucket` against a\n * bucket in a different region than the client (S3 returns 301\n * PermanentRedirect with `x-amz-bucket-region` set, but the redirect\n * middleware doesn't recover from the empty body). Surfacing the literal\n * string `UnknownError` to users is uninformative.\n *\n * Behavior:\n * - Non-AWS-SDK errors (anything where `name` is not `Unknown` and\n * `message` is not `UnknownError`) pass through unchanged.\n * - AWS SDK Unknown errors are mapped by HTTP status:\n * - 301 → `Bucket '<name>' is in a different region…` (auto-resolved\n * elsewhere; if this surfaces, it's a bug worth reporting).\n * - 403 → `Access denied to bucket '<name>'.`\n * - 404 → `Bucket '<name>' does not exist.`\n * - other / unknown → `S3 error during <operation> on '<bucket>' (HTTP\n * <status>).`\n */\nexport function normalizeAwsError(err: unknown, context: NormalizeAwsErrorContext = {}): Error {\n if (!(err instanceof Error)) {\n return new Error(String(err));\n }\n\n // Detect the AWS SDK v3 \"Unknown\" synthetic exception. Other errors pass\n // through unchanged so we don't accidentally rewrite a legitimate AWS\n // error message.\n const isUnknown = err.name === 'Unknown' || err.message === 'UnknownError';\n if (!isUnknown) return err;\n\n const meta = (err as { $metadata?: { httpStatusCode?: number } }).$metadata;\n const status = meta?.httpStatusCode;\n const bucket = context.bucket ?? '<unknown bucket>';\n const operation = context.operation ?? 'operation';\n\n switch (status) {\n case 301: {\n // Try to surface the bucket's actual region from the response header\n // when the SDK exposes it. Header keys are lowercased by the SDK.\n const responseHeaders = (err as { $response?: { headers?: Record<string, string> } })\n .$response?.headers;\n const region =\n responseHeaders?.['x-amz-bucket-region'] ?? responseHeaders?.['X-Amz-Bucket-Region'];\n const where = region ? ` (in ${region})` : '';\n return new Error(\n `Bucket '${bucket}'${where} is in a different region than the client. ` +\n `cdkd resolves this automatically; if you see this message, please report it.`\n );\n }\n case 403:\n return new Error(\n `Access denied to bucket '${bucket}'. Verify credentials and bucket policy.`\n );\n case 404:\n return new Error(`Bucket '${bucket}' does not exist.`);\n default: {\n const statusStr = status !== undefined ? `HTTP ${status}` : 'unknown HTTP status';\n return new Error(\n `S3 error during ${operation} on '${bucket}' (${statusStr}). ` +\n `See CloudTrail for details.`\n );\n }\n }\n}\n","import { ProvisioningError } from '../utils/error-handler.js';\n\n/**\n * Context passed to provider delete operations.\n *\n * `expectedRegion` is the region that the resource is expected to live in,\n * sourced from the stack state (`StackState.region`). When set, providers\n * use it to verify that a `NotFound` error from the AWS client is genuinely\n * \"the resource is gone\", and not a silent miss caused by the client\n * pointing at a different region than where the resource actually lives.\n */\nexport interface DeleteContext {\n /**\n * Region recorded in the stack state when the resource was created.\n * Optional: when omitted (or set to undefined), providers preserve their\n * existing idempotent behavior — i.e., NotFound is treated as success\n * without verification. The explicit `undefined` is permitted so callers\n * can spread `state.region` (which is itself `string | undefined`)\n * directly without first narrowing.\n */\n expectedRegion?: string | undefined;\n\n /**\n * If true, providers MUST flip per-resource deletion protection off\n * in-place before issuing the actual delete API call. Set by `cdkd\n * destroy --remove-protection` / `cdkd state destroy --remove-protection`.\n *\n * Providers handle the in-place flip-off only for protection-bearing\n * resource types (e.g. `AWS::Logs::LogGroup` `DeletionProtectionEnabled`,\n * `AWS::RDS::DBInstance` / `DBCluster` `DeletionProtection`,\n * `AWS::DocDB::DBCluster` `DeletionProtection` (DocDB DBInstance has\n * no protection field), `AWS::Neptune::DBCluster` /\n * `AWS::Neptune::DBInstance` `DeletionProtection`,\n * `AWS::DynamoDB::Table` `DeletionProtectionEnabled`,\n * `AWS::EC2::Instance` `DisableApiTermination`,\n * `AWS::ElasticLoadBalancingV2::LoadBalancer`\n * `deletion_protection.enabled` attribute). Resource types that do not\n * have a corresponding protection field treat this flag as a no-op —\n * the existing delete logic runs unchanged.\n *\n * The flip-off call is idempotent: it is always issued when this flag\n * is set (and protection is supported on the type), regardless of\n * whether the resource actually has protection enabled. AWS APIs\n * accept the no-op (already-disabled) case without error; \"not found\"\n * / similar errors during the flip-off are logged at debug and the\n * delete proceeds.\n *\n * When `false` (the default), providers behave exactly as before —\n * deletion protection blocks the destroy with whatever error AWS\n * returns (`OperationNotPermitted` / `InvalidParameterCombination` /\n * etc.) so the user must opt into the bypass explicitly.\n *\n * Note: prior to this flag, the RDS DBInstance / DBCluster providers\n * unconditionally issued a `ModifyDB{Instance,Cluster}` to clear\n * `DeletionProtection: false` before every destroy. That implicit\n * behavior is now gated on `removeProtection === true` to match the\n * other provider types — destroying an RDS resource whose deletion\n * protection was set externally (console, AWS CLI) without\n * `--remove-protection` will surface AWS's `InvalidParameterCombination`\n * error rather than silently succeed.\n */\n removeProtection?: boolean;\n}\n\n/**\n * Verify that the AWS client's region matches the region the resource is\n * expected to live in before treating a `NotFound` error as idempotent\n * delete success.\n *\n * Why: a destroy run with the wrong region would otherwise receive\n * `*NotFound` for every resource and silently strip them all from state,\n * leaving the actual AWS resources orphaned in the real region. The\n * silent-failure incident that motivated this check was a Lambda in\n * `us-west-2` removed from state by a destroy that ran with a `us-east-1`\n * client.\n *\n * Behavior:\n * - If `expectedRegion` is unset, this is a no-op (back-compat: existing\n * idempotent semantics preserved for callers that have not been\n * threaded with state region).\n * - If `clientRegion` matches `expectedRegion`, returns silently.\n * - Otherwise throws `ProvisioningError` so the caller surfaces the\n * mismatch instead of swallowing the NotFound.\n *\n * @param clientRegion Region resolved from the AWS SDK client config\n * (typically `await client.config.region()`).\n * @param expectedRegion Region recorded in stack state, or undefined if\n * the caller has no expected region.\n * @param resourceType CloudFormation resource type, used in the error\n * message and on the thrown ProvisioningError.\n * @param logicalId Logical ID of the resource, used in the error message\n * and on the thrown ProvisioningError.\n * @param physicalId Optional physical ID, used in the error message and\n * on the thrown ProvisioningError.\n */\nexport function assertRegionMatch(\n clientRegion: string | undefined,\n expectedRegion: string | undefined,\n resourceType: string,\n logicalId: string,\n physicalId?: string\n): void {\n if (!expectedRegion) {\n // Back-compat: caller did not supply state region, preserve previous\n // idempotent behavior.\n return;\n }\n\n if (!clientRegion) {\n throw new ProvisioningError(\n `Refusing to treat NotFound as idempotent delete success for ${logicalId} ` +\n `(${resourceType}): AWS client region is unknown but stack state expects ` +\n `${expectedRegion}. The resource may exist in ${expectedRegion} and would ` +\n `be silently removed from state if this NotFound were trusted.`,\n resourceType,\n logicalId,\n physicalId\n );\n }\n\n if (clientRegion !== expectedRegion) {\n throw new ProvisioningError(\n `Refusing to treat NotFound as idempotent delete success for ${logicalId} ` +\n `(${resourceType}): AWS client region ${clientRegion} does not match stack ` +\n `state region ${expectedRegion}. The resource likely still exists in ` +\n `${expectedRegion}; rerun the destroy with the correct region (e.g. ` +\n `--region ${expectedRegion}).`,\n resourceType,\n logicalId,\n physicalId\n );\n }\n}\n","/**\n * Shared helpers for `ResourceProvider.import` implementations.\n *\n * Most providers follow the same lookup pattern when adopting an\n * already-deployed resource into cdkd state:\n *\n * 1. If `input.knownPhysicalId` is set (user passed\n * `--resource <logicalId>=<physicalId>`), trust it as ground truth and\n * only fetch attributes.\n * 2. If the template's `properties` carries an explicit name field\n * (`BucketName`, `FunctionName`, `RoleName`, …), use that as the\n * physical id directly.\n * 3. Walk the service's `List*` API and match against the `aws:cdk:path`\n * tag — every CDK-deployed resource carries one.\n *\n * Step 1 + 2 are generic enough to live here. Step 3 needs per-service\n * `List*` + `ListTags*` calls and lives in each provider.\n */\n\nimport type { ResourceImportInput } from '../types/resource.js';\n\n/**\n * Read an explicit name field from template properties. Returns `undefined`\n * when the property is missing or not a string — callers fall back to\n * tag-based lookup in that case.\n */\nexport function readNameProperty(\n input: ResourceImportInput,\n propertyName: string\n): string | undefined {\n const value = input.properties?.[propertyName];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\n/**\n * Resolve the physical id when the template provides an explicit name OR the\n * caller passed `--resource`/`--resource-mapping`. Returns `undefined` when\n * neither shortcut applies — caller must then fall back to tag-based lookup.\n *\n * Does NOT verify the resource exists: callers should follow up with a\n * service-specific `Head*`/`Get*`/`Describe*` to fail fast if the named\n * resource is missing.\n */\nexport function resolveExplicitPhysicalId(\n input: ResourceImportInput,\n nameProperty: string | null\n): string | undefined {\n if (input.knownPhysicalId) return input.knownPhysicalId;\n if (nameProperty) {\n const name = readNameProperty(input, nameProperty);\n if (name) return name;\n }\n return undefined;\n}\n\n/**\n * The standard tag CDK puts on every deployed resource — its construct path\n * within the app, e.g. `MyStack/MyConstruct/MyBucket`. Used as the lookup key\n * when no explicit name is in the template.\n */\nexport const CDK_PATH_TAG = 'aws:cdk:path';\n\n/**\n * Loose tag shape used by every AWS service (`{Key, Value}`).\n *\n * Both Key and Value are typed as `string | undefined` rather than `string?`\n * so this interface accepts AWS SDK v3 `Tag` types verbatim under\n * `exactOptionalPropertyTypes: true` (the SDK types declare them as\n * `Key?: string | undefined`, not `Key?: string`).\n */\nexport interface AwsTag {\n Key?: string | undefined;\n Value?: string | undefined;\n}\n\n/**\n * Match an AWS resource's tag set against the CDK path the template carries.\n * Returns true if the resource was deployed by the same CDK construct.\n */\nexport function matchesCdkPath(tags: readonly AwsTag[] | undefined, cdkPath: string): boolean {\n if (!tags || !cdkPath) return false;\n for (const t of tags) {\n if (t.Key === CDK_PATH_TAG && t.Value === cdkPath) return true;\n }\n return false;\n}\n\n/**\n * Re-shape an AWS tag list (any of the common shapes — array of `{Key, Value}`,\n * map keyed by tag name, or v2-style array of `{TagKey, TagValue}`) into the\n * canonical CFn shape (`Array<{Key, Value}>`) that cdkd state holds, with\n * `aws:`-prefixed entries filtered out.\n *\n * AWS reserves the `aws:` tag prefix; CDK injects `aws:cdk:path` (and\n * sometimes `aws:cdk:metadata`) on every resource it deploys. Those tags are\n * NOT in cdkd state's `Tags` (they come from CDK template `Metadata`, not\n * `Properties.Tags`), so leaving them in the AWS-current snapshot would fire\n * false-positive drift on every CDK-deployed resource.\n *\n * Returns an empty array `[]` when AWS reports no user tags. Callers decide\n * whether to surface `Tags: []` (most providers — matches the typical\n * CFn behavior of always emitting Tags in templates) or omit the key\n * entirely (when the corresponding `create()` only sets Tags when the user\n * explicitly passes them — see each provider's docstring).\n */\nexport function normalizeAwsTagsToCfn(\n tags:\n | readonly AwsTag[]\n | readonly { TagKey?: string | undefined; TagValue?: string | undefined }[]\n | readonly { key?: string | undefined; value?: string | undefined }[]\n | Record<string, string | undefined>\n | undefined\n | null\n): Array<{ Key: string; Value: string }> {\n if (!tags) return [];\n const out: Array<{ Key: string; Value: string }> = [];\n if (Array.isArray(tags)) {\n for (const t of tags) {\n // Support {Key,Value} (most services), {TagKey,TagValue} (RDS/DocDB),\n // and {key,value} (Step Functions / Glue / etc., lower-case).\n const obj = t as Record<string, unknown>;\n const k =\n (typeof obj['Key'] === 'string' ? obj['Key'] : undefined) ??\n (typeof obj['TagKey'] === 'string' ? obj['TagKey'] : undefined) ??\n (typeof obj['key'] === 'string' ? obj['key'] : undefined);\n const v =\n (typeof obj['Value'] === 'string' ? obj['Value'] : undefined) ??\n (typeof obj['TagValue'] === 'string' ? obj['TagValue'] : undefined) ??\n (typeof obj['value'] === 'string' ? obj['value'] : undefined);\n if (typeof k !== 'string' || k.length === 0) continue;\n if (k.startsWith('aws:')) continue;\n out.push({ Key: k, Value: typeof v === 'string' ? v : '' });\n }\n } else {\n for (const [k, v] of Object.entries(tags)) {\n if (!k || k.startsWith('aws:')) continue;\n out.push({ Key: k, Value: typeof v === 'string' ? v : '' });\n }\n }\n // Sort by Key for stable comparison against state (CDK templates\n // produce sorted Tags; AWS API responses are unordered).\n out.sort((a, b) => (a.Key < b.Key ? -1 : a.Key > b.Key ? 1 : 0));\n return out;\n}\n","import { ModifyInstanceAttributeCommand, type EC2Client } from '@aws-sdk/client-ec2';\n\n/** Minimal logger surface used here (avoids coupling to the full Logger type). */\ntype DebugLogger = { debug(message: string): void };\n\n/**\n * Shared EC2 instance termination-protection helpers, used by BOTH the SDK\n * `EC2Provider.deleteInstance` path and the Cloud Control `delete` path (an\n * `AWS::EC2::Instance` routes through Cloud Control whenever its template trips\n * the #614 silent-drop routing, so the protection flip-off must live on both\n * delete paths).\n *\n * The core problem: `destroy --remove-protection` flips `DisableApiTermination`\n * off (`ModifyInstanceAttribute`) and then deletes the instance, but AWS's\n * modify WRITE lags the terminate READ — empirically a manual modify reports\n * success while `describe-instance-attribute` still reads `true` for ~25s, yet\n * a terminate immediately after succeeds. cdkd's fast SDK path outruns the\n * propagation window (same family as the IAM / Route53 eventual-consistency\n * races), so the terminate / Cloud Control delete 400s with \"The instance ...\n * may not be terminated. Modify its 'disableApiTermination' instance attribute\n * and try again.\" Callers re-flip + retry the delete to close the window.\n */\n\n/** Number of delete attempts (incl. the first) when racing the flip-off propagation. */\nexport const TERMINATION_PROTECTION_MAX_ATTEMPTS = 5;\n\n/**\n * Flip `DisableApiTermination` off on an instance. Idempotent — EC2 accepts the\n * call when the attribute is already false. Non-fatal: a NotFound (already\n * gone) or any other error is swallowed at debug so the actual delete still\n * proceeds (it will surface the real failure if the instance truly cannot be\n * deleted).\n */\nexport async function disableInstanceApiTermination(\n client: EC2Client,\n instanceId: string,\n logger: DebugLogger\n): Promise<void> {\n try {\n await client.send(\n new ModifyInstanceAttributeCommand({\n InstanceId: instanceId,\n DisableApiTermination: { Value: false },\n })\n );\n logger.debug(`Disabled DisableApiTermination on EC2 Instance ${instanceId} before deletion`);\n } catch (flipError) {\n logger.debug(\n `Could not disable DisableApiTermination on ${instanceId}: ${flipError instanceof Error ? flipError.message : String(flipError)}`\n );\n }\n}\n\n/**\n * Does this error message indicate the terminate / delete raced the\n * `DisableApiTermination` flip-off propagation (so re-flipping + retrying is\n * the right move)? Matches both the SDK `TerminateInstances` 400 and the Cloud\n * Control `DeleteResource` wrapper of the same underlying EC2 error.\n */\nexport function isTerminationProtectionPropagationError(message: string): boolean {\n return /may not be terminated|disableApiTermination/i.test(message);\n}\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-CjeV3_4I.js";
2
+ import { n as getLogger } from "./logger-BzO-joNR.js";
3
+ import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
4
+
5
+ //#region src/utils/expected-bucket-owner.ts
6
+ /**
7
+ * `ExpectedBucketOwner` resolution for cdkd-owned buckets (the state-bucket
8
+ * family: state / lock / exports-index / deployment-events / transient
9
+ * template uploads).
10
+ *
11
+ * S3 bucket names are global and cdkd's default names are predictable
12
+ * (`cdkd-state-{accountId}`). Without this header, a bucket pre-created in
13
+ * ANOTHER account under that name — with a bucket policy that deliberately
14
+ * ALLOWS this account — would silently accept cdkd's state reads/writes
15
+ * (name-squatting: the attacker could then read resource properties and
16
+ * tamper with physical ids). With the header, S3 itself rejects any call
17
+ * whose bucket owner differs (403), regardless of what the bucket's policy
18
+ * allows. The asset-storage family has carried the same defense since issue
19
+ * #1002 PR 1; this module extends it to the state-bucket family.
20
+ *
21
+ * Best-effort by design: a test double without a standard `config`, or an
22
+ * STS failure, resolves to `undefined` (header omitted — pre-hardening
23
+ * behavior) rather than failing the operation. The S3 calls themselves run
24
+ * with the same credentials, so a working S3 path implies a working STS
25
+ * path in practice; the degradation exists for exotic credential setups and
26
+ * unit-test doubles, not as an expected runtime branch.
27
+ */
28
+ var expected_bucket_owner_exports = /* @__PURE__ */ __exportAll({
29
+ expectedOwnerParam: () => expectedOwnerParam,
30
+ resolveExpectedBucketOwner: () => resolveExpectedBucketOwner
31
+ });
32
+ const cache = /* @__PURE__ */ new WeakMap();
33
+ /**
34
+ * Resolve the AWS account id of the caller behind an S3 client's
35
+ * credentials. Cached per client instance for the process lifetime (a
36
+ * region-rebuilt replacement client re-resolves once — same credentials,
37
+ * one extra STS call).
38
+ *
39
+ * Works for the cross-account state-read path too (`Fn::GetStackOutput`
40
+ * `RoleArn`): the ephemeral backend's client carries the ASSUMED
41
+ * credentials, so the resolved owner is the producer account — exactly the
42
+ * owner its `cdkd-state-{producerAccountId}` bucket must have.
43
+ */
44
+ function resolveExpectedBucketOwner(client) {
45
+ const cached = cache.get(client);
46
+ if (cached) return cached;
47
+ const promise = (async () => {
48
+ try {
49
+ const config = client.config;
50
+ if (!config || typeof config.region !== "function" || typeof config.credentials !== "function") return;
51
+ const region = await config.region();
52
+ const credentials = await config.credentials();
53
+ if (!credentials?.accessKeyId || !credentials.secretAccessKey) return;
54
+ const sts = new STSClient({
55
+ ...typeof region === "string" && region ? { region } : {},
56
+ credentials: {
57
+ accessKeyId: credentials.accessKeyId,
58
+ secretAccessKey: credentials.secretAccessKey,
59
+ ...credentials.sessionToken && { sessionToken: credentials.sessionToken }
60
+ }
61
+ });
62
+ try {
63
+ return (await sts.send(new GetCallerIdentityCommand({}))).Account;
64
+ } finally {
65
+ sts.destroy();
66
+ }
67
+ } catch (error) {
68
+ getLogger().debug(`ExpectedBucketOwner resolution skipped (header omitted): ${String(error)}`);
69
+ cache.delete(client);
70
+ return;
71
+ }
72
+ })();
73
+ cache.set(client, promise);
74
+ return promise;
75
+ }
76
+ /**
77
+ * Spread helper: `{...(await expectedOwnerParam(client))}` adds
78
+ * `ExpectedBucketOwner` when the owner resolved, nothing otherwise.
79
+ */
80
+ async function expectedOwnerParam(client) {
81
+ const owner = await resolveExpectedBucketOwner(client);
82
+ return owner ? { ExpectedBucketOwner: owner } : {};
83
+ }
84
+
85
+ //#endregion
86
+ export { expected_bucket_owner_exports as n, expectedOwnerParam as t };
87
+ //# sourceMappingURL=expected-bucket-owner-BjEfUnkA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expected-bucket-owner-BjEfUnkA.js","names":[],"sources":["../src/utils/expected-bucket-owner.ts"],"sourcesContent":["/**\n * `ExpectedBucketOwner` resolution for cdkd-owned buckets (the state-bucket\n * family: state / lock / exports-index / deployment-events / transient\n * template uploads).\n *\n * S3 bucket names are global and cdkd's default names are predictable\n * (`cdkd-state-{accountId}`). Without this header, a bucket pre-created in\n * ANOTHER account under that name — with a bucket policy that deliberately\n * ALLOWS this account — would silently accept cdkd's state reads/writes\n * (name-squatting: the attacker could then read resource properties and\n * tamper with physical ids). With the header, S3 itself rejects any call\n * whose bucket owner differs (403), regardless of what the bucket's policy\n * allows. The asset-storage family has carried the same defense since issue\n * #1002 PR 1; this module extends it to the state-bucket family.\n *\n * Best-effort by design: a test double without a standard `config`, or an\n * STS failure, resolves to `undefined` (header omitted — pre-hardening\n * behavior) rather than failing the operation. The S3 calls themselves run\n * with the same credentials, so a working S3 path implies a working STS\n * path in practice; the degradation exists for exotic credential setups and\n * unit-test doubles, not as an expected runtime branch.\n */\n\nimport { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts';\nimport type { S3Client } from '@aws-sdk/client-s3';\nimport { getLogger } from './logger.js';\n\nconst cache = new WeakMap<object, Promise<string | undefined>>();\n\n/**\n * Resolve the AWS account id of the caller behind an S3 client's\n * credentials. Cached per client instance for the process lifetime (a\n * region-rebuilt replacement client re-resolves once — same credentials,\n * one extra STS call).\n *\n * Works for the cross-account state-read path too (`Fn::GetStackOutput`\n * `RoleArn`): the ephemeral backend's client carries the ASSUMED\n * credentials, so the resolved owner is the producer account — exactly the\n * owner its `cdkd-state-{producerAccountId}` bucket must have.\n */\nexport function resolveExpectedBucketOwner(client: S3Client): Promise<string | undefined> {\n const cached = cache.get(client);\n if (cached) return cached;\n\n const promise = (async (): Promise<string | undefined> => {\n try {\n const config = (\n client as {\n config?: { region?: unknown; credentials?: unknown };\n }\n ).config;\n if (\n !config ||\n typeof config.region !== 'function' ||\n typeof config.credentials !== 'function'\n ) {\n // Test double / non-standard client — skip the header.\n return undefined;\n }\n const region = await (config.region as () => Promise<unknown>)();\n const credentials = (await (config.credentials as () => Promise<unknown>)()) as {\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n };\n if (!credentials?.accessKeyId || !credentials.secretAccessKey) {\n return undefined;\n }\n const sts = new STSClient({\n ...(typeof region === 'string' && region ? { region } : {}),\n credentials: {\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n ...(credentials.sessionToken && { sessionToken: credentials.sessionToken }),\n },\n });\n try {\n const identity = await sts.send(new GetCallerIdentityCommand({}));\n return identity.Account;\n } finally {\n sts.destroy();\n }\n } catch (error) {\n getLogger().debug(\n `ExpectedBucketOwner resolution skipped (header omitted): ${String(error)}`\n );\n // Do NOT keep a failed resolution cached — a transient STS throttle at\n // process start must not silently disable the header for the rest of\n // the run (mirrors write-only-properties.ts's no-failure-caching).\n // The early structural returns above stay cached: a test double /\n // credential-less client is deterministic, not transient.\n cache.delete(client);\n return undefined;\n }\n })();\n\n cache.set(client, promise);\n return promise;\n}\n\n/**\n * Spread helper: `{...(await expectedOwnerParam(client))}` adds\n * `ExpectedBucketOwner` when the owner resolved, nothing otherwise.\n */\nexport async function expectedOwnerParam(\n client: S3Client\n): Promise<{ ExpectedBucketOwner?: string }> {\n const owner = await resolveExpectedBucketOwner(client);\n return owner ? { ExpectedBucketOwner: owner } : {};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,wBAAQ,IAAI,SAA8C;;;;;;;;;;;;AAahE,SAAgB,2BAA2B,QAA+C;CACxF,MAAM,SAAS,MAAM,IAAI,OAAO;AAChC,KAAI,OAAQ,QAAO;CAEnB,MAAM,WAAW,YAAyC;AACxD,MAAI;GACF,MAAM,SACJ,OAGA;AACF,OACE,CAAC,UACD,OAAO,OAAO,WAAW,cACzB,OAAO,OAAO,gBAAgB,WAG9B;GAEF,MAAM,SAAS,MAAO,OAAO,QAAmC;GAChE,MAAM,cAAe,MAAO,OAAO,aAAwC;AAK3E,OAAI,CAAC,aAAa,eAAe,CAAC,YAAY,gBAC5C;GAEF,MAAM,MAAM,IAAI,UAAU;IACxB,GAAI,OAAO,WAAW,YAAY,SAAS,EAAE,QAAQ,GAAG,EAAE;IAC1D,aAAa;KACX,aAAa,YAAY;KACzB,iBAAiB,YAAY;KAC7B,GAAI,YAAY,gBAAgB,EAAE,cAAc,YAAY,cAAc;KAC3E;IACF,CAAC;AACF,OAAI;AAEF,YAAO,MADgB,IAAI,KAAK,IAAI,yBAAyB,EAAE,CAAC,CAAC,EACjD;aACR;AACR,QAAI,SAAS;;WAER,OAAO;AACd,cAAW,CAAC,MACV,4DAA4D,OAAO,MAAM,GAC1E;AAMD,SAAM,OAAO,OAAO;AACpB;;KAEA;AAEJ,OAAM,IAAI,QAAQ,QAAQ;AAC1B,QAAO;;;;;;AAOT,eAAsB,mBACpB,QAC2C;CAC3C,MAAM,QAAQ,MAAM,2BAA2B,OAAO;AACtD,QAAO,QAAQ,EAAE,qBAAqB,OAAO,GAAG,EAAE"}
package/dist/index.d.ts CHANGED
@@ -494,6 +494,7 @@ declare class S3StateBackend {
494
494
  private getStateKey;
495
495
  private getLegacyStateKey;
496
496
  private ensureClientForBucket;
497
+ private ownerParam;
497
498
  verifyBucketExists(): Promise<void>;
498
499
  stateExists(stackName: string, region: string): Promise<boolean>;
499
500
  getState(stackName: string, region: string): Promise<{
@@ -592,6 +593,7 @@ declare class LockManager {
592
593
  private clientResolved;
593
594
  private resolveInFlight;
594
595
  constructor(s3Client: S3Client, config: StateBackendConfig, options?: LockManagerOptions);
596
+ private ownerParam;
595
597
  private ensureClientForBucket;
596
598
  private getLockKey;
597
599
  private getDefaultOwner;
@@ -844,6 +846,7 @@ declare class ExportIndexStore {
844
846
  private resolveInFlight;
845
847
  constructor(s3Client: S3Client, bucket: string, prefix: string, region: string, stateBackend: S3StateBackend, opts?: ExportIndexStoreOptions);
846
848
  private indexKey;
849
+ private ownerParam;
847
850
  private ensureClientForBucket;
848
851
  lookup(exportName: string): Promise<ExportIndexEntry | undefined>;
849
852
  updateForStack(stackName: string, producerRegion: string, outputs: Record<string, unknown>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/state.ts","../src/provisioning/region-check.ts","../src/types/resource.ts","../src/types/config.ts","../src/utils/logger.ts","../src/utils/error-handler.ts","../src/utils/aws-clients.ts","../src/utils/aws-region-resolver.ts","../src/types/assembly.ts","../src/synthesis/assembly-reader.ts","../src/cli/upload-cfn-template.ts","../src/synthesis/macro-expander.ts","../src/synthesis/synthesizer.ts","../src/state/s3-state-backend.ts","../src/assets/asset-redirect.ts","../src/deployment/work-graph.ts","../src/assets/asset-publisher.ts","../src/state/lock-manager.ts","../src/analyzer/template-parser.ts","../src/analyzer/dag-builder.ts","../src/analyzer/diff-calculator.ts","../src/provisioning/cloud-control-provider.ts","../src/provisioning/provider-registry.ts","../src/provisioning/providers/iam-role-provider.ts","../src/types/deployment-events.ts","../src/state/export-index-store.ts","../src/deployment/deploy-engine.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;KAkFY,kBAAA;AAAA,UAyBK,gBAAA;EAEf,WAAA;EAMA,YAAA;EAEA,UAAA;AAAA;AAAA,UAsBe,oBAAA;EAEf,WAAA;EAMA,YAAA;EAEA,UAAA;AAAA;AAAA,UAMe,UAAA;EAKf,OAAA,EAAS,kBAAA;EAGT,SAAA;EAMA,MAAA;EAGA,SAAA,EAAW,MAAA,SAAe,aAAA;EAG1B,OAAA,EAAS,MAAA;EAUT,OAAA,GAAU,gBAAA;EAoBV,WAAA,GAAc,oBAAA;EAgBd,WAAA;EAcA,eAAA;EAYA,YAAA;EAGA,YAAA;AAAA;AAAA,UAMe,aAAA;EAEf,UAAA;EAGA,YAAA;EAGA,UAAA,EAAY,MAAA;EAcZ,kBAAA,GAAqB,MAAA;EAGrB,UAAA,GAAa,MAAA;EAGb,YAAA;EAGA,QAAA,GAAW,MAAA;EAmBX,cAAA;EAMA,mBAAA;EAyBA,aAAA;AAAA;AAAA,UAMe,QAAA;EAEf,KAAA;EAGA,SAAA;EAGA,SAAA;EAGA,SAAA;AAAA;AAAA,KAMU,UAAA;AAAA,UAKK,cAAA;EAEf,SAAA;EAGA,UAAA,EAAY,UAAA;EAGZ,YAAA;EAGA,iBAAA,GAAoB,MAAA;EAGpB,iBAAA,GAAoB,MAAA;EAGpB,eAAA,GAAkB,cAAA;EAWlB,gBAAA,GAAmB,eAAA;AAAA;AAAA,UAUJ,eAAA;EAEf,SAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,UAuBe,cAAA;EAEf,IAAA;EAGA,QAAA;EAGA,QAAA;EAGA,mBAAA;EAYA,qBAAA;AAAA;;;UC1be,aAAA;EASf,cAAA;EAyCA,gBAAA;AAAA;;;UC1De,sBAAA;EACf,wBAAA;EACA,WAAA;EACA,UAAA,GAAa,MAAA,SAAe,iBAAA;EAC5B,SAAA,EAAW,MAAA,SAAe,gBAAA;EAC1B,OAAA,GAAU,MAAA,SAAe,cAAA;EACzB,UAAA,GAAa,MAAA;EACb,QAAA,GAAW,MAAA;EAWX,SAAA;EACA,KAAA,GAAQ,MAAA;AAAA;AAAA,UAMO,iBAAA;EACf,IAAA;EACA,OAAA;EACA,WAAA;EACA,aAAA;EACA,cAAA;EACA,qBAAA;AAAA;AAAA,UAMe,gBAAA;EACf,IAAA;EACA,UAAA,GAAa,MAAA;EACb,SAAA;EACA,SAAA;EACA,QAAA,GAAW,MAAA;EACX,cAAA,GAAiB,MAAA;EACjB,YAAA,GAAe,MAAA;EACf,cAAA;EACA,mBAAA;AAAA;AAAA,UAMe,cAAA;EACf,KAAA;EACA,WAAA;EACA,MAAA;IACE,IAAA;EAAA;AAAA;AAAA,UAOa,oBAAA;EAEf,UAAA;EAEA,UAAA,GAAa,MAAA;AAAA;AAAA,UAME,oBAAA;EAEf,UAAA;EAEA,WAAA;EAEA,UAAA,GAAa,MAAA;AAAA;AAAA,UAcE,mBAAA;EAEf,SAAA;EAGA,YAAA;EAMA,OAAA;EAGA,SAAA;EAGA,MAAA;EAGA,UAAA,EAAY,MAAA;EASZ,eAAA;AAAA;AAAA,UAUe,oBAAA;EAEf,UAAA;EAEA,UAAA,GAAa,MAAA;AAAA;AAAA,UAqCE,uBAAA;EAWf,QAAA,GAAW,MAAA;IAGP,YAAA;IACA,UAAA;IACA,UAAA,EAAY,MAAA;IACZ,UAAA,GAAa,MAAA;EAAA;AAAA;AAAA,UAQF,gBAAA;EAWf,iBAAA,GAAoB,WAAA,SAAoB,WAAA;EAwBxC,iBAAA,GAAoB,WAAA,SAAoB,WAAA;EAUxC,oBAAA;EAkBA,iBAAA;EAkBA,uBAAA;EASA,4BAAA,EACE,SAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,oBACX,MAAA;EASH,MAAA,CACE,SAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,oBACX,OAAA,CAAQ,oBAAA;EAWX,MAAA,CACE,SAAA,UACA,UAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,mBACZ,kBAAA,EAAoB,MAAA,oBACnB,OAAA,CAAQ,oBAAA;EAcX,MAAA,CACE,SAAA,UACA,UAAA,UACA,YAAA,UACA,UAAA,GAAa,MAAA,mBACb,OAAA,GAAU,aAAA,GACT,OAAA;EASH,YAAA,EAAc,UAAA,UAAoB,YAAA,UAAsB,aAAA,WAAwB,OAAA;EAwChF,gBAAA,EACE,UAAA,UACA,SAAA,UACA,YAAA,UACA,UAAA,GAAa,MAAA,mBACb,OAAA,GAAU,uBAAA,GACT,OAAA,CAAQ,MAAA;EAmBX,oBAAA,EAAsB,YAAA;EA4BtB,MAAA,EAAQ,KAAA,EAAO,mBAAA,GAAsB,OAAA,CAAQ,oBAAA;AAAA;;;UC5b9B,UAAA;EAEf,GAAA;EAGA,WAAA;EAGA,WAAA;EAGA,KAAA;EAGA,MAAA;EAGA,OAAA;EAGA,WAAA;EAGA,OAAA;EAGA,MAAA;EAGA,MAAA;AAAA;AAAA,UAMe,aAAA;EAEf,SAAA;EAGA,QAAA;EAGA,YAAA,EAAc,kBAAA;EAGd,WAAA;EAGA,MAAA;EAGA,UAAA;AAAA;AAAA,UAMe,kBAAA;EAEf,MAAA;EAGA,MAAA;AAAA;AAAA,KAMU,QAAA;AAAA,UAKK,MAAA;EACf,KAAA,CAAM,OAAA,aAAoB,IAAA;EAC1B,IAAA,CAAK,OAAA,aAAoB,IAAA;EACzB,IAAA,CAAK,OAAA,aAAoB,IAAA;EACzB,KAAA,CAAM,OAAA,aAAoB,IAAA;AAAA;;;cCzCf,aAAA,YAAyB,MAAA;EAAA,QAC5B,KAAA;EAAA,QACA,SAAA;cAEI,KAAA,GAAO,QAAA,EAAmB,SAAA;EAAA,QAK9B,SAAA;EAAA,QAOA,aAAA;EAAA,QA2CA,IAAA;EAcR,KAAA,CAAM,OAAA,aAAoB,IAAA;EAM1B,IAAA,CAAK,OAAA,aAAoB,IAAA;EAMzB,IAAA,CAAK,OAAA,aAAoB,IAAA;EAMzB,KAAA,CAAM,OAAA,aAAoB,IAAA;EAS1B,QAAA,CAAS,KAAA,EAAO,QAAA;EAIhB,QAAA,CAAA,GAAY,QAAA;EASZ,KAAA,CAAM,MAAA,WAAiB,WAAA;AAAA;AAAA,cAQnB,WAAA,SAAoB,aAAA;EAAA,iBACP,MAAA;cAEL,MAAA,UAAgB,SAAA;EAAA,QAKpB,SAAA;EAMC,KAAA,CAAM,OAAA,aAAoB,IAAA;EAK1B,IAAA,CAAK,OAAA,aAAoB,IAAA;EAMzB,IAAA,CAAK,OAAA,aAAoB,IAAA;EAMzB,KAAA,CAAM,OAAA,aAAoB,IAAA;AAAA;AAAA,iBAerB,SAAA,CAAA,GAAa,aAAA;AAAA,iBAUb,SAAA,CAAU,MAAA,EAAQ,aAAA;;;cCpNrB,SAAA,SAAkB,KAAA;EAAA,SACb,IAAA;EAAA,SACA,KAAA,EAAO,KAAA;cAEX,OAAA,UAAiB,IAAA,UAAc,KAAA,GAAQ,KAAA;AAAA;AAAA,cAYxC,UAAA,SAAmB,SAAA;cAClB,OAAA,UAAiB,KAAA,GAAQ,KAAA;AAAA;AAAA,cAU1B,SAAA,SAAkB,SAAA;cACjB,OAAA,UAAiB,KAAA,GAAQ,KAAA;AAAA;AAAA,cAU1B,cAAA,SAAuB,SAAA;cACtB,OAAA,UAAiB,KAAA,GAAQ,KAAA;AAAA;AAAA,cAU1B,UAAA,SAAmB,SAAA;cAClB,OAAA,UAAiB,KAAA,GAAQ,KAAA;AAAA;AAAA,cA6B1B,iBAAA,SAA0B,SAAA;EAAA,SACrB,YAAA;EAAA,SACA,SAAA;EAAA,SACA,UAAA;cAGd,OAAA,UACA,YAAA,UACA,SAAA,UACA,UAAA,WACA,KAAA,GAAQ,KAAA;AAAA;AAAA,cAmFC,eAAA,SAAwB,SAAA;cACvB,OAAA,UAAiB,KAAA,GAAQ,KAAA;AAAA;AAAA,cAU1B,WAAA,SAAoB,SAAA;cACnB,OAAA,UAAiB,KAAA,GAAQ,KAAA;AAAA;AAAA,iBAiZvB,WAAA,CAAY,KAAA,YAAiB,KAAA,IAAS,SAAA;AAAA,iBAOtC,WAAA,CAAY,KAAA;AAAA,UAwEX,wBAAA;EACf,MAAA;EACA,SAAA;AAAA;AAAA,iBA2Bc,iBAAA,CAAkB,GAAA,WAAc,OAAA,GAAS,wBAAA,GAAgC,KAAA;;;UCnqBxE,eAAA;EACf,MAAA;EACA,OAAA;EACA,WAAA;IACE,WAAA;IACA,eAAA;IACA,YAAA;EAAA;AAAA;AAAA,cAOS,UAAA;EAAA,QACH,QAAA;EAAA,QACA,kBAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,YAAA;EAAA,QACA,SAAA;EAAA,QACA,SAAA;EAAA,QACA,cAAA;EAAA,QACA,oBAAA;EAAA,QACA,gBAAA;EAAA,QACA,iBAAA;EAAA,QACA,oBAAA;EAAA,QACA,SAAA;EAAA,QACA,gBAAA;EAAA,QACA,gBAAA;EAAA,QACA,oBAAA;EAAA,QACA,6BAAA;EAAA,QACA,SAAA;EAAA,QACA,MAAA;cAEI,MAAA,GAAQ,eAAA;EAYpB,WAAA,CAAA,GAAe,QAAA;EAoBf,qBAAA,CAAA,GAAyB,kBAAA;EAgBzB,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,EAAA,CAAA,GAAM,QAAA;EAAA,IAON,YAAA,CAAA,GAAgB,kBAAA;EAAA,IAOhB,GAAA,CAAA,GAAO,SAAA;EAOX,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,GAAA,CAAA,GAAO,SAAA;EAOX,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,GAAA,CAAA,GAAO,SAAA;EAOX,eAAA,CAAA,GAAmB,YAAA;EAAA,IAaf,MAAA,CAAA,GAAU,YAAA;EAOd,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,GAAA,CAAA,GAAO,SAAA;EAOX,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,GAAA,CAAA,GAAO,SAAA;EAOX,iBAAA,CAAA,GAAqB,cAAA;EAAA,IAajB,QAAA,CAAA,GAAY,cAAA;EAOhB,uBAAA,CAAA,GAA2B,oBAAA;EAAA,IAavB,cAAA,CAAA,GAAkB,oBAAA;EAOtB,mBAAA,CAAA,GAAuB,gBAAA;EAAA,IAanB,UAAA,CAAA,GAAc,gBAAA;EAOlB,oBAAA,CAAA,GAAwB,iBAAA;EAAA,IAapB,WAAA,CAAA,GAAe,iBAAA;EAOnB,uBAAA,CAAA,GAA2B,oBAAA;EAAA,IAavB,cAAA,CAAA,GAAkB,oBAAA;EAOtB,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,GAAA,CAAA,GAAO,SAAA;EAOX,mBAAA,CAAA,GAAuB,gBAAA;EAAA,IAanB,UAAA,CAAA,GAAc,gBAAA;EAWlB,YAAA,CAAA,GAAgB,SAAA;EAAA,IAaZ,GAAA,CAAA,GAAO,SAAA;EAOX,mBAAA,CAAA,GAAuB,gBAAA;EAAA,IAanB,UAAA,CAAA,GAAc,gBAAA;EAOlB,uBAAA,CAAA,GAA2B,oBAAA;EAAA,IAavB,cAAA,CAAA,GAAkB,oBAAA;EAOtB,gCAAA,CAAA,GAAoC,6BAAA;EAAA,IAahC,uBAAA,CAAA,GAA2B,6BAAA;EAO/B,OAAA,CAAA;AAAA;AAAA,iBA+Bc,aAAA,CAAc,MAAA,GAAS,eAAA,GAAkB,UAAA;AAAA,iBAUzC,aAAA,CAAc,OAAA,EAAS,UAAA;AAAA,iBAOvB,eAAA,CAAA;;;UCzeC,0BAAA;EACf,OAAA;EACA,WAAA;IACE,WAAA;IACA,eAAA;IACA,YAAA;EAAA;EAEF,cAAA;AAAA;AAAA,iBA0BoB,mBAAA,CACpB,UAAA,UACA,IAAA,GAAM,0BAAA,GACL,OAAA;AAAA,iBAgCa,sBAAA,CAAA;;;UCjFC,gBAAA;EAEf,OAAA;EAGA,SAAA,GAAY,MAAA,SAAe,gBAAA;EAG3B,OAAA,GAAU,cAAA;EAGV,OAAA,GAAU,WAAA;AAAA;AAAA,UAMK,gBAAA;EAEf,IAAA,EAAM,YAAA;EAGN,WAAA;EAMA,WAAA;EAGA,UAAA,GAAa,MAAA;EAGb,YAAA;EAGA,QAAA,GAAW,MAAA,SAAe,aAAA;AAAA;AAAA,KAMhB,YAAA;AAAA,UA+CK,cAAA;EAEf,GAAA;EAGA,QAAA;EAGA,KAAA,EAAO,sBAAA;AAAA;AAAA,UAMQ,sBAAA;EAEf,OAAA;EAGA,MAAA;EAGA,aAAA;EAAA,CAGC,GAAA;AAAA;AAAA,UAMc,aAAA;EACf,IAAA;EACA,IAAA;EACA,KAAA;AAAA;AAAA,UAMe,WAAA;EACf,SAAA,GAAY,MAAA;AAAA;;;UC5HG,SAAA;EAEf,SAAA;EAOA,WAAA;EAGA,UAAA;EAGA,QAAA,EAAU,sBAAA;EAGV,iBAAA;EAGA,eAAA;EAGA,MAAA;EAGA,OAAA;EAeA,qBAAA;EAiBA,eAAA,GAAkB,MAAA;AAAA;AAAA,cAMP,cAAA;EAAA,QACH,MAAA;EAKR,YAAA,CAAa,WAAA,WAAsB,gBAAA;EAmBnC,YAAA,CAAa,WAAA,UAAqB,QAAA,EAAU,gBAAA,GAAmB,SAAA;EA8C/D,QAAA,CAAS,WAAA,UAAqB,QAAA,EAAU,gBAAA,EAAkB,SAAA,WAAoB,SAAA;EAgB9E,WAAA,CACE,WAAA,UACA,QAAA,EAAU,gBAAA,EACV,SAAA,WACC,sBAAA;EAAA,QAOK,qBAAA;EAAA,QAuBA,gBAAA;EA2HR,SAAA,CAAU,SAAA,EAAW,SAAA;AAAA;;;UC9RN,qBAAA;EACf,OAAA;EACA,WAAA;IACE,WAAA;IACA,eAAA;IACA,YAAA;EAAA;AAAA;;;UCVa,mBAAA;EACf,MAAA;EASA,WAAA;EACA,SAAA,GAAY,oBAAA;EACZ,YAAA,GAAe,qBAAA;EASf,oBAAA;AAAA;;;UCLe,gBAAA;EAEf,GAAA;EAGA,MAAA;EAGA,OAAA;EAGA,MAAA;EAGA,OAAA,GAAU,MAAA;EAaV,WAAA;EAQA,uBAAA,GAA0B,mBAAA;AAAA;AAAA,UAMX,eAAA;EAEf,QAAA,EAAU,gBAAA;EAGV,WAAA;EAGA,MAAA,EAAQ,SAAA;AAAA;AAAA,cAWG,WAAA;EAAA,QACH,MAAA;EAAA,QACA,WAAA;EAAA,QACA,cAAA;EAAA,QACA,YAAA;EAYF,UAAA,CAAW,OAAA,EAAS,gBAAA,GAAmB,OAAA,CAAQ,eAAA;EAkJ/C,UAAA,CAAW,OAAA,EAAS,gBAAA,GAAmB,OAAA;EAAA,QAqB/B,qBAAA;AAAA;;;UC5QC,aAAA;EACf,SAAA;EAEA,MAAA;AAAA;AAAA,UAmBe,eAAA;EACf,MAAA;EACA,OAAA;EACA,WAAA;IACE,WAAA;IACA,eAAA;IACA,YAAA;EAAA;AAAA;AAAA,cAoBS,cAAA;EAAA,QACH,MAAA;EAAA,QACA,QAAA;EAAA,QACA,MAAA;EAAA,QACA,UAAA;EAAA,QACA,cAAA;EAAA,QACA,eAAA;cAEI,QAAA,EAAU,QAAA,EAAU,MAAA,EAAQ,kBAAA,EAAoB,UAAA,GAAY,eAAA;EAAA,IAepE,MAAA,CAAA;EAAA,QAOI,WAAA;EAAA,QAQA,iBAAA;EAAA,QAmBM,qBAAA;EAyCR,kBAAA,CAAA,GAAsB,OAAA;EAgCtB,WAAA,CAAY,SAAA,UAAmB,MAAA,WAAiB,OAAA;EA0BhD,QAAA,CACJ,SAAA,UACA,MAAA,WACC,OAAA;IAAU,KAAA,EAAO,UAAA;IAAY,IAAA;IAAc,gBAAA;EAAA;EAqExC,SAAA,CACJ,SAAA,UACA,MAAA,UACA,KAAA,EAAO,UAAA,EACP,OAAA;IAAW,YAAA;IAAuB,aAAA;EAAA,IACjC,OAAA;EAuFG,WAAA,CAAY,SAAA,UAAmB,MAAA,WAAiB,OAAA;EAkDhD,UAAA,CAAA,GAAc,OAAA,CAAQ,aAAA;EA0EtB,YAAA,CAAa,GAAA,UAAa,IAAA,UAAc,WAAA,YAAmC,OAAA;EAiB3E,YAAA,CAAa,GAAA,WAAc,OAAA;EAuB3B,WAAA,CAAY,SAAA,WAAoB,OAAA;EAkChC,gBAAA,CAAiB,IAAA,aAAiB,OAAA;EAAA,QA2B1B,UAAA;EAAA,QAsBA,gBAAA;EAAA,QAsBA,mBAAA;EAAA,QASA,YAAA;EAAA,QA+CN,cAAA;AAAA;;;UC1qBO,kBAAA;EAEf,MAAA;EAEA,MAAA;AAAA;AAAA,UAYe,gBAAA;EAEf,OAAA,EAAS,GAAA;EAET,KAAA,EAAO,GAAA;EAEP,OAAA,EAAS,kBAAA;EAET,SAAA;EACA,MAAA;EACA,SAAA;AAAA;;;KC1DU,YAAA;AAAA,KAKA,SAAA;AAAA,UAKK,QAAA;EACf,EAAA;EACA,IAAA,EAAM,YAAA;EACN,YAAA,EAAc,GAAA;EACd,KAAA,EAAO,SAAA;EAEP,IAAA;AAAA;AAAA,UAMe,oBAAA;EACf,aAAA;EACA,eAAA;EACA,KAAA;AAAA;AAAA,cAoBW,SAAA;EAAA,QACH,KAAA;EAAA,QACA,MAAA;EAER,OAAA,CAAQ,IAAA,EAAM,QAAA;EAOR,OAAA,CACJ,WAAA,EAAa,oBAAA,EACb,EAAA,GAAK,IAAA,EAAM,QAAA,KAAa,OAAA,SACvB,OAAA;EAqGH,OAAA,CAAA,GAAW,MAAA,CAAO,YAAA;AAAA;;;UClHH,qBAAA;EAEf,OAAA;EAGA,MAAA;EAGA,SAAA;EAGA,uBAAA;EAGA,qBAAA;EASA,QAAA,GAAW,gBAAA;AAAA;AAAA,cAUA,cAAA;EAAA,QACH,MAAA;EAAA,QACA,aAAA;EAAA,QACA,eAAA;EAMR,gBAAA,CACE,KAAA,EAAO,SAAA,EACP,YAAA,UACA,OAAA;IACE,SAAA;IACA,MAAA;IACA,OAAA;IACA,UAAA;IACA,QAAA,GAAW,gBAAA;EAAA;EA4FT,WAAA,CAAY,IAAA,EAAM,QAAA,GAAW,OAAA;EAwB7B,mBAAA,CACJ,YAAA,UACA,OAAA,GAAS,qBAAA,GACR,OAAA;EAwDH,SAAA,CAAU,YAAA;AAAA;;;UClQK,kBAAA;EAEf,UAAA;AAAA;AAAA,cAoBW,WAAA;EAAA,QACH,MAAA;EAAA,QACA,QAAA;EAAA,QACA,MAAA;EAAA,iBACS,KAAA;EAAA,QACT,cAAA;EAAA,QACA,eAAA;cAEI,QAAA,EAAU,QAAA,EAAU,MAAA,EAAQ,kBAAA,EAAoB,OAAA,GAAU,kBAAA;EAAA,QA0BxD,qBAAA;EAAA,QA4CN,UAAA;EAAA,QAUA,eAAA;EAAA,QAcA,aAAA;EAAA,QAOA,cAAA;EAmBF,WAAA,CACJ,SAAA,UACA,MAAA,UACA,KAAA,WACA,SAAA,YACC,OAAA;EAiGG,WAAA,CAAY,SAAA,UAAmB,MAAA,uBAA6B,OAAA,CAAQ,QAAA;EAkDpE,QAAA,CAAS,SAAA,UAAmB,MAAA,uBAA6B,OAAA;EAQzD,WAAA,CAAY,SAAA,UAAmB,MAAA,WAAiB,OAAA;EAiChD,gBAAA,CAAiB,SAAA,UAAmB,MAAA,uBAA6B,OAAA;EAAA,QAuBzD,UAAA;EA0BR,oBAAA,CACJ,SAAA,UACA,MAAA,UACA,KAAA,WACA,SAAA,WACA,UAAA,WACA,UAAA,YACC,OAAA;AAAA;;;cCxZQ,cAAA;EAAA,QACH,MAAA;EAKR,cAAA,CAAe,QAAA,EAAU,sBAAA;EAOzB,WAAA,CAAY,QAAA,EAAU,sBAAA,EAAwB,SAAA,WAAoB,gBAAA;EAYlE,mBAAA,CAAoB,QAAA,EAAU,gBAAA,GAAmB,GAAA;EAwCjD,iBAAA,CAAkB,KAAA,YAAiB,GAAA;EAAA,QAS3B,oBAAA;EAgJR,WAAA,CAAY,QAAA,EAAU,gBAAA,EAAkB,YAAA;EA2BxC,WAAA,CAAY,QAAA,EAAU,gBAAA,EAAkB,YAAA;EA2BxC,gBAAA,CAAiB,QAAA,YAAoB,QAAA,IAAY,sBAAA;EAwCjD,kBAAA,CACE,QAAA,EAAU,sBAAA,EACV,YAAA,WACC,GAAA,SAAY,gBAAA;EAef,cAAA,CAAe,QAAA,EAAU,sBAAA;EAoCzB,0BAAA,CACE,QAAA,EAAU,sBAAA,EACV,UAAA,EAAY,MAAA,oBACX,sBAAA;AAAA;;;KCjXA,SAAA,GAAY,QAAA,CAAS,KAAA;AAAA,UAQT,iBAAA;EAMf,wBAAA;AAAA;AAAA,cASW,UAAA;EAAA,QACH,MAAA;EAAA,QACA,MAAA;EAAA,QACA,OAAA;cAEI,OAAA,GAAS,iBAAA;EAWrB,UAAA,CAAW,QAAA,EAAU,sBAAA,GAAyB,SAAA;EA+G9C,kBAAA,CAAmB,KAAA,EAAO,SAAA;EAAA,QAmDlB,UAAA;EA6CR,kBAAA,CAAmB,KAAA,EAAO,SAAA,EAAW,SAAA,WAAoB,GAAA;EAoBzD,gBAAA,CAAiB,KAAA,EAAO,SAAA,EAAW,SAAA,WAAoB,GAAA;EAoBvD,qBAAA,CAAsB,KAAA,EAAO,SAAA,EAAW,SAAA;EAOxC,mBAAA,CAAoB,KAAA,EAAO,SAAA,EAAW,SAAA;EAOtC,SAAA,CAAU,KAAA,EAAO,SAAA,EAAW,SAAA,UAAmB,SAAA;EAAA,QAWvC,4BAAA;EAAA,QA4DA,iBAAA;EAAA,QAyBA,oBAAA;EAAA,QASA,oBAAA;EAAA,QAwBA,sBAAA;EAAA,QAwBA,6BAAA;AAAA;;;KCxbE,kBAAA,IAAsB,KAAA,cAAmB,OAAA;AAAA,cAiCxC,cAAA;EAAA,QACH,MAAA;EAAA,QACA,gBAAA;EAAA,QACA,MAAA;EAcF,aAAA,CACJ,YAAA,EAAc,UAAA,EACd,eAAA,EAAiB,sBAAA,EACjB,SAAA,GAAY,kBAAA,GACX,OAAA,CAAQ,GAAA,SAAY,cAAA;EAAA,QAyMf,4BAAA;EAAA,QAoJA,iCAAA;EAAA,eAkGO,iBAAA;EAAA,QAsED,iBAAA;EAAA,QAgCN,iBAAA;EAAA,QA4BM,iBAAA;EAAA,wBAqFU,cAAA;EAAA,eAuBT,WAAA;EAAA,QA0CP,WAAA;EA2ER,UAAA,CAAW,OAAA,EAAS,GAAA,SAAY,cAAA;IAC9B,MAAA;IACA,MAAA;IACA,MAAA;IACA,QAAA;IACA,KAAA;EAAA;EAiCF,YAAA,CAAa,OAAA,EAAS,GAAA,SAAY,cAAA,GAAiB,IAAA,EAAM,UAAA,GAAa,cAAA;EAOtE,UAAA,CAAW,OAAA,EAAS,GAAA,SAAY,cAAA;EAOhC,qBAAA,CAAsB,OAAA,EAAS,GAAA,SAAY,cAAA,IAAkB,cAAA;AAAA;;;cCvxBlD,oBAAA,YAAgC,gBAAA;EAAA,QACnC,kBAAA;EAAA,QACA,MAAA;EAAA,QACA,cAAA;EAAA,iBAGS,gBAAA;EAAA,iBAEA,wBAAA;EAAA,iBAEA,oBAAA;;EAUX,MAAA,CACJ,SAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,oBACX,OAAA,CAAQ,oBAAA;EAAA,QAiGG,0BAAA;EAiCR,MAAA,CACJ,SAAA,UACA,UAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,mBACZ,kBAAA,EAAoB,MAAA,oBACnB,OAAA,CAAQ,oBAAA;EA8HL,MAAA,CACJ,SAAA,UACA,UAAA,UACA,YAAA,UACA,WAAA,GAAc,MAAA,mBACd,OAAA,GAAU,aAAA,GACT,OAAA;EAyHG,gBAAA,CACJ,YAAA,UACA,UAAA,WACC,OAAA,CAAQ,MAAA;EAAA,QA0BG,gBAAA;EAAA,QAwFN,kBAAA;EAAA,QAqBM,wBAAA;EAAA,QA8qBA,uBAAA;EAAA,QA+BN,WAAA;EAAA,QAwCA,KAAA;EAAA,OAUD,uBAAA,CAAwB,YAAA;EA6EzB,gBAAA,CACJ,UAAA,UACA,UAAA,UACA,YAAA,UACA,WAAA,GAAc,MAAA,oBACb,OAAA,CAAQ,MAAA;EAiDL,MAAA,CAAO,KAAA,EAAO,mBAAA,GAAsB,OAAA,CAAQ,oBAAA;AAAA;;;KCtiDxC,aAAA;AAAA,UAWK,uBAAA;EACf,QAAA,EAAU,gBAAA;EACV,aAAA,EAAe,aAAA;EACf,aAAA;IAAkB,UAAA;EAAA;AAAA;AAAA,UAUH,mBAAA;EACf,YAAA;EACA,UAAA,GAAa,MAAA;EACb,aAAA,GAAgB,aAAA;AAAA;AAAA,UAQD,YAAA;EACf,SAAA;EACA,YAAA;EACA,UAAA;AAAA;AAAA,cAiDW,gBAAA;EAAA,QACH,MAAA;EAAA,QACA,SAAA;EAAA,QACA,oBAAA;EAAA,QACA,sBAAA;EAAA,QACA,iBAAA;EAAA,QACA,uBAAA;EAAA,QACA,4BAAA;;EAcR,qBAAA,CAAsB,aAAA,EAAe,QAAA;EAiBrC,0BAAA,CAA2B,OAAA,EAAS,QAAA;EAWpC,+BAAA,CAAgC,MAAA,UAAgB,YAAA;EAUhD,gBAAA,CAAiB,YAAA;EAWjB,QAAA,CAAS,YAAA,UAAsB,QAAA,EAAU,gBAAA;EAQzC,UAAA,CAAW,YAAA;EAeX,cAAA,CAAe,KAAA,EAAO,mBAAA,GAAsB,uBAAA;EA8F5C,WAAA,CAAY,YAAA,WAAuB,gBAAA;EAOnC,kBAAA,CAAmB,YAAA;EAOnB,WAAA,CAAY,YAAA;EAmBZ,uBAAA,CAAA,GAA2B,oBAAA;EAO3B,kBAAA,CAAA;EASA,eAAA,CAAgB,YAAA;EAuBhB,qBAAA,CAAsB,aAAA,EAAe,GAAA;EAmDrC,0BAAA,CACE,SAAA,EAAW,QAAA;IACT,SAAA;IACA,YAAA;IACA,UAAA,EAAY,MAAA;IACZ,aAAA;EAAA;EAyBJ,yBAAA,CACE,SAAA,EAAW,QAAA;IACT,SAAA;IACA,YAAA;IACA,UAAA,EAAY,MAAA;IACZ,aAAA;EAAA;EAwDJ,iBAAA,CACE,SAAA,EAAW,QAAA;IACT,SAAA;IACA,YAAA;IACA,UAAA,EAAY,MAAA;EAAA,KAEb,YAAA;AAAA;;;cC5cQ,eAAA,YAA2B,gBAAA;EAAA,QAC9B,SAAA;EAAA,QACA,MAAA;EACR,iBAAA,EAAiB,GAAA,SAAA,WAAA;;EA0BX,MAAA,CACJ,SAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,oBACX,OAAA,CAAQ,oBAAA;EA6JL,MAAA,CACJ,SAAA,UACA,UAAA,UACA,YAAA,UACA,UAAA,EAAY,MAAA,mBACZ,kBAAA,EAAoB,MAAA,oBACnB,OAAA,CAAQ,oBAAA;EAmLL,MAAA,CACJ,SAAA,UACA,UAAA,UACA,YAAA,UACA,WAAA,GAAc,MAAA,mBACd,OAAA,GAAU,aAAA,GACT,OAAA;EAAA,QAmDW,wBAAA;EAAA,QAiDA,uBAAA;EAAA,QA6CA,6BAAA;EAAA,QAmDA,qBAAA;EAAA,QAsCA,oBAAA;EAAA,QAuCA,UAAA;EAuDR,YAAA,CACJ,UAAA,UACA,aAAA,UACA,aAAA,WACC,OAAA;EA0DG,gBAAA,CACJ,UAAA,UACA,UAAA,UACA,aAAA,UACA,UAAA,GAAa,MAAA,mBACb,OAAA,GADmB,uBAAA,GAElB,OAAA,CAAQ,MAAA;EAgLL,MAAA,CAAO,KAAA,EAAO,mBAAA,GAAsB,OAAA,CAAQ,oBAAA;AAAA;;;KCt9BxC,oBAAA;AAAA,KAGA,mBAAA;AAAA,KAcA,2BAAA;AAAA,KAaA,mBAAA;AAAA,UAiBK,oBAAA;EAEf,IAAA;EAEA,OAAA;EAKA,YAAA;EAEA,SAAA;AAAA;AAAA,UAQe,eAAA;EAEf,SAAA;EACA,SAAA,EAAW,mBAAA;EAMX,SAAA;EAEA,OAAA,GAAU,oBAAA;EAEV,MAAA;EAEA,WAAA;EAEA,MAAA,GAAS,mBAAA;EAET,SAAA,GAAY,2BAAA;EAEZ,SAAA;EAEA,YAAA;EAEA,UAAA;EAEA,aAAA;EAEA,UAAA;EAEA,MAAA;IACE,OAAA;IACA,OAAA;IACA,OAAA;IACA,MAAA;EAAA;EAGF,KAAA,GAAQ,oBAAA;AAAA;AAAA,UAQO,uBAAA;EACf,MAAA,CAAO,KAAA,EAAO,IAAA,CAAK,eAAA;AAAA;;;UCnCJ,gBAAA;EAEf,KAAA;EAEA,aAAA;EAGA,cAAA;AAAA;AAAA,UAUe,uBAAA;EAEf,eAAA;EAEA,gBAAA;EAEA,YAAA;AAAA;AAAA,cASW,gBAAA;EAAA,QACH,MAAA;EAAA,QACA,QAAA;EAAA,QACA,MAAA;EAAA,QACA,MAAA;EAAA,QACA,MAAA;EAAA,QACA,YAAA;EAAA,QACA,SAAA;EAAA,QACA,IAAA;EAAA,QAcA,UAAA;EAAA,QAEA,cAAA;EAAA,QACA,eAAA;cAGN,QAAA,EAAU,QAAA,EACV,MAAA,UACA,MAAA,UACA,MAAA,UACA,YAAA,EAAc,cAAA,EACd,IAAA,GAAM,uBAAA;EAAA,QAWA,QAAA;EAAA,QA4BM,qBAAA;EAuCR,MAAA,CAAO,UAAA,WAAqB,OAAA,CAAQ,gBAAA;EAuBpC,cAAA,CACJ,SAAA,UACA,cAAA,UACA,OAAA,EAAS,MAAA,oBACR,OAAA;EAwBG,UAAA,CAAW,UAAA,UAAoB,KAAA,EAAO,gBAAA,GAAmB,OAAA;EAYzD,WAAA,CAAY,SAAA,UAAmB,cAAA,WAAyB,OAAA;EAAA,QAUhD,YAAA;EAaR,OAAA,CAAA,GAAW,OAAA;EAAA,QAcH,YAAA;EAAA,QAWA,MAAA;EAAA,QAyCA,YAAA;EAAA,QAiBA,UAAA;EAAA,QAwBA,uBAAA;EAAA,QAmCA,gBAAA;EAAA,QA8BA,UAAA;EAAA,QAQA,gBAAA;EAAA,QAkBA,OAAA;EAAA,QAYA,YAAA;EAAA,QA+BN,WAAA;EAAA,QAMA,oBAAA;AAAA;;;UCneO,mBAAA;EAEf,WAAA;EAEA,MAAA;EAEA,WAAA;EAEA,UAAA,GAAa,MAAA;EAEb,UAAA;EAWA,mBAAA;EASA,iBAAA;EAOA,uBAAA,GAA0B,MAAA;EAM1B,qBAAA,GAAwB,MAAA;EAaxB,oBAAA;EAaA,aAAA,GAAgB,gBAAA;EAgBhB,eAAA;IACE,WAAA;IACA,eAAA;IACA,YAAA;EAAA;EAwBF,uBAAA,GAA0B,WAAA;EAmB1B,6BAAA,GAAgC,WAAA;EAmBhC,aAAA,GAAgB,uBAAA;EAkBhB,OAAA;EASA,uBAAA;AAAA;AAAA,UAMe,YAAA;EAEf,SAAA;EAEA,OAAA;EAEA,OAAA;EAEA,OAAA;EAEA,SAAA;EAEA,UAAA;EAMA,OAAA,GAAU,MAAA;AAAA;AAAA,cAkHC,YAAA;EAAA,QACH,MAAA;EAAA,QACA,QAAA;EAAA,QACA,WAAA;EAAA,QAOA,cAAA;EAAA,QAaA,oBAAA;EAAA,QAEA,YAAA;EAAA,QACA,WAAA;EAAA,QACA,UAAA;EAAA,QACA,cAAA;EAAA,QACA,cAAA;EAAA,QACA,gBAAA;EAAA,QACA,OAAA;EAAA,QAUA,gBAAA;EAAA,QAMA,eAAA;EAAA,QAQA,mBAAA;EAAA,QAOA,WAAA;cAGN,YAAA,EAAc,cAAA,EACd,WAAA,EAAa,WAAA,EACb,UAAA,EAAY,UAAA,EACZ,cAAA,EAAgB,cAAA,EAChB,gBAAA,EAAkB,gBAAA,EAClB,OAAA,EAAS,mBAAA,cACT,WAAA,UACA,gBAAA,GAAmB,gBAAA;EA4Bf,MAAA,CAAO,SAAA,UAAmB,QAAA,EAAU,sBAAA,GAAyB,OAAA,CAAQ,YAAA;EAAA,QAqBnE,oBAAA;EAAA,QA+BA,cAAA;EAAA,QA0BA,sBAAA;EAAA,QAkCM,qBAAA;EAAA,QAgDA,4BAAA;EAAA,QAsGN,oCAAA;EAAA,QAqEM,QAAA;EAAA,QA+ZA,iBAAA;EAAA,QAyZA,eAAA;EAAA,QAkDN,mBAAA;EAAA,QAyEM,qBAAA;EAAA,QAyHA,iBAAA;EAAA,QA6LN,mBAAA;EAAA,QAaA,WAAA;EAAA,QAoBA,4BAAA;EAAA,QA8BM,qBAAA;EAAA,QAgyBN,sBAAA;EAAA,QAoBA,yBAAA;EAAA,QAgCA,UAAA;EAAA,QAOA,yBAAA;EAAA,QAoCA,6BAAA;EAAA,QA4EA,yBAAA;EAAA,QA4BM,SAAA;EAAA,QAyBA,cAAA;EAAA,QA+CN,mBAAA;AAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types/state.ts","../src/provisioning/region-check.ts","../src/types/resource.ts","../src/types/config.ts","../src/utils/logger.ts","../src/utils/error-handler.ts","../src/utils/aws-clients.ts","../src/utils/aws-region-resolver.ts","../src/types/assembly.ts","../src/synthesis/assembly-reader.ts","../src/cli/upload-cfn-template.ts","../src/synthesis/macro-expander.ts","../src/synthesis/synthesizer.ts","../src/state/s3-state-backend.ts","../src/assets/asset-redirect.ts","../src/deployment/work-graph.ts","../src/assets/asset-publisher.ts","../src/state/lock-manager.ts","../src/analyzer/template-parser.ts","../src/analyzer/dag-builder.ts","../src/analyzer/diff-calculator.ts","../src/provisioning/cloud-control-provider.ts","../src/provisioning/provider-registry.ts","../src/provisioning/providers/iam-role-provider.ts","../src/types/deployment-events.ts","../src/state/export-index-store.ts","../src/deployment/deploy-engine.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
- import { D as formatError, E as SynthesisError, M as getLogger, N as setLogger, O as isCdkdError, T as StateError, b as ProvisioningError, c as AssetError, d as DependencyError, h as LockError, j as ConsoleLogger, k as normalizeAwsError, l as CdkdError, u as ConfigError } from "./ec2-termination-protection-uvVnteGl.js";
2
- import { a as setAwsClients, i as resetAwsClients, r as getAwsClients, t as AwsClients } from "./aws-clients-pjPwZz1r.js";
3
- import { A as DiffCalculator, L as AssetPublisher, M as TemplateParser, N as LockManager, P as S3StateBackend, S as ProviderRegistry, b as IAMRoleProvider, bt as resolveBucketRegion, j as DagBuilder, r as DeployEngine, tt as Synthesizer, vt as AssemblyReader, w as CloudControlProvider, yt as clearBucketRegionCache } from "./deploy-engine-Cbi5IzWV.js";
1
+ import { n as getLogger, r as setLogger, t as ConsoleLogger } from "./logger-BzO-joNR.js";
2
+ import { D as formatError, E as SynthesisError, O as isCdkdError, T as StateError, b as ProvisioningError, c as AssetError, d as DependencyError, h as LockError, k as normalizeAwsError, l as CdkdError, u as ConfigError } from "./ec2-termination-protection-q-WGWgxa.js";
3
+ import { a as setAwsClients, i as resetAwsClients, r as getAwsClients, t as AwsClients } from "./aws-clients-B15NAPbL.js";
4
+ import { A as DiffCalculator, L as AssetPublisher, M as TemplateParser, N as LockManager, P as S3StateBackend, S as ProviderRegistry, b as IAMRoleProvider, bt as clearBucketRegionCache, j as DagBuilder, nt as Synthesizer, r as DeployEngine, w as CloudControlProvider, xt as resolveBucketRegion, yt as AssemblyReader } from "./deploy-engine-DqAIXGA_.js";
4
5
 
5
6
  export { AssemblyReader, AssetError, AssetPublisher, AwsClients, CdkdError, CloudControlProvider, ConfigError, ConsoleLogger, DagBuilder, DependencyError, DeployEngine, DiffCalculator, IAMRoleProvider, LockError, LockManager, ProviderRegistry, ProvisioningError, S3StateBackend, StateError, SynthesisError, Synthesizer, TemplateParser, clearBucketRegionCache, formatError, getAwsClients, getLogger, isCdkdError, normalizeAwsError, resetAwsClients, resolveBucketRegion, setAwsClients, setLogger };