sunpeak 0.19.12 → 0.20.2

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.
Files changed (85) hide show
  1. package/README.md +2 -2
  2. package/bin/commands/inspect.mjs +361 -12
  3. package/bin/commands/test-init.mjs +190 -118
  4. package/bin/commands/test.mjs +12 -1
  5. package/bin/lib/eval/eval-runner.mjs +7 -1
  6. package/bin/lib/inspect/inspect-config.mjs +17 -2
  7. package/bin/lib/inspect/inspect-server.d.mts +32 -0
  8. package/bin/lib/inspect/inspect-server.mjs +11 -0
  9. package/bin/lib/live/live-config.d.mts +10 -0
  10. package/bin/lib/live/live-config.mjs +34 -2
  11. package/bin/lib/resolve-bin.mjs +39 -0
  12. package/bin/lib/test/base-config.mjs +6 -3
  13. package/bin/lib/test/matchers.mjs +2 -2
  14. package/bin/lib/test/test-config.mjs +19 -8
  15. package/bin/lib/test/test-fixtures.d.mts +52 -92
  16. package/bin/lib/test/test-fixtures.mjs +174 -147
  17. package/dist/chatgpt/index.cjs +1 -1
  18. package/dist/chatgpt/index.js +1 -1
  19. package/dist/claude/index.cjs +1 -1
  20. package/dist/claude/index.js +1 -1
  21. package/dist/host/chatgpt/index.cjs +1 -1
  22. package/dist/host/chatgpt/index.js +1 -1
  23. package/dist/index.cjs +4 -4
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.js +3 -3
  26. package/dist/index.js.map +1 -1
  27. package/dist/inspector/index.cjs +1 -1
  28. package/dist/inspector/index.js +1 -1
  29. package/dist/{inspector-D5DckQuU.js → inspector-BBDa5yCm.js} +57 -23
  30. package/dist/inspector-BBDa5yCm.js.map +1 -0
  31. package/dist/{inspector-jY9O18z9.cjs → inspector-DAA1Wiyh.cjs} +58 -24
  32. package/dist/inspector-DAA1Wiyh.cjs.map +1 -0
  33. package/dist/lib/discovery-cli.cjs +1 -1
  34. package/dist/mcp/index.cjs +22 -25
  35. package/dist/mcp/index.cjs.map +1 -1
  36. package/dist/mcp/index.js +19 -22
  37. package/dist/mcp/index.js.map +1 -1
  38. package/dist/{use-app-Bfargfa3.js → use-app-Cr0auUa1.js} +2 -2
  39. package/dist/{use-app-Bfargfa3.js.map → use-app-Cr0auUa1.js.map} +1 -1
  40. package/dist/{use-app-CbsBEmwv.cjs → use-app-DPkj5Jp_.cjs} +2 -2
  41. package/dist/{use-app-CbsBEmwv.cjs.map → use-app-DPkj5Jp_.cjs.map} +1 -1
  42. package/package.json +17 -11
  43. package/template/dist/albums/albums.html +4 -4
  44. package/template/dist/albums/albums.json +1 -1
  45. package/template/dist/carousel/carousel.html +4 -4
  46. package/template/dist/carousel/carousel.json +1 -1
  47. package/template/dist/map/map.html +6 -6
  48. package/template/dist/map/map.json +1 -1
  49. package/template/dist/review/review.html +4 -4
  50. package/template/dist/review/review.json +1 -1
  51. package/template/node_modules/.bin/vite +2 -2
  52. package/template/node_modules/.bin/vitest +2 -2
  53. package/template/node_modules/.vite/deps/_metadata.json +4 -4
  54. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps.js +1 -1
  55. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps.js.map +1 -1
  56. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_app-bridge.js +1 -1
  57. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_app-bridge.js.map +1 -1
  58. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_react.js +1 -1
  59. package/template/node_modules/.vite-mcp/deps/@modelcontextprotocol_ext-apps_react.js.map +1 -1
  60. package/template/node_modules/.vite-mcp/deps/@testing-library_react.js +4 -4
  61. package/template/node_modules/.vite-mcp/deps/@testing-library_react.js.map +1 -1
  62. package/template/node_modules/.vite-mcp/deps/_metadata.json +33 -33
  63. package/template/node_modules/.vite-mcp/deps/{client-CU1wWud4.js → client-B_5CX--u.js} +7 -7
  64. package/template/node_modules/.vite-mcp/deps/{client-CU1wWud4.js.map → client-B_5CX--u.js.map} +1 -1
  65. package/template/node_modules/.vite-mcp/deps/embla-carousel-react.js +1 -1
  66. package/template/node_modules/.vite-mcp/deps/embla-carousel-react.js.map +1 -1
  67. package/template/node_modules/.vite-mcp/deps/react-dom.js +3 -3
  68. package/template/node_modules/.vite-mcp/deps/react-dom.js.map +1 -1
  69. package/template/node_modules/.vite-mcp/deps/react-dom_client.js +1 -1
  70. package/template/node_modules/.vite-mcp/deps/react.js +3 -3
  71. package/template/node_modules/.vite-mcp/deps/react.js.map +1 -1
  72. package/template/node_modules/.vite-mcp/deps/react_jsx-dev-runtime.js +2 -2
  73. package/template/node_modules/.vite-mcp/deps/react_jsx-dev-runtime.js.map +1 -1
  74. package/template/node_modules/.vite-mcp/deps/react_jsx-runtime.js +2 -2
  75. package/template/node_modules/.vite-mcp/deps/react_jsx-runtime.js.map +1 -1
  76. package/template/node_modules/.vite-mcp/deps/vitest.js +1024 -622
  77. package/template/node_modules/.vite-mcp/deps/vitest.js.map +1 -1
  78. package/template/package.json +6 -6
  79. package/template/tests/e2e/albums.spec.ts +24 -52
  80. package/template/tests/e2e/carousel.spec.ts +36 -58
  81. package/template/tests/e2e/map.spec.ts +35 -56
  82. package/template/tests/e2e/review.spec.ts +56 -85
  83. package/template/tests/e2e/visual.spec.ts +14 -12
  84. package/dist/inspector-D5DckQuU.js.map +0 -1
  85. package/dist/inspector-jY9O18z9.cjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../chunk-9hOWP6kD.cjs");
3
- const require_inspector = require("../inspector-jY9O18z9.cjs");
3
+ const require_inspector = require("../inspector-DAA1Wiyh.cjs");
4
4
  const require_inspector_url = require("../inspector-url-C3LTKgXt.cjs");
5
5
  const require_discovery = require("../discovery-Clu4uHp1.cjs");
6
6
  //#region src/inspector/index.ts
@@ -1,5 +1,5 @@
1
1
  import { r as __exportAll } from "../chunk-D6g4UhsZ.js";
2
- import { _ as McpAppHost, a as SidebarControl, b as getRegisteredHosts, c as SidebarTextarea, d as ThemeProvider, f as useThemeContext, g as extractResourceCSP, h as IframeResource, i as SidebarCollapsibleControl, l as SidebarToggle, m as useInspectorState, n as resolveServerToolResult, o as SidebarInput, p as useMcpConnection, r as SidebarCheckbox, s as SidebarSelect, t as Inspector, u as SimpleSidebar, v as SCREEN_WIDTHS, x as registerHostShell, y as getHostShell } from "../inspector-D5DckQuU.js";
2
+ import { _ as McpAppHost, a as SidebarControl, b as getRegisteredHosts, c as SidebarTextarea, d as ThemeProvider, f as useThemeContext, g as extractResourceCSP, h as IframeResource, i as SidebarCollapsibleControl, l as SidebarToggle, m as useInspectorState, n as resolveServerToolResult, o as SidebarInput, p as useMcpConnection, r as SidebarCheckbox, s as SidebarSelect, t as Inspector, u as SimpleSidebar, v as SCREEN_WIDTHS, x as registerHostShell, y as getHostShell } from "../inspector-BBDa5yCm.js";
3
3
  import { t as createInspectorUrl } from "../inspector-url-CyQcuBI9.js";
4
4
  import { c as toPascalCase, i as findResourceKey, n as extractSimulationKey, r as findResourceDirs, s as getComponentName, t as extractResourceKey } from "../discovery-Cgoegt62.js";
5
5
  //#region src/inspector/index.ts
@@ -808,7 +808,7 @@ registerHostShell({
808
808
  }`
809
809
  });
810
810
  //#endregion
811
- //#region ../../node_modules/.pnpm/@modelcontextprotocol+ext-apps@1.5.0_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__react-_f4871531d9cf52c692eb6edc1ee416ef/node_modules/@modelcontextprotocol/ext-apps/dist/src/app-bridge.js
811
+ //#region ../../node_modules/.pnpm/@modelcontextprotocol+ext-apps@1.5.0_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__react-_a8a8e071c354e7dd6f62871eadf46f99/node_modules/@modelcontextprotocol/ext-apps/dist/src/app-bridge.js
812
812
  var j = class extends Protocol {
813
813
  _registeredMethods = /* @__PURE__ */ new Set();
814
814
  _eventSlots = /* @__PURE__ */ new Map();
@@ -1507,6 +1507,11 @@ var DEFAULT_HOST_INFO = {
1507
1507
  name: "SunpeakInspector",
1508
1508
  version: "1.0.0"
1509
1509
  };
1510
+ /**
1511
+ * Debug logger for MCP bridge messages. Uses CSS-formatted console.log in browsers,
1512
+ * no-ops during unit tests (Vitest) where the output is just noise.
1513
+ */
1514
+ var debugLog = typeof process !== "undefined" && process.env?.VITEST ? () => {} : console.log;
1510
1515
  var DEFAULT_HOST_CAPABILITIES = {
1511
1516
  openLinks: {},
1512
1517
  serverTools: {},
@@ -1558,25 +1563,25 @@ var McpAppHost = class {
1558
1563
  console.warn("[MCP App] openLink blocked invalid URL:", url);
1559
1564
  }
1560
1565
  const ack = {};
1561
- console.log(`%c[MCP ↓]%c host → app: %copenLink ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1566
+ debugLog(`%c[MCP ↓]%c host → app: %copenLink ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1562
1567
  return ack;
1563
1568
  };
1564
1569
  this.bridge.onmessage = async ({ role, content }) => {
1565
1570
  if (this.options.onMessage) this.options.onMessage(role, content);
1566
1571
  const ack = {};
1567
- console.log(`%c[MCP ↓]%c host → app: %csendMessage ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1572
+ debugLog(`%c[MCP ↓]%c host → app: %csendMessage ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1568
1573
  return ack;
1569
1574
  };
1570
1575
  this.bridge.onrequestdisplaymode = async ({ mode }) => {
1571
1576
  this.options.onDisplayModeChange?.(mode);
1572
1577
  const result = { mode };
1573
- console.log(`%c[MCP ↓]%c host → app: %crequestDisplayMode result`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", result);
1578
+ debugLog(`%c[MCP ↓]%c host → app: %crequestDisplayMode result`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", result);
1574
1579
  return result;
1575
1580
  };
1576
1581
  this.bridge.onupdatemodelcontext = async ({ content, structuredContent }) => {
1577
1582
  this.options.onUpdateModelContext?.(content ?? [], structuredContent);
1578
1583
  const ack = {};
1579
- console.log(`%c[MCP ↓]%c host → app: %cupdateModelContext ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1584
+ debugLog(`%c[MCP ↓]%c host → app: %cupdateModelContext ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1580
1585
  return ack;
1581
1586
  };
1582
1587
  this.bridge.onsizechange = (params) => {
@@ -1600,18 +1605,18 @@ var McpAppHost = class {
1600
1605
  type: "text",
1601
1606
  text: `[Inspector] Tool "${params.name}" called (no handler configured)`
1602
1607
  }] };
1603
- console.log(`%c[MCP ↓]%c host → app: %ccallServerTool result(${params.name})`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", result);
1608
+ debugLog(`%c[MCP ↓]%c host → app: %ccallServerTool result(${params.name})`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", result);
1604
1609
  return result;
1605
1610
  };
1606
1611
  this.bridge.ondownloadfile = async ({ contents }) => {
1607
1612
  if (this.options.onDownloadFile) this.options.onDownloadFile(contents);
1608
1613
  const ack = {};
1609
- console.log(`%c[MCP ↓]%c host → app: %cdownloadFile ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1614
+ debugLog(`%c[MCP ↓]%c host → app: %cdownloadFile ack`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", ack);
1610
1615
  return ack;
1611
1616
  };
1612
1617
  this.bridge.onrequestteardown = () => {
1613
1618
  if (this.options.onRequestTeardown) this.options.onRequestTeardown();
1614
- else console.log("[MCP App] requestTeardown (app requested close)");
1619
+ else debugLog("[MCP App] requestTeardown (app requested close)");
1615
1620
  };
1616
1621
  let sandboxReadyFired = false;
1617
1622
  this.bridge.onsandboxready = () => {
@@ -1632,8 +1637,7 @@ var McpAppHost = class {
1632
1637
  if (!data || typeof data !== "object") return;
1633
1638
  const method = data.method;
1634
1639
  if (method?.startsWith("sunpeak/") || method === "ui/notifications/sandbox-proxy-ready") return;
1635
- const label = method ?? (data.id != null ? `response #${data.id}` : "unknown");
1636
- console.log(`%c[MCP ↑]%c app → host: %c${label}`, "color:#6ee7b7", "color:inherit", "color:#93c5fd", data);
1640
+ debugLog(`%c[MCP ↑]%c app → host: %c${method ?? (data.id != null ? `response #${data.id}` : "unknown")}`, "color:#6ee7b7", "color:inherit", "color:#93c5fd", data);
1637
1641
  };
1638
1642
  window.addEventListener("message", this._messageListener);
1639
1643
  const transport = new z(contentWindow, contentWindow);
@@ -1688,7 +1692,7 @@ var McpAppHost = class {
1688
1692
  * to commit its DOM before firing onDisplayModeReady.
1689
1693
  */
1690
1694
  setHostContext(context) {
1691
- console.log(`%c[MCP ↓]%c host → app: %csetHostContext`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", context);
1695
+ debugLog(`%c[MCP ↓]%c host → app: %csetHostContext`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", context);
1692
1696
  this.bridge.setHostContext(context);
1693
1697
  const currentMode = context.displayMode;
1694
1698
  if (currentMode && currentMode !== this._prevDisplayMode) {
@@ -1705,7 +1709,7 @@ var McpAppHost = class {
1705
1709
  */
1706
1710
  sendToolInput(args) {
1707
1711
  const params = { arguments: args };
1708
- console.log(`%c[MCP ↓]%c host → app: %csendToolInput`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", params);
1712
+ debugLog(`%c[MCP ↓]%c host → app: %csendToolInput`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", params);
1709
1713
  if (this._initialized) this.bridge.sendToolInput(params);
1710
1714
  else this._pendingToolInput = params;
1711
1715
  }
@@ -1714,7 +1718,7 @@ var McpAppHost = class {
1714
1718
  * If the app hasn't initialized yet, the result is queued.
1715
1719
  */
1716
1720
  sendToolResult(result) {
1717
- console.log(`%c[MCP ↓]%c host → app: %csendToolResult`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", result);
1721
+ debugLog(`%c[MCP ↓]%c host → app: %csendToolResult`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", result);
1718
1722
  if (this._initialized) this.bridge.sendToolResult(result);
1719
1723
  else this._pendingToolResult = result;
1720
1724
  }
@@ -1724,7 +1728,7 @@ var McpAppHost = class {
1724
1728
  */
1725
1729
  sendToolInputPartial(args) {
1726
1730
  const params = { arguments: args };
1727
- console.log(`%c[MCP ↓]%c host → app: %csendToolInputPartial`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", params);
1731
+ debugLog(`%c[MCP ↓]%c host → app: %csendToolInputPartial`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", params);
1728
1732
  if (this._initialized) this.bridge.sendToolInputPartial(params);
1729
1733
  }
1730
1734
  /**
@@ -1733,7 +1737,7 @@ var McpAppHost = class {
1733
1737
  */
1734
1738
  sendToolCancelled(reason) {
1735
1739
  const params = reason ? { reason } : {};
1736
- console.log(`%c[MCP ↓]%c host → app: %csendToolCancelled`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", params);
1740
+ debugLog(`%c[MCP ↓]%c host → app: %csendToolCancelled`, "color:#f9a8d4", "color:inherit", "color:#93c5fd", params);
1737
1741
  if (this._initialized) this.bridge.sendToolCancelled(params);
1738
1742
  }
1739
1743
  /**
@@ -2491,6 +2495,8 @@ var DEFAULT_PLATFORM = "desktop";
2491
2495
  * - safeAreaTop, safeAreaBottom, safeAreaLeft, safeAreaRight: number
2492
2496
  * - host: 'chatgpt' | 'claude'
2493
2497
  * - tool: tool name (e.g., 'show-albums') — selects tool without mock data
2498
+ * - toolInput: JSON-encoded tool arguments (overrides simulation fixture data)
2499
+ * - autoRun: 'true' — call the tool on load when no fixture data exists (set by test fixtures)
2494
2500
  * - prodResources: 'true' | 'false'
2495
2501
  */
2496
2502
  function parseUrlParams() {
@@ -2498,6 +2504,11 @@ function parseUrlParams() {
2498
2504
  const params = new URLSearchParams(window.location.search);
2499
2505
  const simulation = params.get("simulation") ?? void 0;
2500
2506
  const tool = params.get("tool") ?? void 0;
2507
+ const toolInputParam = params.get("toolInput");
2508
+ let toolInput;
2509
+ if (toolInputParam) try {
2510
+ toolInput = JSON.parse(toolInputParam);
2511
+ } catch {}
2501
2512
  const theme = params.get("theme");
2502
2513
  const displayMode = params.get("displayMode");
2503
2514
  const locale = params.get("locale");
@@ -2535,6 +2546,7 @@ function parseUrlParams() {
2535
2546
  return {
2536
2547
  simulation,
2537
2548
  tool,
2549
+ toolInput,
2538
2550
  theme: theme ?? void 0,
2539
2551
  displayMode: displayMode ?? void 0,
2540
2552
  locale: locale ?? void 0,
@@ -2654,7 +2666,7 @@ function useInspectorState({ simulations, defaultHost = "chatgpt" }) {
2654
2666
  safeAreaInsets,
2655
2667
  containerDimensions
2656
2668
  ]);
2657
- const [toolInput, setToolInput] = useState(() => selectedSim?.toolInput ?? {});
2669
+ const [toolInput, setToolInput] = useState(() => urlParams.toolInput ?? selectedSim?.toolInput ?? {});
2658
2670
  const [toolResult, setToolResult] = useState(() => selectedSim?.toolResult);
2659
2671
  const [toolInputJson, setToolInputJson] = useState(() => JSON.stringify(toolInput, null, 2));
2660
2672
  const [toolResultJson, setToolResultJson] = useState(() => JSON.stringify(toolResult ?? null, null, 2));
@@ -2665,7 +2677,7 @@ function useInspectorState({ simulations, defaultHost = "chatgpt" }) {
2665
2677
  const [toolResultError, setToolResultError] = useState("");
2666
2678
  const [modelContextError, setModelContextError] = useState("");
2667
2679
  useEffect(() => {
2668
- const newInput = selectedSim?.toolInput ?? {};
2680
+ const newInput = urlParams.toolInput ?? selectedSim?.toolInput ?? {};
2669
2681
  const newResult = selectedSim?.toolResult ?? void 0;
2670
2682
  setToolInput(newInput);
2671
2683
  setToolResult(newResult);
@@ -3341,13 +3353,15 @@ function Inspector({ children, simulations: initialSimulations = {}, appName = "
3341
3353
  if (typeof window === "undefined") return {
3342
3354
  tool: null,
3343
3355
  simulation: null,
3344
- noMockData: false
3356
+ noMockData: false,
3357
+ autoRun: false
3345
3358
  };
3346
3359
  const params = new URLSearchParams(window.location.search);
3347
3360
  return {
3348
3361
  tool: params.get("tool"),
3349
3362
  simulation: params.get("simulation"),
3350
- noMockData: false
3363
+ noMockData: false,
3364
+ autoRun: params.get("autoRun") === "true"
3351
3365
  };
3352
3366
  }, []);
3353
3367
  const [selectedToolName, setSelectedToolName] = React.useState(() => {
@@ -3623,6 +3637,19 @@ function Inspector({ children, simulations: initialSimulations = {}, appName = "
3623
3637
  effectiveSimulationName,
3624
3638
  state
3625
3639
  ]);
3640
+ const autoRunFired = React.useRef(false);
3641
+ React.useEffect(() => {
3642
+ if (initUrlParams.autoRun && !autoRunFired.current && activeSimulationName === null && (onCallTool || onCallToolDirect)) {
3643
+ autoRunFired.current = true;
3644
+ handleRun();
3645
+ }
3646
+ }, [
3647
+ initUrlParams.autoRun,
3648
+ activeSimulationName,
3649
+ onCallTool,
3650
+ onCallToolDirect,
3651
+ handleRun
3652
+ ]);
3626
3653
  const activeShell = getHostShell(state.activeHost);
3627
3654
  const registeredHosts = getRegisteredHosts();
3628
3655
  const ShellConversation = activeShell?.Conversation;
@@ -3877,10 +3904,10 @@ function Inspector({ children, simulations: initialSimulations = {}, appName = "
3877
3904
  children: conversationContent
3878
3905
  })
3879
3906
  });
3880
- return /* @__PURE__ */ jsx(ThemeProvider, {
3907
+ return /* @__PURE__ */ jsxs(ThemeProvider, {
3881
3908
  theme: state.theme,
3882
3909
  applyTheme,
3883
- children: /* @__PURE__ */ jsx(SimpleSidebar, {
3910
+ children: [/* @__PURE__ */ jsx(SimpleSidebar, {
3884
3911
  controls: /* @__PURE__ */ jsxs("div", {
3885
3912
  className: "space-y-1",
3886
3913
  children: [
@@ -4410,10 +4437,17 @@ function Inspector({ children, simulations: initialSimulations = {}, appName = "
4410
4437
  ]
4411
4438
  }),
4412
4439
  children: conversationContent
4413
- })
4440
+ }), /* @__PURE__ */ jsx("script", {
4441
+ type: "application/json",
4442
+ id: "__tool-result",
4443
+ dangerouslySetInnerHTML: { __html: JSON.stringify(state.toolResult ? {
4444
+ ...state.toolResult,
4445
+ source: activeSimulationName ? "fixture" : "server"
4446
+ } : null).replace(/</g, "\\u003c") }
4447
+ })]
4414
4448
  });
4415
4449
  }
4416
4450
  //#endregion
4417
4451
  export { DEFAULT_STYLE_VARIABLES as S, McpAppHost as _, SidebarControl as a, getRegisteredHosts as b, SidebarTextarea as c, ThemeProvider as d, useThemeContext as f, extractResourceCSP as g, IframeResource as h, SidebarCollapsibleControl as i, SidebarToggle as l, useInspectorState as m, resolveServerToolResult as n, SidebarInput as o, useMcpConnection as p, SidebarCheckbox as r, SidebarSelect as s, Inspector as t, SimpleSidebar as u, SCREEN_WIDTHS as v, registerHostShell as x, getHostShell as y };
4418
4452
 
4419
- //# sourceMappingURL=inspector-D5DckQuU.js.map
4453
+ //# sourceMappingURL=inspector-BBDa5yCm.js.map