cdk-local 0.147.0 → 0.147.2
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-DcBEEMJp.d.ts → local-studio-BBA_8Xvk.d.ts} +2 -881
- package/dist/local-studio-BBA_8Xvk.d.ts.map +1 -0
- package/dist/{local-studio-BlxJWcDQ.js → local-studio-BjknISUv.js} +109 -118
- package/dist/local-studio-BjknISUv.js.map +1 -0
- package/package.json +5 -6
- package/dist/local-studio-BlxJWcDQ.js.map +0 -1
- package/dist/local-studio-DcBEEMJp.d.ts.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",
|
|
@@ -35343,6 +35330,8 @@ function renderStudioHtml(appLabel, cliName) {
|
|
|
35343
35330
|
const safeApp = escapeHtml(appLabel);
|
|
35344
35331
|
const safeCli = escapeHtml(cliName);
|
|
35345
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");
|
|
35346
35335
|
return `<!doctype html>
|
|
35347
35336
|
<html lang="en">
|
|
35348
35337
|
<head>
|
|
@@ -35383,8 +35372,8 @@ function renderStudioHtml(appLabel, cliName) {
|
|
|
35383
35372
|
<div id="log-results"></div>
|
|
35384
35373
|
</section>
|
|
35385
35374
|
</main>
|
|
35386
|
-
<script>window.__OPTION_SPECS__ = ${
|
|
35387
|
-
<script>window.__FLAG_CATALOG__ = ${
|
|
35375
|
+
<script>window.__OPTION_SPECS__ = ${optionSpecsJson};<\/script>
|
|
35376
|
+
<script>window.__FLAG_CATALOG__ = ${flagCatalogJson};<\/script>
|
|
35388
35377
|
<script>${STUDIO_SCRIPT}<\/script>
|
|
35389
35378
|
</body>
|
|
35390
35379
|
</html>`;
|
|
@@ -36238,7 +36227,7 @@ function tryParseJson(raw) {
|
|
|
36238
36227
|
* re-sent client-side through the request composer + the live front door
|
|
36239
36228
|
* (issue #322), not re-dispatched here, so the proxy still captures it.
|
|
36240
36229
|
*/
|
|
36241
|
-
const REINVOKABLE_KINDS = new Set(["lambda", "agentcore"]);
|
|
36230
|
+
const REINVOKABLE_KINDS = /* @__PURE__ */ new Set(["lambda", "agentcore"]);
|
|
36242
36231
|
/**
|
|
36243
36232
|
* Re-invoke a past timeline row with an edited payload (issue #284, studio
|
|
36244
36233
|
* Phase 3). Resolves the original target from the recorded invocation and
|
|
@@ -36273,7 +36262,7 @@ async function reinvoke(input, deps) {
|
|
|
36273
36262
|
//#region src/local/studio-request-relay.ts
|
|
36274
36263
|
const DEFAULT_TIMEOUT_MS = 3e4;
|
|
36275
36264
|
const DEFAULT_MAX_BODY = 512 * 1024;
|
|
36276
|
-
const BODY_METHODS = new Set([
|
|
36265
|
+
const BODY_METHODS = /* @__PURE__ */ new Set([
|
|
36277
36266
|
"POST",
|
|
36278
36267
|
"PUT",
|
|
36279
36268
|
"PATCH",
|
|
@@ -36456,7 +36445,7 @@ function startStudioProxy(config) {
|
|
|
36456
36445
|
});
|
|
36457
36446
|
}
|
|
36458
36447
|
/** RFC 7230 hop-by-hop headers — never forwarded across a proxy. */
|
|
36459
|
-
const HOP_BY_HOP = new Set([
|
|
36448
|
+
const HOP_BY_HOP = /* @__PURE__ */ new Set([
|
|
36460
36449
|
"connection",
|
|
36461
36450
|
"keep-alive",
|
|
36462
36451
|
"proxy-authenticate",
|
|
@@ -37026,7 +37015,7 @@ function routeStudioRun(req, deps) {
|
|
|
37026
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).`));
|
|
37027
37016
|
return deps.serveManager.start(req);
|
|
37028
37017
|
}
|
|
37029
|
-
const SERVE_REQUEST_METHODS = new Set([
|
|
37018
|
+
const SERVE_REQUEST_METHODS = /* @__PURE__ */ new Set([
|
|
37030
37019
|
"GET",
|
|
37031
37020
|
"POST",
|
|
37032
37021
|
"PUT",
|
|
@@ -37386,7 +37375,8 @@ function makePinClassifier(args) {
|
|
|
37386
37375
|
return (id) => {
|
|
37387
37376
|
try {
|
|
37388
37377
|
const stack = resolveEcsServiceStack(id, stacks);
|
|
37389
|
-
|
|
37378
|
+
const context = stack ? contextByStack.get(stack.stackName) : void 0;
|
|
37379
|
+
return !isLocalCdkAssetImage(resolveEcsServiceTarget(id, stacks, context));
|
|
37390
37380
|
} catch (err) {
|
|
37391
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)}`);
|
|
37392
37382
|
if (stateBound === false) onUnresolved?.(id);
|
|
@@ -37424,7 +37414,8 @@ function makeTaskPinClassifier(args) {
|
|
|
37424
37414
|
return (id) => {
|
|
37425
37415
|
try {
|
|
37426
37416
|
const stack = resolveEcsServiceStack(id, stacks);
|
|
37427
|
-
const
|
|
37417
|
+
const context = stack ? contextByStack.get(stack.stackName) : void 0;
|
|
37418
|
+
const task = resolveEcsTaskTarget(id, stacks, context);
|
|
37428
37419
|
const representative = task.containers.find((c) => c.essential) ?? task.containers[0];
|
|
37429
37420
|
return representative !== void 0 && representative.image.kind !== "cdk-asset";
|
|
37430
37421
|
} catch (err) {
|
|
@@ -37828,4 +37819,4 @@ function addStudioSpecificOptions(cmd) {
|
|
|
37828
37819
|
|
|
37829
37820
|
//#endregion
|
|
37830
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 };
|
|
37831
|
-
//# sourceMappingURL=local-studio-
|
|
37822
|
+
//# sourceMappingURL=local-studio-BjknISUv.js.map
|