Commit graph inspector/client/src/components/ToolsTab.tsx
Author SHA1 Message Date
Nandha Reddy
0dc7a50218
feat: Enhance ResourceLinkView with expandable resource content view
Add click-to-expand functionality for inline resource content display
2025-07-09 05:15:46 +10:00
Mark Anthony Cianfrani
9eb5e7b8c2
Merge branch 'main' into main 2025-06-27 20:06:31 -04:00
Mark Anthony Cianfrani
f5dba84051 fix: allow typing negative numbers in tool parameter inputs
Number inputs were immediately converting values to Number() on every
keystroke, which prevented users from typing negative numbers since
the intermediate "-" character cannot be converted to a valid number.

Now the input stores the raw string value and only converts to Number
when the value is non-empty, allowing proper negative number entry.
2025-06-21 12:18:04 -04:00
olaservo
990bc0f7fd Fix formatting 2025-06-01 15:41:30 -07:00
olaservo
b555e41c0b Address the schema architecture crisis 2025-06-01 09:03:02 -07:00
Balaj Marius
5ca6d3db40
Merge branch 'main' into main 2025-05-29 18:30:24 +03: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
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
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
21833f9102
feat: improve color contrast and readability in dark mode 2025-05-27 11:48:03 +03:00
MMMarcinho
8373795804 feat: change style 2025-05-08 23:15:00 +08:00
Cliff Hall
33aad8a271
Merge branch 'main' into max/default-tool-json 2025-04-14 16:15:27 -04:00
Nathan Arseneau
98ea4a12d6 Merge branch 'main' into dark-mode-fix 2025-04-11 20:13:31 -04:00
Maxwell Gerber
2e8cc56744
Merge remote-tracking branch 'theirs/main' into max/default-tool-json 2025-04-11 15:36:25 -07:00
Maxwell Gerber
3e95d9d42a
pr feedback: Only use form if object is simple 2025-04-11 15:34:41 -07:00
kavinkumarbaskar
1596973b05 Merge branch 'main' into highlight-tool-errors-in-red-text 2025-04-09 22:47:12 +05:30
kavinkumarbaskar
256972a366 Merge branch 'main' into highlight-tool-errors-in-red-text 2025-04-09 17:40:30 +05:30
yushengchen
fe74dbea74 refactor(json): Consolidate JSON utilities and type definitions
Modified files:
- client/src/components/DynamicJsonForm.tsx
- client/src/components/JsonView.tsx
- client/src/components/ToolsTab.tsx
- client/src/components/__tests__/DynamicJsonForm.test.tsx
- client/src/utils/__tests__/jsonPathUtils.test.ts → client/src/utils/__tests__/jsonUtils.test.ts
- client/src/utils/__tests__/schemaUtils.test.ts
- client/src/utils/jsonPathUtils.ts → client/src/utils/jsonUtils.ts
- client/src/utils/schemaUtils.ts

Descriptions:
- Move JSON type definitions from DynamicJsonForm to centralized jsonUtils
- Consolidate utility functions (getDataType, tryParseJson) into jsonUtils
- Rename jsonPathUtils to jsonUtils for better semantic clarity
- Add comprehensive test coverage for new utility functions
- Update imports across all affected components
- Improve type references consistency throughout the codebase
2025-04-09 09:20:02 +08:00
Maxwell Gerber
f6ed09e9fb
Merge remote-tracking branch 'theirs/main' into max/default-tool-json 2025-04-08 15:17:11 -07:00
Maxwell Gerber
4bc44c4d19
fix: When tool type cannot be determined, use DynamicJsonForm 2025-04-08 15:05:57 -07:00
Pulkit Sharma
cf20fe9142 merge main 2025-04-09 01:23:42 +05:30
kavinkumarbaskar
ca1854b071 ran npm run prettier-fix command to fix the code styling 2025-04-05 23:32:10 +05:30
kavinkumarbaskar
a3be8f6376 feat: highlight tool errors in red text 2025-04-05 23:24:10 +05:30
Nathan Arseneau
8d20044b33 fix darkmode color and padding for the tab item 2025-04-05 11:47:44 -04:00
Pulkit Sharma
e35343537c Add proper support for progress flow during tool calling 2025-04-05 01:46:57 +05:30
Shinya Fujino
0fd2e12c7b Fix inconsistent gap between TabsList and TabsContent 2025-04-04 22:39:55 +09:00
NicolasMontone
c964ff5cfe Use copy button insde JSON view component 2025-04-02 10:39:39 -03:00
NicolasMontone
8586d63e6d Add shadcn alert to match project design 2025-04-01 17:38:25 -03:00
NicolasMontone
539de0fd85 add copy button 2025-04-01 17:18:40 -03:00
NicolasMontone
1504d1307e Remove error 2025-04-01 16:49:10 -03:00
NicolasMontone
d1e155f984 Revert "Add copy button to JSON & fix button styles override."
This reverts commit c48670f426.
2025-04-01 16:48:01 -03:00
NicolasMontone
c48670f426 Add copy button to JSON & fix button styles override. 2025-04-01 16:43:23 -03:00
Nicolás Montone
e4d4ff0148
Merge branch 'main' into main 2025-04-01 15:10:10 -03:00
NicolasMontone
d2db697d89 fix: prettier. 2025-04-01 11:00:13 -03:00
NicolasMontone
dada1c4ba6 do not remove form with alert 2025-04-01 10:59:30 -03:00
katopz
2ee0a53e36 fix: prettier 2025-04-01 09:27:24 +09:00
katopz
7b055b6b9a fix: prop.type not accept integer 2025-03-31 18:29:09 +09:00
cgoing
2d252a389c Remove escapeUnicode function from ToolsTab.tsx 2025-03-27 11:42:39 +09:00
cgoing
e6f5da8383 Improve JsonView component styling and change to use JsonView in PromptsTab 2025-03-27 10:49:37 +09:00
choi sung keun
8e9e5facaf
Merge branch 'main' into feat/json-view-component 2025-03-25 09:45:01 +09:00
cgoing
f0b28d4760 feat: json view component 2025-03-25 01:48:29 +09:00
Ola Hungerford
f8b7b88a25
Merge pull request #198 from nathanArseneau/error-when-switching-Tools-without-changing-value
fix: set default value for input fields in ToolsTab component
2025-03-24 09:29:05 -07:00
Abdelkader Boudih
af44efb236
chore: extract utils escapeUnicode 2025-03-22 16:25:33 +00:00
Abdelkader Boudih
3488bdb613
feat: Add utility function to escape Unicode characters in tool results 2025-03-21 22:21:26 +00:00
Nathan Arseneau
029e482e05 fix: set default value for input fields in ToolsTab component 2025-03-19 20:15:14 -04:00
Ola Hungerford
cae7c76358 Fix formatting 2025-03-16 15:31:49 -07:00
Ola Hungerford
50a65d0c7a Use generateDefaultValue for object and array defaults 2025-03-16 15:29:59 -07:00
Ola Hungerford
e7f55f083f Fix formatting 2025-02-28 07:34:01 -07:00
Ola Hungerford
36aa7316ea Fix issue where array type defaults to object 2025-02-28 07:31:26 -07:00