@go-to-k/cdkd 0.284.60 → 0.284.62

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.
@@ -1,5 +1,5 @@
1
1
  import { a as getLiveRenderer, d as generateResourceNameWithFallback, f as getCurrentStackName, h as withStackName, l as applyDefaultNameForFallback, n as getLogger, p as looksLikeCdkdGeneratedName, u as generateResourceName } from "./logger-zRrlbaQt.js";
2
- import { t as getCdkdVersion } from "./version-Dqo5kOZi.js";
2
+ import { t as getCdkdVersion } from "./version-DoW7XkO0.js";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLocationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
5
5
  import { CloudControlClient, CreateResourceCommand, DeleteResourceCommand, GetResourceCommand, GetResourceRequestStatusCommand, ListResourcesCommand, UpdateResourceCommand } from "@aws-sdk/client-cloudcontrol";
@@ -18617,7 +18617,7 @@ var CloudControlProvider = class {
18617
18617
  if (context?.finalSnapshotIdentifier !== void 0) throw new ProvisioningError(`${logicalId} (${resourceType}) requires a final snapshot (DeletionPolicy: Snapshot), but the Cloud Control API delete route has no final-snapshot parameter. Re-run with --skip-final-snapshot after snapshotting manually, or retain the resource.`, resourceType, logicalId, physicalId);
18618
18618
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
18619
18619
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
18620
- const { ASGProvider } = await import("./asg-provider-D9nlNFCU.js").then((n) => n.n);
18620
+ const { ASGProvider } = await import("./asg-provider-BfX7AwFi.js").then((n) => n.n);
18621
18621
  return await new ASGProvider().delete(logicalId, physicalId, resourceType, _properties, context);
18622
18622
  }
18623
18623
  const isProtectedEc2Instance = context?.removeProtection === true && resourceType === "AWS::EC2::Instance";
@@ -19345,8 +19345,10 @@ var CloudControlProvider = class {
19345
19345
  * at command start. It is deliberately NOT
19346
19346
  * `process.listenerCount('SIGINT') > 0`, which was the first cut and is
19347
19347
  * defeated by the very case it was meant to catch: `cdkd drift` runs
19348
- * `provider.update` at concurrency 4, and a concurrent CloudFront / ACM /
19349
- * Route53 wait installs a TRANSIENT SIGINT listener of its own — so an ELBv2
19348
+ * `provider.update` at concurrency 4, and a concurrent CustomResource /
19349
+ * CloudFront / ACM wait (`grep -rn "process.on('SIGINT'"
19350
+ * src/provisioning/providers/` for the closed set — Route53's provider
19351
+ * registers none) installs a TRANSIENT SIGINT listener of its own — so an ELBv2
19350
19352
  * update starting inside that window saw a non-zero count, armed, and then
19351
19353
  * kept the listener for the rest of the command after the transient one was
19352
19354
  * removed. A count answers "is anyone listening right now"; the question is
@@ -19379,9 +19381,29 @@ var CloudControlProvider = class {
19379
19381
  * graceful owner, that watch must NOT treat its presence as "someone else
19380
19382
  * will handle this" (it subtracts `interruptWatchListenerCount()` for
19381
19383
  * exactly that reason), or the swallow above returns one window inward.
19382
- * The remaining population here is the commands that register no handler at
19383
- * all `import` / `export` / `scrub` / `orphan` / `drift` /
19384
- * `state refresh-observed`.
19384
+ *
19385
+ * **That leaves this force-quit with NO population among today's commands,
19386
+ * and it is worth being exact about why**, because the obvious guess — the
19387
+ * commands that register no handler at all, `import` / `export` / `scrub` /
19388
+ * `orphan` / `drift` / `state refresh-observed` — is wrong in a way an
19389
+ * earlier version of this note shipped. Property 3 gates ARMING on the
19390
+ * command scope, and those commands never open one (only
19391
+ * `forwardSigtermToSigint()` does, and only `deploy` / `destroy` /
19392
+ * `rollback` / `state destroy` call it), so this handler is never installed
19393
+ * during them and cannot force-quit there. See the scope note below, which
19394
+ * says the same thing from the lock's side and is what this contradicted.
19395
+ * Among the four commands that DO open a scope, each holds a graceful
19396
+ * SIGINT handler across the whole of it — `deploy.ts`'s top-level handler,
19397
+ * `rollback.ts`'s (removed adjacent to, and synchronously with, its
19398
+ * `unforwardSigterm()`), and now `watchCommandInterrupt` in both destroy
19399
+ * commands — so `others.length` is never 0 while armed.
19400
+ *
19401
+ * The branch is therefore a STRUCTURAL guarantee rather than a live code
19402
+ * path: it becomes reachable again the moment a command opens the interrupt
19403
+ * scope without holding a SIGINT handler across it, or an existing one tears
19404
+ * its handler down before closing the scope. That is a one-line mistake in a
19405
+ * command file, and the failure it produces — a swallowed Ctrl-C during a
19406
+ * provider wait — is silent, which is exactly why the branch stays.
19385
19407
  *
19386
19408
  * So when no other listener remains, the handler restores exactly what Node
19387
19409
  * would have done with no listener at all. That is deliberately not a second
@@ -19458,8 +19480,12 @@ let sigintLatched = false;
19458
19480
  * default terminate, and a swallowed Ctrl-C in a multi-stack destroy really is
19459
19481
  * a blocker. `cdkd drift --revert` is the live instance of the first. The second
19460
19482
  * was `cdkd destroy`, until issue #2117 gave both destroy commands a
19461
- * command-scoped handler of their own; the force-quit's remaining population is
19462
- * the commands that register none at all (see property 4).
19483
+ * command-scoped handler of their own — which leaves the force-quit with no
19484
+ * live population among today's commands at all. Property 4 works through why,
19485
+ * including why the commands that register no handler are NOT it: they never
19486
+ * open the interrupt scope, so this handler never arms for them. The seam is
19487
+ * what keeps the branch testable now that only a future command shape reaches
19488
+ * it.
19463
19489
  *
19464
19490
  * `commandOwnsInterrupts` exists because a provider suite never runs a COMMAND,
19465
19491
  * so every interrupt test would otherwise exercise the UNARMED path while
@@ -30026,4 +30052,4 @@ var DeployEngine = class {
30026
30052
 
30027
30053
  //#endregion
30028
30054
  export { endCommandInterruptScope as $, derivePartitionAndUrlSuffix as $n, exportNamesCarriedFrom as $t, renderStatefulReason as A, AssetManifestLoader as An, isCdkdError as Ar, isSingleDynamicReferenceToken as At, exportAliasCollisionScrubWarning as B, resolveStateBucketWithDefault as Bn, s3BucketRegionalDomainName as Bt, isFinalSnapshotError as C, buildDockerImage as Cn, ResourceTimeoutError as Cr, requireConfigString as Ct, extractDeploymentEventError as D, partitionSensitiveEnv as Dn, StateError as Dr, createSecretMasker as Dt, makeCanonicalizePropertiesFn as E, getDockerCmd as En, StackTerminationProtectionError as Er, TEMPLATE_SOURCED_RULES as Et, green as F, getLegacyStateBucketName as Fn, isThrottlingError as Fr, classifyReplaySecretRegion as Ft, collectInlinePolicyNamesManagedBySiblings as G, CFN_TEMPLATE_BODY_LIMIT as Gn, describeTypeWithThrottleRetry as Gt, secretBearingStateKeyWarning as H, resolveUseCdkBootstrapAssets as Hn, applyRoleArnIfSet as Ht, red as I, resolveApp as In, markNonRetryable as Ir, producerRegionsFromState as It, findActionableSilentDrops as J, findLargeInlineResources as Jn, TemplateParser as Jt, clearOnUpdateRemoval as K, CFN_TEMPLATE_URL_LIMIT as Kn, withRetry as Kt, yellow as L, resolveAutoAssetStorage as Ln, __exportAll as Lr, s3BucketArn as Lt, bold as M, Synthesizer as Mn, withErrorHandling as Mr, maskSecretsInText as Mt, cyan as N, synthesisStatusMessage as Nn, isMarkedNonRetryable as Nr, redactSecretsForState as Nt, MULTI_REGION_RECREATE_BLOCKED_TYPES as O, runDockerForeground as On, SynthesisError as Or, dynamicReferenceTokens as Ot, gray as P, getDefaultStateBucketName as Pn, isRetryableTransientError as Pr, scrubResourceRecord as Pt, beginCommandInterruptScope as Q, canonicalizeRegion as Qn, rebuildClientForBucketRegion as Qt, collectDeclaredOutputNames as R, resolveCaptureObservedState as Rn, s3BucketDomainName as Rt, createPreDeleteFinalSnapshot as S, buildDenyExternalAccessPolicy as Sn, ProvisioningError as Sr, requireConfigObject as St, unsupportedFinalSnapshotError as T, formatDockerLoginError as Tn, StackHasActiveImportsError as Tr, STATE_SOURCED_READBACK_RULES as Tt, stateKeySecretExposure as U, stateBucketExistenceConfirmed as Un, DiffCalculator as Ut, isExportAliasCollision as V, resolveStateBucketWithDefaultAndSource as Vn, s3BucketWebsiteUrl as Vt, IAMRoleProvider as W, warnDeprecatedNoPrefixCliFlag as Wn, INTRINSIC_KEYS as Wt, CUSTOM_RESOURCE_RESPONSE_PREFIX as X, expectedOwnerParam as Xn, displaySafe as Xt, findSilentDropProperties as Y, uploadCfnTemplate as Yn, LockManager as Yt, DEFAULT_STATE_PREFIX as Z, PARTITION_TABLE as Zn, S3StateBackend as Zt, computeImplicitDeleteEdges as _, isCrossRegionRedirect as _n, LocalStartServiceError as _r, configBooleanRefusal as _t, DeploymentEventsStore as a, WorkGraph as an, getAwsClients as ar, disableInstanceApiTermination as at, buildFinalSnapshotIdentifier as b, validateAssetBucketName as bn, NestedStackChildDirectDestroyError as br, replayWarn as bt, replayFailedOperations as c, loadPublishableAssetManifest as cn, AssetError as cr, carriesDynamicReference as ct, updatePartialReason as d, stripControlChars as dn, CrossAccountSecretRefusalError as dr, refStateLookupFromResource as dt, importableOutputKeys as en, AssemblyReader as er, interruptWatchListenerCount as et, UNSPECIFIED_SKIP_REASON as f, AssetModeResolver as fn, DependencyError as fr, WAFv2WebACLProvider as ft, IMPLICIT_DELETE_DEPENDENCIES as g, getBootstrapMarkerKey as gn, LocalMigrateError as gr, coerceCfnBoolean as gt, maskingRetryLogger as h, ensureAssetStorage as hn, LocalInvokeBuildError as hr, assertRegionMatch as ht, DeploymentEventsReader as i, stringifyValue as in, AwsClients as ir, slowCcOperationTimeoutMs as it, formatResourceLine as j, getDockerImageBySourceHash as jn, normalizeAwsError as jr, maskSecretsInError as jt, isStatefulRecreateTargetSync as k, runDockerStreaming as kn, formatError as kr, errorCauseChain as kt, replayRollback as l, rewriteTemplateAssetReferences as ln, CdkdError as lr, cfnRefValueFromPhysicalId as lt, withResourceDeadline as m, assertAssetBucketRegion as mn, DynamicReferenceRegionAmbiguousError as mr, resolveExplicitPhysicalId as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, shouldRetainResource as nn, clearBucketRegionCache as nr, startInterruptWatch as nt, planFailedOps as o, buildAssetRedirectMap as on, resetAwsClients as or, isTerminationProtectionPropagationError as ot, deleteSkipReason as p, BOOTSTRAP_MARKER_PREFIX as pn, DeployCancelledError as pr, normalizeAwsTagsToCfn as pt, ProviderRegistry as q, MIGRATE_TMP_PREFIX as qn, DagBuilder as qt, DeployEngine as r, AssetPublisher as rn, resolveBucketRegion as rr, CloudControlProvider as rt, planRollback as s, createAssetRedirectResolver as sn, setAwsClients as sr, IntrinsicFunctionResolver as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, importableOutputs as tn, processStackMessages as tr, isInterruptedWaitError as tt, updatePartialMessage as u, escapeRegExp$1 as un, ConfigError as ur, getAccountInfo as ut, ATOMIC_FINAL_SNAPSHOT_TYPES as v, parseBootstrapMarker as vn, LockError as vr, configStringRefusal as vt, refusesFinalSnapshot as w, dockerSpawnEnvWithSensitive as wn, ResourceUpdateNotSupportedError as wr, STATE_SOURCED_CROSS_GENERATION_RULES as wt, ccRoutedFinalSnapshotError as x, validateContainerRepoName as xn, PartialFailureError as xr, requireConfigArray as xt, PRE_DELETE_SNAPSHOT_TYPES as y, readBootstrapMarkerBody as yn, MissingCdkCliError as yr, readConfigString as yt, collectPublishedOutputNames as z, resolveSkipPrefix as zn, s3BucketDualStackDomainName as zt };
30029
- //# sourceMappingURL=deploy-engine-Cc6OYj-d.js.map
30055
+ //# sourceMappingURL=deploy-engine-D8AIgkwy.js.map