cdk-local 0.112.0 → 0.114.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26908,6 +26908,14 @@ async function localRunTaskCommand(target, options, extraStateProviders) {
26908
26908
  containerPath: profileCredsFile.containerPath,
26909
26909
  profileName: profileCredsFile.profileName
26910
26910
  };
26911
+ const imageOverrideResult = await resolveRunTaskImageOverride({
26912
+ task,
26913
+ target: resolvedTarget,
26914
+ options,
26915
+ cwd: process.cwd()
26916
+ });
26917
+ if (imageOverrideResult.imageOverrideByContainer) runOpts.imageOverrideByContainer = imageOverrideResult.imageOverrideByContainer;
26918
+ else if (imageOverrideResult.pinnedUncovered) logger.warn("Task definition image is pinned to a deployed registry; local source edits will not take effect. Pass --image-override <dockerfile> to rebuild it from local source.");
26911
26919
  if (!options.detach) runOpts.onReady = () => {
26912
26920
  logger.info(`Task running (family=${task.family}); streaming container logs. Stop with Ctrl-C.`);
26913
26921
  };
@@ -27102,30 +27110,61 @@ function createLocalRunTaskCommand(opts = {}) {
27102
27110
  return cmd;
27103
27111
  }
27104
27112
  /**
27105
- * Register the option block that `cdkl run-task` adds on top of the shared
27106
- * common / app / context option helpers. Shared between `cdkl run-task` and
27107
- * any host CLI (e.g. cdkd's `local run-task`) that wraps the single-task
27108
- * ECS local runner, so adding or renaming a `run-task`-only flag here
27109
- * propagates to every embedder without duplicate `.addOption(...)` blocks.
27110
- *
27111
- * Calling order only affects `--help` presentation (Commander parses
27112
- * insertion-order-independent). The host-CLI convention is host-specific
27113
- * options first, then this helper, then the shared common / app / context
27114
- * options host flags / run-task flags / common flags grouped in three
27115
- * `--help` clusters. Chainable: returns `cmd`.
27116
- *
27117
- * NOTE: `run-task` does NOT compose with {@link addCommonEcsServiceOptions}
27118
- * even though many flags overlap. The two ECS surfaces (single-task vs
27119
- * multi-replica service) have intentionally divergent defaults
27120
- * (`run-task` has no `--max-tasks` / `--restart-policy`; `start-service`
27121
- * / `start-alb` have no `--host-port` / `--keep-running` / `--detach`),
27122
- * and folding `run-task` into the service common block would mutate the
27123
- * surface non-trivially. Each command keeps its own helper.
27124
- */
27113
+ * Resolve + build a `--image-override` for `cdkl run-task` (issue #388).
27114
+ *
27115
+ * A pinned (deployed-registry) task-def container image does not pick up local
27116
+ * source edits; this rebuilds it from a supplied Dockerfile and returns the
27117
+ * per-container override map threaded into `runEcsTask`. Mirrors the
27118
+ * `start-service` / `start-alb` override path — the engine primitives
27119
+ * (`parseImageOverrideFlags` / `resolveImageOverrides` /
27120
+ * `enforceImageOverrideOrphans` / `runImageOverrideBuilds`) are shared but
27121
+ * resolves against the already-resolved task instead of a service: a task
27122
+ * definition has exactly ONE override target (its representative container),
27123
+ * so the picker / boot-prompt forms map to that single target.
27124
+ *
27125
+ * The representative container is the first essential one (or the first
27126
+ * container when none is marked essential). It is pinned when its image kind is
27127
+ * not `cdk-asset`. A short-circuit returns early when nothing is pinned AND no
27128
+ * override flag was passed, so the common local-asset run pays nothing. Throws
27129
+ * (clean user error) when `--strict-overrides` is set and the pinned image
27130
+ * stays uncovered, or when a per-service build-input flag is orphaned
27131
+ * (`enforceImageOverrideOrphans`). Exported for unit testing.
27132
+ */
27133
+ async function resolveRunTaskImageOverride(args) {
27134
+ const { task, target, options, cwd } = args;
27135
+ const essential = task.containers.find((c) => c.essential) ?? task.containers[0];
27136
+ const pinned = essential !== void 0 && essential.image.kind !== "cdk-asset";
27137
+ const pinnedTargets = pinned ? [target] : [];
27138
+ const pinnedLabels = /* @__PURE__ */ new Map();
27139
+ if (pinned) pinnedLabels.set(target, `${task.stack.stackName}/${task.taskDefinitionLogicalId}`);
27140
+ const rawFlags = parseImageOverrideFlags({
27141
+ ...options.imageOverride && { imageOverride: options.imageOverride },
27142
+ ...options.imageBuildArg && { imageBuildArg: options.imageBuildArg },
27143
+ ...options.imageBuildSecret && { imageBuildSecret: options.imageBuildSecret },
27144
+ ...options.imageTarget && { imageTarget: options.imageTarget }
27145
+ });
27146
+ if (pinnedTargets.length === 0 && rawFlags.explicit.size === 0 && rawFlags.pickerPaths.length === 0 && rawFlags.perService.size === 0) return {};
27147
+ const overrides = await resolveImageOverrides({
27148
+ rawFlags,
27149
+ pinnedTargets,
27150
+ pinnedLabels,
27151
+ interactiveBootPrompt: true,
27152
+ noInteractive: options.interactiveOverrides === false,
27153
+ ...cwd !== void 0 ? { cwd } : {}
27154
+ });
27155
+ enforceImageOverrideOrphans(rawFlags, overrides);
27156
+ const uncovered = pinnedTargets.filter((t) => !overrides.has(t));
27157
+ if (options.strictOverrides === true && uncovered.length > 0) throw new Error("--strict-overrides set, but the task definition image is pinned to a deployed registry and no --image-override covered it. Pass --image-override <dockerfile> to rebuild it from local source, or drop --strict-overrides / --from-cfn-stack to run the pinned image as-is.");
27158
+ if (overrides.size === 0) return { pinnedUncovered: pinned };
27159
+ const tag = (await runImageOverrideBuilds(overrides)).get(target);
27160
+ if (tag !== void 0 && essential !== void 0) return { imageOverrideByContainer: new Map([[essential.name, tag]]) };
27161
+ return { pinnedUncovered: pinned && uncovered.length > 0 };
27162
+ }
27125
27163
  function addRunTaskSpecificOptions(cmd) {
27126
27164
  cmd.addOption(ecsClusterOption()).addOption(new Option("--env-vars <file>", "JSON env-var overrides (SAM-compatible: {\"ContainerName\":{\"KEY\":\"VALUE\"}, \"Parameters\":{}})")).addOption(new Option("--container-host <ip>", "Host IP to bind published container ports to. Must be a numeric IP (Docker rejects hostnames here)").default("127.0.0.1")).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."));
27127
27165
  addEcsAssumeRoleOptions(cmd);
27128
27166
  cmd.addOption(new Option("--no-pull", "Skip docker pull for every container image and the metadata sidecar")).addOption(new Option("--no-build", "Skip docker build on every CDK-asset container (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 ECR-pull / public-registry containers. Compatible with --no-pull.")).addOption(new Option("--ecr-role-arn <arn>", "Role ARN to assume before authenticating against ECR for cross-account / centralized registries. 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("--platform <platform>", "Force docker --platform (linux/amd64 or linux/arm64). Default: inferred from task RuntimePlatform.CpuArchitecture")).addOption(new Option("--keep-running", "Don't docker rm -f the user containers on task exit (network + sidecar are still torn down). Use when you want to docker exec into a stopped container for post-mortems.").default(false)).addOption(new Option("--detach", "Start the containers in the background and exit (skip log streaming + auto teardown). Useful in CI smoke tests; caller manages container lifecycle.").default(false)).addOption(new Option("--from-cfn-stack [cfn-stack-name]", `Read a deployed CloudFormation stack via ListStackResources and substitute Ref / Fn::ImportValue in container env vars / secrets / image URIs with the deployed physical IDs / exports. Use for CDK apps deployed via the upstream CDK CLI (\`cdk deploy\`). Bare form uses the ${getEmbedConfig().binaryName} stack name; pass an explicit value when the CFn stack name differs. Fn::GetAtt in container Environment[].Value is warn-and-dropped: CFn ListStackResources does not return per-attribute values, and unlike Lambda (where \`cdkl invoke --from-cfn-stack\` recovers Fn::GetAtt from the deployed function via lambda:GetFunctionConfiguration), no ECS-side equivalent resolves attributes off a deployed task / service.`)).addOption(new Option("--stack-region <region>", "Region of the state record to read. Used with --from-cfn-stack as the CFn client region."));
27167
+ addImageOverrideOptions(cmd);
27129
27168
  return cmd;
27130
27169
  }
27131
27170
 
@@ -30843,11 +30882,13 @@ const STUDIO_SCRIPT = `
30843
30882
  ws.appendChild(head);
30844
30883
 
30845
30884
  if (!running && !starting && !failed) {
30846
- // A pinned ECS service (deployed-registry image) does not pick up local
30847
- // source edits — offer an image-override Dockerfile picker so it can be
30848
- // rebuilt locally (issue #301). Local-asset services hot-reload under
30849
- // --watch and get no picker.
30850
- if (meta && meta.kind === 'ecs' && meta.pinned) {
30885
+ // A pinned ECS service / task definition (deployed-registry image) does
30886
+ // not pick up local source edits — offer an image-override Dockerfile
30887
+ // picker so it can be rebuilt locally (issue #301 for ecs, #388 for
30888
+ // ecs-task). The ecs composer threads --image-override to start-service;
30889
+ // the ecs-task composer threads it to run-task. Local-asset targets
30890
+ // rebuild locally already and get no picker.
30891
+ if (meta && (meta.kind === 'ecs' || meta.kind === 'ecs-task') && meta.pinned) {
30851
30892
  const io = buildImageOverridePicker();
30852
30893
  ws.appendChild(io.node);
30853
30894
  collectImageOverride = io.collect;
@@ -32064,6 +32105,33 @@ function annotatePinnedEcsTargets(groups, classify) {
32064
32105
  return anyPinned;
32065
32106
  }
32066
32107
  /**
32108
+ * Annotate the `ecs-task` task-definition entries of `groups` with
32109
+ * `pinned: true` when `classify(targetId)` returns true (issue #388). The
32110
+ * counterpart of {@link annotatePinnedEcsTargets} for the `ecs-task` kind: a
32111
+ * task definition whose representative container image is a deployed-registry
32112
+ * pin gets the same image-override Dockerfile picker (the `ecs-task` composer
32113
+ * spawns `cdkl run-task`, which now accepts `--image-override`). `classify`
32114
+ * decides pinned vs local CDK asset for one task-def id (studio's boot resolves
32115
+ * the task via `resolveEcsTaskTarget` and checks the representative container's
32116
+ * image kind). Unlike the `ecs` group there is no `servable` gate — every
32117
+ * task-def entry is run via run-task. Mutates the entries in place and returns
32118
+ * whether ANY task definition was pinned, so the caller can include the
32119
+ * Dockerfile scan even when no standalone `ecs` service was pinned. Non-ecs-task
32120
+ * groups are left untouched. Exported so a host CLI can reuse it + so the boot
32121
+ * logic is unit-testable without a real synth.
32122
+ */
32123
+ function annotateEcsTaskPinnedTargets(groups, classify) {
32124
+ let anyPinned = false;
32125
+ for (const group of groups) {
32126
+ if (group.kind !== "ecs-task") continue;
32127
+ for (const entry of group.entries) if (classify(entry.id)) {
32128
+ entry.pinned = true;
32129
+ anyPinned = true;
32130
+ }
32131
+ }
32132
+ return anyPinned;
32133
+ }
32134
+ /**
32067
32135
  * Annotate each `alb` entry of `groups` with the deployed-registry-pinned ECS
32068
32136
  * services that ALB fronts (issue #384), so the alb composer can offer a
32069
32137
  * per-service image-override Dockerfile picker. `resolveBackingPinned` maps one
@@ -33772,6 +33840,33 @@ function makePinClassifier(args) {
33772
33840
  };
33773
33841
  }
33774
33842
  /**
33843
+ * Build the boot-time pin classifier {@link annotateEcsTaskPinnedTargets} calls
33844
+ * per `ecs-task` task definition (issue #388) — the counterpart of
33845
+ * {@link makePinClassifier} for task defs. Resolves the task via
33846
+ * {@link resolveEcsTaskTarget} (threading the owning stack's
33847
+ * {@link EcsImageResolutionContext} so an INTRINSIC-ECR image resolves under
33848
+ * `--from-cfn-stack`, same as the service path) and classifies its
33849
+ * representative container (first essential, else first) as a deployed-registry
33850
+ * pin when the image kind is not `cdk-asset`. A task def that cannot be
33851
+ * classified is WARN-logged (not silently swallowed) and left unmarked.
33852
+ *
33853
+ * Returns a `(id) => boolean` callback (true = pinned). Exported for testing.
33854
+ */
33855
+ function makeTaskPinClassifier(args) {
33856
+ const { stacks, contextByStack, logger } = args;
33857
+ return (id) => {
33858
+ try {
33859
+ const stack = resolveEcsServiceStack(id, stacks);
33860
+ const task = resolveEcsTaskTarget(id, stacks, stack ? contextByStack.get(stack.stackName) : void 0);
33861
+ const representative = task.containers.find((c) => c.essential) ?? task.containers[0];
33862
+ return representative !== void 0 && representative.image.kind !== "cdk-asset";
33863
+ } catch (err) {
33864
+ logger.warn(`studio: could not classify image-pin status for ECS task definition '${id}'; leaving it unmarked (the image-override picker will not be offered). ${err instanceof Error ? err.message : String(err)}`);
33865
+ return false;
33866
+ }
33867
+ };
33868
+ }
33869
+ /**
33775
33870
  * Build the boot-time resolver `annotateAlbPinnedBackingServices` calls per
33776
33871
  * `alb` entry (issue #384). It resolves the ALB to its backing ECS services
33777
33872
  * (`resolveAlbFrontDoor`, template-only) and returns the subset that is in
@@ -33837,14 +33932,21 @@ async function classifyStudioTargets(args) {
33837
33932
  ...options,
33838
33933
  fromCfnStack
33839
33934
  };
33935
+ const taskDefIds = (baseGroups.find((g) => g.kind === "ecs-task")?.entries ?? []).map((e) => e.id);
33936
+ const contextByStack = await prepareEcsImageContexts({
33937
+ serviceIds: [...servableEcs, ...taskDefIds],
33938
+ stacks,
33939
+ options: classifyOptions,
33940
+ logger
33941
+ });
33840
33942
  const anyPinned = annotatePinnedEcsTargets(groups, makePinClassifier({
33841
33943
  stacks,
33842
- contextByStack: await prepareEcsImageContexts({
33843
- serviceIds: [...servableEcs],
33844
- stacks,
33845
- options: classifyOptions,
33846
- logger
33847
- }),
33944
+ contextByStack,
33945
+ logger
33946
+ }));
33947
+ const anyTaskPinned = annotateEcsTaskPinnedTargets(groups, makeTaskPinClassifier({
33948
+ stacks,
33949
+ contextByStack,
33848
33950
  logger
33849
33951
  }));
33850
33952
  const pinnedEcsByQualifiedId = /* @__PURE__ */ new Map();
@@ -33859,7 +33961,7 @@ async function classifyStudioTargets(args) {
33859
33961
  }));
33860
33962
  return {
33861
33963
  groups,
33862
- dockerfiles: anyPinned || anyAlbBackingPinned ? discoverDockerfiles(process.cwd()) : []
33964
+ dockerfiles: anyPinned || anyTaskPinned || anyAlbBackingPinned ? discoverDockerfiles(process.cwd()) : []
33863
33965
  };
33864
33966
  }
33865
33967
  /**
@@ -34132,5 +34234,5 @@ function addStudioSpecificOptions(cmd) {
34132
34234
  }
34133
34235
 
34134
34236
  //#endregion
34135
- export { createLocalRunTaskCommand as $, buildDisconnectEvent as $n, addStartApiSpecificOptions as $t, matchBehavior as A, applyCorsResponseHeaders as An, webSocketApiMatchesIdentifier as Ar, invokeAgentCoreWs as At, runViewerRequest as B, evaluateResponseParameters as Bn, pickAgentCoreCandidateStack as Br, signAgentCoreInvocation as Bt, createLocalListCommand as C, verifyJwtViaDiscovery as Cn, countTargets as Cr, DEFAULT_SHADOW_READY_TIMEOUT_MS as Ct, createLocalStartCloudFrontCommand as D, invokeRequestAuthorizer as Dn, discoverWebSocketApisOrThrow as Dr, attachContainerLogStreamer as Dt, addStartCloudFrontSpecificOptions as E, evaluateCachedLambdaPolicy as En, discoverWebSocketApis as Er, getContainerNetworkIp as Et, isCloudFrontDistribution as F, matchRoute as Fn, AGENTCORE_AGUI_PROTOCOL as Fr, MCP_PATH as Ft, parseLbPortOverrides as G, HOST_GATEWAY_MIN_VERSION as Gn, tryResolveImageFnJoin as Gr, SUPPORTED_CODE_RUNTIMES as Gt, addAlbSpecificOptions as H, selectIntegrationResponse as Hn, derivePseudoParametersFromRegion as Hr, invokeAgentCore as Ht, pickFunctionUrlLogicalIdFromOrigin as I, translateLambdaResponse as In, AGENTCORE_HTTP_PROTOCOL as Ir, MCP_PROTOCOL_VERSION as It, resolveAlbFrontDoor as J, ConnectionRegistry as Jn, resolveProfileCredentials as Jr, renderCodeDockerfile as Jt, resolveAlbTarget as K, probeHostGatewaySupport as Kn, LocalInvokeBuildError as Kr, buildAgentCoreCodeImage as Kt, pickTargetFunctionLogicalId as L, applyAuthorizerOverlay as Ln, AGENTCORE_MCP_PROTOCOL as Lr, mcpInvokeOnce as Lt, serveFromStaticOrigin as M, buildCorsConfigFromCloudFrontChain as Mn, pickRefLogicalId as Mr, A2A_PATH as Mt, serveLambdaUrlOrigin as N, isFunctionUrlOacFronted as Nn, resolveLambdaArnIntrinsic as Nr, a2aInvokeOnce as Nt, parseOriginOverrides as O, invokeTokenAuthorizer as On, filterWebSocketApisByIdentifiers as Or, addInvokeAgentCoreSpecificOptions as Ot, CLOUDFRONT_DISTRIBUTION_TYPE as P, matchPreflight as Pn, AGENTCORE_A2A_PROTOCOL as Pr, MCP_CONTAINER_PORT as Pt, addRunTaskSpecificOptions as Q, buildConnectEvent as Qn, createLocalInvokeCommand as Qt, resolveCloudFrontDistribution as R, buildHttpApiV2Event as Rn, AGENTCORE_RUNTIME_TYPE as Rr, parseSseForJsonRpc as Rt, addListSpecificOptions as S, verifyJwtAuthorizer as Sn, resolveSingleTarget as Sr, CloudMapRegistry as St, LocalStartCloudFrontError as T, computeRequestIdentityHash as Tn, availableWebSocketApiIdentifiers as Tr, setShadowReadyTimeoutMs as Tt, albStrategy as U, tryParseStatus as Un, formatStateRemedy as Ur, waitForAgentCorePing as Ut, runViewerResponse as V, pickResponseTemplate as Vn, resolveAgentCoreTarget as Vr, AGENTCORE_SESSION_ID_HEADER as Vt, createLocalStartAlbCommand as W, VtlEvaluationError as Wn, substituteImagePlaceholders as Wr, downloadAndExtractS3Bundle as Wt, createLocalStartServiceCommand as X, handleConnectionsRequest as Xn, classifySourceChange as Xt, addStartServiceSpecificOptions as Y, buildMgmtEndpointEnvUrl as Yn, toCmdArgv as Yt, serviceStrategy as Z, parseConnectionsPath as Zn, addInvokeSpecificOptions as Zt, startStudioServer as _, defaultCredentialsLoader as _n, resolveCfnStackName as _r, runImageOverrideBuilds as _t, createLocalStudioCommand as a, attachStageContext as an, resolveRuntimeImage as ar, ecsClusterOption as at, createStudioStore as b, createJwksCache as bn, resolveSsmParameters as br, listPinnedTargets as bt, startStudioProxy as c, resolveEnvVars$1 as cn, substituteAgainstStateAsync as cr, resolveEcsAssumeRoleOption as ct, createStudioDispatcher as d, filterRoutesByApiIdentifiers as dn, LocalStateSourceError as dr, ImageOverrideError as dt, createLocalStartApiCommand as en, buildMessageEvent as er, MAX_TASKS_SUBNET_RANGE_CAP as et, filterStudioCustomResources as f, groupRoutesByServer as fn, createLocalStateProvider as fr, buildImageOverrideTag as ft, filterStudioTargetGroups as g, resolveServiceIntegrationParameters as gn, resolveCfnRegion as gr, resolveImageOverrides as gt, annotatePinnedEcsTargets as h, resolveSelectionExpression as hn, resolveCfnFallbackRegion as hr, parseImageOverrideFlags as ht, coerceStopRequest as i, createFileWatcher as in, resolveRuntimeFileExtension as ir, buildEcsImageResolutionContext$1 as it, startCloudFrontServer as j, buildCorsConfigByApiId as jn, discoverRoutes as jr, A2A_CONTAINER_PORT as jt, resolveCloudFrontTarget as k, attachAuthorizers as kn, parseSelectionExpressionPath as kr, createLocalInvokeAgentCoreCommand as kt, relayServeRequest as l, availableApiIdentifiers as ln, substituteEnvVarsFromState as lr, resolveSharedSidecarCredentials as lt, annotateAlbPinnedBackingServices as m, startApiServer as mn, rejectExplicitCfnStackWithMultipleStacks as mr, mergeForService as mt, coerceRunRequest as n, resolveApiTargetSubset as nn, buildContainerImage as nr, addEcsAssumeRoleOptions as nt, resolveServeBaseUrl as o, buildStageMap as on, EcsTaskResolutionError as or, parseMaxTasks as ot, isCustomResourceLambdaTarget as p, readMtlsMaterialsFromDisk as pn, isCfnFlagPresent as pr, enforceImageOverrideOrphans as pt, isApplicationLoadBalancer as q, bufferToBody as qn, buildStsClientConfig as qr, computeCodeImageTag as qt, coerceServeRequest as r, createAuthorizerCache as rn, resolveRuntimeCodeMountPath as rr, addImageOverrideOptions as rt, createStudioServeManager as s, materializeLayerFromArn as sn, substituteAgainstState as sr, parseRestartPolicy as st, addStudioSpecificOptions as t, createWatchPredicates as tn, architectureToPlatform as tr, addCommonEcsServiceOptions as tt, reinvoke as u, filterRoutesByApiIdentifier as un, substituteEnvVarsFromStateAsync as ur, runEcsServiceEmulator as ut, toStudioTargetGroups as v, buildCognitoJwksUrl as vn, CfnLocalStateProvider as vr, describePinnedImageUri as vt, formatTargetListing as w, buildMethodArn as wn, listTargets as wr, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as wt, StudioEventBus as x, verifyCognitoJwt as xn, resolveWatchConfig as xr, buildCloudMapIndex as xt, renderStudioHtml as y, buildJwksUrlFromIssuer as yn, collectSsmParameterRefs as yr, isLocalCdkAssetImage as yt, compileCloudFrontFunction as z, buildRestV1Event as zn, AgentCoreResolutionError as zr, AGENTCORE_SIGV4_SERVICE as zt };
34136
- //# sourceMappingURL=local-studio-D6yNtSFF.js.map
34237
+ export { addRunTaskSpecificOptions as $, buildConnectEvent as $n, createLocalInvokeCommand as $t, resolveCloudFrontTarget as A, attachAuthorizers as An, parseSelectionExpressionPath as Ar, createLocalInvokeAgentCoreCommand as At, compileCloudFrontFunction as B, buildRestV1Event as Bn, AgentCoreResolutionError as Br, AGENTCORE_SIGV4_SERVICE as Bt, addListSpecificOptions as C, verifyJwtAuthorizer as Cn, resolveSingleTarget as Cr, CloudMapRegistry as Ct, addStartCloudFrontSpecificOptions as D, evaluateCachedLambdaPolicy as Dn, discoverWebSocketApis as Dr, getContainerNetworkIp as Dt, LocalStartCloudFrontError as E, computeRequestIdentityHash as En, availableWebSocketApiIdentifiers as Er, setShadowReadyTimeoutMs as Et, CLOUDFRONT_DISTRIBUTION_TYPE as F, matchPreflight as Fn, AGENTCORE_A2A_PROTOCOL as Fr, MCP_CONTAINER_PORT as Ft, createLocalStartAlbCommand as G, VtlEvaluationError as Gn, substituteImagePlaceholders as Gr, downloadAndExtractS3Bundle as Gt, runViewerResponse as H, pickResponseTemplate as Hn, resolveAgentCoreTarget as Hr, AGENTCORE_SESSION_ID_HEADER as Ht, isCloudFrontDistribution as I, matchRoute as In, AGENTCORE_AGUI_PROTOCOL as Ir, MCP_PATH as It, isApplicationLoadBalancer as J, bufferToBody as Jn, buildStsClientConfig as Jr, computeCodeImageTag as Jt, parseLbPortOverrides as K, HOST_GATEWAY_MIN_VERSION as Kn, tryResolveImageFnJoin as Kr, SUPPORTED_CODE_RUNTIMES as Kt, pickFunctionUrlLogicalIdFromOrigin as L, translateLambdaResponse as Ln, AGENTCORE_HTTP_PROTOCOL as Lr, MCP_PROTOCOL_VERSION as Lt, startCloudFrontServer as M, buildCorsConfigByApiId as Mn, discoverRoutes as Mr, A2A_CONTAINER_PORT as Mt, serveFromStaticOrigin as N, buildCorsConfigFromCloudFrontChain as Nn, pickRefLogicalId as Nr, A2A_PATH as Nt, createLocalStartCloudFrontCommand as O, invokeRequestAuthorizer as On, discoverWebSocketApisOrThrow as Or, attachContainerLogStreamer as Ot, serveLambdaUrlOrigin as P, isFunctionUrlOacFronted as Pn, resolveLambdaArnIntrinsic as Pr, a2aInvokeOnce as Pt, serviceStrategy as Q, parseConnectionsPath as Qn, addInvokeSpecificOptions as Qt, pickTargetFunctionLogicalId as R, applyAuthorizerOverlay as Rn, AGENTCORE_MCP_PROTOCOL as Rr, mcpInvokeOnce as Rt, StudioEventBus as S, verifyCognitoJwt as Sn, resolveWatchConfig as Sr, buildCloudMapIndex as St, formatTargetListing as T, buildMethodArn as Tn, listTargets as Tr, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as Tt, addAlbSpecificOptions as U, selectIntegrationResponse as Un, derivePseudoParametersFromRegion as Ur, invokeAgentCore as Ut, runViewerRequest as V, evaluateResponseParameters as Vn, pickAgentCoreCandidateStack as Vr, signAgentCoreInvocation as Vt, albStrategy as W, tryParseStatus as Wn, formatStateRemedy as Wr, waitForAgentCorePing as Wt, addStartServiceSpecificOptions as X, buildMgmtEndpointEnvUrl as Xn, toCmdArgv as Xt, resolveAlbFrontDoor as Y, ConnectionRegistry as Yn, resolveProfileCredentials as Yr, renderCodeDockerfile as Yt, createLocalStartServiceCommand as Z, handleConnectionsRequest as Zn, classifySourceChange as Zt, filterStudioTargetGroups as _, resolveServiceIntegrationParameters as _n, resolveCfnRegion as _r, resolveImageOverrides as _t, createLocalStudioCommand as a, createFileWatcher as an, resolveRuntimeFileExtension as ar, buildEcsImageResolutionContext$1 as at, renderStudioHtml as b, buildJwksUrlFromIssuer as bn, collectSsmParameterRefs as br, isLocalCdkAssetImage as bt, startStudioProxy as c, materializeLayerFromArn as cn, substituteAgainstState as cr, parseRestartPolicy as ct, createStudioDispatcher as d, filterRoutesByApiIdentifier as dn, substituteEnvVarsFromStateAsync as dr, runEcsServiceEmulator as dt, addStartApiSpecificOptions as en, buildDisconnectEvent as er, createLocalRunTaskCommand as et, filterStudioCustomResources as f, filterRoutesByApiIdentifiers as fn, LocalStateSourceError as fr, ImageOverrideError as ft, annotatePinnedEcsTargets as g, resolveSelectionExpression as gn, resolveCfnFallbackRegion as gr, parseImageOverrideFlags as gt, annotateEcsTaskPinnedTargets as h, startApiServer as hn, rejectExplicitCfnStackWithMultipleStacks as hr, mergeForService as ht, coerceStopRequest as i, createAuthorizerCache as in, resolveRuntimeCodeMountPath as ir, addImageOverrideOptions as it, matchBehavior as j, applyCorsResponseHeaders as jn, webSocketApiMatchesIdentifier as jr, invokeAgentCoreWs as jt, parseOriginOverrides as k, invokeTokenAuthorizer as kn, filterWebSocketApisByIdentifiers as kr, addInvokeAgentCoreSpecificOptions as kt, relayServeRequest as l, resolveEnvVars$1 as ln, substituteAgainstStateAsync as lr, resolveEcsAssumeRoleOption as lt, annotateAlbPinnedBackingServices as m, readMtlsMaterialsFromDisk as mn, isCfnFlagPresent as mr, enforceImageOverrideOrphans as mt, coerceRunRequest as n, createWatchPredicates as nn, architectureToPlatform as nr, addCommonEcsServiceOptions as nt, resolveServeBaseUrl as o, attachStageContext as on, resolveRuntimeImage as or, ecsClusterOption as ot, isCustomResourceLambdaTarget as p, groupRoutesByServer as pn, createLocalStateProvider as pr, buildImageOverrideTag as pt, resolveAlbTarget as q, probeHostGatewaySupport as qn, LocalInvokeBuildError as qr, buildAgentCoreCodeImage as qt, coerceServeRequest as r, resolveApiTargetSubset as rn, buildContainerImage as rr, addEcsAssumeRoleOptions as rt, createStudioServeManager as s, buildStageMap as sn, EcsTaskResolutionError as sr, parseMaxTasks as st, addStudioSpecificOptions as t, createLocalStartApiCommand as tn, buildMessageEvent as tr, MAX_TASKS_SUBNET_RANGE_CAP as tt, reinvoke as u, availableApiIdentifiers as un, substituteEnvVarsFromState as ur, resolveSharedSidecarCredentials as ut, startStudioServer as v, defaultCredentialsLoader as vn, resolveCfnStackName as vr, runImageOverrideBuilds as vt, createLocalListCommand as w, verifyJwtViaDiscovery as wn, countTargets as wr, DEFAULT_SHADOW_READY_TIMEOUT_MS as wt, createStudioStore as x, createJwksCache as xn, resolveSsmParameters as xr, listPinnedTargets as xt, toStudioTargetGroups as y, buildCognitoJwksUrl as yn, CfnLocalStateProvider as yr, describePinnedImageUri as yt, resolveCloudFrontDistribution as z, buildHttpApiV2Event as zn, AGENTCORE_RUNTIME_TYPE as zr, parseSseForJsonRpc as zt };
34238
+ //# sourceMappingURL=local-studio-DGQ8RG82.js.map