cdk-local 0.149.9 → 0.151.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{cdkl-io-host-DYuHWzAS.js → cdkl-io-host-9lPKscRA.js} +2 -2
- package/dist/{cdkl-io-host-DYuHWzAS.js.map → cdkl-io-host-9lPKscRA.js.map} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{docker-cmd-C2kvSLVs.js → docker-cmd-GME6jkl9.js} +13 -37
- package/dist/docker-cmd-GME6jkl9.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -2
- package/dist/{local-studio-C9L3lxW_.d.ts → local-studio-Cd0XxG0p.d.ts} +32 -3
- package/dist/local-studio-Cd0XxG0p.d.ts.map +1 -0
- package/dist/{local-studio-CcK2y5Gs.js → local-studio-Mta0QWLf.js} +99 -56
- package/dist/local-studio-Mta0QWLf.js.map +1 -0
- package/dist/{logger-CuUAMAnt.js → logger-CGhtqHg0.js} +67 -4
- package/dist/logger-CGhtqHg0.js.map +1 -0
- package/package.json +1 -1
- package/dist/docker-cmd-C2kvSLVs.js.map +0 -1
- package/dist/local-studio-C9L3lxW_.d.ts.map +0 -1
- package/dist/local-studio-CcK2y5Gs.js.map +0 -1
- package/dist/logger-CuUAMAnt.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as
|
|
2
|
-
import { t as getLogger } from "./logger-
|
|
1
|
+
import { C as sanitizeServiceExceptionMessage, S as isAwsServiceException, _ as resolveAssemblyPath, a as isDockerClientEnvKey, b as describeCredentialLoadFailure, c as runDockerStreaming, d as absoluteAssemblyPathEscape, f as assemblyPathEscape, g as renderAssemblyPathEscape, h as namesTheSameDirectory, i as getDockerCmd, l as spawnStreaming, m as isPasteableCommandArg, n as finchSecretArgvRefusal, o as isMalformedEnvKey, p as displayUntrustedValue, r as formatDockerLoginError, s as runDockerForeground, u as warnFinchArgvExposure, v as clampErrorName, w as stringifyThrown, x as flattenToOneLine, y as describeAwsFailureForWarn } from "./docker-cmd-GME6jkl9.js";
|
|
2
|
+
import { a as setEmbedConfig, r as getEmbedConfig, t as getLogger } from "./logger-CGhtqHg0.js";
|
|
3
3
|
import { chmodSync, cpSync, createWriteStream, existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, readlinkSync, realpathSync, rmSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
|
|
4
4
|
import { homedir, tmpdir } from "node:os";
|
|
5
5
|
import * as path$1 from "node:path";
|
|
@@ -326,7 +326,10 @@ async function resolveProfileCredentials(profile) {
|
|
|
326
326
|
try {
|
|
327
327
|
const credsProvider = sts.config.credentials;
|
|
328
328
|
const creds = typeof credsProvider === "function" ? await credsProvider() : credsProvider;
|
|
329
|
-
if (!creds || !creds.accessKeyId || !creds.secretAccessKey)
|
|
329
|
+
if (!creds || !creds.accessKeyId || !creds.secretAccessKey) {
|
|
330
|
+
const ssoHint = isPasteableCommandArg(profile) ? "Check `aws sso login --profile " + profile + "` for SSO profiles" : "For an SSO profile, run `aws sso login` for that profile (the command is not written out because the name as rendered may not be the one your shell would act on)";
|
|
331
|
+
throw new Error(`--profile ${displayUntrustedValue(profile)}: credential provider chain resolved without usable credentials. ${ssoHint}, or check \`~/.aws/credentials\` / \`~/.aws/config\` for regular profiles.`);
|
|
332
|
+
}
|
|
330
333
|
let region;
|
|
331
334
|
try {
|
|
332
335
|
const regionProvider = sts.config.region;
|
|
@@ -3389,7 +3392,7 @@ async function resolveMultiTarget(provided, params) {
|
|
|
3389
3392
|
async function loadSynthDeps() {
|
|
3390
3393
|
const [toolkitLib, { CdklIoHost }, { AssetManifestArtifact }] = await Promise.all([
|
|
3391
3394
|
import("@aws-cdk/toolkit-lib"),
|
|
3392
|
-
import("./cdkl-io-host-
|
|
3395
|
+
import("./cdkl-io-host-9lPKscRA.js"),
|
|
3393
3396
|
import("@aws-cdk/cloud-assembly-api")
|
|
3394
3397
|
]);
|
|
3395
3398
|
return {
|
|
@@ -3916,6 +3919,28 @@ function isCfnFlagPresent(opts) {
|
|
|
3916
3919
|
const v = opts.fromCfnStack;
|
|
3917
3920
|
return v !== void 0 && v !== false;
|
|
3918
3921
|
}
|
|
3922
|
+
function hasExtraStateProviderActive(options, extraStateProviders) {
|
|
3923
|
+
if (!extraStateProviders) return false;
|
|
3924
|
+
const bag = options;
|
|
3925
|
+
return Object.keys(extraStateProviders).some((key) => Boolean(bag[key]));
|
|
3926
|
+
}
|
|
3927
|
+
function isStateSourceActive(options, extraStateProviders) {
|
|
3928
|
+
return isCfnFlagPresent(options) || hasExtraStateProviderActive(options, extraStateProviders);
|
|
3929
|
+
}
|
|
3930
|
+
function activeStateSourceFlag(options, extraStateProviders) {
|
|
3931
|
+
if (isCfnFlagPresent(options)) return "--from-cfn-stack";
|
|
3932
|
+
if (!extraStateProviders) return void 0;
|
|
3933
|
+
const bag = options;
|
|
3934
|
+
const key = Object.keys(extraStateProviders).find((k) => Boolean(bag[k]));
|
|
3935
|
+
return key === void 0 ? void 0 : toFlagName(key);
|
|
3936
|
+
}
|
|
3937
|
+
function stateSourceFlagNames(extraStateProviders) {
|
|
3938
|
+
return ["--from-cfn-stack", ...Object.keys(extraStateProviders ?? {}).map(toFlagName)];
|
|
3939
|
+
}
|
|
3940
|
+
function hostStateSourceFields(options, extraStateProviders) {
|
|
3941
|
+
if (!extraStateProviders || Object.keys(extraStateProviders).length === 0) return {};
|
|
3942
|
+
return { ...options };
|
|
3943
|
+
}
|
|
3919
3944
|
function resolveCfnRegion(options, synthRegion) {
|
|
3920
3945
|
const region = options.stackRegion ?? options.region ?? process.env["AWS_REGION"] ?? process.env["AWS_DEFAULT_REGION"] ?? synthRegion;
|
|
3921
3946
|
if (region === void 0) throw new LocalStateSourceError("--from-cfn-stack requires a region to query CloudFormation. Set one of: --stack-region <region>, --region <region>, AWS_REGION env var, AWS_DEFAULT_REGION env var, or an env.region on the target CDK stack.");
|
|
@@ -11811,7 +11836,7 @@ function getContainerAwsCredentialsPath() {
|
|
|
11811
11836
|
}
|
|
11812
11837
|
async function writeProfileCredentialsFile(profileName, creds) {
|
|
11813
11838
|
if (profileName === "") throw new Error("writeProfileCredentialsFile: profile name must not be empty.");
|
|
11814
|
-
if (/[\r\n[\]]/.test(profileName)) throw new Error(`writeProfileCredentialsFile: profile name
|
|
11839
|
+
if (/[\r\n[\]]/.test(profileName)) throw new Error(`writeProfileCredentialsFile: profile name ${displayUntrustedValue(profileName)} contains a forbidden character (any of CR, LF, '[', ']' would corrupt the INI file or the docker -e env var).`);
|
|
11815
11840
|
const dir = await mkdtemp(path$1.join(tmpdir(), `${getEmbedConfig().productName}-profile-creds-`));
|
|
11816
11841
|
const hostPath = path$1.join(dir, "credentials");
|
|
11817
11842
|
const lines = [
|
|
@@ -12959,11 +12984,6 @@ function envHasIntrinsicValue$1(templateEnv) {
|
|
|
12959
12984
|
}
|
|
12960
12985
|
return false;
|
|
12961
12986
|
}
|
|
12962
|
-
function hasExtraStateProviderActive(options, extraStateProviders) {
|
|
12963
|
-
if (!extraStateProviders) return false;
|
|
12964
|
-
for (const key of Object.keys(extraStateProviders)) if (options[key]) return true;
|
|
12965
|
-
return false;
|
|
12966
|
-
}
|
|
12967
12987
|
async function loadStateForRoutedStacks(stacks, routes, routesWithAuth, options, extraStateProviders) {
|
|
12968
12988
|
const logger = getLogger();
|
|
12969
12989
|
const out = /* @__PURE__ */ new Map();
|
|
@@ -14861,7 +14881,7 @@ async function resolveHostCredentialsForSigV4(options, resolved, loaded, region,
|
|
|
14861
14881
|
return await assumeAgentCoreExecutionRole(assumeRoleArn, region, options.profile);
|
|
14862
14882
|
} catch (err) {
|
|
14863
14883
|
const sigv4Detail = assumeRoleDetail(err, "STS AssumeRole (--sigv4 signing)");
|
|
14864
|
-
logger.warn(`--assume-role: STS AssumeRole(${flattenToOneLine(assumeRoleArn)}) failed for --sigv4 signing: ${sigv4Detail}. Falling back to ${options.profile ? `--profile ${options.profile}` : "shell credentials"}.`);
|
|
14884
|
+
logger.warn(`--assume-role: STS AssumeRole(${flattenToOneLine(assumeRoleArn)}) failed for --sigv4 signing: ${sigv4Detail}. Falling back to ${options.profile ? `--profile ${displayUntrustedValue(options.profile)}` : "shell credentials"}.`);
|
|
14865
14885
|
}
|
|
14866
14886
|
if (options.profile) {
|
|
14867
14887
|
const creds = await resolveProfileCredentials(options.profile);
|
|
@@ -14953,7 +14973,7 @@ async function resolveAgentCoreCodeImageFromS3(resolved, code, s3Source, options
|
|
|
14953
14973
|
credentials = await assumeAgentCoreExecutionRole(assumeRoleArn, region, options.profile);
|
|
14954
14974
|
} catch (err) {
|
|
14955
14975
|
const bundleDetail = assumeRoleDetail(err, "STS AssumeRole (fromS3 bundle download)");
|
|
14956
|
-
logger.warn(`--assume-role: STS AssumeRole(${flattenToOneLine(assumeRoleArn)}) failed for the fromS3 bundle download: ${bundleDetail}. Falling back to ${options.profile ? `--profile ${options.profile}` : "the default credentials"}.`);
|
|
14976
|
+
logger.warn(`--assume-role: STS AssumeRole(${flattenToOneLine(assumeRoleArn)}) failed for the fromS3 bundle download: ${bundleDetail}. Falling back to ${options.profile ? `--profile ${displayUntrustedValue(options.profile)}` : "the default credentials"}.`);
|
|
14957
14977
|
}
|
|
14958
14978
|
const bundle = await downloadAndExtractS3Bundle(location, {
|
|
14959
14979
|
...region !== void 0 && { region },
|
|
@@ -17223,7 +17243,7 @@ async function softReloadReplica(args) {
|
|
|
17223
17243
|
const defaultDockerInspectWorkdirImpl = async (containerId) => {
|
|
17224
17244
|
const { execFile } = await import("node:child_process");
|
|
17225
17245
|
const { promisify } = await import("node:util");
|
|
17226
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
17246
|
+
const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
|
|
17227
17247
|
const { stdout } = await promisify(execFile)(getDockerCmd(), [
|
|
17228
17248
|
"inspect",
|
|
17229
17249
|
"--format",
|
|
@@ -17236,7 +17256,7 @@ let dockerInspectWorkdirImpl = defaultDockerInspectWorkdirImpl;
|
|
|
17236
17256
|
const defaultDockerCpImpl = async (src, dst) => {
|
|
17237
17257
|
const { execFile } = await import("node:child_process");
|
|
17238
17258
|
const { promisify } = await import("node:util");
|
|
17239
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
17259
|
+
const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
|
|
17240
17260
|
await promisify(execFile)(getDockerCmd(), [
|
|
17241
17261
|
"cp",
|
|
17242
17262
|
src,
|
|
@@ -17247,7 +17267,7 @@ let dockerCpImpl = defaultDockerCpImpl;
|
|
|
17247
17267
|
const defaultDockerRestartImpl = async (containerId) => {
|
|
17248
17268
|
const { execFile } = await import("node:child_process");
|
|
17249
17269
|
const { promisify } = await import("node:util");
|
|
17250
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
17270
|
+
const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
|
|
17251
17271
|
await promisify(execFile)(getDockerCmd(), ["restart", containerId]);
|
|
17252
17272
|
};
|
|
17253
17273
|
let dockerRestartImpl = defaultDockerRestartImpl;
|
|
@@ -17265,7 +17285,7 @@ async function disconnectOldFromSharedNetwork(oldInstance) {
|
|
|
17265
17285
|
const defaultDockerNetworkDisconnectImpl = async (networkName, containerId) => {
|
|
17266
17286
|
const { execFile } = await import("node:child_process");
|
|
17267
17287
|
const { promisify } = await import("node:util");
|
|
17268
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
17288
|
+
const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
|
|
17269
17289
|
await promisify(execFile)(getDockerCmd(), [
|
|
17270
17290
|
"network",
|
|
17271
17291
|
"disconnect",
|
|
@@ -17405,7 +17425,7 @@ function pickEssentialContainerId(instance, service) {
|
|
|
17405
17425
|
const defaultWaitForExitImpl = async (containerId) => {
|
|
17406
17426
|
const { execFile } = await import("node:child_process");
|
|
17407
17427
|
const { promisify } = await import("node:util");
|
|
17408
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
17428
|
+
const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
|
|
17409
17429
|
const { stdout } = await promisify(execFile)(getDockerCmd(), ["wait", containerId], { maxBuffer: 1024 * 1024 });
|
|
17410
17430
|
const code = parseInt(stdout.trim(), 10);
|
|
17411
17431
|
return Number.isFinite(code) ? code : -1;
|
|
@@ -17415,7 +17435,7 @@ const EXIT_LOG_TAIL_LINES = 50;
|
|
|
17415
17435
|
const defaultReadContainerLogsImpl = async (containerId) => {
|
|
17416
17436
|
const { execFile } = await import("node:child_process");
|
|
17417
17437
|
const { promisify } = await import("node:util");
|
|
17418
|
-
const { getDockerCmd } = await import("./docker-cmd-
|
|
17438
|
+
const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
|
|
17419
17439
|
const { stdout, stderr } = await promisify(execFile)(getDockerCmd(), [
|
|
17420
17440
|
"logs",
|
|
17421
17441
|
"--tail",
|
|
@@ -19431,7 +19451,7 @@ function enforceImageOverrideOrphans(rawFlags, resolvedOverrides) {
|
|
|
19431
19451
|
|
|
19432
19452
|
//#endregion
|
|
19433
19453
|
//#region src/cli/commands/ecs-service-emulator.ts
|
|
19434
|
-
async function runEcsServiceEmulator(targets, options, strategy, extraStateProviders) {
|
|
19454
|
+
async function runEcsServiceEmulator(targets, options, strategy, extraStateProviders, hostSynthesizer) {
|
|
19435
19455
|
const logger = getLogger();
|
|
19436
19456
|
if (options.verbose) logger.setLevel("debug");
|
|
19437
19457
|
const skipPull = options.pull === false;
|
|
@@ -19494,7 +19514,7 @@ async function runEcsServiceEmulator(targets, options, strategy, extraStateProvi
|
|
|
19494
19514
|
const appCmd = resolveApp(options.app);
|
|
19495
19515
|
if (!appCmd) throw new Error(`No CDK app specified. Pass --app, set ${getEmbedConfig().envPrefix}_APP, or add "app" to cdk.json.`);
|
|
19496
19516
|
logger.info("Synthesizing CDK app...");
|
|
19497
|
-
const synthesizer = new Synthesizer();
|
|
19517
|
+
const synthesizer = hostSynthesizer ?? new Synthesizer();
|
|
19498
19518
|
const context = parseContextOptions(options.context);
|
|
19499
19519
|
const synthOpts = {
|
|
19500
19520
|
app: appCmd,
|
|
@@ -19950,6 +19970,7 @@ async function resolveAlbLambdaTargetEnv(plan, options, extraStateProviders) {
|
|
|
19950
19970
|
if (lambdas.size === 0) return out;
|
|
19951
19971
|
const effectiveAssumeRole = resolveEcsAssumeRoleOption(options);
|
|
19952
19972
|
const envOptions = {
|
|
19973
|
+
...hostStateSourceFields(options, extraStateProviders),
|
|
19953
19974
|
...options.fromCfnStack !== void 0 && { fromCfnStack: options.fromCfnStack },
|
|
19954
19975
|
...effectiveAssumeRole !== void 0 && { assumeRole: effectiveAssumeRole },
|
|
19955
19976
|
...options.region !== void 0 && { region: options.region },
|
|
@@ -20810,7 +20831,7 @@ function serviceStrategy() {
|
|
|
20810
20831
|
function createLocalStartServiceCommand(opts = {}) {
|
|
20811
20832
|
setEmbedConfig(opts.embedConfig);
|
|
20812
20833
|
const cmd = new Command("start-service").description(`Run one or more AWS::ECS::Service resources locally as a long-running emulator. Spins up DesiredCount task replicas per service (clamped by --max-tasks) using the same per-task docker network + metadata sidecar pattern as \`${getEmbedConfig().cliName} run-task\`, then keeps each replica running and restarts it on exit per --restart-policy. ^C tears every replica + sidecar + network down. Each <target> accepts a CDK display path (MyStack/MyService) or stack-qualified logical ID (MyStack:MyServiceXYZ); single-stack apps may omit the stack prefix. When two or more <target>s are supplied, every service is booted into a shared Cloud Map / Service Connect registry so peer services discover each other via docker --add-host overlay. Omit <targets> in an interactive terminal to multi-select the services from a list. To put a local ALB front-door in front of an ALB-fronted service, use \`${getEmbedConfig().cliName} start-alb\` instead.`).argument("[targets...]", "One or more CDK display paths or stack-qualified logical IDs of the AWS::ECS::Service resources to run (omit to multi-select interactively in a TTY)").action(withErrorHandling(async (targets, options) => {
|
|
20813
|
-
await runEcsServiceEmulator(targets, options, serviceStrategy(), opts.extraStateProviders);
|
|
20834
|
+
await runEcsServiceEmulator(targets, options, serviceStrategy(), opts.extraStateProviders, opts.synthesizer);
|
|
20814
20835
|
}));
|
|
20815
20836
|
addStartServiceSpecificOptions(cmd);
|
|
20816
20837
|
return addCommonEcsServiceOptions(cmd);
|
|
@@ -21446,7 +21467,7 @@ function albStrategy(options) {
|
|
|
21446
21467
|
function createLocalStartAlbCommand(opts = {}) {
|
|
21447
21468
|
setEmbedConfig(opts.embedConfig);
|
|
21448
21469
|
const cmd = new Command("start-alb").description("Run an Application Load Balancer locally: name the ALB, and cdk-local boots the ECS service(s) behind its listeners and stands up a local front-door on each listener port that round-robins across the running replicas and routes its listener rules across the backing services — a stable host endpoint, like behind a real load balancer. The symmetric ALB counterpart of `start-api`. Each <target> accepts a CDK display path (MyStack/MyAlb) or stack-qualified logical ID; single-stack apps may omit the stack prefix. Supports HTTP and HTTPS listeners — by default a cloud-HTTPS listener is served over plain HTTP locally (with X-Forwarded-Proto: https preserved). Pass --tls (or --tls-cert / --tls-key) to terminate TLS locally with a self-signed or user-supplied cert. All six ALB rule-condition fields are honored (path-pattern / host-header / http-header / http-request-method / query-string / source-ip); forward (single and weighted), redirect, and fixed-response actions; and ECS or Lambda targets (a Lambda target group is invoked locally via the Lambda RIE). authenticate-cognito / authenticate-oidc actions enforce a local Bearer-JWT check (or AWSELBAuthSessionCookie pass-through) against the same JWKS / OIDC discovery URL the deployed ALB would; use --bearer-token <jwt> to inject a default token or --no-verify-auth to disable the guard. Omit <targets> in an interactive terminal to multi-select the load balancers from a list.").argument("[targets...]", "One or more CDK display paths or stack-qualified logical IDs of the AWS::ElasticLoadBalancingV2::LoadBalancer resources to run (omit to multi-select interactively in a TTY)").action(withErrorHandling(async (targets, options) => {
|
|
21449
|
-
await runEcsServiceEmulator(targets, options, albStrategy(options), opts.extraStateProviders);
|
|
21470
|
+
await runEcsServiceEmulator(targets, options, albStrategy(options), opts.extraStateProviders, opts.synthesizer);
|
|
21450
21471
|
}));
|
|
21451
21472
|
addAlbSpecificOptions(cmd);
|
|
21452
21473
|
return addCommonEcsServiceOptions(cmd);
|
|
@@ -22642,7 +22663,7 @@ async function handleRequest$1(req, res, state, lambdaInvokers, edgeInvokers, s3
|
|
|
22642
22663
|
if (!assoc) continue;
|
|
22643
22664
|
const invoke = edgeInvokers.get(assoc.functionLogicalId);
|
|
22644
22665
|
if (!invoke) {
|
|
22645
|
-
logger.warn(`Lambda@Edge ${eventType} function '${assoc.functionLogicalId}' was not booted (added after start-up); skipping. Restart start-cloudfront.`);
|
|
22666
|
+
logger.warn(`Lambda@Edge ${eventType} function '${assoc.functionLogicalId}' was not booted (it failed to boot at start-up, see the boot warning, or was added after start-up); skipping. Restart start-cloudfront.`);
|
|
22646
22667
|
continue;
|
|
22647
22668
|
}
|
|
22648
22669
|
if (assoc.includeBody && edgeInput.body === void 0) edgeInput = {
|
|
@@ -22738,7 +22759,7 @@ async function handleRequest$1(req, res, state, lambdaInvokers, edgeInvokers, s3
|
|
|
22738
22759
|
async function runEdgeResponseStage(assoc, eventType, ctx, edgeInvokers, logger) {
|
|
22739
22760
|
const invoke = edgeInvokers.get(assoc.functionLogicalId);
|
|
22740
22761
|
if (!invoke) {
|
|
22741
|
-
logger.warn(`Lambda@Edge ${eventType} function '${assoc.functionLogicalId}' was not booted (added after start-up); skipping. Restart start-cloudfront.`);
|
|
22762
|
+
logger.warn(`Lambda@Edge ${eventType} function '${assoc.functionLogicalId}' was not booted (it failed to boot at start-up, see the boot warning, or was added after start-up); skipping. Restart start-cloudfront.`);
|
|
22742
22763
|
return;
|
|
22743
22764
|
}
|
|
22744
22765
|
return applyEdgeResponseResult(await invoke(buildEdgeResponseEvent({
|
|
@@ -23214,10 +23235,16 @@ async function attachKvsModules(distribution, stacks, options, profileCredential
|
|
|
23214
23235
|
const stack = stacks.find((s) => s.stackName === distribution.stackName);
|
|
23215
23236
|
const synthRegion = stack?.region;
|
|
23216
23237
|
const kvsFiles = stack ? normalizeKvsFileKeys(parseKvsFileOverrides(options.kvsFile), stack.template) : parseKvsFileOverrides(options.kvsFile);
|
|
23217
|
-
const resolveDeployedKvs =
|
|
23238
|
+
const resolveDeployedKvs = isStateSourceActive(options, extraStateProviders) ? async (kvsLogicalId) => {
|
|
23218
23239
|
const provider = createLocalStateProvider(options, distribution.stackName, synthRegion, extraStateProviders);
|
|
23219
23240
|
if (!provider) return void 0;
|
|
23220
|
-
|
|
23241
|
+
let record;
|
|
23242
|
+
try {
|
|
23243
|
+
record = await provider.load(distribution.stackName, synthRegion);
|
|
23244
|
+
} finally {
|
|
23245
|
+
provider.dispose();
|
|
23246
|
+
}
|
|
23247
|
+
const physicalId = record?.resources[kvsLogicalId]?.physicalId;
|
|
23221
23248
|
if (!physicalId) return void 0;
|
|
23222
23249
|
if (physicalId.startsWith("arn:")) {
|
|
23223
23250
|
const id = idFromArn(physicalId);
|
|
@@ -23285,7 +23312,7 @@ async function bootLambdaUrlOrigins(distribution, stacks, opts) {
|
|
|
23285
23312
|
let runner;
|
|
23286
23313
|
try {
|
|
23287
23314
|
const lambda = resolveLambdaTarget(functionLogicalId, stacks);
|
|
23288
|
-
const containerEnv = await resolveLambdaContainerEnv(lambda, opts.envOptions, opts.profileCredentials);
|
|
23315
|
+
const containerEnv = await resolveLambdaContainerEnv(lambda, opts.envOptions, opts.profileCredentials, opts.extraStateProviders);
|
|
23289
23316
|
runner = createFrontDoorLambdaRunner(lambda, {
|
|
23290
23317
|
containerHost: opts.containerHost,
|
|
23291
23318
|
skipPull: opts.skipPull,
|
|
@@ -23324,7 +23351,7 @@ async function bootLambdaEdgeFunctions(distribution, stacks, opts) {
|
|
|
23324
23351
|
}
|
|
23325
23352
|
for (const functionLogicalId of functionLogicalIds) try {
|
|
23326
23353
|
const lambda = resolveLambdaTarget(functionLogicalId, stacks);
|
|
23327
|
-
const containerEnv = await resolveLambdaContainerEnv(lambda, opts.envOptions, opts.profileCredentials);
|
|
23354
|
+
const containerEnv = await resolveLambdaContainerEnv(lambda, opts.envOptions, opts.profileCredentials, opts.extraStateProviders);
|
|
23328
23355
|
const runner = createFrontDoorLambdaRunner(lambda, {
|
|
23329
23356
|
containerHost: opts.containerHost,
|
|
23330
23357
|
skipPull: opts.skipPull,
|
|
@@ -23344,25 +23371,53 @@ async function bootLambdaEdgeFunctions(distribution, stacks, opts) {
|
|
|
23344
23371
|
runners
|
|
23345
23372
|
};
|
|
23346
23373
|
}
|
|
23374
|
+
function buildLambdaEnvOptions(options, extraStateProviders) {
|
|
23375
|
+
return {
|
|
23376
|
+
...hostStateSourceFields(options, extraStateProviders),
|
|
23377
|
+
...options.fromCfnStack !== void 0 && { fromCfnStack: options.fromCfnStack },
|
|
23378
|
+
...options.assumeRole !== void 0 && { assumeRole: options.assumeRole },
|
|
23379
|
+
...options.region !== void 0 && { region: options.region },
|
|
23380
|
+
...options.profile !== void 0 && { profile: options.profile },
|
|
23381
|
+
...options.stackRegion !== void 0 && { stackRegion: options.stackRegion }
|
|
23382
|
+
};
|
|
23383
|
+
}
|
|
23384
|
+
function buildLambdaBootOptions(options, profileCredentials, extraStateProviders) {
|
|
23385
|
+
return {
|
|
23386
|
+
containerHost: options.host,
|
|
23387
|
+
skipPull: options.pull === false,
|
|
23388
|
+
envOptions: buildLambdaEnvOptions(options, extraStateProviders),
|
|
23389
|
+
...profileCredentials !== void 0 && { profileCredentials },
|
|
23390
|
+
...extraStateProviders !== void 0 && { extraStateProviders }
|
|
23391
|
+
};
|
|
23392
|
+
}
|
|
23347
23393
|
function warnUnsupported(distribution) {
|
|
23348
23394
|
const logger = getLogger();
|
|
23349
23395
|
for (const origin of distribution.origins.values()) if (origin.kind === "custom") logger.warn(`Origin '${origin.originId}' is a custom (non-S3, non-Lambda-Function-URL) origin (${origin.domainName}); ${getEmbedConfig().cliName} start-cloudfront serves S3 origins and Lambda Function URL origins only. Requests routed to it return 502.`);
|
|
23350
23396
|
else if (origin.kind === "s3-unresolved") logger.warn(`Origin '${origin.originId}' is an S3 origin with no resolvable local source (no BucketDeployment found, or its source could not be located in the cloud assembly). Pass --from-cfn-stack to serve the deployed bucket from real S3 on demand, or point it at a local directory with --origin ${origin.originId}=<dir>. Requests routed to it return 502.`);
|
|
23351
23397
|
}
|
|
23352
|
-
function warnUnusedCacheOrigin(options) {
|
|
23353
|
-
if (options.cacheOrigin === true && !
|
|
23398
|
+
function warnUnusedCacheOrigin(options, extraStateProviders) {
|
|
23399
|
+
if (options.cacheOrigin === true && !isStateSourceActive(options, extraStateProviders)) {
|
|
23400
|
+
const flags = stateSourceFlagNames(extraStateProviders).join(" or ");
|
|
23401
|
+
getLogger().warn(`--cache-origin has no effect without ${flags}: it caches a deployed-S3 read-through origin, which is only built under a state source. A local BucketDeployment / --origin <id>=<dir> origin serves from disk and is not cached. Pass ${flags} to enable the deployed-S3 origin (then --cache-origin applies), or drop --cache-origin.`);
|
|
23402
|
+
}
|
|
23354
23403
|
}
|
|
23355
23404
|
async function resolveDeployedS3Origins(distribution, stacks, options, profileCredentials, logger, extraStateProviders) {
|
|
23356
23405
|
const readers = /* @__PURE__ */ new Map();
|
|
23357
23406
|
const buckets = /* @__PURE__ */ new Map();
|
|
23358
|
-
|
|
23407
|
+
const stateFlag = activeStateSourceFlag(options, extraStateProviders);
|
|
23408
|
+
if (stateFlag === void 0) return {
|
|
23359
23409
|
readers,
|
|
23360
23410
|
buckets
|
|
23361
23411
|
};
|
|
23362
23412
|
const synthRegion = stacks.find((s) => s.stackName === distribution.stackName)?.region;
|
|
23363
|
-
const region = options.stackRegion ?? options.region ?? synthRegion;
|
|
23364
23413
|
const provider = createLocalStateProvider(options, distribution.stackName, synthRegion, extraStateProviders);
|
|
23365
|
-
|
|
23414
|
+
let record;
|
|
23415
|
+
try {
|
|
23416
|
+
record = provider ? await provider.load(distribution.stackName, synthRegion) : void 0;
|
|
23417
|
+
} finally {
|
|
23418
|
+
provider?.dispose();
|
|
23419
|
+
}
|
|
23420
|
+
const region = options.stackRegion ?? options.region ?? synthRegion ?? record?.region;
|
|
23366
23421
|
const distributionId = record?.resources[distribution.logicalId]?.physicalId;
|
|
23367
23422
|
for (const origin of [...distribution.origins.values()]) {
|
|
23368
23423
|
if (origin.kind !== "s3-unresolved") continue;
|
|
@@ -23394,7 +23449,7 @@ async function resolveDeployedS3Origins(distribution, stacks, options, profileCr
|
|
|
23394
23449
|
originId: origin.originId,
|
|
23395
23450
|
bucketName
|
|
23396
23451
|
});
|
|
23397
|
-
logger.info(`Origin '${origin.originId}': no local BucketDeployment source; serving from deployed S3 (bucket=${bucketName}, resolved via ${via}) on demand under
|
|
23452
|
+
logger.info(`Origin '${origin.originId}': no local BucketDeployment source; serving from deployed S3 (bucket=${bucketName}, resolved via ${via}) on demand under ${stateFlag}.`);
|
|
23398
23453
|
}
|
|
23399
23454
|
return {
|
|
23400
23455
|
readers,
|
|
@@ -23411,7 +23466,7 @@ function annotateDeployedS3Origins(distribution, buckets) {
|
|
|
23411
23466
|
});
|
|
23412
23467
|
}
|
|
23413
23468
|
}
|
|
23414
|
-
async function localStartCloudFrontCommand(target, options, extraStateProviders) {
|
|
23469
|
+
async function localStartCloudFrontCommand(target, options, extraStateProviders, hostSynthesizer) {
|
|
23415
23470
|
const logger = getLogger();
|
|
23416
23471
|
if (options.verbose) logger.setLevel("debug");
|
|
23417
23472
|
const originOverrides = parseOriginOverrides(options.origin);
|
|
@@ -23427,7 +23482,7 @@ async function localStartCloudFrontCommand(target, options, extraStateProviders)
|
|
|
23427
23482
|
if (!Number.isFinite(basePort) || basePort < 0 || basePort > 65535) throw new LocalStartCloudFrontError(`--port must be 0..65535 (got ${options.port}).`);
|
|
23428
23483
|
const synthAndResolve = async () => {
|
|
23429
23484
|
logger.info("Synthesizing CDK app...");
|
|
23430
|
-
const synthesizer = new Synthesizer();
|
|
23485
|
+
const synthesizer = hostSynthesizer ?? new Synthesizer();
|
|
23431
23486
|
const context = parseContextOptions(options.context);
|
|
23432
23487
|
const synthOpts = {
|
|
23433
23488
|
app: appCmd,
|
|
@@ -23458,21 +23513,9 @@ async function localStartCloudFrontCommand(target, options, extraStateProviders)
|
|
|
23458
23513
|
const profileCredentials = options.profile ? await resolveProfileCredentials(options.profile) : void 0;
|
|
23459
23514
|
const deployedS3 = await resolveDeployedS3Origins(initial.distribution, initial.stacks, options, profileCredentials, logger, extraStateProviders);
|
|
23460
23515
|
warnUnsupported(initial.distribution);
|
|
23461
|
-
warnUnusedCacheOrigin(options);
|
|
23462
|
-
const envOptions = {
|
|
23463
|
-
...options.fromCfnStack !== void 0 && { fromCfnStack: options.fromCfnStack },
|
|
23464
|
-
...options.assumeRole !== void 0 && { assumeRole: options.assumeRole },
|
|
23465
|
-
...options.region !== void 0 && { region: options.region },
|
|
23466
|
-
...options.profile !== void 0 && { profile: options.profile },
|
|
23467
|
-
...options.stackRegion !== void 0 && { stackRegion: options.stackRegion }
|
|
23468
|
-
};
|
|
23516
|
+
warnUnusedCacheOrigin(options, extraStateProviders);
|
|
23469
23517
|
await attachKvsModules(initial.distribution, initial.stacks, options, profileCredentials, logger, extraStateProviders);
|
|
23470
|
-
const bootOpts =
|
|
23471
|
-
containerHost: options.host,
|
|
23472
|
-
skipPull: options.pull === false,
|
|
23473
|
-
envOptions,
|
|
23474
|
-
...profileCredentials !== void 0 && { profileCredentials }
|
|
23475
|
-
};
|
|
23518
|
+
const bootOpts = buildLambdaBootOptions(options, profileCredentials, extraStateProviders);
|
|
23476
23519
|
const { invokers: lambdaInvokers, runners: lambdaRunners } = await bootLambdaUrlOrigins(initial.distribution, initial.stacks, bootOpts);
|
|
23477
23520
|
const { invokers: edgeInvokers, runners: edgeRunners } = await bootLambdaEdgeFunctions(initial.distribution, initial.stacks, bootOpts);
|
|
23478
23521
|
let server;
|
|
@@ -23552,8 +23595,8 @@ async function localStartCloudFrontCommand(target, options, extraStateProviders)
|
|
|
23552
23595
|
}
|
|
23553
23596
|
function createLocalStartCloudFrontCommand(opts = {}) {
|
|
23554
23597
|
setEmbedConfig(opts.embedConfig);
|
|
23555
|
-
const cmd = new Command("start-cloudfront").description("Run a long-running local server that serves a CloudFront distribution: its S3 origin content (resolved from the BucketDeployment source in the cloud assembly) and its Lambda Function URL origins (the backing Lambda is run locally via RIE), plus its viewer-request / viewer-response CloudFront Functions, reproducing the distribution routing locally so a rewrite / routing change is verifiable in seconds. Serves S3 and Lambda Function URL origins
|
|
23556
|
-
await localStartCloudFrontCommand(target, options, opts.extraStateProviders);
|
|
23598
|
+
const cmd = new Command("start-cloudfront").description("Run a long-running local server that serves a CloudFront distribution: its S3 origin content (resolved from the BucketDeployment source in the cloud assembly) and its Lambda Function URL origins (the backing Lambda is run locally via RIE), plus its viewer-request / viewer-response CloudFront Functions, reproducing the distribution routing locally so a rewrite / routing change is verifiable in seconds. Serves S3 and Lambda Function URL origins, and runs Lambda@Edge functions in local RIE containers. Both Lambda kinds need Docker: a Function URL origin that fails to boot stops start-up, while a Lambda@Edge function that fails to boot is warn-and-skipped (its stage does not run). Other custom origins are not run (warn-and-skip; requests routed to one return 502). Tip: omit the target in a terminal to pick interactively.").argument("[target]", "CloudFront distribution to serve. Accepts the CDK Construct path ('MyStack/MyDist'), an ancestor prefix, or the stack-qualified logical id ('MyStack:MyDist'). When omitted in a TTY, an interactive picker opens.").action(withErrorHandling(async (target, options) => {
|
|
23599
|
+
await localStartCloudFrontCommand(target, options, opts.extraStateProviders, opts.synthesizer);
|
|
23557
23600
|
}));
|
|
23558
23601
|
addStartCloudFrontSpecificOptions(cmd);
|
|
23559
23602
|
[
|
|
@@ -23908,7 +23951,7 @@ function resolveAgentCoreServePlan(protocol) {
|
|
|
23908
23951
|
readyPath: void 0
|
|
23909
23952
|
};
|
|
23910
23953
|
}
|
|
23911
|
-
async function localStartAgentCoreCommand(target, options, extraStateProviders) {
|
|
23954
|
+
async function localStartAgentCoreCommand(target, options, extraStateProviders, hostSynthesizer) {
|
|
23912
23955
|
const logger = getLogger();
|
|
23913
23956
|
if (options.verbose) logger.setLevel("debug");
|
|
23914
23957
|
let containerId;
|
|
@@ -23964,7 +24007,7 @@ async function localStartAgentCoreCommand(target, options, extraStateProviders)
|
|
|
23964
24007
|
const appCmd = resolveApp(options.app);
|
|
23965
24008
|
if (!appCmd) throw new Error(`No CDK app specified. Pass --app, set ${getEmbedConfig().envPrefix}_APP, or add "app" to cdk.json.`);
|
|
23966
24009
|
logger.info("Synthesizing CDK app...");
|
|
23967
|
-
const synthesizer = new Synthesizer();
|
|
24010
|
+
const synthesizer = hostSynthesizer ?? new Synthesizer();
|
|
23968
24011
|
const context = parseContextOptions(options.context);
|
|
23969
24012
|
const synthOpts = {
|
|
23970
24013
|
app: appCmd,
|
|
@@ -24184,7 +24227,7 @@ async function localStartAgentCoreCommand(target, options, extraStateProviders)
|
|
|
24184
24227
|
function createLocalStartAgentCoreCommand(opts = {}) {
|
|
24185
24228
|
setEmbedConfig(opts.embedConfig);
|
|
24186
24229
|
const cmd = new Command("start-agentcore").description("Serve a Bedrock AgentCore Runtime's contract locally against a warm container. Boots the AWS::BedrockAgentCore::Runtime container ONCE (same image / env / credential resolution as invoke-agentcore) and keeps it warm, so a client can hit it repeatedly. HTTP / AGUI runtimes serve POST /invocations + GET /ping plus the bidirectional /ws endpoint behind a host bridge (injects the AgentCore session-id, and Authorization under a customJwtAuthorizer, so a header-less client like a browser can connect); MCP runtimes serve POST /mcp, A2A POST /. Target accepts a CDK display path (MyStack/MyAgent) or stack-qualified logical ID; single-stack apps may omit the prefix. Omit <target> in a TTY to pick from a list. Runs until ^C.").argument("[target]", "CDK display path or stack-qualified logical ID of the AgentCore Runtime to serve (omit to pick interactively in a TTY)").action(withErrorHandling(async (target, options) => {
|
|
24187
|
-
await localStartAgentCoreCommand(target, options, opts.extraStateProviders);
|
|
24230
|
+
await localStartAgentCoreCommand(target, options, opts.extraStateProviders, opts.synthesizer);
|
|
24188
24231
|
}));
|
|
24189
24232
|
addStartAgentCoreSpecificOptions(cmd);
|
|
24190
24233
|
[
|
|
@@ -29527,4 +29570,4 @@ function addStudioSpecificOptions(cmd) {
|
|
|
29527
29570
|
|
|
29528
29571
|
//#endregion
|
|
29529
29572
|
export { applyEdgeResponseResult as $, buildJwksUrlFromIssuer as $n, resolveCfnStackName as $r, buildCloudMapIndex as $t, startAgentCoreHttpServer as A, DynamicReferenceResolver as Ai, classifySourceChange as An, ConnectionRegistry as Ar, addRunTaskSpecificOptions as At, idFromArn as B, resolveProfileCredentials as Bi, 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, keysOverriddenBy as Fi, createWatchPredicates as Fn, buildDisconnectEvent as Fr, addImageOverrideOptions as Ft, classifyS3Error as G, filterRoutesByApiIdentifiers as Gn, substituteEnvVarsFromState as Gr, enforceImageOverrideOrphans as Gt, createDeployedKvsDataSource as H, isProxyEnvConfigured as Hi, resolveEnvVars$1 as Hn, EcsTaskResolutionError as Hr, runEcsServiceEmulator as Ht, normalizeKvsFileKeys as I, parseDynamicReference as Ii, 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, resolveDynamicReferencesInEnv as Li, createAuthorizerCache as Ln, architectureToPlatform as Lr, ecsClusterOption as Lt, startAgentCoreWsBridge as M, deployedFillMayBeSecret as Mi, createLocalInvokeCommand as Mn, handleConnectionsRequest as Mr, MAX_TASKS_SUBNET_RANGE_CAP as Mt, LocalStartCloudFrontError as N, firstUsableRegion as Ni, 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, keysNotFromTemplate as Pi, createLocalStartApiCommand as Pn, buildConnectEvent as Pr, addEcsAssumeRoleOptions as Pt, applyEdgeRequestResult as Q, buildCognitoJwksUrl as Qn, resolveCfnRegion as Qr, listPinnedTargets as Qt, parseOriginOverrides as R, withoutKeys as Ri, 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, buildProxyClientConfig as Vi, 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, containsDynamicReference as ji, addInvokeSpecificOptions as jn, buildMgmtEndpointEnvUrl as jr, createLocalRunTaskCommand as jt, selectServeInboundAuth as k, DynamicReferenceResolutionError 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, buildStsClientConfig as zi, attachStageContext as zn, resolveRuntimeCodeMountPath as zr, parseRestartPolicy as zt };
|
|
29530
|
-
//# sourceMappingURL=local-studio-
|
|
29573
|
+
//# sourceMappingURL=local-studio-Mta0QWLf.js.map
|