cdk-local 0.163.2 → 0.163.4
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/{docker-runner-DzPTb4Ai.js → docker-runner-Dq3y5-Me.js} +31 -4
- package/dist/docker-runner-Dq3y5-Me.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/internal.d.ts +2 -2
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -4
- package/dist/{local-studio-BsnTY1vH.d.ts → local-studio-C8iEtNcn.d.ts} +16 -2
- package/dist/local-studio-C8iEtNcn.d.ts.map +1 -0
- package/dist/{local-studio-LTgy7a7a.js → local-studio-DK5chhyj.js} +77 -67
- package/dist/local-studio-DK5chhyj.js.map +1 -0
- package/dist/{workload-identity-D5zkhVcF.js → workload-identity-D3XdPJjV.js} +43 -5
- package/dist/workload-identity-D3XdPJjV.js.map +1 -0
- package/package.json +1 -1
- package/dist/docker-runner-DzPTb4Ai.js.map +0 -1
- package/dist/local-studio-BsnTY1vH.d.ts.map +0 -1
- package/dist/local-studio-LTgy7a7a.js.map +0 -1
- package/dist/workload-identity-D5zkhVcF.js.map +0 -1
|
@@ -464,9 +464,21 @@ interface AwsEndpointOverride {
|
|
|
464
464
|
}
|
|
465
465
|
declare function setAwsEndpointOverride(o: AwsEndpointOverride | undefined): void;
|
|
466
466
|
declare function getAwsEndpointOverride(): AwsEndpointOverride | undefined;
|
|
467
|
+
interface AwsEmulatorServiceRouting {
|
|
468
|
+
services: readonly string[];
|
|
469
|
+
override: AwsEndpointOverride;
|
|
470
|
+
}
|
|
471
|
+
declare function normalizeAwsEndpointServiceId(serviceId: string): string;
|
|
472
|
+
declare function setAwsEmulatorServiceRouting(r: AwsEmulatorServiceRouting | undefined): void;
|
|
473
|
+
declare function getAwsEmulatorServiceRouting(): AwsEmulatorServiceRouting | undefined;
|
|
474
|
+
declare function isAwsServiceRoutedToEmulator(serviceId: string): boolean;
|
|
475
|
+
declare function awsClientConfigForService(serviceId: string, opts?: {
|
|
476
|
+
profile?: string | undefined;
|
|
477
|
+
}): AwsProxyClientConfig;
|
|
467
478
|
declare function awsEndpointOverrideClientConfig(o: AwsEndpointOverride): AwsProxyClientConfig;
|
|
468
479
|
declare function buildProxyClientConfig(opts?: {
|
|
469
480
|
profile?: string | undefined;
|
|
481
|
+
service?: string | undefined;
|
|
470
482
|
}): AwsProxyClientConfig;
|
|
471
483
|
//#endregion
|
|
472
484
|
//#region src/utils/profile-resolver.d.ts
|
|
@@ -685,6 +697,7 @@ declare function createWatchPredicates(args: {
|
|
|
685
697
|
watchRoot: string;
|
|
686
698
|
output: string;
|
|
687
699
|
watchConfig: CdkWatchConfig;
|
|
700
|
+
tmpDir?: string;
|
|
688
701
|
}): WatchPredicates;
|
|
689
702
|
interface ApiTargetSubset {
|
|
690
703
|
readonly filtered: RouteWithAuth[];
|
|
@@ -1217,6 +1230,7 @@ declare function readEnvCallerCredentials(env?: NodeJS.ProcessEnv): CallerCreden
|
|
|
1217
1230
|
declare function resetWorkloadIdentity(): void;
|
|
1218
1231
|
declare function workloadClientConfig(opts?: {
|
|
1219
1232
|
profile?: string | undefined;
|
|
1233
|
+
service?: string | undefined;
|
|
1220
1234
|
}): AwsProxyClientConfig;
|
|
1221
1235
|
declare function workloadStsClientConfig(args: {
|
|
1222
1236
|
region?: string | undefined;
|
|
@@ -1538,5 +1552,5 @@ interface CreateLocalStudioCommandOptions {
|
|
|
1538
1552
|
declare function createLocalStudioCommand(opts?: CreateLocalStudioCommandOptions): Command;
|
|
1539
1553
|
declare function addStudioSpecificOptions(cmd: Command): Command;
|
|
1540
1554
|
//#endregion
|
|
1541
|
-
export { parseAwsEndpoint as $,
|
|
1542
|
-
//# sourceMappingURL=local-studio-
|
|
1555
|
+
export { parseAwsEndpoint as $, LocalStateRecord as $i, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as $n, getAwsEmulatorServiceRouting as $r, resolveMicrovmImageTarget as $t, DEFAULT_AWS_EMULATOR_URL as A, SynthesisResult as Ai, PlannedEcsForwardTarget as An, discoverWebSocketApis as Ar, addListSpecificOptions as At, WorkloadMount as B, resetEmbedConfig as Bi, addImageOverrideOptions as Bn, pickResponseTemplate as Br, MICROVM_DEFAULT_INGRESS_PORT as Bt, StudioEventBus as C, ImageResolutionContext as Ci, createLocalStartServiceCommand as Cn, LambdaRequestAuthorizer as Cr, readEnvCallerCredentials as Ct, StudioTargetKind as D, tryResolveImageFnJoin as Di, FrontDoorPlan as Dn, DiscoveredWebSocketApi as Dr, workloadStsClientConfig as Dt, StudioServeEvent as E, substituteImagePlaceholders as Ei, EmulatorStrategy as En, attachAuthorizers as Er, workloadClientConfig as Et, MixedModeWiring as F, ResolvedZipLambda as Fi, PlannedLambdaForwardTarget as Fn, DiscoveredRoute as Fr, buildMicrovmLambdaView as Ft, displayEndpointValue as G, LocalStateSourceOptions as Gi, resolveEcsAssumeRoleOption as Gn, buildStsClientConfig as Gr, MicrovmHookName as Gt, applyWorkloadAwsWiringToEnv as H, ExtraStateProviders as Hi, ecsClusterOption as Hn, tryParseStatus as Hr, MicrovmBuildHook as Ht, ParsedAwsEndpoint as I, StackInfo as Ii, PlannedRedirectAction as In, RestV1IntegrationConfig as Ir, createLocalStartMicrovmCommand as It, getContainerCaBundlePath as J, rejectExplicitCfnStackWithMultipleStacks as Ji, FrontDoorForwardTarget as Jn, AwsEndpointOverride as Jr, MicrovmRuntimeHook as Jt, effectiveLoopbackPorts as K, createLocalStateProvider as Ki, resolveSharedSidecarCredentials as Kn, resolveProfileCredentials as Kr, MicrovmImageConfig as Kt, ResolveWorkloadAwsWiringOptions as L, CdkLocalEmbedConfig as Li, ServiceBoot as Ln, discoverRoutes as Lr, finalizeMicrovmEnv as Lt, EmulatorRunFiles as M, addInvokeSpecificOptions as Mi, PlannedForwardAction as Mn, filterWebSocketApisByIdentifiers as Mr, formatTargetListing as Mt, HOST_CA_TRUST_ENV_KEYS as N, createLocalInvokeCommand as Ni, PlannedForwardTarget as Nn, parseSelectionExpressionPath as Nr, CreateLocalStartMicrovmCommandOptions as Nt, AUTH_OFF_PLACEHOLDER_CREDENTIALS as O, CdkAppSynthesizer as Oi, MAX_TASKS_SUBNET_RANGE_CAP as On, WebSocketRouteEntry as Or, CreateLocalListCommandOptions as Ot, HOST_DEFAULT_CREDENTIALS_MISS_TTL_MS as P, ResolvedArnLambdaLayer as Pi, PlannedFrontDoorListener as Pn, webSocketApiMatchesIdentifier as Pr, addStartMicrovmSpecificOptions as Pt, mergeJavaToolOptions as Q, LocalStateProvider as Qi, DEFAULT_SHADOW_READY_TIMEOUT_MS as Qn, buildProxyClientConfig as Qr, resolveMicrovmCodeArtifact as Qt, WorkloadAwsWiring as R, EmbedHostLogger as Ri, addCommonEcsServiceOptions as Rn, IntegrationResponseEntry as Rr, microvmFidelityWarnings as Rt, createStudioDispatcher as S, invokeAgentCoreWs as Si, addStartServiceSpecificOptions as Sn, JwtAuthorizer as Sr, deployAccountStsClientConfig as St, StudioLogEvent as T, formatStateRemedy as Ti, EcsServiceEmulatorOptions as Tn, RouteWithAuth as Tr, resetWorkloadIdentity as Tt, awsEmulatorEnvName as U, LocalStateProviderFactory as Ui, parseMaxTasks as Un, CdkWatchConfig as Ur, MicrovmCodeArtifact as Ut, activateWorkloadAwsWiring as V, setEmbedConfig as Vi, buildEcsImageResolutionContext as Vn, selectIntegrationResponse as Vr, MICROVM_IMAGE_TYPE as Vt, collectHostEndpointOverrides as W, LocalStateSourceError as Wi, parseRestartPolicy as Wn, resolveWatchConfig as Wr, MicrovmHookConfig as Wt, javaTruststoreToolOptions as X, resolveCfnRegion as Xi, isApplicationLoadBalancer as Xn, awsClientConfigForService as Xr, disposeMicrovmCodeArtifact as Xt, getContainerJavaTruststorePath as Y, resolveCfnFallbackRegion as Yi, ResolvedListenerAction as Yn, AwsProxyClientConfig as Yr, ResolvedMicrovmImage as Yt, loopbackForwarderPlan as Z, resolveCfnStackName as Zi, resolveAlbFrontDoor as Zn, awsEndpointOverrideClientConfig as Zr, readMicrovmImageConfig as Zt, startStudioProxy as _, AgentCoreWsBridgeHandle as _i, albStrategy as _n, createLocalStartApiCommand as _r, resourceTypeMatchesEmulatedService as _t, coerceServeRequest as a, PseudoParameters as aa, setAwsEndpointOverride as ai, addStartAgentCoreSpecificOptions as an, CdkLocalError as ar, resolveWorkloadAwsWiring as at, StudioRunRequest as b, InvokeAgentCoreWsOptions as bi, resolveAlbTarget as bn, AuthorizerInfo as br, SECOND_ASSUME_MESSAGE as bt, resolveServeBaseUrl as c, substituteAgainstState as ca, CreateLocalInvokeAgentCoreCommandOptions as ci, LocalStartCloudFrontError as cn, addRunTaskSpecificOptions as cr, AWS_EMULATOR_SENTINEL as ct, StudioServeRequest as d, substituteEnvVarsFromStateAsync as da, AssetManifestLoader as di, normalizeKvsFileKeys as dn, ResolvedEcsTask as dr, MixedModeStateProviderOptions as dt, ResolvedSsmParameters as ea, getAwsEndpointOverride as ei, s3KeyOfUri as en, setShadowReadyTimeoutMs as er, probeAwsEmulatorHealth as et, StudioServeState as f, CloudFormationTemplate as fa, AssetManifest as fi, parseKvsFileOverrides as fn, assertEcsTaskImagesResolvable as fr, createMixedModeStateProvider as ft, StudioProxyConfig as g, resolveEnvVars as gi, addAlbSpecificOptions as gn, addStartApiSpecificOptions as gr, readAwsEmulatorSentinelsFromFile as gt, RunningStudioProxy as h, EnvOverrideFile as hi, CreateLocalStartAlbCommandOptions as hn, WatchPredicates as hr, isAwsEmulatorSentinel as ht, coerceRunRequest as i, CrossStackResolver as ia, setAwsEmulatorServiceRouting as ii, CreateLocalStartAgentCoreCommandOptions as in, listTargets as ir, resolveHostDefaultCredentials as it, EMULATOR_SCRUBBED_ENV_KEYS as j, CreateLocalInvokeCommandOptions as ji, PlannedFixedResponseAction as jn, discoverWebSocketApisOrThrow as jr, createLocalListCommand as jt, CA_TRUST_ENV_KEYS as k, SynthesisOptions as ki, PlannedAction as kn, availableWebSocketApiIdentifiers as kr, FormatTargetListingOptions as kt, StudioServeManager as l, substituteAgainstStateAsync as la, addInvokeAgentCoreSpecificOptions as li, addStartCloudFrontSpecificOptions as ln, createLocalRunTaskCommand as lr, AwsEmulatorSentinel as lt, createStudioServeManager as m, FileAsset as mi, resolveCloudFrontTarget as mn, CreateLocalStartApiCommandOptions as mr, findAwsEmulatorSentinels as mt, StudioServeRequestPayload as n, collectSsmParameterRefs as na, isProxyEnvConfigured as ni, addStartWebFunctionSpecificOptions as nn, TargetListing as nr, readProfileEndpointSettings as nt, coerceStopRequest as o, StateEnvSubstitutionAudit as oa, addAwsEndpointOptions as oi, createLocalStartAgentCoreCommand as on, LocalInvokeBuildError as or, setActiveWorkloadAwsWiring as ot, StudioStopRequest as p, TemplateResource as pa, DockerImageAssetSource as pi, parseOriginOverrides as pn, ApiTargetSubset as pr, emulatedServicesOf as pt, getActiveWorkloadAwsWiring as q, isCfnFlagPresent as qi, runEcsServiceEmulator as qn, AwsEmulatorServiceRouting as qr, MicrovmResolutionError as qt, addStudioSpecificOptions as r, resolveSsmParameters as ra, normalizeAwsEndpointServiceId as ri, createLocalStartWebFunctionCommand as rn, countTargets as rr, resolveAwsEmulatorOption as rt, createLocalStudioCommand as s, SubstitutionContext as sa, awsEndpointOptions as si, CreateLocalStartCloudFrontCommandOptions as sn, CreateLocalRunTaskCommandOptions as sr, writeCaBundleFile as st, CreateLocalStudioCommandOptions as t, SsmParameterRef as ta, isAwsServiceRoutedToEmulator as ti, CreateLocalStartWebFunctionCommandOptions as tn, TargetEntry as tr, readEmulatorRunFiles as tt, StudioServeManagerConfig as u, substituteEnvVarsFromState as ua, createLocalInvokeAgentCoreCommand as ui, createLocalStartCloudFrontCommand as un, EcsTaskResolutionError as ur, MIXED_MODE_RESIGN_PORT as ut, StudioDispatchConfig as v, AgentCoreWsResult as vi, createLocalStartAlbCommand as vn, createWatchPredicates as vr, validateAwsEmulatorSentinels as vt, StudioInvocationEvent as w, derivePseudoParametersFromRegion as wi, serviceStrategy as wn, LambdaTokenAuthorizer as wr, recordAssumedRole as wt, StudioRunResult as x, bridgeAgentCoreWs as xi, CreateLocalStartServiceCommandOptions as xn, CognitoUserPoolAuthorizer as xr, assumedRoleRecorded as xt, StudioDispatcher as y, BridgeAgentCoreWsOptions as yi, parseLbPortOverrides as yn, resolveApiTargetSubset as yr, CallerCredentials as yt, WorkloadAwsWiringCommandOptions as z, getEmbedConfig as zi, addEcsAssumeRoleOptions as zn, evaluateResponseParameters as zr, readRunHookPayload as zt };
|
|
1556
|
+
//# sourceMappingURL=local-studio-C8iEtNcn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-studio-C8iEtNcn.d.ts","names":[],"sources":["../src/types/resource.ts","../src/types/state.ts","../src/local/state-resolver.ts","../src/local/ssm-parameter-resolver.ts","../src/local/local-state-provider.ts","../src/cli/commands/local-state-source.ts","../src/local/embed-config.ts","../src/synthesis/assembly-reader.ts","../src/local/lambda-resolver.ts","../src/cli/commands/local-invoke.ts","../src/synthesis/synthesizer.ts","../src/local/intrinsic-image.ts","../src/local/agentcore-ws-client.ts","../src/local/env-resolver.ts","../src/types/assets.ts","../src/assets/asset-manifest-loader.ts","../src/cli/commands/local-invoke-agentcore.ts","../src/cli/options.ts","../src/utils/aws-proxy.ts","../src/utils/profile-resolver.ts","../src/cli/config-loader.ts","../src/local/httpv2-service-integration.ts","../src/local/integration-response-selector.ts","../src/local/rest-v1-integrations.ts","../src/local/route-discovery.ts","../src/local/websocket-route-discovery.ts","../src/local/authorizer-resolver.ts","../src/cli/commands/local-start-api.ts","../src/local/ecs-task-resolver.ts","../src/cli/commands/local-run-task.ts","../src/utils/error-handler.ts","../src/local/target-lister.ts","../src/local/ecs-service-runner.ts","../src/local/alb-path-matcher.ts","../src/local/elb-front-door-resolver.ts","../src/cli/commands/ecs-service-emulator.ts","../src/cli/commands/local-start-service.ts","../src/cli/commands/local-start-alb.ts","../src/cli/commands/local-start-cloudfront.ts","../src/cli/commands/local-start-agentcore.ts","../src/cli/commands/local-start-web-function.ts","../src/local/microvm-image.ts","../src/cli/commands/local-start-microvm.ts","../src/cli/commands/local-list.ts","../src/utils/workload-identity.ts","../src/local/aws-emulator-mixed-mode.ts","../src/local/workload-aws-wiring.ts","../src/local/studio-events.ts","../src/local/studio-child-args.ts","../src/local/studio-option-specs.ts","../src/local/studio-option-catalog.ts","../src/local/studio-dispatch.ts","../src/local/studio-proxy.ts","../src/local/studio-serve-manager.ts","../src/cli/commands/local-studio.ts"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as displayIdent, c as getEmbedConfig, i as STACK_REF_MAX_CODE_POINTS, o as displayStackName, s as displayToolOutput, t as getLogger, u as setEmbedConfig } from "./logger-Co5XVwco.js";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as awsEndpointOverrideClientConfig, C as effectiveLoopbackPorts, F as resolveHostDefaultCredentials, G as createMixedModeStateProvider, b as awsEmulatorEnvName, d as workloadStsClientConfig, dt as formatAuthority, et as buildProxyClientConfig, ft as formatHostForAuthority, l as warnWorkloadCredentialsStripped, lt as isLoopbackHostname, n as accountLookupStsClientConfig, ot as proxyAwareFetch, pt as hostFromAuthority, r as applyWorkloadEnvCredentials, u as workloadClientConfig, ut as isWildcardHostname, v as activateWorkloadAwsWiring, w as getActiveWorkloadAwsWiring, y as applyWorkloadAwsWiringToEnv } from "./workload-identity-D3XdPJjV.js";
|
|
3
3
|
import { c as clampErrorName, d as flattenToOneLine, f as isAwsServiceException, l as describeAwsFailureForWarn, m as stringifyThrown, o as renderAssemblyPathEscape, p as sanitizeServiceExceptionMessage, r as displayUntrustedValue, s as resolveAssemblyPath, t as absoluteAssemblyPathEscape, u as describeCredentialLoadFailure } from "./assembly-path-R96uhMm1.js";
|
|
4
|
-
import { $ as
|
|
4
|
+
import { $ as isIamRoleArn, A as buildDockerImage, B as tryResolveImageFnJoin, D as isImageInLocalCache, E as warnIfEmulatedPlatform, F as parseEcrRegistryHost, G as RouteDiscoveryError, H as InteractiveTtyRequiredError, I as derivePartitionAndUrlSuffix, J as defineOwnKey, K as TargetSelectionCancelledError, L as derivePseudoParametersFromRegion, M as createShutdownSignalHandler, N as signalExitCode, O as parseEcrUri, P as describeExitWithoutArgv, Q as describeRejectedRoleArn, R as formatStateRemedy, T as buildContainerImage, U as LocalInvokeBuildError, V as CdkLocalError, W as LocalStartServiceError, X as applyRoleArnIfSet, Y as AssumeRoleFailure, Z as assumeRoleCredentials, a as describeRefusedSensitiveEnvKeys, c as execEnvForSecrets, d as rememberForwardedPorts, et as refusedRoleArnMessage, f as removeContainer, h as streamLogs, i as attachLoopbackForwarder, j as resolveAssetSourcePath, k as pullEcrImage, l as pickFreePort, m as startNamespaceOwnerForwarder, n as SENSITIVE_ENV_KEYS, nt as resolveProfileCredentials, p as runDetached, q as withErrorHandling, r as appendEnvFlags, s as ensureDockerAvailable, t as DockerRunnerError, tt as buildStsClientConfig, u as pullImage, w as architectureToPlatform, z as substituteImagePlaceholders } from "./docker-runner-Dq3y5-Me.js";
|
|
5
5
|
import { a as isDockerClientEnvKey, c as runDockerStreaming, i as getDockerCmd, n as finchSecretArgvRefusal, o as isMalformedEnvKey, u as warnFinchArgvExposure } from "./docker-cmd-Cjg3jGYF.js";
|
|
6
6
|
import { chmodSync, cpSync, createWriteStream, existsSync, lstatSync, mkdirSync, mkdtempSync, promises, readFileSync, readdirSync, readlinkSync, realpathSync, rmSync, statSync, symlinkSync, unlinkSync, writeFileSync } from "node:fs";
|
|
7
7
|
import { Command, InvalidArgumentError, Option } from "commander";
|
|
@@ -341,7 +341,10 @@ var DynamicReferenceResolver = class {
|
|
|
341
341
|
let c = this.smClients.get(key);
|
|
342
342
|
if (!c) {
|
|
343
343
|
c = this.options.secretsManagerClientFactory?.(region) ?? new SecretsManagerClient({
|
|
344
|
-
...workloadClientConfig({
|
|
344
|
+
...workloadClientConfig({
|
|
345
|
+
profile: this.options.profile,
|
|
346
|
+
service: "SECRETS_MANAGER"
|
|
347
|
+
}),
|
|
345
348
|
...region && { region },
|
|
346
349
|
...this.options.profile && { profile: this.options.profile }
|
|
347
350
|
});
|
|
@@ -354,7 +357,10 @@ var DynamicReferenceResolver = class {
|
|
|
354
357
|
let c = this.ssmClients.get(key);
|
|
355
358
|
if (!c) {
|
|
356
359
|
c = this.options.ssmClientFactory?.(region) ?? new SSMClient({
|
|
357
|
-
...workloadClientConfig({
|
|
360
|
+
...workloadClientConfig({
|
|
361
|
+
profile: this.options.profile,
|
|
362
|
+
service: "SSM"
|
|
363
|
+
}),
|
|
358
364
|
...region && { region },
|
|
359
365
|
...this.options.profile && { profile: this.options.profile }
|
|
360
366
|
});
|
|
@@ -1407,37 +1413,37 @@ async function getClient(service, region) {
|
|
|
1407
1413
|
switch (service) {
|
|
1408
1414
|
case "sqs":
|
|
1409
1415
|
client = new (await (import("@aws-sdk/client-sqs"))).SQSClient({
|
|
1410
|
-
...workloadClientConfig(),
|
|
1416
|
+
...workloadClientConfig({ service: "SQS" }),
|
|
1411
1417
|
region
|
|
1412
1418
|
});
|
|
1413
1419
|
break;
|
|
1414
1420
|
case "sns":
|
|
1415
1421
|
client = new (await (import("@aws-sdk/client-sns"))).SNSClient({
|
|
1416
|
-
...workloadClientConfig(),
|
|
1422
|
+
...workloadClientConfig({ service: "SNS" }),
|
|
1417
1423
|
region
|
|
1418
1424
|
});
|
|
1419
1425
|
break;
|
|
1420
1426
|
case "eventbridge":
|
|
1421
1427
|
client = new (await (import("@aws-sdk/client-eventbridge"))).EventBridgeClient({
|
|
1422
|
-
...workloadClientConfig(),
|
|
1428
|
+
...workloadClientConfig({ service: "EVENTBRIDGE" }),
|
|
1423
1429
|
region
|
|
1424
1430
|
});
|
|
1425
1431
|
break;
|
|
1426
1432
|
case "kinesis":
|
|
1427
1433
|
client = new (await (import("@aws-sdk/client-kinesis"))).KinesisClient({
|
|
1428
|
-
...workloadClientConfig(),
|
|
1434
|
+
...workloadClientConfig({ service: "KINESIS" }),
|
|
1429
1435
|
region
|
|
1430
1436
|
});
|
|
1431
1437
|
break;
|
|
1432
1438
|
case "sfn":
|
|
1433
1439
|
client = new (await (import("@aws-sdk/client-sfn"))).SFNClient({
|
|
1434
|
-
...workloadClientConfig(),
|
|
1440
|
+
...workloadClientConfig({ service: "SFN" }),
|
|
1435
1441
|
region
|
|
1436
1442
|
});
|
|
1437
1443
|
break;
|
|
1438
1444
|
case "ssm":
|
|
1439
1445
|
client = new (await (import("@aws-sdk/client-ssm"))).SSMClient({
|
|
1440
|
-
...workloadClientConfig(),
|
|
1446
|
+
...workloadClientConfig({ service: "SSM" }),
|
|
1441
1447
|
region
|
|
1442
1448
|
});
|
|
1443
1449
|
break;
|
|
@@ -3038,7 +3044,10 @@ var CfnLocalStateProvider = class {
|
|
|
3038
3044
|
getSsmClient() {
|
|
3039
3045
|
if (this.disposed) throw new Error("CfnLocalStateProvider used after dispose()");
|
|
3040
3046
|
if (!this.ssmClient) this.ssmClient = new SSMClient({
|
|
3041
|
-
...workloadClientConfig({
|
|
3047
|
+
...workloadClientConfig({
|
|
3048
|
+
profile: this.clientOptions.profile,
|
|
3049
|
+
...this.endpointOverride ? {} : { service: "SSM" }
|
|
3050
|
+
}),
|
|
3042
3051
|
...this.overrideClientConfig(),
|
|
3043
3052
|
region: this.region,
|
|
3044
3053
|
...this.clientOptions.profile !== void 0 && { profile: this.clientOptions.profile }
|
|
@@ -10573,28 +10582,6 @@ function createReloadQueue(options) {
|
|
|
10573
10582
|
};
|
|
10574
10583
|
}
|
|
10575
10584
|
|
|
10576
|
-
//#endregion
|
|
10577
|
-
//#region src/utils/shutdown-signal.ts
|
|
10578
|
-
function createShutdownSignalHandler(options) {
|
|
10579
|
-
const exit = options.exit ?? ((code) => process.exit(code));
|
|
10580
|
-
const writeStderr = options.writeStderr ?? ((text) => void process.stderr.write(text));
|
|
10581
|
-
let count = 0;
|
|
10582
|
-
return (signal, exitCode) => {
|
|
10583
|
-
count += 1;
|
|
10584
|
-
if (count === 1) {
|
|
10585
|
-
options.info(options.stoppingMessage(signal));
|
|
10586
|
-
options.cleanup().then(() => exit(exitCode));
|
|
10587
|
-
return;
|
|
10588
|
-
}
|
|
10589
|
-
if (count === 2) {
|
|
10590
|
-
options.warn(`Received ${signal} again; still shutting down — waiting for the cleanup to remove the containers and networks. Send it once more to force-exit (that skips the cleanup).`);
|
|
10591
|
-
return;
|
|
10592
|
-
}
|
|
10593
|
-
writeStderr(`Force-exit on repeated ${signal}; container cleanup skipped. ${options.forceExitHint}\n`);
|
|
10594
|
-
exit(130);
|
|
10595
|
-
};
|
|
10596
|
-
}
|
|
10597
|
-
|
|
10598
10585
|
//#endregion
|
|
10599
10586
|
//#region src/local/authorizer-cache.ts
|
|
10600
10587
|
function createAuthorizerCache(opts = {}) {
|
|
@@ -11088,10 +11075,10 @@ async function localStartApiCommand(targets, options, extraStateProviders) {
|
|
|
11088
11075
|
warn: (m) => logger.warn(m)
|
|
11089
11076
|
});
|
|
11090
11077
|
process.on("SIGINT", () => {
|
|
11091
|
-
shutdown("SIGINT"
|
|
11078
|
+
shutdown("SIGINT");
|
|
11092
11079
|
});
|
|
11093
11080
|
process.on("SIGTERM", () => {
|
|
11094
|
-
shutdown("SIGTERM"
|
|
11081
|
+
shutdown("SIGTERM");
|
|
11095
11082
|
});
|
|
11096
11083
|
process.on("uncaughtException", (err) => {
|
|
11097
11084
|
logger.error(`Uncaught exception: ${err instanceof Error ? err.stack ?? err.message : String(err)}`);
|
|
@@ -11107,13 +11094,22 @@ function createWatchPredicates(args) {
|
|
|
11107
11094
|
const { watchRoot, output, watchConfig } = args;
|
|
11108
11095
|
const toRel = (abs) => nodePath.relative(watchRoot, abs).split(nodePath.sep).join("/");
|
|
11109
11096
|
const outputRel = toRel(nodePath.resolve(watchRoot, output));
|
|
11097
|
+
const underRoot = (rel) => rel !== "" && !rel.startsWith("..");
|
|
11098
|
+
const tmpRel = toRel(nodePath.resolve(args.tmpDir ?? tmpdir()));
|
|
11099
|
+
const mandatoryExcludes = [
|
|
11100
|
+
...underRoot(outputRel) ? [outputRel] : [],
|
|
11101
|
+
...underRoot(tmpRel) ? [tmpRel] : [],
|
|
11102
|
+
"cdk.context.json"
|
|
11103
|
+
];
|
|
11110
11104
|
const excludePatterns = [
|
|
11111
|
-
...
|
|
11105
|
+
...mandatoryExcludes,
|
|
11112
11106
|
"node_modules",
|
|
11113
11107
|
".git",
|
|
11114
11108
|
...watchConfig.exclude
|
|
11115
11109
|
];
|
|
11116
|
-
const
|
|
11110
|
+
const globMatcher = createGlobMatcher([...excludePatterns.filter((p) => !mandatoryExcludes.includes(p))]);
|
|
11111
|
+
const isOwn = (rel) => mandatoryExcludes.some((own) => rel === own || rel.startsWith(`${own}/`));
|
|
11112
|
+
const excludeMatcher = (rel) => isOwn(rel) || globMatcher(rel);
|
|
11117
11113
|
const includeMatcher = createGlobMatcher(watchConfig.include);
|
|
11118
11114
|
const ignored = (absPath) => {
|
|
11119
11115
|
const rel = toRel(absPath);
|
|
@@ -11991,7 +11987,7 @@ function createLocalStartApiCommand(opts = {}) {
|
|
|
11991
11987
|
}
|
|
11992
11988
|
function addStartApiSpecificOptions(cmd) {
|
|
11993
11989
|
addAwsEndpointOptions(cmd);
|
|
11994
|
-
return cmd.addOption(new Option("--port <port>", "HTTP server port (default: auto-allocate)").default("0")).addOption(new Option("--host <host>", "Bind address").default("127.0.0.1")).addOption(new Option("--stack <name>", "Stack to start (single-stack apps auto-detect)")).addOption(new Option("--all-stacks", "Serve every stack's API in a multi-stack app (each API on its own port) instead of erroring out. Mutually exclusive with a positional target subset, --stack, and an explicit --from-cfn-stack <name>; the bare --from-cfn-stack flag stays compatible (binds each routed stack to its own CFn stack).").default(false)).addOption(new Option("--warm", "Pre-start one container per Lambda at server boot").default(false)).addOption(new Option("--per-lambda-concurrency <n>", "Pool size cap per Lambda (default 2, max 4)").default("2")).addOption(new Option("--no-pull", "Skip docker pull (cached image)")).addOption(new Option("--no-build", "Skip docker build on every container Lambda local-asset build (use the previously-built tag). Requires the deterministic tag to already be in the local registry; errors with an actionable message when missing. No-op for ZIP Lambdas and the IMAGE ECR-pull path. Compatible with --no-pull.")).addOption(new Option("--container-host <host>", "IP the host uses to bind/probe the RIE port (must be a numeric IP — `docker run -p <ip>:<port>:8080` rejects hostnames). Defaults to 127.0.0.1.").default("127.0.0.1")).addOption(new Option("--debug-port-base <port>", "Reserve a contiguous --debug-port range (one per Lambda)")).addOption(new Option("--debug-port <port>", "Alias of --debug-port-base for parity with `cdkl invoke --debug-port`. Reserves a contiguous --debug-port range (one per Lambda) starting at <port>.")).addOption(new Option("--ecr-role-arn <arn>", "Role ARN to assume before authenticating against ECR for cross-account / centralized registries on the container-Lambda ECR-pull fallback. Issues sts:AssumeRole via the default credential chain and uses the temporary credentials for ecr:GetAuthorizationToken + docker pull. Required when the caller does not have direct cross-account access to the target repository. Same-account / same-region pulls do not need this flag.")).addOption(new Option("--env-vars <file>", "JSON env-var overrides (SAM-compatible: {\"LogicalId\":{\"KEY\":\"VALUE\"}, \"Parameters\": {...}})")).addOption(new Option("--assume-role <arn-or-pair>", "Assume the Lambda's execution role and forward STS-issued temp creds. Two forms: (1) `--assume-role <arn>` sets a single global default ARN used for every routed Lambda; (2) `--assume-role <LogicalId>=<arn>` (repeatable) is a per-Lambda override (wins over the global default and over --assume-role-auto for the named Lambda). Pair with --assume-role-auto to auto-resolve every other Lambda. Precedence: per-Lambda > (--assume-role-auto OR global default) > unset (developer creds passed through).").argParser((raw, prev) => parseAssumeRoleToken(raw, prev))).addOption(new Option("--assume-role-auto", "Auto-resolve EACH routed Lambda's own execution role per-Lambda (literal ARN / Fn::GetAtt against template / --from-cfn-stack state). Slower boot — one STS call per Lambda — but the right shape when each Lambda's deployed role differs. Mutually exclusive with `--assume-role <arn>` (global default); errors at boot. Compatible with `--assume-role <LogicalId>=<arn>` per-Lambda overrides — the map wins for named Lambdas, auto-resolve handles the rest.").default(false)).addOption(new Option("--watch", "Hot-reload: re-synth + re-discover routes when the CDK app's source changes (honors cdk.json watch.include/exclude; cdk.out, node_modules, .git are always excluded). Off by default; the server keeps the previous version serving when synth fails mid-reload.").default(false)).addOption(new Option("--stage <name>", "Select an API Gateway Stage by its 'StageName'. Default: the first Stage attached to each API. Drives event.stageVariables for both REST v1 and HTTP API v2. NOTE: For HTTP API v2 routes, requestContext.stage is always '$default' regardless of this flag (AWS-side limitation — HTTP API only exposes one stage to the integration event); only event.stageVariables is affected for v2 routes. For REST v1 routes the selected StageName is also threaded into requestContext.stage.")).addOption(new Option("--api <id>", "DEPRECATED — use the positional <targets...> argument instead. Accepts a SINGLE identifier; for a subset pass multiple positional targets. Same accepted forms (bare logical id, stack-qualified, Construct path, ancestor prefix). Will be removed in a future major release.")).addOption(new Option("--layer-role-arn <arn>", "Role to sts:AssumeRole before calling lambda:GetLayerVersion on every literal-ARN entry in Properties.Layers (issue #448). Use only when the dev credentials cannot read the layer — typically cross-account layers. AWS-published public layers (e.g. Lambda Powertools) are readable from every account and need no role.")).addOption(new Option("--from-cfn-stack [cfn-stack-name]", "Read a deployed CloudFormation stack via ListStackResources and substitute Ref / Fn::ImportValue in Lambda env vars with the deployed physical IDs / exports. Use for CDK apps deployed via the upstream CDK CLI (`cdk deploy`). Bare form uses the resolved stack name per routed stack; pass an explicit value when a single CFn stack should serve every routed stack. Fn::GetAtt is warn-and-dropped in v1 (CFn ListStackResources does not return per-attribute values).")).addOption(new Option("--stack-region <region>", "Region of the state record to read. Used with --from-cfn-stack as the CFn client region.")).addOption(new Option("--mtls-truststore <path>", `PEM-encoded CA bundle for client-certificate verification (mutual TLS). When set, the local server switches from HTTP to HTTPS and the TLS handshake rejects clients whose certificate doesn't chain to one of these CAs. Verified certs are surfaced on the Lambda event under requestContext.identity.clientCert (REST v1) / requestContext.authentication.clientCert (HTTP API v2). Must be set together with --mtls-cert + --mtls-key; partial flag sets are rejected. Generate a CA + server + client cert for local dev: openssl req -x509 -newkey rsa:2048 -nodes -keyout ca-key.pem -out ca.pem -subj "/CN=${getEmbedConfig().resourceNamePrefix}-ca" -days 365; openssl req -newkey rsa:2048 -nodes -keyout server-key.pem -out server-csr.pem -subj "/CN=localhost"; openssl x509 -req -in server-csr.pem -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -days 365; openssl req -newkey rsa:2048 -nodes -keyout client-key.pem -out client-csr.pem -subj "/CN=client"; openssl x509 -req -in client-csr.pem -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -days 365; curl --cacert ca.pem --cert client-cert.pem --key client-key.pem https://localhost:<port>/...`)).addOption(new Option("--mtls-cert <path>", "PEM-encoded server certificate for mutual TLS. Self-signed is fine for local dev. Must be set together with --mtls-truststore + --mtls-key.")).addOption(new Option("--mtls-key <path>", "PEM-encoded server private key matching --mtls-cert. Must be set together with --mtls-truststore + --mtls-cert.")).addOption(new Option("--strict-sigv4", "Opt-in: DENY AWS_IAM SigV4 requests that cannot be cryptographically verified (foreign access-key-id — e.g. a federated / Cognito Identity Pool / cross-account signer — OR no local AWS credentials configured) instead of the default warn-and-pass. DEFAULT off: cdk-local warn-and-passes unverifiable IAM requests with a placeholder principalId so local dev exercises app logic without reproducing an auth boundary it cannot fully emulate. OAC-fronted Function URLs always warn-and-pass regardless.").default(false));
|
|
11990
|
+
return cmd.addOption(new Option("--port <port>", "HTTP server port (default: auto-allocate)").default("0")).addOption(new Option("--host <host>", "Bind address").default("127.0.0.1")).addOption(new Option("--stack <name>", "Stack to start (single-stack apps auto-detect)")).addOption(new Option("--all-stacks", "Serve every stack's API in a multi-stack app (each API on its own port) instead of erroring out. Mutually exclusive with a positional target subset, --stack, and an explicit --from-cfn-stack <name>; the bare --from-cfn-stack flag stays compatible (binds each routed stack to its own CFn stack).").default(false)).addOption(new Option("--warm", "Pre-start one container per Lambda at server boot").default(false)).addOption(new Option("--per-lambda-concurrency <n>", "Pool size cap per Lambda (default 2, max 4)").default("2")).addOption(new Option("--no-pull", "Skip docker pull (cached image)")).addOption(new Option("--no-build", "Skip docker build on every container Lambda local-asset build (use the previously-built tag). Requires the deterministic tag to already be in the local registry; errors with an actionable message when missing. No-op for ZIP Lambdas and the IMAGE ECR-pull path. Compatible with --no-pull.")).addOption(new Option("--container-host <host>", "IP the host uses to bind/probe the RIE port (must be a numeric IP — `docker run -p <ip>:<port>:8080` rejects hostnames). Defaults to 127.0.0.1.").default("127.0.0.1")).addOption(new Option("--debug-port-base <port>", "Reserve a contiguous --debug-port range (one per Lambda)")).addOption(new Option("--debug-port <port>", "Alias of --debug-port-base for parity with `cdkl invoke --debug-port`. Reserves a contiguous --debug-port range (one per Lambda) starting at <port>.")).addOption(new Option("--ecr-role-arn <arn>", "Role ARN to assume before authenticating against ECR for cross-account / centralized registries on the container-Lambda ECR-pull fallback. Issues sts:AssumeRole via the default credential chain and uses the temporary credentials for ecr:GetAuthorizationToken + docker pull. Required when the caller does not have direct cross-account access to the target repository. Same-account / same-region pulls do not need this flag.")).addOption(new Option("--env-vars <file>", "JSON env-var overrides (SAM-compatible: {\"LogicalId\":{\"KEY\":\"VALUE\"}, \"Parameters\": {...}})")).addOption(new Option("--assume-role <arn-or-pair>", "Assume the Lambda's execution role and forward STS-issued temp creds. Two forms: (1) `--assume-role <arn>` sets a single global default ARN used for every routed Lambda; (2) `--assume-role <LogicalId>=<arn>` (repeatable) is a per-Lambda override (wins over the global default and over --assume-role-auto for the named Lambda). Pair with --assume-role-auto to auto-resolve every other Lambda. Precedence: per-Lambda > (--assume-role-auto OR global default) > unset (developer creds passed through).").argParser((raw, prev) => parseAssumeRoleToken(raw, prev))).addOption(new Option("--assume-role-auto", "Auto-resolve EACH routed Lambda's own execution role per-Lambda (literal ARN / Fn::GetAtt against template / --from-cfn-stack state). Slower boot — one STS call per Lambda — but the right shape when each Lambda's deployed role differs. Mutually exclusive with `--assume-role <arn>` (global default); errors at boot. Compatible with `--assume-role <LogicalId>=<arn>` per-Lambda overrides — the map wins for named Lambdas, auto-resolve handles the rest.").default(false)).addOption(new Option("--watch", "Hot-reload: re-synth + re-discover routes when the CDK app's source changes (honors cdk.json watch.include/exclude; cdk.out, cdk.context.json, node_modules, .git are always excluded). Off by default; the server keeps the previous version serving when synth fails mid-reload.").default(false)).addOption(new Option("--stage <name>", "Select an API Gateway Stage by its 'StageName'. Default: the first Stage attached to each API. Drives event.stageVariables for both REST v1 and HTTP API v2. NOTE: For HTTP API v2 routes, requestContext.stage is always '$default' regardless of this flag (AWS-side limitation — HTTP API only exposes one stage to the integration event); only event.stageVariables is affected for v2 routes. For REST v1 routes the selected StageName is also threaded into requestContext.stage.")).addOption(new Option("--api <id>", "DEPRECATED — use the positional <targets...> argument instead. Accepts a SINGLE identifier; for a subset pass multiple positional targets. Same accepted forms (bare logical id, stack-qualified, Construct path, ancestor prefix). Will be removed in a future major release.")).addOption(new Option("--layer-role-arn <arn>", "Role to sts:AssumeRole before calling lambda:GetLayerVersion on every literal-ARN entry in Properties.Layers (issue #448). Use only when the dev credentials cannot read the layer — typically cross-account layers. AWS-published public layers (e.g. Lambda Powertools) are readable from every account and need no role.")).addOption(new Option("--from-cfn-stack [cfn-stack-name]", "Read a deployed CloudFormation stack via ListStackResources and substitute Ref / Fn::ImportValue in Lambda env vars with the deployed physical IDs / exports. Use for CDK apps deployed via the upstream CDK CLI (`cdk deploy`). Bare form uses the resolved stack name per routed stack; pass an explicit value when a single CFn stack should serve every routed stack. Fn::GetAtt is warn-and-dropped in v1 (CFn ListStackResources does not return per-attribute values).")).addOption(new Option("--stack-region <region>", "Region of the state record to read. Used with --from-cfn-stack as the CFn client region.")).addOption(new Option("--mtls-truststore <path>", `PEM-encoded CA bundle for client-certificate verification (mutual TLS). When set, the local server switches from HTTP to HTTPS and the TLS handshake rejects clients whose certificate doesn't chain to one of these CAs. Verified certs are surfaced on the Lambda event under requestContext.identity.clientCert (REST v1) / requestContext.authentication.clientCert (HTTP API v2). Must be set together with --mtls-cert + --mtls-key; partial flag sets are rejected. Generate a CA + server + client cert for local dev: openssl req -x509 -newkey rsa:2048 -nodes -keyout ca-key.pem -out ca.pem -subj "/CN=${getEmbedConfig().resourceNamePrefix}-ca" -days 365; openssl req -newkey rsa:2048 -nodes -keyout server-key.pem -out server-csr.pem -subj "/CN=localhost"; openssl x509 -req -in server-csr.pem -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -days 365; openssl req -newkey rsa:2048 -nodes -keyout client-key.pem -out client-csr.pem -subj "/CN=client"; openssl x509 -req -in client-csr.pem -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -days 365; curl --cacert ca.pem --cert client-cert.pem --key client-key.pem https://localhost:<port>/...`)).addOption(new Option("--mtls-cert <path>", "PEM-encoded server certificate for mutual TLS. Self-signed is fine for local dev. Must be set together with --mtls-truststore + --mtls-key.")).addOption(new Option("--mtls-key <path>", "PEM-encoded server private key matching --mtls-cert. Must be set together with --mtls-truststore + --mtls-cert.")).addOption(new Option("--strict-sigv4", "Opt-in: DENY AWS_IAM SigV4 requests that cannot be cryptographically verified (foreign access-key-id — e.g. a federated / Cognito Identity Pool / cross-account signer — OR no local AWS credentials configured) instead of the default warn-and-pass. DEFAULT off: cdk-local warn-and-passes unverifiable IAM requests with a placeholder principalId so local dev exercises app logic without reproducing an auth boundary it cannot fully emulate. OAC-fronted Function URLs always warn-and-pass regardless.").default(false));
|
|
11995
11991
|
}
|
|
11996
11992
|
|
|
11997
11993
|
//#endregion
|
|
@@ -13627,8 +13623,8 @@ async function localInvokeAgentCoreCommand(target, options, extraStateProviders)
|
|
|
13627
13623
|
info: (m) => logger.info(m),
|
|
13628
13624
|
warn: (m) => logger.warn(m)
|
|
13629
13625
|
});
|
|
13630
|
-
sigintHandler = () => onSignal("SIGINT"
|
|
13631
|
-
sigtermHandler = () => onSignal("SIGTERM"
|
|
13626
|
+
sigintHandler = () => onSignal("SIGINT");
|
|
13627
|
+
sigtermHandler = () => onSignal("SIGTERM");
|
|
13632
13628
|
process.on("SIGINT", sigintHandler);
|
|
13633
13629
|
process.on("SIGTERM", sigtermHandler);
|
|
13634
13630
|
if (isMcp && mcpRequest) {
|
|
@@ -14967,12 +14963,18 @@ async function resolveEcsSecrets(entries, options = {}) {
|
|
|
14967
14963
|
if (entries.length === 0) return [];
|
|
14968
14964
|
const logger = getLogger().child("ecs-secrets");
|
|
14969
14965
|
const secretsClient = options.secretsManagerClient ?? new SecretsManagerClient({
|
|
14970
|
-
...workloadClientConfig({
|
|
14966
|
+
...workloadClientConfig({
|
|
14967
|
+
profile: options.profile,
|
|
14968
|
+
service: "SECRETS_MANAGER"
|
|
14969
|
+
}),
|
|
14971
14970
|
...options.region && { region: options.region },
|
|
14972
14971
|
...options.profile && { profile: options.profile }
|
|
14973
14972
|
});
|
|
14974
14973
|
const ssmClient = options.ssmClient ?? new SSMClient({
|
|
14975
|
-
...workloadClientConfig({
|
|
14974
|
+
...workloadClientConfig({
|
|
14975
|
+
profile: options.profile,
|
|
14976
|
+
service: "SSM"
|
|
14977
|
+
}),
|
|
14976
14978
|
...options.region && { region: options.region },
|
|
14977
14979
|
...options.profile && { profile: options.profile }
|
|
14978
14980
|
});
|
|
@@ -16620,10 +16622,10 @@ const defaultDockerStartImpl = async (containerId, opts = {}) => {
|
|
|
16620
16622
|
const { getDockerCmd } = await import("./docker-cmd-Cjg3jGYF.js").then((n) => n.t);
|
|
16621
16623
|
await promisify(execFile)(getDockerCmd(), ["start", containerId]);
|
|
16622
16624
|
if (opts.joinedForwarder) return;
|
|
16623
|
-
const { getActiveWorkloadAwsWiring } = await import("./workload-identity-
|
|
16625
|
+
const { getActiveWorkloadAwsWiring } = await import("./workload-identity-D3XdPJjV.js").then((n) => n.R);
|
|
16624
16626
|
const wiring = getActiveWorkloadAwsWiring();
|
|
16625
16627
|
if (wiring) {
|
|
16626
|
-
const { attachLoopbackForwarder } = await import("./docker-runner-
|
|
16628
|
+
const { attachLoopbackForwarder } = await import("./docker-runner-Dq3y5-Me.js").then((n) => n.o);
|
|
16627
16629
|
await attachLoopbackForwarder(containerId, wiring);
|
|
16628
16630
|
}
|
|
16629
16631
|
};
|
|
@@ -19263,8 +19265,8 @@ async function runEcsServiceEmulator(targets, options, strategy, extraStateProvi
|
|
|
19263
19265
|
info: (m) => logger.info(m),
|
|
19264
19266
|
warn: (m) => logger.warn(m)
|
|
19265
19267
|
});
|
|
19266
|
-
sigintHandler = () => onSignal("SIGINT"
|
|
19267
|
-
sigtermHandler = () => onSignal("SIGTERM"
|
|
19268
|
+
sigintHandler = () => onSignal("SIGINT");
|
|
19269
|
+
sigtermHandler = () => onSignal("SIGTERM");
|
|
19268
19270
|
process.on("SIGINT", sigintHandler);
|
|
19269
19271
|
process.on("SIGTERM", sigtermHandler);
|
|
19270
19272
|
const { tags: imageOverrideTags, overrides: imageOverrideMap } = await resolveAndBuildImageOverrides({
|
|
@@ -19650,6 +19652,8 @@ async function resolveServiceAndRunnerOpts(boot, stacks, options, discovery, ski
|
|
|
19650
19652
|
containerPath: profileCredsFile.containerPath,
|
|
19651
19653
|
profileName: profileCredsFile.profileName
|
|
19652
19654
|
};
|
|
19655
|
+
const defaultCredentials = await resolveServiceDefaultCredentials(options, assumedCredentials);
|
|
19656
|
+
if (defaultCredentials) taskOpts.defaultCredentials = defaultCredentials;
|
|
19653
19657
|
const hostGatewayExtraHosts = await resolveHostGatewayExtraHosts();
|
|
19654
19658
|
if (hostGatewayExtraHosts.length > 0) taskOpts.hostGatewayExtraHosts = hostGatewayExtraHosts;
|
|
19655
19659
|
if (opts.imageOverrideTag !== void 0) {
|
|
@@ -20113,6 +20117,11 @@ function resolveShadowReadyTimeoutMs(options, envPrefix, env = process.env) {
|
|
|
20113
20117
|
}
|
|
20114
20118
|
return DEFAULT_SHADOW_READY_TIMEOUT_MS;
|
|
20115
20119
|
}
|
|
20120
|
+
async function resolveServiceDefaultCredentials(options, assumedCredentials) {
|
|
20121
|
+
if (assumedCredentials || options.profile) return void 0;
|
|
20122
|
+
if (getActiveWorkloadAwsWiring()?.mode === "emulator") return void 0;
|
|
20123
|
+
return resolveHostDefaultCredentials();
|
|
20124
|
+
}
|
|
20116
20125
|
async function resolveSharedSidecarCredentials(options) {
|
|
20117
20126
|
const wiring = getActiveWorkloadAwsWiring();
|
|
20118
20127
|
if (wiring?.mode === "emulator") return wiring.emulatorCredentials;
|
|
@@ -20314,8 +20323,8 @@ async function localRunTaskCommand(target, options, extraStateProviders) {
|
|
|
20314
20323
|
info: (m) => logger.info(m),
|
|
20315
20324
|
warn: (m) => logger.warn(m)
|
|
20316
20325
|
});
|
|
20317
|
-
sigintHandler = () => onSignal("SIGINT"
|
|
20318
|
-
sigtermHandler = () => onSignal("SIGTERM"
|
|
20326
|
+
sigintHandler = () => onSignal("SIGINT");
|
|
20327
|
+
sigtermHandler = () => onSignal("SIGTERM");
|
|
20319
20328
|
process.on("SIGINT", sigintHandler);
|
|
20320
20329
|
process.on("SIGTERM", sigtermHandler);
|
|
20321
20330
|
const effectiveAssumeRole = resolveEcsAssumeRoleOption(options);
|
|
@@ -20617,7 +20626,7 @@ function createLocalStartServiceCommand(opts = {}) {
|
|
|
20617
20626
|
}
|
|
20618
20627
|
function addStartServiceSpecificOptions(cmd) {
|
|
20619
20628
|
addImageOverrideOptions(cmd);
|
|
20620
|
-
return cmd.addOption(new Option("--host-port <containerPort=hostPort...>", "Publish a container port on a specific host port (e.g. 80=8080); repeatable. Default: host port == container port. Use this on macOS to map a privileged container port (< 1024) to a non-privileged host port and avoid the Docker Desktop admin-password prompt. (Single-replica services only — multi-replica services do not publish host ports.)")).addOption(new Option("--watch", "Hot-reload: re-synth + per-replica reload when the CDK source changes (honors cdk.json watch.include/exclude; cdk.out, node_modules, .git are always excluded). A per-firing classifier picks the per-replica primitive: source-only edits on interpreted-language handlers (Node/Python/Ruby/shell) take a bind-mount FAST PATH (`docker cp` the new source into each replica + restart it; no rebuild). Dockerfile / dependency manifest / compiled-language source / ambiguous edits fall through to the rebuild rolling primitive — boot a shadow under a bumped generation suffix, wait for its container port to accept a TCP connection, atomically swap Service-Connect / Cloud Map registrations, then retire the old container. Either path rolls one replica at a time, so peer services see zero connection refusals across the reload even on multi-replica services. Off by default; existing replica(s) keep serving when synth fails mid-reload.").default(false));
|
|
20629
|
+
return cmd.addOption(new Option("--host-port <containerPort=hostPort...>", "Publish a container port on a specific host port (e.g. 80=8080); repeatable. Default: host port == container port. Use this on macOS to map a privileged container port (< 1024) to a non-privileged host port and avoid the Docker Desktop admin-password prompt. (Single-replica services only — multi-replica services do not publish host ports.)")).addOption(new Option("--watch", "Hot-reload: re-synth + per-replica reload when the CDK source changes (honors cdk.json watch.include/exclude; cdk.out, cdk.context.json, node_modules, .git are always excluded). A per-firing classifier picks the per-replica primitive: source-only edits on interpreted-language handlers (Node/Python/Ruby/shell) take a bind-mount FAST PATH (`docker cp` the new source into each replica + restart it; no rebuild). Dockerfile / dependency manifest / compiled-language source / ambiguous edits fall through to the rebuild rolling primitive — boot a shadow under a bumped generation suffix, wait for its container port to accept a TCP connection, atomically swap Service-Connect / Cloud Map registrations, then retire the old container. Either path rolls one replica at a time, so peer services see zero connection refusals across the reload even on multi-replica services. Off by default; existing replica(s) keep serving when synth fails mid-reload.").default(false));
|
|
20621
20630
|
}
|
|
20622
20631
|
|
|
20623
20632
|
//#endregion
|
|
@@ -21346,7 +21355,7 @@ function createLocalStartAlbCommand(opts = {}) {
|
|
|
21346
21355
|
}
|
|
21347
21356
|
function addAlbSpecificOptions(cmd) {
|
|
21348
21357
|
addImageOverrideOptions(cmd);
|
|
21349
|
-
return cmd.addOption(new Option("--lb-port <listenerPort=hostPort...>", "Bind the local front-door on a specific host port (e.g. 80=8080); repeatable. Default: host port == ALB listener port. Use this on macOS to remap a privileged listener port (< 1024) to a non-privileged host port.")).addOption(new Option("--assume-host <host>", "Treat every inbound request as if it carried this Host: host-header rule conditions see <host>, and the target (ECS replica or Lambda) receives it as the Host header, as behind the deployed ALB on its own domain name. Use it to reach a listener rule that matches only a production host name (host-header: api.example.com) from a browser or a client that sends Host: localhost. <listenerPort>=<host> (e.g. 443=api.example.com) applies to one listener and wins over a bare <host>; repeatable. Other rule conditions are unaffected, and a redirect action keeps the request Host so the browser stays on the local front-door. Default: the request Host is used as sent.").argParser((value, prev) => [...prev ?? [], value])).addOption(new Option("--tls", "Terminate TLS locally for cloud-HTTPS listeners. Default: a cloud-HTTPS listener is served over plain HTTP locally (X-Forwarded-Proto: https is preserved so the upstream app still sees the deployed listener protocol). Implied by --tls-cert / --tls-key. Use this when local-dev cookies need Secure / SameSite=None, when the upstream app inspects TLS metadata, or for mTLS / SNI testing — otherwise plain HTTP is friendlier (no self-signed cert warnings in curl / browser).")).addOption(new Option("--tls-cert <path>", "PEM-encoded server certificate for HTTPS front-door listeners. Implies --tls. Must be set together with --tls-key. Pass --tls alone (without --tls-cert / --tls-key) to auto-generate a self-signed cert (cached under $XDG_CACHE_HOME/cdk-local/alb-https/, default ~/.cache/cdk-local/alb-https/); requires openssl on PATH. The deployed Listener Certificates[] are NOT fetched (ACM private keys are not retrievable by design). The auto-generated cert lists DNS:localhost,IP:127.0.0.1 as SubjectAltName, so a client validating a non-loopback --container-host will fail the SAN check — pass --tls-cert / --tls-key with a SAN covering that host instead.")).addOption(new Option("--tls-key <path>", "PEM-encoded server private key matching --tls-cert. Implies --tls. Must be set together with --tls-cert.")).addOption(new Option("--no-verify-auth", "Disable local enforcement of authenticate-cognito / authenticate-oidc actions. Every request is served as if the auth check passed. Useful for local dev where you do not want to mint a Bearer token at all.")).addOption(new Option("--bearer-token <jwt>", "Default Bearer JWT this command INJECTS only when an inbound request has none (the default-when-missing role) — `cdkl start-alb` is the local ALB front-door RECEIVING outside-in requests, so this token is the fallback the front-door slots in as Authorization: Bearer <jwt> if the caller did not already supply one. Verified against the same JWKS / OIDC discovery URL the deployed ALB would (signature + iss + aud + exp). Cookie pass-through (AWSELBAuthSessionCookie-*) also bypasses the guard. Contrast with `cdkl invoke-agentcore --bearer-token`, where the role is reversed — that command is the outbound client and ALWAYS presents this token (the supplier).")).addOption(new Option("--watch", "Hot-reload: re-synth + per-replica reload of every ECS service behind the ALB when the CDK source changes (honors cdk.json watch.include/exclude; cdk.out, node_modules, .git are always excluded). A per-firing classifier picks the per-replica primitive: source-only edits on interpreted-language handlers (Node/Python/Ruby/shell) take a bind-mount FAST PATH (`docker cp` the new source into each replica + restart it; no rebuild, its front-door pool entry is drained and re-published once it listens again). Dockerfile / dependency manifest / compiled-language source / ambiguous edits fall through to the rebuild rolling primitive — boot a shadow under a bumped generation suffix, wait for its container port to accept a TCP connection, atomically register it in the front-door pool, then drop the old entry and retire the old container. Either path rolls one replica at a time, so a continuous external request stream against the listener port sees zero connection refusals across the reload. The host front-door (TLS, JWKS cache, Lambda-target containers, listener sockets) stays up across the reload. Lambda target groups behind the ALB are a no-op on reload (the warm RIE container keeps its boot-time image). Off by default; existing replica(s) keep serving when synth fails mid-reload.").default(false));
|
|
21358
|
+
return cmd.addOption(new Option("--lb-port <listenerPort=hostPort...>", "Bind the local front-door on a specific host port (e.g. 80=8080); repeatable. Default: host port == ALB listener port. Use this on macOS to remap a privileged listener port (< 1024) to a non-privileged host port.")).addOption(new Option("--assume-host <host>", "Treat every inbound request as if it carried this Host: host-header rule conditions see <host>, and the target (ECS replica or Lambda) receives it as the Host header, as behind the deployed ALB on its own domain name. Use it to reach a listener rule that matches only a production host name (host-header: api.example.com) from a browser or a client that sends Host: localhost. <listenerPort>=<host> (e.g. 443=api.example.com) applies to one listener and wins over a bare <host>; repeatable. Other rule conditions are unaffected, and a redirect action keeps the request Host so the browser stays on the local front-door. Default: the request Host is used as sent.").argParser((value, prev) => [...prev ?? [], value])).addOption(new Option("--tls", "Terminate TLS locally for cloud-HTTPS listeners. Default: a cloud-HTTPS listener is served over plain HTTP locally (X-Forwarded-Proto: https is preserved so the upstream app still sees the deployed listener protocol). Implied by --tls-cert / --tls-key. Use this when local-dev cookies need Secure / SameSite=None, when the upstream app inspects TLS metadata, or for mTLS / SNI testing — otherwise plain HTTP is friendlier (no self-signed cert warnings in curl / browser).")).addOption(new Option("--tls-cert <path>", "PEM-encoded server certificate for HTTPS front-door listeners. Implies --tls. Must be set together with --tls-key. Pass --tls alone (without --tls-cert / --tls-key) to auto-generate a self-signed cert (cached under $XDG_CACHE_HOME/cdk-local/alb-https/, default ~/.cache/cdk-local/alb-https/); requires openssl on PATH. The deployed Listener Certificates[] are NOT fetched (ACM private keys are not retrievable by design). The auto-generated cert lists DNS:localhost,IP:127.0.0.1 as SubjectAltName, so a client validating a non-loopback --container-host will fail the SAN check — pass --tls-cert / --tls-key with a SAN covering that host instead.")).addOption(new Option("--tls-key <path>", "PEM-encoded server private key matching --tls-cert. Implies --tls. Must be set together with --tls-cert.")).addOption(new Option("--no-verify-auth", "Disable local enforcement of authenticate-cognito / authenticate-oidc actions. Every request is served as if the auth check passed. Useful for local dev where you do not want to mint a Bearer token at all.")).addOption(new Option("--bearer-token <jwt>", "Default Bearer JWT this command INJECTS only when an inbound request has none (the default-when-missing role) — `cdkl start-alb` is the local ALB front-door RECEIVING outside-in requests, so this token is the fallback the front-door slots in as Authorization: Bearer <jwt> if the caller did not already supply one. Verified against the same JWKS / OIDC discovery URL the deployed ALB would (signature + iss + aud + exp). Cookie pass-through (AWSELBAuthSessionCookie-*) also bypasses the guard. Contrast with `cdkl invoke-agentcore --bearer-token`, where the role is reversed — that command is the outbound client and ALWAYS presents this token (the supplier).")).addOption(new Option("--watch", "Hot-reload: re-synth + per-replica reload of every ECS service behind the ALB when the CDK source changes (honors cdk.json watch.include/exclude; cdk.out, cdk.context.json, node_modules, .git are always excluded). A per-firing classifier picks the per-replica primitive: source-only edits on interpreted-language handlers (Node/Python/Ruby/shell) take a bind-mount FAST PATH (`docker cp` the new source into each replica + restart it; no rebuild, its front-door pool entry is drained and re-published once it listens again). Dockerfile / dependency manifest / compiled-language source / ambiguous edits fall through to the rebuild rolling primitive — boot a shadow under a bumped generation suffix, wait for its container port to accept a TCP connection, atomically register it in the front-door pool, then drop the old entry and retire the old container. Either path rolls one replica at a time, so a continuous external request stream against the listener port sees zero connection refusals across the reload. The host front-door (TLS, JWKS cache, Lambda-target containers, listener sockets) stays up across the reload. Lambda target groups behind the ALB are a no-op on reload (the warm RIE container keeps its boot-time image). Off by default; existing replica(s) keep serving when synth fails mid-reload.").default(false));
|
|
21350
21359
|
}
|
|
21351
21360
|
|
|
21352
21361
|
//#endregion
|
|
@@ -24524,7 +24533,7 @@ async function localStartCloudFrontCommand(target, options, extraStateProviders,
|
|
|
24524
24533
|
if (bootAborted) return;
|
|
24525
24534
|
bootAborted = true;
|
|
24526
24535
|
logger.info(`Received ${signal} during start-up; removing the web function containers...`);
|
|
24527
|
-
drainWebFunctionServes(webFunctionServes).then(() => process.exit(signal
|
|
24536
|
+
drainWebFunctionServes(webFunctionServes).then(() => process.exit(signalExitCode(signal)));
|
|
24528
24537
|
};
|
|
24529
24538
|
const bootSigint = () => onBootSignal("SIGINT");
|
|
24530
24539
|
const bootSigterm = () => onBootSignal("SIGTERM");
|
|
@@ -24626,8 +24635,8 @@ async function localStartCloudFrontCommand(target, options, extraStateProviders,
|
|
|
24626
24635
|
info: (m) => logger.info(m),
|
|
24627
24636
|
warn: (m) => logger.warn(m)
|
|
24628
24637
|
});
|
|
24629
|
-
process.on("SIGINT", () => shutdown("SIGINT"
|
|
24630
|
-
process.on("SIGTERM", () => shutdown("SIGTERM"
|
|
24638
|
+
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
24639
|
+
process.on("SIGTERM", () => shutdown("SIGTERM"));
|
|
24631
24640
|
await new Promise(() => void 0);
|
|
24632
24641
|
}
|
|
24633
24642
|
function createLocalStartCloudFrontCommand(opts = {}) {
|
|
@@ -24646,7 +24655,7 @@ function createLocalStartCloudFrontCommand(opts = {}) {
|
|
|
24646
24655
|
}
|
|
24647
24656
|
function addStartCloudFrontSpecificOptions(cmd) {
|
|
24648
24657
|
addAwsEndpointOptions(cmd);
|
|
24649
|
-
return cmd.addOption(new Option("--port <port>", "HTTP server port (default: auto-allocate)").default("0")).addOption(new Option("--host <host>", "Bind address").default("127.0.0.1")).addOption(new Option("--origin <originId=dir>", "Point a distribution origin at a local directory (repeatable). Use when cdk-local cannot resolve the origin's BucketDeployment source automatically (content uploaded out of band, or a non-CDK bucket).").argParser((value, prev) => [...prev ?? [], value])).addOption(new Option("--kvs-file <key=file.json>", "Back a CloudFront Function's KeyValueStore reads (cf.kvs().get()) with a local JSON map (repeatable). The key is a KeyValueStore handle — its AWS::CloudFront::KeyValueStore resource logical id, its construct path, or its bare construct id; the file is a flat { \"key\": \"value\" } object. The AWS-free alternative to --from-cfn-stack, which instead reads the deployed store via the GetKey API.").argParser((value, prev) => [...prev ?? [], value])).addOption(new Option("--tls", "Terminate real TLS (HTTPS). Uses --tls-cert / --tls-key when supplied, else an auto-generated self-signed cert.").default(false)).addOption(new Option("--tls-cert <path>", "PEM server certificate for --tls (implies --tls).")).addOption(new Option("--tls-key <path>", "PEM server private key for --tls (implies --tls).")).addOption(new Option("--no-pull", "Skip 'docker pull' for a Lambda Function URL / Web Function origin's base image (use the locally cached image).")).addOption(new Option("--from-cfn-stack [cfn-stack-name]", "Bind to a deployed CloudFormation stack (ListStackResources). Resolves an S3 origin that has no local BucketDeployment source to its deployed bucket and serves it from real S3 on demand (the front/back-split case: files uploaded out of band), and resolves a Lambda Function URL / Lambda@Edge function's or a Web Function origin revision's env vars to the deployed physical IDs / exports. Use for CDK apps deployed via the upstream CDK CLI (`cdk deploy`). Bare form uses the resolved stack name; pass a value when the CFn stack name differs.")).addOption(new Option("--cache-origin", "For a deployed-S3 origin (served from real S3 under --from-cfn-stack): keep fetched objects in memory for the session instead of re-reading on every request. Faster repeat reads / fewer S3 GETs, but an out-of-band S3 content change is not reflected until a --watch reload (which clears the cache) or a restart. Off by default (every request re-reads, always current). Not CloudFront CDN caching.").default(false)).addOption(new Option("--stack-region <region>", "Region of the state record to read. Used with --from-cfn-stack as the CFn client region.")).addOption(new Option("--assume-role [arn]", "Assume a Lambda Function URL origin's (or a Web Function origin revision's) execution role and forward STS-issued temp credentials into its container so the handler runs with the deployed permissions. Three forms: `--assume-role <arn>` (explicit ARN); `--assume-role` (bare, auto-resolves from state — requires --from-cfn-stack); `--no-assume-role` (opt out). Off by default (the dev shell credentials are forwarded).")).addOption(new Option("--env-vars <file>", "JSON env-var overrides for the Lambda Function URL and Lambda Web Function endpoint origins (SAM-compatible, the same file as the other commands: {\"Parameters\": {...}} for every origin, {\"<LogicalId or construct path>\": {\"KEY\": \"VALUE\"}} for one — the backing function, or the Web Function revision the endpoint serves; a null value removes the variable). Not applied to Lambda@Edge functions, which cannot carry environment variables in AWS.")).addOption(new Option("--watch", "Hot-reload: re-synth + re-resolve the distribution when the CDK app's source changes (honors cdk.json watch.include/exclude; cdk.out, node_modules, .git are always excluded). The server keeps the previous version serving when synth fails mid-reload.").default(false));
|
|
24658
|
+
return cmd.addOption(new Option("--port <port>", "HTTP server port (default: auto-allocate)").default("0")).addOption(new Option("--host <host>", "Bind address").default("127.0.0.1")).addOption(new Option("--origin <originId=dir>", "Point a distribution origin at a local directory (repeatable). Use when cdk-local cannot resolve the origin's BucketDeployment source automatically (content uploaded out of band, or a non-CDK bucket).").argParser((value, prev) => [...prev ?? [], value])).addOption(new Option("--kvs-file <key=file.json>", "Back a CloudFront Function's KeyValueStore reads (cf.kvs().get()) with a local JSON map (repeatable). The key is a KeyValueStore handle — its AWS::CloudFront::KeyValueStore resource logical id, its construct path, or its bare construct id; the file is a flat { \"key\": \"value\" } object. The AWS-free alternative to --from-cfn-stack, which instead reads the deployed store via the GetKey API.").argParser((value, prev) => [...prev ?? [], value])).addOption(new Option("--tls", "Terminate real TLS (HTTPS). Uses --tls-cert / --tls-key when supplied, else an auto-generated self-signed cert.").default(false)).addOption(new Option("--tls-cert <path>", "PEM server certificate for --tls (implies --tls).")).addOption(new Option("--tls-key <path>", "PEM server private key for --tls (implies --tls).")).addOption(new Option("--no-pull", "Skip 'docker pull' for a Lambda Function URL / Web Function origin's base image (use the locally cached image).")).addOption(new Option("--from-cfn-stack [cfn-stack-name]", "Bind to a deployed CloudFormation stack (ListStackResources). Resolves an S3 origin that has no local BucketDeployment source to its deployed bucket and serves it from real S3 on demand (the front/back-split case: files uploaded out of band), and resolves a Lambda Function URL / Lambda@Edge function's or a Web Function origin revision's env vars to the deployed physical IDs / exports. Use for CDK apps deployed via the upstream CDK CLI (`cdk deploy`). Bare form uses the resolved stack name; pass a value when the CFn stack name differs.")).addOption(new Option("--cache-origin", "For a deployed-S3 origin (served from real S3 under --from-cfn-stack): keep fetched objects in memory for the session instead of re-reading on every request. Faster repeat reads / fewer S3 GETs, but an out-of-band S3 content change is not reflected until a --watch reload (which clears the cache) or a restart. Off by default (every request re-reads, always current). Not CloudFront CDN caching.").default(false)).addOption(new Option("--stack-region <region>", "Region of the state record to read. Used with --from-cfn-stack as the CFn client region.")).addOption(new Option("--assume-role [arn]", "Assume a Lambda Function URL origin's (or a Web Function origin revision's) execution role and forward STS-issued temp credentials into its container so the handler runs with the deployed permissions. Three forms: `--assume-role <arn>` (explicit ARN); `--assume-role` (bare, auto-resolves from state — requires --from-cfn-stack); `--no-assume-role` (opt out). Off by default (the dev shell credentials are forwarded).")).addOption(new Option("--env-vars <file>", "JSON env-var overrides for the Lambda Function URL and Lambda Web Function endpoint origins (SAM-compatible, the same file as the other commands: {\"Parameters\": {...}} for every origin, {\"<LogicalId or construct path>\": {\"KEY\": \"VALUE\"}} for one — the backing function, or the Web Function revision the endpoint serves; a null value removes the variable). Not applied to Lambda@Edge functions, which cannot carry environment variables in AWS.")).addOption(new Option("--watch", "Hot-reload: re-synth + re-resolve the distribution when the CDK app's source changes (honors cdk.json watch.include/exclude; cdk.out, cdk.context.json, node_modules, .git are always excluded). The server keeps the previous version serving when synth fails mid-reload.").default(false));
|
|
24650
24659
|
}
|
|
24651
24660
|
|
|
24652
24661
|
//#endregion
|
|
@@ -25103,8 +25112,8 @@ async function localStartAgentCoreCommand(target, options, extraStateProviders,
|
|
|
25103
25112
|
info: (m) => logger.info(m),
|
|
25104
25113
|
warn: (m) => logger.warn(m)
|
|
25105
25114
|
});
|
|
25106
|
-
process.on("SIGINT", () => shutdown("SIGINT"
|
|
25107
|
-
process.on("SIGTERM", () => shutdown("SIGTERM"
|
|
25115
|
+
process.on("SIGINT", () => shutdown("SIGINT"));
|
|
25116
|
+
process.on("SIGTERM", () => shutdown("SIGTERM"));
|
|
25108
25117
|
try {
|
|
25109
25118
|
if (plan.readyPath === void 0) await waitForAgentCorePing(containerHost, containerHostPort, options.timeout);
|
|
25110
25119
|
else await waitForAgentCoreHttpReady(containerHost, containerHostPort, plan.readyPath, options.timeout);
|
|
@@ -25349,7 +25358,7 @@ async function localStartWebFunctionCommand(target, options, extraStateProviders
|
|
|
25349
25358
|
timeoutMs: options.timeout
|
|
25350
25359
|
});
|
|
25351
25360
|
let shuttingDown = false;
|
|
25352
|
-
const shutdown = async (signal
|
|
25361
|
+
const shutdown = async (signal) => {
|
|
25353
25362
|
if (shuttingDown) {
|
|
25354
25363
|
if (!serve.waitingOnRun) {
|
|
25355
25364
|
logger.info(`Received ${signal} again; still removing the container, please wait...`);
|
|
@@ -25357,16 +25366,16 @@ async function localStartWebFunctionCommand(target, options, extraStateProviders
|
|
|
25357
25366
|
}
|
|
25358
25367
|
serve.disposeArtifactNow();
|
|
25359
25368
|
logger.warn(`Received ${signal} again; exiting without waiting for docker run to return. The container may still be starting, and its environment holds the forwarded AWS credentials. Remove it by its name (this works even if it is created after this exit): docker rm -f ${serve.containerName ?? "<name>"}`);
|
|
25360
|
-
process.exit(signal
|
|
25369
|
+
process.exit(signalExitCode(signal));
|
|
25361
25370
|
return;
|
|
25362
25371
|
}
|
|
25363
25372
|
shuttingDown = true;
|
|
25364
25373
|
logger.info(`Received ${signal}, shutting down...`);
|
|
25365
25374
|
await serve.teardown();
|
|
25366
|
-
process.exit(
|
|
25375
|
+
process.exit(signalExitCode(signal));
|
|
25367
25376
|
};
|
|
25368
|
-
process.on("SIGINT", () => void shutdown("SIGINT"
|
|
25369
|
-
process.on("SIGTERM", () => void shutdown("SIGTERM"
|
|
25377
|
+
process.on("SIGINT", () => void shutdown("SIGINT"));
|
|
25378
|
+
process.on("SIGTERM", () => void shutdown("SIGTERM"));
|
|
25370
25379
|
try {
|
|
25371
25380
|
const address = await serve.start();
|
|
25372
25381
|
if (!address) return await forever();
|
|
@@ -26444,7 +26453,7 @@ async function localStartMicrovmCommand(target, options, extraStateProviders, ho
|
|
|
26444
26453
|
logger.info(`Target: ${displayStackName(`${resolved.stack.stackName}/${resolved.logicalId}`)} (MicroVM image ${displayIdent(config.name)}; hooks: ${Object.keys(config.hooks).join(", ") || "none"}${platform ? `; ${platform}` : ""})`);
|
|
26445
26454
|
for (const line of microvmFidelityWarnings(config)) logger.warn(line);
|
|
26446
26455
|
artifact = await resolveMicrovmCodeArtifact(resolved.stack, config);
|
|
26447
|
-
const shutdown = async (signal
|
|
26456
|
+
const shutdown = async (signal) => {
|
|
26448
26457
|
if (shuttingDown) {
|
|
26449
26458
|
if (!waitingOnRun) {
|
|
26450
26459
|
logger.info(`Received ${signal} again; still terminating the MicroVMs, please wait...`);
|
|
@@ -26452,16 +26461,16 @@ async function localStartMicrovmCommand(target, options, extraStateProviders, ho
|
|
|
26452
26461
|
}
|
|
26453
26462
|
disposeMicrovmCodeArtifact(artifact);
|
|
26454
26463
|
logger.warn(`Received ${signal} again; exiting without waiting for docker run to return. The container may still be starting, and its environment holds the forwarded AWS credentials. Remove it by its name (this works even if it is created after this exit): docker rm -f ${containerName ?? "<name>"}`);
|
|
26455
|
-
process.exit(signal
|
|
26464
|
+
process.exit(signalExitCode(signal));
|
|
26456
26465
|
return;
|
|
26457
26466
|
}
|
|
26458
26467
|
shuttingDown = true;
|
|
26459
26468
|
logger.info(`Received ${signal}, terminating ${vms.length} MicroVM(s)...`);
|
|
26460
26469
|
await teardown();
|
|
26461
|
-
process.exit(
|
|
26470
|
+
process.exit(signalExitCode(signal));
|
|
26462
26471
|
};
|
|
26463
|
-
process.on("SIGINT", () => void shutdown("SIGINT"
|
|
26464
|
-
process.on("SIGTERM", () => void shutdown("SIGTERM"
|
|
26472
|
+
process.on("SIGINT", () => void shutdown("SIGINT"));
|
|
26473
|
+
process.on("SIGTERM", () => void shutdown("SIGTERM"));
|
|
26465
26474
|
const recents = /* @__PURE__ */ new Map();
|
|
26466
26475
|
let allTerminated;
|
|
26467
26476
|
const everyVmTerminated = new Promise((r) => allTerminated = r);
|
|
@@ -31903,6 +31912,7 @@ function blockUntilShutdown(server, serveManager, store, cliName) {
|
|
|
31903
31912
|
const shutdown = (signal) => {
|
|
31904
31913
|
if (shuttingDown) return;
|
|
31905
31914
|
shuttingDown = true;
|
|
31915
|
+
process.exitCode = signalExitCode(signal);
|
|
31906
31916
|
getLogger().info(`Received ${signal}; stopping ${cliName} studio...`);
|
|
31907
31917
|
store.dispose();
|
|
31908
31918
|
serveManager.stopAll().catch((err) => getLogger().warn(`Error stopping serve targets: ${String(err)}`)).then(() => server.close()).catch((err) => getLogger().warn(`Error stopping studio server: ${String(err)}`)).finally(() => resolveShutdown());
|
|
@@ -31939,4 +31949,4 @@ function addStudioSpecificOptions(cmd) {
|
|
|
31939
31949
|
|
|
31940
31950
|
//#endregion
|
|
31941
31951
|
export { postHook as $, addAwsEndpointOptions as $a, parseConnectionsPath as $i, addImageOverrideOptions as $n, addStartApiSpecificOptions as $r, classifyS3Error as $t, microvmFidelityWarnings as A, parseSelectionExpressionPath as Aa, applyCorsResponseHeaders as Ai, stripCloudFrontImport as An, A2A_CONTAINER_PORT as Ar, readContainerLogTail as At, MICROVM_WS_BASE_PROTOCOL as B, AgentCoreResolutionError as Ba, evaluateResponseParameters as Bi, createLocalStartAlbCommand as Bn, AGENTCORE_SESSION_ID_HEADER as Br, parseWebFunctionBuildConfig as Bt, addListSpecificOptions as C, resolveSingleTarget as Ca, verifyJwtViaDiscovery as Ci, WEB_FUNCTION_REVISION_TYPE as Cn, setShadowReadyTimeoutMs as Cr, parseKvsFileOverrides as Ct, buildMicrovmLambdaView as D, discoverWebSocketApis as Da, invokeRequestAuthorizer as Di, compileCloudFrontFunction as Dn, createLocalInvokeAgentCoreCommand as Dr, WEB_FUNCTION_CONTAINER_PORT as Dt, addStartMicrovmSpecificOptions as E, availableWebSocketApiIdentifiers as Ea, evaluateCachedLambdaPolicy as Ei, resolveWebFunctionTarget as En, addInvokeAgentCoreSpecificOptions as Er, RecentOutput as Et, microvmImageTag as F, AGENTCORE_A2A_PROTOCOL as Fa, matchRoute as Fi, findFileAssetForObjectKey as Fn, MCP_PROTOCOL_VERSION as Fr, buildNodeEntryFileStart as Ft, startMicrovmFrontDoor as G, containsDynamicReference as Ga, HOST_DOCKER_INTERNAL_GATEWAY as Gi, addStartServiceSpecificOptions as Gn, SUPPORTED_CODE_RUNTIMES as Gr, readWebFunctionServiceConfig as Gt, PROXY_PORT_HEADER as H, resolveAgentCoreTarget as Ha, selectIntegrationResponse as Hi, resolveAlbTarget as Hn, waitForAgentCoreHttpReady as Hr, WEB_FUNCTION_HTTP_ENDPOINT_ENV as Ht, planMicrovmPorts as I, AGENTCORE_AGUI_PROTOCOL as Ia, translateLambdaResponse as Ii, isBucketDeploymentResource as In, mcpInvokeOnce as Ir, defaultWebFunctionPlatform as It, MICROVM_HOOK_PATH_PREFIX as J, keysNotFromTemplate as Ja, resolveHostGatewayExtraHosts as Ji, addRunTaskSpecificOptions as Jn, renderCodeDockerfile as Jr, idFromArn as Jt, stripMicrovmProxyHeaders as K, deployedFillMayBeSecret as Ka, HOST_GATEWAY_MIN_VERSION as Ki, createLocalStartServiceCommand as Kn, buildAgentCoreCodeImage as Kr, webFunctionAssumeRole as Kt, readExposedPorts as L, AGENTCORE_HTTP_PROTOCOL as La, applyAuthorizerOverlay as Li, resolveBucketDeploymentObjectKey as Ln, parseSseForJsonRpc as Lr, resolveWebFunctionRuntime as Lt, DEFAULT_TERMINATE_HOOK_TIMEOUT_MS as M, discoverRoutes as Ma, buildCorsConfigFromCloudFrontChain as Mi, createLocalFileKvsDataSource as Mn, a2aInvokeOnce as Mr, waitForWebFunctionReady as Mt, LocalMicrovm as N, pickRefLogicalId as Na, isFunctionUrlOacFronted as Ni, createUnboundCloudFrontModule as Nn, MCP_CONTAINER_PORT as Nr, watchContainerExit as Nt, createLocalStartMicrovmCommand as O, discoverWebSocketApisOrThrow as Oa, invokeTokenAuthorizer as Oi, runViewerRequest as On, bridgeAgentCoreWs as Or, containerFailure as Ot, buildMicrovmImage as P, resolveLambdaArnIntrinsic as Pa, matchPreflight as Pi, bucketDeploymentSourceObjectKeys as Pn, MCP_PATH as Pr, WEB_FUNCTION_RUNTIMES as Pt, pollBuildHook as Q, withoutKeys as Qa, handleConnectionsRequest as Qi, addEcsAssumeRoleOptions as Qn, createLocalInvokeCommand as Qr, resolveDeployedOriginBucket as Qt, setContainerPaused as R, AGENTCORE_MCP_PROTOCOL as Ra, buildHttpApiV2Event as Ri, addAlbSpecificOptions as Rn, AGENTCORE_SIGV4_SERVICE as Rr, supportedWebFunctionRuntimes as Rt, StudioEventBus as S, resolveWatchConfig as Sa, verifyJwtAuthorizer as Si, WEB_FUNCTION_ENDPOINT_TYPE as Sn, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as Sr, normalizeKvsFileKeys as St, formatTargetListing as T, listTargets as Ta, computeRequestIdentityHash as Ti, WebFunctionResolutionError as Tn, attachContainerLogStreamer as Tr, resolveCloudFrontTarget as Tt, rewriteUpgradeResponseHead as U, DynamicReferenceResolutionError as Ua, tryParseStatus as Ui, isApplicationLoadBalancer as Un, waitForAgentCorePing as Ur, buildWebFunctionLambdaView as Ut, MicrovmStateError as V, pickAgentCoreCandidateStack as Va, pickResponseTemplate as Vi, parseLbPortOverrides as Vn, invokeAgentCore as Vr, resolveWebFunctionArtifact as Vt, selectTargetPort as W, DynamicReferenceResolver as Wa, VtlEvaluationError as Wi, resolveAlbFrontDoor as Wn, downloadAndExtractS3Bundle as Wr, finalizeWebFunctionEnv as Wt, callRuntimeHook as X, parseDynamicReference as Xa, ConnectionRegistry as Xi, MAX_TASKS_SUBNET_RANGE_CAP as Xn, classifySourceChange as Xr, createDeployedKvsDataSource as Xt, MicrovmHookError as Y, keysOverriddenBy as Ya, bufferToBody as Yi, createLocalRunTaskCommand as Yn, toCmdArgv as Yr, resolveKvsModulesForDistribution as Yt, generateMicrovmId as Z, resolveDynamicReferencesInEnv as Za, buildMgmtEndpointEnvUrl as Zi, addCommonEcsServiceOptions as Zn, addInvokeSpecificOptions as Zr, resolveDeployedKvsArnByName as Zt, filterStudioTargetGroups as _, resolveCfnRegion as _a, defaultCredentialsLoader as _i, pickKvsLogicalIdFromArn as _n, isLocalCdkAssetImage as _r, attachAgentCoreWsBridge as _t, createLocalStudioCommand as a, resolveRuntimeImage as aa, attachStageContext as ai, serveLambdaUrlOrigin as an, resolveSharedSidecarCredentials as ar, disposeMicrovmCodeArtifact as at, renderStudioHtml as b, collectSsmParameterRefs as ba, createJwksCache as bi, pickWebFunctionEndpointLogicalIdFromOrigin as bn, CloudMapRegistry as br, addStartCloudFrontSpecificOptions as bt, startStudioProxy as c, substituteAgainstState as ca, resolveEnvVars$1 as ci, buildEdgeRequestEvent as cn, buildImageOverrideTag as cr, resolveMicrovmImageTarget as ct, createStudioDispatcher as d, substituteEnvVarsFromStateAsync as da, filterRoutesByApiIdentifiers as di, httpHeadersToEdge as dn, mergeForService as dr, createLocalStartWebFunctionCommand as dt, buildConnectEvent as ea, createLocalStartApiCommand as ei, createS3OriginReader as en, awsEndpointOptions as eo, buildEcsImageResolutionContext$1 as er, runHookBody as et, filterStudioCustomResources as f, LocalStateSourceError as fa, groupRoutesByServer as fi, CLOUDFRONT_DISTRIBUTION_TYPE as fn, parseImageOverrideFlags as fr, addStartAgentCoreSpecificOptions as ft, annotatePinnedEcsTargets as g, resolveCfnFallbackRegion as ga, resolveServiceIntegrationParameters as gi, pickFunctionUrlLogicalIdFromOrigin as gn, imageOverrideKeyAliases as gr, startAgentCoreHttpServer as gt, annotateEcsTaskPinnedTargets as h, rejectExplicitCfnStackWithMultipleStacks as ha, resolveSelectionExpression as hi, isCloudFrontDistribution as hn, describePinnedImageUri as hr, selectServeInboundAuth as ht, coerceStopRequest as i, resolveRuntimeFileExtension as ia, createFileWatcher as ii, serveFromStaticOrigin as in, resolveEcsAssumeRoleOption as ir, MicrovmResolutionError as it, readRunHookPayload as j, webSocketApiMatchesIdentifier as ja, buildCorsConfigByApiId as ji, createCloudFrontModule as jn, A2A_PATH as jr, startWebFunctionContainer as jt, finalizeMicrovmEnv as k, filterWebSocketApisByIdentifiers as ka, attachAuthorizers as ki, runViewerResponse as kn, invokeAgentCoreWs as kr, planWebFunctionContainer as kt, relayServeRequest as l, substituteAgainstStateAsync as la, availableApiIdentifiers as li, buildEdgeResponseEvent as ln, canonicalizeImageOverrideKeys as lr, s3KeyOfUri as lt, annotateAlbPinnedBackingServices as m, isCfnFlagPresent as ma, startApiServer as mi, extractKvsAssociations as mn, runImageOverrideBuilds as mr, buildAgentCoreServeAuthCheck as mt, coerceRunRequest as n, buildMessageEvent as na, resolveApiTargetSubset as ni, startCloudFrontServer as nn, parseMaxTasks as nr, MICROVM_DEFAULT_INGRESS_PORT as nt, resolveServeBaseUrl as o, EcsTaskResolutionError as oa, buildStageMap as oi, applyEdgeRequestResult as on, runEcsServiceEmulator as or, readMicrovmImageConfig as ot, isCustomResourceLambdaTarget as p, createLocalStateProvider as pa, readMtlsMaterialsFromDisk as pi, describeS3OriginDomain as pn, resolveImageOverrides as pr, createLocalStartAgentCoreCommand as pt, MAX_RUN_HOOK_PAYLOAD_BYTES as q, firstUsableRegion as qa, probeHostGatewaySupport as qi, serviceStrategy as qn, computeCodeImageTag as qr, webFunctionFidelityWarnings as qt, coerceServeRequest as r, resolveRuntimeCodeMountPath as ra, createAuthorizerCache as ri, resolveErrorResponseCandidates as rn, parseRestartPolicy as rr, MICROVM_IMAGE_TYPE as rt, createStudioServeManager as s, assertEcsTaskImagesResolvable as sa, materializeLayerFromArn as si, applyEdgeResponseResult as sn, ImageOverrideError as sr, resolveMicrovmCodeArtifact as st, addStudioSpecificOptions as t, buildDisconnectEvent as ta, createWatchPredicates as ti, matchBehavior as tn, ecsClusterOption as tr, waitForAppAnswer as tt, reinvoke as u, substituteEnvVarsFromState as ua, filterRoutesByApiIdentifier as ui, edgeHeadersToHttp as un, enforceImageOverrideOrphans as ur, addStartWebFunctionSpecificOptions as ut, startStudioServer as v, resolveCfnStackName as va, buildCognitoJwksUrl as vi, pickLambdaEdgeFunctionLogicalId as vn, listPinnedTargets as vr, startAgentCoreWsBridge as vt, createLocalListCommand as w, countTargets as wa, buildMethodArn as wi, WEB_FUNCTION_TYPE as wn, getContainerNetworkIp as wr, parseOriginOverrides as wt, createStudioStore as x, resolveSsmParameters as xa, verifyCognitoJwt as xi, resolveCloudFrontDistribution as xn, DEFAULT_SHADOW_READY_TIMEOUT_MS as xr, createLocalStartCloudFrontCommand as xt, toStudioTargetGroups as y, CfnLocalStateProvider as ya, buildJwksUrlFromIssuer as yi, pickTargetFunctionLogicalId as yn, buildCloudMapIndex as yr, LocalStartCloudFrontError as yt, MICROVM_CONTROL_PATH as z, AGENTCORE_RUNTIME_TYPE as za, buildRestV1Event as zi, albStrategy as zn, signAgentCoreInvocation as zr, disposeWebFunctionArtifact as zt };
|
|
31942
|
-
//# sourceMappingURL=local-studio-
|
|
31952
|
+
//# sourceMappingURL=local-studio-DK5chhyj.js.map
|