@go-to-k/cdkd 0.219.1 → 0.219.3
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.
- package/dist/asg-provider-B_hrCxRx.js +790 -0
- package/dist/asg-provider-B_hrCxRx.js.map +1 -0
- package/dist/{aws-clients-DWUnLza1.js → aws-clients-pjPwZz1r.js} +2 -18
- package/dist/{aws-clients-DWUnLza1.js.map → aws-clients-pjPwZz1r.js.map} +1 -1
- package/dist/cli.js +5 -755
- package/dist/cli.js.map +1 -1
- package/dist/{deploy-engine-B6CuzOHi.js → deploy-engine-Drw_e42s.js} +13 -1485
- package/dist/deploy-engine-Drw_e42s.js.map +1 -0
- package/dist/import-helpers-wLipXr5g.js +1484 -0
- package/dist/import-helpers-wLipXr5g.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/rolldown-runtime-CjeV3_4I.js +18 -0
- package/package.json +1 -1
- package/dist/deploy-engine-B6CuzOHi.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-helpers-wLipXr5g.js","names":[],"sources":["../src/provisioning/resource-name.ts","../src/utils/live-renderer.ts","../src/utils/stack-context.ts","../src/utils/logger.ts","../src/utils/error-handler.ts","../src/provisioning/ec2-termination-protection.ts","../src/provisioning/region-check.ts","../src/provisioning/import-helpers.ts"],"sourcesContent":["import { AsyncLocalStorage } from 'node:async_hooks';\nimport { createHash } from 'node:crypto';\n\n/**\n * Per-async-context stack name. Resource-name generation reads this so that\n * concurrent deploys (`cdkd deploy --all` runs stacks in parallel up to\n * `--stack-concurrency`) don't fight over a single shared variable.\n *\n * History: this was `let currentStackName: string | undefined` until\n * 2026-05-01. Two parallel `deploy()` calls would each call\n * `setCurrentStackName(...)` and the second would overwrite the first;\n * any IAM Role / SQS Queue / etc. created by the first stack while the\n * second was active would get the second stack's prefix in its physical\n * name, then the second stack's own create attempt for the same logical\n * id would collide (\"Role with name X already exists\"). Switching to\n * `AsyncLocalStorage` scopes the value to each deploy's async chain.\n */\nconst stackNameStore = new AsyncLocalStorage<string>();\n\n/**\n * Run `fn` with `stackName` set as the stack name visible to\n * `generateResourceName` for the duration of the callback (and any\n * `await`s inside). Concurrent invocations each get an independent scope\n * — this is the safe API for parallel deploys.\n */\nexport function withStackName<T>(stackName: string, fn: () => Promise<T>): Promise<T>;\nexport function withStackName<T>(stackName: string, fn: () => T): T;\nexport function withStackName<T>(stackName: string, fn: () => T | Promise<T>): T | Promise<T> {\n return stackNameStore.run(stackName, fn);\n}\n\n/**\n * Read the current async context's stack name, if any.\n *\n * Returns `undefined` outside any `withStackName` / `setCurrentStackName`\n * scope. Used by the live renderer to scope per-stack in-flight task\n * entries so concurrent deploys don't clobber each other's tasks (same\n * `logicalId` in two stacks would collide on the singleton renderer's\n * task Map without this).\n */\nexport function getCurrentStackName(): string | undefined {\n return stackNameStore.getStore();\n}\n\n/**\n * Set the current async context's stack name.\n *\n * @deprecated Use {@link withStackName} for new code — it makes the scope\n * obvious at the call site. This setter now uses\n * `AsyncLocalStorage.enterWith` so it remains safe under\n * `--stack-concurrency > 1` (each `deploy()` call has its own async\n * resource, so the value does NOT leak across siblings), but\n * `withStackName` is structurally clearer.\n */\nexport function setCurrentStackName(stackName: string): void {\n stackNameStore.enterWith(stackName);\n}\n\n/**\n * Per-async-context \"skip the stack-name prefix on user-supplied physical\n * names\" flag. Read by `generateResourceName` when its caller passes\n * `userSupplied: true`; auto-generated-name paths\n * (`generateResourceName(logicalId, ...)`) ignore this flag.\n *\n * Scoped via AsyncLocalStorage so that `--stack-concurrency > 1` runs\n * cannot cross-contaminate — each deploy's body is wrapped in its own\n * `withSkipPrefix(...)` scope (the deploy CLI plumbs the resolved\n * `--no-prefix-user-supplied-names` value through here). Default\n * `false` preserves pre-PR behavior when the flag is not set.\n */\nconst skipPrefixStore = new AsyncLocalStorage<boolean>();\n\n/**\n * Run `fn` with the \"skip prefix on user-supplied names\" flag set to\n * `skip`. Mirrors {@link withStackName} — concurrent invocations each\n * get an independent scope so parallel deploys do not fight over a\n * single shared variable.\n *\n * Wrap this around `withStackName(...)` (innermost is `fn`) in the\n * deploy CLI: `withSkipPrefix(flag, () => withStackName(name, body))`.\n * Order does not matter — the two stores are independent — but\n * consistent ordering keeps the call sites readable.\n */\nexport function withSkipPrefix<T>(skip: boolean, fn: () => Promise<T>): Promise<T>;\nexport function withSkipPrefix<T>(skip: boolean, fn: () => T): T;\nexport function withSkipPrefix<T>(skip: boolean, fn: () => T | Promise<T>): T | Promise<T> {\n return skipPrefixStore.run(skip, fn);\n}\n\n/**\n * Read the current async context's skip-prefix flag. Defaults to\n * `false` when no `withSkipPrefix` scope is active.\n *\n * Public for unit tests; `generateResourceName` consumes this\n * internally.\n */\nexport function getCurrentSkipPrefix(): boolean {\n return skipPrefixStore.getStore() ?? false;\n}\n\n/**\n * Resource types whose pre-PR #297 code path ran user-supplied\n * physical names through `generateResourceName` (= got the stack-name\n * prefix). These are the only types affected by\n * `--no-prefix-user-supplied-names`; flipping the flag against an\n * existing stack proposes REPLACEMENT on every state resource of\n * one of these types whose `physicalId` is still prefixed.\n *\n * Pattern A providers (Lambda, S3, SNS, SQS, DynamoDB, Logs LogGroup,\n * Events Rule, etc.) historically short-circuited user-supplied names\n * **out** of `generateResourceName` entirely — those types never got\n * the prefix regardless of the flag, so they are NOT included here.\n *\n * Used by the deploy-time pre-flight migration check in\n * `src/cli/commands/prefix-migration-check.ts`. Keep in sync with the\n * Pattern B provider call sites that consume\n * `generateResourceNameWithFallback(...)`.\n */\nexport const PATTERN_B_RESOURCE_TYPES: readonly string[] = [\n 'AWS::IAM::Role',\n 'AWS::IAM::User',\n 'AWS::IAM::Group',\n 'AWS::IAM::InstanceProfile',\n 'AWS::IAM::ManagedPolicy',\n 'AWS::ElasticLoadBalancingV2::LoadBalancer',\n 'AWS::ElasticLoadBalancingV2::TargetGroup',\n] as const;\n\n/**\n * For each Pattern B resource type, the CFn template `Properties` field\n * the user sets to supply a physical name (`new iam.Role(this, 'X',\n * { roleName: 'my-role' })` → `Properties.RoleName: 'my-role'`).\n *\n * Used by the prefix-migration check to distinguish user-supplied\n * physical names (which the v0.94.0 default flip would actually\n * REPLACE on next deploy) from auto-generated logical-id-fallback\n * names (which keep the prefix in BOTH old and new default — no\n * REPLACE pending). Without this discriminator, the migration\n * check naively flags every prefix-style physicalId regardless of\n * its origin, surfacing a false-positive WARNING on auto-generated\n * names that won't actually be touched.\n *\n * Keep in sync with `PATTERN_B_RESOURCE_TYPES` and with each\n * provider's `Properties[<NameField>]` lookup in\n * `src/provisioning/providers/`.\n */\nexport const PATTERN_B_NAME_PROPERTIES: Readonly<Record<string, string>> = {\n 'AWS::IAM::Role': 'RoleName',\n 'AWS::IAM::User': 'UserName',\n 'AWS::IAM::Group': 'GroupName',\n 'AWS::IAM::InstanceProfile': 'InstanceProfileName',\n 'AWS::IAM::ManagedPolicy': 'ManagedPolicyName',\n 'AWS::ElasticLoadBalancingV2::LoadBalancer': 'Name',\n 'AWS::ElasticLoadBalancingV2::TargetGroup': 'Name',\n};\n\n/**\n * Options for generating a resource name.\n */\nexport interface ResourceNameOptions {\n /** Maximum length for the name (e.g., 32 for ALB/TG, 64 for IAM, 63 for S3) */\n maxLength: number;\n /** Whether to force lowercase (e.g., S3 buckets) */\n lowercase?: boolean;\n /** Allowed character regex pattern. Characters not matching will be removed.\n * Default: /[^a-zA-Z0-9-]/ (alphanumeric + hyphen) */\n allowedPattern?: RegExp;\n /**\n * `true` when the caller is passing a name the user explicitly\n * declared in their CDK code (e.g. `new iam.Role(this, 'X', {\n * roleName: 'my-role' })`). `false` (default) when the caller is\n * passing the logical-id fallback or any other cdkd-generated value.\n *\n * Combined with the per-deploy `withSkipPrefix(true)` flag, a\n * `userSupplied: true` call skips the stack-name prefix and returns\n * the user's declared name verbatim (after the same sanitize /\n * truncate pipeline). When `userSupplied` is `false` OR\n * `withSkipPrefix` is unset / `false`, the stack-name prefix is\n * applied (pre-PR behavior).\n *\n * This split is load-bearing: cdkd's stack-scoping concern (prefix\n * for cross-stack uniqueness on auto-generated names) must stay\n * coupled to the auto-generated path, NOT to user-declared names —\n * those belong to the user.\n */\n userSupplied?: boolean;\n}\n\n/**\n * Generate a unique resource name from the logical ID.\n *\n * Generates names in CloudFormation-compatible format:\n * `{StackName}-{LogicalId}-{Hash}` (truncated to maxLength).\n *\n * @param name The raw name (from properties or logicalId fallback)\n * @param options Length and character constraints\n * @returns A sanitized, truncated name that fits the constraints\n */\nexport function generateResourceName(name: string, options: ResourceNameOptions): string {\n const {\n maxLength,\n lowercase = false,\n allowedPattern = /[^a-zA-Z0-9-]/g,\n userSupplied = false,\n } = options;\n\n // Include stack name for uniqueness (like CloudFormation does).\n //\n // The prefix is suppressed when the caller marked the name as\n // user-supplied AND the per-deploy `withSkipPrefix(true)` flag is\n // active — the user owns that name and cdkd should not rewrite it.\n // Every other path (logical-id fallback, no withSkipPrefix scope,\n // flag set to false) keeps the prefix for cross-stack uniqueness.\n const currentStackName = stackNameStore.getStore();\n const shouldPrefix = currentStackName && !(userSupplied && getCurrentSkipPrefix());\n const fullName = shouldPrefix ? `${currentStackName}-${name}` : name;\n\n // Apply lowercase BEFORE pattern matching (so A-Z aren't removed by /[^a-z0-9.-]/)\n let sanitized = lowercase ? fullName.toLowerCase() : fullName;\n sanitized = sanitized.replace(allowedPattern, '-');\n\n // Collapse consecutive hyphens and remove leading/trailing\n sanitized = sanitized.replace(/-{2,}/g, '-').replace(/^-+|-+$/g, '');\n\n if (sanitized.length <= maxLength) {\n return sanitized;\n }\n\n // Truncate with hash suffix for uniqueness\n const hash = createHash('sha256').update(fullName).digest('hex').substring(0, 8);\n const maxPrefixLength = maxLength - hash.length - 1; // -1 for separator\n const prefix = sanitized.substring(0, maxPrefixLength).replace(/-+$/, '');\n\n return `${prefix}-${hash}`;\n}\n\n/**\n * Generate a resource name from a user-declared physical name OR\n * fall back to the logical id.\n *\n * Wraps {@link generateResourceName} to express the Pattern B call-site\n * shape (`generateResourceName((properties['Name'] as string | undefined)\n * || logicalId, opts)`) as a single typed helper. The user-supplied\n * branch passes `userSupplied: true`, which makes the per-deploy\n * `withSkipPrefix(true)` flag drop the stack-name prefix on that name.\n * The fallback (logical-id) branch is `userSupplied: false` and keeps\n * the prefix regardless of the flag — auto-generated names rely on\n * the prefix for cross-stack uniqueness.\n *\n * Use at every Pattern B provider call site (currently IAM Role, IAM\n * User, IAM Group, IAM InstanceProfile, ELBv2 LoadBalancer, ELBv2\n * TargetGroup) so the `--no-prefix-user-supplied-names` flag controls\n * those types consistently. Pattern A providers (Lambda, S3, SNS,\n * SQS, DynamoDB, etc.) do NOT need this helper — they already\n * short-circuit the user-supplied name out of the\n * `generateResourceName` call entirely, so the prefix is never\n * applied to user-supplied names regardless of the flag.\n */\nexport function generateResourceNameWithFallback(\n userSuppliedName: string | undefined,\n logicalId: string,\n options: Omit<ResourceNameOptions, 'userSupplied'>\n): string {\n if (userSuppliedName !== undefined && userSuppliedName !== '') {\n return generateResourceName(userSuppliedName, { ...options, userSupplied: true });\n }\n return generateResourceName(logicalId, { ...options, userSupplied: false });\n}\n\n/**\n * Default name generation rules for CC API fallback.\n *\n * When an SDK provider falls back to CC API, the resource may need a\n * default name that the SDK provider would have generated. This map\n * defines the name property and generation options for each resource type.\n *\n * Format: resourceType → { nameProperty, options, postProcess? }\n */\nconst FALLBACK_NAME_RULES: Record<\n string,\n {\n nameProperty: string;\n options: ResourceNameOptions;\n }\n> = {\n 'AWS::S3::Bucket': { nameProperty: 'BucketName', options: { maxLength: 63, lowercase: true } },\n 'AWS::SQS::Queue': { nameProperty: 'QueueName', options: { maxLength: 80 } },\n 'AWS::SNS::Topic': { nameProperty: 'TopicName', options: { maxLength: 256 } },\n 'AWS::Lambda::Function': { nameProperty: 'FunctionName', options: { maxLength: 64 } },\n 'AWS::Lambda::LayerVersion': { nameProperty: 'LayerName', options: { maxLength: 64 } },\n 'AWS::IAM::Role': { nameProperty: 'RoleName', options: { maxLength: 64 } },\n 'AWS::IAM::Policy': { nameProperty: 'PolicyName', options: { maxLength: 64 } },\n 'AWS::IAM::ManagedPolicy': {\n nameProperty: 'ManagedPolicyName',\n options: { maxLength: 128 },\n },\n 'AWS::IAM::User': { nameProperty: 'UserName', options: { maxLength: 64 } },\n 'AWS::IAM::Group': { nameProperty: 'GroupName', options: { maxLength: 128 } },\n 'AWS::IAM::InstanceProfile': {\n nameProperty: 'InstanceProfileName',\n options: { maxLength: 128 },\n },\n 'AWS::DynamoDB::Table': { nameProperty: 'TableName', options: { maxLength: 255 } },\n 'AWS::ECR::Repository': {\n nameProperty: 'RepositoryName',\n options: { maxLength: 256, lowercase: true },\n },\n 'AWS::ECS::Cluster': { nameProperty: 'ClusterName', options: { maxLength: 255 } },\n 'AWS::ECS::Service': { nameProperty: 'ServiceName', options: { maxLength: 255 } },\n 'AWS::Logs::LogGroup': { nameProperty: 'LogGroupName', options: { maxLength: 512 } },\n 'AWS::CloudWatch::Alarm': { nameProperty: 'AlarmName', options: { maxLength: 256 } },\n 'AWS::Events::Rule': { nameProperty: 'Name', options: { maxLength: 64 } },\n 'AWS::Events::EventBus': { nameProperty: 'Name', options: { maxLength: 256 } },\n 'AWS::Kinesis::Stream': { nameProperty: 'Name', options: { maxLength: 128 } },\n 'AWS::StepFunctions::StateMachine': {\n nameProperty: 'StateMachineName',\n options: { maxLength: 80 },\n },\n 'AWS::SecretsManager::Secret': {\n nameProperty: 'Name',\n options: { maxLength: 512, allowedPattern: /[^a-zA-Z0-9-/_]/g },\n },\n 'AWS::SSM::Parameter': { nameProperty: 'Name', options: { maxLength: 2048 } },\n 'AWS::Cognito::UserPool': { nameProperty: 'UserPoolName', options: { maxLength: 128 } },\n 'AWS::ElastiCache::SubnetGroup': {\n nameProperty: 'CacheSubnetGroupName',\n options: { maxLength: 255, lowercase: true },\n },\n 'AWS::ElastiCache::CacheCluster': {\n nameProperty: 'ClusterName',\n options: { maxLength: 40, lowercase: true },\n },\n 'AWS::RDS::DBSubnetGroup': {\n nameProperty: 'DBSubnetGroupName',\n options: { maxLength: 255, lowercase: true },\n },\n 'AWS::RDS::DBCluster': {\n nameProperty: 'DBClusterIdentifier',\n options: { maxLength: 63, lowercase: true },\n },\n 'AWS::RDS::DBInstance': {\n nameProperty: 'DBInstanceIdentifier',\n options: { maxLength: 63, lowercase: true },\n },\n // DocumentDB — RDS-shaped API; same name constraints.\n 'AWS::DocDB::DBSubnetGroup': {\n nameProperty: 'DBSubnetGroupName',\n options: { maxLength: 255, lowercase: true },\n },\n 'AWS::DocDB::DBCluster': {\n nameProperty: 'DBClusterIdentifier',\n options: { maxLength: 63, lowercase: true },\n },\n 'AWS::DocDB::DBInstance': {\n nameProperty: 'DBInstanceIdentifier',\n options: { maxLength: 63, lowercase: true },\n },\n // Neptune — RDS-shaped API; same name constraints.\n 'AWS::Neptune::DBSubnetGroup': {\n nameProperty: 'DBSubnetGroupName',\n options: { maxLength: 255, lowercase: true },\n },\n 'AWS::Neptune::DBCluster': {\n nameProperty: 'DBClusterIdentifier',\n options: { maxLength: 63, lowercase: true },\n },\n 'AWS::Neptune::DBInstance': {\n nameProperty: 'DBInstanceIdentifier',\n options: { maxLength: 63, lowercase: true },\n },\n 'AWS::ElasticLoadBalancingV2::LoadBalancer': {\n nameProperty: 'Name',\n options: { maxLength: 32 },\n },\n 'AWS::ElasticLoadBalancingV2::TargetGroup': {\n nameProperty: 'Name',\n options: { maxLength: 32 },\n },\n 'AWS::WAFv2::WebACL': { nameProperty: 'Name', options: { maxLength: 128 } },\n 'AWS::CodeBuild::Project': { nameProperty: 'Name', options: { maxLength: 255 } },\n 'AWS::S3Express::DirectoryBucket': {\n nameProperty: 'BucketName',\n options: { maxLength: 63, lowercase: true },\n },\n};\n\n/**\n * Apply default name generation for CC API fallback.\n *\n * When a resource doesn't have an explicit name property set,\n * generates the same default name that the SDK provider would have created.\n * This ensures consistent naming regardless of whether SDK or CC API handles the resource.\n *\n * @param logicalId Logical ID from the template\n * @param resourceType CloudFormation resource type\n * @param properties Resource properties (will not be mutated)\n * @returns Properties with default name applied if needed, or original properties if no rule exists\n */\nexport function applyDefaultNameForFallback(\n logicalId: string,\n resourceType: string,\n properties: Record<string, unknown>\n): Record<string, unknown> {\n const rule = FALLBACK_NAME_RULES[resourceType];\n if (!rule) return properties;\n\n // If the name property is already set, no need to generate\n if (properties[rule.nameProperty]) return properties;\n\n const generatedName = generateResourceName(logicalId, rule.options);\n\n return {\n ...properties,\n [rule.nameProperty]: generatedName,\n };\n}\n","/**\n * Live multi-line progress renderer for the bottom of the terminal.\n *\n * Maintains a \"live area\" listing in-flight tasks (Creating MyBucket...),\n * redrawn on a spinner timer. Other log output is routed through\n * {@link LiveRenderer.printAbove} so it appears above the live area without\n * disturbing the currently-displayed in-flight tasks.\n *\n * Design notes:\n * - Multiple resources can be in flight concurrently (cdkd uses parallel DAG\n * dispatch), so a single in-place line overwrite is not enough — each\n * in-flight resource is its own line in the live area.\n * - On non-TTY (CI/log-collection), the renderer stays inactive and\n * {@link LiveRenderer.printAbove} falls through to a direct write, so output\n * matches the previous append-only behavior.\n * - In verbose mode (debug level) the caller should not start the renderer:\n * debug logs would interleave too aggressively with the live area.\n */\n\nimport { getCurrentStackName } from '../provisioning/resource-name.js';\n\nconst SPINNER_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];\nconst FRAME_INTERVAL_MS = 80;\nconst ESC = '\\x1b[';\n\ninterface Task {\n label: string;\n startedAt: number;\n /** Stack the task belongs to (from `withStackName` AsyncLocalStorage),\n * or `undefined` when addTask was called outside any stack scope.\n * Captured at addTask time because the spinner re-draw runs on a\n * setInterval timer with no inherited async context. */\n stackName: string | undefined;\n}\n\n/**\n * Scope a task `id` to its calling stack so two stacks running in\n * parallel — `cdkd deploy --all` with `--stack-concurrency > 1` — don't\n * collide on the same `logicalId` in the renderer's task Map. Without\n * this, stack B's `addTask('MyQueue', ...)` would overwrite stack A's\n * entry, and stack A's later `removeTask('MyQueue')` would erase\n * stack B's.\n */\nfunction scopedKey(id: string, stackName: string | undefined): string {\n return stackName ? `${stackName}:${id}` : id;\n}\n\nexport class LiveRenderer {\n private tasks = new Map<string, Task>();\n private active = false;\n private spinnerIndex = 0;\n private interval: NodeJS.Timeout | null = null;\n private linesDrawn = 0;\n private cursorHidden = false;\n private exitListener: (() => void) | null = null;\n private readonly stream: NodeJS.WriteStream;\n\n constructor(stream: NodeJS.WriteStream = process.stdout) {\n this.stream = stream;\n }\n\n isActive(): boolean {\n return this.active;\n }\n\n /**\n * Enable the live renderer. No-op if stdout is not a TTY or if\n * `CDKD_NO_LIVE=1`. Returns true if successfully enabled.\n */\n start(): boolean {\n if (this.active) return true;\n if (!this.stream.isTTY) return false;\n if (process.env['CDKD_NO_LIVE'] === '1') return false;\n\n this.active = true;\n this.hideCursor();\n // Restore the cursor on abrupt process exit (e.g., uncaught exception\n // before stop() runs). Removed in stop() to avoid leaking listeners\n // across renderer instances.\n if (!this.exitListener) {\n this.exitListener = () => this.showCursor();\n process.on('exit', this.exitListener);\n }\n this.interval = setInterval(() => this.draw(), FRAME_INTERVAL_MS);\n if (typeof this.interval.unref === 'function') this.interval.unref();\n return true;\n }\n\n stop(): void {\n if (!this.active) return;\n if (this.interval) {\n clearInterval(this.interval);\n this.interval = null;\n }\n this.clear();\n this.showCursor();\n if (this.exitListener) {\n process.removeListener('exit', this.exitListener);\n this.exitListener = null;\n }\n this.tasks.clear();\n this.active = false;\n }\n\n addTask(id: string, label: string): void {\n const stackName = getCurrentStackName();\n this.tasks.set(scopedKey(id, stackName), { label, startedAt: Date.now(), stackName });\n if (this.active) this.draw();\n }\n\n removeTask(id: string): void {\n const stackName = getCurrentStackName();\n if (!this.tasks.delete(scopedKey(id, stackName))) return;\n if (this.active) this.draw();\n }\n\n /**\n * Replace the label of a previously-added task in place. No-op if the\n * task is not currently tracked (e.g. it already finished). Used by the\n * per-resource deadline wrapper to surface a \"[taking longer than\n * expected, Nm+]\" suffix without disturbing the elapsed-time counter\n * the renderer tracks via `startedAt`.\n */\n updateTaskLabel(id: string, label: string): void {\n const stackName = getCurrentStackName();\n const task = this.tasks.get(scopedKey(id, stackName));\n if (!task) return;\n task.label = label;\n if (this.active) this.draw();\n }\n\n /**\n * Print content above the live area. Clears the live area, runs the writer,\n * then redraws the live area. When the renderer is inactive, the writer\n * runs directly so callers can use this unconditionally.\n */\n printAbove(write: () => void): void {\n if (!this.active) {\n write();\n return;\n }\n this.clear();\n write();\n this.draw();\n }\n\n private clear(): void {\n if (this.linesDrawn === 0) return;\n this.stream.write('\\r');\n for (let i = 0; i < this.linesDrawn; i++) {\n this.stream.write(`${ESC}1A${ESC}2K`);\n }\n this.linesDrawn = 0;\n }\n\n private draw(): void {\n if (!this.active) return;\n this.clear();\n if (this.tasks.size === 0) return;\n\n const frame = SPINNER_FRAMES[this.spinnerIndex % SPINNER_FRAMES.length]!;\n this.spinnerIndex++;\n\n // When tasks from more than one stack are in flight at the same time,\n // prefix each line with the stack name so the user can tell them\n // apart. In single-stack runs, omit the prefix to keep the area\n // visually clean. (Detection is per-frame: as soon as a second\n // stack adds its first task, the prefix appears on every row;\n // when the second stack's tasks all complete and only one stack\n // remains, the prefix disappears.)\n const distinctStacks = new Set<string | undefined>();\n for (const task of this.tasks.values()) distinctStacks.add(task.stackName);\n const showStackPrefix = distinctStacks.size > 1;\n\n // Truncate to terminal width so a long label does not wrap and confuse\n // the line-up clear logic. Default to 80 if columns is unavailable.\n const cols = this.stream.columns ?? 80;\n const lines: string[] = [];\n for (const task of this.tasks.values()) {\n const elapsed = ((Date.now() - task.startedAt) / 1000).toFixed(1);\n const prefix = showStackPrefix && task.stackName ? `[${task.stackName}] ` : '';\n const raw = ` ${frame} ${prefix}${task.label} (${elapsed}s)`;\n lines.push(this.truncate(raw, cols));\n }\n this.stream.write(lines.join('\\n') + '\\n');\n this.linesDrawn = lines.length;\n }\n\n private truncate(s: string, maxLen: number): string {\n if (s.length <= maxLen) return s;\n if (maxLen <= 1) return '…';\n return s.substring(0, maxLen - 1) + '…';\n }\n\n private hideCursor(): void {\n if (this.cursorHidden) return;\n this.stream.write(`${ESC}?25l`);\n this.cursorHidden = true;\n }\n\n private showCursor(): void {\n if (!this.cursorHidden) return;\n this.stream.write(`${ESC}?25h`);\n this.cursorHidden = false;\n }\n}\n\nlet globalRenderer: LiveRenderer | null = null;\n\nexport function getLiveRenderer(): LiveRenderer {\n if (!globalRenderer) globalRenderer = new LiveRenderer();\n return globalRenderer;\n}\n\n/**\n * Reset the singleton (for tests).\n */\nexport function resetLiveRenderer(): void {\n if (globalRenderer) globalRenderer.stop();\n globalRenderer = null;\n}\n","import { AsyncLocalStorage } from 'node:async_hooks';\n\n/**\n * Per-stack log buffer for parallel multi-stack deploys.\n *\n * Without buffering, two concurrent `deploy()` calls interleave their\n * `logger.info(...)` lines: stack A's \"Changes: 4 to create\" appears in\n * the middle of stack B's `[N/N] ✅ ...` progress, and stack B's\n * \"Deployment completed\" lands after stack A's late progress lines. With\n * buffering, each stack's log output is captured into its own buffer\n * for the duration of the deploy and flushed atomically when the deploy\n * finishes — so the user sees one clean per-stack block.\n *\n * Single-stack deploys do NOT enable buffering (the caller checks\n * `stacks.length > 1`); real-time output is preferred when there is no\n * interleaving risk.\n */\nexport interface StackOutputBuffer {\n lines: string[];\n}\n\nconst outputBufferStore = new AsyncLocalStorage<StackOutputBuffer>();\n\n/**\n * Run `fn` with a fresh log buffer scoped to its async chain. Any\n * `logger.info / debug / warn / error` calls inside `fn` (and any\n * `await`s) push into the buffer instead of writing to stdout/stderr.\n * Returns the buffered lines (and either `result` or `error`) so the\n * caller can flush them in one block.\n */\nexport async function runStackBuffered<T>(\n fn: () => Promise<T>\n): Promise<{ lines: string[] } & ({ ok: true; result: T } | { ok: false; error: unknown })> {\n const buffer: StackOutputBuffer = { lines: [] };\n return outputBufferStore.run(buffer, async () => {\n try {\n const result = await fn();\n return { ok: true, result, lines: buffer.lines };\n } catch (error) {\n return { ok: false, error, lines: buffer.lines };\n }\n });\n}\n\n/**\n * Get the current async context's stack output buffer, or `undefined`\n * if no `runStackBuffered` is active. The logger consults this on every\n * call: present → push to buffer; absent → fall through to live\n * renderer / console.\n */\nexport function getCurrentStackOutputBuffer(): StackOutputBuffer | undefined {\n return outputBufferStore.getStore();\n}\n","import type { Logger, LogLevel } from '../types/config.js';\nimport { getLiveRenderer } from './live-renderer.js';\nimport { getCurrentStackOutputBuffer } from './stack-context.js';\n\n/**\n * ANSI color codes\n *\n * Kept internal — `ConsoleLogger.formatMessage` references these for the\n * verbose/compact mode level prefixes. For inline color wrapping in\n * production code, import from `./colors.js` instead (which lives in a\n * separate module so unit tests that mock `logger.ts` don't strip color\n * helpers as a side effect).\n */\nconst colors = {\n reset: '\\x1b[0m',\n bright: '\\x1b[1m',\n dim: '\\x1b[2m',\n red: '\\x1b[31m',\n green: '\\x1b[32m',\n yellow: '\\x1b[33m',\n blue: '\\x1b[34m',\n cyan: '\\x1b[36m',\n gray: '\\x1b[90m',\n} as const;\n\n/**\n * Format timestamp\n */\nfunction formatTimestamp(): string {\n const now = new Date();\n return now.toISOString();\n}\n\n/**\n * Console logger implementation\n *\n * Supports two output modes:\n * - verbose (debug level): timestamps, module prefixes, all details\n * - compact (info level): clean output without timestamps or prefixes\n */\nexport class ConsoleLogger implements Logger {\n private level: LogLevel;\n private useColors: boolean;\n\n constructor(level: LogLevel = 'info', useColors: boolean = true) {\n this.level = level;\n this.useColors = useColors;\n }\n\n private shouldLog(level: LogLevel): boolean {\n const levels: LogLevel[] = ['debug', 'info', 'warn', 'error'];\n const currentLevelIndex = levels.indexOf(this.level);\n const messageLevelIndex = levels.indexOf(level);\n return messageLevelIndex >= currentLevelIndex;\n }\n\n private formatMessage(level: LogLevel, message: string, ...args: unknown[]): string {\n const formattedArgs = args.length > 0 ? ' ' + args.map((a) => JSON.stringify(a)).join(' ') : '';\n\n // Verbose mode: full timestamps and level\n if (this.level === 'debug') {\n const timestamp = formatTimestamp();\n const levelStr = level.toUpperCase().padEnd(5);\n\n if (this.useColors) {\n const levelColor = {\n debug: colors.gray,\n info: colors.blue,\n warn: colors.yellow,\n error: colors.red,\n }[level];\n\n return `${colors.dim}${timestamp}${colors.reset} ${levelColor}${levelStr}${colors.reset} ${message}${formattedArgs}`;\n }\n\n return `${timestamp} ${levelStr} ${message}${formattedArgs}`;\n }\n\n // Compact mode: clean output\n if (this.useColors) {\n if (level === 'error') {\n return `${colors.red}${message}${formattedArgs}${colors.reset}`;\n }\n if (level === 'warn') {\n return `${colors.yellow}${message}${formattedArgs}${colors.reset}`;\n }\n return `${message}${formattedArgs}`;\n }\n\n return `${message}${formattedArgs}`;\n }\n\n /**\n * Route a formatted log line. When a per-stack output buffer is active in\n * the current async context (parallel multi-stack deploy), capture the\n * line into the buffer so it can be flushed as one atomic block when the\n * stack finishes. Otherwise fall through to the live renderer / console\n * as before.\n */\n private emit(level: LogLevel, formatted: string): void {\n const buffer = getCurrentStackOutputBuffer();\n if (buffer) {\n buffer.lines.push(formatted);\n return;\n }\n getLiveRenderer().printAbove(() => {\n if (level === 'error') console.error(formatted);\n else if (level === 'warn') console.warn(formatted);\n else if (level === 'info') console.info(formatted);\n else console.debug(formatted);\n });\n }\n\n debug(message: string, ...args: unknown[]): void {\n if (this.shouldLog('debug')) {\n this.emit('debug', this.formatMessage('debug', message, ...args));\n }\n }\n\n info(message: string, ...args: unknown[]): void {\n if (this.shouldLog('info')) {\n this.emit('info', this.formatMessage('info', message, ...args));\n }\n }\n\n warn(message: string, ...args: unknown[]): void {\n if (this.shouldLog('warn')) {\n this.emit('warn', this.formatMessage('warn', message, ...args));\n }\n }\n\n error(message: string, ...args: unknown[]): void {\n if (this.shouldLog('error')) {\n this.emit('error', this.formatMessage('error', message, ...args));\n }\n }\n\n /**\n * Set log level\n */\n setLevel(level: LogLevel): void {\n this.level = level;\n }\n\n getLevel(): LogLevel {\n return this.level;\n }\n\n /**\n * Create a child logger with a prefix\n *\n * In verbose mode, prefix is shown as [Prefix]. In compact mode, prefix is hidden.\n */\n child(prefix: string): ChildLogger {\n return new ChildLogger(prefix, this.useColors);\n }\n}\n\n/**\n * Child logger that always syncs level from global logger\n */\nclass ChildLogger extends ConsoleLogger {\n private readonly prefix: string;\n\n constructor(prefix: string, useColors: boolean) {\n super('info', useColors);\n this.prefix = prefix;\n }\n\n private syncLevel(): void {\n if (globalLogger) {\n this.setLevel(globalLogger.getLevel());\n }\n }\n\n override debug(message: string, ...args: unknown[]): void {\n this.syncLevel();\n super.debug(`[${this.prefix}] ${message}`, ...args);\n }\n\n override info(message: string, ...args: unknown[]): void {\n this.syncLevel();\n const msg = this.getLevel() === 'debug' ? `[${this.prefix}] ${message}` : message;\n super.info(msg, ...args);\n }\n\n override warn(message: string, ...args: unknown[]): void {\n this.syncLevel();\n const msg = this.getLevel() === 'debug' ? `[${this.prefix}] ${message}` : message;\n super.warn(msg, ...args);\n }\n\n override error(message: string, ...args: unknown[]): void {\n this.syncLevel();\n const msg = this.getLevel() === 'debug' ? `[${this.prefix}] ${message}` : message;\n super.error(msg, ...args);\n }\n}\n\n/**\n * Global logger instance\n */\nlet globalLogger: ConsoleLogger | null = null;\n\n/**\n * Get or create global logger\n */\nexport function getLogger(): ConsoleLogger {\n if (!globalLogger) {\n globalLogger = new ConsoleLogger();\n }\n return globalLogger;\n}\n\n/**\n * Set global logger instance\n */\nexport function setLogger(logger: ConsoleLogger): void {\n globalLogger = logger;\n}\n","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 { 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","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"],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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/deployment/work-graph.ts","../src/assets/asset-publisher.ts","../src/state/s3-state-backend.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/state/export-index-store.ts","../src/deployment/deploy-engine.ts"],"mappings":"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"}
|
|
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/deployment/work-graph.ts","../src/assets/asset-publisher.ts","../src/state/s3-state-backend.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/state/export-index-store.ts","../src/deployment/deploy-engine.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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 "./import-helpers-wLipXr5g.js";
|
|
2
|
+
import { a as setAwsClients, i as resetAwsClients, r as getAwsClients, t as AwsClients } from "./aws-clients-pjPwZz1r.js";
|
|
3
|
+
import { C as DagBuilder, E as S3StateBackend, I as Synthesizer, O as AssetPublisher, Q as resolveBucketRegion, S as DiffCalculator, T as LockManager, X as AssemblyReader, Z as clearBucketRegionCache, _ as ProviderRegistry, h as IAMRoleProvider, r as DeployEngine, w as TemplateParser, y as CloudControlProvider } from "./deploy-engine-Drw_e42s.js";
|
|
3
4
|
|
|
4
5
|
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 };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __exportAll = (all, no_symbols) => {
|
|
4
|
+
let target = {};
|
|
5
|
+
for (var name in all) {
|
|
6
|
+
__defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
if (!no_symbols) {
|
|
12
|
+
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
13
|
+
}
|
|
14
|
+
return target;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { __exportAll as t };
|