cdk-local 0.51.0 → 0.53.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/cli.js CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import { a as createLocalStartApiCommand } from "./cloud-map-resolver-BvhnCkSe.js";
3
- import { a as createLocalRunTaskCommand, i as createLocalStartServiceCommand, o as createLocalInvokeAgentCoreCommand, r as createLocalStartAlbCommand, s as createLocalInvokeCommand, t as createLocalListCommand } from "./local-list-DbBCVhla.js";
2
+ import { a as createLocalStartApiCommand } from "./cloud-map-resolver-CbSdXQjx.js";
3
+ import { a as createLocalRunTaskCommand, i as createLocalStartServiceCommand, o as createLocalInvokeAgentCoreCommand, r as createLocalStartAlbCommand, s as createLocalInvokeCommand, t as createLocalListCommand } from "./local-list-B1RsKINr.js";
4
4
  import { Command } from "commander";
5
5
 
6
6
  //#region src/cli/index.ts
7
7
  const program = new Command();
8
- program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.51.0");
8
+ program.name("cdkl").description("Run AWS CDK stacks locally with Docker.").version("0.53.0");
9
9
  program.addCommand(createLocalInvokeCommand());
10
10
  program.addCommand(createLocalInvokeAgentCoreCommand());
11
11
  program.addCommand(createLocalStartApiCommand());
@@ -24,6 +24,8 @@ import { setTimeout as setTimeout$1 } from "node:timers/promises";
24
24
  import { readFile } from "fs/promises";
25
25
  import { join as join$1 } from "path";
26
26
  import { unzipSync } from "fflate";
27
+ import { Sha256 } from "@aws-crypto/sha256-js";
28
+ import { SignatureV4 } from "@smithy/signature-v4";
27
29
  import { WebSocket, WebSocketServer } from "ws";
28
30
  import { createServer as createServer$1 } from "node:http";
29
31
  import { createServer as createServer$2 } from "node:https";
@@ -1327,13 +1329,86 @@ function extractJwtAuthorizer(authorizerConfig, logicalId) {
1327
1329
  const toStringArray = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "string") : void 0;
1328
1330
  const allowedAudience = toStringArray(cfg["AllowedAudience"]);
1329
1331
  const allowedClients = toStringArray(cfg["AllowedClients"]);
1332
+ const allowedScopes = toStringArray(cfg["AllowedScopes"]);
1333
+ const customClaims = extractCustomClaims(cfg["CustomClaims"], logicalId);
1330
1334
  return {
1331
1335
  discoveryUrl,
1332
1336
  ...allowedAudience && allowedAudience.length > 0 && { allowedAudience },
1333
- ...allowedClients && allowedClients.length > 0 && { allowedClients }
1337
+ ...allowedClients && allowedClients.length > 0 && { allowedClients },
1338
+ ...allowedScopes && allowedScopes.length > 0 && { allowedScopes },
1339
+ ...customClaims && customClaims.length > 0 && { customClaims }
1334
1340
  };
1335
1341
  }
1336
1342
  /**
1343
+ * Parse a `CustomJWTAuthorizer.CustomClaims[]` array into
1344
+ * {@link AgentCoreCustomClaim}s. The template shape (synthesized by the L2):
1345
+ *
1346
+ * ```
1347
+ * {
1348
+ * InboundTokenClaimName: <claim name>,
1349
+ * InboundTokenClaimValueType: 'STRING' | 'STRING_ARRAY',
1350
+ * AuthorizingClaimMatchValue: {
1351
+ * ClaimMatchOperator: 'EQUALS' | 'CONTAINS' | 'CONTAINS_ANY',
1352
+ * ClaimMatchValue: { MatchValueString?: ..., MatchValueStringList?: [...] }
1353
+ * }
1354
+ * }
1355
+ * ```
1356
+ *
1357
+ * Each entry that fails to parse (missing name / unknown type / unknown
1358
+ * operator / wrong value shape) is warn-and-skipped — the deployed runtime
1359
+ * would reject a token that violates ANY claim rule, so dropping a rule we
1360
+ * can't evaluate is the safer side (under-restrictive in `--no-verify-auth`
1361
+ * paths, fine elsewhere because the surviving rules still gate the token).
1362
+ */
1363
+ function extractCustomClaims(raw, logicalId) {
1364
+ if (!Array.isArray(raw)) return void 0;
1365
+ const out = [];
1366
+ for (const entry of raw) {
1367
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) continue;
1368
+ const e = entry;
1369
+ const name = e["InboundTokenClaimName"];
1370
+ const valueType = e["InboundTokenClaimValueType"];
1371
+ const matchObj = e["AuthorizingClaimMatchValue"];
1372
+ if (typeof name !== "string" || name.length === 0) continue;
1373
+ if (valueType !== "STRING" && valueType !== "STRING_ARRAY") {
1374
+ getLogger().warn(`AgentCore Runtime '${logicalId}' CustomClaims entry '${name}' has unsupported InboundTokenClaimValueType '${String(valueType)}' (expected STRING / STRING_ARRAY); skipping.`);
1375
+ continue;
1376
+ }
1377
+ if (!matchObj || typeof matchObj !== "object" || Array.isArray(matchObj)) continue;
1378
+ const m = matchObj;
1379
+ const operator = m["ClaimMatchOperator"];
1380
+ const matchValue = m["ClaimMatchValue"];
1381
+ if (operator !== "EQUALS" && operator !== "CONTAINS" && operator !== "CONTAINS_ANY") {
1382
+ getLogger().warn(`AgentCore Runtime '${logicalId}' CustomClaims entry '${name}' has unsupported ClaimMatchOperator '${String(operator)}' (expected EQUALS / CONTAINS / CONTAINS_ANY); skipping.`);
1383
+ continue;
1384
+ }
1385
+ if (!matchValue || typeof matchValue !== "object" || Array.isArray(matchValue)) continue;
1386
+ const mv = matchValue;
1387
+ let value;
1388
+ if (operator === "CONTAINS_ANY") {
1389
+ const list = mv["MatchValueStringList"];
1390
+ if (Array.isArray(list)) {
1391
+ value = list.filter((x) => typeof x === "string");
1392
+ if (value.length === 0) value = void 0;
1393
+ }
1394
+ } else {
1395
+ const s = mv["MatchValueString"];
1396
+ if (typeof s === "string" && s.length > 0) value = s;
1397
+ }
1398
+ if (value === void 0) {
1399
+ getLogger().warn(`AgentCore Runtime '${logicalId}' CustomClaims entry '${name}' has no usable MatchValueString / MatchValueStringList for operator ${operator}; skipping.`);
1400
+ continue;
1401
+ }
1402
+ out.push({
1403
+ name,
1404
+ valueType,
1405
+ operator,
1406
+ value
1407
+ });
1408
+ }
1409
+ return out;
1410
+ }
1411
+ /**
1337
1412
  * Validate `ProtocolConfiguration`. Serves `HTTP` (the default when absent)
1338
1413
  * and `MCP`; `A2A` / `AGUI` speak other wire contracts and hard-error with a
1339
1414
  * pointer to the follow-up.
@@ -7957,7 +8032,8 @@ async function invokeAgentCore(host, port, event, options) {
7957
8032
  "Content-Type": "application/json",
7958
8033
  Accept: "application/json, text/event-stream",
7959
8034
  [AGENTCORE_SESSION_ID_HEADER]: options.sessionId,
7960
- ...options.authorization && { Authorization: options.authorization }
8035
+ ...options.authorization && { Authorization: options.authorization },
8036
+ ...options.additionalHeaders ?? {}
7961
8037
  },
7962
8038
  body,
7963
8039
  signal: controller.signal
@@ -8011,6 +8087,71 @@ async function streamBody(body, onChunk) {
8011
8087
  }
8012
8088
  }
8013
8089
 
8090
+ //#endregion
8091
+ //#region src/local/agentcore-sigv4-sign.ts
8092
+ /**
8093
+ * Client-side SigV4 signing for `cdkl invoke-agentcore --sigv4`.
8094
+ *
8095
+ * AgentCore's `InvokeAgentRuntime` API authenticates inbound `/invocations`
8096
+ * requests with IAM SigV4 when the runtime declares no
8097
+ * `customJwtAuthorizer`. The deployed cloud verifies the signature; a locally
8098
+ * running agent never does (no AWS public-key infra inside the container),
8099
+ * but an agent that introspects the `Authorization` header (e.g. via the
8100
+ * `bedrock-agentcore` SDK's request context) sees the same shape it would in
8101
+ * the cloud — header parity for debugging and local-dev of IAM-aware agents.
8102
+ *
8103
+ * Signing is OPT-IN via `--sigv4` on the command. Default behavior is
8104
+ * unchanged: no Authorization header on an unauthenticated invoke.
8105
+ */
8106
+ /** AWS service name for AgentCore InvokeAgentRuntime SigV4 signing. */
8107
+ const AGENTCORE_SIGV4_SERVICE = "bedrock-agentcore";
8108
+ /**
8109
+ * Build a SigV4 signature for a `POST /invocations` request to the local
8110
+ * AgentCore container. Returns the headers that must be forwarded.
8111
+ */
8112
+ async function signAgentCoreInvocation(opts) {
8113
+ const signer = new SignatureV4({
8114
+ credentials: {
8115
+ accessKeyId: opts.credentials.accessKeyId,
8116
+ secretAccessKey: opts.credentials.secretAccessKey,
8117
+ ...opts.credentials.sessionToken && { sessionToken: opts.credentials.sessionToken }
8118
+ },
8119
+ region: opts.region,
8120
+ service: AGENTCORE_SIGV4_SERVICE,
8121
+ sha256: Sha256
8122
+ });
8123
+ const request = {
8124
+ method: opts.method ?? "POST",
8125
+ protocol: "http:",
8126
+ hostname: opts.host,
8127
+ port: opts.port,
8128
+ path: opts.path,
8129
+ headers: {
8130
+ "Content-Type": "application/json",
8131
+ Host: `${opts.host}:${opts.port}`,
8132
+ [AGENTCORE_SESSION_ID_HEADER]: opts.sessionId
8133
+ },
8134
+ body: opts.body
8135
+ };
8136
+ const signed = await signer.sign(request, { ...opts.now && { signingDate: new Date(opts.now()) } });
8137
+ const get = (name) => {
8138
+ const lower = name.toLowerCase();
8139
+ for (const [k, v] of Object.entries(signed.headers)) if (k.toLowerCase() === lower) return v;
8140
+ };
8141
+ const authorization = get("authorization");
8142
+ const amzDate = get("x-amz-date");
8143
+ const amzContentSha256 = get("x-amz-content-sha256");
8144
+ if (!authorization || !amzDate) throw new Error("SigV4 signing produced no Authorization / X-Amz-Date header — internal error");
8145
+ const out = {
8146
+ authorization,
8147
+ amzDate,
8148
+ amzContentSha256: amzContentSha256 ?? ""
8149
+ };
8150
+ const amzSecurityToken = get("x-amz-security-token");
8151
+ if (amzSecurityToken) out.amzSecurityToken = amzSecurityToken;
8152
+ return out;
8153
+ }
8154
+
8014
8155
  //#endregion
8015
8156
  //#region src/local/agentcore-mcp-client.ts
8016
8157
  /**
@@ -9249,7 +9390,7 @@ async function verifyCognitoJwt(authorizer, authorizationHeader, jwksCache, opts
9249
9390
  identityHash,
9250
9391
  ttlSeconds: 0
9251
9392
  };
9252
- return verifyAndShape(token, buildCognitoJwksUrl(selectedPool.region, selectedPool.userPoolId), buildCognitoIssuer(selectedPool.region, selectedPool.userPoolId), void 0, jwksCache, opts.warned, now);
9393
+ return verifyAndShape(token, buildCognitoJwksUrl(selectedPool.region, selectedPool.userPoolId), buildCognitoIssuer(selectedPool.region, selectedPool.userPoolId), void 0, void 0, void 0, jwksCache, opts.warned, now);
9253
9394
  }
9254
9395
  /**
9255
9396
  * Verify a Bearer JWT against an HTTP v2 JWT authorizer's `JwtConfiguration`.
@@ -9262,7 +9403,7 @@ async function verifyJwtAuthorizer(authorizer, authorizationHeader, jwksCache, o
9262
9403
  identityHash: void 0,
9263
9404
  ttlSeconds: 0
9264
9405
  };
9265
- return verifyAndShape(token, authorizer.region && authorizer.userPoolId ? buildCognitoJwksUrl(authorizer.region, authorizer.userPoolId) : buildJwksUrlFromIssuer(authorizer.issuer), authorizer.issuer.replace(/\/+$/, ""), authorizer.audience, jwksCache, opts.warned, now);
9406
+ return verifyAndShape(token, authorizer.region && authorizer.userPoolId ? buildCognitoJwksUrl(authorizer.region, authorizer.userPoolId) : buildJwksUrlFromIssuer(authorizer.issuer), authorizer.issuer.replace(/\/+$/, ""), authorizer.audience, void 0, void 0, jwksCache, opts.warned, now);
9266
9407
  }
9267
9408
  /**
9268
9409
  * Verify a Bearer JWT against an OIDC-discovery-URL authorizer (Bedrock
@@ -9314,9 +9455,9 @@ async function verifyJwtViaDiscovery(authorizer, authorizationHeader, jwksCache,
9314
9455
  };
9315
9456
  }
9316
9457
  const allowlist = [...authorizer.allowedAudience ?? [], ...authorizer.allowedClients ?? []];
9317
- return verifyAndShape(token, jwksUri, issuer.replace(/\/+$/, ""), allowlist.length > 0 ? allowlist : void 0, jwksCache, opts.warned, now);
9458
+ return verifyAndShape(token, jwksUri, issuer.replace(/\/+$/, ""), allowlist.length > 0 ? allowlist : void 0, authorizer.allowedScopes, authorizer.customClaims, jwksCache, opts.warned, now);
9318
9459
  }
9319
- async function verifyAndShape(token, jwksUrl, expectedIssuer, expectedAudience, jwksCache, warned, now) {
9460
+ async function verifyAndShape(token, jwksUrl, expectedIssuer, expectedAudience, requiredScopes, customClaims, jwksCache, warned, now) {
9320
9461
  const identityHash = buildIdentityHash([token]);
9321
9462
  const jwks = await jwksCache.fetchAndCache(jwksUrl);
9322
9463
  if (jwks.passThrough) {
@@ -9377,9 +9518,59 @@ async function verifyAndShape(token, jwksUrl, expectedIssuer, expectedAudience,
9377
9518
  ttlSeconds: 0
9378
9519
  };
9379
9520
  }
9521
+ if (requiredScopes && requiredScopes.length > 0) {
9522
+ if (!verifyRequiredScopes(claims["scope"], requiredScopes)) return {
9523
+ allow: false,
9524
+ identityHash,
9525
+ ttlSeconds: 0
9526
+ };
9527
+ }
9528
+ if (customClaims && customClaims.length > 0) {
9529
+ for (const rule of customClaims) if (!verifyCustomClaim(claims[rule.name], rule)) return {
9530
+ allow: false,
9531
+ identityHash,
9532
+ ttlSeconds: 0
9533
+ };
9534
+ }
9380
9535
  return shapeAllowResult(parsed, identityHash, now);
9381
9536
  }
9382
9537
  /**
9538
+ * The OAuth `scope` claim is a space-separated string. The token is allowed
9539
+ * iff every required scope is present (allowlist as REQUIRED, not OR).
9540
+ */
9541
+ function verifyRequiredScopes(scopeClaim, requiredScopes) {
9542
+ const tokenScopes = typeof scopeClaim === "string" ? scopeClaim.split(/\s+/).filter((s) => s.length > 0) : Array.isArray(scopeClaim) ? scopeClaim.filter((s) => typeof s === "string") : [];
9543
+ return requiredScopes.every((s) => tokenScopes.includes(s));
9544
+ }
9545
+ /**
9546
+ * Verify a single `CustomJWTAuthorizer.CustomClaims` rule against the token's
9547
+ * claim value:
9548
+ *
9549
+ * - `STRING` + `EQUALS` — claim is a string equal to `value`.
9550
+ * - `STRING_ARRAY` + `CONTAINS` — claim is an array containing `value`.
9551
+ * - `STRING_ARRAY` + `CONTAINS_ANY` — claim is an array sharing at least one
9552
+ * entry with `value` (an array of allowed strings).
9553
+ *
9554
+ * A missing or wrong-typed claim fails the rule.
9555
+ */
9556
+ function verifyCustomClaim(claimValue, rule) {
9557
+ if (rule.valueType === "STRING") {
9558
+ if (rule.operator !== "EQUALS" || typeof rule.value !== "string") return false;
9559
+ return typeof claimValue === "string" && claimValue === rule.value;
9560
+ }
9561
+ if (!Array.isArray(claimValue)) return false;
9562
+ const tokenValues = claimValue.filter((v) => typeof v === "string");
9563
+ if (rule.operator === "CONTAINS") {
9564
+ if (typeof rule.value !== "string") return false;
9565
+ return tokenValues.includes(rule.value);
9566
+ }
9567
+ if (rule.operator === "CONTAINS_ANY") {
9568
+ if (!Array.isArray(rule.value)) return false;
9569
+ return rule.value.some((v) => tokenValues.includes(v));
9570
+ }
9571
+ return false;
9572
+ }
9573
+ /**
9383
9574
  * Construct the Allow result for a verified JWT. The handler-side context
9384
9575
  * is the parsed claim map; principalId mirrors Cognito's deployed
9385
9576
  * behavior (the `sub` claim, falling back to `username` then `cognito:username`).
@@ -17598,5 +17789,5 @@ function extractDnsRecords(serviceProps) {
17598
17789
  }
17599
17790
 
17600
17791
  //#endregion
17601
- export { attachAuthorizers as $, substituteAgainstState as $t, buildHttpApiV2Event as A, AGENTCORE_RUNTIME_TYPE as An, buildDockerImage as At, ConnectionRegistry as B, readCdkPathOrUndefined as Bn, streamLogs as Bt, computeRequestIdentityHash as C, discoverWebSocketApisOrThrow as Cn, getDockerImageBySourceHash as Ct, matchRoute as D, resolveLambdaArnIntrinsic as Dn, buildContainerImage as Dt, invokeTokenAuthorizer as E, pickRefLogicalId as En, architectureToPlatform as Et, tryParseStatus as F, derivePseudoParametersFromRegion as Fn, execEnvForSecrets as Ft, buildDisconnectEvent as G, withErrorHandling as Gn, TASK_ROLE_ACCOUNT_PLACEHOLDER as Gt, handleConnectionsRequest as H, CdkLocalError as Hn, resolveRuntimeFileExtension as Ht, VtlEvaluationError as I, substituteImagePlaceholders as In, pickFreePort as It, buildJwksUrlFromIssuer as J, commonOptions as Jn, derivePartitionAndUrlSuffix as Jt, buildMessageEvent as K, applyRoleArnIfSet as Kn, applyCrossStackResolverToTask as Kt, HOST_GATEWAY_MIN_VERSION as L, tryResolveImageFnJoin as Ln, pullImage as Lt, evaluateResponseParameters as M, pickAgentCoreCandidateStack as Mn, SENSITIVE_ENV_KEYS as Mt, pickResponseTemplate as N, resolveAgentCoreTarget as Nn, appendEnvFlags as Nt, translateLambdaResponse as O, AGENTCORE_HTTP_PROTOCOL as On, parseEcrUri as Ot, selectIntegrationResponse as P, resolveLambdaTarget as Pn, ensureDockerAvailable as Pt, verifyJwtViaDiscovery as Q, warnIfDeprecatedRegion as Qn, applyDeployedEnvFallback as Qt, probeHostGatewaySupport as R, matchStacks as Rn, removeContainer as Rt, buildMethodArn as S, discoverWebSocketApis as Sn, AssetManifestLoader as St, invokeRequestAuthorizer as T, discoverRoutes as Tn, waitForRieReady as Tt, parseConnectionsPath as U, LocalInvokeBuildError as Un, resolveRuntimeImage as Ut, buildMgmtEndpointEnvUrl as V, resolveCdkPathToLogicalIds as Vn, resolveRuntimeCodeMountPath as Vt, buildConnectEvent as W, LocalStartServiceError as Wn, EcsTaskResolutionError as Wt, verifyCognitoJwt as X, deprecatedRegionOption as Xn, parseEcsTarget as Xt, createJwksCache as Y, contextOptions as Yn, detectEcsImageResolutionNeeds as Yt, verifyJwtAuthorizer as Z, parseContextOptions as Zn, resolveEcsTaskTarget as Zt, readMtlsMaterialsFromDisk as _, Synthesizer as _n, computeCodeImageTag as _t, createLocalStartApiCommand as a, LocalStateSourceError as an, invokeAgentCoreWs as at, resolveServiceIntegrationParameters as b, countTargets as bn, writeProfileCredentialsFile as bt, resolveProfileCredentials as c, rejectExplicitCfnStackWithMultipleStacks as cn, MCP_PROTOCOL_VERSION as ct, attachStageContext as d, resolveCfnStackName as dn, AGENTCORE_SESSION_ID_HEADER as dt, substituteAgainstStateAsync as en, applyCorsResponseHeaders as et, buildStageMap as f, CfnLocalStateProvider as fn, invokeAgentCore as ft, groupRoutesByServer as g, resolveWatchConfig as gn, buildAgentCoreCodeImage as gt, filterRoutesByApiIdentifiers as h, resolveApp as hn, SUPPORTED_CODE_RUNTIMES as ht, getPublishedHostPort as i, materializeLayerFromArn as in, matchPreflight as it, buildRestV1Event as j, AgentCoreResolutionError as jn, DockerRunnerError as jt, applyAuthorizerOverlay as k, AGENTCORE_MCP_PROTOCOL as kn, pullEcrImage as kt, createAuthorizerCache as l, resolveCfnFallbackRegion as ln, mcpInvokeOnce as lt, filterRoutesByApiIdentifier as m, resolveSsmParameters as mn, downloadAndExtractS3Bundle as mt, CloudMapRegistry as n, substituteEnvVarsFromStateAsync as nn, buildCorsConfigFromCloudFrontChain as nt, createWatchPredicates as o, createLocalStateProvider as on, MCP_CONTAINER_PORT as ot, availableApiIdentifiers as p, collectSsmParameterRefs as pn, waitForAgentCorePing as pt, buildCognitoJwksUrl as q, appOptions as qn, checkVolumeHostPath as qt, getContainerNetworkIp as r, resolveEnvVars as rn, isFunctionUrlOacFronted as rt, resolveApiTargetSubset as s, isCfnFlagPresent as sn, MCP_PATH as st, buildCloudMapIndex as t, substituteEnvVarsFromState as tn, buildCorsConfigByApiId as tt, createFileWatcher as u, resolveCfnRegion as un, parseSseForJsonRpc as ut, startApiServer as v, resolveMultiTarget as vn, renderCodeDockerfile as vt, evaluateCachedLambdaPolicy as w, parseSelectionExpressionPath as wn, invokeRie as wt, defaultCredentialsLoader as x, listTargets as xn, singleFlight as xt, resolveSelectionExpression as y, resolveSingleTarget as yn, toCmdArgv as yt, bufferToBody as z, buildCdkPathIndex as zn, runDetached as zt };
17602
- //# sourceMappingURL=cloud-map-resolver-BvhnCkSe.js.map
17792
+ export { attachAuthorizers as $, parseContextOptions as $n, resolveEcsTaskTarget as $t, buildHttpApiV2Event as A, AGENTCORE_HTTP_PROTOCOL as An, parseEcrUri as At, ConnectionRegistry as B, matchStacks as Bn, removeContainer as Bt, computeRequestIdentityHash as C, listTargets as Cn, singleFlight as Ct, matchRoute as D, discoverRoutes as Dn, waitForRieReady as Dt, invokeTokenAuthorizer as E, parseSelectionExpressionPath as En, invokeRie as Et, tryParseStatus as F, resolveAgentCoreTarget as Fn, appendEnvFlags as Ft, buildDisconnectEvent as G, LocalInvokeBuildError as Gn, resolveRuntimeImage as Gt, handleConnectionsRequest as H, readCdkPathOrUndefined as Hn, streamLogs as Ht, VtlEvaluationError as I, resolveLambdaTarget as In, ensureDockerAvailable as It, buildJwksUrlFromIssuer as J, applyRoleArnIfSet as Jn, applyCrossStackResolverToTask as Jt, buildMessageEvent as K, LocalStartServiceError as Kn, EcsTaskResolutionError as Kt, HOST_GATEWAY_MIN_VERSION as L, derivePseudoParametersFromRegion as Ln, execEnvForSecrets as Lt, evaluateResponseParameters as M, AGENTCORE_RUNTIME_TYPE as Mn, buildDockerImage as Mt, pickResponseTemplate as N, AgentCoreResolutionError as Nn, DockerRunnerError as Nt, translateLambdaResponse as O, pickRefLogicalId as On, architectureToPlatform as Ot, selectIntegrationResponse as P, pickAgentCoreCandidateStack as Pn, SENSITIVE_ENV_KEYS as Pt, verifyJwtViaDiscovery as Q, deprecatedRegionOption as Qn, parseEcsTarget as Qt, probeHostGatewaySupport as R, substituteImagePlaceholders as Rn, pickFreePort as Rt, buildMethodArn as S, countTargets as Sn, writeProfileCredentialsFile as St, invokeRequestAuthorizer as T, discoverWebSocketApisOrThrow as Tn, getDockerImageBySourceHash as Tt, parseConnectionsPath as U, resolveCdkPathToLogicalIds as Un, resolveRuntimeCodeMountPath as Ut, buildMgmtEndpointEnvUrl as V, buildCdkPathIndex as Vn, runDetached as Vt, buildConnectEvent as W, CdkLocalError as Wn, resolveRuntimeFileExtension as Wt, verifyCognitoJwt as X, commonOptions as Xn, derivePartitionAndUrlSuffix as Xt, createJwksCache as Y, appOptions as Yn, checkVolumeHostPath as Yt, verifyJwtAuthorizer as Z, contextOptions as Zn, detectEcsImageResolutionNeeds as Zt, readMtlsMaterialsFromDisk as _, resolveApp as _n, SUPPORTED_CODE_RUNTIMES as _t, createLocalStartApiCommand as a, resolveEnvVars as an, invokeAgentCoreWs as at, resolveServiceIntegrationParameters as b, resolveMultiTarget as bn, renderCodeDockerfile as bt, resolveProfileCredentials as c, createLocalStateProvider as cn, MCP_PROTOCOL_VERSION as ct, attachStageContext as d, resolveCfnFallbackRegion as dn, AGENTCORE_SIGV4_SERVICE as dt, applyDeployedEnvFallback as en, warnIfDeprecatedRegion as er, applyCorsResponseHeaders as et, buildStageMap as f, resolveCfnRegion as fn, signAgentCoreInvocation as ft, groupRoutesByServer as g, resolveSsmParameters as gn, downloadAndExtractS3Bundle as gt, filterRoutesByApiIdentifiers as h, collectSsmParameterRefs as hn, waitForAgentCorePing as ht, getPublishedHostPort as i, substituteEnvVarsFromStateAsync as in, matchPreflight as it, buildRestV1Event as j, AGENTCORE_MCP_PROTOCOL as jn, pullEcrImage as jt, applyAuthorizerOverlay as k, resolveLambdaArnIntrinsic as kn, buildContainerImage as kt, createAuthorizerCache as l, isCfnFlagPresent as ln, mcpInvokeOnce as lt, filterRoutesByApiIdentifier as m, CfnLocalStateProvider as mn, invokeAgentCore as mt, CloudMapRegistry as n, substituteAgainstStateAsync as nn, buildCorsConfigFromCloudFrontChain as nt, createWatchPredicates as o, materializeLayerFromArn as on, MCP_CONTAINER_PORT as ot, availableApiIdentifiers as p, resolveCfnStackName as pn, AGENTCORE_SESSION_ID_HEADER as pt, buildCognitoJwksUrl as q, withErrorHandling as qn, TASK_ROLE_ACCOUNT_PLACEHOLDER as qt, getContainerNetworkIp as r, substituteEnvVarsFromState as rn, isFunctionUrlOacFronted as rt, resolveApiTargetSubset as s, LocalStateSourceError as sn, MCP_PATH as st, buildCloudMapIndex as t, substituteAgainstState as tn, buildCorsConfigByApiId as tt, createFileWatcher as u, rejectExplicitCfnStackWithMultipleStacks as un, parseSseForJsonRpc as ut, startApiServer as v, resolveWatchConfig as vn, buildAgentCoreCodeImage as vt, evaluateCachedLambdaPolicy as w, discoverWebSocketApis as wn, AssetManifestLoader as wt, defaultCredentialsLoader as x, resolveSingleTarget as xn, toCmdArgv as xt, resolveSelectionExpression as y, Synthesizer as yn, computeCodeImageTag as yt, bufferToBody as z, tryResolveImageFnJoin as zn, pullImage as zt };
17793
+ //# sourceMappingURL=cloud-map-resolver-CbSdXQjx.js.map