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 +3 -3
- package/dist/{cloud-map-resolver-BvhnCkSe.js → cloud-map-resolver-CbSdXQjx.js} +199 -8
- package/dist/cloud-map-resolver-CbSdXQjx.js.map +1 -0
- package/dist/{error-handler-Chucd8C_.d.ts → error-handler-BPGt9Xqd.d.ts} +19 -2
- package/dist/error-handler-BPGt9Xqd.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +28 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -2
- package/dist/{local-list-DbBCVhla.js → local-list-B1RsKINr.js} +87 -5
- package/dist/local-list-B1RsKINr.js.map +1 -0
- package/package.json +3 -1
- package/dist/cloud-map-resolver-BvhnCkSe.js.map +0 -1
- package/dist/error-handler-Chucd8C_.d.ts.map +0 -1
- package/dist/local-list-DbBCVhla.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { a as createLocalStartApiCommand } from "./cloud-map-resolver-
|
|
3
|
-
import { a as createLocalRunTaskCommand, i as createLocalStartServiceCommand, o as createLocalInvokeAgentCoreCommand, r as createLocalStartAlbCommand, s as createLocalInvokeCommand, t as createLocalListCommand } from "./local-list-
|
|
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.
|
|
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 $,
|
|
17602
|
-
//# sourceMappingURL=cloud-map-resolver-
|
|
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
|