@go-to-k/cdkd 0.290.3 → 0.290.4

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-BTao4oxo.js";
2
+ import { n as isVersionOnlyInvocation, t as getCdkdVersion } from "./version-BUcQz4SU.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-CoRRfEe_.js");
77
+ const { buildProgram } = await import("./program-20PIJFu9.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 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 displaySafe, y as UNRENDERABLE } from "./logger-th1myfgh.js";
2
2
  import { t as awsClientDefaults } from "./aws-client-defaults-D-iYiIJ6.js";
3
- import { t as getCdkdVersion } from "./version-BTao4oxo.js";
3
+ import { t as getCdkdVersion } from "./version-BUcQz4SU.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";
@@ -12964,7 +12964,8 @@ function isPlainObject$2(value) {
12964
12964
  }
12965
12965
  /**
12966
12966
  * Stands in for a source part the skeleton cannot know — an `Fn::Join` element
12967
- * that is itself an intrinsic, or an `Fn::Sub` `${...}` variable.
12967
+ * that is itself an intrinsic or any other non-scalar or `null` part (see
12968
+ * {@link joinPartLiteralText}), or an `Fn::Sub` `${...}` variable.
12968
12969
  *
12969
12970
  * Built from {@link DYNAMIC_REFERENCE_INNER_CHAR} rather than `.` because a
12970
12971
  * recorded expression's INNER text never contains `}`: the resolver matches
@@ -13033,7 +13034,7 @@ const MAX_SKELETON_CANDIDATE_LENGTH = 512;
13033
13034
  * between them. Measured on a ~120-char candidate, before the collapse:
13034
13035
  * 4 adjacent wildcards 39ms, 5 ~1s, 6 20s, 8 did not finish in two minutes. Two
13035
13036
  * legal CFn shapes CDK can emit produce ADJACENT ones — an `Fn::Join` with an
13036
- * EMPTY delimiter and consecutive non-string parts, and an `Fn::Sub` with
13037
+ * EMPTY delimiter and consecutive intrinsic (or `null`) parts, and an `Fn::Sub` with
13037
13038
  * adjacent `${a}${b}` variables — and the collapse takes both to a single
13038
13039
  * wildcard. It does NOT close the class, which is why the cap exists beside it.
13039
13040
  *
@@ -13115,7 +13116,8 @@ function anchoredSkeletonPattern(segments) {
13115
13116
  }
13116
13117
  /**
13117
13118
  * A source part the skeleton cannot know — an `Fn::Join` element that is
13118
- * itself an intrinsic, or an `Fn::Sub` `${...}` variable. The segment form of
13119
+ * itself an intrinsic or any other non-scalar or `null` part (see
13120
+ * {@link joinPartLiteralText}), or an `Fn::Sub` `${...}` variable. The segment form of
13119
13121
  * {@link SKELETON_WILDCARD}: what a part IS, before {@link anchoredSkeletonPattern}
13120
13122
  * — the one speller — turns it into the wildcard.
13121
13123
  */
@@ -13132,13 +13134,51 @@ const UNKNOWN_PART = Symbol("unknown intrinsic part");
13132
13134
  */
13133
13135
  const UNKNOWN_PART_PLACEHOLDER = "\0";
13134
13136
  /**
13137
+ * The literal text an `Fn::Join` PART contributes, or `undefined` when the
13138
+ * part is not knowable from the template (issue #3055).
13139
+ *
13140
+ * The resolver joins every part as `String(await resolveValue(part))`, and
13141
+ * `resolveValue` returns a NUMBER or BOOLEAN unchanged, so such a part
13142
+ * contributes exactly `String(part)` -- `8080` joins as `8080`, `true` as
13143
+ * `true`. A string part is its raw text here as it always was (a
13144
+ * `{{resolve:` inside it is the token the readers look for, not text this
13145
+ * function resolves). Reading only strings as literal made the other two a
13146
+ * wildcard for the skeleton arm (a candidate differing at that position could
13147
+ * match) and a placeholder for the frame arm (whose rendered frame then no
13148
+ * longer equals the leaf's text around the middle, so the arm refuses) -- and,
13149
+ * through the frame arm's rewrite, for the nested-stack parameter recorder's
13150
+ * `frameSpellingOf`, which carries a framed parameter to the child only when
13151
+ * that arm wrote it. The recorder's own rendering of such a part does not
13152
+ * decide the case: a part outside the token leaves its one span and service
13153
+ * prefix the same either way.
13154
+ *
13155
+ * `null` stays unknowable although the resolver would join it as `null`, as it
13156
+ * was before this function existed: it is not a part a CloudFormation template
13157
+ * can carry meaningfully. Being a wildcard, it can still let the skeleton arm
13158
+ * match a lone candidate spelling something else at that position -- the
13159
+ * arm's existing wrong-reference residual, not narrowed here. The literal
13160
+ * reading reaches that same residual in a few more places: a source that left
13161
+ * two candidates matching as a wildcard can now leave ONE, which the arm
13162
+ * accepts even when the leaf's own reference was never recorded (a public
13163
+ * `ssm` parameter). An object or array part (an intrinsic, a list, or any
13164
+ * other object) stays {@link UNKNOWN_PART}.
13165
+ */
13166
+ function joinPartLiteralText(part) {
13167
+ if (typeof part === "string") return part;
13168
+ if (typeof part === "number" || typeof part === "boolean") return String(part);
13169
+ }
13170
+ /**
13135
13171
  * The text of an `Fn::Join` / `Fn::Sub` source in order: a literal part as its
13136
- * RAW text, an unknowable part as {@link UNKNOWN_PART}. ONE parser for the two
13172
+ * RAW text (a number or boolean `Fn::Join` part as the text the resolver joins
13173
+ * it as, {@link joinPartLiteralText}), an unknowable part as
13174
+ * {@link UNKNOWN_PART}. ONE parser for the three
13137
13175
  * readers of that shape — {@link intrinsicSkeletonPattern}, which hands every
13138
- * segment to {@link anchoredSkeletonPattern} to spell as a regex, and
13176
+ * segment to {@link anchoredSkeletonPattern} to spell as a regex,
13139
13177
  * {@link positionByIntrinsicFrame}, which needs the
13140
- * literal text VERBATIM to know where a token's frame begins and ends — so
13141
- * the two cannot disagree about what a source says (issue #2745).
13178
+ * literal text VERBATIM to know where a token's frame begins and ends, and
13179
+ * `frameSpellingOf` in {@link recordNestedStackParameterExpressions}, which
13180
+ * renders the same text to find the token a carried frame spells — so
13181
+ * they cannot disagree about what a source says (issues #2745, #3062).
13142
13182
  *
13143
13183
  * `undefined` for any source this cannot describe, per the pattern reader's
13144
13184
  * doc: a delimiter that is itself an intrinsic, a non-array `Fn::Join`, a
@@ -13156,7 +13196,7 @@ function intrinsicSkeletonSegments(source) {
13156
13196
  const segments = [];
13157
13197
  parts.forEach((part, index) => {
13158
13198
  if (index > 0) segments.push(delimiter);
13159
- segments.push(typeof part === "string" ? part : UNKNOWN_PART);
13199
+ segments.push(joinPartLiteralText(part) ?? UNKNOWN_PART);
13160
13200
  });
13161
13201
  return segments;
13162
13202
  }
@@ -13410,9 +13450,10 @@ function positionByCrossStackSource(bag, source, secrets) {
13410
13450
  *
13411
13451
  * One residual is worth naming rather than leaving to be rediscovered: a single
13412
13452
  * WRONG candidate can win only when this leaf's own expression is in NEITHER
13413
- * store — which is exactly an `ssm` reference whose `Type` came back
13414
- * unclassifiable (deliberately unpinned per #1901) and which then lost the
13415
- * value collapse. `recordedSecretExpressions` is process-wide, so the winner
13453
+ * store — an `ssm` reference whose `Type` came back unclassifiable
13454
+ * (deliberately unpinned per #1901) and which then lost the value collapse, or
13455
+ * a PUBLIC `ssm` reference (stored resolved, #1901) whose value coincides with
13456
+ * a recorded secret's plaintext. `recordedSecretExpressions` is process-wide, so the winner
13416
13457
  * could in principle come from another resource, and condition 3 cannot refuse
13417
13458
  * one the pass never recorded.
13418
13459
  *
@@ -13421,7 +13462,7 @@ function positionByCrossStackSource(bag, source, secrets) {
13421
13462
  * `resolveReplayProps` RE-RESOLVES the persisted expression against AWS and
13422
13463
  * hands the result to `provider.update`, so a rollback replays the wrong secret
13423
13464
  * — immediately, if the two references already resolve to different values. It
13424
- * is narrow (unclassifiable-`ssm` leaves only) but it is not cosmetic, and an
13465
+ * is narrow (unclassifiable or public `ssm` leaves only) but it is not cosmetic, and an
13425
13466
  * earlier draft of this paragraph called it "a spurious UPDATE rather than a
13426
13467
  * disclosure", which understated it.
13427
13468
  *
@@ -28975,7 +29016,7 @@ var CloudControlProvider = class {
28975
29016
  const indeterminateGuard = await this.confirmDeleteTargetIdentity(logicalId, resourceType, physicalId, context);
28976
29017
  if (context?.removeProtection === true && resourceType === "AWS::AutoScaling::AutoScalingGroup") {
28977
29018
  this.logger.debug(`Delegating protected AutoScalingGroup ${logicalId} delete to the SDK ASGProvider (Cloud Control cannot force-delete a protected ASG)`);
28978
- const { ASGProvider } = await import("./asg-provider-RLnpBIKj.js").then((n) => n.n);
29019
+ const { ASGProvider } = await import("./asg-provider-NffO_bpL.js").then((n) => n.n);
28979
29020
  const asgProvider = new ASGProvider();
28980
29021
  return withIndeterminateGuard(await asgProvider.delete(logicalId, physicalId, resourceType, _properties, context), indeterminateGuard);
28981
29022
  }
@@ -41632,4 +41673,4 @@ var DeployEngine = class DeployEngine {
41632
41673
 
41633
41674
  //#endregion
41634
41675
  export { secretSafeKeyDisplay as $, parseBootstrapMarker as $n, ConfigError as $r, DiffCalculator as $t, planOrphanAdoption as A, formatLockExpiry as An, resolveUseCdkBootstrapAssets as Ar, WAFv2WebACLProvider as At, formatResourceLine as B, AssetPublisher as Bn, PARTITION_TABLE as Br, replayWarn as Bt, createPreDeleteFinalSnapshot as C, isThrottlingError as Ci, scrubResourceRecord as Cn, getLegacyStateBucketName as Cr, cfnRefValueFromPhysicalId as Ct, makeCanonicalizePropertiesFn as D, retryClassificationText as Di, buildForceUnlockCommand as Dn, resolveSkipPrefix as Dr, parameterTypeMayLoseSecretIdentity as Dt, unsupportedFinalSnapshotError as E, markRedactedCause as Ei, rebuildClientForBucketRegion as En, resolveCaptureObservedState as Er, isUnboundTemplateParameter as Et, WARM_THROUGHPUT_MEMBERS as F, importableOutputKeys as Fn, MIGRATE_TMP_PREFIX as Fr, coerceCfnInteger as Ft, red as G, loadPublishableAssetManifest as Gn, clearBucketRegionCache as Gr, producerRegionsFromState as Gt, cyan as H, WorkGraph as Hn, derivePartitionAndUrlSuffix as Hr, requireConfigObject as Ht, coerceWarmThroughput as I, importableOutputs as In, findLargeInlineResources as Ir, configBooleanRefusal as It, collectPublishedOutputNames as J, BOOTSTRAP_MARKER_PREFIX as Jn, getAwsClients as Jr, s3BucketDomainName as Jt, yellow as K, rewriteTemplateAssetReferences as Kn, resolveBucketRegion as Kr, withSharedDrainBudget as Kt, isWarmThroughputDecrease as L, orphansAfterRollback as Ln, uploadCfnTemplate as Lr, configIntegerRefusal as Lt, isStatefulRecreateTargetForReplace as M, CUSTOM_RESOURCE_RESPONSE_PREFIX as Mn, warnDeprecatedNoPrefixCliFlag as Mr, resolveExplicitPhysicalId as Mt, isStatefulRecreateTargetSync as N, DEFAULT_STATE_PREFIX as Nn, CFN_TEMPLATE_BODY_LIMIT as Nr, assertRegionMatch as Nt, extractDeploymentEventError as O, __exportAll as Oi, buildLockContentionMessage as On, resolveStateBucketWithDefault as Or, refStateLookupFromResource as Ot, renderStatefulReason as P, exportNamesCarriedFrom as Pn, CFN_TEMPLATE_URL_LIMIT as Pr, coerceCfnBoolean as Pt, secretBearingStateKeyWarning as Q, isCrossRegionRedirect as Qn, CdkdError as Qr, applyRoleArnIfSet as Qt, toCfnInteger as R, orphansCarriedFrom as Rn, CUSTOM_RESOURCE_RESPONSE_OBJECT_DESCRIPTION as Rr, configStringRefusal as Rt, ccRoutedFinalSnapshotError as S, isRetryableTransientError as Si, redactSecretsForState as Sn, getDefaultStateBucketName as Sr, carriesDynamicReference as St, refusesFinalSnapshot as T, markNonRetryable as Ti, S3StateBackend as Tn, resolveAutoAssetStorage as Tr, getAccountInfo as Tt, gray as U, buildAssetRedirectMap as Un, AssemblyReader as Ur, requireConfigString as Ut, bold as V, stringifyValue as Vn, canonicalizeRegion as Vr, requireConfigArray as Vt, green as W, createAssetRedirectResolver as Wn, processStackMessages as Wr, classifyReplaySecretRegion as Wt, isExportAliasCollision as X, ensureAssetStorage as Xn, setAwsClients as Xr, s3BucketRegionalDomainName as Xt, exportAliasCollisionScrubWarning as Y, assertAssetBucketRegion as Yn, resetAwsClients as Yr, s3BucketDualStackDomainName as Yt, secretBearing as Z, getBootstrapMarkerKey as Zn, AssetError as Zr, s3BucketWebsiteUrl as Zt, isSecretBearingReferenceString as _, formatError as _i, markSameGenerationBag as _n, stripControlChars as _r, deleteIndeterminateGuards as _t, DeploymentEventsStore as a, LocalInvokeBuildError as ai, DagBuilder as an, buildDockerImage as ar, wouldReturnToSdkProvider as at, PRE_DELETE_SNAPSHOT_TYPES as b, withErrorHandling as bi, recordMaskOnlyValue as bn, Synthesizer as br, isTerminationProtectionPropagationError as bt, replayFailedOperations as c, NestedStackChildDirectDestroyError as ci, STATE_SOURCED_CROSS_GENERATION_RULES as cn, describeDockerFailure as cr, maskerOrIdentity as ct, updatePartialReason as d, ResourceTimeoutError as di, carriesSecretMask as dn, getDockerCmd as dr, interruptWatchListenerCount as dt, CrossAccountSecretRefusalError as ei, INTRINSIC_KEYS as en, readBootstrapMarkerBody as er, getCurrentResourceSecrets as et, withResourceDeadline as f, ResourceUpdateNotSupportedError as fi, createSecretMasker as fn, partitionSensitiveEnv as fr, isInterruptedWaitError as ft, bagHoldsSecretExpression as g, SynthesisError as gi, isSingleDynamicReferenceToken as gn, escapeRegExp$1 as gr, UNSPECIFIED_SKIP_REASON as gt, computeImplicitDeleteEdges as h, StateError as hi, identityKeyFor as hn, runDockerStreaming as hr, slowCcOperationTimeoutMs as ht, DeploymentEventsReader as i, IntrinsicResolutionRefusalError as ii, withRetry as in, describeAwsFailure as ir, ProviderRegistry as it, MULTI_REGION_RECREATE_BLOCKED_TYPES as j, shellQuote as jn, stateBucketExistenceConfirmed as jr, normalizeAwsTagsToCfn as jt, makeSiblingClaimReader as k, forceQuitRecoveryClause as kn, resolveStateBucketWithDefaultAndSource as kr, isSettledInstanceState as kt, replayRollback as l, PartialFailureError as li, STATE_SOURCED_READBACK_RULES as ln, dockerSpawnEnvWithSensitive as lr, beginCommandInterruptScope as lt, IMPLICIT_DELETE_DEPENDENCIES as m, StackTerminationProtectionError as mi, errorCauseChain as mn, runDockerForeground as mr, CloudControlProvider as mt, DEFAULT_RESOURCE_WARN_AFTER_MS as n, DeployCancelledError as ni, findSilentDropProperties as nn, validateContainerRepoName as nr, collectInlinePolicyNamesManagedBySiblings as nt, planFailedOps as o, LocalStartServiceError as oi, TemplateParser as on, describeDockerCapturedOutput as or, createMaskedRetryLogger as ot, maskingRetryLogger as p, StackHasActiveImportsError as pi, dynamicReferenceTokens as pn, redactDockerArgvValues as pr, startInterruptWatch as pt, collectDeclaredOutputNames as q, AssetModeResolver as qn, AwsClients as qr, s3BucketArn as qt, DeployEngine as r, DynamicReferenceRegionAmbiguousError as ri, describeTypeWithThrottleRetry as rn, buildDenyExternalAccessPolicy as rr, clearOnUpdateRemoval as rt, planRollback as s, LockError as si, STATE_SOURCED_BASELINE_RULES as sn, describeDockerExecFailure as sr, maskDeep as st, DEFAULT_RESOURCE_TIMEOUT_MS as t, DependencyError as ti, findActionableSilentDrops as tn, validateAssetBucketName as tr, IAMRoleProvider as tt, updatePartialMessage as u, ProvisioningError as ui, TEMPLATE_SOURCED_RULES as un, formatDockerLoginError as ur, endCommandInterruptScope as ut, bindingSkippedOutputs as v, isCdkdError as vi, maskSecretsInError as vn, AssetManifestLoader as vr, deleteSkipReason as vt, isFinalSnapshotError as w, isTransientServerError as wi, LockManager as wn, resolveApp as wr, coerceParameterTypedValue as wt, buildFinalSnapshotIdentifier as x, isMarkedNonRetryable as xi, recoverMaskedOutput as xn, synthesisStatusMessage as xr, IntrinsicFunctionResolver as xt, ATOMIC_FINAL_SNAPSHOT_TYPES as y, normalizeAwsError as yi, maskSecretsInText as yn, getDockerImageBySourceHash as yr, disableInstanceApiTermination as yt, toFiniteNumber as z, shouldRetainResource as zn, expectedOwnerParam as zr, readConfigString as zt };
41635
- //# sourceMappingURL=deploy-engine-0Wg4MwP2.js.map
41676
+ //# sourceMappingURL=deploy-engine-DD7JE_Ic.js.map