inspector/scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
cliffhall 96f96aad41 fix(proxy): preserve fetch semantics through the proxy adapter
Addresses review round 4 on #2099 — three posted comments and three suppressed
ones, all valid.

- A rebuilt Response reported `url: ""`, `redirected: false`, and
  `type: "default"` even after undici followed a redirect: a fetch-contract
  regression visible only to proxy users, and one `core/auth/endpointOverrides.ts`
  explicitly guards against by declining to rebuild at all. This adapter has no
  such choice — the response arrives from the wrong realm — so it now reinstates
  the three with `defineProperty`.

- Normalizing a `Request` input dropped every option the Request itself carried
  beyond method/headers/body/signal. Most visibly `redirect`: a
  `new Request(url, { redirect: "manual" })` started following redirects instead
  of surfacing them. All of them are now carried through, with an explicit
  `init` still winning per the fetch contract.

  Both are covered by tests driving a real redirect through a real proxy, and
  both were confirmed to fail without the fix.

- `@modelcontextprotocol/ext-apps` was added only to the CLI's `external` list.
  AGENTS.md requires every root-declared runtime dependency in all three, since
  which client reaches it is a function of what `core/` imports rather than of
  the client's own code. Added to the web runner and TUI lists too.

- The `BUNDLED_CLIENTS` test compared the hard-coded list against a hard-coded
  copy of itself, so a new tsup-bundled client would have left it green while
  going unchecked. It now discovers clients from disk (a client is tsup-bundled
  iff it ships a tsup config) and compares. Verified it fails when a stub client
  is added.

- AGENTS.md's project tree still described `core/mcp/node/` as only the stdio
  transport factory; it now carries `proxyFetch.ts` and its role.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JTHVxSu8AUgHRLvo1ntZ8H
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-23 22:18:43 -04:00
..
lib fix(scripts): observe the final polling interval before declaring a timeout 2026-08-23 13:02:38 -04:00
install-clients.mjs feat: port CLI, TUI, and launcher from v1.5 into v2 (#1452) 2026-06-14 20:27:49 -04:00
pack-and-verify.mjs fix(scripts): keep the resolver local, complete the cmd.exe quoting 2026-08-17 00:18:40 -04:00
smoke-cli.mjs fix: resolve node bins via package.json instead of spawning npx .cmd shims so the verify/smoke scripts run on Windows 2026-08-12 09:04:31 -07:00
smoke-launcher.mjs refactor: self-validating clients, fast validate + separate coverage/smoke (#1504) (#1505) 2026-06-21 11:41:33 -04:00
smoke-tui.mjs fix: resolve node bins via package.json instead of spawning npx .cmd shims so the verify/smoke scripts run on Windows 2026-08-12 09:04:31 -07:00
smoke-web-app.mjs test(scripts): cover the readiness-timeout teardown path (#2000 review) 2026-08-23 12:22:24 -04:00
smoke-web-browser.mjs fix(smoke): await the server's exit before removing its catalog, and test it 2026-08-11 14:32:20 -04:00
smoke-web-elicitation.mjs fix(apps): address review of app-rendered elicitations 2026-08-22 19:43:44 -04:00
smoke-web.mjs fix(smoke): await the server's exit before removing its catalog, and test it 2026-08-11 14:32:20 -04:00
verify-build-gate.mjs fix: resolve node bins via package.json instead of spawning npx .cmd shims so the verify/smoke scripts run on Windows 2026-08-12 09:04:31 -07:00
verify-bundle-externals.mjs fix(guard): derive must-not-bundle candidates independently of external 2026-08-23 22:02:54 -04:00
verify-bundle-externals.test.mjs fix(proxy): preserve fetch semantics through the proxy adapter 2026-08-23 22:18:43 -04:00
verify-dep-lockstep.main.test.mjs Merge origin/v2/main: move the #1939 npx fix into the shared tsc-program lib 2026-08-16 17:07:50 -07:00
verify-dep-lockstep.mjs chore(scripts): compare only the copies a program actually met 2026-08-16 12:35:38 -04:00
verify-dep-lockstep.test.mjs chore(scripts): compare only the copies a program actually met 2026-08-16 12:35:38 -04:00
verify-format-coverage.main.test.mjs test(scripts): cover verify-format-coverage's sibling-guard vouch 2026-08-10 22:16:29 -04:00
verify-format-coverage.mjs chore(deps): scope the allowlist to a major, cover vitest.shared.mts, fix the vouch comment 2026-08-10 21:00:31 -04:00
verify-typecheck-coverage.main.test.mjs Merge origin/v2/main: move the #1939 npx fix into the shared tsc-program lib 2026-08-16 17:07:50 -07:00
verify-typecheck-coverage.mjs Merge origin/v2/main: move the #1939 npx fix into the shared tsc-program lib 2026-08-16 17:07:50 -07:00
verify-typecheck-coverage.test.mjs chore(scripts): derive dep-lockstep candidates from what enters each tsc program 2026-08-16 12:17:15 -04:00