@go-to-k/cdkd 0.289.8 → 0.289.9

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/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { n as isVersionOnlyInvocation, t as getCdkdVersion } from "./version-DWnjHtUC.js";
2
+ import { n as isVersionOnlyInvocation, t as getCdkdVersion } from "./version-DIRhHTEG.js";
3
3
 
4
4
  //#region src/cli/pipe-close-handler.ts
5
5
  /**
@@ -74,7 +74,7 @@ async function main() {
74
74
  console.log(getCdkdVersion());
75
75
  return;
76
76
  }
77
- const { buildProgram } = await import("./program-BJxsQ7qM.js");
77
+ const { buildProgram } = await import("./program-gLF8ioT_.js");
78
78
  const program = buildProgram();
79
79
  const args = reorderArgs(process.argv);
80
80
  await program.parseAsync(args);
@@ -1,6 +1,6 @@
1
1
  import { b as displaySafe, d as applyDefaultNameForFallback, f as explicitNamePropertyFor, g as looksLikeCdkdGeneratedName, h as getCurrentStackName, m as generateResourceNameWithFallback, n as getLogger, p as generateResourceName, r as isStdoutReservedForPayload, s as getLiveRenderer, v as withStackName, y as UNRENDERABLE } from "./logger-DTEUzYP_.js";
2
2
  import { t as awsClientDefaults } from "./aws-client-defaults-D-iYiIJ6.js";
3
- import { t as getCdkdVersion } from "./version-DWnjHtUC.js";
3
+ import { t as getCdkdVersion } from "./version-DIRhHTEG.js";
4
4
  import { AsyncLocalStorage } from "node:async_hooks";
5
5
  import { createHash, randomUUID } from "node:crypto";
6
6
  import { CreateBucketCommand, DeleteObjectCommand, DeleteObjectsCommand, GetBucketLocationCommand, GetBucketReplicationCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectVersionsCommand, ListObjectsV2Command, NoSuchKey, PutBucketEncryptionCommand, PutBucketPolicyCommand, PutObjectCommand, PutPublicAccessBlockCommand, S3Client, S3ServiceException } from "@aws-sdk/client-s3";
@@ -11401,7 +11401,10 @@ const sameGenerationBags = /* @__PURE__ */ new WeakSet();
11401
11401
  * stored. On the no-change path the newly redacted bag is installed when
11402
11402
  * the outputs CHANGED, and the previous `persistedOutputs` is kept
11403
11403
  * otherwise; that previous bag is unmarked, which is the answer that arm
11404
- * wants.
11404
+ * wants. When an output FAILED there, what is installed is either a fresh
11405
+ * merge of this pass's values with the previous bag's carried ones (issue
11406
+ * #2771), mixed provenance and never marked, or — when that merge refuses —
11407
+ * the previous bag kept whole, unmarked as above.
11405
11408
  * - the update arm's no-change re-check — a marked `{ ...resolvedProps }`
11406
11409
  * compared against the stored record so a stored token reads as a no-op.
11407
11410
  * NOT installed; the object the provider is handed is the unmarked original.
@@ -28427,7 +28430,7 @@ var CloudControlProvider = class {
28427
28430
  const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
28428
28431
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
28429
28432
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
28430
- const { ASGProvider } = await import("./asg-provider-D2lf-Qdo.js").then((n) => n.n);
28433
+ const { ASGProvider } = await import("./asg-provider-BNOp-qgj.js").then((n) => n.n);
28431
28434
  const asgProvider = new ASGProvider();
28432
28435
  return withIndeterminateGuard(await asgProvider.delete(logicalId, physicalId, resourceType, _properties, context), indeterminateGuard);
28433
28436
  }
@@ -35085,10 +35088,10 @@ async function createReplicationGroupFinalSnapshot(client, replicationGroupId, l
35085
35088
  *
35086
35089
  * The deploy side (`DeployEngine.handleOutputResolutionFailure`, default arm)
35087
35090
  * warns, stores `undefined` for the key and moves on, so a re-resolved
35088
- * `state.outputs` lacks it (the no-change path keeps the previous bag whole
35089
- * when any output fails, so a key that resolved on an EARLIER deploy can keep
35090
- * its value beside a record — the reader checks absence first and ignores the
35091
- * record then). The diff side resolves outputs with `skipDynamicReferences`, so a
35091
+ * `state.outputs` lacks it (the no-change path keeps a failed key's STORED
35092
+ * value, go-to-k/cdkd#2771, so a key that resolved on an EARLIER deploy can
35093
+ * keep its value beside a record — the reader checks absence first and ignores
35094
+ * the record then). The diff side resolves outputs with `skipDynamicReferences`, so a
35092
35095
  * failure that happens INSIDE a secret lookup — a JSON key the secret does not
35093
35096
  * hold, a reference assembled from another secret's value — does not reproduce
35094
35097
  * there: the value assembles into its token, the key is absent from state, and
@@ -35169,10 +35172,10 @@ async function createReplicationGroupFinalSnapshot(client, replicationGroupId, l
35169
35172
  * the writing binary's version is knowable and merely unstored: keeping it
35170
35173
  * beside the digest and un-binding on mismatch would close that one. All four
35171
35174
  * end the same way: the record keeps binding until the next deploy re-resolves
35172
- * the output, and that deploy publishes the key — unless a SIBLING output is
35173
- * still unresolved on a run with no resource change, where the engine keeps
35174
- * the previous outputs bag wholesale and the key stays unpublished for a
35175
- * further run (go-to-k/cdkd#2771, pre-existing and not introduced here).
35175
+ * the output, and that deploy publishes the key, a still-unresolved SIBLING
35176
+ * included, since the no-change path persists what resolved rather than
35177
+ * keeping the previous bag whole (go-to-k/cdkd#2771; the two shapes it still
35178
+ * keeps whole are in `src/deployment/no-change-outputs-merge.ts`).
35176
35179
  * Documented as the accepted limitation in `docs/cli-diff.md`; it is narrower
35177
35180
  * than the pre-#2740 behaviour, where the diff was wrong on EVERY run.
35178
35181
  *
@@ -35457,8 +35460,9 @@ function bindingSkippedOutputs(pristineTemplate, record, changedLogicalIds) {
35457
35460
  /**
35458
35461
  * Whether two records — either possibly absent — describe the same skipped
35459
35462
  * set with the same digests. The no-change deploy path persists on a
35460
- * difference here: it is the ONLY save trigger for this field on that path,
35461
- * because a skipped output switches the outputs-changed trigger off.
35463
+ * difference here: it is what saves this field when the outputs bag that save
35464
+ * would write is unchanged, which is the usual shape — a skipped output that
35465
+ * never had a stored value leaves the bag equal.
35462
35466
  */
35463
35467
  function skippedOutputsEqual(a, b) {
35464
35468
  const aKeys = a === null || a === void 0 ? [] : Object.keys(a);
@@ -35467,6 +35471,95 @@ function skippedOutputsEqual(a, b) {
35467
35471
  return aKeys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && a?.[k] === b?.[k]);
35468
35472
  }
35469
35473
 
35474
+ //#endregion
35475
+ //#region src/deployment/no-change-outputs-merge.ts
35476
+ /**
35477
+ * True when `value` is a string carrying a SECRET-BEARING CloudFormation
35478
+ * dynamic reference: `{{resolve:secretsmanager:` or `{{resolve:ssm-secure:`,
35479
+ * the two spellings that are secret regardless of what they point at.
35480
+ *
35481
+ * A plain `{{resolve:ssm:...}}` is deliberately excluded. Per issue #1901 it is
35482
+ * classified by the parameter's TYPE, and a `String` / `StringList` parameter is
35483
+ * PUBLIC and legitimately persisted RESOLVED. Treating it as a signal would fire
35484
+ * on a perfectly ordinary record, and since `cdkd diff`'s legacy verdict is
35485
+ * record-WIDE, that would withhold every previous value in the stack and tell
35486
+ * the user to run `cdkd scrub`, which would find nothing to fix. The residual is
35487
+ * a pre-#1901 SecureString `ssm:` record, a strictly narrower gap than the false
35488
+ * positive this exclusion removes.
35489
+ */
35490
+ function isSecretBearingReferenceString(value) {
35491
+ if (typeof value !== "string") return false;
35492
+ return value.includes("{{resolve:secretsmanager:") || value.includes("{{resolve:ssm-secure:");
35493
+ }
35494
+ /**
35495
+ * True when any TOP-LEVEL value of `bag` is itself a secret-bearing expression
35496
+ * string. Leaf granularity on purpose: a container holding an expression next
35497
+ * to a plaintext leaf is exactly the partially redacted residue `cdkd scrub`
35498
+ * admits it can leave, and it must not earn the exoneration.
35499
+ */
35500
+ function bagHoldsSecretExpression(bag) {
35501
+ if (bag === void 0 || bag === null) return false;
35502
+ return Object.values(bag).some((value) => isSecretBearingReferenceString(value));
35503
+ }
35504
+ function hasOwn(bag, key) {
35505
+ return Object.prototype.hasOwnProperty.call(bag, key);
35506
+ }
35507
+ /**
35508
+ * Decide the bag the no-change path persists when `resolved` holds at least
35509
+ * one unresolved output. See the module doc for the three rules and the two
35510
+ * refusals.
35511
+ */
35512
+ function mergeNoChangeOutputs(input) {
35513
+ const { persisted, resolved, declaredOutputs, previousExportNames, resolvedExportNames } = input;
35514
+ const failedKeys = Object.keys(resolved).filter((key) => resolved[key] === void 0);
35515
+ const exportNameOf = (outputKey) => declaredOutputs !== void 0 && hasOwn(declaredOutputs, outputKey) ? declaredOutputs[outputKey]?.Export?.Name : void 0;
35516
+ for (const outputKey of failedKeys) {
35517
+ const exportName = exportNameOf(outputKey);
35518
+ if (exportName !== null && typeof exportName === "object" && hasOwn(persisted, outputKey)) return {
35519
+ kind: "kept",
35520
+ reason: "intrinsic-export-name"
35521
+ };
35522
+ }
35523
+ const outputs = Object.create(null);
35524
+ for (const [key, value] of Object.entries(resolved)) if (value !== void 0) outputs[key] = value;
35525
+ const carriedKeys = [];
35526
+ const exportNames = [...resolvedExportNames];
35527
+ const addExport = (name) => {
35528
+ exportNames.push(name);
35529
+ };
35530
+ for (const outputKey of failedKeys) {
35531
+ const exportName = exportNameOf(outputKey);
35532
+ if (hasOwn(persisted, outputKey)) {
35533
+ outputs[outputKey] = persisted[outputKey];
35534
+ carriedKeys.push(outputKey);
35535
+ if (exportName === outputKey && previousExportNames.has(outputKey)) addExport(outputKey);
35536
+ }
35537
+ if (typeof exportName !== "string") continue;
35538
+ if (previousExportNames.has(exportName) && hasOwn(persisted, exportName) && !hasOwn(resolved, exportName) && !hasOwn(outputs, exportName)) {
35539
+ outputs[exportName] = persisted[exportName];
35540
+ carriedKeys.push(exportName);
35541
+ addExport(exportName);
35542
+ }
35543
+ }
35544
+ if (carriedKeys.length > 0 && bagHoldsSecretExpression(outputs) && !bagHoldsSecretExpression(persisted)) return {
35545
+ kind: "kept",
35546
+ reason: "mixed-generation"
35547
+ };
35548
+ return {
35549
+ kind: "merged",
35550
+ outputs,
35551
+ exportNames,
35552
+ carriedKeys
35553
+ };
35554
+ }
35555
+ /** The sentence the deploy engine appends to its keep-whole warning. */
35556
+ function keptWholeReasonText(reason) {
35557
+ switch (reason) {
35558
+ case "intrinsic-export-name": return "An unresolved output declares an intrinsic Export.Name, so the export key it published before cannot be identified and carried.";
35559
+ case "mixed-generation": return "Persisting only the outputs that resolved would put a redacted secret reference beside a carried value in a bag that held none, which would make that value read as redacted.";
35560
+ }
35561
+ }
35562
+
35470
35563
  //#endregion
35471
35564
  //#region src/analyzer/implicit-delete-deps.ts
35472
35565
  /**
@@ -38954,14 +39047,32 @@ var DeployEngine = class DeployEngine {
38954
39047
  let persistedOutputs = currentState.outputs ?? {};
38955
39048
  if (!this.options.dryRun) {
38956
39049
  const resolvedOutputs = this.redactOutputs(await withSharedDrainBudget(() => this.resolveOutputs(effectiveTemplate, currentState.resources, stackName, outputsDigestSource, parameterValues, conditions)));
38957
- const resolutionFailed = Object.values(resolvedOutputs).some((v) => v === void 0);
38958
- const outputsChanged = !resolutionFailed && !outputMapsEqual(persistedOutputs, resolvedOutputs);
38959
- const currentEffectiveExports = new Set(importableOutputKeys(currentState));
38960
- const resolvedExportSet = new Set(this.resolvedExportNames);
38961
- const exportSetChanged = !resolutionFailed && (currentEffectiveExports.size !== resolvedExportSet.size || [...resolvedExportSet].some((k) => !currentEffectiveExports.has(k)));
38962
- if (resolutionFailed && !outputMapsEqual(persistedOutputs, resolvedOutputs)) this.logger.warn("Outputs changed but one or more could not be resolved; keeping the previously persisted outputs. A downstream Fn::ImportValue may fail until the next deploy.");
38963
39050
  const observedRefresh = this.observedCaptureTasks.size > 0;
38964
39051
  if (observedRefresh) await this.drainObservedCaptures(currentState.resources);
39052
+ const resolutionFailed = Object.values(resolvedOutputs).some((v) => v === void 0);
39053
+ const currentEffectiveExports = new Set(importableOutputKeys(currentState));
39054
+ let merge = resolutionFailed ? mergeNoChangeOutputs({
39055
+ persisted: persistedOutputs,
39056
+ resolved: resolvedOutputs,
39057
+ declaredOutputs: effectiveTemplate.Outputs,
39058
+ previousExportNames: currentEffectiveExports,
39059
+ resolvedExportNames: this.resolvedExportNames
39060
+ }) : void 0;
39061
+ if (merge?.kind === "merged") {
39062
+ for (const key of merge.carriedKeys) Reflect.deleteProperty(this.outputsTemplateSource, key);
39063
+ if (merge.carriedKeys.length > 0 && !bagHoldsSecretExpression(persistedOutputs) && bagHoldsSecretExpression(this.redactOutputs(merge.outputs))) merge = {
39064
+ kind: "kept",
39065
+ reason: "mixed-generation"
39066
+ };
39067
+ }
39068
+ if (merge?.kind === "kept") this.outputsSourceUsable = false;
39069
+ const outputsToPersist = merge === void 0 ? resolvedOutputs : merge.kind === "merged" ? merge.outputs : persistedOutputs;
39070
+ const exportNamesToPersist = merge === void 0 ? this.resolvedExportNames : merge.kind === "merged" ? merge.exportNames : void 0;
39071
+ const outputsChanged = !outputMapsEqual(persistedOutputs, outputsToPersist);
39072
+ const persistExportSet = new Set(exportNamesToPersist ?? []);
39073
+ const exportSetChanged = exportNamesToPersist !== void 0 && (currentEffectiveExports.size !== persistExportSet.size || [...persistExportSet].some((k) => !currentEffectiveExports.has(k)));
39074
+ if (merge?.kind === "kept" && !outputMapsEqual(persistedOutputs, resolvedOutputs)) this.logger.warn(`Outputs changed but one or more could not be resolved; keeping the previously persisted outputs. ${keptWholeReasonText(merge.reason)} A downstream Fn::ImportValue may fail until the next deploy.`);
39075
+ else if (merge?.kind === "merged" && merge.carriedKeys.length > 0) this.logger.debug(`Kept the previously persisted value of ${merge.carriedKeys.length} output key(s) that could not be resolved (no-change path, #2771)`);
38965
39076
  const skippedOutputsChanged = !skippedOutputsEqual(currentState.skippedOutputs, this.skippedOutputs);
38966
39077
  if (observedRefresh || outputsChanged || exportSetChanged || skippedOutputsChanged || orphansChanged) try {
38967
39078
  const refreshedState = {
@@ -38970,8 +39081,8 @@ var DeployEngine = class DeployEngine {
38970
39081
  stackName: currentState.stackName,
38971
39082
  resources: currentState.resources,
38972
39083
  ...orphansCarriedFrom(currentState),
38973
- outputs: outputsChanged ? resolvedOutputs : persistedOutputs,
38974
- ...resolutionFailed ? exportNamesCarriedFrom(currentState) : { exportNames: [...this.resolvedExportNames] },
39084
+ outputs: outputsChanged ? outputsToPersist : persistedOutputs,
39085
+ ...exportNamesToPersist === void 0 ? exportNamesCarriedFrom(currentState) : { exportNames: [...exportNamesToPersist] },
38975
39086
  ...this.skippedOutputs && { skippedOutputs: { ...this.skippedOutputs } },
38976
39087
  ...crossStackReadsForPartialSave(currentState, this.recordedImports, this.recordedOutputReads),
38977
39088
  lastModified: Date.now()
@@ -40873,5 +40984,5 @@ var DeployEngine = class DeployEngine {
40873
40984
  };
40874
40985
 
40875
40986
  //#endregion
40876
- export { collectInlinePolicyNamesManagedBySiblings as $, buildDenyExternalAccessPolicy as $n, DynamicReferenceRegionAmbiguousError as $r, describeTypeWithThrottleRetry as $t, isStatefulRecreateTargetForReplace as A, exportNamesCarriedFrom as An, CFN_TEMPLATE_URL_LIMIT as Ar, coerceCfnBoolean as At, gray as B, createAssetRedirectResolver as Bn, processStackMessages as Br, classifyReplaySecretRegion as Bt, refusesFinalSnapshot as C, retryClassificationText as Ci, buildForceUnlockCommand as Cn, resolveSkipPrefix as Cr, isUnboundTemplateParameter as Ct, makeSiblingClaimReader as D, shellQuote as Dn, stateBucketExistenceConfirmed as Dr, normalizeAwsTagsToCfn as Dt, extractDeploymentEventError as E, formatLockExpiry as En, resolveUseCdkBootstrapAssets as Er, WAFv2WebACLProvider as Et, isWarmThroughputDecrease as F, shouldRetainResource as Fn, expectedOwnerParam as Fr, readConfigString as Ft, collectPublishedOutputNames as G, assertAssetBucketRegion as Gn, resetAwsClients as Gr, s3BucketDualStackDomainName as Gt, red as H, rewriteTemplateAssetReferences as Hn, resolveBucketRegion as Hr, withSharedDrainBudget as Ht, toFiniteNumber as I, AssetPublisher as In, PARTITION_TABLE as Ir, replayWarn as It, secretBearing as J, isCrossRegionRedirect as Jn, CdkdError as Jr, applyRoleArnIfSet as Jt, exportAliasCollisionScrubWarning as K, ensureAssetStorage as Kn, setAwsClients as Kr, s3BucketRegionalDomainName as Kt, formatResourceLine as L, stringifyValue as Ln, canonicalizeRegion as Lr, requireConfigArray as Lt, renderStatefulReason as M, importableOutputs as Mn, findLargeInlineResources as Mr, configBooleanRefusal as Mt, WARM_THROUGHPUT_MEMBERS as N, orphansAfterRollback as Nn, uploadCfnTemplate as Nr, configIntegerRefusal as Nt, planOrphanAdoption as O, CUSTOM_RESOURCE_RESPONSE_PREFIX as On, warnDeprecatedNoPrefixCliFlag as Or, resolveExplicitPhysicalId as Ot, coerceWarmThroughput as P, orphansCarriedFrom as Pn, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Pr, configStringRefusal as Pt, IAMRoleProvider as Q, validateContainerRepoName as Qn, DeployCancelledError as Qr, findSilentDropProperties as Qt, bold as R, WorkGraph as Rn, derivePartitionAndUrlSuffix as Rr, requireConfigObject as Rt, isFinalSnapshotError as S, markRedactedCause as Si, rebuildClientForBucketRegion as Sn, resolveCaptureObservedState as Sr, getAccountInfo as St, makeCanonicalizePropertiesFn as T, forceQuitRecoveryClause as Tn, resolveStateBucketWithDefaultAndSource as Tr, refStateLookupFromResource as Tt, yellow as U, AssetModeResolver as Un, AwsClients as Ur, s3BucketArn as Ut, green as V, loadPublishableAssetManifest as Vn, clearBucketRegionCache as Vr, producerRegionsFromState as Vt, collectDeclaredOutputNames as W, BOOTSTRAP_MARKER_PREFIX as Wn, getAwsClients as Wr, s3BucketDomainName as Wt, secretSafeKeyDisplay as X, readBootstrapMarkerBody as Xn, CrossAccountSecretRefusalError as Xr, INTRINSIC_KEYS as Xt, secretBearingStateKeyWarning as Y, parseBootstrapMarker as Yn, ConfigError as Yr, DiffCalculator as Yt, getCurrentResourceSecrets as Z, validateAssetBucketName as Zn, DependencyError as Zr, findActionableSilentDrops as Zt, ATOMIC_FINAL_SNAPSHOT_TYPES as _, isMarkedNonRetryable as _i, recoverMaskedOutput as _n, synthesisStatusMessage as _r, isTerminationProtectionPropagationError as _t, DeploymentEventsStore as a, PartialFailureError as ai, STATE_SOURCED_READBACK_RULES as an, dockerSpawnEnvWithSensitive as ar, maskerOrIdentity as at, ccRoutedFinalSnapshotError as b, isTransientServerError as bi, LockManager as bn, resolveApp as br, cfnRefValueFromPhysicalId as bt, replayFailedOperations as c, ResourceUpdateNotSupportedError as ci, createSecretMasker as cn, partitionSensitiveEnv as cr, interruptWatchListenerCount as ct, updatePartialReason as d, StateError as di, identityKeyFor as dn, runDockerStreaming as dr, CloudControlProvider as dt, IntrinsicResolutionRefusalError as ei, withRetry as en, describeAwsFailure as er, clearOnUpdateRemoval as et, withResourceDeadline as f, SynthesisError as fi, isSingleDynamicReferenceToken as fn, escapeRegExp$1 as fr, slowCcOperationTimeoutMs as ft, bindingSkippedOutputs as g, withErrorHandling as gi, recordMaskOnlyValue as gn, Synthesizer as gr, disableInstanceApiTermination as gt, computeImplicitDeleteEdges as h, normalizeAwsError as hi, maskSecretsInText as hn, getDockerImageBySourceHash as hr, deleteSkipReason as ht, DeploymentEventsReader as i, NestedStackChildDirectDestroyError as ii, STATE_SOURCED_CROSS_GENERATION_RULES as in, describeDockerFailure as ir, maskDeep as it, isStatefulRecreateTargetSync as j, importableOutputKeys as jn, MIGRATE_TMP_PREFIX as jr, coerceCfnInteger as jt, MULTI_REGION_RECREATE_BLOCKED_TYPES as k, DEFAULT_STATE_PREFIX as kn, CFN_TEMPLATE_BODY_LIMIT as kr, assertRegionMatch as kt, replayRollback as l, StackHasActiveImportsError as li, dynamicReferenceTokens as ln, redactDockerArgvValues as lr, isInterruptedWaitError as lt, IMPLICIT_DELETE_DEPENDENCIES as m, isCdkdError as mi, maskSecretsInError as mn, AssetManifestLoader as mr, deleteIndeterminateGuards as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, LocalStartServiceError as ni, TemplateParser as nn, describeDockerCapturedOutput as nr, wouldReturnToSdkProvider as nt, planFailedOps as o, ProvisioningError as oi, TEMPLATE_SOURCED_RULES as on, formatDockerLoginError as or, beginCommandInterruptScope as ot, maskingRetryLogger as p, formatError as pi, markSameGenerationBag as pn, stripControlChars as pr, UNSPECIFIED_SKIP_REASON as pt, isExportAliasCollision as q, getBootstrapMarkerKey as qn, AssetError as qr, s3BucketWebsiteUrl as qt, DeployEngine as r, LockError as ri, STATE_SOURCED_BASELINE_RULES as rn, describeDockerExecFailure as rr, createMaskedRetryLogger as rt, planRollback as s, ResourceTimeoutError as si, carriesSecretMask as sn, getDockerCmd as sr, endCommandInterruptScope as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, LocalInvokeBuildError as ti, DagBuilder as tn, buildDockerImage as tr, ProviderRegistry as tt, updatePartialMessage as u, StackTerminationProtectionError as ui, errorCauseChain as un, runDockerForeground as ur, startInterruptWatch as ut, PRE_DELETE_SNAPSHOT_TYPES as v, isRetryableTransientError as vi, redactSecretsForState as vn, getDefaultStateBucketName as vr, IntrinsicFunctionResolver as vt, unsupportedFinalSnapshotError as w, __exportAll as wi, buildLockContentionMessage as wn, resolveStateBucketWithDefault as wr, parameterTypeMayLoseSecretIdentity as wt, createPreDeleteFinalSnapshot as x, markNonRetryable as xi, S3StateBackend as xn, resolveAutoAssetStorage as xr, coerceParameterTypedValue as xt, buildFinalSnapshotIdentifier as y, isThrottlingError as yi, scrubResourceRecord as yn, getLegacyStateBucketName as yr, carriesDynamicReference as yt, cyan as z, buildAssetRedirectMap as zn, AssemblyReader as zr, requireConfigString as zt };
40877
- //# sourceMappingURL=deploy-engine-zEwQVCh8.js.map
40987
+ export { getCurrentResourceSecrets as $, validateAssetBucketName as $n, DependencyError as $r, findActionableSilentDrops as $t, planOrphanAdoption as A, CUSTOM_RESOURCE_RESPONSE_PREFIX as An, warnDeprecatedNoPrefixCliFlag as Ar, resolveExplicitPhysicalId as At, bold as B, WorkGraph as Bn, derivePartitionAndUrlSuffix as Br, requireConfigObject as Bt, createPreDeleteFinalSnapshot as C, markNonRetryable as Ci, S3StateBackend as Cn, resolveAutoAssetStorage as Cr, coerceParameterTypedValue as Ct, makeCanonicalizePropertiesFn as D, forceQuitRecoveryClause as Dn, resolveStateBucketWithDefaultAndSource as Dr, refStateLookupFromResource as Dt, unsupportedFinalSnapshotError as E, __exportAll as Ei, buildLockContentionMessage as En, resolveStateBucketWithDefault as Er, parameterTypeMayLoseSecretIdentity as Et, WARM_THROUGHPUT_MEMBERS as F, orphansAfterRollback as Fn, uploadCfnTemplate as Fr, configIntegerRefusal as Ft, yellow as G, AssetModeResolver as Gn, AwsClients as Gr, s3BucketArn as Gt, gray as H, createAssetRedirectResolver as Hn, processStackMessages as Hr, classifyReplaySecretRegion as Ht, coerceWarmThroughput as I, orphansCarriedFrom as In, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Ir, configStringRefusal as It, exportAliasCollisionScrubWarning as J, ensureAssetStorage as Jn, setAwsClients as Jr, s3BucketRegionalDomainName as Jt, collectDeclaredOutputNames as K, BOOTSTRAP_MARKER_PREFIX as Kn, getAwsClients as Kr, s3BucketDomainName as Kt, isWarmThroughputDecrease as L, shouldRetainResource as Ln, expectedOwnerParam as Lr, readConfigString as Lt, isStatefulRecreateTargetForReplace as M, exportNamesCarriedFrom as Mn, CFN_TEMPLATE_URL_LIMIT as Mr, coerceCfnBoolean as Mt, isStatefulRecreateTargetSync as N, importableOutputKeys as Nn, MIGRATE_TMP_PREFIX as Nr, coerceCfnInteger as Nt, extractDeploymentEventError as O, formatLockExpiry as On, resolveUseCdkBootstrapAssets as Or, WAFv2WebACLProvider as Ot, renderStatefulReason as P, importableOutputs as Pn, findLargeInlineResources as Pr, configBooleanRefusal as Pt, secretSafeKeyDisplay as Q, readBootstrapMarkerBody as Qn, CrossAccountSecretRefusalError as Qr, INTRINSIC_KEYS as Qt, toFiniteNumber as R, AssetPublisher as Rn, PARTITION_TABLE as Rr, replayWarn as Rt, ccRoutedFinalSnapshotError as S, isTransientServerError as Si, LockManager as Sn, resolveApp as Sr, cfnRefValueFromPhysicalId as St, refusesFinalSnapshot as T, retryClassificationText as Ti, buildForceUnlockCommand as Tn, resolveSkipPrefix as Tr, isUnboundTemplateParameter as Tt, green as U, loadPublishableAssetManifest as Un, clearBucketRegionCache as Ur, producerRegionsFromState as Ut, cyan as V, buildAssetRedirectMap as Vn, AssemblyReader as Vr, requireConfigString as Vt, red as W, rewriteTemplateAssetReferences as Wn, resolveBucketRegion as Wr, withSharedDrainBudget as Wt, secretBearing as X, isCrossRegionRedirect as Xn, CdkdError as Xr, applyRoleArnIfSet as Xt, isExportAliasCollision as Y, getBootstrapMarkerKey as Yn, AssetError as Yr, s3BucketWebsiteUrl as Yt, secretBearingStateKeyWarning as Z, parseBootstrapMarker as Zn, ConfigError as Zr, DiffCalculator as Zt, isSecretBearingReferenceString as _, normalizeAwsError as _i, maskSecretsInText as _n, getDockerImageBySourceHash as _r, deleteSkipReason as _t, DeploymentEventsStore as a, LockError as ai, STATE_SOURCED_BASELINE_RULES as an, describeDockerExecFailure as ar, createMaskedRetryLogger as at, PRE_DELETE_SNAPSHOT_TYPES as b, isRetryableTransientError as bi, redactSecretsForState as bn, getDefaultStateBucketName as br, IntrinsicFunctionResolver as bt, replayFailedOperations as c, ProvisioningError as ci, TEMPLATE_SOURCED_RULES as cn, formatDockerLoginError as cr, beginCommandInterruptScope as ct, updatePartialReason as d, StackHasActiveImportsError as di, dynamicReferenceTokens as dn, redactDockerArgvValues as dr, isInterruptedWaitError as dt, DeployCancelledError as ei, findSilentDropProperties as en, validateContainerRepoName as er, IAMRoleProvider as et, withResourceDeadline as f, StackTerminationProtectionError as fi, errorCauseChain as fn, runDockerForeground as fr, startInterruptWatch as ft, bagHoldsSecretExpression as g, isCdkdError as gi, maskSecretsInError as gn, AssetManifestLoader as gr, deleteIndeterminateGuards as gt, computeImplicitDeleteEdges as h, formatError as hi, markSameGenerationBag as hn, stripControlChars as hr, UNSPECIFIED_SKIP_REASON as ht, DeploymentEventsReader as i, LocalStartServiceError as ii, TemplateParser as in, describeDockerCapturedOutput as ir, wouldReturnToSdkProvider as it, MULTI_REGION_RECREATE_BLOCKED_TYPES as j, DEFAULT_STATE_PREFIX as jn, CFN_TEMPLATE_BODY_LIMIT as jr, assertRegionMatch as jt, makeSiblingClaimReader as k, shellQuote as kn, stateBucketExistenceConfirmed as kr, normalizeAwsTagsToCfn as kt, replayRollback as l, ResourceTimeoutError as li, carriesSecretMask as ln, getDockerCmd as lr, endCommandInterruptScope as lt, IMPLICIT_DELETE_DEPENDENCIES as m, SynthesisError as mi, isSingleDynamicReferenceToken as mn, escapeRegExp$1 as mr, slowCcOperationTimeoutMs as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, IntrinsicResolutionRefusalError as ni, withRetry as nn, describeAwsFailure as nr, clearOnUpdateRemoval as nt, planFailedOps as o, NestedStackChildDirectDestroyError as oi, STATE_SOURCED_CROSS_GENERATION_RULES as on, describeDockerFailure as or, maskDeep as ot, maskingRetryLogger as p, StateError as pi, identityKeyFor as pn, runDockerStreaming as pr, CloudControlProvider as pt, collectPublishedOutputNames as q, assertAssetBucketRegion as qn, resetAwsClients as qr, s3BucketDualStackDomainName as qt, DeployEngine as r, LocalInvokeBuildError as ri, DagBuilder as rn, buildDockerImage as rr, ProviderRegistry as rt, planRollback as s, PartialFailureError as si, STATE_SOURCED_READBACK_RULES as sn, dockerSpawnEnvWithSensitive as sr, maskerOrIdentity as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, DynamicReferenceRegionAmbiguousError as ti, describeTypeWithThrottleRetry as tn, buildDenyExternalAccessPolicy as tr, collectInlinePolicyNamesManagedBySiblings as tt, updatePartialMessage as u, ResourceUpdateNotSupportedError as ui, createSecretMasker as un, partitionSensitiveEnv as ur, interruptWatchListenerCount as ut, bindingSkippedOutputs as v, withErrorHandling as vi, recordMaskOnlyValue as vn, Synthesizer as vr, disableInstanceApiTermination as vt, isFinalSnapshotError as w, markRedactedCause as wi, rebuildClientForBucketRegion as wn, resolveCaptureObservedState as wr, getAccountInfo as wt, buildFinalSnapshotIdentifier as x, isThrottlingError as xi, scrubResourceRecord as xn, getLegacyStateBucketName as xr, carriesDynamicReference as xt, ATOMIC_FINAL_SNAPSHOT_TYPES as y, isMarkedNonRetryable as yi, recoverMaskedOutput as yn, synthesisStatusMessage as yr, isTerminationProtectionPropagationError as yt, formatResourceLine as z, stringifyValue as zn, canonicalizeRegion as zr, requireConfigArray as zt };
40988
+ //# sourceMappingURL=deploy-engine-BwZFYWGI.js.map