cdk-local 0.146.2 → 0.147.1
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/README.md +10 -2
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/{docker-cmd-C6h4cSxa.js → docker-cmd-DLX1TqVw.js} +1 -1
- package/dist/{docker-cmd-C6h4cSxa.js.map → docker-cmd-DLX1TqVw.js.map} +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +879 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/{local-studio-Cu4_X0M_.d.ts → local-studio-BBA_8Xvk.d.ts} +2 -880
- package/dist/local-studio-BBA_8Xvk.d.ts.map +1 -0
- package/dist/{local-studio-DHyz2JRw.js → local-studio-BjknISUv.js} +155 -122
- package/dist/local-studio-BjknISUv.js.map +1 -0
- package/package.json +5 -6
- package/dist/local-studio-Cu4_X0M_.d.ts.map +0 -1
- package/dist/local-studio-DHyz2JRw.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-studio-BBA_8Xvk.d.ts","names":[],"sources":["../src/types/resource.ts","../src/types/state.ts","../src/local/state-resolver.ts","../src/local/ssm-parameter-resolver.ts","../src/local/local-state-provider.ts","../src/cli/commands/local-state-source.ts","../src/local/embed-config.ts","../src/synthesis/assembly-reader.ts","../src/local/lambda-resolver.ts","../src/cli/commands/local-invoke.ts","../src/local/intrinsic-image.ts","../src/local/agentcore-ws-client.ts","../src/cli/commands/local-invoke-agentcore.ts","../src/cli/config-loader.ts","../src/local/httpv2-service-integration.ts","../src/local/integration-response-selector.ts","../src/local/rest-v1-integrations.ts","../src/local/route-discovery.ts","../src/local/websocket-route-discovery.ts","../src/local/authorizer-resolver.ts","../src/cli/commands/local-start-api.ts","../src/local/ecs-task-resolver.ts","../src/cli/commands/local-run-task.ts","../src/utils/error-handler.ts","../src/local/target-lister.ts","../src/local/ecs-service-runner.ts","../src/local/alb-path-matcher.ts","../src/local/elb-front-door-resolver.ts","../src/cli/commands/ecs-service-emulator.ts","../src/cli/commands/local-start-service.ts","../src/cli/commands/local-start-alb.ts","../src/cli/commands/local-start-cloudfront.ts","../src/cli/commands/local-start-agentcore.ts","../src/cli/commands/local-list.ts","../src/local/studio-events.ts","../src/local/studio-child-args.ts","../src/local/studio-option-specs.ts","../src/local/studio-option-catalog.ts","../src/local/studio-dispatch.ts","../src/local/studio-proxy.ts","../src/local/studio-serve-manager.ts","../src/cli/commands/local-studio.ts"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as runDockerStreaming, c as resolveConfiguredLogLevel, d as setEmbedConfig, i as runDockerForeground, l as getEmbedConfig, n as formatDockerLoginError, o as spawnStreaming, r as getDockerCmd, s as getLogger } from "./docker-cmd-
|
|
1
|
+
import { a as runDockerStreaming, c as resolveConfiguredLogLevel, d as setEmbedConfig, i as runDockerForeground, l as getEmbedConfig, n as formatDockerLoginError, o as spawnStreaming, r as getDockerCmd, s as getLogger } from "./docker-cmd-DLX1TqVw.js";
|
|
2
2
|
import { chmodSync, cpSync, createWriteStream, existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, rmSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { homedir, tmpdir } from "node:os";
|
|
4
4
|
import * as path$1 from "node:path";
|
|
@@ -231,6 +231,48 @@ function buildStsClientConfig(args) {
|
|
|
231
231
|
//#endregion
|
|
232
232
|
//#region src/utils/role-arn.ts
|
|
233
233
|
/**
|
|
234
|
+
* Issue an STS AssumeRole for `roleArn` and return the temporary
|
|
235
|
+
* credentials (issue #509).
|
|
236
|
+
*
|
|
237
|
+
* This is the single shared implementation behind every command's
|
|
238
|
+
* `--assume-role` / `--assume-task-role` path (`cdkl invoke`,
|
|
239
|
+
* `start-api`, `run-task`, and the `start-service` / `start-alb`
|
|
240
|
+
* emulator) — each previously carried its own near-identical copy,
|
|
241
|
+
* which kept credential-minting logic OFF this module (the one
|
|
242
|
+
* `/review-pr`'s up-bias security surface lists) and duplicated the
|
|
243
|
+
* issue #245 `--profile` threading fix four times.
|
|
244
|
+
*
|
|
245
|
+
* `sessionNameSuffix` distinguishes the callers in CloudTrail
|
|
246
|
+
* (`<resourceNamePrefix>-<suffix>-<epochMs>`). `makeError` lets a
|
|
247
|
+
* caller surface the no-usable-credentials failure as its own error
|
|
248
|
+
* class (the ECS emulator throws `LocalStartServiceError`); STS
|
|
249
|
+
* transport errors always propagate unwrapped.
|
|
250
|
+
*/
|
|
251
|
+
async function assumeRoleCredentials(opts) {
|
|
252
|
+
const sts = new STSClient(buildStsClientConfig({
|
|
253
|
+
region: opts.region,
|
|
254
|
+
profile: opts.profile
|
|
255
|
+
}));
|
|
256
|
+
try {
|
|
257
|
+
const creds = (await sts.send(new AssumeRoleCommand({
|
|
258
|
+
RoleArn: opts.roleArn,
|
|
259
|
+
RoleSessionName: `${getEmbedConfig().resourceNamePrefix}-${opts.sessionNameSuffix}-${Date.now()}`,
|
|
260
|
+
DurationSeconds: 3600
|
|
261
|
+
}))).Credentials;
|
|
262
|
+
if (!creds?.AccessKeyId || !creds.SecretAccessKey || !creds.SessionToken) {
|
|
263
|
+
const message = `AssumeRole(${opts.roleArn}) returned no usable credentials.`;
|
|
264
|
+
throw opts.makeError ? opts.makeError(message) : new Error(message);
|
|
265
|
+
}
|
|
266
|
+
return {
|
|
267
|
+
accessKeyId: creds.AccessKeyId,
|
|
268
|
+
secretAccessKey: creds.SecretAccessKey,
|
|
269
|
+
sessionToken: creds.SessionToken
|
|
270
|
+
};
|
|
271
|
+
} finally {
|
|
272
|
+
sts.destroy();
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
234
276
|
* Resolve the role-arn argument (CLI flag or `CDKL_ROLE_ARN` env var) and,
|
|
235
277
|
* when set, assume the role and write the resulting temporary credentials
|
|
236
278
|
* into `AWS_ACCESS_KEY_ID` / `AWS_SECRET_ACCESS_KEY` / `AWS_SESSION_TOKEN`
|
|
@@ -1546,7 +1588,8 @@ function matchRuntime(parsed, target, stack, resources) {
|
|
|
1546
1588
|
}
|
|
1547
1589
|
function notFoundError$2(target, stack, resources) {
|
|
1548
1590
|
const available = Object.entries(resources).filter(([, r]) => r.Type === AGENTCORE_RUNTIME_TYPE).map(([id]) => id);
|
|
1549
|
-
|
|
1591
|
+
const hint = available.length > 0 ? `Available AgentCore Runtimes in ${stack.stackName}: ${available.join(", ")}.` : `No ${AGENTCORE_RUNTIME_TYPE} resources found in ${stack.stackName}.`;
|
|
1592
|
+
return new AgentCoreResolutionError(`Target '${target}' not found. ${hint}`);
|
|
1550
1593
|
}
|
|
1551
1594
|
/** Pull the runtime properties `cdkl invoke-agentcore` cares about. */
|
|
1552
1595
|
function extractRuntimeProperties(stack, logicalId, resource, resources, imageContext) {
|
|
@@ -7284,7 +7327,7 @@ async function runDetached(opts) {
|
|
|
7284
7327
|
const ro = mount.readOnly ? ":ro" : "";
|
|
7285
7328
|
args.push("-v", `${mount.hostPath}:${mount.containerPath}${ro}`);
|
|
7286
7329
|
}
|
|
7287
|
-
const sensitiveKeys = opts.sensitiveEnvKeys && opts.sensitiveEnvKeys.size > 0 ? new Set([...SENSITIVE_ENV_KEYS, ...opts.sensitiveEnvKeys]) : SENSITIVE_ENV_KEYS;
|
|
7330
|
+
const sensitiveKeys = opts.sensitiveEnvKeys && opts.sensitiveEnvKeys.size > 0 ? /* @__PURE__ */ new Set([...SENSITIVE_ENV_KEYS, ...opts.sensitiveEnvKeys]) : SENSITIVE_ENV_KEYS;
|
|
7288
7331
|
const passthroughEnv = appendEnvFlags(args, opts.env, sensitiveKeys);
|
|
7289
7332
|
if (opts.tmpfs) args.push("--tmpfs", `${opts.tmpfs.target}:rw,size=${opts.tmpfs.sizeMb}m`);
|
|
7290
7333
|
if (opts.workingDir) args.push("--workdir", opts.workingDir);
|
|
@@ -7401,7 +7444,7 @@ function pickFreePort() {
|
|
|
7401
7444
|
* {@link redactAwsCredentialsInArgs} as a defense for any path that
|
|
7402
7445
|
* still emits the inline `-e <KEY>=<value>` form into the debug log.
|
|
7403
7446
|
*/
|
|
7404
|
-
const SENSITIVE_ENV_KEYS = new Set([
|
|
7447
|
+
const SENSITIVE_ENV_KEYS = /* @__PURE__ */ new Set([
|
|
7405
7448
|
"AWS_ACCESS_KEY_ID",
|
|
7406
7449
|
"AWS_SECRET_ACCESS_KEY",
|
|
7407
7450
|
"AWS_SESSION_TOKEN"
|
|
@@ -9290,7 +9333,7 @@ var VtlEvaluator = class {
|
|
|
9290
9333
|
const endIdx = this.skipDirectiveTrailingNewline(block, cursor + 1 + tag.length);
|
|
9291
9334
|
const items = this.coerceToIterable(listValue);
|
|
9292
9335
|
for (const item of items) {
|
|
9293
|
-
this.scopes.push(new Map([[varName, item]]));
|
|
9336
|
+
this.scopes.push(/* @__PURE__ */ new Map([[varName, item]]));
|
|
9294
9337
|
try {
|
|
9295
9338
|
this.renderBlock(block.slice(bodyStart, bodyEnd));
|
|
9296
9339
|
} finally {
|
|
@@ -16594,7 +16637,7 @@ async function buildContainerSpec(args) {
|
|
|
16594
16637
|
stateBundle
|
|
16595
16638
|
});
|
|
16596
16639
|
if (roleArn) {
|
|
16597
|
-
const creds = await assumeLambdaExecutionRole
|
|
16640
|
+
const creds = await assumeLambdaExecutionRole(roleArn, stsRegion, profile);
|
|
16598
16641
|
dockerEnv["AWS_ACCESS_KEY_ID"] = creds.accessKeyId;
|
|
16599
16642
|
dockerEnv["AWS_SECRET_ACCESS_KEY"] = creds.secretAccessKey;
|
|
16600
16643
|
dockerEnv["AWS_SESSION_TOKEN"] = creds.sessionToken;
|
|
@@ -17033,31 +17076,18 @@ function resolveContainerFallbackRegion(args) {
|
|
|
17033
17076
|
return args.stackRegionOverride ?? args.synthRegion ?? args.profileRegion;
|
|
17034
17077
|
}
|
|
17035
17078
|
/**
|
|
17036
|
-
* Issue an STS AssumeRole and return temporary credentials
|
|
17037
|
-
*
|
|
17038
|
-
*
|
|
17079
|
+
* Issue an STS AssumeRole and return temporary credentials, via the
|
|
17080
|
+
* shared `assumeRoleCredentials` helper in `utils/role-arn.ts`
|
|
17081
|
+
* (issue #509 — previously a byte-for-byte copy of `cdkl invoke`'s
|
|
17082
|
+
* inline helper).
|
|
17039
17083
|
*/
|
|
17040
|
-
async function assumeLambdaExecutionRole
|
|
17041
|
-
|
|
17042
|
-
|
|
17084
|
+
async function assumeLambdaExecutionRole(roleArn, region, profile) {
|
|
17085
|
+
return assumeRoleCredentials({
|
|
17086
|
+
roleArn,
|
|
17043
17087
|
region,
|
|
17044
|
-
profile
|
|
17045
|
-
|
|
17046
|
-
|
|
17047
|
-
const creds = (await sts.send(new AssumeRoleCommand({
|
|
17048
|
-
RoleArn: roleArn,
|
|
17049
|
-
RoleSessionName: `${getEmbedConfig().resourceNamePrefix}-start-api-${Date.now()}`,
|
|
17050
|
-
DurationSeconds: 3600
|
|
17051
|
-
}))).Credentials;
|
|
17052
|
-
if (!creds?.AccessKeyId || !creds.SecretAccessKey || !creds.SessionToken) throw new Error(`AssumeRole(${roleArn}) returned no usable credentials.`);
|
|
17053
|
-
return {
|
|
17054
|
-
accessKeyId: creds.AccessKeyId,
|
|
17055
|
-
secretAccessKey: creds.SecretAccessKey,
|
|
17056
|
-
sessionToken: creds.SessionToken
|
|
17057
|
-
};
|
|
17058
|
-
} finally {
|
|
17059
|
-
sts.destroy();
|
|
17060
|
-
}
|
|
17088
|
+
profile,
|
|
17089
|
+
sessionNameSuffix: "start-api"
|
|
17090
|
+
});
|
|
17061
17091
|
}
|
|
17062
17092
|
/**
|
|
17063
17093
|
* Parse / clamp the `--per-lambda-concurrency` flag. Above-cap values
|
|
@@ -17817,28 +17847,6 @@ async function readStdin$1() {
|
|
|
17817
17847
|
for await (const chunk of process.stdin) chunks.push(typeof chunk === "string" ? Buffer.from(chunk) : chunk);
|
|
17818
17848
|
return Buffer.concat(chunks).toString("utf-8");
|
|
17819
17849
|
}
|
|
17820
|
-
async function assumeLambdaExecutionRole(roleArn, region, profile) {
|
|
17821
|
-
const { STSClient, AssumeRoleCommand } = await import("@aws-sdk/client-sts");
|
|
17822
|
-
const sts = new STSClient(buildStsClientConfig({
|
|
17823
|
-
region,
|
|
17824
|
-
profile
|
|
17825
|
-
}));
|
|
17826
|
-
try {
|
|
17827
|
-
const creds = (await sts.send(new AssumeRoleCommand({
|
|
17828
|
-
RoleArn: roleArn,
|
|
17829
|
-
RoleSessionName: `${getEmbedConfig().resourceNamePrefix}-invoke-${Date.now()}`,
|
|
17830
|
-
DurationSeconds: 3600
|
|
17831
|
-
}))).Credentials;
|
|
17832
|
-
if (!creds?.AccessKeyId || !creds.SecretAccessKey || !creds.SessionToken) throw new Error(`AssumeRole(${roleArn}) returned no usable credentials.`);
|
|
17833
|
-
return {
|
|
17834
|
-
accessKeyId: creds.AccessKeyId,
|
|
17835
|
-
secretAccessKey: creds.SecretAccessKey,
|
|
17836
|
-
sessionToken: creds.SessionToken
|
|
17837
|
-
};
|
|
17838
|
-
} finally {
|
|
17839
|
-
sts.destroy();
|
|
17840
|
-
}
|
|
17841
|
-
}
|
|
17842
17850
|
function forwardAwsEnv$2(env) {
|
|
17843
17851
|
for (const key of [
|
|
17844
17852
|
"AWS_ACCESS_KEY_ID",
|
|
@@ -17964,7 +17972,12 @@ async function resolveLambdaContainerEnv(lambda, options, profileCredentials, ex
|
|
|
17964
17972
|
if (resolvedAssumeRoleArn) {
|
|
17965
17973
|
const stsRegion = options.region ?? process.env["AWS_REGION"] ?? process.env["AWS_DEFAULT_REGION"];
|
|
17966
17974
|
try {
|
|
17967
|
-
const creds = await
|
|
17975
|
+
const creds = await assumeRoleCredentials({
|
|
17976
|
+
roleArn: resolvedAssumeRoleArn,
|
|
17977
|
+
region: stsRegion,
|
|
17978
|
+
profile: options.profile,
|
|
17979
|
+
sessionNameSuffix: "invoke"
|
|
17980
|
+
});
|
|
17968
17981
|
dockerEnv["AWS_ACCESS_KEY_ID"] = creds.accessKeyId;
|
|
17969
17982
|
dockerEnv["AWS_SECRET_ACCESS_KEY"] = creds.secretAccessKey;
|
|
17970
17983
|
dockerEnv["AWS_SESSION_TOKEN"] = creds.sessionToken;
|
|
@@ -18117,7 +18130,7 @@ function addInvokeSpecificOptions(cmd) {
|
|
|
18117
18130
|
* (Maven, Gradle). Adding a new ecosystem? Append its lockfile +
|
|
18118
18131
|
* manifest here and add a classifier test row.
|
|
18119
18132
|
*/
|
|
18120
|
-
const REBUILD_TRIGGER_BASENAMES = new Set([
|
|
18133
|
+
const REBUILD_TRIGGER_BASENAMES = /* @__PURE__ */ new Set([
|
|
18121
18134
|
"package.json",
|
|
18122
18135
|
"package-lock.json",
|
|
18123
18136
|
"pnpm-lock.yaml",
|
|
@@ -18167,7 +18180,7 @@ const REBUILD_TRIGGER_BASENAMES = new Set([
|
|
|
18167
18180
|
* start, so a `docker cp` + `docker restart` cycle picks them up.
|
|
18168
18181
|
* Those extensions are NOT in this set.
|
|
18169
18182
|
*/
|
|
18170
|
-
const COMPILED_LANGUAGE_EXTENSIONS = new Set([
|
|
18183
|
+
const COMPILED_LANGUAGE_EXTENSIONS = /* @__PURE__ */ new Set([
|
|
18171
18184
|
".go",
|
|
18172
18185
|
".rs",
|
|
18173
18186
|
".java",
|
|
@@ -21647,7 +21660,7 @@ function buildDockerRunArgs(opts) {
|
|
|
21647
21660
|
args.push("--network", network);
|
|
21648
21661
|
args.push("--network-alias", container.name);
|
|
21649
21662
|
if (opts.networkAliases && opts.networkAliases.length > 0) {
|
|
21650
|
-
const seen = new Set([container.name]);
|
|
21663
|
+
const seen = /* @__PURE__ */ new Set([container.name]);
|
|
21651
21664
|
for (const a of opts.networkAliases) if (!seen.has(a)) {
|
|
21652
21665
|
args.push("--network-alias", a);
|
|
21653
21666
|
seen.add(a);
|
|
@@ -22919,7 +22932,7 @@ async function softReloadReplica(args) {
|
|
|
22919
22932
|
const defaultDockerInspectWorkdirImpl = async (containerId) => {
|
|
22920
22933
|
const { execFile } = await import("node:child_process");
|
|
22921
22934
|
const { promisify } = await import("node:util");
|
|
22922
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
22935
|
+
const { getDockerCmd } = await import("./docker-cmd-DLX1TqVw.js").then((n) => n.t);
|
|
22923
22936
|
const { stdout } = await promisify(execFile)(getDockerCmd(), [
|
|
22924
22937
|
"inspect",
|
|
22925
22938
|
"--format",
|
|
@@ -22938,7 +22951,7 @@ let dockerInspectWorkdirImpl = defaultDockerInspectWorkdirImpl;
|
|
|
22938
22951
|
const defaultDockerCpImpl = async (src, dst) => {
|
|
22939
22952
|
const { execFile } = await import("node:child_process");
|
|
22940
22953
|
const { promisify } = await import("node:util");
|
|
22941
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
22954
|
+
const { getDockerCmd } = await import("./docker-cmd-DLX1TqVw.js").then((n) => n.t);
|
|
22942
22955
|
await promisify(execFile)(getDockerCmd(), [
|
|
22943
22956
|
"cp",
|
|
22944
22957
|
src,
|
|
@@ -22953,7 +22966,7 @@ let dockerCpImpl = defaultDockerCpImpl;
|
|
|
22953
22966
|
const defaultDockerRestartImpl = async (containerId) => {
|
|
22954
22967
|
const { execFile } = await import("node:child_process");
|
|
22955
22968
|
const { promisify } = await import("node:util");
|
|
22956
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
22969
|
+
const { getDockerCmd } = await import("./docker-cmd-DLX1TqVw.js").then((n) => n.t);
|
|
22957
22970
|
await promisify(execFile)(getDockerCmd(), ["restart", containerId]);
|
|
22958
22971
|
};
|
|
22959
22972
|
let dockerRestartImpl = defaultDockerRestartImpl;
|
|
@@ -22993,7 +23006,7 @@ async function disconnectOldFromSharedNetwork(oldInstance) {
|
|
|
22993
23006
|
const defaultDockerNetworkDisconnectImpl = async (networkName, containerId) => {
|
|
22994
23007
|
const { execFile } = await import("node:child_process");
|
|
22995
23008
|
const { promisify } = await import("node:util");
|
|
22996
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
23009
|
+
const { getDockerCmd } = await import("./docker-cmd-DLX1TqVw.js").then((n) => n.t);
|
|
22997
23010
|
await promisify(execFile)(getDockerCmd(), [
|
|
22998
23011
|
"network",
|
|
22999
23012
|
"disconnect",
|
|
@@ -23170,7 +23183,7 @@ function pickEssentialContainerId(instance, service) {
|
|
|
23170
23183
|
const defaultWaitForExitImpl = async (containerId) => {
|
|
23171
23184
|
const { execFile } = await import("node:child_process");
|
|
23172
23185
|
const { promisify } = await import("node:util");
|
|
23173
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
23186
|
+
const { getDockerCmd } = await import("./docker-cmd-DLX1TqVw.js").then((n) => n.t);
|
|
23174
23187
|
const { stdout } = await promisify(execFile)(getDockerCmd(), ["wait", containerId], { maxBuffer: 1024 * 1024 });
|
|
23175
23188
|
const code = parseInt(stdout.trim(), 10);
|
|
23176
23189
|
return Number.isFinite(code) ? code : -1;
|
|
@@ -23190,7 +23203,7 @@ const EXIT_LOG_TAIL_LINES = 50;
|
|
|
23190
23203
|
const defaultReadContainerLogsImpl = async (containerId) => {
|
|
23191
23204
|
const { execFile } = await import("node:child_process");
|
|
23192
23205
|
const { promisify } = await import("node:util");
|
|
23193
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
23206
|
+
const { getDockerCmd } = await import("./docker-cmd-DLX1TqVw.js").then((n) => n.t);
|
|
23194
23207
|
const { stdout, stderr } = await promisify(execFile)(getDockerCmd(), [
|
|
23195
23208
|
"logs",
|
|
23196
23209
|
"--tail",
|
|
@@ -24683,7 +24696,7 @@ function parseIpAddress(ip) {
|
|
|
24683
24696
|
function parseIpv4(ip) {
|
|
24684
24697
|
const parts = ip.split(".");
|
|
24685
24698
|
if (parts.length !== 4) return void 0;
|
|
24686
|
-
const bytes = new Uint8Array(4);
|
|
24699
|
+
const bytes = /* @__PURE__ */ new Uint8Array(4);
|
|
24687
24700
|
for (let i = 0; i < 4; i++) {
|
|
24688
24701
|
const part = parts[i];
|
|
24689
24702
|
if (!/^\d+$/.test(part)) return void 0;
|
|
@@ -24734,7 +24747,7 @@ function parseIpv6(ip) {
|
|
|
24734
24747
|
if (g === void 0) return void 0;
|
|
24735
24748
|
groups[7 - i] = g;
|
|
24736
24749
|
}
|
|
24737
|
-
const bytes = new Uint8Array(16);
|
|
24750
|
+
const bytes = /* @__PURE__ */ new Uint8Array(16);
|
|
24738
24751
|
for (let i = 0; i < 8; i++) {
|
|
24739
24752
|
bytes[i * 2] = groups[i] >> 8 & 255;
|
|
24740
24753
|
bytes[i * 2 + 1] = groups[i] & 255;
|
|
@@ -25666,7 +25679,7 @@ async function promptForOverridePath(args) {
|
|
|
25666
25679
|
* a `dist/` somewhere in a sub-tree (e.g. `packages/foo/dist/`) is also
|
|
25667
25680
|
* skipped by name match.
|
|
25668
25681
|
*/
|
|
25669
|
-
const DOCKERFILE_SCAN_IGNORED_DIRS = new Set([
|
|
25682
|
+
const DOCKERFILE_SCAN_IGNORED_DIRS = /* @__PURE__ */ new Set([
|
|
25670
25683
|
"node_modules",
|
|
25671
25684
|
".git",
|
|
25672
25685
|
"cdk.out",
|
|
@@ -26240,7 +26253,7 @@ async function reloadAllServices(args) {
|
|
|
26240
26253
|
}
|
|
26241
26254
|
const imageOverrideTags = new Map(boottimeImageOverrideTags);
|
|
26242
26255
|
for (const [target, entry] of imageOverrideMap.entries()) try {
|
|
26243
|
-
const newTag = (await runImageOverrideBuilds(new Map([[target, entry]]))).get(target);
|
|
26256
|
+
const newTag = (await runImageOverrideBuilds(/* @__PURE__ */ new Map([[target, entry]]))).get(target);
|
|
26244
26257
|
if (newTag !== void 0) imageOverrideTags.set(target, newTag);
|
|
26245
26258
|
} catch (err) {
|
|
26246
26259
|
logger.warn(`Reload of '${target}': --image-override rebuild failed; keeping the previous local image. (${err instanceof Error ? err.message : String(err)})`);
|
|
@@ -26552,7 +26565,7 @@ async function resolveServiceAndRunnerOpts(boot, stacks, options, discovery, ski
|
|
|
26552
26565
|
if (hostGatewayExtraHosts.length > 0) taskOpts.hostGatewayExtraHosts = hostGatewayExtraHosts;
|
|
26553
26566
|
if (opts.imageOverrideTag !== void 0) {
|
|
26554
26567
|
const essential = service.task.containers.find((c) => c.essential) ?? service.task.containers[0];
|
|
26555
|
-
if (essential) taskOpts.imageOverrideByContainer = new Map([[essential.name, opts.imageOverrideTag]]);
|
|
26568
|
+
if (essential) taskOpts.imageOverrideByContainer = /* @__PURE__ */ new Map([[essential.name, opts.imageOverrideTag]]);
|
|
26556
26569
|
}
|
|
26557
26570
|
return {
|
|
26558
26571
|
service,
|
|
@@ -26903,26 +26916,13 @@ async function resolvePlaceholderAccount$1(arn, region, profile) {
|
|
|
26903
26916
|
}
|
|
26904
26917
|
}
|
|
26905
26918
|
async function assumeTaskRole$1(roleArn, region, profile) {
|
|
26906
|
-
|
|
26907
|
-
|
|
26919
|
+
return assumeRoleCredentials({
|
|
26920
|
+
roleArn,
|
|
26908
26921
|
region,
|
|
26909
|
-
profile
|
|
26910
|
-
|
|
26911
|
-
|
|
26912
|
-
|
|
26913
|
-
RoleArn: roleArn,
|
|
26914
|
-
RoleSessionName: `${getEmbedConfig().resourceNamePrefix}-start-service-${Date.now()}`,
|
|
26915
|
-
DurationSeconds: 3600
|
|
26916
|
-
}))).Credentials;
|
|
26917
|
-
if (!creds?.AccessKeyId || !creds.SecretAccessKey || !creds.SessionToken) throw new LocalStartServiceError(`AssumeRole(${roleArn}) returned no usable credentials.`);
|
|
26918
|
-
return {
|
|
26919
|
-
accessKeyId: creds.AccessKeyId,
|
|
26920
|
-
secretAccessKey: creds.SecretAccessKey,
|
|
26921
|
-
sessionToken: creds.SessionToken
|
|
26922
|
-
};
|
|
26923
|
-
} finally {
|
|
26924
|
-
sts.destroy();
|
|
26925
|
-
}
|
|
26922
|
+
profile,
|
|
26923
|
+
sessionNameSuffix: "start-service",
|
|
26924
|
+
makeError: (message) => new LocalStartServiceError(message)
|
|
26925
|
+
});
|
|
26926
26926
|
}
|
|
26927
26927
|
/**
|
|
26928
26928
|
* Build the substitution context the ECS resolver consumes. Exported for the
|
|
@@ -27481,26 +27481,12 @@ async function resolvePlaceholderAccount(arn, region, profile) {
|
|
|
27481
27481
|
* Assume `roleArn` and return temp credentials.
|
|
27482
27482
|
*/
|
|
27483
27483
|
async function assumeTaskRole(roleArn, region, profile) {
|
|
27484
|
-
|
|
27485
|
-
|
|
27484
|
+
return assumeRoleCredentials({
|
|
27485
|
+
roleArn,
|
|
27486
27486
|
region,
|
|
27487
|
-
profile
|
|
27488
|
-
|
|
27489
|
-
|
|
27490
|
-
const creds = (await sts.send(new AssumeRoleCommand({
|
|
27491
|
-
RoleArn: roleArn,
|
|
27492
|
-
RoleSessionName: `${getEmbedConfig().resourceNamePrefix}-run-task-${Date.now()}`,
|
|
27493
|
-
DurationSeconds: 3600
|
|
27494
|
-
}))).Credentials;
|
|
27495
|
-
if (!creds?.AccessKeyId || !creds.SecretAccessKey || !creds.SessionToken) throw new Error(`AssumeRole(${roleArn}) returned no usable credentials.`);
|
|
27496
|
-
return {
|
|
27497
|
-
accessKeyId: creds.AccessKeyId,
|
|
27498
|
-
secretAccessKey: creds.SecretAccessKey,
|
|
27499
|
-
sessionToken: creds.SessionToken
|
|
27500
|
-
};
|
|
27501
|
-
} finally {
|
|
27502
|
-
sts.destroy();
|
|
27503
|
-
}
|
|
27487
|
+
profile,
|
|
27488
|
+
sessionNameSuffix: "run-task"
|
|
27489
|
+
});
|
|
27504
27490
|
}
|
|
27505
27491
|
/**
|
|
27506
27492
|
* Build the substitution context the ECS task resolver consumes.
|
|
@@ -27677,7 +27663,7 @@ async function resolveRunTaskImageOverride(args) {
|
|
|
27677
27663
|
if (options.strictOverrides === true && uncovered.length > 0) throw new Error("--strict-overrides set, but the task definition image is pinned to a deployed registry and no --image-override covered it. Pass --image-override <dockerfile> to rebuild it from local source, or drop --strict-overrides / --from-cfn-stack to run the pinned image as-is.");
|
|
27678
27664
|
if (overrides.size === 0) return { pinnedUncovered: pinned };
|
|
27679
27665
|
const tag = (await runImageOverrideBuilds(overrides)).get(target);
|
|
27680
|
-
if (tag !== void 0 && essential !== void 0) return { imageOverrideByContainer: new Map([[essential.name, tag]]) };
|
|
27666
|
+
if (tag !== void 0 && essential !== void 0) return { imageOverrideByContainer: /* @__PURE__ */ new Map([[essential.name, tag]]) };
|
|
27681
27667
|
return { pinnedUncovered: pinned && uncovered.length > 0 };
|
|
27682
27668
|
}
|
|
27683
27669
|
function addRunTaskSpecificOptions(cmd) {
|
|
@@ -29504,7 +29490,7 @@ function edgeHeadersToHttp(headers) {
|
|
|
29504
29490
|
* Headers a Lambda@Edge function is not allowed to add/modify on a response (a
|
|
29505
29491
|
* subset CloudFront blackholes). We drop them rather than fail the response.
|
|
29506
29492
|
*/
|
|
29507
|
-
const READ_ONLY_RESPONSE_HEADERS = new Set([
|
|
29493
|
+
const READ_ONLY_RESPONSE_HEADERS = /* @__PURE__ */ new Set([
|
|
29508
29494
|
"connection",
|
|
29509
29495
|
"content-length",
|
|
29510
29496
|
"keep-alive",
|
|
@@ -29908,7 +29894,8 @@ const MIME_BY_EXT = {
|
|
|
29908
29894
|
function contentTypeForKey(key) {
|
|
29909
29895
|
const dot = key.lastIndexOf(".");
|
|
29910
29896
|
if (dot === -1 || dot === key.length - 1) return "application/octet-stream";
|
|
29911
|
-
|
|
29897
|
+
const ext = key.slice(dot + 1).toLowerCase();
|
|
29898
|
+
return MIME_BY_EXT[ext] ?? "application/octet-stream";
|
|
29912
29899
|
}
|
|
29913
29900
|
|
|
29914
29901
|
//#endregion
|
|
@@ -32402,7 +32389,7 @@ function resolveEnvVars(kind, values) {
|
|
|
32402
32389
|
* catalog so a user does not re-specify them per-run and collide with the
|
|
32403
32390
|
* session-wide value. Plus the Commander-managed `--help` / `--version`.
|
|
32404
32391
|
*/
|
|
32405
|
-
const CATALOG_EXCLUDED_FLAGS = new Set([
|
|
32392
|
+
const CATALOG_EXCLUDED_FLAGS = /* @__PURE__ */ new Set([
|
|
32406
32393
|
"--app",
|
|
32407
32394
|
"--profile",
|
|
32408
32395
|
"--region",
|
|
@@ -32441,7 +32428,7 @@ const CATALOG_EXCLUDED_FLAGS = new Set([
|
|
|
32441
32428
|
* secrets / a target stage, so they get a control (variadic → one value per
|
|
32442
32429
|
* control; the raw-args box remains for multiple).
|
|
32443
32430
|
*/
|
|
32444
|
-
const CATALOG_MANAGED_FLAGS = new Set([
|
|
32431
|
+
const CATALOG_MANAGED_FLAGS = /* @__PURE__ */ new Set([
|
|
32445
32432
|
"--event",
|
|
32446
32433
|
"--response-file",
|
|
32447
32434
|
"--host",
|
|
@@ -33506,6 +33493,26 @@ const STUDIO_SCRIPT = `
|
|
|
33506
33493
|
};
|
|
33507
33494
|
}
|
|
33508
33495
|
|
|
33496
|
+
// Shown for an ecs / ecs-task target whose image-pin status could not be
|
|
33497
|
+
// classified because --from-cfn-stack is unbound (likely an INTRINSIC-ECR
|
|
33498
|
+
// image, e.g. ContainerImage.fromEcrRepository). The terminal boot WARN says
|
|
33499
|
+
// the same thing, but a browser-only user never sees it, so surface the
|
|
33500
|
+
// Session-bar remedy in the composer where the Dockerfile picker would be.
|
|
33501
|
+
function buildPinUnresolvedHint() {
|
|
33502
|
+
const sec = el('div', 'section options image-override');
|
|
33503
|
+
sec.appendChild(el('h3', null, 'Image override unavailable'));
|
|
33504
|
+
sec.appendChild(
|
|
33505
|
+
el(
|
|
33506
|
+
'div',
|
|
33507
|
+
'opt-hint io-hint',
|
|
33508
|
+
'This image could not be classified without deployed state. If it is pinned to a deployed ' +
|
|
33509
|
+
'registry (e.g. ContainerImage.fromEcrRepository), set --from-cfn-stack in the Session bar ' +
|
|
33510
|
+
'so studio can resolve it and offer a Dockerfile picker to rebuild it locally.'
|
|
33511
|
+
)
|
|
33512
|
+
);
|
|
33513
|
+
return sec;
|
|
33514
|
+
}
|
|
33515
|
+
|
|
33509
33516
|
// Per-backing-service image-override pickers for a pinned ALB (issue #384):
|
|
33510
33517
|
// one Dockerfile select per deployed-registry-pinned service the ALB fronts.
|
|
33511
33518
|
// collect() returns a { [serviceId]: dockerfile } map threaded as
|
|
@@ -33702,6 +33709,7 @@ const STUDIO_SCRIPT = `
|
|
|
33702
33709
|
btnSlot,
|
|
33703
33710
|
kind: group.kind,
|
|
33704
33711
|
pinned: entry.pinned === true,
|
|
33712
|
+
pinUnresolved: entry.pinUnresolved === true,
|
|
33705
33713
|
backingPinnedServices: entry.backingPinnedServices || [],
|
|
33706
33714
|
agentCoreHasWs: entry.agentCoreHasWs === true,
|
|
33707
33715
|
agentCoreContractPath: entry.agentCoreContractPath || null,
|
|
@@ -34075,6 +34083,15 @@ const STUDIO_SCRIPT = `
|
|
|
34075
34083
|
const io = buildImageOverridePicker(applied && applied.imageOverride);
|
|
34076
34084
|
ws.appendChild(io.node);
|
|
34077
34085
|
collectImageOverride = io.collect;
|
|
34086
|
+
} else if (
|
|
34087
|
+
meta &&
|
|
34088
|
+
(meta.kind === 'ecs' || meta.kind === 'ecs-task') &&
|
|
34089
|
+
meta.pinUnresolved
|
|
34090
|
+
) {
|
|
34091
|
+
// Could not classify the image-pin status (no --from-cfn-stack); hint
|
|
34092
|
+
// at the Session-bar remedy instead of a Dockerfile picker (the
|
|
34093
|
+
// terminal-only #484 WARN never reaches a browser-only user).
|
|
34094
|
+
ws.appendChild(buildPinUnresolvedHint());
|
|
34078
34095
|
}
|
|
34079
34096
|
// An ALB boots its backing ECS services (issue #384); a pinned backing
|
|
34080
34097
|
// service has the same "local edits do not take effect" problem, so offer
|
|
@@ -35313,6 +35330,8 @@ function renderStudioHtml(appLabel, cliName) {
|
|
|
35313
35330
|
const safeApp = escapeHtml(appLabel);
|
|
35314
35331
|
const safeCli = escapeHtml(cliName);
|
|
35315
35332
|
const brand = cliName === "cdkl" ? "CDK Local Studio" : `${safeCli} studio`;
|
|
35333
|
+
const optionSpecsJson = JSON.stringify(OPTION_SPECS).replace(/</g, "\\u003c");
|
|
35334
|
+
const flagCatalogJson = JSON.stringify(buildFlagCatalog()).replace(/</g, "\\u003c");
|
|
35316
35335
|
return `<!doctype html>
|
|
35317
35336
|
<html lang="en">
|
|
35318
35337
|
<head>
|
|
@@ -35353,8 +35372,8 @@ function renderStudioHtml(appLabel, cliName) {
|
|
|
35353
35372
|
<div id="log-results"></div>
|
|
35354
35373
|
</section>
|
|
35355
35374
|
</main>
|
|
35356
|
-
<script>window.__OPTION_SPECS__ = ${
|
|
35357
|
-
<script>window.__FLAG_CATALOG__ = ${
|
|
35375
|
+
<script>window.__OPTION_SPECS__ = ${optionSpecsJson};<\/script>
|
|
35376
|
+
<script>window.__FLAG_CATALOG__ = ${flagCatalogJson};<\/script>
|
|
35358
35377
|
<script>${STUDIO_SCRIPT}<\/script>
|
|
35359
35378
|
</body>
|
|
35360
35379
|
</html>`;
|
|
@@ -36208,7 +36227,7 @@ function tryParseJson(raw) {
|
|
|
36208
36227
|
* re-sent client-side through the request composer + the live front door
|
|
36209
36228
|
* (issue #322), not re-dispatched here, so the proxy still captures it.
|
|
36210
36229
|
*/
|
|
36211
|
-
const REINVOKABLE_KINDS = new Set(["lambda", "agentcore"]);
|
|
36230
|
+
const REINVOKABLE_KINDS = /* @__PURE__ */ new Set(["lambda", "agentcore"]);
|
|
36212
36231
|
/**
|
|
36213
36232
|
* Re-invoke a past timeline row with an edited payload (issue #284, studio
|
|
36214
36233
|
* Phase 3). Resolves the original target from the recorded invocation and
|
|
@@ -36243,7 +36262,7 @@ async function reinvoke(input, deps) {
|
|
|
36243
36262
|
//#region src/local/studio-request-relay.ts
|
|
36244
36263
|
const DEFAULT_TIMEOUT_MS = 3e4;
|
|
36245
36264
|
const DEFAULT_MAX_BODY = 512 * 1024;
|
|
36246
|
-
const BODY_METHODS = new Set([
|
|
36265
|
+
const BODY_METHODS = /* @__PURE__ */ new Set([
|
|
36247
36266
|
"POST",
|
|
36248
36267
|
"PUT",
|
|
36249
36268
|
"PATCH",
|
|
@@ -36426,7 +36445,7 @@ function startStudioProxy(config) {
|
|
|
36426
36445
|
});
|
|
36427
36446
|
}
|
|
36428
36447
|
/** RFC 7230 hop-by-hop headers — never forwarded across a proxy. */
|
|
36429
|
-
const HOP_BY_HOP = new Set([
|
|
36448
|
+
const HOP_BY_HOP = /* @__PURE__ */ new Set([
|
|
36430
36449
|
"connection",
|
|
36431
36450
|
"keep-alive",
|
|
36432
36451
|
"proxy-authenticate",
|
|
@@ -36996,7 +37015,7 @@ function routeStudioRun(req, deps) {
|
|
|
36996
37015
|
if (req.kind === "ecs" && !deps.servableEcs.has(req.targetId)) return Promise.reject(/* @__PURE__ */ new Error(`'${req.targetId}' is not a servable ECS service (an ECS task definition runs via run-task, not start-service).`));
|
|
36997
37016
|
return deps.serveManager.start(req);
|
|
36998
37017
|
}
|
|
36999
|
-
const SERVE_REQUEST_METHODS = new Set([
|
|
37018
|
+
const SERVE_REQUEST_METHODS = /* @__PURE__ */ new Set([
|
|
37000
37019
|
"GET",
|
|
37001
37020
|
"POST",
|
|
37002
37021
|
"PUT",
|
|
@@ -37352,13 +37371,15 @@ async function prepareEcsImageContexts(args) {
|
|
|
37352
37371
|
* Returns a `(id) => boolean` callback (true = pinned). Exported for testing.
|
|
37353
37372
|
*/
|
|
37354
37373
|
function makePinClassifier(args) {
|
|
37355
|
-
const { stacks, contextByStack, logger, stateBound } = args;
|
|
37374
|
+
const { stacks, contextByStack, logger, stateBound, onUnresolved } = args;
|
|
37356
37375
|
return (id) => {
|
|
37357
37376
|
try {
|
|
37358
37377
|
const stack = resolveEcsServiceStack(id, stacks);
|
|
37359
|
-
|
|
37378
|
+
const context = stack ? contextByStack.get(stack.stackName) : void 0;
|
|
37379
|
+
return !isLocalCdkAssetImage(resolveEcsServiceTarget(id, stacks, context));
|
|
37360
37380
|
} catch (err) {
|
|
37361
37381
|
logger.warn(`studio: could not classify image-pin status for ECS service '${id}'; leaving it unmarked (the image-override picker will not be offered).${pinClassifyStateHint(stateBound)} ${err instanceof Error ? err.message : String(err)}`);
|
|
37382
|
+
if (stateBound === false) onUnresolved?.(id);
|
|
37362
37383
|
return false;
|
|
37363
37384
|
}
|
|
37364
37385
|
};
|
|
@@ -37389,15 +37410,17 @@ function pinClassifyStateHint(stateBound) {
|
|
|
37389
37410
|
* Returns a `(id) => boolean` callback (true = pinned). Exported for testing.
|
|
37390
37411
|
*/
|
|
37391
37412
|
function makeTaskPinClassifier(args) {
|
|
37392
|
-
const { stacks, contextByStack, logger, stateBound } = args;
|
|
37413
|
+
const { stacks, contextByStack, logger, stateBound, onUnresolved } = args;
|
|
37393
37414
|
return (id) => {
|
|
37394
37415
|
try {
|
|
37395
37416
|
const stack = resolveEcsServiceStack(id, stacks);
|
|
37396
|
-
const
|
|
37417
|
+
const context = stack ? contextByStack.get(stack.stackName) : void 0;
|
|
37418
|
+
const task = resolveEcsTaskTarget(id, stacks, context);
|
|
37397
37419
|
const representative = task.containers.find((c) => c.essential) ?? task.containers[0];
|
|
37398
37420
|
return representative !== void 0 && representative.image.kind !== "cdk-asset";
|
|
37399
37421
|
} catch (err) {
|
|
37400
37422
|
logger.warn(`studio: could not classify image-pin status for ECS task definition '${id}'; leaving it unmarked (the image-override picker will not be offered).${pinClassifyStateHint(stateBound)} ${err instanceof Error ? err.message : String(err)}`);
|
|
37423
|
+
if (stateBound === false) onUnresolved?.(id);
|
|
37401
37424
|
return false;
|
|
37402
37425
|
}
|
|
37403
37426
|
};
|
|
@@ -37476,18 +37499,28 @@ async function classifyStudioTargets(args) {
|
|
|
37476
37499
|
logger
|
|
37477
37500
|
});
|
|
37478
37501
|
const stateBound = isCfnFlagPresent(classifyOptions);
|
|
37502
|
+
const unresolvedPinIds = /* @__PURE__ */ new Set();
|
|
37503
|
+
const onUnresolved = (id) => {
|
|
37504
|
+
unresolvedPinIds.add(id);
|
|
37505
|
+
};
|
|
37479
37506
|
const anyPinned = annotatePinnedEcsTargets(groups, makePinClassifier({
|
|
37480
37507
|
stacks,
|
|
37481
37508
|
contextByStack,
|
|
37482
37509
|
logger,
|
|
37483
|
-
stateBound
|
|
37510
|
+
stateBound,
|
|
37511
|
+
onUnresolved
|
|
37484
37512
|
}));
|
|
37485
37513
|
const anyTaskPinned = annotateEcsTaskPinnedTargets(groups, makeTaskPinClassifier({
|
|
37486
37514
|
stacks,
|
|
37487
37515
|
contextByStack,
|
|
37488
37516
|
logger,
|
|
37489
|
-
stateBound
|
|
37517
|
+
stateBound,
|
|
37518
|
+
onUnresolved
|
|
37490
37519
|
}));
|
|
37520
|
+
if (unresolvedPinIds.size > 0) for (const g of groups) {
|
|
37521
|
+
if (g.kind !== "ecs" && g.kind !== "ecs-task") continue;
|
|
37522
|
+
for (const e of g.entries) if (!e.pinned && unresolvedPinIds.has(e.id)) e.pinUnresolved = true;
|
|
37523
|
+
}
|
|
37491
37524
|
const pinnedEcsByQualifiedId = /* @__PURE__ */ new Map();
|
|
37492
37525
|
for (const g of groups) {
|
|
37493
37526
|
if (g.kind !== "ecs") continue;
|
|
@@ -37786,4 +37819,4 @@ function addStudioSpecificOptions(cmd) {
|
|
|
37786
37819
|
|
|
37787
37820
|
//#endregion
|
|
37788
37821
|
export { applyEdgeResponseResult as $, buildJwksUrlFromIssuer as $n, resolveCfnStackName as $r, buildCloudMapIndex as $t, startAgentCoreHttpServer as A, resolveProfileCredentials as Ai, classifySourceChange as An, ConnectionRegistry as Ar, addRunTaskSpecificOptions as At, idFromArn as B, buildStageMap as Bn, resolveRuntimeFileExtension as Br, resolveEcsAssumeRoleOption as Bt, addListSpecificOptions as C, resolveAgentCoreTarget as Ci, waitForAgentCorePing as Cn, tryParseStatus as Cr, parseLbPortOverrides as Ct, createLocalStartAgentCoreCommand as D, tryResolveImageFnJoin as Di, computeCodeImageTag as Dn, probeHostGatewaySupport as Dr, addStartServiceSpecificOptions as Dt, addStartAgentCoreSpecificOptions as E, substituteImagePlaceholders as Ei, buildAgentCoreCodeImage as En, HOST_GATEWAY_MIN_VERSION as Er, resolveAlbFrontDoor as Et, createLocalStartCloudFrontCommand as F, createWatchPredicates as Fn, buildDisconnectEvent as Fr, addImageOverrideOptions as Ft, classifyS3Error as G, filterRoutesByApiIdentifiers as Gn, substituteEnvVarsFromState as Gr, enforceImageOverrideOrphans as Gt, createDeployedKvsDataSource as H, resolveEnvVars$1 as Hn, EcsTaskResolutionError as Hr, runEcsServiceEmulator as Ht, normalizeKvsFileKeys as I, resolveApiTargetSubset as In, buildMessageEvent as Ir, buildEcsImageResolutionContext$1 as It, startCloudFrontServer as J, startApiServer as Jn, createLocalStateProvider as Jr, resolveImageOverrides as Jt, createS3OriginReader as K, groupRoutesByServer as Kn, substituteEnvVarsFromStateAsync as Kr, mergeForService as Kt, parseKvsFileOverrides as L, createAuthorizerCache as Ln, architectureToPlatform as Lr, ecsClusterOption as Lt, startAgentCoreWsBridge as M, createLocalInvokeCommand as Mn, handleConnectionsRequest as Mr, MAX_TASKS_SUBNET_RANGE_CAP as Mt, LocalStartCloudFrontError as N, addStartApiSpecificOptions as Nn, parseConnectionsPath as Nr, addCommonEcsServiceOptions as Nt, buildAgentCoreServeAuthCheck as O, LocalInvokeBuildError as Oi, renderCodeDockerfile as On, resolveHostGatewayExtraHosts as Or, createLocalStartServiceCommand as Ot, addStartCloudFrontSpecificOptions as P, createLocalStartApiCommand as Pn, buildConnectEvent as Pr, addEcsAssumeRoleOptions as Pt, applyEdgeRequestResult as Q, buildCognitoJwksUrl as Qn, resolveCfnRegion as Qr, listPinnedTargets as Qt, parseOriginOverrides as R, createFileWatcher as Rn, buildContainerImage as Rr, parseMaxTasks as Rt, StudioEventBus as S, pickAgentCoreCandidateStack as Si, waitForAgentCoreHttpReady as Sn, selectIntegrationResponse as Sr, createLocalStartAlbCommand as St, formatTargetListing as T, formatStateRemedy as Ti, SUPPORTED_CODE_RUNTIMES as Tn, HOST_DOCKER_INTERNAL_GATEWAY as Tr, isApplicationLoadBalancer as Tt, resolveDeployedKvsArnByName as U, availableApiIdentifiers as Un, substituteAgainstState as Ur, ImageOverrideError as Ut, resolveKvsModulesForDistribution as V, materializeLayerFromArn as Vn, resolveRuntimeImage as Vr, resolveSharedSidecarCredentials as Vt, resolveDeployedOriginBucket as W, filterRoutesByApiIdentifier as Wn, substituteAgainstStateAsync as Wr, buildImageOverrideTag as Wt, serveFromStaticOrigin as X, resolveServiceIntegrationParameters as Xn, rejectExplicitCfnStackWithMultipleStacks as Xr, describePinnedImageUri as Xt, resolveErrorResponseCandidates as Y, resolveSelectionExpression as Yn, isCfnFlagPresent as Yr, runImageOverrideBuilds as Yt, serveLambdaUrlOrigin as Z, defaultCredentialsLoader as Zn, resolveCfnFallbackRegion as Zr, isLocalCdkAssetImage as Zt, filterStudioTargetGroups as _, AGENTCORE_AGUI_PROTOCOL as _i, parseSseForJsonRpc as _n, applyAuthorizerOverlay as _r, createCloudFrontModule as _t, createLocalStudioCommand as a, countTargets as ai, attachContainerLogStreamer as an, computeRequestIdentityHash as ar, describeS3OriginDomain as at, renderStudioHtml as b, AGENTCORE_RUNTIME_TYPE as bi, AGENTCORE_SESSION_ID_HEADER as bn, evaluateResponseParameters as br, addAlbSpecificOptions as bt, startStudioProxy as c, discoverWebSocketApis as ci, bridgeAgentCoreWs as cn, invokeTokenAuthorizer as cr, pickFunctionUrlLogicalIdFromOrigin as ct, createStudioDispatcher as d, parseSelectionExpressionPath as di, A2A_PATH as dn, buildCorsConfigByApiId as dr, pickTargetFunctionLogicalId as dt, CfnLocalStateProvider as ei, CloudMapRegistry as en, createJwksCache as er, buildEdgeRequestEvent as et, filterStudioCustomResources as f, webSocketApiMatchesIdentifier as fi, a2aInvokeOnce as fn, buildCorsConfigFromCloudFrontChain as fr, resolveCloudFrontDistribution as ft, annotatePinnedEcsTargets as g, AGENTCORE_A2A_PROTOCOL as gi, mcpInvokeOnce as gn, translateLambdaResponse as gr, stripCloudFrontImport as gt, annotateEcsTaskPinnedTargets as h, resolveLambdaArnIntrinsic as hi, MCP_PROTOCOL_VERSION as hn, matchRoute as hr, runViewerResponse as ht, coerceStopRequest as i, resolveSingleTarget as ii, getContainerNetworkIp as in, buildMethodArn as ir, CLOUDFRONT_DISTRIBUTION_TYPE as it, attachAgentCoreWsBridge as j, addInvokeSpecificOptions as jn, buildMgmtEndpointEnvUrl as jr, createLocalRunTaskCommand as jt, selectServeInboundAuth as k, buildStsClientConfig as ki, toCmdArgv as kn, bufferToBody as kr, serviceStrategy as kt, relayServeRequest as l, discoverWebSocketApisOrThrow as li, invokeAgentCoreWs as ln, attachAuthorizers as lr, pickKvsLogicalIdFromArn as lt, annotateAlbPinnedBackingServices as m, pickRefLogicalId as mi, MCP_PATH as mn, matchPreflight as mr, runViewerRequest as mt, coerceRunRequest as n, resolveSsmParameters as ni, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as nn, verifyJwtAuthorizer as nr, edgeHeadersToHttp as nt, resolveServeBaseUrl as o, listTargets as oi, addInvokeAgentCoreSpecificOptions as on, evaluateCachedLambdaPolicy as or, extractKvsAssociations as ot, isCustomResourceLambdaTarget as p, discoverRoutes as pi, MCP_CONTAINER_PORT as pn, isFunctionUrlOacFronted as pr, compileCloudFrontFunction as pt, matchBehavior as q, readMtlsMaterialsFromDisk as qn, LocalStateSourceError as qr, parseImageOverrideFlags as qt, coerceServeRequest as r, resolveWatchConfig as ri, setShadowReadyTimeoutMs as rn, verifyJwtViaDiscovery as rr, httpHeadersToEdge as rt, createStudioServeManager as s, availableWebSocketApiIdentifiers as si, createLocalInvokeAgentCoreCommand as sn, invokeRequestAuthorizer as sr, isCloudFrontDistribution as st, addStudioSpecificOptions as t, collectSsmParameterRefs as ti, DEFAULT_SHADOW_READY_TIMEOUT_MS as tn, verifyCognitoJwt as tr, buildEdgeResponseEvent as tt, reinvoke as u, filterWebSocketApisByIdentifiers as ui, A2A_CONTAINER_PORT as un, applyCorsResponseHeaders as ur, pickLambdaEdgeFunctionLogicalId as ut, startStudioServer as v, AGENTCORE_HTTP_PROTOCOL as vi, AGENTCORE_SIGV4_SERVICE as vn, buildHttpApiV2Event as vr, createLocalFileKvsDataSource as vt, createLocalListCommand as w, derivePseudoParametersFromRegion as wi, downloadAndExtractS3Bundle as wn, VtlEvaluationError as wr, resolveAlbTarget as wt, createStudioStore as x, AgentCoreResolutionError as xi, invokeAgentCore as xn, pickResponseTemplate as xr, albStrategy as xt, toStudioTargetGroups as y, AGENTCORE_MCP_PROTOCOL as yi, signAgentCoreInvocation as yn, buildRestV1Event as yr, createUnboundCloudFrontModule as yt, resolveCloudFrontTarget as z, attachStageContext as zn, resolveRuntimeCodeMountPath as zr, parseRestartPolicy as zt };
|
|
37789
|
-
//# sourceMappingURL=local-studio-
|
|
37822
|
+
//# sourceMappingURL=local-studio-BjknISUv.js.map
|