cdk-local 0.149.7 → 0.149.8

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.
@@ -0,0 +1,26 @@
1
+ import { n as resolveConfiguredLogLevel } from "./logger-CuUAMAnt.js";
2
+ import { NonInteractiveIoHost } from "@aws-cdk/toolkit-lib";
3
+
4
+ //#region src/synthesis/cdkl-io-host.ts
5
+ var CdklIoHost = class extends NonInteractiveIoHost {
6
+ suppressNonWarnings = (() => {
7
+ const level = resolveConfiguredLogLevel();
8
+ return level === "warn" || level === "error";
9
+ })();
10
+ async notify(msg) {
11
+ if (isStackIdTemplateHint(msg)) return;
12
+ const reclassified = msg.code === "CDK_ASSEMBLY_E1002" || msg.code === "CDK_TOOLKIT_I1901" || msg.code === "CDK_TOOLKIT_I1902" ? {
13
+ ...msg,
14
+ level: "info"
15
+ } : msg;
16
+ if (this.suppressNonWarnings && reclassified.level !== "warn" && reclassified.level !== "error") return;
17
+ return super.notify(reclassified);
18
+ }
19
+ };
20
+ function isStackIdTemplateHint(msg) {
21
+ return msg.code === void 0 && typeof msg.message === "string" && msg.message.startsWith("Supply a stack id ") && msg.message.includes("to display its template");
22
+ }
23
+
24
+ //#endregion
25
+ export { CdklIoHost };
26
+ //# sourceMappingURL=cdkl-io-host-DYuHWzAS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdkl-io-host-DYuHWzAS.js","names":[],"sources":["../src/synthesis/cdkl-io-host.ts"],"mappings":";;;;AAoDA,IAAa,aAAb,cAAgC,qBAAqB;CACnD,AAAiB,6BAA6B;EAC5C,MAAM,QAAQ,0BAA0B;EACxC,OAAO,UAAU,UAAU,UAAU;CACvC,EAAC,CAAE;CAEH,MAAM,OAAO,KAAwC;EACnD,IAAI,sBAAsB,GAAG,GAC3B;EAGF,MAAM,eACJ,IAAI,SAAS,wBACb,IAAI,SAAS,uBACb,IAAI,SAAS,sBACT;GAAE,GAAG;GAAK,OAAO;EAAgB,IACjC;EAEN,IACE,KAAK,uBACL,aAAa,UAAU,UACvB,aAAa,UAAU,SAEvB;EAEF,OAAO,MAAM,OAAO,YAAY;CAClC;AACF;AAQA,SAAS,sBAAsB,KAAkC;CAC/D,OACE,IAAI,SAAS,UACb,OAAO,IAAI,YAAY,YACvB,IAAI,QAAQ,WAAW,oBAAoB,KAC3C,IAAI,QAAQ,SAAS,yBAAyB;AAElD"}
package/dist/cli.js CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { D as createLocalStartAgentCoreCommand, F as createLocalStartCloudFrontCommand, Mn as createLocalInvokeCommand, Ot as createLocalStartServiceCommand, Pn as createLocalStartApiCommand, St as createLocalStartAlbCommand, a as createLocalStudioCommand, jt as createLocalRunTaskCommand, sn as createLocalInvokeAgentCoreCommand, w as createLocalListCommand } from "./local-studio-U-gD2HSf.js";
2
+ import { D as createLocalStartAgentCoreCommand, F as createLocalStartCloudFrontCommand, Mn as createLocalInvokeCommand, Ot as createLocalStartServiceCommand, Pn as createLocalStartApiCommand, St as createLocalStartAlbCommand, a as createLocalStudioCommand, jt as createLocalRunTaskCommand, sn as createLocalInvokeAgentCoreCommand, w as createLocalListCommand } from "./local-studio-DGJn7XtJ.js";
3
3
  import { Command } from "commander";
4
4
 
5
5
  //#region src/cli/index.ts
6
6
  const program = new Command();
7
- program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.149.7");
7
+ program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.149.8");
8
8
  program.addCommand(createLocalInvokeCommand());
9
9
  program.addCommand(createLocalInvokeAgentCoreCommand());
10
10
  program.addCommand(createLocalStartApiCommand());
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","names":[],"sources":["../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { Command } from 'commander';\nimport { createLocalInvokeCommand } from './commands/local-invoke.js';\nimport { createLocalInvokeAgentCoreCommand } from './commands/local-invoke-agentcore.js';\nimport { createLocalStartApiCommand } from './commands/local-start-api.js';\nimport { createLocalRunTaskCommand } from './commands/local-run-task.js';\nimport { createLocalStartServiceCommand } from './commands/local-start-service.js';\nimport { createLocalStartAlbCommand } from './commands/local-start-alb.js';\nimport { createLocalStartCloudFrontCommand } from './commands/local-start-cloudfront.js';\nimport { createLocalStartAgentCoreCommand } from './commands/local-start-agentcore.js';\nimport { createLocalListCommand } from './commands/local-list.js';\nimport { createLocalStudioCommand } from './commands/local-studio.js';\n\ndeclare const __CDK_LOCAL_VERSION__: string;\n\nconst program = new Command();\nprogram\n .name('cdkl')\n .description('Run AWS CDK stacks locally with Docker.')\n .version(__CDK_LOCAL_VERSION__);\n\nprogram.addCommand(createLocalInvokeCommand());\nprogram.addCommand(createLocalInvokeAgentCoreCommand());\nprogram.addCommand(createLocalStartApiCommand());\nprogram.addCommand(createLocalRunTaskCommand());\nprogram.addCommand(createLocalStartServiceCommand());\nprogram.addCommand(createLocalStartAlbCommand());\nprogram.addCommand(createLocalStartCloudFrontCommand());\nprogram.addCommand(createLocalStartAgentCoreCommand());\nprogram.addCommand(createLocalListCommand());\nprogram.addCommand(createLocalStudioCommand());\n\nvoid program.parseAsync(process.argv);\n"],"mappings":";;;;;AAgBA,MAAM,UAAU,IAAI,QAAQ;AAC5B,QACG,KAAK,MAAM,CAAC,CACZ,YAAY,yCAAyC,CAAC,CACtD,iBAA6B;AAEhC,QAAQ,WAAW,yBAAyB,CAAC;AAC7C,QAAQ,WAAW,kCAAkC,CAAC;AACtD,QAAQ,WAAW,2BAA2B,CAAC;AAC/C,QAAQ,WAAW,0BAA0B,CAAC;AAC9C,QAAQ,WAAW,+BAA+B,CAAC;AACnD,QAAQ,WAAW,2BAA2B,CAAC;AAC/C,QAAQ,WAAW,kCAAkC,CAAC;AACtD,QAAQ,WAAW,iCAAiC,CAAC;AACrD,QAAQ,WAAW,uBAAuB,CAAC;AAC3C,QAAQ,WAAW,yBAAyB,CAAC;AAExC,QAAQ,WAAW,QAAQ,IAAI"}
1
+ {"version":3,"file":"cli.js","names":[],"sources":["../src/cli/index.ts"],"mappings":";;;;;AAgBA,MAAM,UAAU,IAAI,QAAQ;AAC5B,QACG,KAAK,MAAM,CAAC,CACZ,YAAY,yCAAyC,CAAC,CACtD,iBAA6B;AAEhC,QAAQ,WAAW,yBAAyB,CAAC;AAC7C,QAAQ,WAAW,kCAAkC,CAAC;AACtD,QAAQ,WAAW,2BAA2B,CAAC;AAC/C,QAAQ,WAAW,0BAA0B,CAAC;AAC9C,QAAQ,WAAW,+BAA+B,CAAC;AACnD,QAAQ,WAAW,2BAA2B,CAAC;AAC/C,QAAQ,WAAW,kCAAkC,CAAC;AACtD,QAAQ,WAAW,iCAAiC,CAAC;AACrD,QAAQ,WAAW,uBAAuB,CAAC;AAC3C,QAAQ,WAAW,yBAAyB,CAAC;AAExC,QAAQ,WAAW,QAAQ,IAAI"}
@@ -0,0 +1,557 @@
1
+ import { t as getLogger } from "./logger-CuUAMAnt.js";
2
+ import { readlinkSync, realpathSync } from "node:fs";
3
+ import { basename, dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
4
+ import { spinner } from "@clack/prompts";
5
+ import { spawn } from "node:child_process";
6
+
7
+ //#region \0rolldown/runtime.js
8
+ var __defProp = Object.defineProperty;
9
+ var __exportAll = (all, no_symbols) => {
10
+ let target = {};
11
+ for (var name in all) {
12
+ __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ }
17
+ if (!no_symbols) {
18
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
19
+ }
20
+ return target;
21
+ };
22
+
23
+ //#endregion
24
+ //#region src/local/embed-config.ts
25
+ const DEFAULTS = {
26
+ cliName: "cdkl",
27
+ binaryName: "cdkl",
28
+ productName: "cdk-local",
29
+ resourceNamePrefix: "cdkl",
30
+ awsBindMountPath: "/cdk-local-aws",
31
+ envPrefix: "CDKL",
32
+ sigV4StrictByDefault: false,
33
+ sigV4OptFlag: "--strict-sigv4"
34
+ };
35
+ let current = DEFAULTS;
36
+ function setEmbedConfig(config) {
37
+ current = {
38
+ cliName: config?.cliName ?? DEFAULTS.cliName,
39
+ binaryName: config?.binaryName ?? DEFAULTS.binaryName,
40
+ productName: config?.productName ?? DEFAULTS.productName,
41
+ resourceNamePrefix: config?.resourceNamePrefix ?? DEFAULTS.resourceNamePrefix,
42
+ awsBindMountPath: config?.awsBindMountPath ?? DEFAULTS.awsBindMountPath,
43
+ envPrefix: config?.envPrefix ?? DEFAULTS.envPrefix,
44
+ sigV4StrictByDefault: config?.sigV4StrictByDefault ?? DEFAULTS.sigV4StrictByDefault,
45
+ sigV4OptFlag: config?.sigV4OptFlag ?? DEFAULTS.sigV4OptFlag
46
+ };
47
+ }
48
+ function getEmbedConfig() {
49
+ return current;
50
+ }
51
+ function resetEmbedConfig() {
52
+ current = DEFAULTS;
53
+ }
54
+
55
+ //#endregion
56
+ //#region src/local/credential-error.ts
57
+ const SERVICE_MESSAGE_MAX = 512;
58
+ function stringifyThrown(err) {
59
+ try {
60
+ return err instanceof Error ? String(err.message) : String(err);
61
+ } catch {
62
+ return "[unstringifiable throw]";
63
+ }
64
+ }
65
+ function clampErrorName(err) {
66
+ let rawKind;
67
+ try {
68
+ rawKind = err instanceof Error ? err.name : "unknown";
69
+ } catch {
70
+ return "unknown";
71
+ }
72
+ return typeof rawKind === "string" && /^[A-Za-z0-9_.-]{1,64}$/.test(rawKind) ? rawKind : "unknown";
73
+ }
74
+ function clampErrorCode(err) {
75
+ if (!err || typeof err !== "object") return void 0;
76
+ let raw;
77
+ try {
78
+ raw = err.code;
79
+ } catch {
80
+ return;
81
+ }
82
+ if (typeof raw !== "string") return void 0;
83
+ return /^[A-Za-z0-9_.-]{1,64}$/.test(raw) ? raw : void 0;
84
+ }
85
+ function isAwsServiceException(err) {
86
+ if (!err || typeof err !== "object") return false;
87
+ const candidate = err;
88
+ try {
89
+ return Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server");
90
+ } catch {
91
+ return false;
92
+ }
93
+ }
94
+ function flattenToOneLine(message) {
95
+ return message.replace(/[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Cs}]/gu, " ");
96
+ }
97
+ function sanitizeServiceExceptionMessage(message) {
98
+ const points = [...flattenToOneLine(message)];
99
+ if (points.length <= SERVICE_MESSAGE_MAX) return points.join("");
100
+ return `${points.slice(0, SERVICE_MESSAGE_MAX).join("")}[... truncated; ${points.length}-character message]`;
101
+ }
102
+ function describeCredentialLoadFailure(err) {
103
+ const code = clampErrorCode(err);
104
+ return `${code === void 0 ? clampErrorName(err) : `${clampErrorName(err)} ${code}`}; ${stringifyThrown(err).length}-character message withheld, logged at debug level under --verbose`;
105
+ }
106
+ function describeAwsFailureForWarn(err, operation) {
107
+ if (isAwsServiceException(err)) return `${clampErrorName(err)}: ${sanitizeServiceExceptionMessage(stringifyThrown(err))}`;
108
+ getLogger().debug(`${operation}: the AWS SDK's own failure message was: ${flattenToOneLine(stringifyThrown(err))}`);
109
+ return describeCredentialLoadFailure(err);
110
+ }
111
+
112
+ //#endregion
113
+ //#region src/utils/assembly-path.ts
114
+ function isInside(base, candidate) {
115
+ const rel = relative(base, candidate);
116
+ if (rel === "" || rel === "..") return false;
117
+ if (rel.startsWith(`..${sep}`)) return false;
118
+ return !isAbsolute(rel);
119
+ }
120
+ function tryRealpath(p) {
121
+ try {
122
+ return realpathSync.native(p);
123
+ } catch {
124
+ return;
125
+ }
126
+ }
127
+ function tryReadlink(p) {
128
+ try {
129
+ return readlinkSync(p);
130
+ } catch {
131
+ return;
132
+ }
133
+ }
134
+ const MAX_LINK_HOPS = 40;
135
+ const MAX_PATH_COMPONENTS = 1e3;
136
+ function resolveThroughLinks(target, hops = 0, climbs = 0) {
137
+ const direct = tryRealpath(target);
138
+ if (direct !== void 0) return direct;
139
+ if (hops >= MAX_LINK_HOPS) return void 0;
140
+ if (climbs >= MAX_PATH_COMPONENTS) return void 0;
141
+ const parent = dirname(target);
142
+ if (parent === target) return void 0;
143
+ const realParent = resolveThroughLinks(parent, hops, climbs + 1);
144
+ if (realParent === void 0) return void 0;
145
+ const link = tryReadlink(target);
146
+ if (link === void 0) return join(realParent, basename(target));
147
+ return resolveThroughLinks(resolve(realParent, link), hops + 1, climbs);
148
+ }
149
+ function resolveAssemblyPath(dir, candidate, options) {
150
+ const base = resolve(dir);
151
+ const bound = options?.containWithin === void 0 ? base : resolve(options.containWithin);
152
+ const joined = resolve(join(base, candidate));
153
+ if (!isInside(bound, joined)) return {
154
+ contained: false,
155
+ escape: "lexical",
156
+ path: joined
157
+ };
158
+ const realBound = resolveThroughLinks(bound);
159
+ if (realBound !== void 0) {
160
+ const realTarget = resolveThroughLinks(joined);
161
+ if (realTarget !== void 0 && !isInside(realBound, realTarget)) return {
162
+ contained: false,
163
+ escape: "symlink",
164
+ path: joined,
165
+ realPath: realTarget
166
+ };
167
+ }
168
+ return {
169
+ contained: true,
170
+ path: joined
171
+ };
172
+ }
173
+ function absoluteAssemblyPathEscape(bound, absolutePath) {
174
+ const resolvedBound = resolve(bound);
175
+ const target = resolve(absolutePath);
176
+ const lexicallyOutside = !isInside(resolvedBound, target) && target !== resolvedBound;
177
+ const realBound = resolveThroughLinks(resolvedBound);
178
+ const realTarget = resolveThroughLinks(target);
179
+ const reallyOutside = realBound === void 0 || realTarget === void 0 ? void 0 : !isInside(realBound, realTarget) && realTarget !== realBound;
180
+ if (lexicallyOutside) {
181
+ if (reallyOutside === false) return void 0;
182
+ return {
183
+ contained: false,
184
+ escape: "lexical",
185
+ path: target
186
+ };
187
+ }
188
+ if (reallyOutside === true) return {
189
+ contained: false,
190
+ escape: "symlink",
191
+ path: target,
192
+ realPath: realTarget
193
+ };
194
+ }
195
+ function namesTheSameDirectory(bound, candidate) {
196
+ const resolvedBound = resolve(bound);
197
+ const target = resolve(candidate);
198
+ if (target === resolvedBound) return true;
199
+ const realBound = resolveThroughLinks(resolvedBound);
200
+ const realTarget = resolveThroughLinks(target);
201
+ return realBound !== void 0 && realTarget !== void 0 && realBound === realTarget;
202
+ }
203
+ function assemblyPathEscape(base, bound, candidate) {
204
+ if (isAbsolute(candidate)) return absoluteAssemblyPathEscape(bound, candidate);
205
+ const resolved = resolveAssemblyPath(base, candidate, { containWithin: bound });
206
+ if (resolved.contained || namesTheSameDirectory(bound, resolved.path)) return void 0;
207
+ return resolved;
208
+ }
209
+ function renderAssemblyPathEscape(escape, dir, action, provenanceOverride) {
210
+ const provenance = provenanceOverride ?? `CDK emits assembly paths that stay inside the assembly directory; one that leaves it indicates the synth output was hand-modified or generated by a non-CDK toolchain. Refusing to ${action}.`;
211
+ const base = resolve(dir);
212
+ const realBase = resolveThroughLinks(base) ?? base;
213
+ const shownPath = displayUntrustedValue(escape.path);
214
+ const shownBase = displayUntrustedValue(base);
215
+ if (escape.escape === "symlink") {
216
+ if (escape.realPath === realBase) return `resolves to ${shownPath}, a symbolic link to the directory ${shownBase} itself rather than to a path inside it. ${provenance}`;
217
+ return `resolves to ${shownPath}, which leads through a symbolic link to ${displayUntrustedValue(escape.realPath)}, outside ${shownBase}. ${provenance}`;
218
+ }
219
+ if (escape.path === base) return `names the directory ${shownBase} itself rather than a path inside it. ${provenance}`;
220
+ return `resolves to ${shownPath}, outside ${shownBase}. ${provenance}`;
221
+ }
222
+ const VISIBLE_LETTER = new RegExp(String.raw`^(?![\p{Default_Ignorable_Code_Point}\u02b0-\u02ff\u0374\u0559\u07f4\u07f5\ua78b\ua78c\uff9e\uff9f])[\p{L}\p{N}]$`, "u");
223
+ const COMBINING_MARK = /^\p{M}$/u;
224
+ const DEFAULT_IGNORABLE = /^\p{Default_Ignorable_Code_Point}$/u;
225
+ const BARE_PUNCTUATION = /^[/\\._~+@:=-]$/;
226
+ function classify(chars) {
227
+ let afterLetter = false;
228
+ return chars.map((ch) => {
229
+ if (DEFAULT_IGNORABLE.test(ch)) {
230
+ afterLetter = false;
231
+ return "escaped";
232
+ }
233
+ if (COMBINING_MARK.test(ch)) return afterLetter ? "bare" : "escaped";
234
+ afterLetter = VISIBLE_LETTER.test(ch);
235
+ if (afterLetter || BARE_PUNCTUATION.test(ch)) return "bare";
236
+ return ch >= " " && ch <= "~" ? "shown" : "escaped";
237
+ });
238
+ }
239
+ function displayUntrustedValue(value) {
240
+ const clean = sanitizeServiceExceptionMessage(value);
241
+ const chars = Array.from(clean);
242
+ const kinds = classify(chars);
243
+ if (clean === value && chars.length > 0 && kinds.every((k) => k === "bare")) return clean;
244
+ let body = "";
245
+ chars.forEach((ch, i) => {
246
+ if (ch === "\"" || ch === "\\") body += `\\${ch}`;
247
+ else if (kinds[i] !== "escaped") body += ch;
248
+ else for (let u = 0; u < ch.length; u++) body += `\\u${ch.charCodeAt(u).toString(16).padStart(4, "0")}`;
249
+ });
250
+ return `"${body}"`;
251
+ }
252
+
253
+ //#endregion
254
+ //#region src/utils/docker-cmd.ts
255
+ var docker_cmd_exports = /* @__PURE__ */ __exportAll({
256
+ DOCKER_CLIENT_ENV_KEYS: () => DOCKER_CLIENT_ENV_KEYS,
257
+ DOCKER_CLIENT_ENV_PREFIXES: () => DOCKER_CLIENT_ENV_PREFIXES,
258
+ DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS: () => DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS,
259
+ allowSecretsOnArgvEnvName: () => allowSecretsOnArgvEnvName,
260
+ finchSecretArgvRefusal: () => finchSecretArgvRefusal,
261
+ formatDockerLoginError: () => formatDockerLoginError,
262
+ getDockerCmd: () => getDockerCmd,
263
+ isDockerClientEnvKey: () => isDockerClientEnvKey,
264
+ isFinchVmClient: () => isFinchVmClient,
265
+ isMalformedEnvKey: () => isMalformedEnvKey,
266
+ runDockerForeground: () => runDockerForeground,
267
+ runDockerStreaming: () => runDockerStreaming,
268
+ spawnForeground: () => spawnForeground,
269
+ spawnStreaming: () => spawnStreaming,
270
+ warnFinchArgvExposure: () => warnFinchArgvExposure
271
+ });
272
+ function getDockerCmd() {
273
+ const override = process.env["CDK_DOCKER"];
274
+ return override && override.length > 0 ? override : "docker";
275
+ }
276
+ function isFinchVmClient(cmd = getDockerCmd(), platform = process.platform) {
277
+ if (platform !== "darwin" && platform !== "win32") return false;
278
+ const base = (cmd.split(/[\\/]/).pop() ?? "").toLowerCase();
279
+ return base === "finch" || base === "finch.exe";
280
+ }
281
+ function allowSecretsOnArgvEnvName() {
282
+ return `${getEmbedConfig().envPrefix}_ALLOW_SECRETS_ON_ARGV`;
283
+ }
284
+ function secretsOnArgvAllowed() {
285
+ const v = process.env[allowSecretsOnArgvEnvName()];
286
+ return v !== void 0 && ["1", "true"].includes(v.trim().toLowerCase());
287
+ }
288
+ function finchSecretArgvRefusal(secretNames, subject) {
289
+ if (secretNames.length === 0 || !isFinchVmClient() || secretsOnArgvAllowed()) return void 0;
290
+ const names = [...new Set(secretNames)];
291
+ return `${subject.label} ${displayUntrustedValue(subject.name)}: refusing to forward secret(s) ${names.map(displayUntrustedValue).join(", ")} under CDK_DOCKER=finch on macOS / Windows. finch turns each value-less '-e KEY' into '-e KEY=<value>' on the command line of the limactl process it starts, where other local processes can read the plaintext. Use a container client that keeps the value off the command line (for example the default 'docker', by unsetting CDK_DOCKER), or set ${allowSecretsOnArgvEnvName()}=1 to accept that exposure while it stays set.`;
292
+ }
293
+ const finchArgvWarned = /* @__PURE__ */ new Set();
294
+ function warnFinchArgvExposure(keys) {
295
+ if (keys.length === 0 || !isFinchVmClient()) return;
296
+ const names = [...new Set(keys)].sort();
297
+ const latch = JSON.stringify(names);
298
+ if (finchArgvWarned.has(latch)) return;
299
+ finchArgvWarned.add(latch);
300
+ getLogger().warn(`CDK_DOCKER=finch on macOS / Windows puts the values of ${names.map(displayUntrustedValue).join(", ")} on the command line of the limactl process it starts (finch turns a value-less '-e KEY' into '-e KEY=<value>'), where other local processes can read them. The default 'docker' client keeps them off the command line.`);
301
+ }
302
+ async function runDockerStreaming(args, options = {}) {
303
+ return spawnStreaming(getDockerCmd(), args, options);
304
+ }
305
+ async function spawnStreaming(cmd, args, options = {}) {
306
+ const streamLive = options.streamLive ?? getLogger().getLevel() === "debug";
307
+ const env = options.env ? mergeEnv(options.env) : void 0;
308
+ const spin = startProgressSpinner(options.progressLabel, streamLive);
309
+ return new Promise((resolve, reject) => {
310
+ let child;
311
+ try {
312
+ child = spawn(cmd, args, {
313
+ cwd: options.cwd,
314
+ env,
315
+ stdio: [
316
+ options.input ? "pipe" : "ignore",
317
+ "pipe",
318
+ "pipe"
319
+ ]
320
+ });
321
+ } catch (err) {
322
+ stopProgressSpinner(spin, options.progressLabel);
323
+ reject(err);
324
+ return;
325
+ }
326
+ const stdoutChunks = [];
327
+ const stderrChunks = [];
328
+ child.stdout.on("data", (chunk) => {
329
+ stdoutChunks.push(chunk);
330
+ if (streamLive) process.stdout.write(chunk);
331
+ });
332
+ child.stderr.on("data", (chunk) => {
333
+ stderrChunks.push(chunk);
334
+ if (streamLive) process.stderr.write(chunk);
335
+ });
336
+ child.once("error", (err) => {
337
+ stopProgressSpinner(spin, options.progressLabel);
338
+ if (err.code === "ENOENT") {
339
+ const usingOverride = process.env["CDK_DOCKER"] === cmd && cmd !== "docker";
340
+ const shownCmd = displayUntrustedValue(cmd);
341
+ reject(/* @__PURE__ */ new Error(usingOverride ? `Failed to find and execute ${shownCmd} (resolved via CDK_DOCKER). Install ${shownCmd} or unset CDK_DOCKER to fall back to 'docker'.` : `Failed to find and execute ${shownCmd}. Install Docker (or set the 'CDK_DOCKER' environment variable to a compatible binary such as podman / finch).`));
342
+ } else {
343
+ const wrapped = /* @__PURE__ */ new Error(`Failed to execute ${displayUntrustedValue(cmd)} (${err.code ?? "spawn error"})`);
344
+ if (err.code !== void 0) wrapped.code = err.code;
345
+ reject(wrapped);
346
+ }
347
+ });
348
+ child.once("close", (code) => {
349
+ const stdout = Buffer.concat(stdoutChunks).toString("utf-8");
350
+ const stderr = Buffer.concat(stderrChunks).toString("utf-8");
351
+ if (code === 0) {
352
+ stopProgressSpinner(spin, options.progressLabel);
353
+ resolve({
354
+ stdout,
355
+ stderr
356
+ });
357
+ } else {
358
+ stopProgressSpinner(spin, options.progressLabel);
359
+ const message = stderr.trim() || stdout.trim() || `${displayUntrustedValue(cmd)} exited with code ${code}`;
360
+ const err = new Error(message);
361
+ err.stderr = stderr;
362
+ err.stdout = stdout;
363
+ err.exitCode = code;
364
+ reject(err);
365
+ }
366
+ });
367
+ if (options.input !== void 0) {
368
+ child.stdin.on("error", () => {});
369
+ child.stdin.write(options.input);
370
+ child.stdin.end();
371
+ }
372
+ });
373
+ }
374
+ function startProgressSpinner(label, streamLive) {
375
+ if (label === void 0 || streamLive || process.stdout.isTTY !== true) return void 0;
376
+ const spin = spinner();
377
+ spin.start(label);
378
+ return spin;
379
+ }
380
+ function stopProgressSpinner(spin, label) {
381
+ if (spin === void 0) return;
382
+ spin.stop(label ?? "");
383
+ }
384
+ async function runDockerForeground(args, options = {}) {
385
+ return spawnForeground(getDockerCmd(), args, options);
386
+ }
387
+ async function spawnForeground(cmd, args, options = {}) {
388
+ const env = options.env ? mergeEnv(options.env) : void 0;
389
+ return new Promise((resolve, reject) => {
390
+ const child = spawn(cmd, args, {
391
+ cwd: options.cwd,
392
+ env,
393
+ stdio: "inherit"
394
+ });
395
+ child.once("error", (err) => {
396
+ if (err.code === "ENOENT") {
397
+ const usingOverride = process.env["CDK_DOCKER"] === cmd && cmd !== "docker";
398
+ const shownCmd = displayUntrustedValue(cmd);
399
+ reject(/* @__PURE__ */ new Error(usingOverride ? `Failed to find and execute ${shownCmd} (resolved via CDK_DOCKER). Install ${shownCmd} or unset CDK_DOCKER to fall back to 'docker'.` : `Failed to find and execute ${shownCmd}. Install Docker (or set the 'CDK_DOCKER' environment variable to a compatible binary such as podman / finch).`));
400
+ } else reject(/* @__PURE__ */ new Error(`${cmd} failed: ${err.message}`));
401
+ });
402
+ child.once("close", (code) => {
403
+ if (code === 0) resolve();
404
+ else reject(/* @__PURE__ */ new Error(`${cmd} exited with code ${code}`));
405
+ });
406
+ });
407
+ }
408
+ function formatDockerLoginError(stderr, endpoint) {
409
+ const trimmed = stderr.trim();
410
+ if (trimmed.includes("already exists in the keychain") || trimmed.includes("Error saving credentials")) return `docker's credential helper (osxkeychain on macOS / wincred on Windows / pass / secretservice on Linux) failed to persist the ECR auth token. The "already exists in the keychain" / "Error saving credentials" output is a known docker-credential-helpers issue — unrelated to ${getEmbedConfig().productName}, AWS credentials, or IAM perms. Quick fix: run \`docker logout ${endpoint}\` to clear the stale entry, then retry the ${getEmbedConfig().productName} command. Permanent fix: edit ~/.docker/config.json and remove (or empty) the platform-specific "credsStore" entry (e.g. "osxkeychain" → "" or "desktop" on macOS Docker Desktop). Original docker stderr: ${trimmed}`;
411
+ return trimmed;
412
+ }
413
+ function mergeEnv(overrides) {
414
+ const merged = { ...process.env };
415
+ for (const [k, v] of Object.entries(overrides)) if (v === void 0) delete merged[k];
416
+ else merged[k] = v;
417
+ return merged;
418
+ }
419
+ const DOCKER_CLIENT_ENV_KEYS = /* @__PURE__ */ new Set([
420
+ "PATH",
421
+ "PATHEXT",
422
+ "HOME",
423
+ "USERPROFILE",
424
+ "HOMEDRIVE",
425
+ "HOMEPATH",
426
+ "DOCKER_HOST",
427
+ "DOCKER_CONTEXT",
428
+ "DOCKER_CONFIG",
429
+ "DOCKER_CERT_PATH",
430
+ "DOCKER_TLS",
431
+ "DOCKER_TLS_VERIFY",
432
+ "DOCKER_API_VERSION",
433
+ "DOCKER_AUTH_CONFIG",
434
+ "DOCKER_DEFAULT_PLATFORM",
435
+ "DOCKER_CUSTOM_HEADERS",
436
+ "DOCKER_CONTENT_TRUST",
437
+ "DOCKER_CONTENT_TRUST_SERVER",
438
+ "DOCKER_HIDE_LEGACY_COMMANDS",
439
+ "BUILDKIT_PROGRESS",
440
+ "GLIBC_TUNABLES",
441
+ "GCONV_PATH",
442
+ "BASH_ENV",
443
+ "SHELLOPTS",
444
+ "PS4",
445
+ "PYTHONPATH",
446
+ "PYTHONHOME",
447
+ "PYTHONUSERBASE",
448
+ "PYTHONPYCACHEPREFIX",
449
+ "PYTHONPLATLIBDIR",
450
+ "PYTHONWARNINGS",
451
+ "BROWSER",
452
+ "REQUESTS_CA_BUNDLE",
453
+ "CURL_CA_BUNDLE",
454
+ "HTTPLIB2_CA_CERTS",
455
+ "SSLKEYLOGFILE",
456
+ "GCE_METADATA_HOST",
457
+ "GCE_METADATA_ROOT",
458
+ "GCE_METADATA_IP",
459
+ "NODE_OPTIONS",
460
+ "NODE_PATH",
461
+ "NODE_COMPILE_CACHE",
462
+ "NODE_EXTRA_CA_CERTS",
463
+ "NODE_TLS_REJECT_UNAUTHORIZED",
464
+ "RUBYOPT",
465
+ "RUBYLIB",
466
+ "GEM_PATH",
467
+ "GEM_HOME",
468
+ "RUBYGEMS_GEMDEPS",
469
+ "PERL5OPT",
470
+ "PERL5LIB",
471
+ "PERLLIB",
472
+ "PERL5DB",
473
+ "OPENSSL_CONF",
474
+ "OPENSSL_MODULES",
475
+ "OPENSSL_ENGINES",
476
+ "SSH_AUTH_SOCK",
477
+ "SSH_ASKPASS",
478
+ "SSH_ASKPASS_REQUIRE",
479
+ "SSH_SK_HELPER",
480
+ "SSH_SK_PROVIDER",
481
+ "SSH_PKCS11_HELPER",
482
+ "SSH_AGENT_PID",
483
+ "AWS_ENDPOINT_URL",
484
+ "AWS_CA_BUNDLE",
485
+ "AWS_PROFILE",
486
+ "AWS_CONFIG_FILE",
487
+ "AWS_SHARED_CREDENTIALS_FILE",
488
+ "AWS_WEB_IDENTITY_TOKEN_FILE",
489
+ "AWS_CONTAINER_CREDENTIALS_FULL_URI",
490
+ "AWS_ROLE_ARN",
491
+ "AWS_EC2_METADATA_SERVICE_ENDPOINT",
492
+ "AWS_ECR_CACHE_DIR",
493
+ "CONTAINER_HOST",
494
+ "CONTAINER_CONNECTION",
495
+ "CONTAINER_SSHKEY",
496
+ "PODMAN_CONNECTIONS_CONF",
497
+ "CONTAINER_PROXY",
498
+ "CONTAINERS_SSH_CONF",
499
+ "CONTAINERS_CONF",
500
+ "CONTAINERS_CONF_OVERRIDE",
501
+ "CONTAINERS_REGISTRIES_CONF",
502
+ "CONTAINERS_REGISTRIES_CONF_OVERRIDE",
503
+ "REGISTRIES_CONFIG_PATH",
504
+ "CONTAINERS_STORAGE_CONF",
505
+ "CONTAINERS_STORAGE_CONF_OVERRIDE",
506
+ "CONTAINERS_POLICY_JSON",
507
+ "STORAGE_OPTS",
508
+ "CONTAINERS_HELPER_BINARY_DIR",
509
+ "REGISTRY_AUTH_FILE",
510
+ "DBUS_SESSION_BUS_ADDRESS",
511
+ "NOTIFY_SOCKET",
512
+ "XDG_CONFIG_HOME",
513
+ "XDG_RUNTIME_DIR",
514
+ "APPDATA",
515
+ "PROGRAMDATA",
516
+ "PROGRAMFILES",
517
+ "LOCALAPPDATA",
518
+ "SSH",
519
+ "CONTAINERD_ADDRESS",
520
+ "CONTAINERD_NAMESPACE",
521
+ "NERDCTL_TOML",
522
+ "CNI_PATH",
523
+ "NETCONFPATH",
524
+ "ROOTLESSKIT_STATE_DIR",
525
+ "NERDCTL_LOG_FILE",
526
+ "SSL_CERT_FILE",
527
+ "SSL_CERT_DIR",
528
+ "GODEBUG",
529
+ "HTTP_PROXY",
530
+ "HTTPS_PROXY",
531
+ "NO_PROXY",
532
+ "FTP_PROXY",
533
+ "ALL_PROXY"
534
+ ]);
535
+ const DOCKER_CLIENT_ENV_KEYS_UPPER = new Set([...DOCKER_CLIENT_ENV_KEYS].map((k) => k.toUpperCase()));
536
+ const DOCKER_CLIENT_ENV_PREFIXES = [
537
+ "LD_",
538
+ "DYLD_",
539
+ "AWS_ENDPOINT_URL_",
540
+ "CLOUDSDK_",
541
+ "BASH_FUNC_"
542
+ ];
543
+ const DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS = /* @__PURE__ */ new Set(["CLOUDSDK_AUTH_ACCESS_TOKEN"]);
544
+ function isDockerClientEnvKey(key) {
545
+ const upper = key.toUpperCase();
546
+ if (DOCKER_CLIENT_ENV_KEYS_UPPER.has(upper)) return true;
547
+ if (DOCKER_CLIENT_ENV_PREFIX_EXEMPTIONS.has(upper)) return false;
548
+ return DOCKER_CLIENT_ENV_PREFIXES.some((prefix) => upper.startsWith(prefix));
549
+ }
550
+ const WELL_FORMED_ENV_KEY = /^[^=\u0000]+$/;
551
+ function isMalformedEnvKey(key) {
552
+ return !WELL_FORMED_ENV_KEY.test(key);
553
+ }
554
+
555
+ //#endregion
556
+ export { stringifyThrown as C, setEmbedConfig as E, sanitizeServiceExceptionMessage as S, resetEmbedConfig as T, clampErrorName as _, isDockerClientEnvKey as a, flattenToOneLine as b, runDockerStreaming as c, absoluteAssemblyPathEscape as d, assemblyPathEscape as f, resolveAssemblyPath as g, renderAssemblyPathEscape as h, getDockerCmd as i, spawnStreaming as l, namesTheSameDirectory as m, finchSecretArgvRefusal as n, isMalformedEnvKey as o, displayUntrustedValue as p, formatDockerLoginError as r, runDockerForeground as s, docker_cmd_exports as t, warnFinchArgvExposure as u, describeAwsFailureForWarn as v, getEmbedConfig as w, isAwsServiceException as x, describeCredentialLoadFailure as y };
557
+ //# sourceMappingURL=docker-cmd-C2kvSLVs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-cmd-C2kvSLVs.js","names":["createSpinner"],"sources":["../src/local/embed-config.ts","../src/local/credential-error.ts","../src/utils/assembly-path.ts","../src/utils/docker-cmd.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D as resetEmbedConfig, E as getEmbedConfig, O as setEmbedConfig } from "./docker-cmd-leyvDn1u.js";
2
- import { $r as resolveCfnStackName, D as createLocalStartAgentCoreCommand, F as createLocalStartCloudFrontCommand, Gr as substituteEnvVarsFromState, Jr as createLocalStateProvider, Kr as substituteEnvVarsFromStateAsync, Mn as createLocalInvokeCommand, Ot as createLocalStartServiceCommand, Pn as createLocalStartApiCommand, Qr as resolveCfnRegion, St as createLocalStartAlbCommand, T as formatTargetListing, Ur as substituteAgainstState, Wr as substituteAgainstStateAsync, Xr as rejectExplicitCfnStackWithMultipleStacks, Yr as isCfnFlagPresent, Zr as resolveCfnFallbackRegion, a as createLocalStudioCommand, ai as countTargets, ei as CfnLocalStateProvider, jt as createLocalRunTaskCommand, ni as resolveSsmParameters, oi as listTargets, qr as LocalStateSourceError, sn as createLocalInvokeAgentCoreCommand, ti as collectSsmParameterRefs, w as createLocalListCommand } from "./local-studio-U-gD2HSf.js";
1
+ import { E as setEmbedConfig, T as resetEmbedConfig, w as getEmbedConfig } from "./docker-cmd-C2kvSLVs.js";
2
+ import { $r as resolveCfnStackName, D as createLocalStartAgentCoreCommand, F as createLocalStartCloudFrontCommand, Gr as substituteEnvVarsFromState, Jr as createLocalStateProvider, Kr as substituteEnvVarsFromStateAsync, Mn as createLocalInvokeCommand, Ot as createLocalStartServiceCommand, Pn as createLocalStartApiCommand, Qr as resolveCfnRegion, St as createLocalStartAlbCommand, T as formatTargetListing, Ur as substituteAgainstState, Wr as substituteAgainstStateAsync, Xr as rejectExplicitCfnStackWithMultipleStacks, Yr as isCfnFlagPresent, Zr as resolveCfnFallbackRegion, a as createLocalStudioCommand, ai as countTargets, ei as CfnLocalStateProvider, jt as createLocalRunTaskCommand, ni as resolveSsmParameters, oi as listTargets, qr as LocalStateSourceError, sn as createLocalInvokeAgentCoreCommand, ti as collectSsmParameterRefs, w as createLocalListCommand } from "./local-studio-DGJn7XtJ.js";
3
3
 
4
4
  export { CfnLocalStateProvider, LocalStateSourceError, collectSsmParameterRefs, countTargets, createLocalInvokeAgentCoreCommand, createLocalInvokeCommand, createLocalListCommand, createLocalRunTaskCommand, createLocalStartAgentCoreCommand, createLocalStartAlbCommand, createLocalStartApiCommand, createLocalStartCloudFrontCommand, createLocalStartServiceCommand, createLocalStateProvider, createLocalStudioCommand, formatTargetListing, getEmbedConfig, isCfnFlagPresent, listTargets, rejectExplicitCfnStackWithMultipleStacks, resetEmbedConfig, resolveCfnFallbackRegion, resolveCfnRegion, resolveCfnStackName, resolveSsmParameters, setEmbedConfig, substituteAgainstState, substituteAgainstStateAsync, substituteEnvVarsFromState, substituteEnvVarsFromStateAsync };