@go-to-k/cdkd 0.290.11 → 0.290.13

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-BSEiTsV7.js";
2
+ import { n as isVersionOnlyInvocation, t as getCdkdVersion } from "./version--dVnQSTI.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-FAA3rPmS.js");
77
+ const { buildProgram } = await import("./program-BDNXyKp5.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 { C as displaySafe, S as displayIdent, 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, x as UNRENDERABLE, y as withoutGeneratedFallbackName } from "./logger-C17H06QA.js";
2
2
  import { t as awsClientDefaults } from "./aws-client-defaults-D-iYiIJ6.js";
3
- import { t as getCdkdVersion } from "./version-BSEiTsV7.js";
3
+ import { t as getCdkdVersion } from "./version--dVnQSTI.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";
@@ -9133,6 +9133,53 @@ function shouldRetainResource(deletionPolicy) {
9133
9133
  return deletionPolicy === "Retain" || deletionPolicy === "RetainExceptOnCreate";
9134
9134
  }
9135
9135
  /**
9136
+ * Can this container be read as the record map its type claims it is?
9137
+ *
9138
+ * THE single plain-object test behind every malformed-bag guard in the repo.
9139
+ * `parseStateBody` validates the root object and the schema version and
9140
+ * nothing inside, so a hand-edited or truncated record reaches a consumer with
9141
+ * `resources` / `outputs` / `attributes` / `properties` holding a string, a
9142
+ * list, a number or `null`. `Object.entries` walks a string or a list as
9143
+ * readily as a map, so either FABRICATES entries. `in` and `Object.hasOwn`
9144
+ * behave differently per shape and neither is a guard: `in` THROWS on a
9145
+ * string, a number and `null`, but ANSWERS on a list (`0 in [1,2]` and
9146
+ * `'length' in [1,2]` are both `true`), while `Object.hasOwn` ANSWERS on a
9147
+ * string and a list alike (`Object.hasOwn('abcdef', '0')` is `true`) and
9148
+ * throws ONLY on `null` / `undefined` — the one pair a `?? {}` upstream has
9149
+ * usually already absorbed, which is what makes it look like a guard. Do not
9150
+ * read a nearby `in` as already catching the list case. Widened past
9151
+ * `null` / `undefined` for
9152
+ * exactly that reason: `[]`, `5` and `"ab"` all survive `Object.entries` and
9153
+ * yield a bag that is empty or, for the string, absurd.
9154
+ *
9155
+ * WHY IT LIVES HERE rather than beside the guards that grew out of it. Its
9156
+ * first home was `src/state/malformed-resources-bag.ts`, which still re-exports
9157
+ * it so no importer moved; it came down to this module when
9158
+ * {@link importableOutputKeys} needed it (go-to-k/cdkd#3192). That helper sits
9159
+ * in `src/types/**`, the layer every other one imports and which imports
9160
+ * nothing itself, so the alternative — `src/types/state.ts` importing from
9161
+ * `src/state/**` — inverts the layering AND pulls that module's
9162
+ * `error-handler` / `display-safe` / `lock-contention-message` chain into the
9163
+ * one module the whole codebase depends on. Same move, same reason, as
9164
+ * `DEFAULT_STATE_PREFIX` in `src/state/state-prefix.ts`: home the leaf in the
9165
+ * layer that needs it, re-export from where it was.
9166
+ *
9167
+ * Spelling this test a second time at any call site is what the single export
9168
+ * exists to prevent: the copies could then drift, and the one that drifted
9169
+ * would fabricate again while looking guarded. Enumerate the consumers with
9170
+ * `grep -rn "isReadableBag" src/` rather than from a list here — three
9171
+ * successive enumerations of them, written by reasoning, came out incomplete.
9172
+ *
9173
+ * What it does NOT decide is whether a given container is malformed. That is a
9174
+ * per-container call, because ABSENCE means different things: an absent
9175
+ * `resources` bag is a defect, while an absent `outputs` bag is an ordinary
9176
+ * record `cdkd scrub` round-trips on purpose. Each caller pairs this predicate
9177
+ * with its own absence rule.
9178
+ */
9179
+ function isReadableBag(container) {
9180
+ return typeof container === "object" && container !== null && !Array.isArray(container);
9181
+ }
9182
+ /**
9136
9183
  * The keys of `state.outputs` an `Fn::ImportValue` may bind to (issue
9137
9184
  * [#2193](https://github.com/go-to-k/cdkd/issues/2193)) — THE predicate
9138
9185
  * behind "what does this stack export". Four readers used to answer that
@@ -9150,15 +9197,79 @@ function shouldRetainResource(deletionPolicy) {
9150
9197
  *
9151
9198
  * `outputs` is typed required but every consumer treats it as optional (a
9152
9199
  * state file may simply have none), so it is read defensively here too.
9200
+ *
9201
+ * ## Two FAIL-CLOSED arms for a malformed record (go-to-k/cdkd#3192)
9202
+ *
9203
+ * Both answer `[]` — "this record exports nothing" — and neither repairs the
9204
+ * record or throws. The reasoning is the same for both and is a property of
9205
+ * WHERE this function sits: it is a pure predicate with no stack name, no
9206
+ * region and no writer of its own, reached from the exports-index rebuild, the
9207
+ * deploy-time resolver's state scan, `cdkd diff`'s no-change merge and the
9208
+ * local-command loader. Throwing here would be the bare `TypeError`
9209
+ * go-to-k/cdkd#3018 set out to remove, renamed; and refusing the whole
9210
+ * operation over ONE foreign record would take every OTHER stack's
9211
+ * `Fn::ImportValue` down with it. Publishing nothing from a record whose
9212
+ * export set cannot be read is the only answer that fabricates nothing and
9213
+ * destroys nothing — the damaged record is left exactly as it is, for the
9214
+ * write-capable commands (`cdkd orphan` / `import` / `scrub`) to REFUSE by
9215
+ * name.
9216
+ *
9217
+ * 1. `outputs` is not a readable bag. `Object.keys('abcdef')` is
9218
+ * `['0'...'5']`, so the pre-fix code published one fabricated export per
9219
+ * CHARACTER into `cdkd/_index/<region>/exports.json` — the shared index
9220
+ * every consumer's `Fn::ImportValue` binds against. {@link isReadableBag}
9221
+ * is the test, so an ABSENT bag keeps answering `[]` exactly as the old
9222
+ * `?? {}` did; no verdict moves on a healthy or an absent record.
9223
+ * 2. `exportNames` is present but not an array. `state.exportNames.filter(...)`
9224
+ * threw `TypeError: state.exportNames.filter is not a function` on a
9225
+ * hand-edited non-array or `null`, from `cdkd diff` among others. Falling
9226
+ * back to the `undefined` arm instead would be fail-OPEN in the one
9227
+ * direction #2193 exists to close — every plain Output name published as an
9228
+ * export — so a corrupt set is read as an EMPTY set, not as an unknown one.
9229
+ * A non-string element is dropped for the same reason: `Object.hasOwn` does
9230
+ * not throw on one, it COERCES, so `exportNames: [0]` would otherwise
9231
+ * publish the bag's `"0"` key. The filter is the identity on every healthy
9232
+ * `string[]`.
9153
9233
  */
9154
9234
  function importableOutputKeys(state) {
9155
- const outputs = state.outputs ?? {};
9235
+ if (!hasReadableExportSet(state)) return [];
9236
+ const outputs = state.outputs;
9156
9237
  if (state.exportNames === void 0) return Object.keys(outputs);
9157
- return state.exportNames.filter((name) => Object.hasOwn(outputs, name));
9238
+ return state.exportNames.filter((name) => typeof name === "string" && Object.hasOwn(outputs, name));
9239
+ }
9240
+ /**
9241
+ * Whether {@link importableOutputKeys} can answer from this record at all —
9242
+ * the two fail-closed arms of its own doc, as ONE predicate a caller can ask
9243
+ * (issue go-to-k/cdkd#3192).
9244
+ *
9245
+ * It exists because `[]` is a real answer: a stack that exports nothing and a
9246
+ * record whose export set could not be read produce the identical empty list,
9247
+ * and a caller that must SAY which one it got cannot re-derive the difference
9248
+ * from the list. `ExportIndexStore`'s rebuild is that caller — a silent
9249
+ * fail-closed there would leave the next `Fn::ImportValue` miss naming the
9250
+ * consumer rather than the damaged producer record.
9251
+ *
9252
+ * ONE spelling shared with {@link importableOutputKeys}, which calls this
9253
+ * rather than repeating the two tests: a second copy could drift, and the copy
9254
+ * that drifted would report a record readable while the key list stayed empty,
9255
+ * or the reverse.
9256
+ *
9257
+ * `outputs` absent answers FALSE here, unlike
9258
+ * `malformed-resources-bag.ts`'s `hasReadableOutputs`, and the difference is
9259
+ * the QUESTION rather than a disagreement: that one asks "is this record
9260
+ * damaged" (an absent bag is an ordinary record), this one asks "can an export
9261
+ * set be read off it" (it cannot). A caller that must tell absent from damaged
9262
+ * tests for absence first, as the exports-index rebuild does.
9263
+ */
9264
+ function hasReadableExportSet(state) {
9265
+ if (!isReadableBag(state.outputs)) return false;
9266
+ if (state.exportNames === void 0) return true;
9267
+ if (!Array.isArray(state.exportNames)) return false;
9268
+ return state.exportNames.length === 0 || state.exportNames.some((n) => typeof n === "string");
9158
9269
  }
9159
9270
  /** `state.outputs` narrowed to its {@link importableOutputKeys}. */
9160
9271
  function importableOutputs(state) {
9161
- const outputs = state.outputs ?? {};
9272
+ const outputs = isReadableBag(state.outputs) ? state.outputs : {};
9162
9273
  const picked = Object.create(null);
9163
9274
  for (const name of importableOutputKeys(state)) picked[name] = outputs[name];
9164
9275
  return picked;
@@ -9286,6 +9397,19 @@ function refuseMalformedOperation(shownStack, where, op) {
9286
9397
  if (typeof o["resourceType"] !== "string") fail("resourceType", o["resourceType"], "a string");
9287
9398
  if (typeof o["changeType"] !== "string") fail("changeType", o["changeType"], "a string");
9288
9399
  if (o["physicalId"] !== void 0 && typeof o["physicalId"] !== "string") fail("physicalId", o["physicalId"], "a string when present");
9400
+ const prev = o["previousState"];
9401
+ if (prev !== void 0) {
9402
+ if (typeof prev !== "object" || prev === null || Array.isArray(prev)) fail("previousState", prev, "an object when present");
9403
+ const p = prev;
9404
+ if (p["physicalId"] !== void 0 && typeof p["physicalId"] !== "string") fail("previousState.physicalId", p["physicalId"], "a string when present");
9405
+ if (p["resourceType"] !== void 0 && typeof p["resourceType"] !== "string") fail("previousState.resourceType", p["resourceType"], "a string when present");
9406
+ if (p["properties"] !== void 0 && (typeof p["properties"] !== "object" || p["properties"] === null || Array.isArray(p["properties"]))) fail("previousState.properties", p["properties"], "an object when present");
9407
+ }
9408
+ const own = o["properties"];
9409
+ if (own !== void 0 && (typeof own !== "object" || own === null || Array.isArray(own))) fail("properties", own, "an object when present");
9410
+ const attempted = o["attemptedProperties"];
9411
+ if (attempted !== void 0 && (typeof attempted !== "object" || attempted === null || Array.isArray(attempted))) fail("attemptedProperties", attempted, "an object when present");
9412
+ if (o["oldResourceRetained"] !== void 0 && typeof o["oldResourceRetained"] !== "boolean") fail("oldResourceRetained", o["oldResourceRetained"], "a boolean when present");
9289
9413
  }
9290
9414
  /** The TYPE of a JSON-derived value, for a refusal that must not echo the value. */
9291
9415
  function kind(v) {
@@ -29297,7 +29421,7 @@ var CloudControlProvider = class {
29297
29421
  const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
29298
29422
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
29299
29423
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
29300
- const { ASGProvider } = await import("./asg-provider-B5zWVTp2.js").then((n) => n.n);
29424
+ const { ASGProvider } = await import("./asg-provider-CpUSth0q.js").then((n) => n.n);
29301
29425
  const asgProvider = new ASGProvider();
29302
29426
  return withIndeterminateGuard(await asgProvider.delete(logicalId, physicalId, resourceType, _properties, context), indeterminateGuard);
29303
29427
  }
@@ -37980,10 +38104,11 @@ async function replaySingle(op, stateResources, stackName, ctx, resolver, orphan
37980
38104
  recordNestedStackParameterExpressions(secrets, op.resourceType, resolvedPrevProps, prev.properties, STATE_DERIVED_RULES);
37981
38105
  logger.info(` Rollback: Reversing replacement of ${safe(op.logicalId)} (${safe(op.resourceType)}) — re-creating the old resource and deleting the new one`);
37982
38106
  if (STATEFUL_TYPES.has(op.resourceType)) logger.warn(` ⚠ ${safe(op.logicalId)} (${safe(op.resourceType)}) is a stateful type — the old physical resource's data was destroyed by the replacement and is NOT recovered by this rollback; the re-created resource starts empty.`);
37983
- const { provider: createProvider } = ctx.providerRegistry.getProviderFor({
38107
+ const { provider: createProvider, provisionedBy: createProvisionedBy } = ctx.providerRegistry.getProviderFor({
37984
38108
  resourceType: op.resourceType,
37985
38109
  provisionedBy: prev.provisionedBy
37986
38110
  });
38111
+ const replayCreateProps = () => ({ ...createProvisionedBy === "cc-api" ? applyDefaultNameForFallback(op.logicalId, op.resourceType, resolvedPrevProps) : resolvedPrevProps });
37987
38112
  const resolveNewDeleteProvider = () => ctx.providerRegistry.getProviderFor({
37988
38113
  resourceType: op.resourceType,
37989
38114
  provisionedBy: current.provisionedBy ?? op.provisionedBy
@@ -37991,7 +38116,7 @@ async function replaySingle(op, stateResources, stackName, ctx, resolver, orphan
37991
38116
  let deletedNewFirst = false;
37992
38117
  let createResult;
37993
38118
  try {
37994
- createResult = await createWithRollbackRetry(createProvider, () => withCurrentResourceSecrets(secrets, () => createProvider.create(op.logicalId, op.resourceType, { ...resolvedPrevProps }, replayingStateCreateContext(secrets))), op.logicalId, logger, isInterrupted, secrets, {
38119
+ createResult = await createWithRollbackRetry(createProvider, () => withCurrentResourceSecrets(secrets, () => createProvider.create(op.logicalId, op.resourceType, replayCreateProps(), replayingStateCreateContext(secrets))), op.logicalId, logger, isInterrupted, secrets, {
37995
38120
  isRetryable: isNameCooldownError,
37996
38121
  interruptedMessage: "Rollback interrupted while waiting out the name cooldown"
37997
38122
  });
@@ -38011,7 +38136,7 @@ async function replaySingle(op, stateResources, stackName, ctx, resolver, orphan
38011
38136
  delete stateResources[op.logicalId];
38012
38137
  await afterOp?.(op.logicalId);
38013
38138
  try {
38014
- createResult = await createWithRollbackRetry(createProvider, () => withCurrentResourceSecrets(secrets, () => createProvider.create(op.logicalId, op.resourceType, { ...resolvedPrevProps }, replayingStateCreateContext(secrets))), op.logicalId, logger, isInterrupted, secrets, {
38139
+ createResult = await createWithRollbackRetry(createProvider, () => withCurrentResourceSecrets(secrets, () => createProvider.create(op.logicalId, op.resourceType, replayCreateProps(), replayingStateCreateContext(secrets))), op.logicalId, logger, isInterrupted, secrets, {
38015
38140
  isRetryable: isRecreateRetryableError,
38016
38141
  interruptedMessage: "Rollback interrupted while waiting for the old name to release"
38017
38142
  });
@@ -42025,5 +42150,5 @@ var DeployEngine = class DeployEngine {
42025
42150
  };
42026
42151
 
42027
42152
  //#endregion
42028
- export { secretBearing as $, ensureAssetStorage as $n, setAwsClients as $r, s3BucketRegionalDomainName as $t, extractDeploymentEventError as A, retryClassificationText as Ai, buildForceUnlockCommand as An, resolveSkipPrefix as Ar, parameterTypeMayLoseSecretIdentity as At, toCfnInteger as B, orphansAfterRollback as Bn, uploadCfnTemplate as Br, configIntegerRefusal as Bt, buildFinalSnapshotIdentifier as C, withErrorHandling as Ci, recordMaskOnlyValue as Cn, Synthesizer as Cr, IntrinsicFunctionResolver as Ct, refusesFinalSnapshot as D, isTransientServerError as Di, LockManager as Dn, resolveApp as Dr, getAccountInfo as Dt, isFinalSnapshotError as E, isThrottlingError as Ei, scrubResourceRecord as En, getLegacyStateBucketName as Er, coerceParameterTypedValue as Et, isStatefulRecreateTargetSync as F, CUSTOM_RESOURCE_RESPONSE_PREFIX as Fn, warnDeprecatedNoPrefixCliFlag as Fr, resolveExplicitPhysicalId as Ft, gray as G, WorkGraph as Gn, derivePartitionAndUrlSuffix as Gr, requireConfigObject as Gt, formatResourceLine as H, shouldRetainResource as Hn, expectedOwnerParam as Hr, readConfigString as Ht, renderStatefulReason as I, DEFAULT_STATE_PREFIX as In, CFN_TEMPLATE_BODY_LIMIT as Ir, assertRegionMatch as It, yellow as J, loadPublishableAssetManifest as Jn, clearBucketRegionCache as Jr, producerRegionsFromState as Jt, green as K, buildAssetRedirectMap as Kn, AssemblyReader as Kr, requireConfigString as Kt, WARM_THROUGHPUT_MEMBERS as L, exportNamesCarriedFrom as Ln, CFN_TEMPLATE_URL_LIMIT as Lr, coerceCfnBoolean as Lt, planOrphanAdoption as M, forceQuitRecoveryClause as Mn, resolveStateBucketWithDefaultAndSource as Mr, isSettledInstanceState as Mt, MULTI_REGION_RECREATE_BLOCKED_TYPES as N, formatLockExpiry as Nn, resolveUseCdkBootstrapAssets as Nr, WAFv2WebACLProvider as Nt, unsupportedFinalSnapshotError as O, markNonRetryable as Oi, S3StateBackend as On, resolveAutoAssetStorage as Or, isImpossibleEmptyStoredAttribute as Ot, isStatefulRecreateTargetForReplace as P, shellQuote as Pn, stateBucketExistenceConfirmed as Pr, normalizeAwsTagsToCfn as Pt, isExportAliasCollision as Q, assertAssetBucketRegion as Qn, resetAwsClients as Qr, s3BucketDualStackDomainName as Qt, coerceWarmThroughput as R, importableOutputKeys as Rn, MIGRATE_TMP_PREFIX as Rr, coerceCfnInteger as Rt, PRE_DELETE_SNAPSHOT_TYPES as S, normalizeAwsError as Si, maskSecretsInText as Sn, getDockerImageBySourceHash as Sr, isTerminationProtectionPropagationError as St, createPreDeleteFinalSnapshot as T, isRetryableTransientError as Ti, redactSecretsForState as Tn, getDefaultStateBucketName as Tr, cfnRefValueFromPhysicalId as Tt, bold as U, AssetPublisher as Un, PARTITION_TABLE as Ur, replayWarn as Ut, toFiniteNumber as V, orphansCarriedFrom as Vn, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Vr, configStringRefusal as Vt, cyan as W, stringifyValue as Wn, canonicalizeRegion as Wr, requireConfigArray as Wt, collectPublishedOutputNames as X, AssetModeResolver as Xn, AwsClients as Xr, s3BucketArn as Xt, collectDeclaredOutputNames as Y, rewriteTemplateAssetReferences as Yn, resolveBucketRegion as Yr, withSharedDrainBudget as Yt, exportAliasCollisionScrubWarning as Z, BOOTSTRAP_MARKER_PREFIX as Zn, getAwsClients as Zr, s3BucketDomainName as Zt, isSecretBearingReferenceString as _, StackTerminationProtectionError as _i, errorCauseChain as _n, runDockerForeground as _r, slowCcOperationTimeoutMs as _t, DeploymentEventsStore as a, DeployCancelledError as ai, findSilentDropProperties as an, validateContainerRepoName as ar, clearOnUpdateRemoval as at, bindingSkippedOutputs as b, formatError as bi, markSameGenerationBag as bn, stripControlChars as br, deleteSkipReason as bt, replayFailedOperations as c, LocalInvokeBuildError as ci, DagBuilder as cn, buildDockerImage as cr, createMaskedRetryLogger as ct, updatePartialReason as d, NestedStackChildDirectDestroyError as di, STATE_SOURCED_CROSS_GENERATION_RULES as dn, describeDockerFailure as dr, beginCommandInterruptScope as dt, AssetError as ei, s3BucketWebsiteUrl as en, getBootstrapMarkerKey as er, secretBearingStateKeyWarning as et, withResourceDeadline as f, PartialFailureError as fi, STATE_SOURCED_READBACK_RULES as fn, dockerSpawnEnvWithSensitive as fr, endCommandInterruptScope as ft, bagHoldsSecretExpression as g, StackHasActiveImportsError as gi, dynamicReferenceTokens as gn, redactDockerArgvValues as gr, CloudControlProvider as gt, computeImplicitDeleteEdges as h, ResourceUpdateNotSupportedError as hi, createSecretMasker as hn, partitionSensitiveEnv as hr, startInterruptWatch as ht, DeploymentEventsReader as i, DependencyError as ii, findActionableSilentDrops as in, validateAssetBucketName as ir, collectInlinePolicyNamesManagedBySiblings as it, makeSiblingClaimReader as j, __exportAll as ji, buildLockContentionMessage as jn, resolveStateBucketWithDefault as jr, refStateLookupFromResource as jt, makeCanonicalizePropertiesFn as k, markRedactedCause as ki, rebuildClientForBucketRegion as kn, resolveCaptureObservedState as kr, isUnboundTemplateParameter as kt, replayRollback as l, LocalStartServiceError as li, TemplateParser as ln, describeDockerCapturedOutput as lr, maskDeep as lt, IMPLICIT_DELETE_DEPENDENCIES as m, ResourceTimeoutError as mi, carriesSecretMask as mn, getDockerCmd as mr, isInterruptedWaitError as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, ConfigError as ni, DiffCalculator as nn, parseBootstrapMarker as nr, getCurrentResourceSecrets as nt, planFailedOps as o, DynamicReferenceRegionAmbiguousError as oi, describeTypeWithThrottleRetry as on, buildDenyExternalAccessPolicy as or, ProviderRegistry as ot, maskingRetryLogger as p, ProvisioningError as pi, TEMPLATE_SOURCED_RULES as pn, formatDockerLoginError as pr, interruptWatchListenerCount as pt, red as q, createAssetRedirectResolver as qn, processStackMessages as qr, classifyReplaySecretRegion as qt, DeployEngine as r, CrossAccountSecretRefusalError as ri, INTRINSIC_KEYS as rn, readBootstrapMarkerBody as rr, IAMRoleProvider as rt, planRollback as s, IntrinsicResolutionRefusalError as si, withRetry as sn, describeAwsFailure as sr, wouldReturnToSdkProvider as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, CdkdError as ti, applyRoleArnIfSet as tn, isCrossRegionRedirect as tr, secretSafeKeyDisplay as tt, updatePartialMessage as u, LockError as ui, STATE_SOURCED_BASELINE_RULES as un, describeDockerExecFailure as ur, maskerOrIdentity as ut, keptWholeReasonText as v, StateError as vi, identityKeyFor as vn, runDockerStreaming as vr, UNSPECIFIED_SKIP_REASON as vt, ccRoutedFinalSnapshotError as w, isMarkedNonRetryable as wi, recoverMaskedOutput as wn, synthesisStatusMessage as wr, carriesDynamicReference as wt, ATOMIC_FINAL_SNAPSHOT_TYPES as x, isCdkdError as xi, maskSecretsInError as xn, AssetManifestLoader as xr, disableInstanceApiTermination as xt, mergeNoChangeOutputs as y, SynthesisError as yi, isSingleDynamicReferenceToken as yn, escapeRegExp$1 as yr, deleteIndeterminateGuards as yt, isWarmThroughputDecrease as z, importableOutputs as zn, findLargeInlineResources as zr, configBooleanRefusal as zt };
42029
- //# sourceMappingURL=deploy-engine-C52t7w66.js.map
42153
+ export { secretBearing as $, BOOTSTRAP_MARKER_PREFIX as $n, getAwsClients as $r, s3BucketRegionalDomainName as $t, extractDeploymentEventError as A, markNonRetryable as Ai, buildForceUnlockCommand as An, resolveAutoAssetStorage as Ar, parameterTypeMayLoseSecretIdentity as At, toCfnInteger as B, importableOutputs as Bn, MIGRATE_TMP_PREFIX as Br, configIntegerRefusal as Bt, buildFinalSnapshotIdentifier as C, isCdkdError as Ci, recordMaskOnlyValue as Cn, AssetManifestLoader as Cr, IntrinsicFunctionResolver as Ct, refusesFinalSnapshot as D, isRetryableTransientError as Di, LockManager as Dn, getDefaultStateBucketName as Dr, getAccountInfo as Dt, isFinalSnapshotError as E, isMarkedNonRetryable as Ei, scrubResourceRecord as En, synthesisStatusMessage as Er, coerceParameterTypedValue as Et, isStatefulRecreateTargetSync as F, CUSTOM_RESOURCE_RESPONSE_PREFIX as Fn, resolveUseCdkBootstrapAssets as Fr, resolveExplicitPhysicalId as Ft, gray as G, AssetPublisher as Gn, PARTITION_TABLE as Gr, requireConfigObject as Gt, formatResourceLine as H, orphansAfterRollback as Hn, uploadCfnTemplate as Hr, readConfigString as Ht, renderStatefulReason as I, DEFAULT_STATE_PREFIX as In, stateBucketExistenceConfirmed as Ir, assertRegionMatch as It, yellow as J, buildAssetRedirectMap as Jn, AssemblyReader as Jr, producerRegionsFromState as Jt, green as K, stringifyValue as Kn, canonicalizeRegion as Kr, requireConfigString as Kt, WARM_THROUGHPUT_MEMBERS as L, exportNamesCarriedFrom as Ln, warnDeprecatedNoPrefixCliFlag as Lr, coerceCfnBoolean as Lt, planOrphanAdoption as M, retryClassificationText as Mi, forceQuitRecoveryClause as Mn, resolveSkipPrefix as Mr, isSettledInstanceState as Mt, MULTI_REGION_RECREATE_BLOCKED_TYPES as N, __exportAll as Ni, formatLockExpiry as Nn, resolveStateBucketWithDefault as Nr, WAFv2WebACLProvider as Nt, unsupportedFinalSnapshotError as O, isThrottlingError as Oi, S3StateBackend as On, getLegacyStateBucketName as Or, isImpossibleEmptyStoredAttribute as Ot, isStatefulRecreateTargetForReplace as P, shellQuote as Pn, resolveStateBucketWithDefaultAndSource as Pr, normalizeAwsTagsToCfn as Pt, isExportAliasCollision as Q, AssetModeResolver as Qn, AwsClients as Qr, s3BucketDualStackDomainName as Qt, coerceWarmThroughput as R, hasReadableExportSet as Rn, CFN_TEMPLATE_BODY_LIMIT as Rr, coerceCfnInteger as Rt, PRE_DELETE_SNAPSHOT_TYPES as S, formatError as Si, maskSecretsInText as Sn, stripControlChars as Sr, isTerminationProtectionPropagationError as St, createPreDeleteFinalSnapshot as T, withErrorHandling as Ti, redactSecretsForState as Tn, Synthesizer as Tr, cfnRefValueFromPhysicalId as Tt, bold as U, orphansCarriedFrom as Un, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Ur, replayWarn as Ut, toFiniteNumber as V, isReadableBag as Vn, findLargeInlineResources as Vr, configStringRefusal as Vt, cyan as W, shouldRetainResource as Wn, expectedOwnerParam as Wr, requireConfigArray as Wt, collectPublishedOutputNames as X, loadPublishableAssetManifest as Xn, clearBucketRegionCache as Xr, s3BucketArn as Xt, collectDeclaredOutputNames as Y, createAssetRedirectResolver as Yn, processStackMessages as Yr, withSharedDrainBudget as Yt, exportAliasCollisionScrubWarning as Z, rewriteTemplateAssetReferences as Zn, resolveBucketRegion as Zr, s3BucketDomainName as Zt, isSecretBearingReferenceString as _, ResourceUpdateNotSupportedError as _i, errorCauseChain as _n, partitionSensitiveEnv as _r, slowCcOperationTimeoutMs as _t, DeploymentEventsStore as a, CrossAccountSecretRefusalError as ai, findSilentDropProperties as an, readBootstrapMarkerBody as ar, clearOnUpdateRemoval as at, bindingSkippedOutputs as b, StateError as bi, markSameGenerationBag as bn, runDockerStreaming as br, deleteSkipReason as bt, replayFailedOperations as c, DynamicReferenceRegionAmbiguousError as ci, DagBuilder as cn, buildDenyExternalAccessPolicy as cr, createMaskedRetryLogger as ct, updatePartialReason as d, LocalStartServiceError as di, STATE_SOURCED_CROSS_GENERATION_RULES as dn, describeDockerCapturedOutput as dr, beginCommandInterruptScope as dt, resetAwsClients as ei, s3BucketWebsiteUrl as en, assertAssetBucketRegion as er, secretBearingStateKeyWarning as et, withResourceDeadline as f, LockError as fi, STATE_SOURCED_READBACK_RULES as fn, describeDockerExecFailure as fr, endCommandInterruptScope as ft, bagHoldsSecretExpression as g, ResourceTimeoutError as gi, dynamicReferenceTokens as gn, getDockerCmd as gr, CloudControlProvider as gt, computeImplicitDeleteEdges as h, ProvisioningError as hi, createSecretMasker as hn, formatDockerLoginError as hr, startInterruptWatch as ht, DeploymentEventsReader as i, ConfigError as ii, findActionableSilentDrops as in, parseBootstrapMarker as ir, collectInlinePolicyNamesManagedBySiblings as it, makeSiblingClaimReader as j, markRedactedCause as ji, buildLockContentionMessage as jn, resolveCaptureObservedState as jr, refStateLookupFromResource as jt, makeCanonicalizePropertiesFn as k, isTransientServerError as ki, rebuildClientForBucketRegion as kn, resolveApp as kr, isUnboundTemplateParameter as kt, replayRollback as l, IntrinsicResolutionRefusalError as li, TemplateParser as ln, describeAwsFailure as lr, maskDeep as lt, IMPLICIT_DELETE_DEPENDENCIES as m, PartialFailureError as mi, carriesSecretMask as mn, dockerSpawnEnvWithSensitive as mr, isInterruptedWaitError as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, AssetError as ni, DiffCalculator as nn, getBootstrapMarkerKey as nr, getCurrentResourceSecrets as nt, planFailedOps as o, DependencyError as oi, describeTypeWithThrottleRetry as on, validateAssetBucketName as or, ProviderRegistry as ot, maskingRetryLogger as p, NestedStackChildDirectDestroyError as pi, TEMPLATE_SOURCED_RULES as pn, describeDockerFailure as pr, interruptWatchListenerCount as pt, red as q, WorkGraph as qn, derivePartitionAndUrlSuffix as qr, classifyReplaySecretRegion as qt, DeployEngine as r, CdkdError as ri, INTRINSIC_KEYS as rn, isCrossRegionRedirect as rr, IAMRoleProvider as rt, planRollback as s, DeployCancelledError as si, withRetry as sn, validateContainerRepoName as sr, wouldReturnToSdkProvider as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, setAwsClients as ti, applyRoleArnIfSet as tn, ensureAssetStorage as tr, secretSafeKeyDisplay as tt, updatePartialMessage as u, LocalInvokeBuildError as ui, STATE_SOURCED_BASELINE_RULES as un, buildDockerImage as ur, maskerOrIdentity as ut, keptWholeReasonText as v, StackHasActiveImportsError as vi, identityKeyFor as vn, redactDockerArgvValues as vr, UNSPECIFIED_SKIP_REASON as vt, ccRoutedFinalSnapshotError as w, normalizeAwsError as wi, recoverMaskedOutput as wn, getDockerImageBySourceHash as wr, carriesDynamicReference as wt, ATOMIC_FINAL_SNAPSHOT_TYPES as x, SynthesisError as xi, maskSecretsInError as xn, escapeRegExp$1 as xr, disableInstanceApiTermination as xt, mergeNoChangeOutputs as y, StackTerminationProtectionError as yi, isSingleDynamicReferenceToken as yn, runDockerForeground as yr, deleteIndeterminateGuards as yt, isWarmThroughputDecrease as z, importableOutputKeys as zn, CFN_TEMPLATE_URL_LIMIT as zr, configBooleanRefusal as zt };
42154
+ //# sourceMappingURL=deploy-engine-omGpC16W.js.map