Commit graph typescript-sdk/src/client/index.test.ts
Author SHA1 Message Date
ihrpr
04cbbfbb0d
elicitation example 2025-05-21 16:59:37 -04:00
Basil Hosmer
18c7e795a0
address comments: 1. validate schemas w/o codegen, 2. relax no-structured-output restriction 2025-05-15 10:03:50 -04:00
Basil Hosmer
6079cd8307
- add new tool() api and tests
- fix schema validation
- comment headers on tests
2025-05-15 10:03:02 -04:00
Basil Hosmer
bb28098d81
feat: add server-side support for tool outputSchema with backward compatibility
- Update McpServer to support registering tools with outputSchema
- Add automatic content generation from structuredContent for backward compatibility
- Add validation to ensure proper usage of structuredContent vs content
- Add comprehensive tests for outputSchema functionality
- Add example servers demonstrating structured output usage
- Update existing test to match new backward compatibility behavior

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-15 10:02:02 -04:00
Basil Hosmer
882e0b7d05
feat: update TypeScript SDK to implement draft spec changes for structured tool output
- Add outputSchema support to Tool interface with proper documentation
- Split CallToolResult into structured and unstructured variants
- Change structuredContent from string to object type
- Add validation that tools without outputSchema cannot return structuredContent
- Add validation that tools with outputSchema must return structuredContent
- Update client to validate structured content as object (no JSON parsing)
- Update tests to use object format for structuredContent
- Add tests for new validation constraints
- Update LATEST_PROTOCOL_VERSION to DRAFT-2025-v2

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-15 10:02:02 -04:00
Basil Hosmer
cf12fe0d83
Add client-side validation for tool output schemas
- Cache tool output schemas when listing tools
- Validate structuredContent against outputSchema during callTool
- Enforce that tools with outputSchema must return structuredContent
- Add json-schema-to-zod dependency for schema conversion
- Add comprehensive tests for validation scenarios

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-05-15 10:01:58 -04:00
cliffhall
d11673fc2d Add client/server version negotiation tests without mocks
* In src/client/index.test.ts added tests:
  - "should connect new client to old, supported server version"
  - should negotiate version when client is old, and newer server supports its version"
  - "should throw when client is old, and server doesn't support its version"
2025-04-28 18:01:24 -04:00
cliffhall
cada5a4266 Add client/server version negotiation tests without mocks
* In src/client/index.test.ts added tests:
  - "should connect new client to old, supported server version"
  - should negotiate version when client is old, and newer server supports its version"
  - "should throw when client is old, and server doesn't support its version"
2025-04-28 17:58:47 -04:00
ihrpr
251bb9d97d
Merge branch 'main' into ihrpr/http-streamable-server 2025-04-07 14:29:09 +01:00
ihrpr
268c9f7469
fix test 2025-04-06 18:42:46 +01:00
Shinya Fujino
87dc5eb4a2 fix: Ensure the correct capability is checked for completion/complete 2025-04-06 11:42:18 +09:00
Kalvin Chau
443c0829ed feat: add mcp client instruction support 2025-01-22 09:17:59 -08:00
Justin Spahr-Summers
437a870029
Tests for request timeout 2024-11-16 16:37:24 +00:00
Justin Spahr-Summers
6ec4c09325
Add tests for issuing cancellation notifications 2024-11-14 14:11:11 +00:00
Justin Spahr-Summers
8b307a5d62
Check capabilities when request handlers are set 2024-11-12 12:16:43 +00:00
Justin Spahr-Summers
64c2862883
Check and add tests for notification capabilities too 2024-11-12 12:02:10 +00:00
Justin Spahr-Summers
dc45f5d148
Handle capabilities checks at the request() level, make non-strict by default 2024-11-12 10:57:59 +00:00
Justin Spahr-Summers
7ab5880569
Use explicit capabilities lists for now 2024-11-11 22:38:43 +00:00
Justin Spahr-Summers
90e91cdd62
Tests and assertions for client/server capabilities
Resolves #45.
2024-11-11 22:30:50 +00:00
Justin Spahr-Summers
c82d633d8d
Disconnect from client side if initialization fails
Resolves #24.
2024-11-11 22:08:46 +00:00
Justin Spahr-Summers
8ea66e7df9
Tests for protocol version negotiation
Resolves #44.
2024-11-11 22:05:13 +00:00
Justin Spahr-Summers
f5fa3cf8e3
Oops, ignore more lints 2024-11-04 21:22:05 +00:00
Justin Spahr-Summers
af9df1ff14
Don't actually run request() and notification() 2024-11-04 21:13:00 +00:00
Justin Spahr-Summers
2026260668
Wrap into one test (required) 2024-11-04 21:12:17 +00:00
Justin Spahr-Summers
9774e2fdfe
Disable unused vars lint 2024-11-04 21:10:35 +00:00
Justin Spahr-Summers
7cc7e81387
Support custom client request, notification, and result types 2024-11-04 21:07:41 +00:00