cdk-local 0.167.2 → 0.168.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5360,17 +5360,38 @@ function resolveWatchConfig() {
5360
5360
  }
5361
5361
 
5362
5362
  // src/local/ssm-parameter-resolver.ts
5363
- const SSM_STRING_TYPE = "AWS::SSM::Parameter::Value<String>";
5364
- const SSM_LIST_TYPE = "AWS::SSM::Parameter::Value<List<String>>";
5363
+ const AWS_SPECIFIC_PARAMETER_TYPES = /* @__PURE__ */ new Set([
5364
+ "AWS::EC2::AvailabilityZone::Name",
5365
+ "AWS::EC2::Image::Id",
5366
+ "AWS::EC2::Instance::Id",
5367
+ "AWS::EC2::KeyPair::KeyName",
5368
+ "AWS::EC2::SecurityGroup::GroupName",
5369
+ "AWS::EC2::SecurityGroup::Id",
5370
+ "AWS::EC2::Subnet::Id",
5371
+ "AWS::EC2::Volume::Id",
5372
+ "AWS::EC2::VPC::Id",
5373
+ "AWS::Route53::HostedZone::Id"
5374
+ ]);
5375
+ const SSM_VALUE_PREFIX = "AWS::SSM::Parameter::Value<";
5376
+ function classifySsmParameterType(type) {
5377
+ if (typeof type !== "string" || !type.startsWith(SSM_VALUE_PREFIX) || !type.endsWith(">")) return;
5378
+ const inner = type.slice(27, -1);
5379
+ if (inner === "String" || AWS_SPECIFIC_PARAMETER_TYPES.has(inner)) return "scalar";
5380
+ if (inner === "CommaDelimitedList") return "list";
5381
+ if (inner.startsWith("List<") && inner.endsWith(">")) {
5382
+ const member = inner.slice(5, -1);
5383
+ if (member === "String" || AWS_SPECIFIC_PARAMETER_TYPES.has(member)) return "list";
5384
+ }
5385
+ }
5365
5386
  function collectSsmParameterRefs(template) {
5366
5387
  const params = template?.Parameters;
5367
5388
  if (!params) return [];
5368
5389
  const out = [];
5369
5390
  for (const [logicalId, entry] of Object.entries(params)) {
5370
5391
  if (!entry || typeof entry !== "object") continue;
5371
- const type = entry.Type;
5372
- const isList = type === SSM_LIST_TYPE;
5373
- if (type !== SSM_STRING_TYPE && !isList) continue;
5392
+ const kind = classifySsmParameterType(entry.Type);
5393
+ if (kind === void 0) continue;
5394
+ const isList = kind === "list";
5374
5395
  const ssmName = entry.Default;
5375
5396
  if (typeof ssmName !== "string" || ssmName.length === 0) continue;
5376
5397
  out.push({
@@ -5420,7 +5441,7 @@ async function resolveSsmParameters(client, refs, label) {
5420
5441
  if (!requesters) continue;
5421
5442
  const isSecure = p.Type === "SecureString";
5422
5443
  for (const ref of requesters) {
5423
- out.values[ref.logicalId] = p.Value;
5444
+ out.values[ref.logicalId] = ref.isList ? p.Value.split(",") : p.Value;
5424
5445
  if (isSecure) out.secureStringLogicalIds.push(ref.logicalId);
5425
5446
  }
5426
5447
  }
@@ -5694,6 +5715,9 @@ function resolveCfnStackName(fromCfnStack, stackName) {
5694
5715
  if (typeof fromCfnStack === "string") return fromCfnStack;
5695
5716
  return stackName;
5696
5717
  }
5718
+ function deployedStackName(opts, stackName) {
5719
+ return resolveCfnStackName(opts.fromCfnStack ?? false, stackName);
5720
+ }
5697
5721
  function isCfnFlagPresent(opts) {
5698
5722
  const v = opts.fromCfnStack;
5699
5723
  return v !== void 0 && v !== false;
@@ -6065,6 +6089,10 @@ function resolveRef(arg, context) {
6065
6089
  };
6066
6090
  const parameterValue = context.parameters?.[arg];
6067
6091
  if (parameterValue !== void 0) {
6092
+ if (Array.isArray(parameterValue)) return {
6093
+ kind: "unresolved",
6094
+ reason: `Ref ${displayIdent(arg)}: the parameter is a list, which is not a valid string value (use Fn::Select to pick one element or Fn::Join to join it)`
6095
+ };
6068
6096
  if (context.sensitiveParameters?.has(arg)) context.onSensitiveParameterConsumed?.(arg);
6069
6097
  return {
6070
6098
  kind: "literal",
@@ -6106,9 +6134,15 @@ function resolvePseudoParameter(name, pseudo) {
6106
6134
  value: pseudo.urlSuffix
6107
6135
  };
6108
6136
  break;
6137
+ case "AWS::StackName":
6138
+ if (pseudo.stackName !== void 0) return {
6139
+ kind: "literal",
6140
+ value: pseudo.stackName
6141
+ };
6142
+ break;
6109
6143
  default: return {
6110
6144
  kind: "unresolved",
6111
- reason: `Ref ${displayIdent(name)}: pseudo parameter not supported (supported: AWS::AccountId, AWS::Region, AWS::Partition, AWS::URLSuffix)`
6145
+ reason: `Ref ${displayIdent(name)}: pseudo parameter not supported (supported: AWS::AccountId, AWS::Region, AWS::Partition, AWS::URLSuffix, AWS::StackName)`
6112
6146
  };
6113
6147
  }
6114
6148
  return {
@@ -6219,15 +6253,31 @@ function resolveSub(arg, context) {
6219
6253
  };
6220
6254
  }
6221
6255
  function resolveJoin(arg, context) {
6222
- if (!Array.isArray(arg) || arg.length !== 2 || !Array.isArray(arg[1])) return {
6256
+ if (!Array.isArray(arg) || arg.length !== 2) return {
6223
6257
  kind: "unresolved",
6224
6258
  reason: `Fn::Join expects [delimiter, [elements]], got ${Array.isArray(arg) ? `array of length ${arg.length}` : typeof arg}`
6225
6259
  };
6226
- const [delimiterRaw, elements] = arg;
6260
+ const [delimiterRaw, elementsArg] = arg;
6227
6261
  if (typeof delimiterRaw !== "string") return {
6228
6262
  kind: "unresolved",
6229
6263
  reason: `Fn::Join delimiter must be a string, got ${typeof delimiterRaw}`
6230
6264
  };
6265
+ if (!Array.isArray(elementsArg)) {
6266
+ const list = resolveAny(elementsArg, context);
6267
+ if (list.kind === "unresolved") return {
6268
+ kind: "unresolved",
6269
+ reason: `Fn::Join list: ${list.reason}`
6270
+ };
6271
+ if (!Array.isArray(list.value)) return {
6272
+ kind: "unresolved",
6273
+ reason: `Fn::Join list must resolve to an array, got ${typeof list.value}`
6274
+ };
6275
+ return {
6276
+ kind: "literal",
6277
+ value: list.value.join(delimiterRaw)
6278
+ };
6279
+ }
6280
+ const elements = elementsArg;
6231
6281
  const parts = [];
6232
6282
  for (let i = 0; i < elements.length; i += 1) {
6233
6283
  const sub = substituteAgainstState(elements[i], context);
@@ -6320,6 +6370,19 @@ function resolveAny(value, context) {
6320
6370
  };
6321
6371
  }
6322
6372
  if (value !== null && typeof value === "object" && !Array.isArray(value) && Object.keys(value).length === 1 && Object.prototype.hasOwnProperty.call(value, "Fn::Split")) return resolveSplitAsArray(value["Fn::Split"], context);
6373
+ if (value !== null && typeof value === "object" && Object.keys(value).length === 1 && Object.prototype.hasOwnProperty.call(value, "Ref")) {
6374
+ const target = value["Ref"];
6375
+ if (typeof target === "string" && !context.resources[target]) {
6376
+ const parameterValue = context.parameters?.[target];
6377
+ if (Array.isArray(parameterValue)) {
6378
+ if (context.sensitiveParameters?.has(target)) context.onSensitiveParameterConsumed?.(target);
6379
+ return {
6380
+ kind: "literal",
6381
+ value: [...parameterValue]
6382
+ };
6383
+ }
6384
+ }
6385
+ }
6323
6386
  return substituteAgainstState(value, context);
6324
6387
  }
6325
6388
  async function substituteAgainstStateAsync(value, contextOrResources) {
@@ -10817,7 +10880,7 @@ function envHasCrossStackIntrinsic(templateEnv) {
10817
10880
  if (!templateEnv) return false;
10818
10881
  return Object.values(templateEnv).some(containsCrossStackIntrinsic);
10819
10882
  }
10820
- async function resolvePseudoParametersForInvoke(stackRegion, options) {
10883
+ async function resolvePseudoParametersForInvoke(stackRegion, options, stackName) {
10821
10884
  const logger = getLogger();
10822
10885
  const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(stackRegion);
10823
10886
  if (!region) logger.warn(`Resolver references \${AWS::Region} but ${getEmbedConfig().binaryName} could not determine the target region. Pass --region, set AWS_REGION, or declare env.region on the CDK stack.`);
@@ -10844,7 +10907,8 @@ async function resolvePseudoParametersForInvoke(stackRegion, options) {
10844
10907
  ...partitionAndSuffix && {
10845
10908
  partition: partitionAndSuffix.partition,
10846
10909
  urlSuffix: partitionAndSuffix.urlSuffix
10847
- }
10910
+ },
10911
+ ...stackName !== void 0 && { stackName: deployedStackName(options, stackName) }
10848
10912
  };
10849
10913
  return Object.keys(bag).length === 0 ? void 0 : bag;
10850
10914
  }
@@ -10961,7 +11025,7 @@ async function resolveLambdaContainerEnvWith(lambda, options, profileCredentials
10961
11025
  })
10962
11026
  };
10963
11027
  if (envHasIntrinsicValue$1(templateEnv)) {
10964
- const pseudo = await resolvePseudoParametersForInvoke(lambda.stack.region, options);
11028
+ const pseudo = await resolvePseudoParametersForInvoke(lambda.stack.region, options, lambda.stack.stackName);
10965
11029
  if (pseudo) subContext.pseudoParameters = pseudo;
10966
11030
  }
10967
11031
  if (envHasIntrinsicValue$1(templateEnv) && stateProvider.resolveTemplateSsmParameters) {
@@ -17677,7 +17741,7 @@ async function loadStackStateBundle(stack, provider, args) {
17677
17741
  region: loaded.region
17678
17742
  };
17679
17743
  if (args.intrinsicEnv) {
17680
- const pseudo = args.pseudoParameters ?? await resolvePseudoParametersForStartApi(loaded.region, args.options);
17744
+ const pseudo = args.pseudoParameters ?? await resolvePseudoParametersForStartApi(loaded.region, args.options, stack.stackName);
17681
17745
  if (pseudo) bundle.pseudoParameters = pseudo;
17682
17746
  }
17683
17747
  if (provider.resolveDeployedFunctionEnv) {
@@ -17704,7 +17768,7 @@ async function loadStackStateBundle(stack, provider, args) {
17704
17768
  provider.dispose();
17705
17769
  }
17706
17770
  }
17707
- async function resolvePseudoParametersForStartApi(stateRegion, options) {
17771
+ async function resolvePseudoParametersForStartApi(stateRegion, options, stackName) {
17708
17772
  const logger = getLogger();
17709
17773
  const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(stateRegion);
17710
17774
  let accountId;
@@ -17730,7 +17794,8 @@ async function resolvePseudoParametersForStartApi(stateRegion, options) {
17730
17794
  ...partitionAndSuffix && {
17731
17795
  partition: partitionAndSuffix.partition,
17732
17796
  urlSuffix: partitionAndSuffix.urlSuffix
17733
- }
17797
+ },
17798
+ ...stackName !== void 0 && { stackName: deployedStackName(options, stackName) }
17734
17799
  };
17735
17800
  return Object.keys(bag).length === 0 ? void 0 : bag;
17736
17801
  }
@@ -18627,7 +18692,7 @@ async function localInvokeAgentCoreCommand(target, options, extraStateProviders)
18627
18692
  logger.info(`${resolved.protocol} runtime: invoking the local container's ${pathLabel} directly (vanilla ${resolved.protocol}). An inbound JWT / --bearer-token is an AgentCore managed-plane concern and is not applied locally.`);
18628
18693
  }
18629
18694
  } else authorization = await resolveInboundAuthorization(resolved, options);
18630
- await resolveFromS3BucketIntrinsic(resolved, stateProvider, loadedState, imageContext);
18695
+ await resolveFromS3BucketIntrinsic(resolved, stateProvider, loadedState, imageContext, options);
18631
18696
  const image = await resolveAgentCoreImage(resolved, options, loadedState, stateProvider);
18632
18697
  const { env: dockerEnv, sensitiveEnvKeys } = await buildContainerEnv(resolved, options, profileCredentials, profileCredsFile, stateProvider, loadedState, imageContext);
18633
18698
  const hostPort = await pickFreePort();
@@ -18696,7 +18761,7 @@ async function localInvokeAgentCoreCommand(target, options, extraStateProviders)
18696
18761
  loaded: void 0
18697
18762
  };
18698
18763
  const newResolved = resolveAgentCoreTarget(resolvedTarget, newStacks, newImageContext);
18699
- await resolveFromS3BucketIntrinsic(newResolved, stateProvider, newLoaded, newImageContext);
18764
+ await resolveFromS3BucketIntrinsic(newResolved, stateProvider, newLoaded, newImageContext, options);
18700
18765
  const newImage = await resolveAgentCoreImage(newResolved, options, newLoaded, stateProvider);
18701
18766
  const { env: newEnv, sensitiveEnvKeys: newSensitive } = await buildContainerEnv(newResolved, options, profileCredentials, profileCredsFile, stateProvider, newLoaded, newImageContext);
18702
18767
  if (signal?.aborted) throw new CdkLocalError("Reload cancelled: shutting down.", "LOCAL_INVOKE_AGENTCORE_WATCH_CANCELLED");
@@ -18986,8 +19051,10 @@ async function buildContainerEnvWith(resolved, options, profileCredentials, prof
18986
19051
  consumer: `AgentCore Runtime ${resolved.logicalId} cross-stack env value`
18987
19052
  })
18988
19053
  };
18989
- const pseudo = imageContext?.pseudoParameters ?? derivePseudoParametersFromRegion(loaded.region);
18990
- if (pseudo) subContext.pseudoParameters = pseudo;
19054
+ subContext.pseudoParameters = imageContext?.pseudoParameters ?? {
19055
+ ...derivePseudoParametersFromRegion(loaded.region),
19056
+ stackName: deployedStackName(options, resolved.stack.stackName)
19057
+ };
18991
19058
  if (imageContext?.stateParameters) subContext.parameters = imageContext.stateParameters;
18992
19059
  if (imageContext?.stateSensitiveParameters?.length) subContext.sensitiveParameters = new Set(imageContext.stateSensitiveParameters);
18993
19060
  const resolver = await stateProvider.buildCrossStackResolver(loaded.region);
@@ -19037,7 +19104,7 @@ async function buildContainerEnvWith(resolved, options, profileCredentials, prof
19037
19104
  sensitiveEnvKeys
19038
19105
  };
19039
19106
  }
19040
- async function resolveFromS3BucketIntrinsic(resolved, stateProvider, loaded, imageContext) {
19107
+ async function resolveFromS3BucketIntrinsic(resolved, stateProvider, loaded, imageContext, options = {}) {
19041
19108
  const s3Source = resolved.codeArtifact?.s3Source;
19042
19109
  if (!s3Source || s3Source.bucketIntrinsic === void 0) return;
19043
19110
  if (s3Source.bucket !== void 0) return;
@@ -19046,8 +19113,10 @@ async function resolveFromS3BucketIntrinsic(resolved, stateProvider, loaded, ima
19046
19113
  resources: imageContext?.stateResources ?? loaded.resources,
19047
19114
  consumerRegion: loaded.region
19048
19115
  };
19049
- const pseudo = imageContext?.pseudoParameters ?? derivePseudoParametersFromRegion(loaded.region);
19050
- if (pseudo) subContext.pseudoParameters = pseudo;
19116
+ subContext.pseudoParameters = imageContext?.pseudoParameters ?? {
19117
+ ...derivePseudoParametersFromRegion(loaded.region),
19118
+ stackName: deployedStackName(options, resolved.stack.stackName)
19119
+ };
19051
19120
  const crossStackResolver = await stateProvider.buildCrossStackResolver(loaded.region);
19052
19121
  if (crossStackResolver) subContext.crossStackResolver = crossStackResolver;
19053
19122
  const result = await substituteAgainstStateAsync(s3Source.bucketIntrinsic, subContext);
@@ -19074,8 +19143,10 @@ async function buildAgentCoreImageContext(candidate, stateProvider, options) {
19074
19143
  logger.warn(`--from-cfn-stack: STS GetCallerIdentity failed: ${describeAwsFailureForWarn(err, "STS GetCallerIdentity")}. A same-stack ECR image URI referencing \${AWS::AccountId} may not resolve.`);
19075
19144
  }
19076
19145
  const context = {};
19077
- const pseudo = derivePseudoParametersFromRegion(region, accountId);
19078
- if (pseudo) context.pseudoParameters = pseudo;
19146
+ context.pseudoParameters = {
19147
+ ...derivePseudoParametersFromRegion(region, accountId),
19148
+ stackName: deployedStackName(options, candidate.stackName)
19149
+ };
19079
19150
  const loaded = await stateProvider.load(candidate.stackName, candidate.region);
19080
19151
  if (loaded) {
19081
19152
  context.stateResources = loaded.resources;
@@ -25233,7 +25304,8 @@ async function buildEcsImageResolutionContext$1(target, stacks, options, statePr
25233
25304
  ...partitionAndSuffix && {
25234
25305
  partition: partitionAndSuffix.partition,
25235
25306
  urlSuffix: partitionAndSuffix.urlSuffix
25236
- }
25307
+ },
25308
+ stackName: deployedStackName(options, candidate.stackName)
25237
25309
  };
25238
25310
  }
25239
25311
  const wantsState = needs.needsStateResources || needs.needsEnvOrSecretSubstitution || wantsStateForTaskRole;
@@ -25730,7 +25802,8 @@ async function buildEcsImageResolutionContext(candidate, stateProvider, options,
25730
25802
  ...partitionAndSuffix && {
25731
25803
  partition: partitionAndSuffix.partition,
25732
25804
  urlSuffix: partitionAndSuffix.urlSuffix
25733
- }
25805
+ },
25806
+ stackName: deployedStackName(options, candidate.stackName)
25734
25807
  };
25735
25808
  }
25736
25809
  const wantsState = needs.needsStateResources || needs.needsEnvOrSecretSubstitution || wantsStateForTaskRole;
@@ -30396,7 +30469,7 @@ async function serveAgentCore(target, options, extraStateProviders, hostSynthesi
30396
30469
  const sigv4Context = await resolveAgentCoreSigV4Context(options, resolved, loadedState, stateProvider);
30397
30470
  const authPlan = selectServeInboundAuth(resolved, options, sigv4Context !== void 0);
30398
30471
  if (authPlan.authCheck && resolved.jwtAuthorizer) logger.info(`Inbound JWT: each request verified per-request against ${resolved.jwtAuthorizer.discoveryUrl}${options.verifyAuth === false ? " (verification DISABLED via --no-verify-auth)" : ""}.`);
30399
- await resolveFromS3BucketIntrinsic(resolved, stateProvider, loadedState, imageContext);
30472
+ await resolveFromS3BucketIntrinsic(resolved, stateProvider, loadedState, imageContext, options);
30400
30473
  const image = await resolveAgentCoreImage(resolved, options, loadedState, stateProvider);
30401
30474
  const { env: dockerEnv, sensitiveEnvKeys } = await buildContainerEnv(resolved, options, profileCredentials, profileCredsFile, stateProvider, loadedState, imageContext);
30402
30475
  let containerHostPort = await pickFreePort();
@@ -30507,7 +30580,7 @@ async function serveAgentCore(target, options, extraStateProviders, hostSynthesi
30507
30580
  freshImageContext = ctx.context;
30508
30581
  freshLoaded = ctx.loaded;
30509
30582
  freshResolved = resolveAgentCoreTarget(resolvedTarget, freshStacks, freshImageContext);
30510
- await resolveFromS3BucketIntrinsic(freshResolved, stateProvider, freshLoaded, freshImageContext);
30583
+ await resolveFromS3BucketIntrinsic(freshResolved, stateProvider, freshLoaded, freshImageContext, options);
30511
30584
  const assetCtx = await loadAgentCoreAssetContext({
30512
30585
  resolvedTarget,
30513
30586
  resolved: freshResolved,
@@ -37243,4 +37316,4 @@ function addStudioSpecificOptions(cmd) {
37243
37316
  }
37244
37317
 
37245
37318
  export { postHook as $, AGENTCORE_A2A_PROTOCOL as $a, probeHostGatewaySupport as $i, addImageOverrideOptions as $n, loopbackForwarderPlan as $o, resolveApiTargetSubset as $r, classifyS3Error as $t, microvmFidelityWarnings as A, createLocalStateProvider as Aa, translateLambdaResponse as Ai, stripCloudFrontImport as An, readEnvCallerCredentials as Ao, A2A_CONTAINER_PORT as Ar, readContainerLogTail as At, MICROVM_WS_BASE_PROTOCOL as B, resolveWatchConfig as Ba, ConnectionRegistry as Bi, createLocalStartAlbCommand as Bn, HOST_DEFAULT_CREDENTIALS_MISS_TTL_MS as Bo, AGENTCORE_SESSION_ID_HEADER as Br, parseWebFunctionBuildConfig as Bt, addListSpecificOptions as C, substituteAgainstState as Ca, attachAuthorizers as Ci, WEB_FUNCTION_REVISION_TYPE as Cn, resolveDynamicReferencesInEnv as Co, setShadowReadyTimeoutMs as Cr, parseKvsFileOverrides as Ct, buildMicrovmLambdaView as D, materializeLayerFromArn as Da, isFunctionUrlOacFronted as Di, compileCloudFrontFunction as Dn, SECOND_ASSUME_MESSAGE as Do, createLocalInvokeAgentCoreCommand as Dr, WEB_FUNCTION_CONTAINER_PORT as Dt, addStartMicrovmSpecificOptions as E, substituteEnvVarsFromStateAsync as Ea, buildCorsConfigFromCloudFrontChain as Ei, resolveWebFunctionTarget as En, awsEndpointOptions as Eo, addInvokeAgentCoreSpecificOptions as Er, RecentOutput as Et, microvmImageTag as F, resolveCfnRegion as Fa, pickResponseTemplate as Fi, findFileAssetForObjectKey as Fn, AUTH_OFF_PLACEHOLDER_CREDENTIALS as Fo, MCP_PROTOCOL_VERSION as Fr, buildNodeEntryFileStart as Ft, startMicrovmFrontDoor as G, discoverWebSocketApis as Ga, buildDisconnectEvent as Gi, addStartServiceSpecificOptions as Gn, collectHostEndpointOverrides as Go, SUPPORTED_CODE_RUNTIMES as Gr, readWebFunctionServiceConfig as Gt, PROXY_PORT_HEADER as H, countTargets as Ha, handleConnectionsRequest as Hi, resolveAlbTarget as Hn, applyWorkloadAwsWiringToEnv as Ho, waitForAgentCoreHttpReady as Hr, WEB_FUNCTION_HTTP_ENDPOINT_ENV as Ht, planMicrovmPorts as I, resolveCfnStackName as Ia, selectIntegrationResponse as Ii, isBucketDeploymentResource as In, CA_TRUST_ENV_KEYS as Io, mcpInvokeOnce as Ir, defaultWebFunctionPlatform as It, MICROVM_HOOK_PATH_PREFIX as J, parseSelectionExpressionPath as Ja, createFileWatcher as Ji, addRunTaskSpecificOptions as Jn, getActiveWorkloadAwsWiring as Jo, renderCodeDockerfile as Jr, idFromArn as Jt, stripMicrovmProxyHeaders as K, discoverWebSocketApisOrThrow as Ka, buildMessageEvent as Ki, createLocalStartServiceCommand as Kn, displayEndpointValue as Ko, buildAgentCoreCodeImage as Kr, webFunctionAssumeRole as Kt, readExposedPorts as L, CfnLocalStateProvider as La, tryParseStatus as Li, resolveBucketDeploymentObjectKey as Ln, DEFAULT_AWS_EMULATOR_URL as Lo, parseSseForJsonRpc as Lr, resolveWebFunctionRuntime as Lt, DEFAULT_TERMINATE_HOOK_TIMEOUT_MS as M, isCfnFlagPresent as Ma, buildHttpApiV2Event as Mi, createLocalFileKvsDataSource as Mn, resetWorkloadIdentity as Mo, a2aInvokeOnce as Mr, waitForWebFunctionReady as Mt, LocalMicrovm as N, rejectExplicitCfnStackWithMultipleStacks as Na, buildRestV1Event as Ni, createUnboundCloudFrontModule as Nn, workloadClientConfig as No, MCP_CONTAINER_PORT as Nr, watchContainerExit as Nt, createLocalStartMicrovmCommand as O, LocalStateSourceError as Oa, matchPreflight as Oi, runViewerRequest as On, assumedRoleRecorded as Oo, bridgeAgentCoreWs as Or, containerFailure as Ot, buildMicrovmImage as P, resolveCfnFallbackRegion as Pa, evaluateResponseParameters as Pi, bucketDeploymentSourceObjectKeys as Pn, workloadStsClientConfig as Po, MCP_PATH as Pr, WEB_FUNCTION_RUNTIMES as Pt, pollBuildHook as Q, resolveLambdaArnIntrinsic as Qa, HOST_GATEWAY_MIN_VERSION as Qi, addEcsAssumeRoleOptions as Qn, logMixedModeForWorkload as Qo, createWatchPredicates as Qr, resolveDeployedOriginBucket as Qt, setContainerPaused as R, collectSsmParameterRefs as Ra, VtlEvaluationError as Ri, addAlbSpecificOptions as Rn, EMULATOR_SCRUBBED_ENV_KEYS as Ro, AGENTCORE_SIGV4_SERVICE as Rr, supportedWebFunctionRuntimes as Rt, StudioEventBus as S, containsCrossStackIntrinsic as Sa, invokeTokenAuthorizer as Si, WEB_FUNCTION_ENDPOINT_TYPE as Sn, parseDynamicReference as So, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as Sr, normalizeKvsFileKeys as St, formatTargetListing as T, substituteEnvVarsFromState as Ta, buildCorsConfigByApiId as Ti, WebFunctionResolutionError as Tn, addAwsEndpointOptions as To, attachContainerLogStreamer as Tr, resolveCloudFrontTarget as Tt, rewriteUpgradeResponseHead as U, listTargets as Ua, parseConnectionsPath as Ui, isApplicationLoadBalancer as Un, awsEmulatorEnvName as Uo, waitForAgentCorePing as Ur, buildWebFunctionLambdaView as Ut, MicrovmStateError as V, resolveSingleTarget as Va, buildMgmtEndpointEnvUrl as Vi, parseLbPortOverrides as Vn, activateWorkloadAwsWiring as Vo, invokeAgentCore as Vr, resolveWebFunctionArtifact as Vt, selectTargetPort as W, availableWebSocketApiIdentifiers as Wa, buildConnectEvent as Wi, resolveAlbFrontDoor as Wn, awsEmulatorSqsHostBlocks as Wo, downloadAndExtractS3Bundle as Wr, finalizeWebFunctionEnv as Wt, callRuntimeHook as X, discoverRoutes as Xa, createLocalInvokeCommand as Xi, MAX_TASKS_SUBNET_RANGE_CAP as Xn, getContainerJavaTruststorePath as Xo, addStartApiSpecificOptions as Xr, createDeployedKvsDataSource as Xt, MicrovmHookError as Y, webSocketApiMatchesIdentifier as Ya, addInvokeSpecificOptions as Yi, createLocalRunTaskCommand as Yn, getContainerCaBundlePath as Yo, toCmdArgv as Yr, resolveKvsModulesForDistribution as Yt, generateMicrovmId as Z, pickRefLogicalId as Za, HOST_DOCKER_INTERNAL_GATEWAY as Zi, addCommonEcsServiceOptions as Zn, javaTruststoreToolOptions as Zo, createLocalStartApiCommand as Zr, resolveDeployedKvsArnByName as Zt, filterStudioTargetGroups as _, resolveRuntimeFileExtension as _a, verifyJwtViaDiscovery as _i, pickKvsLogicalIdFromArn as _n, containsDynamicReference as _o, isLocalCdkAssetImage as _r, sqsEmulatorOriginOf as _s, attachAgentCoreWsBridge as _t, createLocalStudioCommand as a, buildLoopbackForwarderDockerArgs as aa, filterRoutesByApiIdentifiers as ai, serveLambdaUrlOrigin as an, pickAgentCoreCandidateStack as ao, resolveSharedSidecarCredentials as ar, resolveAwsEmulatorOption as as, disposeMicrovmCodeArtifact as at, renderStudioHtml as b, assertEcsTaskCommandsResolved as ba, evaluateCachedLambdaPolicy as bi, pickWebFunctionEndpointLogicalIdFromOrigin as bn, keysNotFromTemplate as bo, CloudMapRegistry as br, buildStsClientConfig as bs, addStartCloudFrontSpecificOptions as bt, startStudioProxy as c, ensureForwarderImage as ca, startApiServer as ci, buildEdgeRequestEvent as cn, formatStateRemedy as co, buildImageOverrideTag as cr, setActiveWorkloadAwsWiring as cs, resolveMicrovmImageTarget as ct, createStudioDispatcher as d, buildContainerImage as da, defaultCredentialsLoader as di, httpHeadersToEdge as dn, LocalInvokeBuildError as do, mergeForService as dr, MIXED_MODE_RESIGN_BODY_CAP_BYTES as ds, createLocalStartWebFunctionCommand as dt, resolveHostGatewayExtraHosts as ea, createAuthorizerCache as ei, createS3OriginReader as en, AGENTCORE_AGUI_PROTOCOL as eo, buildEcsImageResolutionContext$1 as er, mergeJavaToolOptions as es, runHookBody as et, filterStudioCustomResources as f, dockerRegistryEnv as fa, buildCognitoJwksUrl as fi, CLOUDFRONT_DISTRIBUTION_TYPE as fn, ambientDefaultRegion as fo, parseImageOverrideFlags as fr, REAL_SQS_QUEUE_URL as fs, addStartAgentCoreSpecificOptions as ft, annotatePinnedEcsTargets as g, resolveRuntimeCodeMountPath as ga, verifyJwtAuthorizer as gi, pickFunctionUrlLogicalIdFromOrigin as gn, DynamicReferenceResolver as go, imageOverrideKeyAliases as gr, rewriteSqsQueueUrlsInEnv as gs, startAgentCoreHttpServer as gt, annotateEcsTaskPinnedTargets as h, stripEcrCredentials as ha, verifyCognitoJwt as hi, isCloudFrontDistribution as hn, DynamicReferenceResolutionError as ho, describePinnedImageUri as hr, repointLocalSqsQueueUrlsInEnv as hs, selectServeInboundAuth as ht, coerceStopRequest as i, awaitLoopbackForwarderStatus as ia, filterRoutesByApiIdentifier as ii, serveFromStaticOrigin as in, AgentCoreResolutionError as io, resolveEcsAssumeRoleOption as ir, readProfileEndpointSettings as is, MicrovmResolutionError as it, readRunHookPayload as j, groupWorkloadsRoutedApart as ja, applyAuthorizerOverlay as ji, createCloudFrontModule as jn, recordAssumedRole as jo, A2A_PATH as jr, startWebFunctionContainer as jt, finalizeMicrovmEnv as k, UNNAMED_WORKLOAD as ka, matchRoute as ki, runViewerResponse as kn, deployAccountStsClientConfig as ko, invokeAgentCoreWs as kr, planWebFunctionContainer as kt, relayServeRequest as l, startLoopbackForwarder as la, resolveSelectionExpression as li, buildEdgeResponseEvent as ln, substituteImagePlaceholders as lo, canonicalizeImageOverrideKeys as lr, takeAwsEmulatorStateSourceHint as ls, s3KeyOfUri as lt, annotateAlbPinnedBackingServices as m, noImplicitEcrPullArgs as ma, createJwksCache as mi, extractKvsAssociations as mn, setAmbientDefaultRegion as mo, runImageOverrideBuilds as mr, realSqsHostnames as ms, buildAgentCoreServeAuthCheck as mt, coerceRunRequest as n, withWorkloadAwsWiring as na, buildStageMap as ni, startCloudFrontServer as nn, AGENTCORE_MCP_PROTOCOL as no, parseMaxTasks as nr, probeAwsEmulatorHealth as ns, MICROVM_DEFAULT_INGRESS_PORT as nt, resolveServeBaseUrl as o, buildNamespaceOwnerForwarderDockerArgs as oa, groupRoutesByServer as oi, applyEdgeRequestResult as on, resolveAgentCoreTarget as oo, runEcsServiceEmulator as or, resolveHostDefaultCredentials as os, readMicrovmImageConfig as ot, isCustomResourceLambdaTarget as p, isEcrRegistryConfigKey as pa, buildJwksUrlFromIssuer as pi, describeS3OriginDomain as pn, namedEnvAwsRegion as po, resolveImageOverrides as pr, isRealAwsHost as ps, createLocalStartAgentCoreCommand as pt, MAX_RUN_HOOK_PAYLOAD_BYTES as q, filterWebSocketApisByIdentifiers as qa, classifySourceChange as qi, serviceStrategy as qn, effectiveLoopbackPorts as qo, computeCodeImageTag as qr, webFunctionFidelityWarnings as qt, coerceServeRequest as r, LOOPBACK_FORWARDER_IMAGE as ra, availableApiIdentifiers as ri, resolveErrorResponseCandidates as rn, AGENTCORE_RUNTIME_TYPE as ro, parseRestartPolicy as rr, readEmulatorRunFiles as rs, MICROVM_IMAGE_TYPE as rt, createStudioServeManager as s, describeForwarderFailure as sa, readMtlsMaterialsFromDisk as si, applyEdgeResponseResult as sn, derivePseudoParametersFromRegion as so, ImageOverrideError as sr, resolveWorkloadAwsWiring as ss, resolveMicrovmCodeArtifact as st, addStudioSpecificOptions as t, attachLoopbackForwarder as ta, attachStageContext as ti, matchBehavior as tn, AGENTCORE_HTTP_PROTOCOL as to, ecsClusterOption as tr, parseAwsEndpoint as ts, waitForAppAnswer as tt, reinvoke as u, architectureToPlatform as ua, resolveServiceIntegrationParameters as ui, edgeHeadersToHttp as un, tryResolveImageFnJoin as uo, enforceImageOverrideOrphans as ur, writeCaBundleFile as us, addStartWebFunctionSpecificOptions as ut, startStudioServer as v, resolveRuntimeImage as va, buildMethodArn as vi, pickLambdaEdgeFunctionLogicalId as vn, deployedFillMayBeSecret as vo, listPinnedTargets as vr, buildJavaTrustStore as vs, startAgentCoreWsBridge as vt, createLocalListCommand as w, substituteAgainstStateAsync as wa, applyCorsResponseHeaders as wi, WEB_FUNCTION_TYPE as wn, withoutKeys as wo, getContainerNetworkIp as wr, parseOriginOverrides as wt, createStudioStore as x, assertEcsTaskImagesResolvable as xa, invokeRequestAuthorizer as xi, resolveCloudFrontDistribution as xn, keysOverriddenBy as xo, DEFAULT_SHADOW_READY_TIMEOUT_MS as xr, resolveProfileCredentials as xs, createLocalStartCloudFrontCommand as xt, toStudioTargetGroups as y, EcsTaskResolutionError as ya, computeRequestIdentityHash as yi, pickTargetFunctionLogicalId as yn, firstUsableRegion as yo, buildCloudMapIndex as yr, createMixedModeTlsMaterials as ys, LocalStartCloudFrontError as yt, MICROVM_CONTROL_PATH as z, resolveSsmParameters as za, bufferToBody as zi, albStrategy as zn, HOST_CA_TRUST_ENV_KEYS as zo, signAgentCoreInvocation as zr, disposeWebFunctionArtifact as zt };
37246
- //# sourceMappingURL=local-studio-B0Wlk_VO.js.map
37319
+ //# sourceMappingURL=local-studio-QpEYP98G.js.map