cdk-local 0.143.1 → 0.143.3

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.
@@ -32604,7 +32604,7 @@ const STUDIO_CSS = `
32604
32604
  display: flex; align-items: center; gap: 10px;
32605
32605
  }
32606
32606
  header .brand { font-weight: 700; color: #fff; }
32607
- header .meta { color: #888; font-size: 12px; }
32607
+ header .meta { color: #bdbdbd; font-size: 12px; }
32608
32608
  #session-bar {
32609
32609
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
32610
32610
  padding: 5px 14px; background: #141414; border-bottom: 1px solid #2a2a2a;
@@ -32622,7 +32622,7 @@ const STUDIO_CSS = `
32622
32622
  }
32623
32623
  #session-bar button:hover { background: #314b34; }
32624
32624
  #session-bar #sess-msg { color: #7bd88f; min-width: 40px; }
32625
- #session-bar .sess-synth { color: #777; margin-left: auto; }
32625
+ #session-bar .sess-synth { color: #bdbdbd; margin-left: auto; }
32626
32626
  main {
32627
32627
  display: grid; grid-template-columns: 280px 5px 1fr 5px 320px;
32628
32628
  /* Body is a flex column (header + session-bar + main); main fills the
@@ -32634,7 +32634,7 @@ const STUDIO_CSS = `
32634
32634
  .splitter:hover, .splitter.dragging { background: #4ec97a; }
32635
32635
  .pane h2 {
32636
32636
  margin: 0; padding: 8px 12px; font-size: 11px; text-transform: uppercase;
32637
- letter-spacing: 0.5px; color: #888; background: #151515;
32637
+ letter-spacing: 0.5px; color: #cfcfcf; background: #151515;
32638
32638
  position: sticky; top: 0; border-bottom: 1px solid #2a2a2a; z-index: 1;
32639
32639
  }
32640
32640
  .pane-head {
@@ -32664,7 +32664,7 @@ const STUDIO_CSS = `
32664
32664
  border-bottom: 1px solid rgba(227, 194, 114, 0.3);
32665
32665
  }
32666
32666
  .group-title:hover { background: rgba(227, 194, 114, 0.18); }
32667
- .group-title .caret { color: #9a9a9a; font-size: 9px; width: 9px; display: inline-block; transition: transform .1s; }
32667
+ .group-title .caret { color: #bdbdbd; font-size: 9px; width: 9px; display: inline-block; transition: transform .1s; }
32668
32668
  .group-title.open .caret { transform: rotate(90deg); }
32669
32669
  /* A long group label (e.g. "Application Load Balancers") would wrap onto a
32670
32670
  second line in the 280px pane and shove the count off to the right; keep
@@ -32674,7 +32674,7 @@ const STUDIO_CSS = `
32674
32674
  flex: 0 1 auto; min-width: 0;
32675
32675
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
32676
32676
  }
32677
- .group-title .count { color: #8a8a8a; flex: none; }
32677
+ .group-title .count { color: #bdbdbd; flex: none; }
32678
32678
  .group-body.collapsed { display: none; }
32679
32679
  .target {
32680
32680
  padding: 6px 12px; display: flex; align-items: center; gap: 8px;
@@ -32718,7 +32718,7 @@ const STUDIO_CSS = `
32718
32718
  background: #18223a; border-bottom: 1px solid #2b3c5e;
32719
32719
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
32720
32720
  }
32721
- .target .kind { color: #8f8f8f; font-size: 11px; }
32721
+ .target .kind { color: #bdbdbd; font-size: 11px; }
32722
32722
  .target .invoke-btn {
32723
32723
  padding: 2px 10px; font: 11px ui-monospace, Menlo, monospace; font-weight: 700;
32724
32724
  color: #0d1f12; background: #4ec97a; border: 0; border-radius: 3px; cursor: pointer;
@@ -32739,7 +32739,7 @@ const STUDIO_CSS = `
32739
32739
  }
32740
32740
  .row:hover { background: #222; }
32741
32741
  .row.sel { background: #2a3550; }
32742
- .row .ts { color: #777; }
32742
+ .row .ts { color: #bdbdbd; }
32743
32743
  .row .label { color: #ddd; flex: 1; overflow: hidden; text-overflow: ellipsis; }
32744
32744
  .row.reinvoke .label::before { content: '\\21A9 '; color: #6aa0ff; margin-right: 2px; }
32745
32745
  .row .status { color: #7bd88f; }
@@ -32785,7 +32785,7 @@ const STUDIO_CSS = `
32785
32785
  text-transform: uppercase; letter-spacing: 0.7px; color: #6cb6ff;
32786
32786
  }
32787
32787
  .req-composer .req-result .req-line { color: #cdd6e0; font-weight: 600; }
32788
- .req-composer .req-result .req-resp-headers { color: #8b8b8b; }
32788
+ .req-composer .req-result .req-resp-headers { color: #c2c2c2; }
32789
32789
  .req-composer .req-result .req-resp-body { color: #d6d6d6; }
32790
32790
  /* Make the major output-section headings (the result REQUEST / RESPONSE pair
32791
32791
  + the serve LOGS) prominent (vs the muted 11px grey .section h3): larger,
@@ -32795,13 +32795,15 @@ const STUDIO_CSS = `
32795
32795
  order (.section h3 is declared later in this stylesheet). */
32796
32796
  .req-composer .req-result .req-req h3,
32797
32797
  .req-composer .req-result .req-resp h3,
32798
- .section.serve-logs h3 {
32798
+ .section.serve-logs h3,
32799
+ .section.detail-out h3 {
32799
32800
  font-size: 13px; font-weight: 700; letter-spacing: 0.4px;
32800
32801
  padding-bottom: 4px; margin-bottom: 8px; border-bottom: 1px solid #2c2c2c;
32801
32802
  }
32802
32803
  .req-composer .req-result .req-req h3,
32803
32804
  .req-composer .req-result .req-resp h3,
32804
- .section.serve-logs h3 { color: #e3d18a; }
32805
+ .section.serve-logs h3,
32806
+ .section.detail-out h3 { color: #e3d18a; }
32805
32807
  /* The serve workspace's structural labels (Started with / Endpoints, and the
32806
32808
  request-composer form's Request / Headers / Body) are blue — matching the
32807
32809
  result's blue Headers / Body sub-labels, distinct from the yellow output
@@ -32810,7 +32812,17 @@ const STUDIO_CSS = `
32810
32812
  .section.started-with h3,
32811
32813
  .section.endpoints h3,
32812
32814
  .section.req-composer > h3,
32815
+ .section.options h3,
32813
32816
  .req-composer > .opt-label { color: #6cb6ff; }
32817
+ /* Image override is the single most consequential ECS knob — a pinned image
32818
+ silently ignores local source edits — so its block gets a boxed amber
32819
+ accent to stand out from the ordinary blue option headings (the same amber
32820
+ as its "local edits do not take effect" io-hint caveat). Declared AFTER the
32821
+ blue .section.options h3 (equal specificity) so amber wins by source order. */
32822
+ .section.image-override { background: #211d12; border-left: 3px solid #e3b34a; }
32823
+ .section.image-override h3 {
32824
+ color: #e3b34a; font-size: 13px; font-weight: 700; letter-spacing: 0.4px;
32825
+ }
32814
32826
  .composer button:disabled { background: #333; color: #888; cursor: default; }
32815
32827
  .composer .reinvoke-btn { margin-top: 6px; padding: 4px 14px; }
32816
32828
  .log-clear {
@@ -32824,7 +32836,11 @@ const STUDIO_CSS = `
32824
32836
  .clear-row { display: flex; justify-content: flex-end; margin: 4px 0; }
32825
32837
  .composer .err { color: #e0707a; margin-top: 6px; min-height: 18px; }
32826
32838
  .section { padding: 8px 12px; border-bottom: 1px solid #222; }
32827
- .section h3 { margin: 0 0 6px; font-size: 11px; color: #888; text-transform: uppercase; }
32839
+ /* Default block-section heading is blue (the WebSocket console heading + any
32840
+ section without a more specific colour) — the yellow output headings
32841
+ (.serve-logs / .detail-out / result req-req/req-resp) and amber
32842
+ image-override override it; the muted grey it used to be is gone. */
32843
+ .section h3 { margin: 0 0 6px; font-size: 11px; color: #6cb6ff; text-transform: uppercase; }
32828
32844
  .section h3 .ok { color: #7bd88f; }
32829
32845
  .section h3 .bad { color: #e0707a; }
32830
32846
  .section pre { margin: 0; white-space: pre-wrap; word-break: break-word; color: #cfcfcf; }
@@ -32852,9 +32868,9 @@ const STUDIO_CSS = `
32852
32868
  #log-results.active { display: block; }
32853
32869
  .log-hit { padding: 4px 12px; border-bottom: 1px solid #222; white-space: pre-wrap;
32854
32870
  word-break: break-word; }
32855
- .log-hit .lt { color: #777; }
32871
+ .log-hit .lt { color: #bdbdbd; }
32856
32872
  .log-hit .lg { color: #6aa9ff; }
32857
- .log-hits-meta { padding: 6px 12px; color: #888; font-size: 11px; }
32873
+ .log-hits-meta { padding: 6px 12px; color: #bdbdbd; font-size: 11px; }
32858
32874
  /* Per-line log severity colour (parsed from the WARN: / ERROR: prefix the
32859
32875
  compact logger emits) so warn / error stand out in the LOGS panel + search
32860
32876
  even with no ANSI colour over the child pipe. */
@@ -32866,7 +32882,12 @@ const STUDIO_CSS = `
32866
32882
  #conn.down { color: #e0707a; }
32867
32883
  .options .opt-row { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
32868
32884
  .options .opt-row.opt-col { display: flex; flex-direction: column; align-items: stretch; gap: 4px; }
32869
- .opt-label { color: #aaa; font-size: 12px; min-width: 120px; }
32885
+ /* Curated-composer block labels (Listener port remap / Bearer token / Env
32886
+ vars / scalar labels) are blue — matching the serve-workspace structural
32887
+ labels + the .section.options headings — so they read on the dark pane
32888
+ instead of vanishing as faint grey. The all-options + io-label overrides
32889
+ below keep their own (white / light) colours. */
32890
+ .opt-label { color: #6cb6ff; font-size: 12px; min-width: 120px; }
32870
32891
  .opt-bool { color: #ddd; font-size: 12px; display: inline-flex; align-items: center; gap: 4px; cursor: pointer; }
32871
32892
  .options input[type=text], .options input[type=number] {
32872
32893
  flex: 1; background: #111; color: #ddd; border: 1px solid #333; border-radius: 3px;
@@ -32877,7 +32898,7 @@ const STUDIO_CSS = `
32877
32898
  .pair-row { display: flex; align-items: center; gap: 6px; }
32878
32899
  .pair-in { width: 1px; flex: 1; background: #111; color: #ddd; border: 1px solid #333;
32879
32900
  border-radius: 3px; padding: 4px 6px; font: 12px ui-monospace, Menlo, monospace; min-width: 0; }
32880
- .pair-sep { color: #888; }
32901
+ .pair-sep { color: #bdbdbd; }
32881
32902
  .pair-x { background: #2a2a2a; color: #bbb; border: none; border-radius: 3px; cursor: pointer;
32882
32903
  padding: 2px 7px; font: 12px ui-monospace, monospace; }
32883
32904
  .pair-x:hover { background: #3a2a2a; color: #e0707a; }
@@ -32888,15 +32909,19 @@ const STUDIO_CSS = `
32888
32909
  padding: 4px 6px; font: 12px ui-monospace, Menlo, monospace; min-width: 0; }
32889
32910
  .options select:focus { outline: none; border-color: #4ec97a; }
32890
32911
  details.all-options { margin: 8px 0; border-top: 1px solid #2a2a2a; padding-top: 6px; }
32891
- details.all-options > summary { color: #8a8a8a; font-size: 12px; cursor: pointer; user-select: none; }
32892
- details.all-options > summary:hover { color: #bbb; }
32912
+ details.all-options > summary { color: #6cb6ff; font-size: 12px; cursor: pointer; user-select: none; }
32913
+ details.all-options > summary:hover { color: #8ec7ff; }
32893
32914
  .all-options .opt-row { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 6px 0; }
32894
32915
  .all-options input.raw-args {
32895
32916
  width: 100%; box-sizing: border-box; background: #111; color: #ddd; border: 1px solid #333;
32896
32917
  border-radius: 3px; padding: 4px 6px; font: 12px ui-monospace, Menlo, monospace;
32897
32918
  }
32898
32919
  .all-options input.raw-args:focus { outline: none; border-color: #4ec97a; }
32899
- .opt-hint { color: #777; font-size: 11px; }
32920
+ /* Secondary prose (flag descriptions, the raw-args hint, "(defaults...)"
32921
+ notes) is a readable light grey, not the near-invisible #777 it used to be
32922
+ on the dark pane — still dimmer than primary content, but legible. The
32923
+ amber io-hint caveat keeps its own colour via the two-class override. */
32924
+ .opt-hint { color: #c2c2c2; font-size: 11px; }
32900
32925
  /* Image-override picker legibility (issue #396): the construct-path label is
32901
32926
  a readable light color (long paths wrap cleanly), and the caveat hint is an
32902
32927
  attention amber so the "local edits do not take effect" note is actually
@@ -32914,7 +32939,10 @@ const STUDIO_CSS = `
32914
32939
  .all-options input.flag-control:focus, .all-options select.flag-control:focus {
32915
32940
  outline: none; border-color: #4ec97a;
32916
32941
  }
32917
- .all-options .opt-label { color: #9aa4ad; }
32942
+ /* All-options flag labels are white, matching the checkbox (.opt-bool) flag
32943
+ labels in the same section — so a value-input flag name and a boolean flag
32944
+ name read uniformly instead of one being faint grey, the other white. */
32945
+ .all-options .opt-label { color: #ddd; }
32918
32946
  .started-list { display: flex; flex-direction: column; gap: 3px; margin-top: 4px; }
32919
32947
  .started-flag { color: #7bd88f; font-family: ui-monospace, Menlo, monospace; font-size: 11px; white-space: pre-wrap; word-break: break-all; }
32920
32948
  .envkv-modes { display: flex; gap: 0; }
@@ -33377,7 +33405,7 @@ const STUDIO_SCRIPT = `
33377
33405
  }
33378
33406
 
33379
33407
  function buildImageOverridePicker(prefillValue) {
33380
- const sec = el('div', 'section options');
33408
+ const sec = el('div', 'section options image-override');
33381
33409
  sec.appendChild(el('h3', null, 'Image override'));
33382
33410
  const r = buildImageOverrideRow('Local Dockerfile', prefillValue);
33383
33411
  sec.appendChild(r.row);
@@ -33399,7 +33427,7 @@ const STUDIO_SCRIPT = `
33399
33427
  // collect() returns a { [serviceId]: dockerfile } map threaded as
33400
33428
  // imageOverrides (one --image-override service=df per entry).
33401
33429
  function buildAlbImageOverridePicker(services, prefillMap) {
33402
- const sec = el('div', 'section options');
33430
+ const sec = el('div', 'section options image-override');
33403
33431
  sec.appendChild(el('h3', null, 'Image override (pinned backing services)'));
33404
33432
  const rows = services.map(function (svc) {
33405
33433
  const r = buildImageOverrideRow(svc.label, prefillMap ? prefillMap[svc.id] : undefined);
@@ -34709,12 +34737,12 @@ const STUDIO_SCRIPT = `
34709
34737
  const ev = invById.get(invId);
34710
34738
  if (!ev) return;
34711
34739
 
34712
- const reqSec = el('div', 'section');
34740
+ const reqSec = el('div', 'section detail-out');
34713
34741
  reqSec.appendChild(el('h3', null, 'Request'));
34714
34742
  reqSec.appendChild(el('pre', null, ev.request != null ? fmt(ev.request) : '(none)'));
34715
34743
  result.appendChild(reqSec);
34716
34744
 
34717
- const respSec = el('div', 'section');
34745
+ const respSec = el('div', 'section detail-out');
34718
34746
  const h = el('h3', null, 'Response');
34719
34747
  if (ev.status != null) {
34720
34748
  const cls = ev.status >= 200 && ev.status < 300 ? 'ok' : 'bad';
@@ -34726,7 +34754,7 @@ const STUDIO_SCRIPT = `
34726
34754
  result.appendChild(respSec);
34727
34755
 
34728
34756
  const logs = logsById.get(invId) || [];
34729
- const logSec = el('div', 'section');
34757
+ const logSec = el('div', 'section detail-out');
34730
34758
  logSec.appendChild(el('h3', null, 'Logs'));
34731
34759
  const invLogPre = el('pre', null);
34732
34760
  fillLogPre(invLogPre, logs);
@@ -34849,12 +34877,12 @@ const STUDIO_SCRIPT = `
34849
34877
  head.appendChild(newReqBtn);
34850
34878
  ws.appendChild(head);
34851
34879
 
34852
- const reqSec = el('div', 'section');
34880
+ const reqSec = el('div', 'section detail-out');
34853
34881
  reqSec.appendChild(el('h3', null, 'Request'));
34854
34882
  reqSec.appendChild(el('pre', null, ev.request != null ? fmt(ev.request) : '(none)'));
34855
34883
  ws.appendChild(reqSec);
34856
34884
 
34857
- const respSec = el('div', 'section');
34885
+ const respSec = el('div', 'section detail-out');
34858
34886
  const h = el('h3', null, 'Response');
34859
34887
  if (ev.status != null) {
34860
34888
  const cls = ev.status >= 200 && ev.status < 300 ? 'ok' : 'bad';
@@ -34866,7 +34894,7 @@ const STUDIO_SCRIPT = `
34866
34894
 
34867
34895
  // Logs bound to THIS request at CloudWatch granularity (D5), fetched
34868
34896
  // from the server store.
34869
- const logSec = el('div', 'section');
34897
+ const logSec = el('div', 'section detail-out');
34870
34898
  logSec.appendChild(el('h3', null, 'Logs'));
34871
34899
  const logPre = el('pre', null, '(loading…)');
34872
34900
  logSec.appendChild(logPre);
@@ -37233,18 +37261,30 @@ async function prepareEcsImageContexts(args) {
37233
37261
  * Returns a `(id) => boolean` callback (true = pinned). Exported for testing.
37234
37262
  */
37235
37263
  function makePinClassifier(args) {
37236
- const { stacks, contextByStack, logger } = args;
37264
+ const { stacks, contextByStack, logger, stateBound } = args;
37237
37265
  return (id) => {
37238
37266
  try {
37239
37267
  const stack = resolveEcsServiceStack(id, stacks);
37240
37268
  return !isLocalCdkAssetImage(resolveEcsServiceTarget(id, stacks, stack ? contextByStack.get(stack.stackName) : void 0));
37241
37269
  } catch (err) {
37242
- logger.warn(`studio: could not classify image-pin status for ECS service '${id}'; leaving it unmarked (the image-override picker will not be offered). ${err instanceof Error ? err.message : String(err)}`);
37270
+ logger.warn(`studio: could not classify image-pin status for ECS service '${id}'; leaving it unmarked (the image-override picker will not be offered).${pinClassifyStateHint(stateBound)} ${err instanceof Error ? err.message : String(err)}`);
37243
37271
  return false;
37244
37272
  }
37245
37273
  };
37246
37274
  }
37247
37275
  /**
37276
+ * The Session-bar `--from-cfn-stack` remedy appended to a pin-classify WARN
37277
+ * when the binding is NOT set (the common reason an INTRINSIC-ECR service
37278
+ * cannot be classified, so the override picker is silently absent). Returns an
37279
+ * empty string when the binding IS set — the resolver's own appended error
37280
+ * already names the real failure, and re-suggesting a flag the user already
37281
+ * passed is misleading. Shared by the service + task-def classifiers.
37282
+ */
37283
+ function pinClassifyStateHint(stateBound) {
37284
+ if (stateBound !== false) return "";
37285
+ return " If this image is pinned to a deployed registry (e.g. ContainerImage.fromEcrRepository), set --from-cfn-stack in the Session bar so studio can resolve it and offer the image-override picker.";
37286
+ }
37287
+ /**
37248
37288
  * Build the boot-time pin classifier {@link annotateEcsTaskPinnedTargets} calls
37249
37289
  * per `ecs-task` task definition (issue #388) — the counterpart of
37250
37290
  * {@link makePinClassifier} for task defs. Resolves the task via
@@ -37258,7 +37298,7 @@ function makePinClassifier(args) {
37258
37298
  * Returns a `(id) => boolean` callback (true = pinned). Exported for testing.
37259
37299
  */
37260
37300
  function makeTaskPinClassifier(args) {
37261
- const { stacks, contextByStack, logger } = args;
37301
+ const { stacks, contextByStack, logger, stateBound } = args;
37262
37302
  return (id) => {
37263
37303
  try {
37264
37304
  const stack = resolveEcsServiceStack(id, stacks);
@@ -37266,7 +37306,7 @@ function makeTaskPinClassifier(args) {
37266
37306
  const representative = task.containers.find((c) => c.essential) ?? task.containers[0];
37267
37307
  return representative !== void 0 && representative.image.kind !== "cdk-asset";
37268
37308
  } catch (err) {
37269
- 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)}`);
37309
+ 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).${pinClassifyStateHint(stateBound)} ${err instanceof Error ? err.message : String(err)}`);
37270
37310
  return false;
37271
37311
  }
37272
37312
  };
@@ -37344,15 +37384,18 @@ async function classifyStudioTargets(args) {
37344
37384
  options: classifyOptions,
37345
37385
  logger
37346
37386
  });
37387
+ const stateBound = isCfnFlagPresent(classifyOptions);
37347
37388
  const anyPinned = annotatePinnedEcsTargets(groups, makePinClassifier({
37348
37389
  stacks,
37349
37390
  contextByStack,
37350
- logger
37391
+ logger,
37392
+ stateBound
37351
37393
  }));
37352
37394
  const anyTaskPinned = annotateEcsTaskPinnedTargets(groups, makeTaskPinClassifier({
37353
37395
  stacks,
37354
37396
  contextByStack,
37355
- logger
37397
+ logger,
37398
+ stateBound
37356
37399
  }));
37357
37400
  const pinnedEcsByQualifiedId = /* @__PURE__ */ new Map();
37358
37401
  for (const g of groups) {
@@ -37652,4 +37695,4 @@ function addStudioSpecificOptions(cmd) {
37652
37695
 
37653
37696
  //#endregion
37654
37697
  export { applyEdgeResponseResult as $, buildJwksUrlFromIssuer as $n, collectSsmParameterRefs as $r, buildCloudMapIndex as $t, startAgentCoreHttpServer as A, classifySourceChange as An, handleConnectionsRequest as Ar, addRunTaskSpecificOptions as At, idFromArn as B, buildStageMap as Bn, EcsTaskResolutionError as Br, resolveEcsAssumeRoleOption as Bt, addListSpecificOptions as C, formatStateRemedy as Ci, waitForAgentCorePing as Cn, tryParseStatus as Cr, parseLbPortOverrides as Ct, createLocalStartAgentCoreCommand as D, buildStsClientConfig as Di, computeCodeImageTag as Dn, bufferToBody as Dr, addStartServiceSpecificOptions as Dt, addStartAgentCoreSpecificOptions as E, LocalInvokeBuildError as Ei, buildAgentCoreCodeImage as En, probeHostGatewaySupport as Er, resolveAlbFrontDoor as Et, createLocalStartCloudFrontCommand as F, createWatchPredicates as Fn, architectureToPlatform as Fr, addImageOverrideOptions as Ft, classifyS3Error as G, filterRoutesByApiIdentifiers as Gn, LocalStateSourceError as Gr, enforceImageOverrideOrphans as Gt, createDeployedKvsDataSource as H, resolveEnvVars$1 as Hn, substituteAgainstStateAsync as Hr, runEcsServiceEmulator as Ht, normalizeKvsFileKeys as I, resolveApiTargetSubset as In, buildContainerImage as Ir, buildEcsImageResolutionContext$1 as It, startCloudFrontServer as J, startApiServer as Jn, rejectExplicitCfnStackWithMultipleStacks as Jr, resolveImageOverrides as Jt, createS3OriginReader as K, groupRoutesByServer as Kn, createLocalStateProvider as Kr, mergeForService as Kt, parseKvsFileOverrides as L, createAuthorizerCache as Ln, resolveRuntimeCodeMountPath as Lr, ecsClusterOption as Lt, startAgentCoreWsBridge as M, createLocalInvokeCommand as Mn, buildConnectEvent as Mr, MAX_TASKS_SUBNET_RANGE_CAP as Mt, LocalStartCloudFrontError as N, addStartApiSpecificOptions as Nn, buildDisconnectEvent as Nr, addCommonEcsServiceOptions as Nt, buildAgentCoreServeAuthCheck as O, resolveProfileCredentials as Oi, renderCodeDockerfile as On, ConnectionRegistry as Or, createLocalStartServiceCommand as Ot, addStartCloudFrontSpecificOptions as P, createLocalStartApiCommand as Pn, buildMessageEvent as Pr, addEcsAssumeRoleOptions as Pt, applyEdgeRequestResult as Q, buildCognitoJwksUrl as Qn, CfnLocalStateProvider as Qr, listPinnedTargets as Qt, parseOriginOverrides as R, createFileWatcher as Rn, resolveRuntimeFileExtension as Rr, parseMaxTasks as Rt, StudioEventBus as S, derivePseudoParametersFromRegion as Si, waitForAgentCoreHttpReady as Sn, selectIntegrationResponse as Sr, createLocalStartAlbCommand as St, formatTargetListing as T, tryResolveImageFnJoin as Ti, SUPPORTED_CODE_RUNTIMES as Tn, HOST_GATEWAY_MIN_VERSION as Tr, isApplicationLoadBalancer as Tt, resolveDeployedKvsArnByName as U, availableApiIdentifiers as Un, substituteEnvVarsFromState as Ur, ImageOverrideError as Ut, resolveKvsModulesForDistribution as V, materializeLayerFromArn as Vn, substituteAgainstState as Vr, resolveSharedSidecarCredentials as Vt, resolveDeployedOriginBucket as W, filterRoutesByApiIdentifier as Wn, substituteEnvVarsFromStateAsync as Wr, buildImageOverrideTag as Wt, serveFromStaticOrigin as X, resolveServiceIntegrationParameters as Xn, resolveCfnRegion as Xr, describePinnedImageUri as Xt, resolveErrorResponseCandidates as Y, resolveSelectionExpression as Yn, resolveCfnFallbackRegion as Yr, runImageOverrideBuilds as Yt, serveLambdaUrlOrigin as Z, defaultCredentialsLoader as Zn, resolveCfnStackName as Zr, isLocalCdkAssetImage as Zt, filterStudioTargetGroups as _, AGENTCORE_MCP_PROTOCOL as _i, parseSseForJsonRpc as _n, applyAuthorizerOverlay as _r, createCloudFrontModule as _t, createLocalStudioCommand as a, availableWebSocketApiIdentifiers as ai, attachContainerLogStreamer as an, computeRequestIdentityHash as ar, describeS3OriginDomain as at, renderStudioHtml as b, pickAgentCoreCandidateStack as bi, AGENTCORE_SESSION_ID_HEADER as bn, evaluateResponseParameters as br, addAlbSpecificOptions as bt, startStudioProxy as c, filterWebSocketApisByIdentifiers as ci, bridgeAgentCoreWs as cn, invokeTokenAuthorizer as cr, pickFunctionUrlLogicalIdFromOrigin as ct, createStudioDispatcher as d, discoverRoutes as di, A2A_PATH as dn, buildCorsConfigByApiId as dr, pickTargetFunctionLogicalId as dt, resolveSsmParameters as ei, CloudMapRegistry as en, createJwksCache as er, buildEdgeRequestEvent as et, filterStudioCustomResources as f, pickRefLogicalId as fi, a2aInvokeOnce as fn, buildCorsConfigFromCloudFrontChain as fr, resolveCloudFrontDistribution as ft, annotatePinnedEcsTargets as g, AGENTCORE_HTTP_PROTOCOL as gi, mcpInvokeOnce as gn, translateLambdaResponse as gr, stripCloudFrontImport as gt, annotateEcsTaskPinnedTargets as h, AGENTCORE_AGUI_PROTOCOL as hi, MCP_PROTOCOL_VERSION as hn, matchRoute as hr, runViewerResponse as ht, coerceStopRequest as i, listTargets as ii, getContainerNetworkIp as in, buildMethodArn as ir, CLOUDFRONT_DISTRIBUTION_TYPE as it, attachAgentCoreWsBridge as j, addInvokeSpecificOptions as jn, parseConnectionsPath as jr, createLocalRunTaskCommand as jt, selectServeInboundAuth as k, toCmdArgv as kn, buildMgmtEndpointEnvUrl as kr, serviceStrategy as kt, relayServeRequest as l, parseSelectionExpressionPath as li, invokeAgentCoreWs as ln, attachAuthorizers as lr, pickKvsLogicalIdFromArn as lt, annotateAlbPinnedBackingServices as m, AGENTCORE_A2A_PROTOCOL as mi, MCP_PATH as mn, matchPreflight as mr, runViewerRequest as mt, coerceRunRequest as n, resolveSingleTarget as ni, SOFT_RELOAD_COMPLETION_LOG_SUFFIX as nn, verifyJwtAuthorizer as nr, edgeHeadersToHttp as nt, resolveServeBaseUrl as o, discoverWebSocketApis as oi, addInvokeAgentCoreSpecificOptions as on, evaluateCachedLambdaPolicy as or, extractKvsAssociations as ot, isCustomResourceLambdaTarget as p, resolveLambdaArnIntrinsic as pi, MCP_CONTAINER_PORT as pn, isFunctionUrlOacFronted as pr, compileCloudFrontFunction as pt, matchBehavior as q, readMtlsMaterialsFromDisk as qn, isCfnFlagPresent as qr, parseImageOverrideFlags as qt, coerceServeRequest as r, countTargets as ri, setShadowReadyTimeoutMs as rn, verifyJwtViaDiscovery as rr, httpHeadersToEdge as rt, createStudioServeManager as s, discoverWebSocketApisOrThrow as si, createLocalInvokeAgentCoreCommand as sn, invokeRequestAuthorizer as sr, isCloudFrontDistribution as st, addStudioSpecificOptions as t, resolveWatchConfig as ti, DEFAULT_SHADOW_READY_TIMEOUT_MS as tn, verifyCognitoJwt as tr, buildEdgeResponseEvent as tt, reinvoke as u, webSocketApiMatchesIdentifier as ui, A2A_CONTAINER_PORT as un, applyCorsResponseHeaders as ur, pickLambdaEdgeFunctionLogicalId as ut, startStudioServer as v, AGENTCORE_RUNTIME_TYPE as vi, AGENTCORE_SIGV4_SERVICE as vn, buildHttpApiV2Event as vr, createLocalFileKvsDataSource as vt, createLocalListCommand as w, substituteImagePlaceholders as wi, downloadAndExtractS3Bundle as wn, VtlEvaluationError as wr, resolveAlbTarget as wt, createStudioStore as x, resolveAgentCoreTarget as xi, invokeAgentCore as xn, pickResponseTemplate as xr, albStrategy as xt, toStudioTargetGroups as y, AgentCoreResolutionError as yi, signAgentCoreInvocation as yn, buildRestV1Event as yr, createUnboundCloudFrontModule as yt, resolveCloudFrontTarget as z, attachStageContext as zn, resolveRuntimeImage as zr, parseRestartPolicy as zt };
37655
- //# sourceMappingURL=local-studio-B16O8QaL.js.map
37698
+ //# sourceMappingURL=local-studio-hmQ2mqsf.js.map