Commit graph inspector/client
Author SHA1 Message Date
cliffhall
8ef91e359e Bump Inspector packages to 0.14.0, and sdk to 1.12.1 2025-06-04 16:13:35 -04:00
Cliff Hall
cc28a891e9
Merge branch 'main' into 450-template-queries 2025-06-04 14:54:57 -04:00
dr3s
9508cc4627 pretty 2025-06-04 14:44:15 -04:00
dr3s
21b86d409c add test 2025-06-03 13:58:33 -04:00
dr3s
26f744866a formatting 2025-06-03 13:58:33 -04:00
dr3s
07f3e4593b remove logs 2025-06-03 13:58:33 -04:00
dr3s
f1650d06e3 use UriTemplate variable names 2025-06-03 13:58:33 -04:00
dr3s
2f50a4ba0e fix: Resource template query parameters not appended to request URI #450 2025-06-03 13:58:33 -04:00
Paul Carleton
a387c6ad7e
hook warning 2025-06-03 17:29:22 +01:00
Paul Carleton
e2d3989bb2
use scopes from PRM if available 2025-06-03 11:05:45 +01:00
Paul Carleton
9371006838
less noisy errors 2025-06-03 11:02:34 +01:00
Paul Carleton
0f4a289a4d
Merge branch 'main' into pcarleton/auth-debugger-draft 2025-06-02 16:41:44 +01:00
Paul Carleton
fa01fafa59
version bump + lint 2025-06-02 16:21:55 +01:00
Paul Carleton
2d7936d10b
fix type errors 2025-06-02 16:20:16 +01:00
Cliff Hall
7df0ac40c5
Merge pull request #470 from cliffhall/send-delete-on-streamable-http-disconnect
Send HTTP DELETE on streamable transport disconnect
2025-06-02 10:05:30 -04:00
Cliff Hall
438390ecd5
Merge branch 'main' into send-delete-on-streamable-http-disconnect 2025-05-30 11:58:02 -04:00
Xiaoli
f87884900e
Merge branch 'main' into fix/header 2025-05-30 10:14:42 +08:00
xiaoli
b51ee625cd style: fix code style to pass CI checks 2025-05-30 10:14:03 +08:00
cliffhall
02aacb46a2 Send HTTP/DELETE when disconnecting client
* In server/src/index.ts
  - add delete handler for /mcp endpoint
    - gets the server transport for the sessionId
    - calls terminateSession on it
    - removes the webapp and server transports for the sessionId from the maps
    - returns status 200 to the client.

* In client/src/lib/hooks/useConnection.ts
  - import Transport
  - add useState for clientTransport, type Transport or null initialized to null
  - in connect() function
    - move creation of client transport down a ways, just before calling client.connect with it
    - immendiately efter calling client.connect, call setClientTransport with the connected transport (has to happen after, so that what's saved has the abort controller, etc. otherwise it doesn't work to save it prior.
    - in disconnect() function
      - immediately call clientTransport.terminateSession if transportType is "streamable-http"
      - setClientTransport to null
2025-05-29 19:54:36 -04:00
Ola Hungerford
029d2de26c
Merge pull request #449 from balajmarius/main
Improve color contrast and readability in dark mode
2025-05-29 09:07:10 -07:00
Cliff Hall
c186f531b8
Merge branch 'main' into fix/header 2025-05-29 12:01:17 -04:00
Cliff Hall
7fb2211bf2
Merge branch 'main' into fix-port-numbers 2025-05-29 11:41:10 -04:00
Balaj Marius
5ca6d3db40
Merge branch 'main' into main 2025-05-29 18:30:24 +03:00
Balaj Marius
2e5cc87659
Update index.css
Co-authored-by: Ola Hungerford <olahungerford@gmail.com>
2025-05-29 18:30:13 +03:00
Xiaoli
ee8c29b3ad
Merge branch 'main' into fix/header 2025-05-29 23:30:11 +08:00
Paul Carleton
e74f80db85
fix tests 2025-05-29 14:26:29 +01:00
Paul Carleton
11bc04364b
whitespace 2025-05-29 14:11:01 +01:00
Paul Carleton
03bb303bf9
rm loading, prm test 2025-05-29 14:10:32 +01:00
Paul Carleton
cc49358f5a
add test + prettier 2025-05-29 13:42:54 +01:00
Paul Carleton
35eab580ef
switch to metadata from state 2025-05-29 12:26:53 +01:00
Paul Carleton
20e961ce5c
resumption working 2025-05-29 12:09:52 +01:00
Paul Carleton
0dbf75a664
store state before redirect 2025-05-29 11:50:09 +01:00
Paul Carleton
82858bed30
show proper authserverurl 2025-05-29 11:17:21 +01:00
Paul Carleton
73fde03aa4
working metadata fetch 2025-05-29 10:56:09 +01:00
Paul Carleton
c6ddcf4c90
fix 2025-05-29 10:11:44 +01:00
Paul Carleton
00893afc0b
wip new metadata 2025-05-29 10:11:44 +01:00
Paul Carleton
befadc0042
very wip draft auth spec support 2025-05-29 10:11:44 +01:00
Paul Carleton
46d3d844f8
reset authorization url 2025-05-29 10:11:44 +01:00
xiaoli
10e3202832 fix: Fix the issue of accidentally losing 'x-custom-auth-header' 2025-05-29 11:49:57 +08:00
Basil Hosmer
d8a2821344
refactor: Address PR comments
- Extract tool results rendering into separate ToolResults component
- Hoist checkContentCompatibility function to module level following codebase conventions
- Add ajv@6.12.6 as direct dependency to client package.json
- All tests pass and linting is clean

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 22:18:19 -04:00
Basil Hosmer
5a628c7a00
fix: Fix lint errors
- Remove unused catch parameter in ToolsTab.tsx
- Replace 'as any' with @ts-expect-error in test for invalid schema

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
e7e4745464
fix: Fix TypeScript build errors in ToolsTab tests
The previous test implementation caused build failures due to Jest
hoisting issues with mock variables. This commit fixes the build by
removing mocking in favor of using real schema validation.

- Remove jest.mock() of schemaUtils module that caused initialization errors
- Add beforeEach to clear schema cache between tests
- Use cacheToolOutputSchemas() to set up test scenarios
- Let real validation logic run for more accurate tests
- All tests pass and build succeeds

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
b184654ee5
style: Apply Prettier formatting to structured output code
Applied consistent formatting to ToolsTab.tsx and schemaUtils.ts
to fix linting issues. No functional changes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
cf1fb61de4
test: Add comprehensive tests for structured output validation
Added extensive test coverage for the new structured output features:

Schema Utilities Tests:
- Tests for cacheToolOutputSchemas function
- Tests for validateToolOutput with various scenarios
- Tests for getToolOutputValidator and hasOutputSchema helpers
- Coverage for valid/invalid schemas and edge cases
- Tests for nested object validation

ToolsTab Component Tests:
- Tests for output schema display and expand/collapse functionality
- Tests for structured content validation display
- Tests for validation error messages
- Tests for unstructured content title logic
- Tests for compatibility checking between structured/unstructured content
- Tests ensuring compatibility check only runs with output schemas

All tests passing with 100% coverage of new functionality.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Basil Hosmer
de84c472ce
feat: Add structured output support to browser UI
This commit adds comprehensive support for structured output validation in tool calls,
following the MCP specification for tools with output schemas.

UI Changes:
1. Output Schema Display:
   - Added collapsible output schema section in ToolsTab
   - Shows output schemas after input fields, before the Run Tool button
   - Default view shows 8 lines with scrolling, expandable to full view
   - Expand/Collapse button with chevron icons for better UX

2. Structured Content Display:
   - New "Structured Content" section when tools return structuredContent
   - Shows structured data in a formatted JSON view
   - Validation status indicator (green checkmark for valid, red X for errors)
   - Detailed validation error messages when content doesn't match schema

3. Unstructured Content Labeling:
   - Added "Unstructured Content" heading when both structured and unstructured content exist
   - Only shows label when structured content is also present
   - Maintains clean UI when only unstructured content exists

4. Compatibility Checking:
   - Checks if unstructured content matches structured content (when output schema exists)
   - Shows compatibility status with blue (compatible) or yellow (incompatible) indicators
   - Detailed messages explain why content doesn't match
   - Only runs compatibility check for tools with output schemas

5. Validation Error Handling:
   - Shows error when tool with output schema doesn't return structured content
   - Clear error messages for schema validation failures
   - Maintains proper error state display

Technical Implementation:
- Added schema validation utilities using Ajv (same as SDK)
- Caches compiled validators for performance
- Validates on tool result display, not during the call
- Follows SDK's Client.callTool validation pattern

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-28 15:24:40 -04:00
Balaj Marius
3ea9a19a76
Merge branch 'main' into main 2025-05-27 16:10:00 +03:00
Paul Carleton
7b1299c730
[auth debugger] Make the quick flow use the same state machine as the step-by-step flow (#426)
* use state machine in quick flow

* clean up test

* rm some comments
2025-05-27 11:36:19 +01:00
Balaj Marius
21833f9102
feat: improve color contrast and readability in dark mode 2025-05-27 11:48:03 +03:00
xiaoli
2870441fea fix: fix review comments, again😉
- Remove unnecessary auth header name check
- Extract operations on headers into a function
2025-05-25 11:17:37 +08:00
Cliff Hall
c2610b6bb6
Merge branch 'main' into pcarleton/naming 2025-05-21 16:15:58 -04:00