cdk-local 0.151.1 → 0.152.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.
@@ -1,5 +1,5 @@
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";
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-BSdu45mc.js";
2
+ import { a as setEmbedConfig, r as getEmbedConfig, t as getLogger } from "./logger-CwFXOD1w.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";
@@ -358,6 +358,120 @@ function buildStsClientConfig(args) {
358
358
  };
359
359
  }
360
360
 
361
+ //#endregion
362
+ //#region src/utils/workload-identity.ts
363
+ let record;
364
+ let stripWarned = false;
365
+ const SECOND_ASSUME_MESSAGE = "A role was already assumed in this process; refusing to assume a second one. Pass --role-arn once.";
366
+ function recordAssumedRole(caller) {
367
+ if (record !== void 0) throw new Error(SECOND_ASSUME_MESSAGE);
368
+ record = { caller: caller ? {
369
+ accessKeyId: caller.accessKeyId,
370
+ secretAccessKey: caller.secretAccessKey,
371
+ ...caller.sessionToken ? { sessionToken: caller.sessionToken } : {}
372
+ } : void 0 };
373
+ }
374
+ function assumedRoleRecorded() {
375
+ return record !== void 0;
376
+ }
377
+ function readEnvCallerCredentials(env = process.env) {
378
+ const accessKeyId = env["AWS_ACCESS_KEY_ID"];
379
+ const secretAccessKey = env["AWS_SECRET_ACCESS_KEY"];
380
+ if (!accessKeyId || !secretAccessKey) return void 0;
381
+ const sessionToken = env["AWS_SESSION_TOKEN"];
382
+ return {
383
+ accessKeyId,
384
+ secretAccessKey,
385
+ ...sessionToken ? { sessionToken } : {}
386
+ };
387
+ }
388
+ function resetWorkloadIdentity() {
389
+ record = void 0;
390
+ stripWarned = false;
391
+ }
392
+ function callerRecord() {
393
+ return getEmbedConfig().workloadIdentity === "caller" ? record : void 0;
394
+ }
395
+ const MULTIPLE_CREDENTIAL_SOURCES_WARNING = "Multiple credential sources detected";
396
+ const chainLogger = {
397
+ debug: () => {},
398
+ info: () => {},
399
+ warn: (...args) => {
400
+ const text = args.map(String).join(" ");
401
+ if (text.includes(MULTIPLE_CREDENTIAL_SOURCES_WARNING)) return;
402
+ getLogger().warn(text);
403
+ },
404
+ error: (...args) => {
405
+ getLogger().error(args.map(String).join(" "));
406
+ }
407
+ };
408
+ function callerChainWithoutEnv(proxied) {
409
+ let chain;
410
+ return async (identityProperties) => {
411
+ chain ??= (async () => {
412
+ const { defaultProvider } = await import("@aws-sdk/credential-provider-node");
413
+ return defaultProvider({
414
+ profile: "default",
415
+ logger: chainLogger,
416
+ ...proxied ? { clientConfig: { requestHandler: buildProxyRequestHandler() } } : {}
417
+ });
418
+ })().catch((err) => {
419
+ chain = void 0;
420
+ throw err;
421
+ });
422
+ return (await chain)(identityProperties);
423
+ };
424
+ }
425
+ function workloadClientConfig(opts = {}) {
426
+ const base = buildProxyClientConfig({ profile: opts.profile });
427
+ const rec = callerRecord();
428
+ if (!rec) return base;
429
+ if (opts.profile || process.env["AWS_PROFILE"]) return base;
430
+ if (rec.caller) {
431
+ const caller = rec.caller;
432
+ const credentials = async () => ({
433
+ accessKeyId: caller.accessKeyId,
434
+ secretAccessKey: caller.secretAccessKey,
435
+ ...caller.sessionToken ? { sessionToken: caller.sessionToken } : {}
436
+ });
437
+ return {
438
+ ...base,
439
+ credentials
440
+ };
441
+ }
442
+ return {
443
+ ...base,
444
+ credentials: callerChainWithoutEnv(base.requestHandler !== void 0)
445
+ };
446
+ }
447
+ function workloadStsClientConfig(args) {
448
+ return {
449
+ ...workloadClientConfig({ profile: args.profile }),
450
+ ...args.region && { region: args.region },
451
+ ...args.profile && { profile: args.profile }
452
+ };
453
+ }
454
+ function applyWorkloadEnvCredentials(env) {
455
+ const rec = callerRecord();
456
+ if (!rec) return "unchanged";
457
+ if (rec.caller) {
458
+ env["AWS_ACCESS_KEY_ID"] = rec.caller.accessKeyId;
459
+ env["AWS_SECRET_ACCESS_KEY"] = rec.caller.secretAccessKey;
460
+ if (rec.caller.sessionToken) env["AWS_SESSION_TOKEN"] = rec.caller.sessionToken;
461
+ else delete env["AWS_SESSION_TOKEN"];
462
+ return "restored";
463
+ }
464
+ delete env["AWS_ACCESS_KEY_ID"];
465
+ delete env["AWS_SECRET_ACCESS_KEY"];
466
+ delete env["AWS_SESSION_TOKEN"];
467
+ return "stripped";
468
+ }
469
+ function warnWorkloadCredentialsStripped() {
470
+ if (stripWarned) return;
471
+ stripWarned = true;
472
+ getLogger().warn("The --role-arn role is not handed to the emulated workload, and your shell had no static AWS credentials to hand it instead, so the container receives none. Pass --profile <name>, or export static credentials, to give it an identity.");
473
+ }
474
+
361
475
  //#endregion
362
476
  //#region src/utils/role-arn.ts
363
477
  const IAM_ROLE_ARN_MAX_LENGTH = 2048;
@@ -391,7 +505,7 @@ async function assumeRoleCredentials(opts) {
391
505
  const message = refusedRoleArnMessage(opts.roleArn);
392
506
  throw opts.makeError ? opts.makeError(message) : new AssumeRoleFailure(message, detail);
393
507
  }
394
- const sts = new STSClient(buildStsClientConfig({
508
+ const sts = new STSClient(workloadStsClientConfig({
395
509
  region: opts.region,
396
510
  profile: opts.profile
397
511
  }));
@@ -425,6 +539,7 @@ async function applyRoleArnIfSet(opts) {
425
539
  const roleArn = opts.roleArn || process.env[`${getEmbedConfig().envPrefix}_ROLE_ARN`];
426
540
  if (!roleArn) return;
427
541
  if (!isIamRoleArn(roleArn)) throw new Error(refusedRoleArnMessage(roleArn));
542
+ if (assumedRoleRecorded() && getEmbedConfig().workloadIdentity === "caller") throw new Error(SECOND_ASSUME_MESSAGE);
428
543
  const logger = getLogger().child("role-arn");
429
544
  const shownArn = flattenToOneLine(roleArn);
430
545
  logger.debug(`Assuming role ${shownArn}...`);
@@ -447,6 +562,7 @@ async function applyRoleArnIfSet(opts) {
447
562
  if (!response.Credentials) throw new Error(`AssumeRole returned no credentials for role ${shownArn}`);
448
563
  const { AccessKeyId, SecretAccessKey, SessionToken, Expiration } = response.Credentials;
449
564
  if (!AccessKeyId || !SecretAccessKey || !SessionToken) throw new Error(`AssumeRole response missing credentials fields for role ${shownArn}`);
565
+ if (!assumedRoleRecorded()) recordAssumedRole(readEnvCallerCredentials());
450
566
  process.env["AWS_ACCESS_KEY_ID"] = AccessKeyId;
451
567
  process.env["AWS_SECRET_ACCESS_KEY"] = SecretAccessKey;
452
568
  process.env["AWS_SESSION_TOKEN"] = SessionToken;
@@ -751,7 +867,7 @@ var DynamicReferenceResolver = class {
751
867
  let c = this.smClients.get(key);
752
868
  if (!c) {
753
869
  c = this.options.secretsManagerClientFactory?.(region) ?? new SecretsManagerClient({
754
- ...buildProxyClientConfig({ profile: this.options.profile }),
870
+ ...workloadClientConfig({ profile: this.options.profile }),
755
871
  ...region && { region },
756
872
  ...this.options.profile && { profile: this.options.profile }
757
873
  });
@@ -764,7 +880,7 @@ var DynamicReferenceResolver = class {
764
880
  let c = this.ssmClients.get(key);
765
881
  if (!c) {
766
882
  c = this.options.ssmClientFactory?.(region) ?? new SSMClient({
767
- ...buildProxyClientConfig({ profile: this.options.profile }),
883
+ ...workloadClientConfig({ profile: this.options.profile }),
768
884
  ...region && { region },
769
885
  ...this.options.profile && { profile: this.options.profile }
770
886
  });
@@ -2082,37 +2198,37 @@ async function getClient(service, region) {
2082
2198
  switch (service) {
2083
2199
  case "sqs":
2084
2200
  client = new (await (import("@aws-sdk/client-sqs"))).SQSClient({
2085
- ...buildProxyClientConfig(),
2201
+ ...workloadClientConfig(),
2086
2202
  region
2087
2203
  });
2088
2204
  break;
2089
2205
  case "sns":
2090
2206
  client = new (await (import("@aws-sdk/client-sns"))).SNSClient({
2091
- ...buildProxyClientConfig(),
2207
+ ...workloadClientConfig(),
2092
2208
  region
2093
2209
  });
2094
2210
  break;
2095
2211
  case "eventbridge":
2096
2212
  client = new (await (import("@aws-sdk/client-eventbridge"))).EventBridgeClient({
2097
- ...buildProxyClientConfig(),
2213
+ ...workloadClientConfig(),
2098
2214
  region
2099
2215
  });
2100
2216
  break;
2101
2217
  case "kinesis":
2102
2218
  client = new (await (import("@aws-sdk/client-kinesis"))).KinesisClient({
2103
- ...buildProxyClientConfig(),
2219
+ ...workloadClientConfig(),
2104
2220
  region
2105
2221
  });
2106
2222
  break;
2107
2223
  case "sfn":
2108
2224
  client = new (await (import("@aws-sdk/client-sfn"))).SFNClient({
2109
- ...buildProxyClientConfig(),
2225
+ ...workloadClientConfig(),
2110
2226
  region
2111
2227
  });
2112
2228
  break;
2113
2229
  case "ssm":
2114
2230
  client = new (await (import("@aws-sdk/client-ssm"))).SSMClient({
2115
- ...buildProxyClientConfig(),
2231
+ ...workloadClientConfig(),
2116
2232
  region
2117
2233
  });
2118
2234
  break;
@@ -3392,7 +3508,7 @@ async function resolveMultiTarget(provided, params) {
3392
3508
  async function loadSynthDeps() {
3393
3509
  const [toolkitLib, { CdklIoHost }, { AssetManifestArtifact }] = await Promise.all([
3394
3510
  import("@aws-cdk/toolkit-lib"),
3395
- import("./cdkl-io-host-9lPKscRA.js"),
3511
+ import("./cdkl-io-host-CDXI-7cC.js"),
3396
3512
  import("@aws-cdk/cloud-assembly-api")
3397
3513
  ]);
3398
3514
  return {
@@ -3672,7 +3788,7 @@ var CfnLocalStateProvider = class {
3672
3788
  getClient() {
3673
3789
  if (this.disposed) throw new Error("CfnLocalStateProvider used after dispose()");
3674
3790
  if (!this.client) this.client = new CloudFormationClient({
3675
- ...buildProxyClientConfig({ profile: this.clientOptions.profile }),
3791
+ ...workloadClientConfig({ profile: this.clientOptions.profile }),
3676
3792
  region: this.region,
3677
3793
  ...this.clientOptions.profile !== void 0 && { profile: this.clientOptions.profile }
3678
3794
  });
@@ -3681,7 +3797,7 @@ var CfnLocalStateProvider = class {
3681
3797
  getLambdaClient() {
3682
3798
  if (this.disposed) throw new Error("CfnLocalStateProvider used after dispose()");
3683
3799
  if (!this.lambdaClient) this.lambdaClient = new LambdaClient({
3684
- ...buildProxyClientConfig({ profile: this.clientOptions.profile }),
3800
+ ...workloadClientConfig({ profile: this.clientOptions.profile }),
3685
3801
  region: this.region,
3686
3802
  ...this.clientOptions.profile !== void 0 && { profile: this.clientOptions.profile }
3687
3803
  });
@@ -3690,7 +3806,7 @@ var CfnLocalStateProvider = class {
3690
3806
  getAgentCoreControlClient() {
3691
3807
  if (this.disposed) throw new Error("CfnLocalStateProvider used after dispose()");
3692
3808
  if (!this.agentCoreControlClient) this.agentCoreControlClient = new BedrockAgentCoreControlClient({
3693
- ...buildProxyClientConfig({ profile: this.clientOptions.profile }),
3809
+ ...workloadClientConfig({ profile: this.clientOptions.profile }),
3694
3810
  region: this.region,
3695
3811
  ...this.clientOptions.profile !== void 0 && { profile: this.clientOptions.profile }
3696
3812
  });
@@ -3699,7 +3815,7 @@ var CfnLocalStateProvider = class {
3699
3815
  getSsmClient() {
3700
3816
  if (this.disposed) throw new Error("CfnLocalStateProvider used after dispose()");
3701
3817
  if (!this.ssmClient) this.ssmClient = new SSMClient({
3702
- ...buildProxyClientConfig({ profile: this.clientOptions.profile }),
3818
+ ...workloadClientConfig({ profile: this.clientOptions.profile }),
3703
3819
  region: this.region,
3704
3820
  ...this.clientOptions.profile !== void 0 && { profile: this.clientOptions.profile }
3705
3821
  });
@@ -6053,7 +6169,7 @@ async function pullEcrImage(imageUri, options) {
6053
6169
  async function assumeRoleForEcr(roleArn, callerRegion, profile, logger) {
6054
6170
  if (!isIamRoleArn(roleArn)) throw new LocalInvokeBuildError(refusedRoleArnMessage(roleArn));
6055
6171
  logger.debug(`Assuming role ${roleArn} for ECR pull...`);
6056
- const sts = new STSClient(buildStsClientConfig({
6172
+ const sts = new STSClient(workloadStsClientConfig({
6057
6173
  region: callerRegion,
6058
6174
  profile
6059
6175
  }));
@@ -10272,7 +10388,7 @@ function defaultCredentialsLoader() {
10272
10388
  if (cached) return cached;
10273
10389
  cached = (async () => {
10274
10390
  const { STSClient } = await import("@aws-sdk/client-sts");
10275
- const client = new STSClient({ ...buildProxyClientConfig() });
10391
+ const client = new STSClient({ ...workloadClientConfig() });
10276
10392
  const creds = await client.config.credentials();
10277
10393
  client.destroy();
10278
10394
  return {
@@ -11640,7 +11756,7 @@ async function assumeRoleForLayer(roleArn, region, options) {
11640
11756
  async function defaultLambdaClientFactory() {
11641
11757
  const { LambdaClient } = await import("@aws-sdk/client-lambda");
11642
11758
  return (region, credentials) => new LambdaClient({
11643
- ...buildProxyClientConfig(),
11759
+ ...workloadClientConfig(),
11644
11760
  region,
11645
11761
  ...credentials && { credentials: {
11646
11762
  accessKeyId: credentials.accessKeyId,
@@ -11652,7 +11768,7 @@ async function defaultLambdaClientFactory() {
11652
11768
  async function defaultStsClientFactory() {
11653
11769
  const { STSClient } = await import("@aws-sdk/client-sts");
11654
11770
  return (region) => new STSClient({
11655
- ...buildProxyClientConfig(),
11771
+ ...workloadClientConfig(),
11656
11772
  region
11657
11773
  });
11658
11774
  }
@@ -12718,13 +12834,14 @@ async function buildContainerSpec(args) {
12718
12834
  dockerEnv["AWS_SESSION_TOKEN"] = creds.sessionToken;
12719
12835
  if (stsRegion) dockerEnv["AWS_REGION"] = stsRegion;
12720
12836
  } else {
12721
- forwardAwsEnv$3(dockerEnv);
12837
+ const forwarded = forwardAwsEnv$3(dockerEnv);
12722
12838
  if (profileCredentials) {
12723
12839
  dockerEnv["AWS_ACCESS_KEY_ID"] = profileCredentials.accessKeyId;
12724
12840
  dockerEnv["AWS_SECRET_ACCESS_KEY"] = profileCredentials.secretAccessKey;
12725
12841
  if (profileCredentials.sessionToken) dockerEnv["AWS_SESSION_TOKEN"] = profileCredentials.sessionToken;
12726
12842
  else delete dockerEnv["AWS_SESSION_TOKEN"];
12727
12843
  }
12844
+ if (forwarded === "stripped" && !dockerEnv["AWS_ACCESS_KEY_ID"]) warnWorkloadCredentialsStripped();
12728
12845
  if (profileCredsFile) {
12729
12846
  dockerEnv["AWS_SHARED_CREDENTIALS_FILE"] = profileCredsFile.containerPath;
12730
12847
  dockerEnv["AWS_PROFILE"] = profileCredsFile.profileName;
@@ -13011,6 +13128,7 @@ function forwardAwsEnv$3(env) {
13011
13128
  const value = process.env[key];
13012
13129
  if (value !== void 0) env[key] = value;
13013
13130
  }
13131
+ return applyWorkloadEnvCredentials(env);
13014
13132
  }
13015
13133
  function resolveContainerFallbackRegion(args) {
13016
13134
  return args.stackRegionOverride ?? args.synthRegion ?? args.profileRegion;
@@ -13199,7 +13317,7 @@ async function resolvePseudoParametersForStartApi(stateRegion, options) {
13199
13317
  let accountId;
13200
13318
  try {
13201
13319
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
13202
- const sts = new STSClient(buildStsClientConfig({
13320
+ const sts = new STSClient(workloadStsClientConfig({
13203
13321
  region,
13204
13322
  profile: options.profile
13205
13323
  }));
@@ -13584,7 +13702,7 @@ async function resolvePseudoParametersForInvoke(stackRegion, options) {
13584
13702
  let accountId;
13585
13703
  try {
13586
13704
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
13587
- const sts = new STSClient(buildStsClientConfig({
13705
+ const sts = new STSClient(workloadStsClientConfig({
13588
13706
  region,
13589
13707
  profile: options.profile
13590
13708
  }));
@@ -13660,6 +13778,7 @@ function forwardAwsEnv$2(env) {
13660
13778
  const value = process.env[key];
13661
13779
  if (value !== void 0) env[key] = value;
13662
13780
  }
13781
+ return applyWorkloadEnvCredentials(env);
13663
13782
  }
13664
13783
  function applyProfileCredentialsOverlay(env, profileCreds, assumeRoleActive) {
13665
13784
  if (!profileCreds) return;
@@ -13804,8 +13923,9 @@ async function resolveLambdaContainerEnvWith(lambda, options, profileCredentials
13804
13923
  }
13805
13924
  }
13806
13925
  if (!assumeSucceeded) {
13807
- forwardAwsEnv$2(dockerEnv);
13926
+ const forwarded = forwardAwsEnv$2(dockerEnv);
13808
13927
  applyProfileCredentialsOverlay(dockerEnv, profileCredentials, false);
13928
+ if (forwarded === "stripped" && !dockerEnv["AWS_ACCESS_KEY_ID"]) warnWorkloadCredentialsStripped();
13809
13929
  }
13810
13930
  if (!dockerEnv["AWS_REGION"] && !dockerEnv["AWS_DEFAULT_REGION"]) {
13811
13931
  const fallbackRegion = resolveContainerFallbackRegion({
@@ -15030,10 +15150,16 @@ async function resolveHostCredentialsForSigV4(options, resolved, loaded, region,
15030
15150
  ...creds.sessionToken && { sessionToken: creds.sessionToken }
15031
15151
  };
15032
15152
  }
15033
- const accessKeyId = process.env["AWS_ACCESS_KEY_ID"];
15034
- const secretAccessKey = process.env["AWS_SECRET_ACCESS_KEY"];
15153
+ const hostEnv = {
15154
+ AWS_ACCESS_KEY_ID: process.env["AWS_ACCESS_KEY_ID"],
15155
+ AWS_SECRET_ACCESS_KEY: process.env["AWS_SECRET_ACCESS_KEY"],
15156
+ AWS_SESSION_TOKEN: process.env["AWS_SESSION_TOKEN"]
15157
+ };
15158
+ applyWorkloadEnvCredentials(hostEnv);
15159
+ const accessKeyId = hostEnv["AWS_ACCESS_KEY_ID"];
15160
+ const secretAccessKey = hostEnv["AWS_SECRET_ACCESS_KEY"];
15035
15161
  if (accessKeyId && secretAccessKey) {
15036
- const sessionToken = process.env["AWS_SESSION_TOKEN"];
15162
+ const sessionToken = hostEnv["AWS_SESSION_TOKEN"];
15037
15163
  return {
15038
15164
  accessKeyId,
15039
15165
  secretAccessKey,
@@ -15260,7 +15386,7 @@ async function buildAgentCoreImageContext(candidate, stateProvider, options) {
15260
15386
  }
15261
15387
  async function resolveCallerAccountId$2(region, profile) {
15262
15388
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
15263
- const sts = new STSClient(buildStsClientConfig({
15389
+ const sts = new STSClient(workloadStsClientConfig({
15264
15390
  region,
15265
15391
  profile
15266
15392
  }));
@@ -15288,8 +15414,9 @@ async function applyAgentCoreCredentialEnv(dockerEnv, args) {
15288
15414
  }
15289
15415
  }
15290
15416
  if (!assumeSucceeded) {
15291
- forwardAwsEnv$1(dockerEnv);
15417
+ const forwarded = forwardAwsEnv$1(dockerEnv);
15292
15418
  applyProfileCredentialsOverlay(dockerEnv, args.profileCredentials, false);
15419
+ if (forwarded === "stripped" && !dockerEnv["AWS_ACCESS_KEY_ID"]) warnWorkloadCredentialsStripped();
15293
15420
  if (args.profileCredsFile) {
15294
15421
  dockerEnv["AWS_SHARED_CREDENTIALS_FILE"] = args.profileCredsFile.containerPath;
15295
15422
  dockerEnv["AWS_PROFILE"] = args.profileCredsFile.profileName;
@@ -15402,11 +15529,12 @@ function forwardAwsEnv$1(env) {
15402
15529
  const value = process.env[key];
15403
15530
  if (value !== void 0) env[key] = value;
15404
15531
  }
15532
+ return applyWorkloadEnvCredentials(env);
15405
15533
  }
15406
15534
  async function assumeAgentCoreExecutionRole(roleArn, region, profile) {
15407
15535
  if (!isIamRoleArn(roleArn)) throw new AssumeRoleFailure(refusedRoleArnMessage(roleArn), `the role ARN is not well-formed: ${describeRejectedRoleArn(roleArn)}`);
15408
15536
  const { STSClient, AssumeRoleCommand } = await import("@aws-sdk/client-sts");
15409
- const sts = new STSClient(buildStsClientConfig({
15537
+ const sts = new STSClient(workloadStsClientConfig({
15410
15538
  region,
15411
15539
  profile
15412
15540
  }));
@@ -16009,12 +16137,12 @@ async function resolveEcsSecrets(entries, options = {}) {
16009
16137
  if (entries.length === 0) return [];
16010
16138
  const logger = getLogger().child("ecs-secrets");
16011
16139
  const secretsClient = options.secretsManagerClient ?? new SecretsManagerClient({
16012
- ...buildProxyClientConfig({ profile: options.profile }),
16140
+ ...workloadClientConfig({ profile: options.profile }),
16013
16141
  ...options.region && { region: options.region },
16014
16142
  ...options.profile && { profile: options.profile }
16015
16143
  });
16016
16144
  const ssmClient = options.ssmClient ?? new SSMClient({
16017
- ...buildProxyClientConfig({ profile: options.profile }),
16145
+ ...workloadClientConfig({ profile: options.profile }),
16018
16146
  ...options.region && { region: options.region },
16019
16147
  ...options.profile && { profile: options.profile }
16020
16148
  });
@@ -17381,7 +17509,7 @@ async function softReloadReplica(args) {
17381
17509
  const defaultDockerInspectWorkdirImpl = async (containerId) => {
17382
17510
  const { execFile } = await import("node:child_process");
17383
17511
  const { promisify } = await import("node:util");
17384
- const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
17512
+ const { getDockerCmd } = await import("./docker-cmd-BSdu45mc.js").then((n) => n.t);
17385
17513
  const { stdout } = await promisify(execFile)(getDockerCmd(), [
17386
17514
  "inspect",
17387
17515
  "--format",
@@ -17394,7 +17522,7 @@ let dockerInspectWorkdirImpl = defaultDockerInspectWorkdirImpl;
17394
17522
  const defaultDockerCpImpl = async (src, dst) => {
17395
17523
  const { execFile } = await import("node:child_process");
17396
17524
  const { promisify } = await import("node:util");
17397
- const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
17525
+ const { getDockerCmd } = await import("./docker-cmd-BSdu45mc.js").then((n) => n.t);
17398
17526
  await promisify(execFile)(getDockerCmd(), [
17399
17527
  "cp",
17400
17528
  src,
@@ -17405,7 +17533,7 @@ let dockerCpImpl = defaultDockerCpImpl;
17405
17533
  const defaultDockerRestartImpl = async (containerId) => {
17406
17534
  const { execFile } = await import("node:child_process");
17407
17535
  const { promisify } = await import("node:util");
17408
- const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
17536
+ const { getDockerCmd } = await import("./docker-cmd-BSdu45mc.js").then((n) => n.t);
17409
17537
  await promisify(execFile)(getDockerCmd(), ["restart", containerId]);
17410
17538
  };
17411
17539
  let dockerRestartImpl = defaultDockerRestartImpl;
@@ -17423,7 +17551,7 @@ async function disconnectOldFromSharedNetwork(oldInstance) {
17423
17551
  const defaultDockerNetworkDisconnectImpl = async (networkName, containerId) => {
17424
17552
  const { execFile } = await import("node:child_process");
17425
17553
  const { promisify } = await import("node:util");
17426
- const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
17554
+ const { getDockerCmd } = await import("./docker-cmd-BSdu45mc.js").then((n) => n.t);
17427
17555
  await promisify(execFile)(getDockerCmd(), [
17428
17556
  "network",
17429
17557
  "disconnect",
@@ -17563,7 +17691,7 @@ function pickEssentialContainerId(instance, service) {
17563
17691
  const defaultWaitForExitImpl = async (containerId) => {
17564
17692
  const { execFile } = await import("node:child_process");
17565
17693
  const { promisify } = await import("node:util");
17566
- const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
17694
+ const { getDockerCmd } = await import("./docker-cmd-BSdu45mc.js").then((n) => n.t);
17567
17695
  const { stdout } = await promisify(execFile)(getDockerCmd(), ["wait", containerId], { maxBuffer: 1024 * 1024 });
17568
17696
  const code = parseInt(stdout.trim(), 10);
17569
17697
  return Number.isFinite(code) ? code : -1;
@@ -17573,7 +17701,7 @@ const EXIT_LOG_TAIL_LINES = 50;
17573
17701
  const defaultReadContainerLogsImpl = async (containerId) => {
17574
17702
  const { execFile } = await import("node:child_process");
17575
17703
  const { promisify } = await import("node:util");
17576
- const { getDockerCmd } = await import("./docker-cmd-GME6jkl9.js").then((n) => n.t);
17704
+ const { getDockerCmd } = await import("./docker-cmd-BSdu45mc.js").then((n) => n.t);
17577
17705
  const { stdout, stderr } = await promisify(execFile)(getDockerCmd(), [
17578
17706
  "logs",
17579
17707
  "--tail",
@@ -18916,6 +19044,7 @@ function forwardAwsEnv() {
18916
19044
  const value = process.env[key];
18917
19045
  if (value !== void 0) env[key] = value;
18918
19046
  }
19047
+ if (applyWorkloadEnvCredentials(env) === "stripped" && !env["AWS_ACCESS_KEY_ID"]) warnWorkloadCredentialsStripped();
18919
19048
  return env;
18920
19049
  }
18921
19050
  function materializeInlineCode(handler, source, fileExtension) {
@@ -20363,7 +20492,7 @@ function describeForwardTargetForSummary(t) {
20363
20492
  async function resolvePlaceholderAccount$1(arn, region, profile) {
20364
20493
  if (!arn.includes("${AWS::AccountId}")) return arn;
20365
20494
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
20366
- const sts = new STSClient(buildStsClientConfig({
20495
+ const sts = new STSClient(workloadStsClientConfig({
20367
20496
  region,
20368
20497
  profile
20369
20498
  }));
@@ -20444,7 +20573,7 @@ function pickCandidateStack$1(stackPattern, stacks) {
20444
20573
  }
20445
20574
  async function resolveCallerAccountId$1(region, profile) {
20446
20575
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
20447
- const sts = new STSClient(buildStsClientConfig({
20576
+ const sts = new STSClient(workloadStsClientConfig({
20448
20577
  region,
20449
20578
  profile
20450
20579
  }));
@@ -20789,7 +20918,7 @@ var PlaceholderAccountError = class PlaceholderAccountError extends Error {
20789
20918
  async function resolvePlaceholderAccount(arn, region, profile) {
20790
20919
  if (!arn.includes("${AWS::AccountId}")) return arn;
20791
20920
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
20792
- const sts = new STSClient(buildStsClientConfig({
20921
+ const sts = new STSClient(workloadStsClientConfig({
20793
20922
  region,
20794
20923
  profile
20795
20924
  }));
@@ -20867,7 +20996,7 @@ function pickCandidateStack(stackPattern, stacks) {
20867
20996
  }
20868
20997
  async function resolveCallerAccountId(region, profile) {
20869
20998
  const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
20870
- const sts = new STSClient(buildStsClientConfig({
20999
+ const sts = new STSClient(workloadStsClientConfig({
20871
21000
  region,
20872
21001
  profile
20873
21002
  }));
@@ -23130,7 +23259,7 @@ function defaultFetchObject(bucketName, options) {
23130
23259
  const { S3Client, GetObjectCommand } = await import("@aws-sdk/client-s3");
23131
23260
  return {
23132
23261
  client: new S3Client({
23133
- ...buildProxyClientConfig(),
23262
+ ...workloadClientConfig(),
23134
23263
  ...options.region && { region: options.region },
23135
23264
  ...options.credentials && { credentials: {
23136
23265
  accessKeyId: options.credentials.accessKeyId,
@@ -23197,7 +23326,7 @@ async function resolveDeployedOriginBucket(options) {
23197
23326
  async function defaultGetOrigins(options) {
23198
23327
  const { CloudFrontClient, GetDistributionConfigCommand } = await import("@aws-sdk/client-cloudfront");
23199
23328
  const client = new CloudFrontClient({
23200
- ...buildProxyClientConfig(),
23329
+ ...workloadClientConfig(),
23201
23330
  region: "us-east-1",
23202
23331
  ...options.credentials && { credentials: {
23203
23332
  accessKeyId: options.credentials.accessKeyId,
@@ -23216,7 +23345,7 @@ async function defaultGetOrigins(options) {
23216
23345
  //#region src/local/cloudfront-kvs-client.ts
23217
23346
  function createDeployedKvsDataSource(options) {
23218
23347
  const client = new CloudFrontKeyValueStoreClient({
23219
- ...buildProxyClientConfig(),
23348
+ ...workloadClientConfig(),
23220
23349
  region: options.region ?? "us-east-1",
23221
23350
  ...options.credentials !== void 0 && { credentials: options.credentials }
23222
23351
  });
@@ -23238,7 +23367,7 @@ function createDeployedKvsDataSource(options) {
23238
23367
  }
23239
23368
  async function resolveDeployedKvsArnByName(name, options = {}) {
23240
23369
  const client = new CloudFrontClient({
23241
- ...buildProxyClientConfig(),
23370
+ ...workloadClientConfig(),
23242
23371
  region: options.region ?? "us-east-1",
23243
23372
  ...options.credentials !== void 0 && { credentials: options.credentials }
23244
23373
  });
@@ -29707,5 +29836,5 @@ function addStudioSpecificOptions(cmd) {
29707
29836
  }
29708
29837
 
29709
29838
  //#endregion
29710
- 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 };
29711
- //# sourceMappingURL=local-studio-a7HMFLOC.js.map
29839
+ 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, assumedRoleRecorded 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, workloadStsClientConfig as Gi, filterRoutesByApiIdentifiers as Gn, substituteEnvVarsFromState as Gr, enforceImageOverrideOrphans as Gt, createDeployedKvsDataSource as H, recordAssumedRole 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, buildProxyClientConfig as Ji, startApiServer as Jn, createLocalStateProvider as Jr, resolveImageOverrides as Jt, createS3OriginReader as K, buildStsClientConfig as Ki, 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, resetWorkloadIdentity as Ui, availableApiIdentifiers as Un, substituteAgainstState as Ur, ImageOverrideError as Ut, resolveKvsModulesForDistribution as V, readEnvCallerCredentials as Vi, materializeLayerFromArn as Vn, resolveRuntimeImage as Vr, resolveSharedSidecarCredentials as Vt, resolveDeployedOriginBucket as W, workloadClientConfig as Wi, filterRoutesByApiIdentifier as Wn, substituteAgainstStateAsync as Wr, buildImageOverrideTag as Wt, serveFromStaticOrigin as X, resolveServiceIntegrationParameters as Xn, rejectExplicitCfnStackWithMultipleStacks as Xr, describePinnedImageUri as Xt, resolveErrorResponseCandidates as Y, isProxyEnvConfigured as Yi, 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, resolveProfileCredentials as qi, 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, SECOND_ASSUME_MESSAGE as zi, attachStageContext as zn, resolveRuntimeCodeMountPath as zr, parseRestartPolicy as zt };
29840
+ //# sourceMappingURL=local-studio-DPQ50Gve.js.map