cdk-local 0.167.0 → 0.167.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.
- package/dist/cli.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal.d.ts +5 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +2 -2
- package/dist/{local-studio-DRE1RQLn.js → local-studio-CrP4kia1.js} +258 -31
- package/dist/local-studio-CrP4kia1.js.map +1 -0
- package/dist/{local-studio-D6Qd0GIc.d.ts → local-studio-DDUOz4HF.d.ts} +10 -2
- package/dist/local-studio-DDUOz4HF.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/local-studio-D6Qd0GIc.d.ts.map +0 -1
- package/dist/local-studio-DRE1RQLn.js.map +0 -1
|
@@ -2457,9 +2457,26 @@ async function resolveDynamicReferencesInEnv(env, options) {
|
|
|
2457
2457
|
}
|
|
2458
2458
|
}
|
|
2459
2459
|
|
|
2460
|
+
// src/utils/ambient-default-region.ts
|
|
2461
|
+
let recorded;
|
|
2462
|
+
function setAmbientDefaultRegion(region) {
|
|
2463
|
+
recorded = region === "" ? void 0 : region;
|
|
2464
|
+
}
|
|
2465
|
+
function ambientDefaultRegion() {
|
|
2466
|
+
return recorded !== void 0 && process.env["AWS_REGION"] === recorded ? recorded : void 0;
|
|
2467
|
+
}
|
|
2468
|
+
function namedEnvAwsRegion() {
|
|
2469
|
+
return ambientDefaultRegion() === void 0 ? process.env["AWS_REGION"] : void 0;
|
|
2470
|
+
}
|
|
2471
|
+
function regionOrAmbientDefault(stackRegion) {
|
|
2472
|
+
const ambient = ambientDefaultRegion();
|
|
2473
|
+
if (ambient === void 0) return stackRegion;
|
|
2474
|
+
return stackRegion === void 0 || stackRegion === "" || stackRegion === "unknown-region" ? ambient : stackRegion;
|
|
2475
|
+
}
|
|
2476
|
+
|
|
2460
2477
|
// src/utils/profile-region.ts
|
|
2461
2478
|
async function resolveContainerRegion(sources) {
|
|
2462
|
-
const named = firstUsableRegion(sources.region,
|
|
2479
|
+
const named = firstUsableRegion(sources.region, namedEnvAwsRegion(), process.env["AWS_DEFAULT_REGION"], sources.stackRegion, sources.stateRegion, ambientDefaultRegion());
|
|
2463
2480
|
if (named) return named.toLowerCase();
|
|
2464
2481
|
return firstUsableRegion(await resolveSdkDefaultRegion(sources.profile))?.toLowerCase();
|
|
2465
2482
|
}
|
|
@@ -5678,7 +5695,7 @@ function hostStateSourceFields(options, extraStateProviders) {
|
|
|
5678
5695
|
return { ...options };
|
|
5679
5696
|
}
|
|
5680
5697
|
function resolveCfnRegion(options, synthRegion) {
|
|
5681
|
-
const region = options.stackRegion ?? options.region ??
|
|
5698
|
+
const region = options.stackRegion ?? options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(synthRegion);
|
|
5682
5699
|
if (region === void 0) throw new LocalStateSourceError("--from-cfn-stack requires a region to query CloudFormation. Set one of: --stack-region <region>, --region <region>, AWS_REGION env var, AWS_DEFAULT_REGION env var, or an env.region on the target CDK stack.");
|
|
5683
5700
|
return region;
|
|
5684
5701
|
}
|
|
@@ -6297,7 +6314,15 @@ async function substituteAgainstStateAsync(value, contextOrResources) {
|
|
|
6297
6314
|
};
|
|
6298
6315
|
const intrinsic = keys[0];
|
|
6299
6316
|
const arg = obj[intrinsic];
|
|
6300
|
-
if (intrinsic === "Ref" || intrinsic === "Fn::GetAtt" || intrinsic === "Fn::Sub" || intrinsic === "Fn::Join" || intrinsic === "Fn::Select" || intrinsic === "Fn::Split")
|
|
6317
|
+
if (intrinsic === "Ref" || intrinsic === "Fn::GetAtt" || intrinsic === "Fn::Sub" || intrinsic === "Fn::Join" || intrinsic === "Fn::Select" || intrinsic === "Fn::Split") {
|
|
6318
|
+
if (!containsCrossStackIntrinsic(value)) return substituteAgainstState(value, context);
|
|
6319
|
+
const rewritten = await resolveNestedCrossStack(value, context);
|
|
6320
|
+
if ("reason" in rewritten) return {
|
|
6321
|
+
kind: "unresolved",
|
|
6322
|
+
reason: rewritten.reason
|
|
6323
|
+
};
|
|
6324
|
+
return substituteAgainstState(rewritten.value, context);
|
|
6325
|
+
}
|
|
6301
6326
|
if (intrinsic === "Fn::ImportValue") return resolveImportValueAsync(arg, context);
|
|
6302
6327
|
if (intrinsic === "Fn::GetStackOutput") return resolveGetStackOutputAsync(arg, context);
|
|
6303
6328
|
return {
|
|
@@ -6305,6 +6330,39 @@ async function substituteAgainstStateAsync(value, contextOrResources) {
|
|
|
6305
6330
|
reason: `unsupported intrinsic ${displayIdent(intrinsic)} (supported: Ref, Fn::GetAtt, Fn::Sub, Fn::Join, Fn::Select, Fn::Split, Fn::ImportValue, Fn::GetStackOutput)`
|
|
6306
6331
|
};
|
|
6307
6332
|
}
|
|
6333
|
+
function isCrossStackNode(value) {
|
|
6334
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) return false;
|
|
6335
|
+
return Object.hasOwn(value, "Fn::ImportValue") || Object.hasOwn(value, "Fn::GetStackOutput");
|
|
6336
|
+
}
|
|
6337
|
+
function containsCrossStackIntrinsic(value) {
|
|
6338
|
+
if (value === null || typeof value !== "object") return false;
|
|
6339
|
+
if (Array.isArray(value)) return value.some(containsCrossStackIntrinsic);
|
|
6340
|
+
if (isCrossStackNode(value)) return true;
|
|
6341
|
+
return Object.values(value).some(containsCrossStackIntrinsic);
|
|
6342
|
+
}
|
|
6343
|
+
async function resolveNestedCrossStack(value, context) {
|
|
6344
|
+
if (!containsCrossStackIntrinsic(value)) return { value };
|
|
6345
|
+
if (isCrossStackNode(value)) {
|
|
6346
|
+
const sub = await substituteAgainstStateAsync(value, context);
|
|
6347
|
+
return sub.kind === "literal" ? { value: sub.value } : { reason: sub.reason };
|
|
6348
|
+
}
|
|
6349
|
+
if (Array.isArray(value)) {
|
|
6350
|
+
const out = [];
|
|
6351
|
+
for (const item of value) {
|
|
6352
|
+
const r = await resolveNestedCrossStack(item, context);
|
|
6353
|
+
if ("reason" in r) return r;
|
|
6354
|
+
out.push(r.value);
|
|
6355
|
+
}
|
|
6356
|
+
return { value: out };
|
|
6357
|
+
}
|
|
6358
|
+
const out = {};
|
|
6359
|
+
for (const [key, item] of Object.entries(value)) {
|
|
6360
|
+
const r = await resolveNestedCrossStack(item, context);
|
|
6361
|
+
if ("reason" in r) return r;
|
|
6362
|
+
defineOwnKey(out, key, r.value);
|
|
6363
|
+
}
|
|
6364
|
+
return { value: out };
|
|
6365
|
+
}
|
|
6308
6366
|
async function resolveImportValueAsync(arg, context) {
|
|
6309
6367
|
const inner = substituteAgainstState(arg, context);
|
|
6310
6368
|
if (inner.kind !== "literal") return {
|
|
@@ -6637,6 +6695,12 @@ function detectEcsImageResolutionNeeds(stack) {
|
|
|
6637
6695
|
if (need.pseudo) needsPseudoParameters = true;
|
|
6638
6696
|
if (need.state) needsStateResources = true;
|
|
6639
6697
|
if (containerHasIntrinsicEnvOrSecret(co)) needsEnvOrSecretSubstitution = true;
|
|
6698
|
+
const argv = containerArgvElements(co);
|
|
6699
|
+
if (argv.some((v) => v !== null && typeof v === "object")) needsEnvOrSecretSubstitution = true;
|
|
6700
|
+
if (argv.some(isCrossStackIntrinsic)) {
|
|
6701
|
+
needsEnvOrSecretSubstitution = true;
|
|
6702
|
+
needsCrossStackResolver = true;
|
|
6703
|
+
}
|
|
6640
6704
|
if (containerHasCrossStackEnvOrSecret(co)) {
|
|
6641
6705
|
needsEnvOrSecretSubstitution = true;
|
|
6642
6706
|
needsCrossStackResolver = true;
|
|
@@ -6675,10 +6739,16 @@ function containerHasCrossStackEnvOrSecret(c) {
|
|
|
6675
6739
|
}
|
|
6676
6740
|
return false;
|
|
6677
6741
|
}
|
|
6742
|
+
function containerArgvElements(c) {
|
|
6743
|
+
const health = c["HealthCheck"];
|
|
6744
|
+
return [
|
|
6745
|
+
c["Command"],
|
|
6746
|
+
c["EntryPoint"],
|
|
6747
|
+
health && typeof health === "object" ? health["Command"] : void 0
|
|
6748
|
+
].flatMap((l) => Array.isArray(l) ? l : []);
|
|
6749
|
+
}
|
|
6678
6750
|
function isCrossStackIntrinsic(value) {
|
|
6679
|
-
|
|
6680
|
-
const obj = value;
|
|
6681
|
-
return "Fn::ImportValue" in obj || "Fn::GetStackOutput" in obj;
|
|
6751
|
+
return containsCrossStackIntrinsic(value);
|
|
6682
6752
|
}
|
|
6683
6753
|
function volumeHasIntrinsicSourcePath(v) {
|
|
6684
6754
|
if (!v || typeof v !== "object") return false;
|
|
@@ -6910,10 +6980,13 @@ function parseContainerDefinition(raw, idx, taskLogicalId, resources, stack, con
|
|
|
6910
6980
|
const name = pickString(c["Name"]);
|
|
6911
6981
|
if (!name) throw new EcsTaskResolutionError(`Task ${displayIdent(taskLogicalId)} ContainerDefinitions[${idx}] has no Name.`);
|
|
6912
6982
|
const image = parseContainerImage(c["Image"], name, taskLogicalId, resources, stack, context);
|
|
6913
|
-
const
|
|
6914
|
-
const
|
|
6983
|
+
const containerContext = contextForContainer(context, name);
|
|
6984
|
+
const subContext = buildSubstitutionContextFromImageContext(containerContext);
|
|
6985
|
+
const unresolvedCommandElements = [];
|
|
6986
|
+
const argv = (raw, field) => resolveArgvArray(raw, field, subContext, containerContext, unresolvedCommandElements);
|
|
6987
|
+
const command = argv(c["Command"], "Command");
|
|
6988
|
+
const entryPoint = argv(c["EntryPoint"], "EntryPoint");
|
|
6915
6989
|
const workingDirectory = pickString(c["WorkingDirectory"]);
|
|
6916
|
-
const subContext = buildSubstitutionContextFromImageContext(contextForContainer(context, name));
|
|
6917
6990
|
const environment = {};
|
|
6918
6991
|
const sensitiveEnvKeys = [];
|
|
6919
6992
|
const droppedEnvKeys = [];
|
|
@@ -7027,7 +7100,7 @@ function parseContainerDefinition(raw, idx, taskLogicalId, resources, stack, con
|
|
|
7027
7100
|
let healthCheck;
|
|
7028
7101
|
if (c["HealthCheck"] && typeof c["HealthCheck"] === "object") {
|
|
7029
7102
|
const h = c["HealthCheck"];
|
|
7030
|
-
const command2 =
|
|
7103
|
+
const command2 = argv(h["Command"], "HealthCheck.Command");
|
|
7031
7104
|
if (command2 && command2.length > 0) {
|
|
7032
7105
|
healthCheck = { command: command2 };
|
|
7033
7106
|
if (typeof h["Interval"] === "number") healthCheck.interval = h["Interval"];
|
|
@@ -7079,8 +7152,117 @@ function parseContainerDefinition(raw, idx, taskLogicalId, resources, stack, con
|
|
|
7079
7152
|
if (user !== void 0) out.user = user;
|
|
7080
7153
|
if (privileged !== void 0) out.privileged = privileged;
|
|
7081
7154
|
if (readonlyRootFilesystem !== void 0) out.readonlyRootFilesystem = readonlyRootFilesystem;
|
|
7155
|
+
if (unresolvedCommandElements.length > 0) out.unresolvedCommandElements = unresolvedCommandElements;
|
|
7156
|
+
return out;
|
|
7157
|
+
}
|
|
7158
|
+
function resolveArgvArray(raw, field, subContext, context, unresolved) {
|
|
7159
|
+
if (!Array.isArray(raw)) return void 0;
|
|
7160
|
+
return raw.map((element, index) => {
|
|
7161
|
+
if (typeof element === "string") return element;
|
|
7162
|
+
if (typeof element === "number" || typeof element === "boolean") return String(element);
|
|
7163
|
+
if (!element || typeof element !== "object" || Array.isArray(element)) {
|
|
7164
|
+
unresolved.push({
|
|
7165
|
+
field,
|
|
7166
|
+
index,
|
|
7167
|
+
reason: "not a string or an intrinsic"
|
|
7168
|
+
});
|
|
7169
|
+
return "";
|
|
7170
|
+
}
|
|
7171
|
+
if (isCrossStackIntrinsic(element)) {
|
|
7172
|
+
unresolved.push({
|
|
7173
|
+
field,
|
|
7174
|
+
index,
|
|
7175
|
+
reason: CROSS_STACK_ARGV_REASON
|
|
7176
|
+
});
|
|
7177
|
+
return "";
|
|
7178
|
+
}
|
|
7179
|
+
if (!subContext) {
|
|
7180
|
+
unresolved.push({
|
|
7181
|
+
field,
|
|
7182
|
+
index,
|
|
7183
|
+
reason: `intrinsic-valued and no deployed state was loaded: ${formatStateRemedy(context)}`
|
|
7184
|
+
});
|
|
7185
|
+
return "";
|
|
7186
|
+
}
|
|
7187
|
+
const secret = secretAttributeRead(element, subContext.resources);
|
|
7188
|
+
if (secret !== void 0) {
|
|
7189
|
+
unresolved.push({
|
|
7190
|
+
field,
|
|
7191
|
+
index,
|
|
7192
|
+
reason: secret
|
|
7193
|
+
});
|
|
7194
|
+
return "";
|
|
7195
|
+
}
|
|
7196
|
+
const { result: sub, consumedSensitive } = resolveWithSensitivity(element, subContext);
|
|
7197
|
+
const arg = argvValue(sub, consumedSensitive);
|
|
7198
|
+
if ("value" in arg) return arg.value;
|
|
7199
|
+
unresolved.push({
|
|
7200
|
+
field,
|
|
7201
|
+
index,
|
|
7202
|
+
reason: arg.reason
|
|
7203
|
+
});
|
|
7204
|
+
return "";
|
|
7205
|
+
});
|
|
7206
|
+
}
|
|
7207
|
+
const STATE_SECRET_MASK = "***";
|
|
7208
|
+
const SECRET_ATTRIBUTE_NAME = /secret|password|credential/i;
|
|
7209
|
+
const NON_SECRET_ATTRIBUTE_SUFFIX = /(arn|id|name|url|alias|status)$/i;
|
|
7210
|
+
const SECRET_VALUED_ATTRIBUTES = /* @__PURE__ */ new Map([
|
|
7211
|
+
["AWS::AppSync::ApiKey", ["ApiKey"]],
|
|
7212
|
+
["AWS::EC2::IpamExternalResourceVerificationToken", ["TokenValue"]],
|
|
7213
|
+
["AWS::IVS::StreamKey", ["Value"]]
|
|
7214
|
+
]);
|
|
7215
|
+
function secretAttributeRead(element, stateResources) {
|
|
7216
|
+
for (const [logicalId, attribute] of getAttReads(element)) {
|
|
7217
|
+
const record = Object.hasOwn(stateResources, logicalId) ? stateResources[logicalId] : void 0;
|
|
7218
|
+
const recorded = record?.attributes;
|
|
7219
|
+
const stored = recorded && Object.hasOwn(recorded, attribute) ? recorded[attribute] : void 0;
|
|
7220
|
+
const type = typeof record?.resourceType === "string" ? record.resourceType : "";
|
|
7221
|
+
const typed = SECRET_VALUED_ATTRIBUTES.get(type);
|
|
7222
|
+
if (SECRET_ATTRIBUTE_NAME.test(attribute) && !NON_SECRET_ATTRIBUTE_SUFFIX.test(attribute) || typed?.includes(attribute) === true || type.startsWith("Custom::") || type === "AWS::CloudFormation::CustomResource" || type === "AWS::CloudFormation::Stack" && attribute.startsWith("Outputs.") || stored === STATE_SECRET_MASK) return `reads ${displayIdent(logicalId)}.${displayIdent(attribute)}, an attribute that is or may be a secret, which ${getEmbedConfig().binaryName} will not put on the docker run command line; pass the value through Environment or Secrets instead`;
|
|
7223
|
+
}
|
|
7224
|
+
}
|
|
7225
|
+
function getAttReads(node, out = []) {
|
|
7226
|
+
if (node === null || typeof node !== "object") return out;
|
|
7227
|
+
if (Array.isArray(node)) {
|
|
7228
|
+
for (const item of node) getAttReads(item, out);
|
|
7229
|
+
return out;
|
|
7230
|
+
}
|
|
7231
|
+
for (const [key, value] of Object.entries(node)) {
|
|
7232
|
+
if (key === "Fn::GetAtt") {
|
|
7233
|
+
if (Array.isArray(value) && typeof value[0] === "string" && typeof value[1] === "string") out.push([value[0], value[1]]);
|
|
7234
|
+
else if (typeof value === "string" && value.includes(".")) {
|
|
7235
|
+
const dot = value.indexOf(".");
|
|
7236
|
+
out.push([value.slice(0, dot), value.slice(dot + 1)]);
|
|
7237
|
+
}
|
|
7238
|
+
} else if (key === "Fn::Sub") {
|
|
7239
|
+
const template = Array.isArray(value) ? value[0] : value;
|
|
7240
|
+
if (typeof template === "string") for (const m of template.matchAll(/\$\{([^}!][^}]*)\}/g)) {
|
|
7241
|
+
const ref = m[1].trim();
|
|
7242
|
+
const dot = ref.indexOf(".");
|
|
7243
|
+
if (dot > 0 && !ref.startsWith("AWS::")) out.push([ref.slice(0, dot), ref.slice(dot + 1)]);
|
|
7244
|
+
}
|
|
7245
|
+
}
|
|
7246
|
+
getAttReads(value, out);
|
|
7247
|
+
}
|
|
7082
7248
|
return out;
|
|
7083
7249
|
}
|
|
7250
|
+
const CROSS_STACK_ARGV_REASON = "a cross-stack reference (Fn::ImportValue / Fn::GetStackOutput): it resolves only from a state source with the producer stack deployed";
|
|
7251
|
+
function argvValue(sub, consumedSensitive) {
|
|
7252
|
+
if (sub.kind !== "literal") return { reason: sub.reason };
|
|
7253
|
+
if (consumedSensitive) return { reason: "resolved from a SecureString parameter, which would put the secret on the docker run argv; move the value into an Environment variable or a Secrets entry" };
|
|
7254
|
+
const value = sub.value;
|
|
7255
|
+
if (typeof value === "number" || typeof value === "boolean") return { value: String(value) };
|
|
7256
|
+
if (value === STATE_SECRET_MASK) return { reason: "resolved to the secret mask (***), not the deployed value" };
|
|
7257
|
+
if (containsDynamicReference(value)) return { reason: "resolved to a CloudFormation dynamic reference ({{resolve:...}}), which is resolved only in Environment, because resolving one here would put the secret on the docker run argv; move the value into an Environment variable or a Secrets entry" };
|
|
7258
|
+
return { value };
|
|
7259
|
+
}
|
|
7260
|
+
function assertEcsTaskCommandsResolved(task) {
|
|
7261
|
+
const lines = [];
|
|
7262
|
+
for (const container of task.containers) for (const u of container.unresolvedCommandElements ?? []) lines.push(` - Container ${displayIdent(container.name)} ${u.field}[${u.index}]: ${u.reason}`);
|
|
7263
|
+
if (lines.length === 0) return;
|
|
7264
|
+
throw new EcsTaskResolutionError(`Task ${displayIdent(task.taskDefinitionLogicalId)} has container command elements ${getEmbedConfig().binaryName} could not resolve:\n${lines.join("\n")}\nRefusing to run the task with these arguments missing, since that runs a different command than the deployed task.`);
|
|
7265
|
+
}
|
|
7084
7266
|
function buildSubstitutionContextFromImageContext(context) {
|
|
7085
7267
|
if (!context?.stateResources) return void 0;
|
|
7086
7268
|
const subContext = { resources: context.stateResources };
|
|
@@ -7391,6 +7573,21 @@ async function applyCrossStackValuesToTask(task, crossStackResolver, opts) {
|
|
|
7391
7573
|
dynamicRefs.dispose();
|
|
7392
7574
|
}
|
|
7393
7575
|
}
|
|
7576
|
+
function argvTarget(container, field) {
|
|
7577
|
+
if (field === "Command") return container.command;
|
|
7578
|
+
if (field === "EntryPoint") return container.entryPoint;
|
|
7579
|
+
return container.healthCheck?.command;
|
|
7580
|
+
}
|
|
7581
|
+
function rawArgv(c, field) {
|
|
7582
|
+
let raw;
|
|
7583
|
+
if (field === "Command") raw = c["Command"];
|
|
7584
|
+
else if (field === "EntryPoint") raw = c["EntryPoint"];
|
|
7585
|
+
else {
|
|
7586
|
+
const h = c["HealthCheck"];
|
|
7587
|
+
raw = h && typeof h === "object" ? h["Command"] : void 0;
|
|
7588
|
+
}
|
|
7589
|
+
return Array.isArray(raw) ? raw : void 0;
|
|
7590
|
+
}
|
|
7394
7591
|
function withContainerState(context, state) {
|
|
7395
7592
|
const out = {
|
|
7396
7593
|
...context,
|
|
@@ -7456,6 +7653,38 @@ async function applyCrossStackResolverToTask(task, context, containerState) {
|
|
|
7456
7653
|
resolvedSecretNames.add(sName);
|
|
7457
7654
|
}
|
|
7458
7655
|
}
|
|
7656
|
+
if (container.unresolvedCommandElements?.length) {
|
|
7657
|
+
const argvContext = ownState ? withContainerState(secretContext, ownState) : secretContext;
|
|
7658
|
+
const remaining = [];
|
|
7659
|
+
for (const u of container.unresolvedCommandElements) {
|
|
7660
|
+
const target = argvTarget(container, u.field);
|
|
7661
|
+
const rawElement = rawArgv(c, u.field)?.[u.index];
|
|
7662
|
+
if (!target || !isCrossStackIntrinsic(rawElement)) {
|
|
7663
|
+
remaining.push(u);
|
|
7664
|
+
continue;
|
|
7665
|
+
}
|
|
7666
|
+
const secret = secretAttributeRead(rawElement, argvContext.resources);
|
|
7667
|
+
if (secret !== void 0) {
|
|
7668
|
+
remaining.push({
|
|
7669
|
+
...u,
|
|
7670
|
+
reason: secret
|
|
7671
|
+
});
|
|
7672
|
+
continue;
|
|
7673
|
+
}
|
|
7674
|
+
const { result: sub, consumedSensitive } = await resolveWithSensitivityAsync(rawElement, argvContext);
|
|
7675
|
+
const arg = argvValue(sub, consumedSensitive);
|
|
7676
|
+
if ("value" in arg) {
|
|
7677
|
+
target[u.index] = arg.value;
|
|
7678
|
+
continue;
|
|
7679
|
+
}
|
|
7680
|
+
remaining.push({
|
|
7681
|
+
...u,
|
|
7682
|
+
reason: arg.reason
|
|
7683
|
+
});
|
|
7684
|
+
}
|
|
7685
|
+
if (remaining.length > 0) container.unresolvedCommandElements = remaining;
|
|
7686
|
+
else delete container.unresolvedCommandElements;
|
|
7687
|
+
}
|
|
7459
7688
|
if (resolvedEnvKeys.size > 0 || resolvedSecretNames.size > 0) {
|
|
7460
7689
|
container.warnings = container.warnings.filter((w) => {
|
|
7461
7690
|
for (const k of resolvedEnvKeys) if (w.startsWith(`Environment ${displayIdent(k)} dropped:`)) return false;
|
|
@@ -10499,16 +10728,11 @@ function envHasIntrinsicValue$1(templateEnv) {
|
|
|
10499
10728
|
}
|
|
10500
10729
|
function envHasCrossStackIntrinsic(templateEnv) {
|
|
10501
10730
|
if (!templateEnv) return false;
|
|
10502
|
-
|
|
10503
|
-
if (!v || typeof v !== "object") continue;
|
|
10504
|
-
const obj = v;
|
|
10505
|
-
if ("Fn::ImportValue" in obj || "Fn::GetStackOutput" in obj) return true;
|
|
10506
|
-
}
|
|
10507
|
-
return false;
|
|
10731
|
+
return Object.values(templateEnv).some(containsCrossStackIntrinsic);
|
|
10508
10732
|
}
|
|
10509
10733
|
async function resolvePseudoParametersForInvoke(stackRegion, options) {
|
|
10510
10734
|
const logger = getLogger();
|
|
10511
|
-
const region = options.region ??
|
|
10735
|
+
const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(stackRegion);
|
|
10512
10736
|
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.`);
|
|
10513
10737
|
let accountId;
|
|
10514
10738
|
try {
|
|
@@ -17345,7 +17569,7 @@ async function loadStackStateBundle(stack, provider, args) {
|
|
|
17345
17569
|
}
|
|
17346
17570
|
async function resolvePseudoParametersForStartApi(stateRegion, options) {
|
|
17347
17571
|
const logger = getLogger();
|
|
17348
|
-
const region = options.region ??
|
|
17572
|
+
const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(stateRegion);
|
|
17349
17573
|
let accountId;
|
|
17350
17574
|
try {
|
|
17351
17575
|
const { STSClient, GetCallerIdentityCommand } = await import("@aws-sdk/client-sts");
|
|
@@ -18424,7 +18648,7 @@ async function resolveAgentCoreSigV4Context(options, resolved, loaded, stateProv
|
|
|
18424
18648
|
getLogger().warn(`Runtime ${displayIdent(resolved.logicalId)} declares a customJwtAuthorizer; --sigv4 ignored (JWT path takes precedence).`);
|
|
18425
18649
|
return;
|
|
18426
18650
|
}
|
|
18427
|
-
const region = options.region ?? options.stackRegion ??
|
|
18651
|
+
const region = options.region ?? options.stackRegion ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(resolved.stack.region);
|
|
18428
18652
|
if (!region) throw new CdkLocalError("--sigv4: no region resolved for the AgentCore signing scope. Pass --region <region>, set AWS_REGION, or use --from-cfn-stack with a region-bound stack.", "LOCAL_INVOKE_AGENTCORE_SIGV4_NO_REGION");
|
|
18429
18653
|
return {
|
|
18430
18654
|
credentials: await resolveHostCredentialsForSigV4(options, resolved, loaded, region, stateProvider),
|
|
@@ -18558,7 +18782,7 @@ async function resolveAgentCoreCodeImageFromS3(resolved, code, s3Source, options
|
|
|
18558
18782
|
key: s3Source.key,
|
|
18559
18783
|
...s3Source.versionId !== void 0 && { versionId: s3Source.versionId }
|
|
18560
18784
|
};
|
|
18561
|
-
const region = options.region ?? options.stackRegion ??
|
|
18785
|
+
const region = options.region ?? options.stackRegion ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(resolved.stack.region);
|
|
18562
18786
|
const assumeRoleArn = await resolveAssumeRoleArn(options, resolved, loaded, stateProvider);
|
|
18563
18787
|
let credentials;
|
|
18564
18788
|
if (assumeRoleArn) try {
|
|
@@ -18702,7 +18926,7 @@ function describeIntrinsic(value) {
|
|
|
18702
18926
|
}
|
|
18703
18927
|
async function buildAgentCoreImageContext(candidate, stateProvider, options) {
|
|
18704
18928
|
const logger = getLogger();
|
|
18705
|
-
const region = options.region ??
|
|
18929
|
+
const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(candidate.region);
|
|
18706
18930
|
let accountId;
|
|
18707
18931
|
try {
|
|
18708
18932
|
accountId = await resolveCallerAccountId$2(region, options.profile, isCfnFlagPresent(options));
|
|
@@ -19854,6 +20078,7 @@ function mergeHostGatewayAddHostFlags(addHostFlags, hostGatewayExtraHosts) {
|
|
|
19854
20078
|
async function runEcsTask(task, options, state) {
|
|
19855
20079
|
const logger = getLogger();
|
|
19856
20080
|
if (task.containers.length === 0) throw new EcsTaskRunnerError(`Task ${displayIdent(task.taskDefinitionLogicalId)} has no containers — nothing to run.`);
|
|
20081
|
+
assertEcsTaskCommandsResolved(task);
|
|
19857
20082
|
for (const w of task.warnings) logger.warn(w);
|
|
19858
20083
|
const startOrder = topoSort(buildDependencyGraph(task.containers), task.containers);
|
|
19859
20084
|
const finchRefusals = [];
|
|
@@ -24357,14 +24582,15 @@ async function resolveServiceAndRunnerOpts(boot, stacks, options, discovery, ski
|
|
|
24357
24582
|
const taskStack = stacks.find((s) => s.stackName === service.stack.stackName) ?? service.stack;
|
|
24358
24583
|
const taskNeeds = detectEcsImageResolutionNeeds(taskStack);
|
|
24359
24584
|
if (stateProvider && taskNeeds.needsCrossStackResolver) {
|
|
24360
|
-
const consumerRegion = options.region ??
|
|
24585
|
+
const consumerRegion = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(service.stack.region) ?? "us-east-1";
|
|
24361
24586
|
const resolver = await stateProvider.buildCrossStackResolver(consumerRegion);
|
|
24362
24587
|
if (resolver) await applyCrossStackValuesToTask(service.task, resolver, {
|
|
24363
24588
|
imageContext,
|
|
24364
24589
|
consumerRegion,
|
|
24365
24590
|
profile: options.profile
|
|
24366
24591
|
});
|
|
24367
|
-
} else if (!stateProvider && taskNeeds.needsCrossStackResolver) logger.warn("Container Environment / Secrets entries contain Fn::ImportValue / Fn::GetStackOutput intrinsics. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against deployed state.");
|
|
24592
|
+
} else if (!stateProvider && taskNeeds.needsCrossStackResolver) logger.warn("Container Environment / Secrets / Command entries contain Fn::ImportValue / Fn::GetStackOutput intrinsics. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against deployed state.");
|
|
24593
|
+
assertEcsTaskCommandsResolved(service.task);
|
|
24368
24594
|
const effectiveAssumeRole = resolveEcsAssumeRoleOption(options);
|
|
24369
24595
|
let assumedCredentials;
|
|
24370
24596
|
let resolvedRoleArn;
|
|
@@ -24816,7 +25042,7 @@ async function buildEcsImageResolutionContext$1(target, stacks, options, statePr
|
|
|
24816
25042
|
if (!roleRecordUsable) ctx.ignoreStateForRoles = true;
|
|
24817
25043
|
const wantsPseudoForEnvOrSecret = !!stateProvider && needs.needsEnvOrSecretSubstitution;
|
|
24818
25044
|
if (needs.needsPseudoParameters || wantsPseudoForEnvOrSecret) {
|
|
24819
|
-
const region = options.region ??
|
|
25045
|
+
const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(candidate.region);
|
|
24820
25046
|
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.`);
|
|
24821
25047
|
let accountId;
|
|
24822
25048
|
try {
|
|
@@ -24857,7 +25083,7 @@ async function buildEcsImageResolutionContext$1(target, stacks, options, statePr
|
|
|
24857
25083
|
} else if (!stateProvider && needs.needsStateResources) {
|
|
24858
25084
|
if (!opts.suppressStateWarning && !opts.imageOverridden) logger.warn("Container Image references a same-stack AWS::ECR::Repository. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute the deployed repository URI, or --image-override to build it from a local Dockerfile.");
|
|
24859
25085
|
} else if (!stateProvider && needs.needsEnvOrSecretSubstitution) {
|
|
24860
|
-
if (!opts.suppressStateWarning) logger.warn("Container Environment / Secrets entries contain CloudFormation intrinsics. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against the deployed state.");
|
|
25086
|
+
if (!opts.suppressStateWarning) logger.warn("Container Environment / Secrets / Command entries contain CloudFormation intrinsics. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against the deployed state; without one an intrinsic Command / EntryPoint / HealthCheck.Command element refuses the run.");
|
|
24861
25087
|
}
|
|
24862
25088
|
return ctx;
|
|
24863
25089
|
}
|
|
@@ -25155,14 +25381,15 @@ async function localRunTaskCommand(target, options, extraStateProviders) {
|
|
|
25155
25381
|
const taskStack = stacks.find((s) => s.stackName === task.stack.stackName) ?? task.stack;
|
|
25156
25382
|
const taskNeeds = detectEcsImageResolutionNeeds(taskStack);
|
|
25157
25383
|
if (stateProvider && taskNeeds.needsCrossStackResolver) {
|
|
25158
|
-
const consumerRegion = options.region ??
|
|
25384
|
+
const consumerRegion = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(task.stack.region) ?? "us-east-1";
|
|
25159
25385
|
const resolver = await stateProvider.buildCrossStackResolver(consumerRegion);
|
|
25160
25386
|
if (resolver) await applyCrossStackValuesToTask(task, resolver, {
|
|
25161
25387
|
imageContext,
|
|
25162
25388
|
consumerRegion,
|
|
25163
25389
|
profile: options.profile
|
|
25164
25390
|
});
|
|
25165
|
-
} else if (!stateProvider && taskNeeds.needsCrossStackResolver) logger.warn("Container Environment / Secrets entries contain Fn::ImportValue / Fn::GetStackOutput intrinsics. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against deployed state.");
|
|
25391
|
+
} else if (!stateProvider && taskNeeds.needsCrossStackResolver) logger.warn("Container Environment / Secrets / Command entries contain Fn::ImportValue / Fn::GetStackOutput intrinsics. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against deployed state.");
|
|
25392
|
+
assertEcsTaskCommandsResolved(task);
|
|
25166
25393
|
const onSignal = createShutdownSignalHandler({
|
|
25167
25394
|
cleanup,
|
|
25168
25395
|
stoppingMessage: () => "Stopping task...",
|
|
@@ -25312,7 +25539,7 @@ async function buildEcsImageResolutionContext(candidate, stateProvider, options,
|
|
|
25312
25539
|
if (!roleRecordUsable) ctx.ignoreStateForRoles = true;
|
|
25313
25540
|
const wantsPseudoForEnvOrSecret = !!stateProvider && needs.needsEnvOrSecretSubstitution;
|
|
25314
25541
|
if (needs.needsPseudoParameters || wantsPseudoForEnvOrSecret) {
|
|
25315
|
-
const region = options.region ??
|
|
25542
|
+
const region = options.region ?? namedEnvAwsRegion() ?? process.env["AWS_DEFAULT_REGION"] ?? regionOrAmbientDefault(candidate.region);
|
|
25316
25543
|
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.`);
|
|
25317
25544
|
let accountId;
|
|
25318
25545
|
try {
|
|
@@ -25352,7 +25579,7 @@ async function buildEcsImageResolutionContext(candidate, stateProvider, options,
|
|
|
25352
25579
|
if (needs.needsEnvOrSecretSubstitution && stateProviderFor) await loadMixedModeContainerStates(ctx, candidate, stateProviderFor);
|
|
25353
25580
|
} else if (!stateProvider && needs.needsStateResources) {
|
|
25354
25581
|
if (!options.imageOverride?.length) logger.warn("Container Image references a same-stack AWS::ECR::Repository. Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute the deployed repository URI, or --image-override to build it from a local Dockerfile. Otherwise the resolver will surface its existing error.");
|
|
25355
|
-
} else if (!stateProvider && needs.needsEnvOrSecretSubstitution) logger.warn("Container Environment / Secrets entries contain CloudFormation intrinsics (Ref / Fn::GetAtt / Fn::Sub / Fn::Join). Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against deployed state. Without a state source
|
|
25582
|
+
} else if (!stateProvider && needs.needsEnvOrSecretSubstitution) logger.warn("Container Environment / Secrets / Command entries contain CloudFormation intrinsics (Ref / Fn::GetAtt / Fn::Sub / Fn::Join). Pass a state-source flag (e.g. --from-cfn-stack or a host-provided extension) to substitute them against deployed state. Without a state source the Environment / Secrets entries are dropped (per-key warnings will follow), and an intrinsic Command / EntryPoint / HealthCheck.Command element refuses the run.");
|
|
25356
25583
|
return ctx;
|
|
25357
25584
|
}
|
|
25358
25585
|
function pickCandidateStack(target, stacks) {
|
|
@@ -36794,5 +37021,5 @@ function addStudioSpecificOptions(cmd) {
|
|
|
36794
37021
|
return cmd;
|
|
36795
37022
|
}
|
|
36796
37023
|
|
|
36797
|
-
export { postHook as $, AGENTCORE_HTTP_PROTOCOL as $a, probeHostGatewaySupport as $i, addImageOverrideOptions as $n, readProfileEndpointSettings as $o, resolveApiTargetSubset as $r, classifyS3Error as $t, microvmFidelityWarnings as A, isCfnFlagPresent as Aa, translateLambdaResponse as Ai, stripCloudFrontImport as An, AUTH_OFF_PLACEHOLDER_CREDENTIALS as Ao, A2A_CONTAINER_PORT as Ar, readContainerLogTail as At, MICROVM_WS_BASE_PROTOCOL as B, countTargets as Ba, ConnectionRegistry as Bi, createLocalStartAlbCommand as Bn, collectHostEndpointOverrides as Bo, AGENTCORE_SESSION_ID_HEADER as Br, parseWebFunctionBuildConfig as Bt, addListSpecificOptions as C, substituteEnvVarsFromState as Ca, attachAuthorizers as Ci, WEB_FUNCTION_REVISION_TYPE as Cn, assumedRoleRecorded as Co, setShadowReadyTimeoutMs as Cr, parseKvsFileOverrides as Ct, buildMicrovmLambdaView as D, UNNAMED_WORKLOAD as Da, isFunctionUrlOacFronted as Di, compileCloudFrontFunction as Dn, resetWorkloadIdentity as Do, createLocalInvokeAgentCoreCommand as Dr, WEB_FUNCTION_CONTAINER_PORT as Dt, addStartMicrovmSpecificOptions as E, LocalStateSourceError as Ea, buildCorsConfigFromCloudFrontChain as Ei, resolveWebFunctionTarget as En, recordAssumedRole as Eo, addInvokeAgentCoreSpecificOptions as Er, RecentOutput as Et, microvmImageTag as F, CfnLocalStateProvider as Fa, pickResponseTemplate as Fi, findFileAssetForObjectKey as Fn, HOST_DEFAULT_CREDENTIALS_MISS_TTL_MS as Fo, MCP_PROTOCOL_VERSION as Fr, buildNodeEntryFileStart as Ft, startMicrovmFrontDoor as G, filterWebSocketApisByIdentifiers as Ga, buildDisconnectEvent as Gi, addStartServiceSpecificOptions as Gn, getContainerJavaTruststorePath as Go, SUPPORTED_CODE_RUNTIMES as Gr, readWebFunctionServiceConfig as Gt, PROXY_PORT_HEADER as H, availableWebSocketApiIdentifiers as Ha, handleConnectionsRequest as Hi, resolveAlbTarget as Hn, effectiveLoopbackPorts as Ho, waitForAgentCoreHttpReady as Hr, WEB_FUNCTION_HTTP_ENDPOINT_ENV as Ht, planMicrovmPorts as I, collectSsmParameterRefs as Ia, selectIntegrationResponse as Ii, isBucketDeploymentResource as In, activateWorkloadAwsWiring as Io, mcpInvokeOnce as Ir, defaultWebFunctionPlatform as It, MICROVM_HOOK_PATH_PREFIX as J, discoverRoutes as Ja, createFileWatcher as Ji, addRunTaskSpecificOptions as Jn, loopbackForwarderPlan as Jo, renderCodeDockerfile as Jr, idFromArn as Jt, stripMicrovmProxyHeaders as K, parseSelectionExpressionPath as Ka, buildMessageEvent as Ki, createLocalStartServiceCommand as Kn, javaTruststoreToolOptions as Ko, buildAgentCoreCodeImage as Kr, webFunctionAssumeRole as Kt, readExposedPorts as L, resolveSsmParameters as La, tryParseStatus as Li, resolveBucketDeploymentObjectKey as Ln, applyWorkloadAwsWiringToEnv as Lo, parseSseForJsonRpc as Lr, resolveWebFunctionRuntime as Lt, DEFAULT_TERMINATE_HOOK_TIMEOUT_MS as M, resolveCfnFallbackRegion as Ma, buildHttpApiV2Event as Mi, createLocalFileKvsDataSource as Mn, DEFAULT_AWS_EMULATOR_URL as Mo, a2aInvokeOnce as Mr, waitForWebFunctionReady as Mt, LocalMicrovm as N, resolveCfnRegion as Na, buildRestV1Event as Ni, createUnboundCloudFrontModule as Nn, EMULATOR_SCRUBBED_ENV_KEYS as No, MCP_CONTAINER_PORT as Nr, watchContainerExit as Nt, createLocalStartMicrovmCommand as O, createLocalStateProvider as Oa, matchPreflight as Oi, runViewerRequest as On, workloadClientConfig as Oo, bridgeAgentCoreWs as Or, containerFailure as Ot, buildMicrovmImage as P, resolveCfnStackName as Pa, evaluateResponseParameters as Pi, bucketDeploymentSourceObjectKeys as Pn, HOST_CA_TRUST_ENV_KEYS as Po, MCP_PATH as Pr, WEB_FUNCTION_RUNTIMES as Pt, pollBuildHook as Q, AGENTCORE_AGUI_PROTOCOL as Qa, HOST_GATEWAY_MIN_VERSION as Qi, addEcsAssumeRoleOptions as Qn, readEmulatorRunFiles as Qo, createWatchPredicates as Qr, resolveDeployedOriginBucket as Qt, setContainerPaused as R, resolveWatchConfig as Ra, VtlEvaluationError as Ri, addAlbSpecificOptions as Rn, awsEmulatorEnvName as Ro, AGENTCORE_SIGV4_SERVICE as Rr, supportedWebFunctionRuntimes as Rt, StudioEventBus as S, substituteAgainstStateAsync as Sa, invokeTokenAuthorizer as Si, WEB_FUNCTION_ENDPOINT_TYPE as Sn, SECOND_ASSUME_MESSAGE as So, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as Sr, normalizeKvsFileKeys as St, formatTargetListing as T, materializeLayerFromArn as Ta, buildCorsConfigByApiId as Ti, WebFunctionResolutionError as Tn, readEnvCallerCredentials as To, attachContainerLogStreamer as Tr, resolveCloudFrontTarget as Tt, rewriteUpgradeResponseHead as U, discoverWebSocketApis as Ua, parseConnectionsPath as Ui, isApplicationLoadBalancer as Un, getActiveWorkloadAwsWiring as Uo, waitForAgentCorePing as Ur, buildWebFunctionLambdaView as Ut, MicrovmStateError as V, listTargets as Va, buildMgmtEndpointEnvUrl as Vi, parseLbPortOverrides as Vn, displayEndpointValue as Vo, invokeAgentCore as Vr, resolveWebFunctionArtifact as Vt, selectTargetPort as W, discoverWebSocketApisOrThrow as Wa, buildConnectEvent as Wi, resolveAlbFrontDoor as Wn, getContainerCaBundlePath as Wo, downloadAndExtractS3Bundle as Wr, finalizeWebFunctionEnv as Wt, callRuntimeHook as X, resolveLambdaArnIntrinsic as Xa, createLocalInvokeCommand as Xi, MAX_TASKS_SUBNET_RANGE_CAP as Xn, parseAwsEndpoint as Xo, addStartApiSpecificOptions as Xr, createDeployedKvsDataSource as Xt, MicrovmHookError as Y, pickRefLogicalId as Ya, addInvokeSpecificOptions as Yi, createLocalRunTaskCommand as Yn, mergeJavaToolOptions as Yo, toCmdArgv as Yr, resolveKvsModulesForDistribution as Yt, generateMicrovmId as Z, AGENTCORE_A2A_PROTOCOL as Za, HOST_DOCKER_INTERNAL_GATEWAY as Zi, addCommonEcsServiceOptions as Zn, probeAwsEmulatorHealth as Zo, createLocalStartApiCommand as Zr, resolveDeployedKvsArnByName as Zt, filterStudioTargetGroups as _, resolveRuntimeFileExtension as _a, verifyJwtViaDiscovery as _i, pickKvsLogicalIdFromArn as _n, parseDynamicReference as _o, isLocalCdkAssetImage as _r, attachAgentCoreWsBridge as _t, createLocalStudioCommand as a, buildLoopbackForwarderDockerArgs as aa, filterRoutesByApiIdentifiers as ai, serveLambdaUrlOrigin as an, derivePseudoParametersFromRegion as ao, resolveSharedSidecarCredentials as ar, writeCaBundleFile as as, disposeMicrovmCodeArtifact as at, renderStudioHtml as b, assertEcsTaskImagesResolvable as ba, evaluateCachedLambdaPolicy as bi, pickWebFunctionEndpointLogicalIdFromOrigin as bn, addAwsEndpointOptions as bo, CloudMapRegistry as br, addStartCloudFrontSpecificOptions as bt, startStudioProxy as c, ensureForwarderImage as ca, startApiServer as ci, buildEdgeRequestEvent as cn, tryResolveImageFnJoin as co, buildImageOverrideTag as cr, isRealAwsHost as cs, resolveMicrovmImageTarget as ct, createStudioDispatcher as d, buildContainerImage as da, defaultCredentialsLoader as di, httpHeadersToEdge as dn, DynamicReferenceResolver as do, mergeForService as dr, rewriteSqsQueueUrlsInEnv as ds, createLocalStartWebFunctionCommand as dt, resolveHostGatewayExtraHosts as ea, createAuthorizerCache as ei, createS3OriginReader as en, AGENTCORE_MCP_PROTOCOL as eo, buildEcsImageResolutionContext$1 as er, resolveAwsEmulatorOption as es, runHookBody as et, filterStudioCustomResources as f, dockerRegistryEnv as fa, buildCognitoJwksUrl as fi, CLOUDFRONT_DISTRIBUTION_TYPE as fn, containsDynamicReference as fo, parseImageOverrideFlags as fr, sqsEmulatorOriginOf as fs, addStartAgentCoreSpecificOptions as ft, annotatePinnedEcsTargets as g, resolveRuntimeCodeMountPath as ga, verifyJwtAuthorizer as gi, pickFunctionUrlLogicalIdFromOrigin as gn, keysOverriddenBy as go, imageOverrideKeyAliases as gr, resolveProfileCredentials as gs, startAgentCoreHttpServer as gt, annotateEcsTaskPinnedTargets as h, stripEcrCredentials as ha, verifyCognitoJwt as hi, isCloudFrontDistribution as hn, keysNotFromTemplate as ho, describePinnedImageUri as hr, buildStsClientConfig as hs, selectServeInboundAuth as ht, coerceStopRequest as i, awaitLoopbackForwarderStatus as ia, filterRoutesByApiIdentifier as ii, serveFromStaticOrigin as in, resolveAgentCoreTarget as io, resolveEcsAssumeRoleOption as ir, takeAwsEmulatorStateSourceHint as is, MicrovmResolutionError as it, readRunHookPayload as j, rejectExplicitCfnStackWithMultipleStacks as ja, applyAuthorizerOverlay as ji, createCloudFrontModule as jn, CA_TRUST_ENV_KEYS as jo, A2A_PATH as jr, startWebFunctionContainer as jt, finalizeMicrovmEnv as k, groupWorkloadsRoutedApart as ka, matchRoute as ki, runViewerResponse as kn, workloadStsClientConfig as ko, invokeAgentCoreWs as kr, planWebFunctionContainer as kt, relayServeRequest as l, startLoopbackForwarder as la, resolveSelectionExpression as li, buildEdgeResponseEvent as ln, LocalInvokeBuildError as lo, canonicalizeImageOverrideKeys as lr, realSqsHostnames as ls, s3KeyOfUri as lt, annotateAlbPinnedBackingServices as m, noImplicitEcrPullArgs as ma, createJwksCache as mi, extractKvsAssociations as mn, firstUsableRegion as mo, runImageOverrideBuilds as mr, createMixedModeTlsMaterials as ms, buildAgentCoreServeAuthCheck as mt, coerceRunRequest as n, withWorkloadAwsWiring as na, buildStageMap as ni, startCloudFrontServer as nn, AgentCoreResolutionError as no, parseMaxTasks as nr, resolveWorkloadAwsWiring as ns, MICROVM_DEFAULT_INGRESS_PORT as nt, resolveServeBaseUrl as o, buildNamespaceOwnerForwarderDockerArgs as oa, groupRoutesByServer as oi, applyEdgeRequestResult as on, formatStateRemedy as oo, runEcsServiceEmulator as or, MIXED_MODE_RESIGN_BODY_CAP_BYTES as os, readMicrovmImageConfig as ot, isCustomResourceLambdaTarget as p, isEcrRegistryConfigKey as pa, buildJwksUrlFromIssuer as pi, describeS3OriginDomain as pn, deployedFillMayBeSecret as po, resolveImageOverrides as pr, buildJavaTrustStore as ps, createLocalStartAgentCoreCommand as pt, MAX_RUN_HOOK_PAYLOAD_BYTES as q, webSocketApiMatchesIdentifier as qa, classifySourceChange as qi, serviceStrategy as qn, logMixedModeForWorkload as qo, computeCodeImageTag as qr, webFunctionFidelityWarnings as qt, coerceServeRequest as r, LOOPBACK_FORWARDER_IMAGE as ra, availableApiIdentifiers as ri, resolveErrorResponseCandidates as rn, pickAgentCoreCandidateStack as ro, parseRestartPolicy as rr, setActiveWorkloadAwsWiring as rs, MICROVM_IMAGE_TYPE as rt, createStudioServeManager as s, describeForwarderFailure as sa, readMtlsMaterialsFromDisk as si, applyEdgeResponseResult as sn, substituteImagePlaceholders as so, ImageOverrideError as sr, REAL_SQS_QUEUE_URL as ss, resolveMicrovmCodeArtifact as st, addStudioSpecificOptions as t, attachLoopbackForwarder as ta, attachStageContext as ti, matchBehavior as tn, AGENTCORE_RUNTIME_TYPE as to, ecsClusterOption as tr, resolveHostDefaultCredentials as ts, waitForAppAnswer as tt, reinvoke as u, architectureToPlatform as ua, resolveServiceIntegrationParameters as ui, edgeHeadersToHttp as un, DynamicReferenceResolutionError as uo, enforceImageOverrideOrphans as ur, repointLocalSqsQueueUrlsInEnv as us, addStartWebFunctionSpecificOptions as ut, startStudioServer as v, resolveRuntimeImage as va, buildMethodArn as vi, pickLambdaEdgeFunctionLogicalId as vn, resolveDynamicReferencesInEnv as vo, listPinnedTargets as vr, startAgentCoreWsBridge as vt, createLocalListCommand as w, substituteEnvVarsFromStateAsync as wa, applyCorsResponseHeaders as wi, WEB_FUNCTION_TYPE as wn, deployAccountStsClientConfig as wo, getContainerNetworkIp as wr, parseOriginOverrides as wt, createStudioStore as x, substituteAgainstState as xa, invokeRequestAuthorizer as xi, resolveCloudFrontDistribution as xn, awsEndpointOptions as xo, DEFAULT_SHADOW_READY_TIMEOUT_MS as xr, createLocalStartCloudFrontCommand as xt, toStudioTargetGroups as y, EcsTaskResolutionError as ya, computeRequestIdentityHash as yi, pickTargetFunctionLogicalId as yn, withoutKeys as yo, buildCloudMapIndex as yr, LocalStartCloudFrontError as yt, MICROVM_CONTROL_PATH as z, resolveSingleTarget as za, bufferToBody as zi, albStrategy as zn, awsEmulatorSqsHostBlocks as zo, signAgentCoreInvocation as zr, disposeWebFunctionArtifact as zt };
|
|
36798
|
-
//# sourceMappingURL=local-studio-
|
|
37024
|
+
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 };
|
|
37025
|
+
//# sourceMappingURL=local-studio-CrP4kia1.js.map
|