diff --git a/.gitignore b/.gitignore index 0f4928e..3f9579f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,5 +2,6 @@ node_modules server/build client/dist +client/coverage client/tsconfig.app.tsbuildinfo client/tsconfig.node.tsbuildinfo diff --git a/client/coverage/base.css b/client/coverage/base.css deleted file mode 100644 index f418035..0000000 --- a/client/coverage/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/client/coverage/block-navigation.js b/client/coverage/block-navigation.js deleted file mode 100644 index cc12130..0000000 --- a/client/coverage/block-navigation.js +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } - - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/client/coverage/client/bin/cli.js.html b/client/coverage/client/bin/cli.js.html deleted file mode 100644 index 29aaeb3..0000000 --- a/client/coverage/client/bin/cli.js.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - Code coverage report for client/bin/cli.js - - - - - - - - - -
-
-

All files / client/bin cli.js

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
#!/usr/bin/env node
-
-import { join, dirname } from "path";
-import { fileURLToPath } from "url";
-import handler from "serve-handler";
-import http from "http";
-
-const __dirname = dirname(fileURLToPath(import.meta.url));
-const distPath = join(__dirname, "../dist");
-
-const server = http.createServer((request, response) => {
-  return handler(request, response, { public: distPath });
-});
-
-const port = process.env.PORT || 5173;
-server.listen(port, () => {});
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/bin/index.html b/client/coverage/client/bin/index.html deleted file mode 100644 index a2fea79..0000000 --- a/client/coverage/client/bin/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for client/bin - - - - - - - - - -
-
-

All files client/bin

-
- -
- 0% - Statements - 0/16 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
cli.js -
-
0%0/160%0/10%0/10%0/16
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/index.html b/client/coverage/client/index.html deleted file mode 100644 index 0aa7351..0000000 --- a/client/coverage/client/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for client - - - - - - - - - -
-
-

All files client

-
- -
- 0% - Statements - 0/64 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/64 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
postcss.config.js -
-
0%0/60%0/10%0/10%0/6
tailwind.config.js -
-
0%0/580%0/10%0/10%0/58
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/postcss.config.js.html b/client/coverage/client/postcss.config.js.html deleted file mode 100644 index f8bd75c..0000000 --- a/client/coverage/client/postcss.config.js.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for client/postcss.config.js - - - - - - - - - -
-
-

All files / client postcss.config.js

-
- -
- 0% - Statements - 0/6 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/6 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7  -  -  -  -  -  - 
export default {
-  plugins: {
-    tailwindcss: {},
-    autoprefixer: {},
-  },
-};
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/App.tsx.html b/client/coverage/client/src/App.tsx.html deleted file mode 100644 index af989bc..0000000 --- a/client/coverage/client/src/App.tsx.html +++ /dev/null @@ -1,1693 +0,0 @@ - - - - - - Code coverage report for client/src/App.tsx - - - - - - - - - -
-
-

All files / client/src App.tsx

-
- -
- 60.75% - Statements - 274/451 -
- - -
- 89.28% - Branches - 25/28 -
- - -
- 6.06% - Functions - 2/33 -
- - -
- 60.75% - Lines - 274/451 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451 -452 -453 -454 -455 -456 -457 -458 -459 -460 -461 -462 -463 -464 -465 -466 -467 -468 -469 -470 -471 -472 -473 -474 -475 -476 -477 -478 -479 -480 -481 -482 -483 -484 -485 -486 -487 -488 -489 -490 -491 -492 -493 -494 -495 -496 -497 -498 -499 -500 -501 -502 -503 -504 -505 -506 -507 -508 -509 -510 -511 -512 -513 -514 -515 -516 -517 -518 -519 -520 -521 -522 -523 -524 -525 -526 -527 -528 -529 -530 -531 -532 -533 -534 -535 -536 -5371x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -1x -  -  -  -1x -  -  -  -  -  -  -  -1x -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -1x -1x -  -1x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -7x -16x -16x -7x -16x -  -16x -16x -16x -16x -  -16x -16x -16x -  -16x -  -  -  -  -  -  -16x -16x -16x -  -16x -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -16x -16x -16x -16x -16x -16x -  -16x -16x -  -16x -16x -  -16x -16x -16x -  -16x -16x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -  -16x -  -  -16x -1x -1x -1x -1x -1x -16x -16x -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -10x -16x -  -16x -8x -16x -  -16x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -7x -  -7x -16x -  -16x -7x -16x -  -16x -7x -7x -7x -16x -  -16x -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -9x -9x -9x -  -9x -7x -5x -5x -  -9x -9x -  -9x -9x -9x -  -9x -9x -9x -  -9x -9x -9x -  -9x -9x -9x -  -9x -9x -9x -  -9x -1x -1x -1x -  -9x -9x -9x -  -9x -9x -  -9x -9x -5x -5x -  -5x -5x -  -4x -4x -4x -4x -4x -  -  -  -4x -  -  -  -4x -  -  -  -4x -  -  -  -4x -  -  -  -4x -4x -  -  -  -4x -4x -4x -4x -4x -4x -4x -4x -  -  -  -4x -  -  -  -4x -  -  -  -4x -4x -  -  -  -4x -4x -4x -4x -4x -4x -4x -  -  -  -4x -  -  -  -4x -  -  -  -4x -4x -  -  -  -  -4x -4x -4x -4x -4x -4x -4x -  -  -  -  -  -  -  -4x -4x -4x -4x -4x -4x -4x -4x -4x -4x -4x -4x -  -9x -9x -  -7x -7x -  -7x -7x -  -16x -16x -16x -16x -16x -16x -  -16x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -16x -  -1x - 
import { useDraggablePane } from "./lib/hooks/useDraggablePane";
-import { useConnection } from "./lib/hooks/useConnection";
-import {
-  ClientRequest,
-  CompatibilityCallToolResult,
-  CompatibilityCallToolResultSchema,
-  CreateMessageResult,
-  EmptyResultSchema,
-  GetPromptResultSchema,
-  ListPromptsResultSchema,
-  ListResourcesResultSchema,
-  ListResourceTemplatesResultSchema,
-  ReadResourceResultSchema,
-  ListToolsResultSchema,
-  Resource,
-  ResourceTemplate,
-  Root,
-  ServerNotification,
-  Tool
-} from "@modelcontextprotocol/sdk/types.js";
-import { useEffect, useRef, useState } from "react";
- 
-import { StdErrNotification } from "./lib/notificationTypes";
- 
-import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs";
-import {
-  Bell,
-  Files,
-  FolderTree,
-  Hammer,
-  Hash,
-  MessageSquare,
-} from "lucide-react";
- 
-import { z } from "zod";
-import "./App.css";
-import ConsoleTab from "./components/ConsoleTab";
-import HistoryAndNotifications from "./components/History";
-import PingTab from "./components/PingTab";
-import PromptsTab, { Prompt } from "./components/PromptsTab";
-import ResourcesTab from "./components/ResourcesTab";
-import RootsTab from "./components/RootsTab";
-import SamplingTab, { PendingRequest } from "./components/SamplingTab";
-import Sidebar from "./components/Sidebar";
-import ToolsTab from "./components/ToolsTab";
- 
-const params = new URLSearchParams(window.location.search);
-const PROXY_PORT = params.get("proxyPort") ?? "3000";
-const PROXY_SERVER_URL = `http://localhost:${PROXY_PORT}`;
- 
-const App = () => {
-  const [resources, setResources] = useState<Resource[]>([]);
-  const [resourceTemplates, setResourceTemplates] = useState<
-    ResourceTemplate[]
-  >([]);
-  const [resourceContent, setResourceContent] = useState<string>("");
-  const [prompts, setPrompts] = useState<Prompt[]>([]);
-  const [promptContent, setPromptContent] = useState<string>("");
-  const [tools, setTools] = useState<Tool[]>([]);
-  const [toolResult, setToolResult] =
-    useState<CompatibilityCallToolResult | null>(null);
-  const [errors, setErrors] = useState<Record<string, string | null>>({
-    resources: null,
-    prompts: null,
-    tools: null,
-  });
-  const [command, setCommand] = useState<string>(() => {
-    return localStorage.getItem("lastCommand") || "mcp-server-everything";
-  });
-  const [args, setArgs] = useState<string>(() => {
-    return localStorage.getItem("lastArgs") || "";
-  });
- 
-  const [sseUrl, setSseUrl] = useState<string>("http://localhost:3001/sse");
-  const [transportType, setTransportType] = useState<"stdio" | "sse">("stdio");
-  const [notifications, setNotifications] = useState<ServerNotification[]>([]);
-  const [stdErrNotifications, setStdErrNotifications] = useState<
-    StdErrNotification[]
-  >([]);
-  const [roots, setRoots] = useState<Root[]>([]);
-  const [env, setEnv] = useState<Record<string, string>>({});
- 
-  const [pendingSampleRequests, setPendingSampleRequests] = useState<
-    Array<
-      PendingRequest & {
-        resolve: (result: CreateMessageResult) => void;
-        reject: (error: Error) => void;
-      }
-    >
-  >([]);
-  const nextRequestId = useRef(0);
-  const rootsRef = useRef<Root[]>([]);
- 
-  const handleApproveSampling = (id: number, result: CreateMessageResult) => {
-    setPendingSampleRequests((prev) => {
-      const request = prev.find((r) => r.id === id);
-      request?.resolve(result);
-      return prev.filter((r) => r.id !== id);
-    });
-  };
- 
-  const handleRejectSampling = (id: number) => {
-    setPendingSampleRequests((prev) => {
-      const request = prev.find((r) => r.id === id);
-      request?.reject(new Error("Sampling request rejected"));
-      return prev.filter((r) => r.id !== id);
-    });
-  };
- 
-  const [selectedResource, setSelectedResource] = useState<Resource | null>(
-    null,
-  );
-  const [selectedPrompt, setSelectedPrompt] = useState<Prompt | null>(null);
-  const [selectedTool, setSelectedTool] = useState<Tool | null>(null);
-  const [nextResourceCursor, setNextResourceCursor] = useState<
-    string | undefined
-  >();
-  const [nextResourceTemplateCursor, setNextResourceTemplateCursor] = useState<
-    string | undefined
-  >();
-  const [nextPromptCursor, setNextPromptCursor] = useState<
-    string | undefined
-  >();
-  const [nextToolCursor, setNextToolCursor] = useState<string | undefined>();
-  const progressTokenRef = useRef(0);
- 
-  const {
-    height: historyPaneHeight,
-    handleDragStart
-  } = useDraggablePane(300);
- 
-  const {
-    connectionStatus,
-    serverCapabilities,
-    mcpClient,
-    requestHistory,
-    makeRequest: makeConnectionRequest,
-    sendNotification,
-    connect: connectMcpServer
-  } = useConnection({
-    transportType,
-    command,
-    args,
-    sseUrl,
-    env,
-    proxyServerUrl: PROXY_SERVER_URL,
-    onNotification: (notification) => {
-      setNotifications(prev => [...prev, notification as ServerNotification]);
-    },
-    onStdErrNotification: (notification) => {
-      setStdErrNotifications(prev => [...prev, notification as StdErrNotification]);
-    },
-    onPendingRequest: (request, resolve, reject) => {
-      setPendingSampleRequests(prev => [
-        ...prev,
-        { id: nextRequestId.current++, request, resolve, reject }
-      ]);
-    },
-    getRoots: () => rootsRef.current
-  });
- 
-  const makeRequest = async <T extends z.ZodType>(
-    request: ClientRequest,
-    schema: T,
-    tabKey?: keyof typeof errors,
-  ) => {
-    try {
-      const response = await makeConnectionRequest(request, schema);
-      if (tabKey !== undefined) {
-        clearError(tabKey);
-      }
-      return response;
-    } catch (e) {
-      const errorString = (e as Error).message ?? String(e);
-      if (tabKey !== undefined) {
-        setErrors((prev) => ({
-          ...prev,
-          [tabKey]: errorString,
-        }));
-      }
-      throw e;
-    }
-  };
- 
-  useEffect(() => {
-    localStorage.setItem("lastCommand", command);
-  }, [command]);
- 
-  useEffect(() => {
-    localStorage.setItem("lastArgs", args);
-  }, [args]);
- 
-  useEffect(() => {
-    fetch(`${PROXY_SERVER_URL}/config`)
-      .then((response) => response.json())
-      .then((data) => {
-        setEnv(data.defaultEnvironment);
-        if (data.defaultCommand) {
-          setCommand(data.defaultCommand);
-        }
-        if (data.defaultArgs) {
-          setArgs(data.defaultArgs);
-        }
-      })
-      .catch((error) =>
-        console.error("Error fetching default environment:", error),
-      );
-  }, []);
- 
-  useEffect(() => {
-    rootsRef.current = roots;
-  }, [roots]);
- 
-  useEffect(() => {
-    if (!window.location.hash) {
-      window.location.hash = "resources";
-    }
-  }, []);
- 
-  const clearError = (tabKey: keyof typeof errors) => {
-    setErrors((prev) => ({ ...prev, [tabKey]: null }));
-  };
- 
-  const listResources = async () => {
-    const response = await makeRequest(
-      {
-        method: "resources/list" as const,
-        params: nextResourceCursor ? { cursor: nextResourceCursor } : {},
-      },
-      ListResourcesResultSchema,
-      "resources",
-    );
-    setResources(resources.concat(response.resources ?? []));
-    setNextResourceCursor(response.nextCursor);
-  };
- 
-  const listResourceTemplates = async () => {
-    const response = await makeRequest(
-      {
-        method: "resources/templates/list" as const,
-        params: nextResourceTemplateCursor
-          ? { cursor: nextResourceTemplateCursor }
-          : {},
-      },
-      ListResourceTemplatesResultSchema,
-      "resources",
-    );
-    setResourceTemplates(
-      resourceTemplates.concat(response.resourceTemplates ?? []),
-    );
-    setNextResourceTemplateCursor(response.nextCursor);
-  };
- 
-  const readResource = async (uri: string) => {
-    const response = await makeRequest(
-      {
-        method: "resources/read" as const,
-        params: { uri },
-      },
-      ReadResourceResultSchema,
-      "resources",
-    );
-    setResourceContent(JSON.stringify(response, null, 2));
-  };
- 
-  const listPrompts = async () => {
-    const response = await makeRequest(
-      {
-        method: "prompts/list" as const,
-        params: nextPromptCursor ? { cursor: nextPromptCursor } : {},
-      },
-      ListPromptsResultSchema,
-      "prompts",
-    );
-    setPrompts(response.prompts);
-    setNextPromptCursor(response.nextCursor);
-  };
- 
-  const getPrompt = async (name: string, args: Record<string, string> = {}) => {
-    const response = await makeRequest(
-      {
-        method: "prompts/get" as const,
-        params: { name, arguments: args },
-      },
-      GetPromptResultSchema,
-      "prompts",
-    );
-    setPromptContent(JSON.stringify(response, null, 2));
-  };
- 
-  const listTools = async () => {
-    const response = await makeRequest(
-      {
-        method: "tools/list" as const,
-        params: nextToolCursor ? { cursor: nextToolCursor } : {},
-      },
-      ListToolsResultSchema,
-      "tools",
-    );
-    setTools(response.tools);
-    setNextToolCursor(response.nextCursor);
-  };
- 
-  const callTool = async (name: string, params: Record<string, unknown>) => {
-    const response = await makeRequest(
-      {
-        method: "tools/call" as const,
-        params: {
-          name,
-          arguments: params,
-          _meta: {
-            progressToken: progressTokenRef.current++,
-          },
-        },
-      },
-      CompatibilityCallToolResultSchema,
-      "tools",
-    );
-    setToolResult(response);
-  };
- 
-  const handleRootsChange = async () => {
-    await sendNotification({ method: "notifications/roots/list_changed" });
-  };
- 
-  return (
-    <div className="flex h-screen bg-background">
-      <Sidebar
-        connectionStatus={connectionStatus}
-        transportType={transportType}
-        setTransportType={setTransportType}
-        command={command}
-        setCommand={setCommand}
-        args={args}
-        setArgs={setArgs}
-        sseUrl={sseUrl}
-        setSseUrl={setSseUrl}
-        env={env}
-        setEnv={setEnv}
-        onConnect={connectMcpServer}
-        stdErrNotifications={stdErrNotifications}
-      />
-      <div className="flex-1 flex flex-col overflow-hidden">
-        <div className="flex-1 overflow-auto">
-          {mcpClient ? (
-            <Tabs
-              defaultValue={
-                Object.keys(serverCapabilities ?? {}).includes(window.location.hash.slice(1)) ?
-                window.location.hash.slice(1) :
-                serverCapabilities?.resources ? "resources" :
-                serverCapabilities?.prompts ? "prompts" :
-                serverCapabilities?.tools ? "tools" :
-                "ping"
-              }
-              className="w-full p-4"
-              onValueChange={(value) => (window.location.hash = value)}
-            >
-              <TabsList className="mb-4 p-0">
-                <TabsTrigger value="resources" disabled={!serverCapabilities?.resources}>
-                  <Files className="w-4 h-4 mr-2" />
-                  Resources
-                </TabsTrigger>
-                <TabsTrigger value="prompts" disabled={!serverCapabilities?.prompts}>
-                  <MessageSquare className="w-4 h-4 mr-2" />
-                  Prompts
-                </TabsTrigger>
-                <TabsTrigger value="tools" disabled={!serverCapabilities?.tools}>
-                  <Hammer className="w-4 h-4 mr-2" />
-                  Tools
-                </TabsTrigger>
-                <TabsTrigger value="ping">
-                  <Bell className="w-4 h-4 mr-2" />
-                  Ping
-                </TabsTrigger>
-                <TabsTrigger value="sampling" className="relative">
-                  <Hash className="w-4 h-4 mr-2" />
-                  Sampling
-                  {pendingSampleRequests.length > 0 && (
-                    <span className="absolute -top-1 -right-1 bg-red-500 text-white text-xs rounded-full h-4 w-4 flex items-center justify-center">
-                      {pendingSampleRequests.length}
-                    </span>
-                  )}
-                </TabsTrigger>
-                <TabsTrigger value="roots">
-                  <FolderTree className="w-4 h-4 mr-2" />
-                  Roots
-                </TabsTrigger>
-              </TabsList>
- 
-              <div className="w-full">
-                {!serverCapabilities?.resources && !serverCapabilities?.prompts && !serverCapabilities?.tools ? (
-                  <div className="flex items-center justify-center p-4">
-                    <p className="text-lg text-gray-500">
-                      The connected server does not support any MCP capabilities
-                    </p>
-                  </div>
-                ) : (
-                  <>
-                    <ResourcesTab
-                      resources={resources}
-                      resourceTemplates={resourceTemplates}
-                      listResources={() => {
-                        clearError("resources");
-                        listResources();
-                      }}
-                      clearResources={() => {
-                        setResources([]);
-                        setNextResourceCursor(undefined);
-                      }}
-                      listResourceTemplates={() => {
-                        clearError("resources");
-                        listResourceTemplates();
-                      }}
-                      clearResourceTemplates={() => {
-                        setResourceTemplates([]);
-                        setNextResourceTemplateCursor(undefined);
-                      }}
-                      readResource={(uri) => {
-                        clearError("resources");
-                        readResource(uri);
-                      }}
-                      selectedResource={selectedResource}
-                      setSelectedResource={(resource) => {
-                        clearError("resources");
-                        setSelectedResource(resource);
-                      }}
-                      resourceContent={resourceContent}
-                      nextCursor={nextResourceCursor}
-                      nextTemplateCursor={nextResourceTemplateCursor}
-                      error={errors.resources}
-                    />
-                    <PromptsTab
-                      prompts={prompts}
-                      listPrompts={() => {
-                        clearError("prompts");
-                        listPrompts();
-                      }}
-                      clearPrompts={() => {
-                        setPrompts([]);
-                        setNextPromptCursor(undefined);
-                      }}
-                      getPrompt={(name, args) => {
-                        clearError("prompts");
-                        getPrompt(name, args);
-                      }}
-                      selectedPrompt={selectedPrompt}
-                      setSelectedPrompt={(prompt) => {
-                        clearError("prompts");
-                        setSelectedPrompt(prompt);
-                      }}
-                      promptContent={promptContent}
-                      nextCursor={nextPromptCursor}
-                      error={errors.prompts}
-                    />
-                    <ToolsTab
-                      tools={tools}
-                      listTools={() => {
-                        clearError("tools");
-                        listTools();
-                      }}
-                      clearTools={() => {
-                        setTools([]);
-                        setNextToolCursor(undefined);
-                      }}
-                      callTool={(name, params) => {
-                        clearError("tools");
-                        callTool(name, params);
-                      }}
-                      selectedTool={selectedTool}
-                      setSelectedTool={(tool) => {
-                        clearError("tools");
-                        setSelectedTool(tool);
-                        setToolResult(null);
-                      }}
-                      toolResult={toolResult}
-                      nextCursor={nextToolCursor}
-                      error={errors.tools}
-                    />
-                    <ConsoleTab />
-                    <PingTab
-                      onPingClick={() => {
-                        void makeRequest(
-                          {
-                            method: "ping" as const,
-                          },
-                          EmptyResultSchema,
-                        );
-                      }}
-                    />
-                    <SamplingTab
-                      pendingRequests={pendingSampleRequests}
-                      onApprove={handleApproveSampling}
-                      onReject={handleRejectSampling}
-                    />
-                    <RootsTab
-                      roots={roots}
-                      setRoots={setRoots}
-                      onRootsChange={handleRootsChange}
-                    />
-                  </>
-                )}
-              </div>
-            </Tabs>
-          ) : (
-            <div className="flex items-center justify-center h-full">
-              <p className="text-lg text-gray-500">
-                Connect to an MCP server to start inspecting
-              </p>
-            </div>
-          )}
-        </div>
-        <div
-          className="relative border-t border-border"
-          style={{
-            height: `${historyPaneHeight}px`,
-          }}
-        >
-          <div
-            className="absolute w-full h-4 -top-2 cursor-row-resize flex items-center justify-center hover:bg-accent/50"
-            onMouseDown={handleDragStart}
-          >
-            <div className="w-8 h-1 rounded-full bg-border" />
-          </div>
-          <div className="h-full overflow-auto">
-            <HistoryAndNotifications
-              requestHistory={requestHistory}
-              serverNotifications={notifications}
-            />
-          </div>
-        </div>
-      </div>
-    </div>
-  );
-};
- 
-export default App;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ConsoleTab.tsx.html b/client/coverage/client/src/components/ConsoleTab.tsx.html deleted file mode 100644 index dc98c61..0000000 --- a/client/coverage/client/src/components/ConsoleTab.tsx.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - Code coverage report for client/src/components/ConsoleTab.tsx - - - - - - - - - -
-
-

All files / client/src/components ConsoleTab.tsx

-
- -
- 100% - Statements - 8/8 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 8/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -131x -  -1x -4x -4x -4x -  -4x -4x -  -  -1x - 
import { TabsContent } from "@/components/ui/tabs";
- 
-const ConsoleTab = () => (
-  <TabsContent value="console" className="h-96">
-    <div className="bg-gray-900 text-gray-100 p-4 rounded-lg h-full font-mono text-sm overflow-auto">
-      <div className="opacity-50">Welcome to MCP Client Console</div>
-      {/* Console output would go here */}
-    </div>
-  </TabsContent>
-);
- 
-export default ConsoleTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/History.tsx.html b/client/coverage/client/src/components/History.tsx.html deleted file mode 100644 index 06da80b..0000000 --- a/client/coverage/client/src/components/History.tsx.html +++ /dev/null @@ -1,574 +0,0 @@ - - - - - - Code coverage report for client/src/components/History.tsx - - - - - - - - - -
-
-

All files / client/src/components History.tsx

-
- -
- 97.74% - Statements - 130/133 -
- - -
- 100% - Branches - 19/19 -
- - -
- 55.55% - Functions - 5/9 -
- - -
- 97.74% - Lines - 130/133 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -1641x -1x -1x -  -1x -21x -21x -21x -  -  -21x -21x -  -21x -21x -  -21x -  -21x -1x -1x -  -21x -1x -1x -  -21x -  -  -  -21x -21x -21x -21x -21x -18x -  -3x -3x -3x -3x -3x -6x -6x -6x -  -6x -6x -6x -1x -  -  -6x -6x -6x -6x -6x -6x -1x -5x -6x -6x -6x -1x -1x -1x -1x -  -1x -1x -1x -1x -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -1x -1x -1x -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -  -6x -3x -3x -  -21x -21x -21x -21x -19x -  -2x -2x -2x -2x -2x -4x -4x -4x -  -4x -4x -4x -  -4x -4x -4x -4x -4x -4x -4x -1x -1x -1x -  -1x -1x -1x -  -  -1x -  -1x -1x -1x -1x -1x -1x -1x -  -4x -2x -2x -  -21x -21x -  -21x -  -1x - 
import { ServerNotification } from "@modelcontextprotocol/sdk/types.js";
-import { Copy } from "lucide-react";
-import { useState } from "react";
- 
-const HistoryAndNotifications = ({
-  requestHistory,
-  serverNotifications,
-}: {
-  requestHistory: Array<{ request: string; response?: string }>;
-  serverNotifications: ServerNotification[];
-}) => {
-  const [expandedRequests, setExpandedRequests] = useState<{
-    [key: number]: boolean;
-  }>({});
-  const [expandedNotifications, setExpandedNotifications] = useState<{
-    [key: number]: boolean;
-  }>({});
- 
-  const toggleRequestExpansion = (index: number) => {
-    setExpandedRequests((prev) => ({ ...prev, [index]: !prev[index] }));
-  };
- 
-  const toggleNotificationExpansion = (index: number) => {
-    setExpandedNotifications((prev) => ({ ...prev, [index]: !prev[index] }));
-  };
- 
-  const copyToClipboard = (text: string) => {
-    navigator.clipboard.writeText(text);
-  };
- 
-  return (
-    <div className="bg-card overflow-hidden flex h-full">
-      <div className="flex-1 overflow-y-auto p-4 border-r">
-        <h2 className="text-lg font-semibold mb-4">History</h2>
-        {requestHistory.length === 0 ? (
-          <p className="text-sm text-gray-500 italic">No history yet</p>
-        ) : (
-          <ul className="space-y-3">
-            {requestHistory
-              .slice()
-              .reverse()
-              .map((request, index) => (
-                <li
-                  key={index}
-                  className="text-sm text-foreground bg-secondary p-2 rounded"
-                >
-                  <div
-                    className="flex justify-between items-center cursor-pointer"
-                    onClick={() =>
-                      toggleRequestExpansion(requestHistory.length - 1 - index)
-                    }
-                  >
-                    <span className="font-mono">
-                      {requestHistory.length - index}.{" "}
-                      {JSON.parse(request.request).method}
-                    </span>
-                    <span>
-                      {expandedRequests[requestHistory.length - 1 - index]
-                        ? "â–¼"
-                        : "â–¶"}
-                    </span>
-                  </div>
-                  {expandedRequests[requestHistory.length - 1 - index] && (
-                    <>
-                      <div className="mt-2">
-                        <div className="flex justify-between items-center mb-1">
-                          <span className="font-semibold text-blue-600">
-                            Request:
-                          </span>
-                          <button
-                            onClick={() => copyToClipboard(request.request)}
-                            className="text-blue-500 hover:text-blue-700"
-                          >
-                            <Copy size={16} />
-                          </button>
-                        </div>
-                        <pre className="whitespace-pre-wrap break-words bg-background p-2 rounded">
-                          {JSON.stringify(JSON.parse(request.request), null, 2)}
-                        </pre>
-                      </div>
-                      {request.response && (
-                        <div className="mt-2">
-                          <div className="flex justify-between items-center mb-1">
-                            <span className="font-semibold text-green-600">
-                              Response:
-                            </span>
-                            <button
-                              onClick={() => copyToClipboard(request.response!)}
-                              className="text-blue-500 hover:text-blue-700"
-                            >
-                              <Copy size={16} />
-                            </button>
-                          </div>
-                          <pre className="whitespace-pre-wrap break-words bg-background p-2 rounded">
-                            {JSON.stringify(
-                              JSON.parse(request.response),
-                              null,
-                              2,
-                            )}
-                          </pre>
-                        </div>
-                      )}
-                    </>
-                  )}
-                </li>
-              ))}
-          </ul>
-        )}
-      </div>
-      <div className="flex-1 overflow-y-auto p-4">
-        <h2 className="text-lg font-semibold mb-4">Server Notifications</h2>
-        {serverNotifications.length === 0 ? (
-          <p className="text-sm text-gray-500 italic">No notifications yet</p>
-        ) : (
-          <ul className="space-y-3">
-            {serverNotifications
-              .slice()
-              .reverse()
-              .map((notification, index) => (
-                <li
-                  key={index}
-                  className="text-sm text-foreground bg-secondary p-2 rounded"
-                >
-                  <div
-                    className="flex justify-between items-center cursor-pointer"
-                    onClick={() => toggleNotificationExpansion(index)}
-                  >
-                    <span className="font-mono">
-                      {serverNotifications.length - index}.{" "}
-                      {notification.method}
-                    </span>
-                    <span>{expandedNotifications[index] ? "â–¼" : "â–¶"}</span>
-                  </div>
-                  {expandedNotifications[index] && (
-                    <div className="mt-2">
-                      <div className="flex justify-between items-center mb-1">
-                        <span className="font-semibold text-purple-600">
-                          Details:
-                        </span>
-                        <button
-                          onClick={() =>
-                            copyToClipboard(JSON.stringify(notification))
-                          }
-                          className="text-blue-500 hover:text-blue-700"
-                        >
-                          <Copy size={16} />
-                        </button>
-                      </div>
-                      <pre className="whitespace-pre-wrap break-words bg-background p-2 rounded">
-                        {JSON.stringify(notification, null, 2)}
-                      </pre>
-                    </div>
-                  )}
-                </li>
-              ))}
-          </ul>
-        )}
-      </div>
-    </div>
-  );
-};
- 
-export default HistoryAndNotifications;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ListPane.tsx.html b/client/coverage/client/src/components/ListPane.tsx.html deleted file mode 100644 index f47cd82..0000000 --- a/client/coverage/client/src/components/ListPane.tsx.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - Code coverage report for client/src/components/ListPane.tsx - - - - - - - - - -
-
-

All files / client/src/components ListPane.tsx

-
- -
- 100% - Statements - 43/43 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 43/43 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -611x -  -  -  -  -  -  -  -  -  -  -  -  -1x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -44x -  -44x -44x -44x -44x -44x -44x -44x -44x -  -44x -44x -44x -74x -74x -74x -74x -  -74x -74x -44x -44x -44x -44x -  -  -1x - 
import { Button } from "./ui/button";
- 
-type ListPaneProps<T> = {
-  items: T[];
-  listItems: () => void;
-  clearItems: () => void;
-  setSelectedItem: (item: T) => void;
-  renderItem: (item: T) => React.ReactNode;
-  title: string;
-  buttonText: string;
-  isButtonDisabled?: boolean;
-};
- 
-const ListPane = <T extends object>({
-  items,
-  listItems,
-  clearItems,
-  setSelectedItem,
-  renderItem,
-  title,
-  buttonText,
-  isButtonDisabled,
-}: ListPaneProps<T>) => (
-  <div className="bg-card rounded-lg shadow">
-    <div className="p-4 border-b border-gray-200 dark:border-gray-700">
-      <h3 className="font-semibold dark:text-white">{title}</h3>
-    </div>
-    <div className="p-4">
-      <Button
-        variant="outline"
-        className="w-full mb-4"
-        onClick={listItems}
-        disabled={isButtonDisabled}
-      >
-        {buttonText}
-      </Button>
-      <Button
-        variant="outline"
-        className="w-full mb-4"
-        onClick={clearItems}
-        disabled={items.length === 0}
-      >
-        Clear
-      </Button>
-      <div className="space-y-2 overflow-y-auto max-h-96">
-        {items.map((item, index) => (
-          <div
-            key={index}
-            className="flex items-center p-2 rounded hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer"
-            onClick={() => setSelectedItem(item)}
-          >
-            {renderItem(item)}
-          </div>
-        ))}
-      </div>
-    </div>
-  </div>
-);
- 
-export default ListPane;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/PingTab.tsx.html b/client/coverage/client/src/components/PingTab.tsx.html deleted file mode 100644 index 018f37b..0000000 --- a/client/coverage/client/src/components/PingTab.tsx.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - Code coverage report for client/src/components/PingTab.tsx - - - - - - - - - -
-
-

All files / client/src/components PingTab.tsx

-
- -
- 100% - Statements - 16/16 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 16/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -221x -1x -  -1x -9x -9x -9x -9x -9x -9x -  -9x -  -9x -9x -9x -9x -  -9x -  -1x - 
import { TabsContent } from "@/components/ui/tabs";
-import { Button } from "@/components/ui/button";
- 
-const PingTab = ({ onPingClick }: { onPingClick: () => void }) => {
-  return (
-    <TabsContent value="ping" className="grid grid-cols-2 gap-4">
-      <div className="col-span-2 flex justify-center items-center">
-        <Button
-          onClick={onPingClick}
-          className="bg-gradient-to-r from-purple-500 to-pink-500 hover:from-purple-600 hover:to-pink-600 text-white font-bold py-6 px-12 rounded-full shadow-lg transform transition duration-300 hover:scale-110 focus:outline-none focus:ring-4 focus:ring-purple-300 animate-pulse"
-        >
-          <span className="text-3xl mr-2">🚀</span>
-          MEGA PING
-          <span className="text-3xl ml-2">💥</span>
-        </Button>
-      </div>
-    </TabsContent>
-  );
-};
- 
-export default PingTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/PromptsTab.tsx.html b/client/coverage/client/src/components/PromptsTab.tsx.html deleted file mode 100644 index 8bbe699..0000000 --- a/client/coverage/client/src/components/PromptsTab.tsx.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - Code coverage report for client/src/components/PromptsTab.tsx - - - - - - - - - -
-
-

All files / client/src/components PromptsTab.tsx

-
- -
- 97.11% - Statements - 101/104 -
- - -
- 94.11% - Branches - 16/17 -
- - -
- 83.33% - Functions - 5/6 -
- - -
- 97.11% - Lines - 101/104 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -1421x -1x -1x -1x -1x -1x -  -1x -1x -1x -  -  -  -  -  -  -  -  -  -  -  -1x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -  -  -  -  -  -  -  -  -10x -10x -  -10x -1x -1x -  -10x -1x -1x -1x -1x -  -10x -10x -10x -10x -10x -10x -10x -  -  -  -10x -12x -12x -12x -12x -  -10x -10x -10x -10x -  -10x -10x -10x -10x -10x -10x -10x -10x -1x -1x -1x -1x -1x -9x -4x -4x -4x -4x -4x -  -4x -8x -8x -8x -8x -8x -8x -8x -1x -  -8x -8x -8x -8x -8x -4x -  -8x -  -8x -4x -4x -  -4x -4x -1x -1x -1x -1x -1x -  -4x -  -5x -5x -  -5x -5x -  -10x -10x -10x -  -10x -  -1x - 
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
-import { Button } from "@/components/ui/button";
-import { Input } from "@/components/ui/input";
-import { Label } from "@/components/ui/label";
-import { TabsContent } from "@/components/ui/tabs";
-import { Textarea } from "@/components/ui/textarea";
-import { ListPromptsResult } from "@modelcontextprotocol/sdk/types.js";
-import { AlertCircle } from "lucide-react";
-import { useState } from "react";
-import ListPane from "./ListPane";
- 
-export type Prompt = {
-  name: string;
-  description?: string;
-  arguments?: {
-    name: string;
-    description?: string;
-    required?: boolean;
-  }[];
-};
- 
-const PromptsTab = ({
-  prompts,
-  listPrompts,
-  clearPrompts,
-  getPrompt,
-  selectedPrompt,
-  setSelectedPrompt,
-  promptContent,
-  nextCursor,
-  error,
-}: {
-  prompts: Prompt[];
-  listPrompts: () => void;
-  clearPrompts: () => void;
-  getPrompt: (name: string, args: Record<string, string>) => void;
-  selectedPrompt: Prompt | null;
-  setSelectedPrompt: (prompt: Prompt) => void;
-  promptContent: string;
-  nextCursor: ListPromptsResult["nextCursor"];
-  error: string | null;
-}) => {
-  const [promptArgs, setPromptArgs] = useState<Record<string, string>>({});
- 
-  const handleInputChange = (argName: string, value: string) => {
-    setPromptArgs((prev) => ({ ...prev, [argName]: value }));
-  };
- 
-  const handleGetPrompt = () => {
-    if (selectedPrompt) {
-      getPrompt(selectedPrompt.name, promptArgs);
-    }
-  };
- 
-  return (
-    <TabsContent value="prompts" className="grid grid-cols-2 gap-4">
-      <ListPane
-        items={prompts}
-        listItems={listPrompts}
-        clearItems={clearPrompts}
-        setSelectedItem={(prompt) => {
-          setSelectedPrompt(prompt);
-          setPromptArgs({});
-        }}
-        renderItem={(prompt) => (
-          <>
-            <span className="flex-1">{prompt.name}</span>
-            <span className="text-sm text-gray-500">{prompt.description}</span>
-          </>
-        )}
-        title="Prompts"
-        buttonText={nextCursor ? "List More Prompts" : "List Prompts"}
-        isButtonDisabled={!nextCursor && prompts.length > 0}
-      />
- 
-      <div className="bg-card rounded-lg shadow">
-        <div className="p-4 border-b border-gray-200">
-          <h3 className="font-semibold">
-            {selectedPrompt ? selectedPrompt.name : "Select a prompt"}
-          </h3>
-        </div>
-        <div className="p-4">
-          {error ? (
-            <Alert variant="destructive">
-              <AlertCircle className="h-4 w-4" />
-              <AlertTitle>Error</AlertTitle>
-              <AlertDescription>{error}</AlertDescription>
-            </Alert>
-          ) : selectedPrompt ? (
-            <div className="space-y-4">
-              {selectedPrompt.description && (
-                <p className="text-sm text-gray-600">
-                  {selectedPrompt.description}
-                </p>
-              )}
-              {selectedPrompt.arguments?.map((arg) => (
-                <div key={arg.name}>
-                  <Label htmlFor={arg.name}>{arg.name}</Label>
-                  <Input
-                    id={arg.name}
-                    placeholder={`Enter ${arg.name}`}
-                    value={promptArgs[arg.name] || ""}
-                    onChange={(e) =>
-                      handleInputChange(arg.name, e.target.value)
-                    }
-                  />
-                  {arg.description && (
-                    <p className="text-xs text-gray-500 mt-1">
-                      {arg.description}
-                      {arg.required && (
-                        <span className="text-xs mt-1 ml-1">(Required)</span>
-                      )}
-                    </p>
-                  )}
-                </div>
-              ))}
-              <Button onClick={handleGetPrompt} className="w-full">
-                Get Prompt
-              </Button>
-              {promptContent && (
-                <Textarea
-                  value={promptContent}
-                  readOnly
-                  className="h-64 font-mono"
-                />
-              )}
-            </div>
-          ) : (
-            <Alert>
-              <AlertDescription>
-                Select a prompt from the list to view and use it
-              </AlertDescription>
-            </Alert>
-          )}
-        </div>
-      </div>
-    </TabsContent>
-  );
-};
- 
-export default PromptsTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ResourcesTab.tsx.html b/client/coverage/client/src/components/ResourcesTab.tsx.html deleted file mode 100644 index c6d5e5d..0000000 --- a/client/coverage/client/src/components/ResourcesTab.tsx.html +++ /dev/null @@ -1,700 +0,0 @@ - - - - - - Code coverage report for client/src/components/ResourcesTab.tsx - - - - - - - - - -
-
-

All files / client/src/components ResourcesTab.tsx

-
- -
- 97.54% - Statements - 159/163 -
- - -
- 89.28% - Branches - 25/28 -
- - -
- 88.88% - Functions - 8/9 -
- - -
- 97.54% - Lines - 159/163 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -2061x -1x -1x -1x -  -  -  -  -  -  -1x -1x -1x -  -1x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -16x -16x -16x -16x -16x -  -16x -1x -1x -1x -1x -1x -1x -1x -1x -  -16x -1x -1x -1x -1x -  -1x -1x -1x -  -16x -16x -16x -16x -16x -16x -16x -  -  -  -  -16x -24x -24x -24x -24x -24x -24x -24x -  -16x -16x -16x -16x -  -16x -16x -16x -16x -16x -2x -2x -2x -2x -16x -24x -24x -24x -24x -24x -24x -24x -  -16x -16x -16x -  -16x -16x -  -16x -16x -16x -16x -16x -  -16x -2x -14x -4x -10x -16x -16x -2x -2x -2x -2x -  -2x -  -2x -  -16x -16x -16x -1x -1x -1x -1x -1x -15x -2x -2x -2x -13x -4x -4x -4x -4x -4x -4x -4x -8x -8x -8x -8x -8x -8x -  -8x -8x -8x -8x -8x -8x -2x -2x -2x -2x -  -8x -8x -8x -  -4x -4x -4x -4x -4x -  -4x -4x -  -9x -9x -  -9x -9x -  -16x -16x -16x -  -16x -  -1x - 
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
-import { Button } from "@/components/ui/button";
-import { Input } from "@/components/ui/input";
-import { TabsContent } from "@/components/ui/tabs";
-import {
-  ListResourcesResult,
-  Resource,
-  ResourceTemplate,
-  ListResourceTemplatesResult,
-} from "@modelcontextprotocol/sdk/types.js";
-import { AlertCircle, ChevronRight, FileText, RefreshCw } from "lucide-react";
-import ListPane from "./ListPane";
-import { useState } from "react";
- 
-const ResourcesTab = ({
-  resources,
-  resourceTemplates,
-  listResources,
-  clearResources,
-  listResourceTemplates,
-  clearResourceTemplates,
-  readResource,
-  selectedResource,
-  setSelectedResource,
-  resourceContent,
-  nextCursor,
-  nextTemplateCursor,
-  error,
-}: {
-  resources: Resource[];
-  resourceTemplates: ResourceTemplate[];
-  listResources: () => void;
-  clearResources: () => void;
-  listResourceTemplates: () => void;
-  clearResourceTemplates: () => void;
-  readResource: (uri: string) => void;
-  selectedResource: Resource | null;
-  setSelectedResource: (resource: Resource | null) => void;
-  resourceContent: string;
-  nextCursor: ListResourcesResult["nextCursor"];
-  nextTemplateCursor: ListResourceTemplatesResult["nextCursor"];
-  error: string | null;
-}) => {
-  const [selectedTemplate, setSelectedTemplate] =
-    useState<ResourceTemplate | null>(null);
-  const [templateValues, setTemplateValues] = useState<Record<string, string>>(
-    {},
-  );
- 
-  const fillTemplate = (
-    template: string,
-    values: Record<string, string>,
-  ): string => {
-    return template.replace(
-      /{([^}]+)}/g,
-      (_, key) => values[key] || `{${key}}`,
-    );
-  };
- 
-  const handleReadTemplateResource = () => {
-    if (selectedTemplate) {
-      const uri = fillTemplate(selectedTemplate.uriTemplate, templateValues);
-      readResource(uri);
-      setSelectedTemplate(null);
-      // We don't have the full Resource object here, so we create a partial one
-      setSelectedResource({ uri, name: uri } as Resource);
-    }
-  };
- 
-  return (
-    <TabsContent value="resources" className="grid grid-cols-3 gap-4">
-      <ListPane
-        items={resources}
-        listItems={listResources}
-        clearItems={clearResources}
-        setSelectedItem={(resource) => {
-          setSelectedResource(resource);
-          readResource(resource.uri);
-          setSelectedTemplate(null);
-        }}
-        renderItem={(resource) => (
-          <div className="flex items-center w-full">
-            <FileText className="w-4 h-4 mr-2 flex-shrink-0 text-gray-500" />
-            <span className="flex-1 truncate" title={resource.uri.toString()}>
-              {resource.name}
-            </span>
-            <ChevronRight className="w-4 h-4 flex-shrink-0 text-gray-400" />
-          </div>
-        )}
-        title="Resources"
-        buttonText={nextCursor ? "List More Resources" : "List Resources"}
-        isButtonDisabled={!nextCursor && resources.length > 0}
-      />
- 
-      <ListPane
-        items={resourceTemplates}
-        listItems={listResourceTemplates}
-        clearItems={clearResourceTemplates}
-        setSelectedItem={(template) => {
-          setSelectedTemplate(template);
-          setSelectedResource(null);
-          setTemplateValues({});
-        }}
-        renderItem={(template) => (
-          <div className="flex items-center w-full">
-            <FileText className="w-4 h-4 mr-2 flex-shrink-0 text-gray-500" />
-            <span className="flex-1 truncate" title={template.uriTemplate}>
-              {template.name}
-            </span>
-            <ChevronRight className="w-4 h-4 flex-shrink-0 text-gray-400" />
-          </div>
-        )}
-        title="Resource Templates"
-        buttonText={
-          nextTemplateCursor ? "List More Templates" : "List Templates"
-        }
-        isButtonDisabled={!nextTemplateCursor && resourceTemplates.length > 0}
-      />
- 
-      <div className="bg-card rounded-lg shadow">
-        <div className="p-4 border-b border-gray-200 flex justify-between items-center">
-          <h3
-            className="font-semibold truncate"
-            title={selectedResource?.name || selectedTemplate?.name}
-          >
-            {selectedResource
-              ? selectedResource.name
-              : selectedTemplate
-                ? selectedTemplate.name
-                : "Select a resource or template"}
-          </h3>
-          {selectedResource && (
-            <Button
-              variant="outline"
-              size="sm"
-              onClick={() => readResource(selectedResource.uri)}
-            >
-              <RefreshCw className="w-4 h-4 mr-2" />
-              Refresh
-            </Button>
-          )}
-        </div>
-        <div className="p-4">
-          {error ? (
-            <Alert variant="destructive">
-              <AlertCircle className="h-4 w-4" />
-              <AlertTitle>Error</AlertTitle>
-              <AlertDescription>{error}</AlertDescription>
-            </Alert>
-          ) : selectedResource ? (
-            <pre className="bg-gray-50 dark:bg-gray-800 p-4 rounded text-sm overflow-auto max-h-96 whitespace-pre-wrap break-words text-gray-900 dark:text-gray-100">
-              {resourceContent}
-            </pre>
-          ) : selectedTemplate ? (
-            <div className="space-y-4">
-              <p className="text-sm text-gray-600">
-                {selectedTemplate.description}
-              </p>
-              {selectedTemplate.uriTemplate
-                .match(/{([^}]+)}/g)
-                ?.map((param) => {
-                  const key = param.slice(1, -1);
-                  return (
-                    <div key={key}>
-                      <label
-                        htmlFor={key}
-                        className="block text-sm font-medium text-gray-700"
-                      >
-                        {key}
-                      </label>
-                      <Input
-                        id={key}
-                        value={templateValues[key] || ""}
-                        onChange={(e) =>
-                          setTemplateValues({
-                            ...templateValues,
-                            [key]: e.target.value,
-                          })
-                        }
-                        className="mt-1"
-                      />
-                    </div>
-                  );
-                })}
-              <Button
-                onClick={handleReadTemplateResource}
-                disabled={Object.keys(templateValues).length === 0}
-              >
-                Read Resource
-              </Button>
-            </div>
-          ) : (
-            <Alert>
-              <AlertDescription>
-                Select a resource or template from the list to view its contents
-              </AlertDescription>
-            </Alert>
-          )}
-        </div>
-      </div>
-    </TabsContent>
-  );
-};
- 
-export default ResourcesTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/RootsTab.tsx.html b/client/coverage/client/src/components/RootsTab.tsx.html deleted file mode 100644 index eefc365..0000000 --- a/client/coverage/client/src/components/RootsTab.tsx.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - - Code coverage report for client/src/components/RootsTab.tsx - - - - - - - - - -
-
-

All files / client/src/components RootsTab.tsx

-
- -
- 100% - Statements - 61/61 -
- - -
- 100% - Branches - 15/15 -
- - -
- 100% - Functions - 7/7 -
- - -
- 100% - Lines - 61/61 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -791x -1x -1x -1x -  -1x -  -1x -9x -9x -9x -9x -  -  -  -9x -9x -1x -1x -  -9x -1x -1x -  -9x -1x -1x -2x -1x -1x -1x -  -9x -1x -1x -  -9x -9x -9x -9x -  -9x -9x -  -9x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -9x -  -9x -9x -9x -  -9x -9x -9x -  -9x -9x -9x -  -9x -  -1x - 
import { Alert, AlertDescription } from "@/components/ui/alert";
-import { Button } from "@/components/ui/button";
-import { Input } from "@/components/ui/input";
-import { TabsContent } from "@/components/ui/tabs";
-import { Root } from "@modelcontextprotocol/sdk/types.js";
-import { Plus, Minus, Save } from "lucide-react";
- 
-const RootsTab = ({
-  roots,
-  setRoots,
-  onRootsChange,
-}: {
-  roots: Root[];
-  setRoots: React.Dispatch<React.SetStateAction<Root[]>>;
-  onRootsChange: () => void;
-}) => {
-  const addRoot = () => {
-    setRoots((currentRoots) => [...currentRoots, { uri: "file://", name: "" }]);
-  };
- 
-  const removeRoot = (index: number) => {
-    setRoots((currentRoots) => currentRoots.filter((_, i) => i !== index));
-  };
- 
-  const updateRoot = (index: number, field: keyof Root, value: string) => {
-    setRoots((currentRoots) =>
-      currentRoots.map((root, i) =>
-        i === index ? { ...root, [field]: value } : root,
-      ),
-    );
-  };
- 
-  const handleSave = () => {
-    onRootsChange();
-  };
- 
-  return (
-    <TabsContent value="roots" className="space-y-4">
-      <Alert>
-        <AlertDescription>
-          Configure the root directories that the server can access
-        </AlertDescription>
-      </Alert>
- 
-      {roots.map((root, index) => (
-        <div key={index} className="flex gap-2 items-center">
-          <Input
-            placeholder="file:// URI"
-            value={root.uri}
-            onChange={(e) => updateRoot(index, "uri", e.target.value)}
-            className="flex-1"
-          />
-          <Button
-            variant="destructive"
-            size="sm"
-            onClick={() => removeRoot(index)}
-            aria-label="Remove root"
-          >
-            <Minus className="h-4 w-4" />
-          </Button>
-        </div>
-      ))}
- 
-      <div className="flex gap-2">
-        <Button variant="outline" onClick={addRoot}>
-          <Plus className="h-4 w-4 mr-2" />
-          Add Root
-        </Button>
-        <Button onClick={handleSave}>
-          <Save className="h-4 w-4 mr-2" />
-          Save Changes
-        </Button>
-      </div>
-    </TabsContent>
-  );
-};
- 
-export default RootsTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/SamplingTab.tsx.html b/client/coverage/client/src/components/SamplingTab.tsx.html deleted file mode 100644 index 6750d9a..0000000 --- a/client/coverage/client/src/components/SamplingTab.tsx.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - Code coverage report for client/src/components/SamplingTab.tsx - - - - - - - - - -
-
-

All files / client/src/components SamplingTab.tsx

-
- -
- 100% - Statements - 41/41 -
- - -
- 100% - Branches - 6/6 -
- - -
- 100% - Functions - 4/4 -
- - -
- 100% - Lines - 41/41 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -661x -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -10x -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -10x -10x -10x -10x -  -  -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -10x -  -10x -10x -10x -10x -10x -5x -  -10x -10x -  -10x -  -1x - 
import { Alert, AlertDescription } from "@/components/ui/alert";
-import { Button } from "@/components/ui/button";
-import { TabsContent } from "@/components/ui/tabs";
-import {
-  CreateMessageRequest,
-  CreateMessageResult,
-} from "@modelcontextprotocol/sdk/types.js";
- 
-export type PendingRequest = {
-  id: number;
-  request: CreateMessageRequest;
-};
- 
-export type Props = {
-  pendingRequests: PendingRequest[];
-  onApprove: (id: number, result: CreateMessageResult) => void;
-  onReject: (id: number) => void;
-};
- 
-const SamplingTab = ({ pendingRequests, onApprove, onReject }: Props) => {
-  const handleApprove = (id: number) => {
-    // For now, just return a stub response
-    onApprove(id, {
-      model: "stub-model",
-      stopReason: "endTurn",
-      role: "assistant",
-      content: {
-        type: "text",
-        text: "This is a stub response.",
-      },
-    });
-  };
- 
-  return (
-    <TabsContent value="sampling" className="h-96">
-      <Alert>
-        <AlertDescription>
-          When the server requests LLM sampling, requests will appear here for
-          approval.
-        </AlertDescription>
-      </Alert>
-      <div className="mt-4 space-y-4">
-        <h3 className="text-lg font-semibold">Recent Requests</h3>
-        {pendingRequests.map((request) => (
-          <div key={request.id} className="p-4 border rounded-lg space-y-4">
-            <pre className="bg-gray-50 p-2 rounded">
-              {JSON.stringify(request.request, null, 2)}
-            </pre>
-            <div className="flex space-x-2">
-              <Button onClick={() => handleApprove(request.id)}>Approve</Button>
-              <Button variant="outline" onClick={() => onReject(request.id)}>
-                Reject
-              </Button>
-            </div>
-          </div>
-        ))}
-        {pendingRequests.length === 0 && (
-          <p className="text-gray-500">No pending requests</p>
-        )}
-      </div>
-    </TabsContent>
-  );
-};
- 
-export default SamplingTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/Sidebar.tsx.html b/client/coverage/client/src/components/Sidebar.tsx.html deleted file mode 100644 index 870bebb..0000000 --- a/client/coverage/client/src/components/Sidebar.tsx.html +++ /dev/null @@ -1,889 +0,0 @@ - - - - - - Code coverage report for client/src/components/Sidebar.tsx - - - - - - - - - -
-
-

All files / client/src/components Sidebar.tsx

-
- -
- 65.43% - Statements - 142/217 -
- - -
- 50% - Branches - 6/12 -
- - -
- 25% - Functions - 2/8 -
- - -
- 65.43% - Lines - 142/217 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -2691x -1x -1x -1x -  -  -  -  -  -  -1x -  -  -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -  -  -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -  -  -  -  -  -  -  -  -  -  -16x -16x -16x -16x -16x -16x -  -16x -  -  -16x -16x -  -16x -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -  -  -16x -16x -16x -  -16x -  -16x -16x -16x -16x -9x -7x -  -7x -16x -16x -16x -16x -9x -7x -  -7x -16x -16x -16x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -16x -16x -16x -16x -16x -16x -16x -16x -  -  -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -16x -  -16x -  -1x - 
import { useState } from "react";
-import { Play, ChevronDown, ChevronRight, CircleHelp, Bug, Github } from "lucide-react";
-import { Button } from "@/components/ui/button";
-import { Input } from "@/components/ui/input";
-import {
-  Select,
-  SelectContent,
-  SelectItem,
-  SelectTrigger,
-  SelectValue,
-} from "@/components/ui/select";
-import { StdErrNotification } from "@/lib/notificationTypes";
- 
-import useTheme from "../lib/useTheme";
-import { version } from "../../../package.json";
- 
-interface SidebarProps {
-  connectionStatus: "disconnected" | "connected" | "error";
-  transportType: "stdio" | "sse";
-  setTransportType: (type: "stdio" | "sse") => void;
-  command: string;
-  setCommand: (command: string) => void;
-  args: string;
-  setArgs: (args: string) => void;
-  sseUrl: string;
-  setSseUrl: (url: string) => void;
-  env: Record<string, string>;
-  setEnv: (env: Record<string, string>) => void;
-  onConnect: () => void;
-  stdErrNotifications: StdErrNotification[];
-}
- 
-const Sidebar = ({
-  connectionStatus,
-  transportType,
-  setTransportType,
-  command,
-  setCommand,
-  args,
-  setArgs,
-  sseUrl,
-  setSseUrl,
-  env,
-  setEnv,
-  onConnect,
-  stdErrNotifications,
-}: SidebarProps) => {
-  const [theme, setTheme] = useTheme();
-  const [showEnvVars, setShowEnvVars] = useState(false);
- 
-  return (
-    <div className="w-80 bg-card border-r border-border flex flex-col h-full">
-      <div className="flex items-center justify-between p-4 border-b border-gray-200">
-        <div className="flex items-center">
-          <h1 className="ml-2 text-lg font-semibold">
-            MCP Inspector v{version}
-          </h1>
-        </div>
-      </div>
- 
-      <div className="p-4 flex-1 overflow-auto">
-        <div className="space-y-4">
-          <div className="space-y-2">
-            <label className="text-sm font-medium">Transport Type</label>
-            <Select
-              value={transportType}
-              onValueChange={(value: "stdio" | "sse") =>
-                setTransportType(value)
-              }
-            >
-              <SelectTrigger>
-                <SelectValue placeholder="Select transport type" />
-              </SelectTrigger>
-              <SelectContent>
-                <SelectItem value="stdio">STDIO</SelectItem>
-                <SelectItem value="sse">SSE</SelectItem>
-              </SelectContent>
-            </Select>
-          </div>
- 
-          {transportType === "stdio" ? (
-            <>
-              <div className="space-y-2">
-                <label className="text-sm font-medium">Command</label>
-                <Input
-                  placeholder="Command"
-                  value={command}
-                  onChange={(e) => setCommand(e.target.value)}
-                  className="font-mono"
-                />
-              </div>
-              <div className="space-y-2">
-                <label className="text-sm font-medium">Arguments</label>
-                <Input
-                  placeholder="Arguments (space-separated)"
-                  value={args}
-                  onChange={(e) => setArgs(e.target.value)}
-                  className="font-mono"
-                />
-              </div>
-            </>
-          ) : (
-            <div className="space-y-2">
-              <label className="text-sm font-medium">URL</label>
-              <Input
-                placeholder="URL"
-                value={sseUrl}
-                onChange={(e) => setSseUrl(e.target.value)}
-                className="font-mono"
-              />
-            </div>
-          )}
-          {transportType === "stdio" && (
-            <div className="space-y-2">
-              <Button
-                variant="outline"
-                onClick={() => setShowEnvVars(!showEnvVars)}
-                className="flex items-center w-full"
-              >
-                {showEnvVars ? (
-                  <ChevronDown className="w-4 h-4 mr-2" />
-                ) : (
-                  <ChevronRight className="w-4 h-4 mr-2" />
-                )}
-                Environment Variables
-              </Button>
-              {showEnvVars && (
-                <div className="space-y-2">
-                  {Object.entries(env).map(([key, value], idx) => (
-                    <div key={idx} className="grid grid-cols-[1fr,auto] gap-2">
-                      <div className="space-y-1">
-                        <Input
-                          placeholder="Key"
-                          value={key}
-                          onChange={(e) => {
-                            const newEnv = { ...env };
-                            delete newEnv[key];
-                            newEnv[e.target.value] = value;
-                            setEnv(newEnv);
-                          }}
-                          className="font-mono"
-                        />
-                        <Input
-                          placeholder="Value"
-                          value={value}
-                          onChange={(e) => {
-                            const newEnv = { ...env };
-                            newEnv[key] = e.target.value;
-                            setEnv(newEnv);
-                          }}
-                          className="font-mono"
-                        />
-                      </div>
-                      <Button
-                        variant="destructive"
-                        onClick={() => {
-                          // eslint-disable-next-line @typescript-eslint/no-unused-vars
-                          const { [key]: removed, ...rest } = env;
-                          setEnv(rest);
-                        }}
-                      >
-                        Remove
-                      </Button>
-                    </div>
-                  ))}
-                  <Button
-                    variant="outline"
-                    onClick={() => {
-                      const newEnv = { ...env };
-                      newEnv[""] = "";
-                      setEnv(newEnv);
-                    }}
-                  >
-                    Add Environment Variable
-                  </Button>
-                </div>
-              )}
-            </div>
-          )}
- 
-          <div className="space-y-2">
-            <Button className="w-full" onClick={onConnect}>
-              <Play className="w-4 h-4 mr-2" />
-              Connect
-            </Button>
- 
-            <div className="flex items-center justify-center space-x-2 mb-4">
-              <div
-                className={`w-2 h-2 rounded-full ${
-                  connectionStatus === "connected"
-                    ? "bg-green-500"
-                    : connectionStatus === "error"
-                      ? "bg-red-500"
-                      : "bg-gray-500"
-                }`}
-              />
-              <span className="text-sm text-gray-600">
-                {connectionStatus === "connected"
-                  ? "Connected"
-                  : connectionStatus === "error"
-                    ? "Connection Error"
-                    : "Disconnected"}
-              </span>
-            </div>
-            {stdErrNotifications.length > 0 && (
-              <>
-                <div className="mt-4 border-t border-gray-200 pt-4">
-                  <h3 className="text-sm font-medium">
-                    Error output from MCP server
-                  </h3>
-                  <div className="mt-2 max-h-80 overflow-y-auto">
-                    {stdErrNotifications.map((notification, index) => (
-                      <div
-                        key={index}
-                        className="text-sm text-red-500 font-mono py-2 border-b border-gray-200 last:border-b-0"
-                      >
-                        {notification.params.content}
-                      </div>
-                    ))}
-                  </div>
-                </div>
-              </>
-            )}
-          </div>
-        </div>
-      </div>
-      <div className="p-4 border-t">
-        <div className="flex items-center justify-between">
-          <Select
-            value={theme}
-            onValueChange={(value: string) =>
-              setTheme(value as "system" | "light" | "dark")
-            }
-          >
-            <SelectTrigger className="w-[100px]" id="theme-select">
-              <SelectValue />
-            </SelectTrigger>
-            <SelectContent>
-              <SelectItem value="system">System</SelectItem>
-              <SelectItem value="light">Light</SelectItem>
-              <SelectItem value="dark">Dark</SelectItem>
-            </SelectContent>
-          </Select>
- 
-          <div className="flex items-center space-x-2">
-            <a href="https://modelcontextprotocol.io/docs/tools/inspector" target="_blank" rel="noopener noreferrer">
-              <Button variant="ghost" title="Inspector Documentation">
-                <CircleHelp className="w-4 h-4 text-gray-800" />
-              </Button>
-            </a>
-            <a href="https://modelcontextprotocol.io/docs/tools/debugging" target="_blank" rel="noopener noreferrer">
-              <Button variant="ghost" title="Debugging Guide">
-                <Bug className="w-4 h-4 text-gray-800" />
-              </Button>
-            </a>
-            <a href="https://github.com/modelcontextprotocol/inspector" target="_blank" rel="noopener noreferrer">
-              <Button variant="ghost" title="Report bugs or contribute on GitHub">
-                <Github className="w-4 h-4 text-gray-800" />
-              </Button>
-            </a>
-          </div>
-        </div>
-      </div>
-    </div>
-  );
-};
- 
-export default Sidebar;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ToolsTab.tsx.html b/client/coverage/client/src/components/ToolsTab.tsx.html deleted file mode 100644 index e61a5e4..0000000 --- a/client/coverage/client/src/components/ToolsTab.tsx.html +++ /dev/null @@ -1,823 +0,0 @@ - - - - - - Code coverage report for client/src/components/ToolsTab.tsx - - - - - - - - - -
-
-

All files / client/src/components ToolsTab.tsx

-
- -
- 29.38% - Statements - 57/194 -
- - -
- 33.33% - Branches - 2/6 -
- - -
- 20% - Functions - 1/5 -
- - -
- 29.38% - Lines - 57/194 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -2471x -1x -1x -1x -1x -1x -  -  -  -  -1x -1x -1x -1x -  -  -  -1x -6x -6x -6x -6x -6x -6x -6x -6x -6x -6x -  -  -  -  -  -  -  -  -  -6x -6x -6x -2x -6x -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -6x -6x -6x -6x -6x -  -  -  -6x -6x -  -  -  -  -  -  -  -6x -6x -6x -6x -  -6x -6x -6x -6x -6x -6x -6x -6x -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -6x -  -6x -6x -  -6x -6x -6x -  -6x -  -1x - 
import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert";
-import { Button } from "@/components/ui/button";
-import { Input } from "@/components/ui/input";
-import { Label } from "@/components/ui/label";
-import { TabsContent } from "@/components/ui/tabs";
-import { Textarea } from "@/components/ui/textarea";
-import {
-  ListToolsResult,
-  Tool,
-  CallToolResultSchema,
-} from "@modelcontextprotocol/sdk/types.js";
-import { AlertCircle, Send } from "lucide-react";
-import { useEffect, useState } from "react";
-import ListPane from "./ListPane";
- 
-import { CompatibilityCallToolResult } from "@modelcontextprotocol/sdk/types.js";
- 
-const ToolsTab = ({
-  tools,
-  listTools,
-  clearTools,
-  callTool,
-  selectedTool,
-  setSelectedTool,
-  toolResult,
-  nextCursor,
-  error,
-}: {
-  tools: Tool[];
-  listTools: () => void;
-  clearTools: () => void;
-  callTool: (name: string, params: Record<string, unknown>) => void;
-  selectedTool: Tool | null;
-  setSelectedTool: (tool: Tool | null) => void;
-  toolResult: CompatibilityCallToolResult | null;
-  nextCursor: ListToolsResult["nextCursor"];
-  error: string | null;
-}) => {
-  const [params, setParams] = useState<Record<string, unknown>>({});
-  useEffect(() => {
-    setParams({});
-  }, [selectedTool]);
- 
-  const renderToolResult = () => {
-    if (!toolResult) return null;
- 
-    if ("content" in toolResult) {
-      const parsedResult = CallToolResultSchema.safeParse(toolResult);
-      if (!parsedResult.success) {
-        return (
-          <>
-            <h4 className="font-semibold mb-2">Invalid Tool Result:</h4>
-            <pre className="bg-gray-50 dark:bg-gray-800 dark:text-gray-100 p-4 rounded text-sm overflow-auto max-h-64">
-              {JSON.stringify(toolResult, null, 2)}
-            </pre>
-            <h4 className="font-semibold mb-2">Errors:</h4>
-            {parsedResult.error.errors.map((error, idx) => (
-              <pre
-                key={idx}
-                className="bg-gray-50 dark:bg-gray-800 dark:text-gray-100 p-4 rounded text-sm overflow-auto max-h-64"
-              >
-                {JSON.stringify(error, null, 2)}
-              </pre>
-            ))}
-          </>
-        );
-      }
-      const structuredResult = parsedResult.data;
-      const isError = structuredResult.isError ?? false;
- 
-      return (
-        <>
-          <h4 className="font-semibold mb-2">
-            Tool Result: {isError ? "Error" : "Success"}
-          </h4>
-          {structuredResult.content.map((item, index) => (
-            <div key={index} className="mb-2">
-              {item.type === "text" && (
-                <pre className="bg-gray-50 dark:bg-gray-800 dark:text-gray-100 p-4 rounded text-sm overflow-auto max-h-64">
-                  {item.text}
-                </pre>
-              )}
-              {item.type === "image" && (
-                <img
-                  src={`data:${item.mimeType};base64,${item.data}`}
-                  alt="Tool result image"
-                  className="max-w-full h-auto"
-                />
-              )}
-              {item.type === "resource" && (
-                <pre className="bg-gray-50  dark:bg-gray-800 dark:text-gray-100 whitespace-pre-wrap break-words p-4 rounded text-sm overflow-auto max-h-64">
-                  {JSON.stringify(item.resource, null, 2)}
-                </pre>
-              )}
-            </div>
-          ))}
-        </>
-      );
-    } else if ("toolResult" in toolResult) {
-      return (
-        <>
-          <h4 className="font-semibold mb-2">Tool Result (Legacy):</h4>
-          <pre className="bg-gray-50 dark:bg-gray-800 dark:text-gray-100 p-4 rounded text-sm overflow-auto max-h-64">
-            {JSON.stringify(toolResult.toolResult, null, 2)}
-          </pre>
-        </>
-      );
-    }
-  };
- 
-  return (
-    <TabsContent value="tools" className="grid grid-cols-2 gap-4">
-      <ListPane
-        items={tools}
-        listItems={listTools}
-        clearItems={() => {
-          clearTools();
-          setSelectedTool(null);
-        }}
-        setSelectedItem={setSelectedTool}
-        renderItem={(tool) => (
-          <>
-            <span className="flex-1">{tool.name}</span>
-            <span className="text-sm text-gray-500 text-right">
-              {tool.description}
-            </span>
-          </>
-        )}
-        title="Tools"
-        buttonText={nextCursor ? "List More Tools" : "List Tools"}
-        isButtonDisabled={!nextCursor && tools.length > 0}
-      />
- 
-      <div className="bg-card rounded-lg shadow">
-        <div className="p-4 border-b border-gray-200">
-          <h3 className="font-semibold">
-            {selectedTool ? selectedTool.name : "Select a tool"}
-          </h3>
-        </div>
-        <div className="p-4">
-          {error ? (
-            <Alert variant="destructive">
-              <AlertCircle className="h-4 w-4" />
-              <AlertTitle>Error</AlertTitle>
-              <AlertDescription>{error}</AlertDescription>
-            </Alert>
-          ) : selectedTool ? (
-            <div className="space-y-4">
-              <p className="text-sm text-gray-600">
-                {selectedTool.description}
-              </p>
-              {Object.entries(selectedTool.inputSchema.properties ?? []).map(
-                ([key, value]) => (
-                  <div key={key}>
-                    <Label
-                      htmlFor={key}
-                      className="block text-sm font-medium text-gray-700"
-                    >
-                      {key}
-                    </Label>
-                    {
-                      /* @ts-expect-error value type is currently unknown */
-                      value.type === "string" ? (
-                        <Textarea
-                          id={key}
-                          name={key}
-                          // @ts-expect-error value type is currently unknown
-                          placeholder={value.description}
-                          onChange={(e) =>
-                            setParams({
-                              ...params,
-                              [key]: e.target.value,
-                            })
-                          }
-                          className="mt-1"
-                        />
-                      ) :
-                      /* @ts-expect-error value type is currently unknown */
-                      value.type === "object" ? (
-                        <Textarea
-                          id={key}
-                          name={key}
-                          // @ts-expect-error value type is currently unknown
-                          placeholder={value.description}
-                          onChange={(e) => {
-                            try {
-                              const parsed = JSON.parse(e.target.value);
-                              setParams({
-                                ...params,
-                                [key]: parsed,
-                              });
-                            } catch (err) {
-                              // If invalid JSON, store as string - will be validated on submit
-                              setParams({
-                                ...params,
-                                [key]: e.target.value,
-                              });
-                            }
-                          }}
-                          className="mt-1"
-                        />
-                      ) : (
-                        <Input
-                          // @ts-expect-error value type is currently unknown
-                          type={value.type === "number" ? "number" : "text"}
-                          id={key}
-                          name={key}
-                          // @ts-expect-error value type is currently unknown
-                          placeholder={value.description}
-                          onChange={(e) =>
-                            setParams({
-                              ...params,
-                              [key]:
-                                // @ts-expect-error value type is currently unknown
-                                value.type === "number"
-                                  ? Number(e.target.value)
-                                  : e.target.value,
-                            })
-                          }
-                          className="mt-1"
-                        />
-                      )
-                    }
-                  </div>
-                ),
-              )}
-              <Button onClick={() => callTool(selectedTool.name, params)}>
-                <Send className="w-4 h-4 mr-2" />
-                Run Tool
-              </Button>
-              {toolResult && renderToolResult()}
-            </div>
-          ) : (
-            <Alert>
-              <AlertDescription>
-                Select a tool from the list to view its details and run it
-              </AlertDescription>
-            </Alert>
-          )}
-        </div>
-      </div>
-    </TabsContent>
-  );
-};
- 
-export default ToolsTab;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/index.html b/client/coverage/client/src/components/index.html deleted file mode 100644 index c3d3c4f..0000000 --- a/client/coverage/client/src/components/index.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - Code coverage report for client/src/components - - - - - - - - - -
-
-

All files client/src/components

-
- -
- 77.34% - Statements - 758/980 -
- - -
- 87.03% - Branches - 94/108 -
- - -
- 69.23% - Functions - 36/52 -
- - -
- 77.34% - Lines - 758/980 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ConsoleTab.tsx -
-
100%8/8100%1/1100%1/1100%8/8
History.tsx -
-
97.74%130/133100%19/1955.55%5/997.74%130/133
ListPane.tsx -
-
100%43/43100%3/3100%2/2100%43/43
PingTab.tsx -
-
100%16/16100%1/1100%1/1100%16/16
PromptsTab.tsx -
-
97.11%101/10494.11%16/1783.33%5/697.11%101/104
ResourcesTab.tsx -
-
97.54%159/16389.28%25/2888.88%8/997.54%159/163
RootsTab.tsx -
-
100%61/61100%15/15100%7/7100%61/61
SamplingTab.tsx -
-
100%41/41100%6/6100%4/4100%41/41
Sidebar.tsx -
-
65.43%142/21750%6/1225%2/865.43%142/217
ToolsTab.tsx -
-
29.38%57/19433.33%2/620%1/529.38%57/194
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/alert.tsx.html b/client/coverage/client/src/components/ui/alert.tsx.html deleted file mode 100644 index 30e9aa9..0000000 --- a/client/coverage/client/src/components/ui/alert.tsx.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/alert.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui alert.tsx

-
- -
- 100% - Statements - 44/44 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 44/44 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -601x -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -  -  -1x -23x -23x -23x -23x -23x -23x -23x -1x -  -1x -  -  -1x -2x -2x -2x -2x -2x -2x -1x -  -1x -  -  -1x -23x -23x -23x -23x -23x -23x -1x -  -  - 
import * as React from "react";
-import { cva, type VariantProps } from "class-variance-authority";
- 
-import { cn } from "@/lib/utils";
- 
-const alertVariants = cva(
-  "relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
-  {
-    variants: {
-      variant: {
-        default: "bg-background text-foreground",
-        destructive:
-          "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
-      },
-    },
-    defaultVariants: {
-      variant: "default",
-    },
-  },
-);
- 
-const Alert = React.forwardRef<
-  HTMLDivElement,
-  React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>
->(({ className, variant, ...props }, ref) => (
-  <div
-    ref={ref}
-    role="alert"
-    className={cn(alertVariants({ variant }), className)}
-    {...props}
-  />
-));
-Alert.displayName = "Alert";
- 
-const AlertTitle = React.forwardRef<
-  HTMLParagraphElement,
-  React.HTMLAttributes<HTMLHeadingElement>
->(({ className, ...props }, ref) => (
-  <h5
-    ref={ref}
-    className={cn("mb-1 font-medium leading-none tracking-tight", className)}
-    {...props}
-  />
-));
-AlertTitle.displayName = "AlertTitle";
- 
-const AlertDescription = React.forwardRef<
-  HTMLParagraphElement,
-  React.HTMLAttributes<HTMLParagraphElement>
->(({ className, ...props }, ref) => (
-  <div
-    ref={ref}
-    className={cn("text-sm [&_p]:leading-relaxed", className)}
-    {...props}
-  />
-));
-AlertDescription.displayName = "AlertDescription";
- 
-export { Alert, AlertTitle, AlertDescription };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/button.tsx.html b/client/coverage/client/src/components/ui/button.tsx.html deleted file mode 100644 index a268448..0000000 --- a/client/coverage/client/src/components/ui/button.tsx.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/button.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui button.tsx

-
- -
- 100% - Statements - 42/42 -
- - -
- 50% - Branches - 1/2 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 42/42 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -581x -  -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -  -  -  -  -  -  -1x -1x -223x -223x -223x -223x -223x -223x -223x -  -223x -1x -1x -  -  - 
import * as React from "react";
-import { Slot } from "@radix-ui/react-slot";
-import { cva, type VariantProps } from "class-variance-authority";
- 
-import { cn } from "@/lib/utils";
- 
-const buttonVariants = cva(
-  "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
-  {
-    variants: {
-      variant: {
-        default:
-          "bg-primary text-primary-foreground shadow hover:bg-primary/90 dark:bg-gray-800 dark:text-white dark:hover:bg-gray-700",
-        destructive:
-          "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
-        outline:
-          "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
-        secondary:
-          "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
-        ghost: "hover:bg-accent hover:text-accent-foreground",
-        link: "text-primary underline-offset-4 hover:underline",
-      },
-      size: {
-        default: "h-9 px-4 py-2",
-        sm: "h-8 rounded-md px-3 text-xs",
-        lg: "h-10 rounded-md px-8",
-        icon: "h-9 w-9",
-      },
-    },
-    defaultVariants: {
-      variant: "default",
-      size: "default",
-    },
-  },
-);
- 
-export interface ButtonProps
-  extends React.ButtonHTMLAttributes<HTMLButtonElement>,
-    VariantProps<typeof buttonVariants> {
-  asChild?: boolean;
-}
- 
-const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
-  ({ className, variant, size, asChild = false, ...props }, ref) => {
-    const Comp = asChild ? Slot : "button";
-    return (
-      <Comp
-        className={cn(buttonVariants({ variant, size, className }))}
-        ref={ref}
-        {...props}
-      />
-    );
-  },
-);
-Button.displayName = "Button";
- 
-export { Button, buttonVariants };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/index.html b/client/coverage/client/src/components/ui/index.html deleted file mode 100644 index fca4d61..0000000 --- a/client/coverage/client/src/components/ui/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui - - - - - - - - - -
-
-

All files client/src/components/ui

-
- -
- 95.68% - Statements - 266/278 -
- - -
- 93.75% - Branches - 15/16 -
- - -
- 100% - Functions - 0/0 -
- - -
- 95.68% - Lines - 266/278 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
alert.tsx -
-
100%44/44100%3/3100%0/0100%44/44
button.tsx -
-
100%42/4250%1/2100%0/0100%42/42
input.tsx -
-
100%16/16100%1/1100%0/0100%16/16
label.tsx -
-
100%13/13100%1/1100%0/0100%13/13
select.tsx -
-
89.09%98/110100%5/5100%0/089.09%98/110
tabs.tsx -
-
100%38/38100%3/3100%0/0100%38/38
textarea.tsx -
-
100%15/15100%1/1100%0/0100%15/15
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/input.tsx.html b/client/coverage/client/src/components/ui/input.tsx.html deleted file mode 100644 index b973316..0000000 --- a/client/coverage/client/src/components/ui/input.tsx.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/input.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui input.tsx

-
- -
- 100% - Statements - 16/16 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 16/16 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -261x -  -  -  -  -  -  -1x -1x -58x -58x -58x -58x -58x -58x -58x -58x -58x -58x -  -58x -1x -1x -  -  - 
import * as React from "react";
- 
-import { cn } from "@/lib/utils";
- 
-export interface InputProps
-  extends React.InputHTMLAttributes<HTMLInputElement> {}
- 
-const Input = React.forwardRef<HTMLInputElement, InputProps>(
-  ({ className, type, ...props }, ref) => {
-    return (
-      <input
-        type={type}
-        className={cn(
-          "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
-          className,
-        )}
-        ref={ref}
-        {...props}
-      />
-    );
-  },
-);
-Input.displayName = "Input";
- 
-export { Input };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/label.tsx.html b/client/coverage/client/src/components/ui/label.tsx.html deleted file mode 100644 index deab1a2..0000000 --- a/client/coverage/client/src/components/ui/label.tsx.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/label.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui label.tsx

-
- -
- 100% - Statements - 13/13 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 13/13 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -251x -  -  -  -  -  -1x -1x -1x -  -1x -  -  -  -1x -8x -8x -8x -8x -8x -8x -1x -  -  - 
import * as React from "react";
-import * as LabelPrimitive from "@radix-ui/react-label";
-import { cva, type VariantProps } from "class-variance-authority";
- 
-import { cn } from "@/lib/utils";
- 
-const labelVariants = cva(
-  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
-);
- 
-const Label = React.forwardRef<
-  React.ElementRef<typeof LabelPrimitive.Root>,
-  React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &
-    VariantProps<typeof labelVariants>
->(({ className, ...props }, ref) => (
-  <LabelPrimitive.Root
-    ref={ref}
-    className={cn(labelVariants(), className)}
-    {...props}
-  />
-));
-Label.displayName = LabelPrimitive.Root.displayName;
- 
-export { Label };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/select.tsx.html b/client/coverage/client/src/components/ui/select.tsx.html deleted file mode 100644 index edde919..0000000 --- a/client/coverage/client/src/components/ui/select.tsx.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/select.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui select.tsx

-
- -
- 89.09% - Statements - 98/110 -
- - -
- 100% - Branches - 5/5 -
- - -
- 100% - Functions - 0/0 -
- - -
- 89.09% - Lines - 98/110 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -1631x -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -1x -  -1x -  -  -1x -32x -32x -32x -32x -32x -32x -32x -  -32x -32x -32x -32x -32x -32x -1x -  -1x -  -  -1x -32x -32x -32x -32x -32x -32x -32x -  -32x -32x -32x -1x -  -1x -  -  -1x -32x -32x -32x -32x -32x -32x -32x -  -32x -32x -32x -1x -1x -  -1x -  -  -1x -32x -32x -32x -32x -32x -32x -32x -32x -32x -32x -32x -  -32x -32x -32x -32x -32x -32x -32x -  -32x -32x -32x -32x -32x -1x -1x -  -1x -  -  -1x -  -  -  -  -  -  -1x -  -1x -  -  -1x -80x -80x -80x -80x -80x -80x -80x -  -80x -80x -80x -80x -80x -80x -80x -80x -1x -  -1x -  -  -1x -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import * as React from "react";
-import {
-  CaretSortIcon,
-  CheckIcon,
-  ChevronDownIcon,
-  ChevronUpIcon,
-} from "@radix-ui/react-icons";
-import * as SelectPrimitive from "@radix-ui/react-select";
- 
-import { cn } from "@/lib/utils";
- 
-const Select = SelectPrimitive.Root;
- 
-const SelectGroup = SelectPrimitive.Group;
- 
-const SelectValue = SelectPrimitive.Value;
- 
-const SelectTrigger = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.Trigger>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>
->(({ className, children, ...props }, ref) => (
-  <SelectPrimitive.Trigger
-    ref={ref}
-    className={cn(
-      "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
-      className,
-    )}
-    {...props}
-  >
-    {children}
-    <SelectPrimitive.Icon asChild>
-      <CaretSortIcon className="h-4 w-4 opacity-50" />
-    </SelectPrimitive.Icon>
-  </SelectPrimitive.Trigger>
-));
-SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
- 
-const SelectScrollUpButton = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>
->(({ className, ...props }, ref) => (
-  <SelectPrimitive.ScrollUpButton
-    ref={ref}
-    className={cn(
-      "flex cursor-default items-center justify-center py-1",
-      className,
-    )}
-    {...props}
-  >
-    <ChevronUpIcon />
-  </SelectPrimitive.ScrollUpButton>
-));
-SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
- 
-const SelectScrollDownButton = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>
->(({ className, ...props }, ref) => (
-  <SelectPrimitive.ScrollDownButton
-    ref={ref}
-    className={cn(
-      "flex cursor-default items-center justify-center py-1",
-      className,
-    )}
-    {...props}
-  >
-    <ChevronDownIcon />
-  </SelectPrimitive.ScrollDownButton>
-));
-SelectScrollDownButton.displayName =
-  SelectPrimitive.ScrollDownButton.displayName;
- 
-const SelectContent = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.Content>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>
->(({ className, children, position = "popper", ...props }, ref) => (
-  <SelectPrimitive.Portal>
-    <SelectPrimitive.Content
-      ref={ref}
-      className={cn(
-        "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
-        position === "popper" &&
-          "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
-        className,
-      )}
-      position={position}
-      {...props}
-    >
-      <SelectScrollUpButton />
-      <SelectPrimitive.Viewport
-        className={cn(
-          "p-1",
-          position === "popper" &&
-            "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]",
-        )}
-      >
-        {children}
-      </SelectPrimitive.Viewport>
-      <SelectScrollDownButton />
-    </SelectPrimitive.Content>
-  </SelectPrimitive.Portal>
-));
-SelectContent.displayName = SelectPrimitive.Content.displayName;
- 
-const SelectLabel = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.Label>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>
->(({ className, ...props }, ref) => (
-  <SelectPrimitive.Label
-    ref={ref}
-    className={cn("px-2 py-1.5 text-sm font-semibold", className)}
-    {...props}
-  />
-));
-SelectLabel.displayName = SelectPrimitive.Label.displayName;
- 
-const SelectItem = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.Item>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>
->(({ className, children, ...props }, ref) => (
-  <SelectPrimitive.Item
-    ref={ref}
-    className={cn(
-      "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
-      className,
-    )}
-    {...props}
-  >
-    <span className="absolute right-2 flex h-3.5 w-3.5 items-center justify-center">
-      <SelectPrimitive.ItemIndicator>
-        <CheckIcon className="h-4 w-4" />
-      </SelectPrimitive.ItemIndicator>
-    </span>
-    <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>
-  </SelectPrimitive.Item>
-));
-SelectItem.displayName = SelectPrimitive.Item.displayName;
- 
-const SelectSeparator = React.forwardRef<
-  React.ElementRef<typeof SelectPrimitive.Separator>,
-  React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>
->(({ className, ...props }, ref) => (
-  <SelectPrimitive.Separator
-    ref={ref}
-    className={cn("-mx-1 my-1 h-px bg-muted", className)}
-    {...props}
-  />
-));
-SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
- 
-export {
-  Select,
-  SelectGroup,
-  SelectValue,
-  SelectTrigger,
-  SelectContent,
-  SelectLabel,
-  SelectItem,
-  SelectSeparator,
-  SelectScrollUpButton,
-  SelectScrollDownButton,
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/tabs.tsx.html b/client/coverage/client/src/components/ui/tabs.tsx.html deleted file mode 100644 index 0a88987..0000000 --- a/client/coverage/client/src/components/ui/tabs.tsx.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/tabs.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui tabs.tsx

-
- -
- 100% - Statements - 38/38 -
- - -
- 100% - Branches - 3/3 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 38/38 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -541x -  -  -  -  -1x -  -1x -  -  -1x -9x -9x -9x -9x -9x -9x -9x -9x -9x -1x -  -1x -  -  -1x -54x -54x -54x -54x -54x -54x -54x -54x -54x -1x -  -1x -  -  -1x -64x -64x -64x -64x -64x -64x -64x -64x -64x -1x -  -  - 
import * as React from "react";
-import * as TabsPrimitive from "@radix-ui/react-tabs";
- 
-import { cn } from "@/lib/utils";
- 
-const Tabs = TabsPrimitive.Root;
- 
-const TabsList = React.forwardRef<
-  React.ElementRef<typeof TabsPrimitive.List>,
-  React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
->(({ className, ...props }, ref) => (
-  <TabsPrimitive.List
-    ref={ref}
-    className={cn(
-      "inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
-      className,
-    )}
-    {...props}
-  />
-));
-TabsList.displayName = TabsPrimitive.List.displayName;
- 
-const TabsTrigger = React.forwardRef<
-  React.ElementRef<typeof TabsPrimitive.Trigger>,
-  React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
->(({ className, ...props }, ref) => (
-  <TabsPrimitive.Trigger
-    ref={ref}
-    className={cn(
-      "inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-muted data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
-      className,
-    )}
-    {...props}
-  />
-));
-TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
- 
-const TabsContent = React.forwardRef<
-  React.ElementRef<typeof TabsPrimitive.Content>,
-  React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
->(({ className, ...props }, ref) => (
-  <TabsPrimitive.Content
-    ref={ref}
-    className={cn(
-      "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
-      className,
-    )}
-    {...props}
-  />
-));
-TabsContent.displayName = TabsPrimitive.Content.displayName;
- 
-export { Tabs, TabsList, TabsTrigger, TabsContent };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/components/ui/textarea.tsx.html b/client/coverage/client/src/components/ui/textarea.tsx.html deleted file mode 100644 index fffa6eb..0000000 --- a/client/coverage/client/src/components/ui/textarea.tsx.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for client/src/components/ui/textarea.tsx - - - - - - - - - -
-
-

All files / client/src/components/ui textarea.tsx

-
- -
- 100% - Statements - 15/15 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 15/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -251x -  -  -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -1x -  -1x -1x -1x -  -  - 
import * as React from "react";
- 
-import { cn } from "@/lib/utils";
- 
-export interface TextareaProps
-  extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}
- 
-const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
-  ({ className, ...props }, ref) => {
-    return (
-      <textarea
-        className={cn(
-          "flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
-          className,
-        )}
-        ref={ref}
-        {...props}
-      />
-    );
-  },
-);
-Textarea.displayName = "Textarea";
- 
-export { Textarea };
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/index.html b/client/coverage/client/src/index.html deleted file mode 100644 index c3f0a83..0000000 --- a/client/coverage/client/src/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for client/src - - - - - - - - - -
-
-

All files client/src

-
- -
- 59.17% - Statements - 274/463 -
- - -
- 86.2% - Branches - 25/29 -
- - -
- 5.88% - Functions - 2/34 -
- - -
- 59.17% - Lines - 274/463 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
App.tsx -
-
60.75%274/45189.28%25/286.06%2/3360.75%274/451
main.tsx -
-
0%0/120%0/10%0/10%0/12
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/hooks/index.html b/client/coverage/client/src/lib/hooks/index.html deleted file mode 100644 index 7e58a25..0000000 --- a/client/coverage/client/src/lib/hooks/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for client/src/lib/hooks - - - - - - - - - -
-
-

All files client/src/lib/hooks

-
- -
- 0% - Statements - 0/174 -
- - -
- 0% - Branches - 0/2 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/174 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
useConnection.ts -
-
0%0/1360%0/10%0/10%0/136
useDraggablePane.ts -
-
0%0/380%0/10%0/10%0/38
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/hooks/useConnection.ts.html b/client/coverage/client/src/lib/hooks/useConnection.ts.html deleted file mode 100644 index 531049b..0000000 --- a/client/coverage/client/src/lib/hooks/useConnection.ts.html +++ /dev/null @@ -1,646 +0,0 @@ - - - - - - Code coverage report for client/src/lib/hooks/useConnection.ts - - - - - - - - - -
-
-

All files / client/src/lib/hooks useConnection.ts

-
- -
- 0% - Statements - 0/136 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/136 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
-import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
-import {
-  ClientNotification,
-  ClientRequest,
-  CreateMessageRequestSchema,
-  ListRootsRequestSchema,
-  ProgressNotificationSchema,
-  Request,
-  Result,
-  ServerCapabilities,
-} from "@modelcontextprotocol/sdk/types.js";
-import { useState } from "react";
-import { toast } from "react-toastify";
-import { Notification, StdErrNotificationSchema } from "../notificationTypes";
-import { z } from "zod";
- 
-const DEFAULT_REQUEST_TIMEOUT_MSEC = 10000;
- 
-interface UseConnectionOptions {
-  transportType: "stdio" | "sse";
-  command: string;
-  args: string;
-  sseUrl: string;
-  env: Record<string, string>;
-  proxyServerUrl: string;
-  requestTimeout?: number;
-  onNotification?: (notification: Notification) => void;
-  onStdErrNotification?: (notification: Notification) => void;
-  onPendingRequest?: (request: any, resolve: any, reject: any) => void;
-  getRoots?: () => any[];
-}
- 
-export function useConnection({
-  transportType,
-  command,
-  args,
-  sseUrl,
-  env,
-  proxyServerUrl,
-  requestTimeout = DEFAULT_REQUEST_TIMEOUT_MSEC,
-  onNotification,
-  onStdErrNotification,
-  onPendingRequest,
-  getRoots,
-}: UseConnectionOptions) {
-  const [connectionStatus, setConnectionStatus] = useState<"disconnected" | "connected" | "error">("disconnected");
-  const [serverCapabilities, setServerCapabilities] = useState<ServerCapabilities | null>(null);
-  const [mcpClient, setMcpClient] = useState<Client | null>(null);
-  const [requestHistory, setRequestHistory] = useState<{ request: string; response?: string }[]>([]);
- 
-  const pushHistory = (request: object, response?: object) => {
-    setRequestHistory((prev) => [
-      ...prev,
-      {
-        request: JSON.stringify(request),
-        response: response !== undefined ? JSON.stringify(response) : undefined,
-      },
-    ]);
-  };
- 
-  const makeRequest = async <T extends z.ZodType>(
-    request: ClientRequest,
-    schema: T
-  ) => {
-    if (!mcpClient) {
-      throw new Error("MCP client not connected");
-    }
- 
-    try {
-      const abortController = new AbortController();
-      const timeoutId = setTimeout(() => {
-        abortController.abort("Request timed out");
-      }, requestTimeout);
- 
-      let response;
-      try {
-        response = await mcpClient.request(request, schema, {
-          signal: abortController.signal,
-        });
-        pushHistory(request, response);
-      } catch (error) {
-        const errorMessage = error instanceof Error ? error.message : String(error);
-        pushHistory(request, { error: errorMessage });
-        throw error;
-      } finally {
-        clearTimeout(timeoutId);
-      }
- 
- 
-      return response;
-    } catch (e: unknown) {
-      const errorString = (e as Error).message ?? String(e);
-      toast.error(errorString);
- 
-      throw e;
-    }
-  };
- 
-  const sendNotification = async (notification: ClientNotification) => {
-    if (!mcpClient) {
-      throw new Error("MCP client not connected");
-    }
- 
-    try {
-      await mcpClient.notification(notification);
-      pushHistory(notification);
-    } catch (e: unknown) {
-      toast.error((e as Error).message ?? String(e));
-      throw e;
-    }
-  };
- 
-  const connect = async () => {
-    try {
-      const client = new Client<Request, Notification, Result>(
-        {
-          name: "mcp-inspector",
-          version: "0.0.1",
-        },
-        {
-          capabilities: {
-            sampling: {},
-            roots: {
-              listChanged: true,
-            },
-          },
-        },
-      );
- 
-      const backendUrl = new URL(`${proxyServerUrl}/sse`);
- 
-      backendUrl.searchParams.append("transportType", transportType);
-      if (transportType === "stdio") {
-        backendUrl.searchParams.append("command", command);
-        backendUrl.searchParams.append("args", args);
-        backendUrl.searchParams.append("env", JSON.stringify(env));
-      } else {
-        backendUrl.searchParams.append("url", sseUrl);
-      }
- 
-      const clientTransport = new SSEClientTransport(backendUrl);
-      
-      if (onNotification) {
-        client.setNotificationHandler(ProgressNotificationSchema, onNotification);
-      }
- 
-      if (onStdErrNotification) {
-        client.setNotificationHandler(StdErrNotificationSchema, onStdErrNotification);
-      }
- 
-      await client.connect(clientTransport);
- 
-      const capabilities = client.getServerCapabilities();
-      setServerCapabilities(capabilities ?? null);
- 
-      if (onPendingRequest) {
-        client.setRequestHandler(CreateMessageRequestSchema, (request) => {
-          return new Promise((resolve, reject) => {
-            onPendingRequest(request, resolve, reject);
-          });
-        });
-      }
- 
-      if (getRoots) {
-        client.setRequestHandler(ListRootsRequestSchema, async () => {
-          return { roots: getRoots() };
-        });
-      }
- 
-      setMcpClient(client);
-      setConnectionStatus("connected");
-    } catch (e) {
-      console.error(e);
-      setConnectionStatus("error");
-    }
-  };
- 
-  return {
-    connectionStatus,
-    serverCapabilities,
-    mcpClient,
-    requestHistory,
-    makeRequest,
-    sendNotification,
-    connect
-  };
-}
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/hooks/useDraggablePane.ts.html b/client/coverage/client/src/lib/hooks/useDraggablePane.ts.html deleted file mode 100644 index 909259b..0000000 --- a/client/coverage/client/src/lib/hooks/useDraggablePane.ts.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - Code coverage report for client/src/lib/hooks/useDraggablePane.ts - - - - - - - - - -
-
-

All files / client/src/lib/hooks useDraggablePane.ts

-
- -
- 0% - Statements - 0/38 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/38 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { useCallback, useEffect, useRef, useState } from "react";
- 
-export function useDraggablePane(initialHeight: number) {
-  const [height, setHeight] = useState(initialHeight);
-  const [isDragging, setIsDragging] = useState(false);
-  const dragStartY = useRef<number>(0);
-  const dragStartHeight = useRef<number>(0);
- 
-  const handleDragStart = useCallback((e: React.MouseEvent) => {
-    setIsDragging(true);
-    dragStartY.current = e.clientY;
-    dragStartHeight.current = height;
-    document.body.style.userSelect = "none";
-  }, [height]);
- 
-  const handleDragMove = useCallback((e: MouseEvent) => {
-    if (!isDragging) return;
-    const deltaY = dragStartY.current - e.clientY;
-    const newHeight = Math.max(100, Math.min(800, dragStartHeight.current + deltaY));
-    setHeight(newHeight);
-  }, [isDragging]);
- 
-  const handleDragEnd = useCallback(() => {
-    setIsDragging(false);
-    document.body.style.userSelect = "";
-  }, []);
- 
-  useEffect(() => {
-    if (isDragging) {
-      window.addEventListener("mousemove", handleDragMove);
-      window.addEventListener("mouseup", handleDragEnd);
-      return () => {
-        window.removeEventListener("mousemove", handleDragMove);
-        window.removeEventListener("mouseup", handleDragEnd);
-      };
-    }
-  }, [isDragging, handleDragMove, handleDragEnd]);
- 
-  return {
-    height,
-    isDragging,
-    handleDragStart
-  };
-}
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/index.html b/client/coverage/client/src/lib/index.html deleted file mode 100644 index 9f7697b..0000000 --- a/client/coverage/client/src/lib/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for client/src/lib - - - - - - - - - -
-
-

All files client/src/lib

-
- -
- 61.11% - Statements - 33/54 -
- - -
- 66.66% - Branches - 6/9 -
- - -
- 60% - Functions - 3/5 -
- - -
- 61.11% - Lines - 33/54 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
notificationTypes.ts -
-
0%0/100%0/10%0/10%0/10
useTheme.ts -
-
72.5%29/4071.42%5/766.66%2/372.5%29/40
utils.ts -
-
100%4/4100%1/1100%1/1100%4/4
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/notificationTypes.ts.html b/client/coverage/client/src/lib/notificationTypes.ts.html deleted file mode 100644 index db007c8..0000000 --- a/client/coverage/client/src/lib/notificationTypes.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for client/src/lib/notificationTypes.ts - - - - - - - - - -
-
-

All files / client/src/lib notificationTypes.ts

-
- -
- 0% - Statements - 0/10 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/10 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {
-  NotificationSchema as BaseNotificationSchema,
-  ClientNotificationSchema,
-} from "@modelcontextprotocol/sdk/types.js";
-import { z } from "zod";
- 
-export const StdErrNotificationSchema = BaseNotificationSchema.extend({
-  method: z.literal("notifications/stderr"),
-  params: z.object({
-    content: z.string(),
-  }),
-});
- 
-export const NotificationSchema = ClientNotificationSchema.or(
-  StdErrNotificationSchema,
-);
- 
-export type StdErrNotification = z.infer<typeof StdErrNotificationSchema>;
-export type Notification = z.infer<typeof NotificationSchema>;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/useTheme.ts.html b/client/coverage/client/src/lib/useTheme.ts.html deleted file mode 100644 index 0488baa..0000000 --- a/client/coverage/client/src/lib/useTheme.ts.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - Code coverage report for client/src/lib/useTheme.ts - - - - - - - - - -
-
-

All files / client/src/lib useTheme.ts

-
- -
- 72.5% - Statements - 29/40 -
- - -
- 71.42% - Branches - 5/7 -
- - -
- 66.66% - Functions - 2/3 -
- - -
- 72.5% - Lines - 29/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -521x -  -  -  -1x -16x -7x -7x -16x -  -16x -7x -7x -7x -7x -  -  -  -  -  -7x -7x -7x -  -  -7x -7x -7x -  -  -  -7x -  -7x -7x -7x -16x -  -16x -16x -16x -  -  -  -  -  -16x -16x -16x -  -1x - 
import { useCallback, useEffect, useState } from "react";
- 
-type Theme = "light" | "dark" | "system";
- 
-const useTheme = (): [Theme, (mode: Theme) => void] => {
-  const [theme, setTheme] = useState<Theme>(() => {
-    const savedTheme = localStorage.getItem("theme") as Theme;
-    return savedTheme || "system";
-  });
- 
-  useEffect(() => {
-    const darkModeMediaQuery = window.matchMedia(
-      "(prefers-color-scheme: dark)",
-    );
-    const handleDarkModeChange = (e: MediaQueryListEvent) => {
-      if (theme === "system") {
-        updateDocumentTheme(e.matches ? "dark" : "light");
-      }
-    };
- 
-    const updateDocumentTheme = (newTheme: "light" | "dark") => {
-      document.documentElement.classList.toggle("dark", newTheme === "dark");
-    };
- 
-    // Set initial theme based on current mode
-    if (theme === "system") {
-      updateDocumentTheme(darkModeMediaQuery.matches ? "dark" : "light");
-    } else {
-      updateDocumentTheme(theme);
-    }
- 
-    darkModeMediaQuery.addEventListener("change", handleDarkModeChange);
- 
-    return () => {
-      darkModeMediaQuery.removeEventListener("change", handleDarkModeChange);
-    };
-  }, [theme]);
- 
-  return [
-    theme,
-    useCallback((newTheme: Theme) => {
-      setTheme(newTheme);
-      localStorage.setItem("theme", newTheme);
-      if (newTheme !== "system") {
-        document.documentElement.classList.toggle("dark", newTheme === "dark");
-      }
-    }, []),
-  ];
-};
- 
-export default useTheme;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/lib/utils.ts.html b/client/coverage/client/src/lib/utils.ts.html deleted file mode 100644 index a549064..0000000 --- a/client/coverage/client/src/lib/utils.ts.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - Code coverage report for client/src/lib/utils.ts - - - - - - - - - -
-
-

All files / client/src/lib utils.ts

-
- -
- 100% - Statements - 4/4 -
- - -
- 100% - Branches - 1/1 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 4/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -71x -  -  -1x -705x -705x - 
import { clsx, type ClassValue } from "clsx";
-import { twMerge } from "tailwind-merge";
- 
-export function cn(...inputs: ClassValue[]) {
-  return twMerge(clsx(inputs));
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/src/main.tsx.html b/client/coverage/client/src/main.tsx.html deleted file mode 100644 index ecfda5d..0000000 --- a/client/coverage/client/src/main.tsx.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - Code coverage report for client/src/main.tsx - - - - - - - - - -
-
-

All files / client/src main.tsx

-
- -
- 0% - Statements - 0/12 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/12 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14  -  -  -  -  -  -  -  -  -  -  -  -  - 
import { StrictMode } from "react";
-import { createRoot } from "react-dom/client";
-import { ToastContainer } from 'react-toastify';
-import 'react-toastify/dist/ReactToastify.css';
-import App from "./App.tsx";
-import "./index.css";
- 
-createRoot(document.getElementById("root")!).render(
-  <StrictMode>
-    <App />
-    <ToastContainer />
-  </StrictMode>,
-);
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/client/tailwind.config.js.html b/client/coverage/client/tailwind.config.js.html deleted file mode 100644 index 387ca41..0000000 --- a/client/coverage/client/tailwind.config.js.html +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - Code coverage report for client/tailwind.config.js - - - - - - - - - -
-
-

All files / client tailwind.config.js

-
- -
- 0% - Statements - 0/58 -
- - -
- 0% - Branches - 0/1 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/58 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
/** @type {import('tailwindcss').Config} */
-import animate from "tailwindcss-animate";
-export default {
-  darkMode: ["class"],
-  content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
-  theme: {
-    extend: {
-      borderRadius: {
-        lg: "var(--radius)",
-        md: "calc(var(--radius) - 2px)",
-        sm: "calc(var(--radius) - 4px)",
-      },
-      colors: {
-        background: "hsl(var(--background))",
-        foreground: "hsl(var(--foreground))",
-        card: {
-          DEFAULT: "hsl(var(--card))",
-          foreground: "hsl(var(--card-foreground))",
-        },
-        popover: {
-          DEFAULT: "hsl(var(--popover))",
-          foreground: "hsl(var(--popover-foreground))",
-        },
-        primary: {
-          DEFAULT: "hsl(var(--primary))",
-          foreground: "hsl(var(--primary-foreground))",
-        },
-        secondary: {
-          DEFAULT: "hsl(var(--secondary))",
-          foreground: "hsl(var(--secondary-foreground))",
-        },
-        muted: {
-          DEFAULT: "hsl(var(--muted))",
-          foreground: "hsl(var(--muted-foreground))",
-        },
-        accent: {
-          DEFAULT: "hsl(var(--accent))",
-          foreground: "hsl(var(--accent-foreground))",
-        },
-        destructive: {
-          DEFAULT: "hsl(var(--destructive))",
-          foreground: "hsl(var(--destructive-foreground))",
-        },
-        border: "hsl(var(--border))",
-        input: "hsl(var(--input))",
-        ring: "hsl(var(--ring))",
-        chart: {
-          1: "hsl(var(--chart-1))",
-          2: "hsl(var(--chart-2))",
-          3: "hsl(var(--chart-3))",
-          4: "hsl(var(--chart-4))",
-          5: "hsl(var(--chart-5))",
-        },
-      },
-    },
-  },
-  plugins: [animate],
-};
- -
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/clover.xml b/client/coverage/clover.xml deleted file mode 100644 index 5194fe3..0000000 --- a/client/coverage/clover.xml +++ /dev/null @@ -1,2137 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/client/coverage/coverage-final.json b/client/coverage/coverage-final.json deleted file mode 100644 index 05869d7..0000000 --- a/client/coverage/coverage-final.json +++ /dev/null @@ -1,28 +0,0 @@ -{"/Users/ashwin/code/mcp/inspector/client/postcss.config.js": {"path":"/Users/ashwin/code/mcp/inspector/client/postcss.config.js","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":16}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":12}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":20}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":21}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":4}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":2}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":6,"column":-11}},"locations":[{"start":{"line":1,"column":0},"end":{"line":6,"column":-11}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":6,"column":-11}},"loc":{"start":{"line":1,"column":0},"end":{"line":6,"column":-11}},"line":1}},"f":{"0":0}} -,"/Users/ashwin/code/mcp/inspector/client/tailwind.config.js": {"path":"/Users/ashwin/code/mcp/inspector/client/tailwind.config.js","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":43}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":42}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":16}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":22}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":58}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":10}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":13}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":21}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":28}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":40}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":40}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":8}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":15}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":45}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":45}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":15}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":38}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":10}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":18}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":41}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":55}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":10}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":41}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":55}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":10}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":20}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":43}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":57}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":10}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":16}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":39}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":53}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":10}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":17}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":40}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":54}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":10}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":22}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":45}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":59}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":10}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":37}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":33}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":16}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":35}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":35}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":35}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":35}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":35}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":10}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":8}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":6}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":4}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":21}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":2}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":58,"column":-82}},"locations":[{"start":{"line":1,"column":0},"end":{"line":58,"column":-82}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":58,"column":-82}},"loc":{"start":{"line":1,"column":0},"end":{"line":58,"column":-82}},"line":1}},"f":{"0":0}} -,"/Users/ashwin/code/mcp/inspector/client/bin/cli.js": {"path":"/Users/ashwin/code/mcp/inspector/client/bin/cli.js","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":19}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":37}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":36}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":36}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":24}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":0}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":58}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":44}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":57}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":58}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":0}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":38}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":30}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":16,"column":-241}},"locations":[{"start":{"line":1,"column":0},"end":{"line":16,"column":-241}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":16,"column":-241}},"loc":{"start":{"line":1,"column":0},"end":{"line":16,"column":-241}},"line":1}},"f":{"0":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/App.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/App.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":64}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":58}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":44}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":52}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":67}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":22}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":19}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":49}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":59}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":43}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":61}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":53}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":45}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":71}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":43}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":45}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":59}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":53}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":58}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":19}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":61}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":61}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":8}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":69}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":55}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":65}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":49}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":37}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":55}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":71}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":20}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":18}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":16}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":5}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":56}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":74}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":50}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":50}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":5}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":76}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":79}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":79}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":65}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":8}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":49}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":61}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":69}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":8}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":34}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":38}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":78}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":40}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":52}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":31}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":45}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":7}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":4}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":48}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":40}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":52}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":62}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":45}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":7}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":4}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":76}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":9}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":4}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":76}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":70}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":63}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":6}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":79}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":6}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":59}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":6}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":77}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":37}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":9}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":30}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":19}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":28}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":9}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":21}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":23}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":14}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":19}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":39}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":21}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":29}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":21}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":18}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":12}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":9}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":11}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":8}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":37}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":39}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":78}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":6}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":45}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":84}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":6}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":53}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":40}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":16}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":65}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":9}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":6}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":36}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":5}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":50}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":27}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":14}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":33}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":8}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":9}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":68}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":33}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":27}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":7}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":22}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":17}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":60}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":33}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":30}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":18}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":32}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":12}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":7}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":14}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":5}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":4}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":19}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":49}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":16}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":19}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":43}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":13}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":19}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":39}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":42}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":23}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":40}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":34}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":42}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":9}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":31}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":36}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":9}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":8}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":23}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":68}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":8}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":9}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":19}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":29}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":14}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":19}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":32}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":41}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":5}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":9}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":55}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":55}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":4}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":37}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":39}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":7}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":42}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":73}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":8}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":32}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":18}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":6}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":61}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":47}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":4}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":45}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":39}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":7}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":52}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":42}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":50}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":15}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":8}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":40}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":18}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":6}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":25}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":65}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":6}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":55}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":4}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":47}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":39}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":7}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":42}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":24}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":8}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":31}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":18}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":6}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":58}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":4}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":35}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":39}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":7}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":40}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":69}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":8}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":30}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":16}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":6}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":33}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":45}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":4}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":80}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":39}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":7}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":39}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":42}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":8}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":28}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":16}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":6}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":56}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":4}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":33}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":39}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":7}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":38}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":65}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":8}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":28}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":14}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":6}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":29}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":43}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":4}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":77}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":39}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":7}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":38}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":17}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":15}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":28}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":18}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":54}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":12}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":10}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":8}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":40}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":14}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":6}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":28}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":4}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":41}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":75}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":4}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":10}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":49}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":14}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":43}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":37}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":43}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":25}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":31}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":19}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":25}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":23}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":29}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":17}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":23}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":36}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":49}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":8}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":60}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":46}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":24}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":17}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":28}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":95}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":47}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":61}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":57}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":53}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":22}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":36}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":71}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":45}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":89}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":52}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":30}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":85}},"363":{"start":{"line":364,"column":0},"end":{"line":364,"column":60}},"365":{"start":{"line":366,"column":0},"end":{"line":366,"column":30}},"366":{"start":{"line":367,"column":0},"end":{"line":367,"column":81}},"367":{"start":{"line":368,"column":0},"end":{"line":368,"column":53}},"369":{"start":{"line":370,"column":0},"end":{"line":370,"column":30}},"370":{"start":{"line":371,"column":0},"end":{"line":371,"column":42}},"371":{"start":{"line":372,"column":0},"end":{"line":372,"column":51}},"373":{"start":{"line":374,"column":0},"end":{"line":374,"column":30}},"374":{"start":{"line":375,"column":0},"end":{"line":375,"column":67}},"375":{"start":{"line":376,"column":0},"end":{"line":376,"column":51}},"377":{"start":{"line":378,"column":0},"end":{"line":378,"column":56}},"378":{"start":{"line":379,"column":0},"end":{"line":379,"column":147}},"379":{"start":{"line":380,"column":0},"end":{"line":380,"column":52}},"380":{"start":{"line":381,"column":0},"end":{"line":381,"column":27}},"382":{"start":{"line":383,"column":0},"end":{"line":383,"column":30}},"383":{"start":{"line":384,"column":0},"end":{"line":384,"column":43}},"384":{"start":{"line":385,"column":0},"end":{"line":385,"column":57}},"386":{"start":{"line":387,"column":0},"end":{"line":387,"column":30}},"387":{"start":{"line":388,"column":0},"end":{"line":388,"column":25}},"389":{"start":{"line":390,"column":0},"end":{"line":390,"column":38}},"390":{"start":{"line":391,"column":0},"end":{"line":391,"column":113}},"391":{"start":{"line":392,"column":0},"end":{"line":392,"column":72}},"392":{"start":{"line":393,"column":0},"end":{"line":393,"column":57}},"394":{"start":{"line":395,"column":0},"end":{"line":395,"column":24}},"395":{"start":{"line":396,"column":0},"end":{"line":396,"column":24}},"397":{"start":{"line":398,"column":0},"end":{"line":398,"column":20}},"398":{"start":{"line":399,"column":0},"end":{"line":399,"column":33}},"399":{"start":{"line":400,"column":0},"end":{"line":400,"column":43}},"400":{"start":{"line":401,"column":0},"end":{"line":401,"column":59}},"401":{"start":{"line":402,"column":0},"end":{"line":402,"column":44}},"402":{"start":{"line":403,"column":0},"end":{"line":403,"column":48}},"403":{"start":{"line":404,"column":0},"end":{"line":404,"column":40}},"404":{"start":{"line":405,"column":0},"end":{"line":405,"column":24}},"405":{"start":{"line":406,"column":0},"end":{"line":406,"column":45}},"406":{"start":{"line":407,"column":0},"end":{"line":407,"column":41}},"407":{"start":{"line":408,"column":0},"end":{"line":408,"column":57}},"408":{"start":{"line":409,"column":0},"end":{"line":409,"column":24}},"409":{"start":{"line":410,"column":0},"end":{"line":410,"column":52}},"410":{"start":{"line":411,"column":0},"end":{"line":411,"column":48}},"411":{"start":{"line":412,"column":0},"end":{"line":412,"column":48}},"412":{"start":{"line":413,"column":0},"end":{"line":413,"column":24}},"413":{"start":{"line":414,"column":0},"end":{"line":414,"column":53}},"414":{"start":{"line":415,"column":0},"end":{"line":415,"column":49}},"415":{"start":{"line":416,"column":0},"end":{"line":416,"column":65}},"416":{"start":{"line":417,"column":0},"end":{"line":417,"column":24}},"417":{"start":{"line":418,"column":0},"end":{"line":418,"column":46}},"418":{"start":{"line":419,"column":0},"end":{"line":419,"column":48}},"419":{"start":{"line":420,"column":0},"end":{"line":420,"column":42}},"420":{"start":{"line":421,"column":0},"end":{"line":421,"column":24}},"421":{"start":{"line":422,"column":0},"end":{"line":422,"column":57}},"422":{"start":{"line":423,"column":0},"end":{"line":423,"column":58}},"423":{"start":{"line":424,"column":0},"end":{"line":424,"column":48}},"424":{"start":{"line":425,"column":0},"end":{"line":425,"column":54}},"425":{"start":{"line":426,"column":0},"end":{"line":426,"column":24}},"426":{"start":{"line":427,"column":0},"end":{"line":427,"column":55}},"427":{"start":{"line":428,"column":0},"end":{"line":428,"column":53}},"428":{"start":{"line":429,"column":0},"end":{"line":429,"column":69}},"429":{"start":{"line":430,"column":0},"end":{"line":430,"column":46}},"430":{"start":{"line":431,"column":0},"end":{"line":431,"column":22}},"431":{"start":{"line":432,"column":0},"end":{"line":432,"column":31}},"432":{"start":{"line":433,"column":0},"end":{"line":433,"column":39}},"433":{"start":{"line":434,"column":0},"end":{"line":434,"column":42}},"434":{"start":{"line":435,"column":0},"end":{"line":435,"column":46}},"435":{"start":{"line":436,"column":0},"end":{"line":436,"column":38}},"436":{"start":{"line":437,"column":0},"end":{"line":437,"column":24}},"437":{"start":{"line":438,"column":0},"end":{"line":438,"column":43}},"438":{"start":{"line":439,"column":0},"end":{"line":439,"column":39}},"439":{"start":{"line":440,"column":0},"end":{"line":440,"column":55}},"440":{"start":{"line":441,"column":0},"end":{"line":441,"column":24}},"441":{"start":{"line":442,"column":0},"end":{"line":442,"column":50}},"442":{"start":{"line":443,"column":0},"end":{"line":443,"column":46}},"443":{"start":{"line":444,"column":0},"end":{"line":444,"column":46}},"444":{"start":{"line":445,"column":0},"end":{"line":445,"column":24}},"445":{"start":{"line":446,"column":0},"end":{"line":446,"column":53}},"446":{"start":{"line":447,"column":0},"end":{"line":447,"column":54}},"447":{"start":{"line":448,"column":0},"end":{"line":448,"column":46}},"448":{"start":{"line":449,"column":0},"end":{"line":449,"column":50}},"449":{"start":{"line":450,"column":0},"end":{"line":450,"column":24}},"450":{"start":{"line":451,"column":0},"end":{"line":451,"column":51}},"451":{"start":{"line":452,"column":0},"end":{"line":452,"column":51}},"452":{"start":{"line":453,"column":0},"end":{"line":453,"column":44}},"453":{"start":{"line":454,"column":0},"end":{"line":454,"column":22}},"454":{"start":{"line":455,"column":0},"end":{"line":455,"column":29}},"455":{"start":{"line":456,"column":0},"end":{"line":456,"column":35}},"456":{"start":{"line":457,"column":0},"end":{"line":457,"column":40}},"457":{"start":{"line":458,"column":0},"end":{"line":458,"column":44}},"458":{"start":{"line":459,"column":0},"end":{"line":459,"column":36}},"459":{"start":{"line":460,"column":0},"end":{"line":460,"column":24}},"460":{"start":{"line":461,"column":0},"end":{"line":461,"column":41}},"461":{"start":{"line":462,"column":0},"end":{"line":462,"column":37}},"462":{"start":{"line":463,"column":0},"end":{"line":463,"column":53}},"463":{"start":{"line":464,"column":0},"end":{"line":464,"column":24}},"464":{"start":{"line":465,"column":0},"end":{"line":465,"column":51}},"465":{"start":{"line":466,"column":0},"end":{"line":466,"column":44}},"466":{"start":{"line":467,"column":0},"end":{"line":467,"column":47}},"467":{"start":{"line":468,"column":0},"end":{"line":468,"column":24}},"468":{"start":{"line":469,"column":0},"end":{"line":469,"column":49}},"469":{"start":{"line":470,"column":0},"end":{"line":470,"column":50}},"470":{"start":{"line":471,"column":0},"end":{"line":471,"column":44}},"471":{"start":{"line":472,"column":0},"end":{"line":472,"column":46}},"472":{"start":{"line":473,"column":0},"end":{"line":473,"column":44}},"473":{"start":{"line":474,"column":0},"end":{"line":474,"column":24}},"474":{"start":{"line":475,"column":0},"end":{"line":475,"column":45}},"475":{"start":{"line":476,"column":0},"end":{"line":476,"column":49}},"476":{"start":{"line":477,"column":0},"end":{"line":477,"column":42}},"477":{"start":{"line":478,"column":0},"end":{"line":478,"column":22}},"478":{"start":{"line":479,"column":0},"end":{"line":479,"column":34}},"479":{"start":{"line":480,"column":0},"end":{"line":480,"column":28}},"480":{"start":{"line":481,"column":0},"end":{"line":481,"column":42}},"481":{"start":{"line":482,"column":0},"end":{"line":482,"column":41}},"482":{"start":{"line":483,"column":0},"end":{"line":483,"column":27}},"483":{"start":{"line":484,"column":0},"end":{"line":484,"column":52}},"484":{"start":{"line":485,"column":0},"end":{"line":485,"column":28}},"485":{"start":{"line":486,"column":0},"end":{"line":486,"column":44}},"486":{"start":{"line":487,"column":0},"end":{"line":487,"column":26}},"487":{"start":{"line":488,"column":0},"end":{"line":488,"column":24}},"488":{"start":{"line":489,"column":0},"end":{"line":489,"column":22}},"489":{"start":{"line":490,"column":0},"end":{"line":490,"column":32}},"490":{"start":{"line":491,"column":0},"end":{"line":491,"column":61}},"491":{"start":{"line":492,"column":0},"end":{"line":492,"column":55}},"492":{"start":{"line":493,"column":0},"end":{"line":493,"column":53}},"493":{"start":{"line":494,"column":0},"end":{"line":494,"column":22}},"494":{"start":{"line":495,"column":0},"end":{"line":495,"column":29}},"495":{"start":{"line":496,"column":0},"end":{"line":496,"column":35}},"496":{"start":{"line":497,"column":0},"end":{"line":497,"column":41}},"497":{"start":{"line":498,"column":0},"end":{"line":498,"column":55}},"498":{"start":{"line":499,"column":0},"end":{"line":499,"column":22}},"499":{"start":{"line":500,"column":0},"end":{"line":500,"column":21}},"501":{"start":{"line":502,"column":0},"end":{"line":502,"column":20}},"502":{"start":{"line":503,"column":0},"end":{"line":503,"column":19}},"504":{"start":{"line":505,"column":0},"end":{"line":505,"column":69}},"505":{"start":{"line":506,"column":0},"end":{"line":506,"column":51}},"507":{"start":{"line":508,"column":0},"end":{"line":508,"column":18}},"508":{"start":{"line":509,"column":0},"end":{"line":509,"column":18}},"510":{"start":{"line":511,"column":0},"end":{"line":511,"column":14}},"511":{"start":{"line":512,"column":0},"end":{"line":512,"column":12}},"512":{"start":{"line":513,"column":0},"end":{"line":513,"column":53}},"513":{"start":{"line":514,"column":0},"end":{"line":514,"column":18}},"514":{"start":{"line":515,"column":0},"end":{"line":515,"column":45}},"515":{"start":{"line":516,"column":0},"end":{"line":516,"column":12}},"517":{"start":{"line":518,"column":0},"end":{"line":518,"column":14}},"518":{"start":{"line":519,"column":0},"end":{"line":519,"column":120}},"519":{"start":{"line":520,"column":0},"end":{"line":520,"column":41}},"521":{"start":{"line":522,"column":0},"end":{"line":522,"column":62}},"522":{"start":{"line":523,"column":0},"end":{"line":523,"column":16}},"523":{"start":{"line":524,"column":0},"end":{"line":524,"column":48}},"524":{"start":{"line":525,"column":0},"end":{"line":525,"column":36}},"525":{"start":{"line":526,"column":0},"end":{"line":526,"column":45}},"526":{"start":{"line":527,"column":0},"end":{"line":527,"column":49}},"527":{"start":{"line":528,"column":0},"end":{"line":528,"column":14}},"528":{"start":{"line":529,"column":0},"end":{"line":529,"column":16}},"529":{"start":{"line":530,"column":0},"end":{"line":530,"column":14}},"530":{"start":{"line":531,"column":0},"end":{"line":531,"column":12}},"531":{"start":{"line":532,"column":0},"end":{"line":532,"column":10}},"533":{"start":{"line":534,"column":0},"end":{"line":534,"column":2}},"535":{"start":{"line":536,"column":0},"end":{"line":536,"column":19}}},"s":{"0":1,"1":1,"19":1,"20":1,"24":1,"32":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"46":1,"47":1,"48":1,"50":1,"51":16,"52":16,"54":16,"55":16,"56":16,"57":16,"58":16,"59":16,"60":16,"61":16,"62":16,"63":16,"64":16,"65":16,"66":16,"67":7,"68":16,"69":16,"70":7,"71":16,"73":16,"74":16,"75":16,"76":16,"78":16,"79":16,"80":16,"82":16,"89":16,"90":16,"91":16,"93":16,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"101":16,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"109":16,"110":16,"111":16,"112":16,"113":16,"114":16,"116":16,"117":16,"119":16,"120":16,"122":16,"123":16,"124":16,"126":16,"127":16,"128":16,"129":16,"131":16,"132":16,"133":16,"134":16,"135":16,"136":16,"137":16,"138":16,"139":16,"140":16,"141":16,"142":16,"143":16,"144":16,"145":16,"146":16,"147":0,"148":0,"149":16,"150":0,"151":0,"152":16,"153":1,"154":1,"155":1,"156":1,"157":1,"158":16,"159":16,"161":16,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"184":16,"185":10,"186":16,"188":16,"189":8,"190":16,"192":16,"193":7,"194":7,"195":7,"196":7,"197":7,"198":7,"199":7,"200":7,"201":7,"202":7,"203":7,"204":7,"205":0,"206":7,"207":16,"209":16,"210":7,"211":16,"213":16,"214":7,"215":7,"216":7,"217":16,"219":16,"220":0,"221":0,"223":16,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"236":16,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"253":16,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"265":16,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"278":16,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"290":16,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"303":16,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"321":16,"322":0,"323":0,"325":16,"326":16,"327":16,"328":16,"329":16,"330":16,"331":16,"332":16,"333":16,"334":16,"335":16,"336":16,"337":16,"338":16,"339":16,"340":16,"341":16,"342":16,"343":16,"344":16,"345":9,"346":9,"347":9,"348":0,"349":9,"350":7,"351":5,"352":5,"354":9,"355":9,"357":9,"358":9,"359":9,"361":9,"362":9,"363":9,"365":9,"366":9,"367":9,"369":9,"370":9,"371":9,"373":9,"374":9,"375":9,"377":9,"378":1,"379":1,"380":1,"382":9,"383":9,"384":9,"386":9,"387":9,"389":9,"390":9,"391":5,"392":5,"394":5,"395":5,"397":4,"398":4,"399":4,"400":4,"401":4,"402":0,"403":0,"404":0,"405":4,"406":0,"407":0,"408":0,"409":4,"410":0,"411":0,"412":0,"413":4,"414":0,"415":0,"416":0,"417":4,"418":0,"419":0,"420":0,"421":4,"422":4,"423":0,"424":0,"425":0,"426":4,"427":4,"428":4,"429":4,"430":4,"431":4,"432":4,"433":4,"434":0,"435":0,"436":0,"437":4,"438":0,"439":0,"440":0,"441":4,"442":0,"443":0,"444":0,"445":4,"446":4,"447":0,"448":0,"449":0,"450":4,"451":4,"452":4,"453":4,"454":4,"455":4,"456":4,"457":0,"458":0,"459":0,"460":4,"461":0,"462":0,"463":0,"464":4,"465":0,"466":0,"467":0,"468":4,"469":4,"470":0,"471":0,"472":0,"473":0,"474":4,"475":4,"476":4,"477":4,"478":4,"479":4,"480":4,"481":0,"482":0,"483":0,"484":0,"485":0,"486":0,"487":0,"488":4,"489":4,"490":4,"491":4,"492":4,"493":4,"494":4,"495":4,"496":4,"497":4,"498":4,"499":4,"501":9,"502":9,"504":7,"505":7,"507":7,"508":7,"510":16,"511":16,"512":16,"513":16,"514":16,"515":16,"517":16,"518":16,"519":16,"521":16,"522":16,"523":16,"524":16,"525":16,"526":16,"527":16,"528":16,"529":16,"530":16,"531":16,"533":16,"535":1},"branchMap":{"0":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":12},"end":{"line":534,"column":2}},"locations":[{"start":{"line":51,"column":12},"end":{"line":534,"column":2}}]},"1":{"type":"branch","line":345,"loc":{"start":{"line":345,"column":11},"end":{"line":503,"column":19}},"locations":[{"start":{"line":345,"column":11},"end":{"line":503,"column":19}}]},"2":{"type":"branch","line":348,"loc":{"start":{"line":348,"column":28},"end":{"line":348,"column":52}},"locations":[{"start":{"line":348,"column":28},"end":{"line":348,"column":52}}]},"3":{"type":"branch","line":348,"loc":{"start":{"line":348,"column":92},"end":{"line":349,"column":47}},"locations":[{"start":{"line":348,"column":92},"end":{"line":349,"column":47}}]},"4":{"type":"branch","line":350,"loc":{"start":{"line":350,"column":36},"end":{"line":350,"column":61}},"locations":[{"start":{"line":350,"column":36},"end":{"line":350,"column":61}}]},"5":{"type":"branch","line":350,"loc":{"start":{"line":350,"column":48},"end":{"line":353,"column":22}},"locations":[{"start":{"line":350,"column":48},"end":{"line":353,"column":22}}]},"6":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":36},"end":{"line":351,"column":57}},"locations":[{"start":{"line":351,"column":36},"end":{"line":351,"column":57}}]},"7":{"type":"branch","line":351,"loc":{"start":{"line":351,"column":46},"end":{"line":353,"column":22}},"locations":[{"start":{"line":351,"column":46},"end":{"line":353,"column":22}}]},"8":{"type":"branch","line":352,"loc":{"start":{"line":352,"column":36},"end":{"line":352,"column":53}},"locations":[{"start":{"line":352,"column":36},"end":{"line":352,"column":53}}]},"9":{"type":"branch","line":378,"loc":{"start":{"line":378,"column":50},"end":{"line":381,"column":27}},"locations":[{"start":{"line":378,"column":50},"end":{"line":381,"column":27}}]},"10":{"type":"branch","line":391,"loc":{"start":{"line":391,"column":38},"end":{"line":391,"column":83}},"locations":[{"start":{"line":391,"column":38},"end":{"line":391,"column":83}}]},"11":{"type":"branch","line":391,"loc":{"start":{"line":391,"column":72},"end":{"line":391,"column":113}},"locations":[{"start":{"line":391,"column":72},"end":{"line":391,"column":113}}]},"12":{"type":"branch","line":391,"loc":{"start":{"line":391,"column":104},"end":{"line":396,"column":24}},"locations":[{"start":{"line":391,"column":104},"end":{"line":396,"column":24}}]},"13":{"type":"branch","line":396,"loc":{"start":{"line":396,"column":18},"end":{"line":500,"column":21}},"locations":[{"start":{"line":396,"column":18},"end":{"line":500,"column":21}}]},"14":{"type":"branch","line":503,"loc":{"start":{"line":503,"column":12},"end":{"line":509,"column":18}},"locations":[{"start":{"line":503,"column":12},"end":{"line":509,"column":18}}]},"15":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":49},"end":{"line":69,"column":3}},"locations":[{"start":{"line":67,"column":49},"end":{"line":69,"column":3}}]},"16":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":45},"end":{"line":68,"column":74}},"locations":[{"start":{"line":68,"column":45},"end":{"line":68,"column":74}}]},"17":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":43},"end":{"line":72,"column":3}},"locations":[{"start":{"line":70,"column":43},"end":{"line":72,"column":3}}]},"18":{"type":"branch","line":71,"loc":{"start":{"line":71,"column":42},"end":{"line":71,"column":50}},"locations":[{"start":{"line":71,"column":42},"end":{"line":71,"column":50}}]},"19":{"type":"branch","line":153,"loc":{"start":{"line":153,"column":22},"end":{"line":158,"column":6}},"locations":[{"start":{"line":153,"column":22},"end":{"line":158,"column":6}}]},"20":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":31},"end":{"line":157,"column":7}},"locations":[{"start":{"line":154,"column":31},"end":{"line":157,"column":7}}]},"21":{"type":"branch","line":185,"loc":{"start":{"line":185,"column":12},"end":{"line":187,"column":5}},"locations":[{"start":{"line":185,"column":12},"end":{"line":187,"column":5}}]},"22":{"type":"branch","line":189,"loc":{"start":{"line":189,"column":12},"end":{"line":191,"column":5}},"locations":[{"start":{"line":189,"column":12},"end":{"line":191,"column":5}}]},"23":{"type":"branch","line":193,"loc":{"start":{"line":193,"column":12},"end":{"line":208,"column":5}},"locations":[{"start":{"line":193,"column":12},"end":{"line":208,"column":5}}]},"24":{"type":"branch","line":195,"loc":{"start":{"line":195,"column":12},"end":{"line":195,"column":41}},"locations":[{"start":{"line":195,"column":12},"end":{"line":195,"column":41}}]},"25":{"type":"branch","line":196,"loc":{"start":{"line":196,"column":12},"end":{"line":204,"column":7}},"locations":[{"start":{"line":196,"column":12},"end":{"line":204,"column":7}}]},"26":{"type":"branch","line":210,"loc":{"start":{"line":210,"column":12},"end":{"line":212,"column":5}},"locations":[{"start":{"line":210,"column":12},"end":{"line":212,"column":5}}]},"27":{"type":"branch","line":214,"loc":{"start":{"line":214,"column":12},"end":{"line":218,"column":5}},"locations":[{"start":{"line":214,"column":12},"end":{"line":218,"column":5}}]}},"b":{"0":[16],"1":[9],"2":[0],"3":[0],"4":[2],"5":[7],"6":[2],"7":[5],"8":[0],"9":[1],"10":[7],"11":[5],"12":[5],"13":[4],"14":[7],"15":[7],"16":[1],"17":[7],"18":[1],"19":[1],"20":[1],"21":[10],"22":[8],"23":[7],"24":[7],"25":[7],"26":[7],"27":[7]},"fnMap":{"0":{"name":"App","decl":{"start":{"line":51,"column":12},"end":{"line":534,"column":2}},"loc":{"start":{"line":51,"column":12},"end":{"line":534,"column":2}},"line":51},"1":{"name":"handleApproveSampling","decl":{"start":{"line":94,"column":32},"end":{"line":100,"column":4}},"loc":{"start":{"line":94,"column":32},"end":{"line":100,"column":4}},"line":94},"2":{"name":"handleRejectSampling","decl":{"start":{"line":102,"column":31},"end":{"line":108,"column":4}},"loc":{"start":{"line":102,"column":31},"end":{"line":108,"column":4}},"line":102},"3":{"name":"onNotification","decl":{"start":{"line":147,"column":20},"end":{"line":149,"column":6}},"loc":{"start":{"line":147,"column":20},"end":{"line":149,"column":6}},"line":147},"4":{"name":"onStdErrNotification","decl":{"start":{"line":150,"column":26},"end":{"line":152,"column":6}},"loc":{"start":{"line":150,"column":26},"end":{"line":152,"column":6}},"line":150},"5":{"name":"onPendingRequest","decl":{"start":{"line":153,"column":22},"end":{"line":158,"column":6}},"loc":{"start":{"line":153,"column":22},"end":{"line":158,"column":6}},"line":153},"6":{"name":"getRoots","decl":{"start":{"line":159,"column":14},"end":{"line":159,"column":36}},"loc":{"start":{"line":159,"column":14},"end":{"line":159,"column":36}},"line":159},"7":{"name":"makeRequest","decl":{"start":{"line":162,"column":22},"end":{"line":183,"column":4}},"loc":{"start":{"line":162,"column":22},"end":{"line":183,"column":4}},"line":162},"8":{"name":"clearError","decl":{"start":{"line":220,"column":21},"end":{"line":222,"column":4}},"loc":{"start":{"line":220,"column":21},"end":{"line":222,"column":4}},"line":220},"9":{"name":"listResources","decl":{"start":{"line":224,"column":24},"end":{"line":235,"column":4}},"loc":{"start":{"line":224,"column":24},"end":{"line":235,"column":4}},"line":224},"10":{"name":"listResourceTemplates","decl":{"start":{"line":237,"column":32},"end":{"line":252,"column":4}},"loc":{"start":{"line":237,"column":32},"end":{"line":252,"column":4}},"line":237},"11":{"name":"readResource","decl":{"start":{"line":254,"column":23},"end":{"line":264,"column":4}},"loc":{"start":{"line":254,"column":23},"end":{"line":264,"column":4}},"line":254},"12":{"name":"listPrompts","decl":{"start":{"line":266,"column":22},"end":{"line":277,"column":4}},"loc":{"start":{"line":266,"column":22},"end":{"line":277,"column":4}},"line":266},"13":{"name":"getPrompt","decl":{"start":{"line":279,"column":20},"end":{"line":289,"column":4}},"loc":{"start":{"line":279,"column":20},"end":{"line":289,"column":4}},"line":279},"14":{"name":"listTools","decl":{"start":{"line":291,"column":20},"end":{"line":302,"column":4}},"loc":{"start":{"line":291,"column":20},"end":{"line":302,"column":4}},"line":291},"15":{"name":"callTool","decl":{"start":{"line":304,"column":19},"end":{"line":320,"column":4}},"loc":{"start":{"line":304,"column":19},"end":{"line":320,"column":4}},"line":304},"16":{"name":"handleRootsChange","decl":{"start":{"line":322,"column":28},"end":{"line":324,"column":4}},"loc":{"start":{"line":322,"column":28},"end":{"line":324,"column":4}},"line":322},"17":{"name":"onValueChange","decl":{"start":{"line":356,"column":29},"end":{"line":356,"column":71}},"loc":{"start":{"line":356,"column":29},"end":{"line":356,"column":71}},"line":356},"18":{"name":"listResources","decl":{"start":{"line":402,"column":37},"end":{"line":405,"column":24}},"loc":{"start":{"line":402,"column":37},"end":{"line":405,"column":24}},"line":402},"19":{"name":"clearResources","decl":{"start":{"line":406,"column":38},"end":{"line":409,"column":24}},"loc":{"start":{"line":406,"column":38},"end":{"line":409,"column":24}},"line":406},"20":{"name":"listResourceTemplates","decl":{"start":{"line":410,"column":45},"end":{"line":413,"column":24}},"loc":{"start":{"line":410,"column":45},"end":{"line":413,"column":24}},"line":410},"21":{"name":"clearResourceTemplates","decl":{"start":{"line":414,"column":46},"end":{"line":417,"column":24}},"loc":{"start":{"line":414,"column":46},"end":{"line":417,"column":24}},"line":414},"22":{"name":"readResource","decl":{"start":{"line":418,"column":36},"end":{"line":421,"column":24}},"loc":{"start":{"line":418,"column":36},"end":{"line":421,"column":24}},"line":418},"23":{"name":"setSelectedResource","decl":{"start":{"line":423,"column":43},"end":{"line":426,"column":24}},"loc":{"start":{"line":423,"column":43},"end":{"line":426,"column":24}},"line":423},"24":{"name":"listPrompts","decl":{"start":{"line":434,"column":35},"end":{"line":437,"column":24}},"loc":{"start":{"line":434,"column":35},"end":{"line":437,"column":24}},"line":434},"25":{"name":"clearPrompts","decl":{"start":{"line":438,"column":36},"end":{"line":441,"column":24}},"loc":{"start":{"line":438,"column":36},"end":{"line":441,"column":24}},"line":438},"26":{"name":"getPrompt","decl":{"start":{"line":442,"column":33},"end":{"line":445,"column":24}},"loc":{"start":{"line":442,"column":33},"end":{"line":445,"column":24}},"line":442},"27":{"name":"setSelectedPrompt","decl":{"start":{"line":447,"column":41},"end":{"line":450,"column":24}},"loc":{"start":{"line":447,"column":41},"end":{"line":450,"column":24}},"line":447},"28":{"name":"listTools","decl":{"start":{"line":457,"column":33},"end":{"line":460,"column":24}},"loc":{"start":{"line":457,"column":33},"end":{"line":460,"column":24}},"line":457},"29":{"name":"clearTools","decl":{"start":{"line":461,"column":34},"end":{"line":464,"column":24}},"loc":{"start":{"line":461,"column":34},"end":{"line":464,"column":24}},"line":461},"30":{"name":"callTool","decl":{"start":{"line":465,"column":32},"end":{"line":468,"column":24}},"loc":{"start":{"line":465,"column":32},"end":{"line":468,"column":24}},"line":465},"31":{"name":"setSelectedTool","decl":{"start":{"line":470,"column":39},"end":{"line":474,"column":24}},"loc":{"start":{"line":470,"column":39},"end":{"line":474,"column":24}},"line":470},"32":{"name":"onPingClick","decl":{"start":{"line":481,"column":35},"end":{"line":488,"column":24}},"loc":{"start":{"line":481,"column":35},"end":{"line":488,"column":24}},"line":481}},"f":{"0":16,"1":0,"2":0,"3":0,"4":0,"5":1,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/main.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/main.tsx","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":35}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":46}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":47}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":28}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":21}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":52}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":14}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":11}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":22}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":16}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":2}}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":354},"end":{"line":13,"column":2}},"locations":[{"start":{"line":1,"column":354},"end":{"line":13,"column":2}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":354},"end":{"line":13,"column":2}},"loc":{"start":{"line":1,"column":354},"end":{"line":13,"column":2}},"line":1}},"f":{"0":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ConsoleTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ConsoleTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":26}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":48}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":101}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":69}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":10}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":16}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":26}}},"s":{"0":1,"2":1,"3":4,"4":4,"5":4,"7":4,"8":4,"11":1},"branchMap":{"0":{"type":"branch","line":3,"loc":{"start":{"line":3,"column":19},"end":{"line":9,"column":16}},"locations":[{"start":{"line":3,"column":19},"end":{"line":9,"column":16}}]}},"b":{"0":[4]},"fnMap":{"0":{"name":"ConsoleTab","decl":{"start":{"line":3,"column":19},"end":{"line":9,"column":16}},"loc":{"start":{"line":3,"column":19},"end":{"line":9,"column":16}},"line":3}},"f":{"0":4}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/History.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/History.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":72}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":36}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":33}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":34}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":17}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":22}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":4}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":7}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":60}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":9}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":70}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":9}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":53}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":72}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":58}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":77}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":4}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":45}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":40}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":4}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":10}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":57}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":59}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":63}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":40}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":72}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":36}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":27}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":22}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":24}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":40}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":19}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":29}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":78}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":22}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":80}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":34}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":79}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":48}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":59}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":58}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":27}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":26}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":74}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":29}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":30}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":27}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":24}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":75}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":22}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":44}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":80}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":72}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":33}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":33}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":76}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":73}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":46}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":35}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":30}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":99}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":80}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":30}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":28}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":44}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":46}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":82}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":75}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":35}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":35}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":80}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":75}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":48}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":37}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":32}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":101}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":44}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":59}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":35}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":32}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":30}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":32}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":30}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":23}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":21}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":17}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":15}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":12}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":50}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":76}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":45}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":78}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":36}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":32}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":22}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":24}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":45}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":19}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":29}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":78}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":22}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":80}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":70}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":48}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":64}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":43}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":27}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":75}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":24}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":52}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":42}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":78}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":72}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":31}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":31}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":40}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":73}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":71}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":44}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":33}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":28}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":97}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":63}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":28}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":26}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":21}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":17}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":15}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":12}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":10}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":2}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":39}}},"s":{"0":1,"1":1,"2":1,"4":1,"5":21,"6":21,"7":21,"10":21,"11":21,"13":21,"14":21,"16":21,"18":21,"19":1,"20":1,"22":21,"23":1,"24":1,"26":21,"27":0,"28":0,"30":21,"31":21,"32":21,"33":21,"34":21,"35":18,"37":3,"38":3,"39":3,"40":3,"41":3,"42":6,"43":6,"44":6,"46":6,"47":6,"48":6,"49":1,"52":6,"53":6,"54":6,"55":6,"56":6,"57":6,"58":1,"59":5,"60":6,"61":6,"62":6,"63":1,"64":1,"65":1,"66":1,"68":1,"69":1,"70":1,"71":1,"73":1,"74":1,"75":1,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":1,"85":1,"86":1,"87":1,"88":1,"90":1,"91":1,"92":1,"93":1,"94":1,"95":1,"96":1,"97":1,"98":1,"99":1,"100":1,"102":1,"104":6,"105":3,"106":3,"108":21,"109":21,"110":21,"111":21,"112":19,"114":2,"115":2,"116":2,"117":2,"118":2,"119":4,"120":4,"121":4,"123":4,"124":4,"125":4,"127":4,"128":4,"129":4,"130":4,"131":4,"132":4,"133":4,"134":1,"135":1,"136":1,"138":1,"139":1,"140":1,"141":0,"143":1,"145":1,"146":1,"147":1,"148":1,"149":1,"150":1,"151":1,"153":4,"154":2,"155":2,"157":21,"158":21,"160":21,"162":1},"branchMap":{"0":{"type":"branch","line":5,"loc":{"start":{"line":5,"column":32},"end":{"line":161,"column":2}},"locations":[{"start":{"line":5,"column":32},"end":{"line":161,"column":2}}]},"1":{"type":"branch","line":35,"loc":{"start":{"line":35,"column":35},"end":{"line":36,"column":72}},"locations":[{"start":{"line":35,"column":35},"end":{"line":36,"column":72}}]},"2":{"type":"branch","line":36,"loc":{"start":{"line":36,"column":68},"end":{"line":107,"column":15}},"locations":[{"start":{"line":36,"column":68},"end":{"line":107,"column":15}}]},"3":{"type":"branch","line":112,"loc":{"start":{"line":112,"column":40},"end":{"line":113,"column":78}},"locations":[{"start":{"line":112,"column":40},"end":{"line":113,"column":78}}]},"4":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":74},"end":{"line":156,"column":15}},"locations":[{"start":{"line":113,"column":74},"end":{"line":156,"column":15}}]},"5":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":33},"end":{"line":21,"column":4}},"locations":[{"start":{"line":19,"column":33},"end":{"line":21,"column":4}}]},"6":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":24},"end":{"line":20,"column":70}},"locations":[{"start":{"line":20,"column":24},"end":{"line":20,"column":70}}]},"7":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":38},"end":{"line":25,"column":4}},"locations":[{"start":{"line":23,"column":38},"end":{"line":25,"column":4}}]},"8":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":29},"end":{"line":24,"column":75}},"locations":[{"start":{"line":24,"column":29},"end":{"line":24,"column":75}}]},"9":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":19},"end":{"line":105,"column":21}},"locations":[{"start":{"line":42,"column":19},"end":{"line":105,"column":21}}]},"10":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":73},"end":{"line":59,"column":29}},"locations":[{"start":{"line":58,"column":73},"end":{"line":59,"column":29}}]},"11":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":26},"end":{"line":60,"column":30}},"locations":[{"start":{"line":59,"column":26},"end":{"line":60,"column":30}}]},"12":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":69},"end":{"line":103,"column":23}},"locations":[{"start":{"line":63,"column":69},"end":{"line":103,"column":23}}]},"13":{"type":"branch","line":49,"loc":{"start":{"line":49,"column":29},"end":{"line":50,"column":79}},"locations":[{"start":{"line":49,"column":29},"end":{"line":50,"column":79}}]},"14":{"type":"branch","line":119,"loc":{"start":{"line":119,"column":19},"end":{"line":154,"column":21}},"locations":[{"start":{"line":119,"column":19},"end":{"line":154,"column":21}}]},"15":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":54},"end":{"line":132,"column":64}},"locations":[{"start":{"line":132,"column":54},"end":{"line":132,"column":64}}]},"16":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":58},"end":{"line":132,"column":68}},"locations":[{"start":{"line":132,"column":58},"end":{"line":132,"column":68}}]},"17":{"type":"branch","line":134,"loc":{"start":{"line":134,"column":46},"end":{"line":152,"column":26}},"locations":[{"start":{"line":134,"column":46},"end":{"line":152,"column":26}}]},"18":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":29},"end":{"line":126,"column":70}},"locations":[{"start":{"line":126,"column":29},"end":{"line":126,"column":70}}]}},"b":{"0":[21],"1":[18],"2":[3],"3":[19],"4":[2],"5":[1],"6":[1],"7":[1],"8":[1],"9":[6],"10":[1],"11":[5],"12":[1],"13":[1],"14":[4],"15":[1],"16":[3],"17":[1],"18":[1]},"fnMap":{"0":{"name":"HistoryAndNotifications","decl":{"start":{"line":5,"column":32},"end":{"line":161,"column":2}},"loc":{"start":{"line":5,"column":32},"end":{"line":161,"column":2}},"line":5},"1":{"name":"toggleRequestExpansion","decl":{"start":{"line":19,"column":33},"end":{"line":21,"column":4}},"loc":{"start":{"line":19,"column":33},"end":{"line":21,"column":4}},"line":19},"2":{"name":"toggleNotificationExpansion","decl":{"start":{"line":23,"column":38},"end":{"line":25,"column":4}},"loc":{"start":{"line":23,"column":38},"end":{"line":25,"column":4}},"line":23},"3":{"name":"copyToClipboard","decl":{"start":{"line":27,"column":26},"end":{"line":29,"column":4}},"loc":{"start":{"line":27,"column":26},"end":{"line":29,"column":4}},"line":27},"4":{"name":"onClick","decl":{"start":{"line":49,"column":29},"end":{"line":50,"column":79}},"loc":{"start":{"line":49,"column":29},"end":{"line":50,"column":79}},"line":49},"5":{"name":"onClick","decl":{"start":{"line":71,"column":37},"end":{"line":71,"column":76}},"loc":{"start":{"line":71,"column":37},"end":{"line":71,"column":76}},"line":71},"6":{"name":"onClick","decl":{"start":{"line":88,"column":39},"end":{"line":88,"column":80}},"loc":{"start":{"line":88,"column":39},"end":{"line":88,"column":80}},"line":88},"7":{"name":"onClick","decl":{"start":{"line":126,"column":29},"end":{"line":126,"column":70}},"loc":{"start":{"line":126,"column":29},"end":{"line":126,"column":70}},"line":126},"8":{"name":"onClick","decl":{"start":{"line":141,"column":35},"end":{"line":142,"column":73}},"loc":{"start":{"line":141,"column":35},"end":{"line":142,"column":73}},"line":141}},"f":{"0":21,"1":1,"2":1,"3":0,"4":1,"5":0,"6":0,"7":1,"8":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ListPane.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ListPane.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":37}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":37}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":8}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":12}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":13}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":13}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":8}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":13}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":19}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":25}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":45}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":71}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":64}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":10}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":25}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":13}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":31}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":27}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":35}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":20}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":15}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":13}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":25}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":31}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":28}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":37}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":7}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":15}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":58}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":37}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":14}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":23}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":108}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":49}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":30}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":16}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":11}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":12}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":10}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":8}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":24}}},"s":{"0":1,"13":1,"14":44,"15":44,"16":44,"17":44,"18":44,"19":44,"20":44,"21":44,"22":44,"23":44,"24":44,"25":44,"26":44,"27":44,"28":44,"29":44,"30":44,"31":44,"32":44,"34":44,"35":44,"36":44,"37":44,"38":44,"39":44,"40":44,"41":44,"43":44,"44":44,"45":44,"46":74,"47":74,"48":74,"49":74,"51":74,"52":74,"53":44,"54":44,"55":44,"56":44,"59":1},"branchMap":{"0":{"type":"branch","line":14,"loc":{"start":{"line":14,"column":17},"end":{"line":57,"column":8}},"locations":[{"start":{"line":14,"column":17},"end":{"line":57,"column":8}}]},"1":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":19},"end":{"line":53,"column":16}},"locations":[{"start":{"line":46,"column":19},"end":{"line":53,"column":16}}]},"2":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":21},"end":{"line":50,"column":49}},"locations":[{"start":{"line":50,"column":21},"end":{"line":50,"column":49}}]}},"b":{"0":[44],"1":[74],"2":[3]},"fnMap":{"0":{"name":"ListPane","decl":{"start":{"line":14,"column":17},"end":{"line":57,"column":8}},"loc":{"start":{"line":14,"column":17},"end":{"line":57,"column":8}},"line":14},"1":{"name":"onClick","decl":{"start":{"line":50,"column":21},"end":{"line":50,"column":49}},"loc":{"start":{"line":50,"column":21},"end":{"line":50,"column":49}},"line":50}},"f":{"0":44,"1":3}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/PingTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/PingTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":51}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":67}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":10}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":65}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":67}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":15}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":31}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":279}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":51}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":51}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":17}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":12}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":2}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":23}}},"s":{"0":1,"1":1,"3":1,"4":9,"5":9,"6":9,"7":9,"8":9,"9":9,"11":9,"13":9,"14":9,"15":9,"16":9,"18":9,"20":1},"branchMap":{"0":{"type":"branch","line":4,"loc":{"start":{"line":4,"column":16},"end":{"line":19,"column":2}},"locations":[{"start":{"line":4,"column":16},"end":{"line":19,"column":2}}]}},"b":{"0":[9]},"fnMap":{"0":{"name":"PingTab","decl":{"start":{"line":4,"column":16},"end":{"line":19,"column":2}},"loc":{"start":{"line":4,"column":16},"end":{"line":19,"column":2}},"line":4}},"f":{"0":9}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/PromptsTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/PromptsTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":76}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":46}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":51}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":43}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":33}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":34}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":21}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":10}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":14}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":15}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":12}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":17}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":20}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":16}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":13}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":8}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":4}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":7}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":75}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":65}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":61}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":4}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":33}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":25}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":49}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":5}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":4}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":10}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":68}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":15}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":23}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":31}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":33}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":38}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":36}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":28}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":10}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":33}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":12}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":57}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":79}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":13}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":23}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":70}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":60}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":8}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":49}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":54}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":40}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":70}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":15}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":14}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":29}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":20}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":41}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":49}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":44}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":58}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":20}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":32}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":39}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":46}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":53}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":46}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":20}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":55}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":36}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":62}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":24}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":33}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":53}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":54}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":36}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":65}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":20}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":39}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":62}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":39}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":40}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":77}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":24}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":22}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":17}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":67}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":23}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":33}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":25}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":39}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":26}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":44}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":18}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":18}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":19}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":32}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":33}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":20}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":14}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":12}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":18}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":2}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":26}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"7":1,"8":1,"9":1,"21":1,"22":10,"23":10,"24":10,"25":10,"26":10,"27":10,"28":10,"29":10,"30":10,"31":10,"41":10,"42":10,"44":10,"45":1,"46":1,"48":10,"49":1,"50":1,"51":1,"52":1,"54":10,"55":10,"56":10,"57":10,"58":10,"59":10,"60":10,"61":0,"62":0,"63":0,"64":10,"65":12,"66":12,"67":12,"68":12,"70":10,"71":10,"72":10,"73":10,"75":10,"76":10,"77":10,"78":10,"79":10,"80":10,"81":10,"82":10,"83":1,"84":1,"85":1,"86":1,"87":1,"88":9,"89":4,"90":4,"91":4,"92":4,"93":4,"95":4,"96":8,"97":8,"98":8,"99":8,"100":8,"101":8,"102":8,"103":1,"105":8,"106":8,"107":8,"108":8,"109":8,"110":4,"112":8,"114":8,"115":4,"116":4,"118":4,"119":4,"120":1,"121":1,"122":1,"123":1,"124":1,"126":4,"128":5,"129":5,"131":5,"132":5,"134":10,"135":10,"136":10,"138":10,"140":1},"branchMap":{"0":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":19},"end":{"line":139,"column":2}},"locations":[{"start":{"line":22,"column":19},"end":{"line":139,"column":2}}]},"1":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":20},"end":{"line":72,"column":55}},"locations":[{"start":{"line":72,"column":20},"end":{"line":72,"column":55}}]},"2":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":13},"end":{"line":79,"column":52}},"locations":[{"start":{"line":79,"column":13},"end":{"line":79,"column":52}}]},"3":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":45},"end":{"line":79,"column":70}},"locations":[{"start":{"line":79,"column":45},"end":{"line":79,"column":70}}]},"4":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":11},"end":{"line":88,"column":20}},"locations":[{"start":{"line":83,"column":11},"end":{"line":88,"column":20}}]},"5":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":12},"end":{"line":133,"column":20}},"locations":[{"start":{"line":88,"column":12},"end":{"line":133,"column":20}}]},"6":{"type":"branch","line":89,"loc":{"start":{"line":89,"column":14},"end":{"line":127,"column":18}},"locations":[{"start":{"line":89,"column":14},"end":{"line":127,"column":18}}]},"7":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":15},"end":{"line":125,"column":18}},"locations":[{"start":{"line":120,"column":15},"end":{"line":125,"column":18}}]},"8":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":12},"end":{"line":133,"column":20}},"locations":[{"start":{"line":127,"column":12},"end":{"line":133,"column":20}}]},"9":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":28},"end":{"line":47,"column":4}},"locations":[{"start":{"line":45,"column":28},"end":{"line":47,"column":4}}]},"10":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":18},"end":{"line":46,"column":59}},"locations":[{"start":{"line":46,"column":18},"end":{"line":46,"column":59}}]},"11":{"type":"branch","line":49,"loc":{"start":{"line":49,"column":26},"end":{"line":53,"column":4}},"locations":[{"start":{"line":49,"column":26},"end":{"line":53,"column":4}}]},"12":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":20},"end":{"line":69,"column":13}},"locations":[{"start":{"line":65,"column":20},"end":{"line":69,"column":13}}]},"13":{"type":"branch","line":96,"loc":{"start":{"line":96,"column":45},"end":{"line":115,"column":22}},"locations":[{"start":{"line":96,"column":45},"end":{"line":115,"column":22}}]},"14":{"type":"branch","line":102,"loc":{"start":{"line":102,"column":46},"end":{"line":102,"column":54}},"locations":[{"start":{"line":102,"column":46},"end":{"line":102,"column":54}}]},"15":{"type":"branch","line":110,"loc":{"start":{"line":110,"column":27},"end":{"line":111,"column":77}},"locations":[{"start":{"line":110,"column":27},"end":{"line":111,"column":77}}]},"16":{"type":"branch","line":103,"loc":{"start":{"line":103,"column":30},"end":{"line":104,"column":65}},"locations":[{"start":{"line":103,"column":30},"end":{"line":104,"column":65}}]}},"b":{"0":[10],"1":[0],"2":[4],"3":[6],"4":[1],"5":[9],"6":[4],"7":[1],"8":[5],"9":[1],"10":[1],"11":[1],"12":[12],"13":[8],"14":[7],"15":[4],"16":[1]},"fnMap":{"0":{"name":"PromptsTab","decl":{"start":{"line":22,"column":19},"end":{"line":139,"column":2}},"loc":{"start":{"line":22,"column":19},"end":{"line":139,"column":2}},"line":22},"1":{"name":"handleInputChange","decl":{"start":{"line":45,"column":28},"end":{"line":47,"column":4}},"loc":{"start":{"line":45,"column":28},"end":{"line":47,"column":4}},"line":45},"2":{"name":"handleGetPrompt","decl":{"start":{"line":49,"column":26},"end":{"line":53,"column":4}},"loc":{"start":{"line":49,"column":26},"end":{"line":53,"column":4}},"line":49},"3":{"name":"setSelectedItem","decl":{"start":{"line":61,"column":25},"end":{"line":64,"column":10}},"loc":{"start":{"line":61,"column":25},"end":{"line":64,"column":10}},"line":61},"4":{"name":"renderItem","decl":{"start":{"line":65,"column":20},"end":{"line":69,"column":13}},"loc":{"start":{"line":65,"column":20},"end":{"line":69,"column":13}},"line":65},"5":{"name":"onChange","decl":{"start":{"line":103,"column":30},"end":{"line":104,"column":65}},"loc":{"start":{"line":103,"column":30},"end":{"line":104,"column":65}},"line":103}},"f":{"0":10,"1":1,"2":1,"3":0,"4":12,"5":1}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ResourcesTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ResourcesTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":76}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":46}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":51}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":78}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":34}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":33}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":23}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":12}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":20}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":16}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":17}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":25}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":15}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":19}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":22}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":18}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":13}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":21}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":8}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":4}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":7}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":49}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":44}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":79}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":7}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":4}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":24}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":21}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":35}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":16}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":28}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":19}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":44}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":6}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":4}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":44}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":27}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":77}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":24}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":32}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":58}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":5}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":4}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":10}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":70}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":15}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":25}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":33}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":35}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":40}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":40}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":37}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":36}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":10}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":35}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":52}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":77}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":78}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":29}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":19}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":76}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":16}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":25}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":74}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":62}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":8}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":15}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":33}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":41}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":43}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":40}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":40}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":36}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":32}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":10}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":35}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":52}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":77}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":75}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":29}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":19}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":76}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":16}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":34}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":20}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":71}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":78}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":8}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":49}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":88}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":13}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":46}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":68}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":29}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":37}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":32}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":39}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":50}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":15}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":32}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":19}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":31}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":23}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":64}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":52}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":21}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":14}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":29}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":20}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":41}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":49}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":44}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":58}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":20}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":34}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":165}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":31}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":18}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":34}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":39}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":51}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":46}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":18}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":43}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":36}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":34}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":49}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":26}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":35}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":28}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":37}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":75}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":29}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":30}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":28}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":32}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":57}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":40}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":45}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":46}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":50}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":28}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":40}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":24}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":26}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":19}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":21}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":52}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":67}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":15}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":23}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":18}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":19}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":32}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":33}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":20}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":14}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":12}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":18}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":2}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":28}}},"s":{"0":1,"1":1,"2":1,"3":1,"10":1,"11":1,"12":1,"14":1,"15":16,"16":16,"17":16,"18":16,"19":16,"20":16,"21":16,"22":16,"23":16,"24":16,"25":16,"26":16,"27":16,"28":16,"42":16,"43":16,"44":16,"45":16,"46":16,"47":16,"49":16,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"59":16,"60":1,"61":1,"62":1,"63":1,"65":1,"66":1,"67":1,"69":16,"70":16,"71":16,"72":16,"73":16,"74":16,"75":16,"76":0,"77":0,"78":0,"79":0,"80":16,"81":24,"82":24,"83":24,"84":24,"85":24,"86":24,"87":24,"89":16,"90":16,"91":16,"92":16,"94":16,"95":16,"96":16,"97":16,"98":16,"99":2,"100":2,"101":2,"102":2,"103":16,"104":24,"105":24,"106":24,"107":24,"108":24,"109":24,"110":24,"112":16,"113":16,"114":16,"116":16,"117":16,"119":16,"120":16,"121":16,"122":16,"123":16,"125":16,"126":2,"127":14,"128":4,"129":10,"130":16,"131":16,"132":2,"133":2,"134":2,"135":2,"137":2,"139":2,"141":16,"142":16,"143":16,"144":1,"145":1,"146":1,"147":1,"148":1,"149":15,"150":2,"151":2,"152":2,"153":13,"154":4,"155":4,"156":4,"157":4,"158":4,"159":4,"160":4,"161":8,"162":8,"163":8,"164":8,"165":8,"166":8,"168":8,"169":8,"170":8,"171":8,"172":8,"173":8,"174":2,"175":2,"176":2,"177":2,"179":8,"180":8,"181":8,"183":4,"184":4,"185":4,"186":4,"187":4,"189":4,"190":4,"192":9,"193":9,"195":9,"196":9,"198":16,"199":16,"200":16,"202":16,"204":1},"branchMap":{"0":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":21},"end":{"line":203,"column":2}},"locations":[{"start":{"line":15,"column":21},"end":{"line":203,"column":2}}]},"1":{"type":"branch","line":91,"loc":{"start":{"line":91,"column":20},"end":{"line":91,"column":57}},"locations":[{"start":{"line":91,"column":20},"end":{"line":91,"column":57}}]},"2":{"type":"branch","line":115,"loc":{"start":{"line":115,"column":10},"end":{"line":115,"column":55}},"locations":[{"start":{"line":115,"column":10},"end":{"line":115,"column":55}}]},"3":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":19},"end":{"line":124,"column":45}},"locations":[{"start":{"line":124,"column":19},"end":{"line":124,"column":45}}]},"4":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":37},"end":{"line":124,"column":68}},"locations":[{"start":{"line":124,"column":37},"end":{"line":124,"column":68}}]},"5":{"type":"branch","line":124,"loc":{"start":{"line":124,"column":45},"end":{"line":124,"column":68}},"locations":[{"start":{"line":124,"column":45},"end":{"line":124,"column":68}}]},"6":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":13},"end":{"line":127,"column":37}},"locations":[{"start":{"line":126,"column":13},"end":{"line":127,"column":37}}]},"7":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":33},"end":{"line":130,"column":50}},"locations":[{"start":{"line":127,"column":33},"end":{"line":130,"column":50}}]},"8":{"type":"branch","line":128,"loc":{"start":{"line":128,"column":16},"end":{"line":129,"column":39}},"locations":[{"start":{"line":128,"column":16},"end":{"line":129,"column":39}}]},"9":{"type":"branch","line":129,"loc":{"start":{"line":129,"column":35},"end":{"line":130,"column":50}},"locations":[{"start":{"line":129,"column":35},"end":{"line":130,"column":50}}]},"10":{"type":"branch","line":132,"loc":{"start":{"line":132,"column":11},"end":{"line":140,"column":21}},"locations":[{"start":{"line":132,"column":11},"end":{"line":140,"column":21}}]},"11":{"type":"branch","line":144,"loc":{"start":{"line":144,"column":11},"end":{"line":149,"column":20}},"locations":[{"start":{"line":144,"column":11},"end":{"line":149,"column":20}}]},"12":{"type":"branch","line":149,"loc":{"start":{"line":149,"column":12},"end":{"line":197,"column":20}},"locations":[{"start":{"line":149,"column":12},"end":{"line":197,"column":20}}]},"13":{"type":"branch","line":150,"loc":{"start":{"line":150,"column":14},"end":{"line":153,"column":18}},"locations":[{"start":{"line":150,"column":14},"end":{"line":153,"column":18}}]},"14":{"type":"branch","line":153,"loc":{"start":{"line":153,"column":12},"end":{"line":197,"column":20}},"locations":[{"start":{"line":153,"column":12},"end":{"line":197,"column":20}}]},"15":{"type":"branch","line":154,"loc":{"start":{"line":154,"column":14},"end":{"line":191,"column":18}},"locations":[{"start":{"line":154,"column":14},"end":{"line":191,"column":18}}]},"16":{"type":"branch","line":191,"loc":{"start":{"line":191,"column":12},"end":{"line":197,"column":20}},"locations":[{"start":{"line":191,"column":12},"end":{"line":197,"column":20}}]},"17":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":23},"end":{"line":58,"column":4}},"locations":[{"start":{"line":50,"column":23},"end":{"line":58,"column":4}}]},"18":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":6},"end":{"line":56,"column":44}},"locations":[{"start":{"line":56,"column":6},"end":{"line":56,"column":44}}]},"19":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":28},"end":{"line":56,"column":44}},"locations":[{"start":{"line":56,"column":28},"end":{"line":56,"column":44}}]},"20":{"type":"branch","line":60,"loc":{"start":{"line":60,"column":37},"end":{"line":68,"column":4}},"locations":[{"start":{"line":60,"column":37},"end":{"line":68,"column":4}}]},"21":{"type":"branch","line":81,"loc":{"start":{"line":81,"column":20},"end":{"line":88,"column":16}},"locations":[{"start":{"line":81,"column":20},"end":{"line":88,"column":16}}]},"22":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":25},"end":{"line":103,"column":10}},"locations":[{"start":{"line":99,"column":25},"end":{"line":103,"column":10}}]},"23":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":20},"end":{"line":111,"column":16}},"locations":[{"start":{"line":104,"column":20},"end":{"line":111,"column":16}}]},"24":{"type":"branch","line":136,"loc":{"start":{"line":136,"column":23},"end":{"line":136,"column":64}},"locations":[{"start":{"line":136,"column":23},"end":{"line":136,"column":64}}]},"25":{"type":"branch","line":161,"loc":{"start":{"line":161,"column":22},"end":{"line":184,"column":17}},"locations":[{"start":{"line":161,"column":22},"end":{"line":184,"column":17}}]},"26":{"type":"branch","line":173,"loc":{"start":{"line":173,"column":49},"end":{"line":173,"column":57}},"locations":[{"start":{"line":173,"column":49},"end":{"line":173,"column":57}}]},"27":{"type":"branch","line":174,"loc":{"start":{"line":174,"column":34},"end":{"line":178,"column":28}},"locations":[{"start":{"line":174,"column":34},"end":{"line":178,"column":28}}]}},"b":{"0":[16],"1":[0],"2":[0],"3":[2],"4":[14],"5":[4],"6":[2],"7":[14],"8":[4],"9":[10],"10":[2],"11":[1],"12":[15],"13":[2],"14":[13],"15":[4],"16":[9],"17":[1],"18":[2],"19":[0],"20":[1],"21":[24],"22":[2],"23":[24],"24":[1],"25":[8],"26":[5],"27":[2]},"fnMap":{"0":{"name":"ResourcesTab","decl":{"start":{"line":15,"column":21},"end":{"line":203,"column":2}},"loc":{"start":{"line":15,"column":21},"end":{"line":203,"column":2}},"line":15},"1":{"name":"fillTemplate","decl":{"start":{"line":50,"column":23},"end":{"line":58,"column":4}},"loc":{"start":{"line":50,"column":23},"end":{"line":58,"column":4}},"line":50},"2":{"name":"handleReadTemplateResource","decl":{"start":{"line":60,"column":37},"end":{"line":68,"column":4}},"loc":{"start":{"line":60,"column":37},"end":{"line":68,"column":4}},"line":60},"3":{"name":"setSelectedItem","decl":{"start":{"line":76,"column":25},"end":{"line":80,"column":10}},"loc":{"start":{"line":76,"column":25},"end":{"line":80,"column":10}},"line":76},"4":{"name":"renderItem","decl":{"start":{"line":81,"column":20},"end":{"line":88,"column":16}},"loc":{"start":{"line":81,"column":20},"end":{"line":88,"column":16}},"line":81},"5":{"name":"setSelectedItem","decl":{"start":{"line":99,"column":25},"end":{"line":103,"column":10}},"loc":{"start":{"line":99,"column":25},"end":{"line":103,"column":10}},"line":99},"6":{"name":"renderItem","decl":{"start":{"line":104,"column":20},"end":{"line":111,"column":16}},"loc":{"start":{"line":104,"column":20},"end":{"line":111,"column":16}},"line":104},"7":{"name":"onClick","decl":{"start":{"line":136,"column":23},"end":{"line":136,"column":64}},"loc":{"start":{"line":136,"column":23},"end":{"line":136,"column":64}},"line":136},"8":{"name":"onChange","decl":{"start":{"line":174,"column":34},"end":{"line":178,"column":28}},"loc":{"start":{"line":174,"column":34},"end":{"line":178,"column":28}},"line":174}},"f":{"0":16,"1":1,"2":1,"3":0,"4":24,"5":2,"6":24,"7":1,"8":2}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/RootsTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/RootsTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":64}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":46}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":51}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":49}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":19}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":8}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":11}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":16}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":4}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":7}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":25}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":80}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":4}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":41}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":75}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":4}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":75}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":35}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":57}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":8}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":6}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":4}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":28}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":20}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":4}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":10}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":53}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":13}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":26}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":27}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":14}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":35}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":61}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":16}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":37}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":28}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":70}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":30}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":12}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":17}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":33}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":21}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":45}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":36}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":41}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":19}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":14}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":9}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":34}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":52}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":43}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":17}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":37}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":43}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":17}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":12}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":18}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":2}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":24}}},"s":{"0":1,"1":1,"2":1,"3":1,"5":1,"7":1,"8":9,"9":9,"10":9,"11":9,"15":9,"16":9,"17":1,"18":1,"20":9,"21":1,"22":1,"24":9,"25":1,"26":1,"27":2,"28":1,"29":1,"30":1,"32":9,"33":1,"34":1,"36":9,"37":9,"38":9,"39":9,"41":9,"42":9,"44":9,"45":10,"46":10,"47":10,"48":10,"49":10,"50":10,"51":10,"52":10,"53":10,"54":10,"55":10,"56":10,"58":10,"59":10,"60":10,"61":9,"63":9,"64":9,"65":9,"67":9,"68":9,"69":9,"71":9,"72":9,"73":9,"75":9,"77":1},"branchMap":{"0":{"type":"branch","line":8,"loc":{"start":{"line":8,"column":17},"end":{"line":76,"column":2}},"locations":[{"start":{"line":8,"column":17},"end":{"line":76,"column":2}}]},"1":{"type":"branch","line":17,"loc":{"start":{"line":17,"column":18},"end":{"line":19,"column":4}},"locations":[{"start":{"line":17,"column":18},"end":{"line":19,"column":4}}]},"2":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":13},"end":{"line":18,"column":78}},"locations":[{"start":{"line":18,"column":13},"end":{"line":18,"column":78}}]},"3":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":21},"end":{"line":23,"column":4}},"locations":[{"start":{"line":21,"column":21},"end":{"line":23,"column":4}}]},"4":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":13},"end":{"line":22,"column":73}},"locations":[{"start":{"line":22,"column":13},"end":{"line":22,"column":73}}]},"5":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":51},"end":{"line":22,"column":72}},"locations":[{"start":{"line":22,"column":51},"end":{"line":22,"column":72}}]},"6":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":21},"end":{"line":31,"column":4}},"locations":[{"start":{"line":25,"column":21},"end":{"line":31,"column":4}}]},"7":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":13},"end":{"line":29,"column":8}},"locations":[{"start":{"line":26,"column":13},"end":{"line":29,"column":8}}]},"8":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":23},"end":{"line":28,"column":57}},"locations":[{"start":{"line":27,"column":23},"end":{"line":28,"column":57}}]},"9":{"type":"branch","line":28,"loc":{"start":{"line":28,"column":14},"end":{"line":28,"column":52}},"locations":[{"start":{"line":28,"column":14},"end":{"line":28,"column":52}}]},"10":{"type":"branch","line":28,"loc":{"start":{"line":28,"column":48},"end":{"line":28,"column":57}},"locations":[{"start":{"line":28,"column":48},"end":{"line":28,"column":57}}]},"11":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":21},"end":{"line":35,"column":4}},"locations":[{"start":{"line":33,"column":21},"end":{"line":35,"column":4}}]},"12":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":17},"end":{"line":61,"column":14}},"locations":[{"start":{"line":45,"column":17},"end":{"line":61,"column":14}}]},"13":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":22},"end":{"line":50,"column":70}},"locations":[{"start":{"line":50,"column":22},"end":{"line":50,"column":70}}]},"14":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":21},"end":{"line":56,"column":45}},"locations":[{"start":{"line":56,"column":21},"end":{"line":56,"column":45}}]}},"b":{"0":[9],"1":[1],"2":[1],"3":[1],"4":[1],"5":[2],"6":[1],"7":[1],"8":[2],"9":[1],"10":[1],"11":[1],"12":[10],"13":[1],"14":[1]},"fnMap":{"0":{"name":"RootsTab","decl":{"start":{"line":8,"column":17},"end":{"line":76,"column":2}},"loc":{"start":{"line":8,"column":17},"end":{"line":76,"column":2}},"line":8},"1":{"name":"addRoot","decl":{"start":{"line":17,"column":18},"end":{"line":19,"column":4}},"loc":{"start":{"line":17,"column":18},"end":{"line":19,"column":4}},"line":17},"2":{"name":"removeRoot","decl":{"start":{"line":21,"column":21},"end":{"line":23,"column":4}},"loc":{"start":{"line":21,"column":21},"end":{"line":23,"column":4}},"line":21},"3":{"name":"updateRoot","decl":{"start":{"line":25,"column":21},"end":{"line":31,"column":4}},"loc":{"start":{"line":25,"column":21},"end":{"line":31,"column":4}},"line":25},"4":{"name":"handleSave","decl":{"start":{"line":33,"column":21},"end":{"line":35,"column":4}},"loc":{"start":{"line":33,"column":21},"end":{"line":35,"column":4}},"line":33},"5":{"name":"onChange","decl":{"start":{"line":50,"column":22},"end":{"line":50,"column":70}},"loc":{"start":{"line":50,"column":22},"end":{"line":50,"column":70}},"line":50},"6":{"name":"onClick","decl":{"start":{"line":56,"column":21},"end":{"line":56,"column":45}},"loc":{"start":{"line":56,"column":21},"end":{"line":56,"column":45}},"line":56}},"f":{"0":9,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/SamplingTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/SamplingTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":64}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":51}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":74}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":41}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":19}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":26}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":28}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":24}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":16}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":21}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":41}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":8}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":7}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":4}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":10}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":51}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":13}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":26}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":27}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":14}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":38}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":66}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":43}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":76}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":52}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":56}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":18}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":44}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":80}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":77}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":23}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":18}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":16}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":11}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":42}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":62}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":12}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":2}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":27}}},"s":{"0":1,"1":1,"2":1,"19":1,"20":10,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"33":10,"34":10,"35":10,"36":10,"39":10,"40":10,"41":10,"42":10,"43":10,"44":10,"45":10,"46":10,"47":10,"48":10,"49":10,"50":10,"52":10,"53":10,"54":10,"55":10,"56":10,"57":5,"59":10,"60":10,"62":10,"64":1},"branchMap":{"0":{"type":"branch","line":20,"loc":{"start":{"line":20,"column":20},"end":{"line":63,"column":2}},"locations":[{"start":{"line":20,"column":20},"end":{"line":63,"column":2}}]},"1":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":36},"end":{"line":58,"column":62}},"locations":[{"start":{"line":57,"column":36},"end":{"line":58,"column":62}}]},"2":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":24},"end":{"line":32,"column":4}},"locations":[{"start":{"line":21,"column":24},"end":{"line":32,"column":4}}]},"3":{"type":"branch","line":44,"loc":{"start":{"line":44,"column":29},"end":{"line":55,"column":16}},"locations":[{"start":{"line":44,"column":29},"end":{"line":55,"column":16}}]},"4":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":31},"end":{"line":50,"column":64}},"locations":[{"start":{"line":50,"column":31},"end":{"line":50,"column":64}}]},"5":{"type":"branch","line":51,"loc":{"start":{"line":51,"column":49},"end":{"line":51,"column":77}},"locations":[{"start":{"line":51,"column":49},"end":{"line":51,"column":77}}]}},"b":{"0":[10],"1":[5],"2":[1],"3":[10],"4":[1],"5":[1]},"fnMap":{"0":{"name":"SamplingTab","decl":{"start":{"line":20,"column":20},"end":{"line":63,"column":2}},"loc":{"start":{"line":20,"column":20},"end":{"line":63,"column":2}},"line":20},"1":{"name":"handleApprove","decl":{"start":{"line":21,"column":24},"end":{"line":32,"column":4}},"loc":{"start":{"line":21,"column":24},"end":{"line":32,"column":4}},"line":21},"2":{"name":"onClick","decl":{"start":{"line":50,"column":31},"end":{"line":50,"column":64}},"loc":{"start":{"line":50,"column":31},"end":{"line":50,"column":64}},"line":50},"3":{"name":"onClick","decl":{"start":{"line":51,"column":49},"end":{"line":51,"column":77}},"loc":{"start":{"line":51,"column":49},"end":{"line":51,"column":77}},"line":51}},"f":{"0":10,"1":1,"2":1,"3":1}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/Sidebar.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/Sidebar.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":33}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":88}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":48}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":32}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":39}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":48}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":18}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":19}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":16}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":19}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":10}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":13}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":7}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":10}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":9}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":12}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":6}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":9}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":12}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":22}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":21}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":39}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":56}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":10}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":78}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":86}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":43}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":53}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":36}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":15}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":14}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":12}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":48}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":35}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":37}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":73}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":19}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":35}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":56}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":39}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":29}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":67}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":30}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":29}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":60}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":56}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":30}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":21}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":16}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":40}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":14}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":41}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":70}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":22}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":39}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":33}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":62}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":39}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":18}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":20}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":41}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":72}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":22}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":59}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":30}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":59}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":39}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":18}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":20}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":15}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":39}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":64}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":20}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":33}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":30}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":59}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":37}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":16}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":18}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":41}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":39}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":21}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":33}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":60}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":52}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":32}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":58}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":59}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":18}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":23}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":31}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":43}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":67}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":79}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":49}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":30}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":43}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":37}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":44}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":54}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":47}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":59}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":43}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":28}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":47}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":26}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":30}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":45}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":39}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":44}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":54}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":57}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":43}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":28}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":47}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":26}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":28}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":29}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":45}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":40}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":66}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":39}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":26}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":23}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":31}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":26}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":21}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":25}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":37}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":36}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":48}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":38}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":37}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":22}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":19}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":27}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":22}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":18}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":37}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":59}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":47}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":21}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":77}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":18}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":51}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":50}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":36}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":50}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":36}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":37}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":19}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":16}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":54}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":49}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":31}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":48}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":40}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":37}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":21}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":18}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":48}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":16}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":68}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":54}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":23}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":65}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":71}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":26}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":35}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":112}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":53}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":28}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":23}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":24}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":22}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":17}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":16}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":14}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":12}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":36}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":59}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":17}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":25}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":45}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":60}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":67}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":29}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":28}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":27}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":60}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":58}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":56}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":28}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":19}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":55}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":117}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":70}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":64}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":23}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":16}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":117}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":62}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":57}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":23}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":16}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":114}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":82}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":60}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":23}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":16}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":16}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":14}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":12}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":10}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":2}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":23}}},"s":{"0":1,"1":1,"2":1,"3":1,"10":1,"13":1,"14":1,"32":1,"33":16,"34":16,"35":16,"36":16,"37":16,"38":16,"39":16,"40":16,"41":16,"42":16,"43":16,"44":16,"45":16,"46":16,"47":16,"48":16,"50":16,"51":16,"52":16,"53":16,"54":16,"55":16,"56":16,"57":16,"58":16,"60":16,"61":16,"62":16,"63":16,"64":16,"65":16,"66":16,"67":0,"70":16,"71":16,"72":16,"73":16,"74":16,"75":16,"76":16,"77":16,"78":16,"80":16,"81":16,"82":16,"83":16,"84":16,"85":16,"86":16,"87":16,"88":16,"89":16,"90":16,"91":16,"92":16,"93":16,"94":16,"95":16,"96":16,"97":16,"98":16,"99":16,"100":16,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"112":16,"113":16,"114":16,"115":16,"116":16,"117":16,"119":16,"120":0,"122":16,"123":16,"125":16,"126":16,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"157":0,"158":0,"159":0,"160":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"174":0,"175":0,"177":16,"180":16,"181":16,"182":16,"184":16,"186":16,"187":16,"188":16,"189":16,"190":9,"191":7,"192":0,"193":7,"194":16,"195":16,"196":16,"197":16,"198":9,"199":7,"200":0,"201":7,"202":16,"203":16,"204":16,"205":0,"206":0,"207":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"223":16,"224":16,"225":16,"226":16,"227":16,"228":16,"229":16,"230":16,"231":0,"234":16,"235":16,"236":16,"237":16,"238":16,"239":16,"240":16,"241":16,"242":16,"244":16,"245":16,"246":16,"247":16,"248":16,"249":16,"250":16,"251":16,"252":16,"253":16,"254":16,"255":16,"256":16,"257":16,"258":16,"259":16,"260":16,"261":16,"262":16,"263":16,"265":16,"267":1},"branchMap":{"0":{"type":"branch","line":33,"loc":{"start":{"line":33,"column":16},"end":{"line":266,"column":2}},"locations":[{"start":{"line":33,"column":16},"end":{"line":266,"column":2}}]},"1":{"type":"branch","line":101,"loc":{"start":{"line":101,"column":12},"end":{"line":111,"column":18}},"locations":[{"start":{"line":101,"column":12},"end":{"line":111,"column":18}}]},"2":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":17},"end":{"line":121,"column":58}},"locations":[{"start":{"line":120,"column":17},"end":{"line":121,"column":58}}]},"3":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":15},"end":{"line":176,"column":22}},"locations":[{"start":{"line":127,"column":15},"end":{"line":176,"column":22}}]},"4":{"type":"branch","line":190,"loc":{"start":{"line":190,"column":39},"end":{"line":191,"column":36}},"locations":[{"start":{"line":190,"column":39},"end":{"line":191,"column":36}}]},"5":{"type":"branch","line":191,"loc":{"start":{"line":191,"column":22},"end":{"line":194,"column":37}},"locations":[{"start":{"line":191,"column":22},"end":{"line":194,"column":37}}]},"6":{"type":"branch","line":192,"loc":{"start":{"line":192,"column":43},"end":{"line":193,"column":36}},"locations":[{"start":{"line":192,"column":43},"end":{"line":193,"column":36}}]},"7":{"type":"branch","line":198,"loc":{"start":{"line":198,"column":38},"end":{"line":199,"column":31}},"locations":[{"start":{"line":198,"column":38},"end":{"line":199,"column":31}}]},"8":{"type":"branch","line":199,"loc":{"start":{"line":199,"column":20},"end":{"line":202,"column":37}},"locations":[{"start":{"line":199,"column":20},"end":{"line":202,"column":37}}]},"9":{"type":"branch","line":200,"loc":{"start":{"line":200,"column":41},"end":{"line":201,"column":40}},"locations":[{"start":{"line":200,"column":41},"end":{"line":201,"column":40}}]},"10":{"type":"branch","line":205,"loc":{"start":{"line":205,"column":42},"end":{"line":222,"column":17}},"locations":[{"start":{"line":205,"column":42},"end":{"line":222,"column":17}}]},"11":{"type":"branch","line":88,"loc":{"start":{"line":88,"column":28},"end":{"line":88,"column":62}},"locations":[{"start":{"line":88,"column":28},"end":{"line":88,"column":62}}]}},"b":{"0":[16],"1":[0],"2":[0],"3":[0],"4":[9],"5":[7],"6":[0],"7":[9],"8":[7],"9":[0],"10":[0],"11":[1]},"fnMap":{"0":{"name":"Sidebar","decl":{"start":{"line":33,"column":16},"end":{"line":266,"column":2}},"loc":{"start":{"line":33,"column":16},"end":{"line":266,"column":2}},"line":33},"1":{"name":"onValueChange","decl":{"start":{"line":67,"column":29},"end":{"line":68,"column":39}},"loc":{"start":{"line":67,"column":29},"end":{"line":68,"column":39}},"line":67},"2":{"name":"onChange","decl":{"start":{"line":88,"column":28},"end":{"line":88,"column":62}},"loc":{"start":{"line":88,"column":28},"end":{"line":88,"column":62}},"line":88},"3":{"name":"onChange","decl":{"start":{"line":97,"column":28},"end":{"line":97,"column":59}},"loc":{"start":{"line":97,"column":28},"end":{"line":97,"column":59}},"line":97},"4":{"name":"onChange","decl":{"start":{"line":108,"column":26},"end":{"line":108,"column":59}},"loc":{"start":{"line":108,"column":26},"end":{"line":108,"column":59}},"line":108},"5":{"name":"onClick","decl":{"start":{"line":117,"column":25},"end":{"line":117,"column":60}},"loc":{"start":{"line":117,"column":25},"end":{"line":117,"column":60}},"line":117},"6":{"name":"onClick","decl":{"start":{"line":168,"column":29},"end":{"line":172,"column":22}},"loc":{"start":{"line":168,"column":29},"end":{"line":172,"column":22}},"line":168},"7":{"name":"onValueChange","decl":{"start":{"line":231,"column":27},"end":{"line":232,"column":60}},"loc":{"start":{"line":231,"column":27},"end":{"line":232,"column":60}},"line":231}},"f":{"0":16,"1":0,"2":1,"3":0,"4":0,"5":0,"6":0,"7":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ToolsTab.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ToolsTab.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":76}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":48}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":46}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":46}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":51}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":52}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":44}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":49}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":44}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":34}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":19}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":8}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":12}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":13}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":11}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":15}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":13}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":13}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":8}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":4}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":7}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":68}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":19}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":18}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":21}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":34}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":33}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":34}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":70}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":34}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":16}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":12}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":72}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":119}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":51}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":18}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":59}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":60}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":18}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":25}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":117}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":48}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":20}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":15}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":13}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":7}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":49}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":56}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":14}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":10}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":45}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":56}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":15}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":58}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":46}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":40}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":123}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":29}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":22}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":41}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":20}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":67}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":41}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":47}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":18}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":44}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":156}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":58}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":22}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":18}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":13}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":11}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":44}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":14}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":10}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":71}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":117}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":60}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":16}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":11}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":5}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":4}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":10}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":66}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":15}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":21}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":29}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":27}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":23}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":32}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":10}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":41}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":31}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":12}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":55}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":63}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":32}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":19}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":13}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":21}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":66}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":58}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":8}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":49}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":54}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":40}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":64}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":15}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":14}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":29}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":20}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":41}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":49}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":44}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":58}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":20}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":30}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":39}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":51}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":42}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":18}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":77}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":35}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":33}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":26}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":35}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":73}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":27}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":28}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":49}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":33}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":34}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":36}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":57}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":42}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":39}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":40}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":52}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":30}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":42}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":26}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":49}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":33}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":34}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":36}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":57}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":44}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":33}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":72}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":41}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":42}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":46}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":33}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":43}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":41}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":42}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":54}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":33}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":29}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":28}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":42}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":26}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":30}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":76}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":34}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":36}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":57}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":42}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":39}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":40}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":36}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":55}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":58}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":51}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":30}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":42}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":26}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":24}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":16}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":74}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":49}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":23}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":48}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":18}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":19}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":32}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":33}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":20}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":14}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":12}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":18}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":2}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":24}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"10":1,"11":1,"12":1,"13":1,"17":1,"18":6,"19":6,"20":6,"21":6,"22":6,"23":6,"24":6,"25":6,"26":6,"27":6,"37":6,"38":6,"39":6,"40":2,"41":6,"43":6,"44":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"61":0,"62":0,"63":0,"64":0,"66":0,"67":0,"68":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"89":0,"90":0,"91":0,"92":0,"94":0,"95":0,"96":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"107":0,"108":0,"110":6,"111":6,"112":6,"113":6,"114":6,"115":6,"116":0,"117":0,"118":0,"119":6,"120":6,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"128":6,"129":6,"130":6,"131":6,"133":6,"134":6,"135":6,"136":6,"137":6,"138":6,"139":6,"140":6,"141":0,"142":0,"143":0,"144":0,"145":0,"146":6,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"158":0,"159":0,"162":0,"163":0,"164":0,"165":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"174":0,"175":0,"178":0,"179":0,"180":0,"181":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"202":0,"204":0,"205":0,"206":0,"208":0,"209":0,"210":0,"211":0,"212":0,"214":0,"215":0,"216":0,"217":0,"219":0,"220":0,"223":0,"225":0,"226":0,"227":0,"229":0,"230":0,"231":0,"233":6,"234":6,"236":6,"237":6,"239":6,"240":6,"241":6,"243":6,"245":1},"branchMap":{"0":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":17},"end":{"line":244,"column":2}},"locations":[{"start":{"line":18,"column":17},"end":{"line":244,"column":2}}]},"1":{"type":"branch","line":130,"loc":{"start":{"line":130,"column":20},"end":{"line":130,"column":53}},"locations":[{"start":{"line":130,"column":20},"end":{"line":130,"column":53}}]},"2":{"type":"branch","line":137,"loc":{"start":{"line":137,"column":13},"end":{"line":137,"column":48}},"locations":[{"start":{"line":137,"column":13},"end":{"line":137,"column":48}}]},"3":{"type":"branch","line":141,"loc":{"start":{"line":141,"column":11},"end":{"line":146,"column":20}},"locations":[{"start":{"line":141,"column":11},"end":{"line":146,"column":20}}]},"4":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":14},"end":{"line":232,"column":18}},"locations":[{"start":{"line":147,"column":14},"end":{"line":232,"column":18}}]},"5":{"type":"branch","line":40,"loc":{"start":{"line":40,"column":12},"end":{"line":42,"column":5}},"locations":[{"start":{"line":40,"column":12},"end":{"line":42,"column":5}}]}},"b":{"0":[6],"1":[0],"2":[0],"3":[0],"4":[0],"5":[2]},"fnMap":{"0":{"name":"ToolsTab","decl":{"start":{"line":18,"column":17},"end":{"line":244,"column":2}},"loc":{"start":{"line":18,"column":17},"end":{"line":244,"column":2}},"line":18},"1":{"name":"renderToolResult","decl":{"start":{"line":44,"column":27},"end":{"line":109,"column":4}},"loc":{"start":{"line":44,"column":27},"end":{"line":109,"column":4}},"line":44},"2":{"name":"clearItems","decl":{"start":{"line":116,"column":20},"end":{"line":119,"column":10}},"loc":{"start":{"line":116,"column":20},"end":{"line":119,"column":10}},"line":116},"3":{"name":"renderItem","decl":{"start":{"line":121,"column":20},"end":{"line":127,"column":13}},"loc":{"start":{"line":121,"column":20},"end":{"line":127,"column":13}},"line":121},"4":{"name":"onClick","decl":{"start":{"line":227,"column":31},"end":{"line":227,"column":74}},"loc":{"start":{"line":227,"column":31},"end":{"line":227,"column":74}},"line":227}},"f":{"0":6,"1":0,"2":0,"3":0,"4":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/alert.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/alert.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":26}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":172}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":3}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":15}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":16}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":49}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":20}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":100}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":8}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":6}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":22}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":25}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":6}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":4}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":2}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":46}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":6}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":13}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":16}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":57}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":14}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":4}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":3}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":28}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":36}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":37}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":5}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":13}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":77}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":14}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":3}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":38}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":42}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":37}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":6}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":13}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":62}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":14}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":4}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":3}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":50}}},"s":{"0":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"21":1,"24":1,"25":23,"26":23,"27":23,"28":23,"29":23,"30":23,"31":23,"32":1,"34":1,"37":1,"38":2,"39":2,"40":2,"41":2,"42":2,"43":2,"44":1,"46":1,"49":1,"50":23,"51":23,"52":23,"53":23,"54":23,"55":23,"56":1},"branchMap":{"0":{"type":"branch","line":25,"loc":{"start":{"line":25,"column":2},"end":{"line":32,"column":3}},"locations":[{"start":{"line":25,"column":2},"end":{"line":32,"column":3}}]},"1":{"type":"branch","line":38,"loc":{"start":{"line":38,"column":2},"end":{"line":44,"column":3}},"locations":[{"start":{"line":38,"column":2},"end":{"line":44,"column":3}}]},"2":{"type":"branch","line":50,"loc":{"start":{"line":50,"column":2},"end":{"line":56,"column":3}},"locations":[{"start":{"line":50,"column":2},"end":{"line":56,"column":3}}]}},"b":{"0":[23],"1":[2],"2":[23]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/button.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/button.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":27}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":232}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":3}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":16}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":16}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":130}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":20}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":89}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":16}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":101}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":83}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":62}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":64}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":8}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":13}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":33}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":42}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":35}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":24}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":8}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":6}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":22}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":25}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":22}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":6}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":4}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":2}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":64}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":69}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":43}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":12}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":11}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":68}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":17}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":18}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":8}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":4}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":2}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":30}}},"s":{"0":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"42":1,"43":1,"44":223,"45":223,"46":223,"47":223,"48":223,"49":223,"50":223,"52":223,"53":1,"54":1},"branchMap":{"0":{"type":"branch","line":44,"loc":{"start":{"line":44,"column":2},"end":{"line":53,"column":4}},"locations":[{"start":{"line":44,"column":2},"end":{"line":53,"column":4}}]},"1":{"type":"branch","line":45,"loc":{"start":{"line":45,"column":17},"end":{"line":45,"column":34}},"locations":[{"start":{"line":45,"column":17},"end":{"line":45,"column":34}}]}},"b":{"0":[223],"1":[0]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/input.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/input.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":61}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":43}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":12}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":12}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":19}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":22}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":359}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":20}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":10}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":17}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":18}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":8}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":4}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":2}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":28}}},"s":{"0":1,"7":1,"8":1,"9":58,"10":58,"11":58,"12":58,"13":58,"14":58,"15":58,"16":58,"17":58,"18":58,"20":58,"21":1,"22":1},"branchMap":{"0":{"type":"branch","line":9,"loc":{"start":{"line":9,"column":2},"end":{"line":21,"column":4}},"locations":[{"start":{"line":9,"column":2},"end":{"line":21,"column":4}}]}},"b":{"0":[58]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/label.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/label.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":26}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":95}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":2}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":31}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":37}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":22}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":13}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":46}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":14}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":4}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":3}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":52}}},"s":{"0":1,"6":1,"7":1,"8":1,"10":1,"14":1,"15":8,"16":8,"17":8,"18":8,"19":8,"20":8,"21":1},"branchMap":{"0":{"type":"branch","line":15,"loc":{"start":{"line":15,"column":2},"end":{"line":21,"column":3}},"locations":[{"start":{"line":15,"column":2},"end":{"line":21,"column":3}}]}},"b":{"0":[8]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/select.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/select.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":36}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":42}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":42}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":39}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":47}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":26}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":13}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":18}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":320}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":16}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":6}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":14}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":14}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":34}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":54}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":27}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":28}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":64}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":46}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":37}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":33}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":13}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":18}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":61}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":16}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":6}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":14}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":21}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":35}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":3}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":78}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":48}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":37}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":35}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":13}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":18}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":61}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":16}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":6}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":14}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":23}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":37}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":3}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":36}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":47}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":39}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":68}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":26}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":28}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":15}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":20}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":462}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":32}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":140}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":18}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":8}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":25}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":16}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":30}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":31}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":22}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":16}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":34}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":102}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":10}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":18}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":33}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":32}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":30}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":27}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":3}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":64}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":37}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":37}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":24}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":13}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":66}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":14}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":4}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":3}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":60}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":36}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":47}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":23}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":13}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":18}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":226}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":16}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":6}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":14}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":84}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":37}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":41}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":38}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":11}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":67}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":25}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":3}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":58}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":41}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":37}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":28}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":13}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":57}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":14}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":4}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":3}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":68}}},"s":{"0":1,"11":1,"13":1,"15":1,"17":1,"20":1,"21":32,"22":32,"23":32,"24":32,"25":32,"26":32,"27":32,"29":32,"30":32,"31":32,"32":32,"33":32,"34":32,"35":1,"37":1,"40":1,"41":32,"42":32,"43":32,"44":32,"45":32,"46":32,"47":32,"49":32,"50":32,"51":32,"52":1,"54":1,"57":1,"58":32,"59":32,"60":32,"61":32,"62":32,"63":32,"64":32,"66":32,"67":32,"68":32,"69":1,"70":1,"72":1,"75":1,"76":32,"77":32,"78":32,"79":32,"80":32,"81":32,"82":32,"83":32,"84":32,"85":32,"86":32,"88":32,"89":32,"90":32,"91":32,"92":32,"93":32,"94":32,"96":32,"97":32,"98":32,"99":32,"100":32,"101":1,"102":1,"104":1,"107":1,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":1,"116":1,"119":1,"120":80,"121":80,"122":80,"123":80,"124":80,"125":80,"126":80,"128":80,"129":80,"130":80,"131":80,"132":80,"133":80,"134":80,"135":80,"136":1,"138":1,"141":1,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":1},"branchMap":{"0":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":2},"end":{"line":35,"column":3}},"locations":[{"start":{"line":21,"column":2},"end":{"line":35,"column":3}}]},"1":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":2},"end":{"line":52,"column":3}},"locations":[{"start":{"line":41,"column":2},"end":{"line":52,"column":3}}]},"2":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":2},"end":{"line":69,"column":3}},"locations":[{"start":{"line":58,"column":2},"end":{"line":69,"column":3}}]},"3":{"type":"branch","line":76,"loc":{"start":{"line":76,"column":2},"end":{"line":101,"column":27}},"locations":[{"start":{"line":76,"column":2},"end":{"line":101,"column":27}}]},"4":{"type":"branch","line":120,"loc":{"start":{"line":120,"column":2},"end":{"line":136,"column":3}},"locations":[{"start":{"line":120,"column":2},"end":{"line":136,"column":3}}]}},"b":{"0":[32],"1":[32],"2":[32],"3":[32],"4":[80]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/tabs.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/tabs.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":32}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":34}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":37}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":21}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":13}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":18}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":98}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":16}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":6}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":14}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":4}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":3}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":54}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":37}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":37}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":24}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":13}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":18}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":400}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":16}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":6}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":14}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":4}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":3}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":60}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":37}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":37}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":24}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":13}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":18}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":136}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":16}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":6}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":14}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":4}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":3}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":60}}},"s":{"0":1,"5":1,"7":1,"10":1,"11":9,"12":9,"13":9,"14":9,"15":9,"16":9,"17":9,"18":9,"19":9,"20":1,"22":1,"25":1,"26":54,"27":54,"28":54,"29":54,"30":54,"31":54,"32":54,"33":54,"34":54,"35":1,"37":1,"40":1,"41":64,"42":64,"43":64,"44":64,"45":64,"46":64,"47":64,"48":64,"49":64,"50":1},"branchMap":{"0":{"type":"branch","line":11,"loc":{"start":{"line":11,"column":2},"end":{"line":20,"column":3}},"locations":[{"start":{"line":11,"column":2},"end":{"line":20,"column":3}}]},"1":{"type":"branch","line":26,"loc":{"start":{"line":26,"column":2},"end":{"line":35,"column":3}},"locations":[{"start":{"line":26,"column":2},"end":{"line":35,"column":3}}]},"2":{"type":"branch","line":41,"loc":{"start":{"line":41,"column":2},"end":{"line":50,"column":3}},"locations":[{"start":{"line":41,"column":2},"end":{"line":50,"column":3}}]}},"b":{"0":[9],"1":[54],"2":[64]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/components/ui/textarea.tsx": {"path":"/Users/ashwin/code/mcp/inspector/client/src/components/ui/textarea.tsx","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":31}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":70}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":37}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":12}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":15}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":22}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":265}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":20}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":10}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":17}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":18}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":8}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":4}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":2}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":34}}},"s":{"0":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"19":1,"20":1,"21":1},"branchMap":{"0":{"type":"branch","line":9,"loc":{"start":{"line":9,"column":2},"end":{"line":20,"column":4}},"locations":[{"start":{"line":9,"column":2},"end":{"line":20,"column":4}}]}},"b":{"0":[1]},"fnMap":{},"f":{}} -,"/Users/ashwin/code/mcp/inspector/client/src/lib/notificationTypes.ts": {"path":"/Users/ashwin/code/mcp/inspector/client/src/lib/notificationTypes.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":8}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":71}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":20}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":24}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":5}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":3}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":62}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":27}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":2}}},"s":{"0":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"13":0,"14":0,"15":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":562},"end":{"line":19,"column":62}},"locations":[{"start":{"line":1,"column":562},"end":{"line":19,"column":62}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":562},"end":{"line":19,"column":62}},"loc":{"start":{"line":1,"column":562},"end":{"line":19,"column":62}},"line":1}},"f":{"0":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/lib/useTheme.ts": {"path":"/Users/ashwin/code/mcp/inspector/client/src/lib/useTheme.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":57}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":56}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":51}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":62}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":34}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":5}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":19}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":49}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":37}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":6}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":62}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":31}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":58}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":7}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":6}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":65}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":77}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":6}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":29}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":73}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":12}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":33}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":72}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":18}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":77}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":6}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":14}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":10}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":10}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":38}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":25}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":46}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":34}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":79}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":7}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":11}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":4}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":2}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":24}}},"s":{"0":1,"4":1,"5":16,"6":7,"7":7,"8":16,"10":16,"11":7,"12":7,"13":7,"14":7,"15":0,"16":0,"17":0,"18":0,"20":7,"21":7,"22":7,"25":7,"26":7,"27":7,"28":0,"29":0,"31":7,"33":7,"34":7,"35":7,"36":16,"38":16,"39":16,"40":16,"41":0,"42":0,"43":0,"44":0,"45":0,"46":16,"47":16,"48":16,"50":1},"branchMap":{"0":{"type":"branch","line":5,"loc":{"start":{"line":5,"column":17},"end":{"line":49,"column":2}},"locations":[{"start":{"line":5,"column":17},"end":{"line":49,"column":2}}]},"1":{"type":"branch","line":6,"loc":{"start":{"line":6,"column":44},"end":{"line":9,"column":3}},"locations":[{"start":{"line":6,"column":44},"end":{"line":9,"column":3}}]},"2":{"type":"branch","line":11,"loc":{"start":{"line":11,"column":12},"end":{"line":37,"column":5}},"locations":[{"start":{"line":11,"column":12},"end":{"line":37,"column":5}}]},"3":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":45},"end":{"line":27,"column":64}},"locations":[{"start":{"line":27,"column":45},"end":{"line":27,"column":64}}]},"4":{"type":"branch","line":28,"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}}]},"5":{"type":"branch","line":21,"loc":{"start":{"line":21,"column":32},"end":{"line":23,"column":6}},"locations":[{"start":{"line":21,"column":32},"end":{"line":23,"column":6}}]},"6":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":11},"end":{"line":36,"column":6}},"locations":[{"start":{"line":34,"column":11},"end":{"line":36,"column":6}}]}},"b":{"0":[16],"1":[7],"2":[7],"3":[0],"4":[0],"5":[7],"6":[7]},"fnMap":{"0":{"name":"useTheme","decl":{"start":{"line":5,"column":17},"end":{"line":49,"column":2}},"loc":{"start":{"line":5,"column":17},"end":{"line":49,"column":2}},"line":5},"1":{"name":"handleDarkModeChange","decl":{"start":{"line":15,"column":33},"end":{"line":19,"column":6}},"loc":{"start":{"line":15,"column":33},"end":{"line":19,"column":6}},"line":15},"2":{"name":"updateDocumentTheme","decl":{"start":{"line":21,"column":32},"end":{"line":23,"column":6}},"loc":{"start":{"line":21,"column":32},"end":{"line":23,"column":6}},"line":21}},"f":{"0":16,"1":0,"2":7}} -,"/Users/ashwin/code/mcp/inspector/client/src/lib/utils.ts": {"path":"/Users/ashwin/code/mcp/inspector/client/src/lib/utils.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":45}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":45}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":31}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":1}}},"s":{"0":1,"3":1,"4":705,"5":705},"branchMap":{"0":{"type":"branch","line":4,"loc":{"start":{"line":4,"column":7},"end":{"line":6,"column":1}},"locations":[{"start":{"line":4,"column":7},"end":{"line":6,"column":1}}]}},"b":{"0":[705]},"fnMap":{"0":{"name":"cn","decl":{"start":{"line":4,"column":7},"end":{"line":6,"column":1}},"loc":{"start":{"line":4,"column":7},"end":{"line":6,"column":1}},"line":4}},"f":{"0":705}} -,"/Users/ashwin/code/mcp/inspector/client/src/lib/hooks/useConnection.ts": {"path":"/Users/ashwin/code/mcp/inspector/client/src/lib/hooks/useConnection.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":67}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":43}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":31}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":16}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":10}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":7}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":9}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":6}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":17}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":48}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":17}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":23}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":19}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":11}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":26}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":115}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":96}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":66}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":101}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":63}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":33}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":14}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":7}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":41}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":80}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":8}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":7}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":4}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":50}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":27}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":13}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":8}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":21}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":50}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":9}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":52}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":42}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":51}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":25}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":19}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":11}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":61}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":41}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":11}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":39}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":23}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":84}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":54}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":20}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":17}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":32}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":7}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":22}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":26}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":60}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":31}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":14}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":5}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":4}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":72}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":21}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":50}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":5}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":9}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":49}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":32}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":26}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":53}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":14}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":5}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":4}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":31}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":9}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":63}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":9}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":32}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":27}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":10}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":9}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":25}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":25}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":20}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":32}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":14}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":12}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":10}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":8}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":58}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":69}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":38}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":59}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":53}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":67}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":14}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":54}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":7}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":65}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":27}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":82}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":7}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":33}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":86}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":7}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":44}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":58}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":50}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":29}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":75}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":51}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":55}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":13}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":11}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":7}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":21}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":70}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":39}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":11}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":7}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":27}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":39}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":17}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":23}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":35}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":5}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":4}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":10}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":21}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":23}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":14}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":19}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":16}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":21}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":11}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":4}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":1}}},"s":{"0":0,"17":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"69":0,"70":0,"71":0,"72":0,"73":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"90":0,"91":0,"92":0,"93":0,"95":0,"96":0,"97":0,"99":0,"100":0,"101":0,"102":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"130":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"141":0,"143":0,"144":0,"145":0,"147":0,"148":0,"149":0,"151":0,"153":0,"154":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"164":0,"165":0,"166":0,"167":0,"168":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":5219},"end":{"line":188,"column":1}},"locations":[{"start":{"line":1,"column":5219},"end":{"line":188,"column":1}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":5219},"end":{"line":188,"column":1}},"loc":{"start":{"line":1,"column":5219},"end":{"line":188,"column":1}},"line":1}},"f":{"0":0}} -,"/Users/ashwin/code/mcp/inspector/client/src/lib/hooks/useDraggablePane.ts": {"path":"/Users/ashwin/code/mcp/inspector/client/src/lib/hooks/useDraggablePane.ts","all":true,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":65}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":57}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":54}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":54}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":39}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":44}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":64}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":24}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":35}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":37}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":44}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":15}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":57}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":28}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":50}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":85}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":25}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":19}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":43}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":25}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":40}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":9}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":19}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":21}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":59}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":56}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":20}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":64}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":61}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":8}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":5}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":50}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":10}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":11}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":15}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":19}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":4}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":1}}},"s":{"0":0,"2":0,"3":0,"4":0,"5":0,"6":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"22":0,"23":0,"24":0,"25":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":44,"column":-158}},"locations":[{"start":{"line":1,"column":0},"end":{"line":44,"column":-158}}]}},"b":{"0":[0]},"fnMap":{"0":{"name":"(empty-report)","decl":{"start":{"line":1,"column":0},"end":{"line":44,"column":-158}},"loc":{"start":{"line":1,"column":0},"end":{"line":44,"column":-158}},"line":1}},"f":{"0":0}} -} diff --git a/client/coverage/favicon.png b/client/coverage/favicon.png deleted file mode 100644 index c1525b8..0000000 Binary files a/client/coverage/favicon.png and /dev/null differ diff --git a/client/coverage/index.html b/client/coverage/index.html deleted file mode 100644 index 13a03ab..0000000 --- a/client/coverage/index.html +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 65.59% - Statements - 1331/2029 -
- - -
- 83.83% - Branches - 140/167 -
- - -
- 42.7% - Functions - 41/96 -
- - -
- 65.59% - Lines - 1331/2029 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
client -
-
0%0/640%0/20%0/20%0/64
client/bin -
-
0%0/160%0/10%0/10%0/16
client/src -
-
59.17%274/46386.2%25/295.88%2/3459.17%274/463
client/src/components -
-
77.34%758/98087.03%94/10869.23%36/5277.34%758/980
client/src/components/ui -
-
95.68%266/27893.75%15/16100%0/095.68%266/278
client/src/lib -
-
61.11%33/5466.66%6/960%3/561.11%33/54
client/src/lib/hooks -
-
0%0/1740%0/20%0/20%0/174
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/client/coverage/prettify.css b/client/coverage/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/client/coverage/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/client/coverage/prettify.js b/client/coverage/prettify.js deleted file mode 100644 index b322523..0000000 --- a/client/coverage/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/client/coverage/sort-arrow-sprite.png b/client/coverage/sort-arrow-sprite.png deleted file mode 100644 index 6ed6831..0000000 Binary files a/client/coverage/sort-arrow-sprite.png and /dev/null differ diff --git a/client/coverage/sorter.js b/client/coverage/sorter.js deleted file mode 100644 index 2bb296a..0000000 --- a/client/coverage/sorter.js +++ /dev/null @@ -1,196 +0,0 @@ -/* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - if ( - row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()) - ) { - row.style.display = ''; - } else { - row.style.display = 'none'; - } - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting);