@modelcontextprotocol/sdk 1.20.2 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/client/auth.d.ts +21 -6
- package/dist/cjs/client/auth.d.ts.map +1 -1
- package/dist/cjs/client/auth.js +11 -0
- package/dist/cjs/client/auth.js.map +1 -1
- package/dist/cjs/client/index.d.ts +42 -4
- package/dist/cjs/client/index.d.ts.map +1 -1
- package/dist/cjs/client/index.js +17 -18
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/cjs/examples/client/simpleStreamableHttp.js +3 -6
- package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/elicitationExample.d.ts +2 -0
- package/dist/cjs/examples/server/elicitationExample.d.ts.map +1 -0
- package/dist/cjs/examples/server/elicitationExample.js +437 -0
- package/dist/cjs/examples/server/elicitationExample.js.map +1 -0
- package/dist/cjs/server/auth/handlers/metadata.js +1 -1
- package/dist/cjs/server/auth/handlers/metadata.js.map +1 -1
- package/dist/cjs/server/index.d.ts +34 -2
- package/dist/cjs/server/index.d.ts.map +1 -1
- package/dist/cjs/server/index.js +9 -12
- package/dist/cjs/server/index.js.map +1 -1
- package/dist/cjs/server/mcp.d.ts +7 -0
- package/dist/cjs/server/mcp.d.ts.map +1 -1
- package/dist/cjs/server/mcp.js +43 -47
- package/dist/cjs/server/mcp.js.map +1 -1
- package/dist/cjs/shared/auth.d.ts +1 -0
- package/dist/cjs/shared/auth.d.ts.map +1 -1
- package/dist/cjs/validation/ajv-provider.d.ts +53 -0
- package/dist/cjs/validation/ajv-provider.d.ts.map +1 -0
- package/dist/cjs/validation/ajv-provider.js +95 -0
- package/dist/cjs/validation/ajv-provider.js.map +1 -0
- package/dist/cjs/validation/cfworker-provider.d.ts +52 -0
- package/dist/cjs/validation/cfworker-provider.d.ts.map +1 -0
- package/dist/cjs/validation/cfworker-provider.js +71 -0
- package/dist/cjs/validation/cfworker-provider.js.map +1 -0
- package/dist/cjs/validation/index.d.ts +29 -0
- package/dist/cjs/validation/index.d.ts.map +1 -0
- package/dist/cjs/validation/index.js +30 -0
- package/dist/cjs/validation/index.js.map +1 -0
- package/dist/cjs/validation/types.d.ts +55 -0
- package/dist/cjs/validation/types.d.ts.map +1 -0
- package/dist/cjs/validation/types.js +3 -0
- package/dist/cjs/validation/types.js.map +1 -0
- package/dist/esm/client/auth.d.ts +21 -6
- package/dist/esm/client/auth.d.ts.map +1 -1
- package/dist/esm/client/auth.js +11 -1
- package/dist/esm/client/auth.js.map +1 -1
- package/dist/esm/client/index.d.ts +42 -4
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +18 -16
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/esm/examples/client/simpleStreamableHttp.js +2 -2
- package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/elicitationExample.d.ts +2 -0
- package/dist/esm/examples/server/elicitationExample.d.ts.map +1 -0
- package/dist/esm/examples/server/elicitationExample.js +432 -0
- package/dist/esm/examples/server/elicitationExample.js.map +1 -0
- package/dist/esm/server/auth/handlers/metadata.js +1 -1
- package/dist/esm/server/auth/handlers/metadata.js.map +1 -1
- package/dist/esm/server/index.d.ts +34 -2
- package/dist/esm/server/index.d.ts.map +1 -1
- package/dist/esm/server/index.js +10 -10
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/server/mcp.d.ts +7 -0
- package/dist/esm/server/mcp.d.ts.map +1 -1
- package/dist/esm/server/mcp.js +43 -47
- package/dist/esm/server/mcp.js.map +1 -1
- package/dist/esm/shared/auth.d.ts +1 -0
- package/dist/esm/shared/auth.d.ts.map +1 -1
- package/dist/esm/validation/ajv-provider.d.ts +53 -0
- package/dist/esm/validation/ajv-provider.d.ts.map +1 -0
- package/dist/esm/validation/ajv-provider.js +88 -0
- package/dist/esm/validation/ajv-provider.js.map +1 -0
- package/dist/esm/validation/cfworker-provider.d.ts +52 -0
- package/dist/esm/validation/cfworker-provider.d.ts.map +1 -0
- package/dist/esm/validation/cfworker-provider.js +67 -0
- package/dist/esm/validation/cfworker-provider.js.map +1 -0
- package/dist/esm/validation/index.d.ts +29 -0
- package/dist/esm/validation/index.d.ts.map +1 -0
- package/dist/esm/validation/index.js +29 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/validation/types.d.ts +55 -0
- package/dist/esm/validation/types.d.ts.map +1 -0
- package/dist/esm/validation/types.js +2 -0
- package/dist/esm/validation/types.js.map +1 -0
- package/package.json +25 -3
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Schema } from '@cfworker/json-schema';
|
|
2
|
+
/**
|
|
3
|
+
* Result of a JSON Schema validation operation
|
|
4
|
+
*/
|
|
5
|
+
export type JsonSchemaValidatorResult<T> = {
|
|
6
|
+
valid: true;
|
|
7
|
+
data: T;
|
|
8
|
+
errorMessage: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
valid: false;
|
|
11
|
+
data: undefined;
|
|
12
|
+
errorMessage: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* A validator function that validates data against a JSON Schema
|
|
16
|
+
*/
|
|
17
|
+
export type JsonSchemaValidator<T> = (input: unknown) => JsonSchemaValidatorResult<T>;
|
|
18
|
+
/**
|
|
19
|
+
* Provider interface for creating validators from JSON Schemas
|
|
20
|
+
*
|
|
21
|
+
* This is the main extension point for custom validator implementations.
|
|
22
|
+
* Implementations should:
|
|
23
|
+
* - Support JSON Schema Draft 2020-12 (or be compatible with it)
|
|
24
|
+
* - Return validator functions that can be called multiple times
|
|
25
|
+
* - Handle schema compilation/caching internally
|
|
26
|
+
* - Provide clear error messages on validation failure
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* class MyValidatorProvider implements jsonSchemaValidator {
|
|
31
|
+
* getValidator<T>(schema: JsonSchemaType<T>): JsonSchemaValidator<T> {
|
|
32
|
+
* // Compile/cache validator from schema
|
|
33
|
+
* return (input: unknown) => {
|
|
34
|
+
* // Validate input against schema
|
|
35
|
+
* if (valid) {
|
|
36
|
+
* return { valid: true, data: input as T, errorMessage: undefined };
|
|
37
|
+
* } else {
|
|
38
|
+
* return { valid: false, data: undefined, errorMessage: 'Error details' };
|
|
39
|
+
* }
|
|
40
|
+
* };
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export interface jsonSchemaValidator {
|
|
46
|
+
/**
|
|
47
|
+
* Create a validator for the given JSON Schema
|
|
48
|
+
*
|
|
49
|
+
* @param schema - Standard JSON Schema object
|
|
50
|
+
* @returns A validator function that can be called multiple times
|
|
51
|
+
*/
|
|
52
|
+
getValidator<T>(schema: JsonSchemaType): JsonSchemaValidator<T>;
|
|
53
|
+
}
|
|
54
|
+
export type JsonSchemaType = Schema;
|
|
55
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/validation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,yBAAyB,CAAC,CAAC,IACjC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,YAAY,EAAE,SAAS,CAAA;CAAE,GACjD;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;;;OAKG;IACH,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACnE;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/validation/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@modelcontextprotocol/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"description": "Model Context Protocol implementation for TypeScript",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Anthropic, PBC (https://anthropic.com)",
|
|
@@ -31,6 +31,18 @@
|
|
|
31
31
|
"import": "./dist/esm/server/index.js",
|
|
32
32
|
"require": "./dist/cjs/server/index.js"
|
|
33
33
|
},
|
|
34
|
+
"./validation": {
|
|
35
|
+
"import": "./dist/esm/validation/index.js",
|
|
36
|
+
"require": "./dist/cjs/validation/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./validation/ajv": {
|
|
39
|
+
"import": "./dist/esm/validation/ajv-provider.js",
|
|
40
|
+
"require": "./dist/cjs/validation/ajv-provider.js"
|
|
41
|
+
},
|
|
42
|
+
"./validation/cfworker": {
|
|
43
|
+
"import": "./dist/esm/validation/cfworker-provider.js",
|
|
44
|
+
"require": "./dist/cjs/validation/cfworker-provider.js"
|
|
45
|
+
},
|
|
34
46
|
"./*": {
|
|
35
47
|
"import": "./dist/esm/*",
|
|
36
48
|
"require": "./dist/cjs/*"
|
|
@@ -63,7 +75,8 @@
|
|
|
63
75
|
"client": "tsx src/cli.ts client"
|
|
64
76
|
},
|
|
65
77
|
"dependencies": {
|
|
66
|
-
"ajv": "^
|
|
78
|
+
"ajv": "^8.17.1",
|
|
79
|
+
"ajv-formats": "^3.0.1",
|
|
67
80
|
"content-type": "^1.0.5",
|
|
68
81
|
"cors": "^2.8.5",
|
|
69
82
|
"cross-spawn": "^7.0.5",
|
|
@@ -76,7 +89,16 @@
|
|
|
76
89
|
"zod": "^3.23.8",
|
|
77
90
|
"zod-to-json-schema": "^3.24.1"
|
|
78
91
|
},
|
|
92
|
+
"peerDependencies": {
|
|
93
|
+
"@cfworker/json-schema": "^4.1.1"
|
|
94
|
+
},
|
|
95
|
+
"peerDependenciesMeta": {
|
|
96
|
+
"@cfworker/json-schema": {
|
|
97
|
+
"optional": true
|
|
98
|
+
}
|
|
99
|
+
},
|
|
79
100
|
"devDependencies": {
|
|
101
|
+
"@cfworker/json-schema": "^4.1.1",
|
|
80
102
|
"@eslint/js": "^9.8.0",
|
|
81
103
|
"@jest-mock/express": "^3.0.0",
|
|
82
104
|
"@types/content-type": "^1.1.8",
|
|
@@ -91,8 +113,8 @@
|
|
|
91
113
|
"@types/ws": "^8.5.12",
|
|
92
114
|
"eslint": "^9.8.0",
|
|
93
115
|
"eslint-config-prettier": "^10.1.8",
|
|
94
|
-
"prettier": "3.6.2",
|
|
95
116
|
"jest": "^29.7.0",
|
|
117
|
+
"prettier": "3.6.2",
|
|
96
118
|
"supertest": "^7.0.0",
|
|
97
119
|
"ts-jest": "^29.2.4",
|
|
98
120
|
"tsx": "^4.16.5",
|