@modelcontextprotocol/sdk 1.21.2 → 1.23.0-beta.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/README.md +92 -11
- package/dist/cjs/client/auth.d.ts +11 -1
- package/dist/cjs/client/auth.d.ts.map +1 -1
- package/dist/cjs/client/auth.js +71 -19
- package/dist/cjs/client/auth.js.map +1 -1
- package/dist/cjs/client/index.d.ts +252 -1478
- package/dist/cjs/client/index.d.ts.map +1 -1
- package/dist/cjs/client/index.js +130 -0
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/client/sse.d.ts +1 -0
- package/dist/cjs/client/sse.d.ts.map +1 -1
- package/dist/cjs/client/sse.js +5 -3
- package/dist/cjs/client/sse.js.map +1 -1
- package/dist/cjs/client/streamableHttp.d.ts +2 -1
- package/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/dist/cjs/client/streamableHttp.js +35 -15
- package/dist/cjs/client/streamableHttp.js.map +1 -1
- package/dist/cjs/examples/client/elicitationUrlExample.d.ts +2 -0
- package/dist/cjs/examples/client/elicitationUrlExample.d.ts.map +1 -0
- package/dist/cjs/examples/client/elicitationUrlExample.js +693 -0
- package/dist/cjs/examples/client/elicitationUrlExample.js.map +1 -0
- package/dist/cjs/examples/client/simpleOAuthClient.js +13 -52
- package/dist/cjs/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts +26 -0
- package/dist/cjs/examples/client/simpleOAuthClientProvider.d.ts.map +1 -0
- package/dist/cjs/examples/client/simpleOAuthClientProvider.js +51 -0
- package/dist/cjs/examples/client/simpleOAuthClientProvider.js.map +1 -0
- package/dist/cjs/examples/client/simpleStreamableHttp.js +11 -6
- package/dist/cjs/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts +4 -4
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js +16 -0
- package/dist/cjs/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
- package/dist/cjs/examples/server/elicitationFormExample.d.ts +2 -0
- package/dist/cjs/examples/server/elicitationFormExample.d.ts.map +1 -0
- package/dist/cjs/examples/server/{elicitationExample.js → elicitationFormExample.js} +16 -12
- package/dist/cjs/examples/server/elicitationFormExample.js.map +1 -0
- package/dist/cjs/examples/server/elicitationUrlExample.d.ts +2 -0
- package/dist/cjs/examples/server/elicitationUrlExample.d.ts.map +1 -0
- package/dist/cjs/examples/server/elicitationUrlExample.js +655 -0
- package/dist/cjs/examples/server/elicitationUrlExample.js.map +1 -0
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js +26 -3
- package/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/mcpServerOutputSchema.js +34 -11
- package/dist/cjs/examples/server/mcpServerOutputSchema.js.map +1 -1
- package/dist/cjs/examples/server/simpleSseServer.js +26 -3
- package/dist/cjs/examples/server/simpleSseServer.js.map +1 -1
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js +27 -4
- package/dist/cjs/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/simpleStreamableHttp.js +34 -10
- package/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +26 -3
- package/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/dist/cjs/examples/server/toolWithSampleServer.js +30 -8
- package/dist/cjs/examples/server/toolWithSampleServer.js.map +1 -1
- package/dist/cjs/server/auth/handlers/authorize.js +34 -11
- package/dist/cjs/server/auth/handlers/authorize.js.map +1 -1
- package/dist/cjs/server/auth/handlers/token.js +35 -12
- package/dist/cjs/server/auth/handlers/token.js.map +1 -1
- package/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
- package/dist/cjs/server/auth/middleware/bearerAuth.js +13 -8
- package/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
- package/dist/cjs/server/auth/middleware/clientAuth.js +27 -4
- package/dist/cjs/server/auth/middleware/clientAuth.js.map +1 -1
- package/dist/cjs/server/auth/router.js +1 -1
- package/dist/cjs/server/auth/router.js.map +1 -1
- package/dist/cjs/server/completable.d.ts +30 -16
- package/dist/cjs/server/completable.d.ts.map +1 -1
- package/dist/cjs/server/completable.js +38 -55
- package/dist/cjs/server/completable.js.map +1 -1
- package/dist/cjs/server/index.d.ts +213 -71
- package/dist/cjs/server/index.d.ts.map +1 -1
- package/dist/cjs/server/index.js +61 -16
- package/dist/cjs/server/index.js.map +1 -1
- package/dist/cjs/server/mcp.d.ts +14 -16
- package/dist/cjs/server/mcp.d.ts.map +1 -1
- package/dist/cjs/server/mcp.js +105 -41
- package/dist/cjs/server/mcp.js.map +1 -1
- package/dist/cjs/server/zod-compat.d.ts +82 -0
- package/dist/cjs/server/zod-compat.d.ts.map +1 -0
- package/dist/cjs/server/zod-compat.js +252 -0
- package/dist/cjs/server/zod-compat.js.map +1 -0
- package/dist/cjs/server/zod-json-schema-compat.d.ts +12 -0
- package/dist/cjs/server/zod-json-schema-compat.d.ts.map +1 -0
- package/dist/cjs/server/zod-json-schema-compat.js +80 -0
- package/dist/cjs/server/zod-json-schema-compat.js.map +1 -0
- package/dist/cjs/shared/auth.d.ts +116 -502
- package/dist/cjs/shared/auth.d.ts.map +1 -1
- package/dist/cjs/shared/auth.js +133 -112
- package/dist/cjs/shared/auth.js.map +1 -1
- package/dist/cjs/shared/metadataUtils.d.ts +5 -1
- package/dist/cjs/shared/metadataUtils.d.ts.map +1 -1
- package/dist/cjs/shared/metadataUtils.js +2 -5
- package/dist/cjs/shared/metadataUtils.js.map +1 -1
- package/dist/cjs/shared/protocol.d.ts +7 -10
- package/dist/cjs/shared/protocol.d.ts.map +1 -1
- package/dist/cjs/shared/protocol.js +39 -16
- package/dist/cjs/shared/protocol.js.map +1 -1
- package/dist/cjs/shared/toolNameValidation.d.ts +31 -0
- package/dist/cjs/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/cjs/shared/toolNameValidation.js +97 -0
- package/dist/cjs/shared/toolNameValidation.js.map +1 -0
- package/dist/cjs/shared/transport.d.ts +15 -1
- package/dist/cjs/shared/transport.d.ts.map +1 -1
- package/dist/cjs/shared/transport.js +40 -0
- package/dist/cjs/shared/transport.js.map +1 -1
- package/dist/cjs/shared/zodTestMatrix.d.ts +16 -0
- package/dist/cjs/shared/zodTestMatrix.d.ts.map +1 -0
- package/dist/cjs/shared/zodTestMatrix.js +43 -0
- package/dist/cjs/shared/zodTestMatrix.js.map +1 -0
- package/dist/cjs/spec.types.d.ts +823 -261
- package/dist/cjs/spec.types.d.ts.map +1 -1
- package/dist/cjs/spec.types.js +5 -8
- package/dist/cjs/spec.types.js.map +1 -1
- package/dist/cjs/types.d.ts +3828 -59205
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +817 -487
- package/dist/cjs/types.js.map +1 -1
- package/dist/esm/client/auth.d.ts +11 -1
- package/dist/esm/client/auth.d.ts.map +1 -1
- package/dist/esm/client/auth.js +71 -20
- package/dist/esm/client/auth.js.map +1 -1
- package/dist/esm/client/index.d.ts +252 -1478
- package/dist/esm/client/index.d.ts.map +1 -1
- package/dist/esm/client/index.js +130 -1
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/sse.d.ts +1 -0
- package/dist/esm/client/sse.d.ts.map +1 -1
- package/dist/esm/client/sse.js +5 -3
- package/dist/esm/client/sse.js.map +1 -1
- package/dist/esm/client/streamableHttp.d.ts +2 -1
- package/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/dist/esm/client/streamableHttp.js +35 -15
- package/dist/esm/client/streamableHttp.js.map +1 -1
- package/dist/esm/examples/client/elicitationUrlExample.d.ts +2 -0
- package/dist/esm/examples/client/elicitationUrlExample.d.ts.map +1 -0
- package/dist/esm/examples/client/elicitationUrlExample.js +691 -0
- package/dist/esm/examples/client/elicitationUrlExample.js.map +1 -0
- package/dist/esm/examples/client/simpleOAuthClient.js +12 -51
- package/dist/esm/examples/client/simpleOAuthClient.js.map +1 -1
- package/dist/esm/examples/client/simpleOAuthClientProvider.d.ts +26 -0
- package/dist/esm/examples/client/simpleOAuthClientProvider.d.ts.map +1 -0
- package/dist/esm/examples/client/simpleOAuthClientProvider.js +47 -0
- package/dist/esm/examples/client/simpleOAuthClientProvider.js.map +1 -0
- package/dist/esm/examples/client/simpleStreamableHttp.js +12 -7
- package/dist/esm/examples/client/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts +4 -4
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.d.ts.map +1 -1
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.js +16 -0
- package/dist/esm/examples/server/demoInMemoryOAuthProvider.js.map +1 -1
- package/dist/esm/examples/server/elicitationFormExample.d.ts +2 -0
- package/dist/esm/examples/server/elicitationFormExample.d.ts.map +1 -0
- package/dist/esm/examples/server/{elicitationExample.js → elicitationFormExample.js} +16 -12
- package/dist/esm/examples/server/elicitationFormExample.js.map +1 -0
- package/dist/esm/examples/server/elicitationUrlExample.d.ts +2 -0
- package/dist/esm/examples/server/elicitationUrlExample.d.ts.map +1 -0
- package/dist/esm/examples/server/elicitationUrlExample.js +650 -0
- package/dist/esm/examples/server/elicitationUrlExample.js.map +1 -0
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js +1 -1
- package/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/mcpServerOutputSchema.js +1 -1
- package/dist/esm/examples/server/mcpServerOutputSchema.js.map +1 -1
- package/dist/esm/examples/server/simpleSseServer.js +1 -1
- package/dist/esm/examples/server/simpleSseServer.js.map +1 -1
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js +1 -1
- package/dist/esm/examples/server/simpleStatelessStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/simpleStreamableHttp.js +4 -3
- package/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +1 -1
- package/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/dist/esm/examples/server/toolWithSampleServer.js +6 -7
- package/dist/esm/examples/server/toolWithSampleServer.js.map +1 -1
- package/dist/esm/server/auth/handlers/authorize.js +1 -1
- package/dist/esm/server/auth/handlers/authorize.js.map +1 -1
- package/dist/esm/server/auth/handlers/token.js +1 -1
- package/dist/esm/server/auth/handlers/token.js.map +1 -1
- package/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
- package/dist/esm/server/auth/middleware/bearerAuth.js +13 -8
- package/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
- package/dist/esm/server/auth/middleware/clientAuth.js +1 -1
- package/dist/esm/server/auth/middleware/clientAuth.js.map +1 -1
- package/dist/esm/server/auth/router.js +1 -1
- package/dist/esm/server/auth/router.js.map +1 -1
- package/dist/esm/server/completable.d.ts +30 -16
- package/dist/esm/server/completable.d.ts.map +1 -1
- package/dist/esm/server/completable.js +34 -53
- package/dist/esm/server/completable.js.map +1 -1
- package/dist/esm/server/index.d.ts +213 -71
- package/dist/esm/server/index.d.ts.map +1 -1
- package/dist/esm/server/index.js +61 -16
- package/dist/esm/server/index.js.map +1 -1
- package/dist/esm/server/mcp.d.ts +14 -16
- package/dist/esm/server/mcp.d.ts.map +1 -1
- package/dist/esm/server/mcp.js +107 -43
- package/dist/esm/server/mcp.js.map +1 -1
- package/dist/esm/server/zod-compat.d.ts +82 -0
- package/dist/esm/server/zod-compat.d.ts.map +1 -0
- package/dist/esm/server/zod-compat.js +217 -0
- package/dist/esm/server/zod-compat.js.map +1 -0
- package/dist/esm/server/zod-json-schema-compat.d.ts +12 -0
- package/dist/esm/server/zod-json-schema-compat.d.ts.map +1 -0
- package/dist/esm/server/zod-json-schema-compat.js +52 -0
- package/dist/esm/server/zod-json-schema-compat.js.map +1 -0
- package/dist/esm/shared/auth.d.ts +116 -502
- package/dist/esm/shared/auth.d.ts.map +1 -1
- package/dist/esm/shared/auth.js +17 -19
- package/dist/esm/shared/auth.js.map +1 -1
- package/dist/esm/shared/metadataUtils.d.ts +5 -1
- package/dist/esm/shared/metadataUtils.d.ts.map +1 -1
- package/dist/esm/shared/metadataUtils.js +2 -5
- package/dist/esm/shared/metadataUtils.js.map +1 -1
- package/dist/esm/shared/protocol.d.ts +7 -10
- package/dist/esm/shared/protocol.d.ts.map +1 -1
- package/dist/esm/shared/protocol.js +39 -16
- package/dist/esm/shared/protocol.js.map +1 -1
- package/dist/esm/shared/toolNameValidation.d.ts +31 -0
- package/dist/esm/shared/toolNameValidation.d.ts.map +1 -0
- package/dist/esm/shared/toolNameValidation.js +92 -0
- package/dist/esm/shared/toolNameValidation.js.map +1 -0
- package/dist/esm/shared/transport.d.ts +15 -1
- package/dist/esm/shared/transport.d.ts.map +1 -1
- package/dist/esm/shared/transport.js +38 -1
- package/dist/esm/shared/transport.js.map +1 -1
- package/dist/esm/shared/zodTestMatrix.d.ts +16 -0
- package/dist/esm/shared/zodTestMatrix.d.ts.map +1 -0
- package/dist/esm/shared/zodTestMatrix.js +17 -0
- package/dist/esm/shared/zodTestMatrix.js.map +1 -0
- package/dist/esm/spec.types.d.ts +823 -261
- package/dist/esm/spec.types.d.ts.map +1 -1
- package/dist/esm/spec.types.js +4 -7
- package/dist/esm/spec.types.js.map +1 -1
- package/dist/esm/types.d.ts +3828 -59205
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +664 -360
- package/dist/esm/types.js.map +1 -1
- package/package.json +13 -12
- package/dist/cjs/examples/server/elicitationExample.d.ts +0 -2
- package/dist/cjs/examples/server/elicitationExample.d.ts.map +0 -1
- package/dist/cjs/examples/server/elicitationExample.js.map +0 -1
- package/dist/esm/examples/server/elicitationExample.d.ts +0 -2
- package/dist/esm/examples/server/elicitationExample.d.ts.map +0 -1
- package/dist/esm/examples/server/elicitationExample.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completable.d.ts","sourceRoot":"","sources":["../../../src/server/completable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"completable.d.ts","sourceRoot":"","sources":["../../../src/server/completable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAAsC,CAAC;AAE/E,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAC5D,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,EACrB,OAAO,CAAC,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,KACA,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAElD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI;IAC3D,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG;IACrD,CAAC,kBAAkB,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAC5C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAQ/G;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAErF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS,CAG5F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAEtF;AAID,oBAAY,cAAc;IACtB,WAAW,mBAAmB;CACjC;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IAC3D,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC;CACxC"}
|
|
@@ -1,60 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
export var McpZodTypeKind;
|
|
3
|
-
(function (McpZodTypeKind) {
|
|
4
|
-
McpZodTypeKind["Completable"] = "McpCompletable";
|
|
5
|
-
})(McpZodTypeKind || (McpZodTypeKind = {}));
|
|
6
|
-
export class Completable extends ZodType {
|
|
7
|
-
_parse(input) {
|
|
8
|
-
const { ctx } = this._processInputParams(input);
|
|
9
|
-
const data = ctx.data;
|
|
10
|
-
return this._def.type._parse({
|
|
11
|
-
data,
|
|
12
|
-
path: ctx.path,
|
|
13
|
-
parent: ctx
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
unwrap() {
|
|
17
|
-
return this._def.type;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
Completable.create = (type, params) => {
|
|
21
|
-
return new Completable({
|
|
22
|
-
type,
|
|
23
|
-
typeName: McpZodTypeKind.Completable,
|
|
24
|
-
complete: params.complete,
|
|
25
|
-
...processCreateParams(params)
|
|
26
|
-
});
|
|
27
|
-
};
|
|
1
|
+
export const COMPLETABLE_SYMBOL = Symbol.for('mcp.completable');
|
|
28
2
|
/**
|
|
29
3
|
* Wraps a Zod type to provide autocompletion capabilities. Useful for, e.g., prompt arguments in MCP.
|
|
4
|
+
* Works with both Zod v3 and v4 schemas.
|
|
30
5
|
*/
|
|
31
6
|
export function completable(schema, complete) {
|
|
32
|
-
|
|
7
|
+
Object.defineProperty(schema, COMPLETABLE_SYMBOL, {
|
|
8
|
+
value: { complete },
|
|
9
|
+
enumerable: false,
|
|
10
|
+
writable: false,
|
|
11
|
+
configurable: false
|
|
12
|
+
});
|
|
13
|
+
return schema;
|
|
33
14
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const { errorMap, invalid_type_error, required_error, description } = params;
|
|
40
|
-
if (errorMap && (invalid_type_error || required_error)) {
|
|
41
|
-
throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);
|
|
42
|
-
}
|
|
43
|
-
if (errorMap)
|
|
44
|
-
return { errorMap: errorMap, description };
|
|
45
|
-
const customMap = (iss, ctx) => {
|
|
46
|
-
var _a, _b;
|
|
47
|
-
const { message } = params;
|
|
48
|
-
if (iss.code === 'invalid_enum_value') {
|
|
49
|
-
return { message: message !== null && message !== void 0 ? message : ctx.defaultError };
|
|
50
|
-
}
|
|
51
|
-
if (typeof ctx.data === 'undefined') {
|
|
52
|
-
return { message: (_a = message !== null && message !== void 0 ? message : required_error) !== null && _a !== void 0 ? _a : ctx.defaultError };
|
|
53
|
-
}
|
|
54
|
-
if (iss.code !== 'invalid_type')
|
|
55
|
-
return { message: ctx.defaultError };
|
|
56
|
-
return { message: (_b = message !== null && message !== void 0 ? message : invalid_type_error) !== null && _b !== void 0 ? _b : ctx.defaultError };
|
|
57
|
-
};
|
|
58
|
-
return { errorMap: customMap, description };
|
|
15
|
+
/**
|
|
16
|
+
* Checks if a schema is completable (has completion metadata).
|
|
17
|
+
*/
|
|
18
|
+
export function isCompletable(schema) {
|
|
19
|
+
return !!schema && typeof schema === 'object' && COMPLETABLE_SYMBOL in schema;
|
|
59
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Gets the completer callback from a completable schema, if it exists.
|
|
23
|
+
*/
|
|
24
|
+
export function getCompleter(schema) {
|
|
25
|
+
const meta = schema[COMPLETABLE_SYMBOL];
|
|
26
|
+
return meta === null || meta === void 0 ? void 0 : meta.complete;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Unwraps a completable schema to get the underlying schema.
|
|
30
|
+
* For backward compatibility with code that called `.unwrap()`.
|
|
31
|
+
*/
|
|
32
|
+
export function unwrapCompletable(schema) {
|
|
33
|
+
return schema;
|
|
34
|
+
}
|
|
35
|
+
// Legacy exports for backward compatibility
|
|
36
|
+
// These types are deprecated but kept for existing code
|
|
37
|
+
export var McpZodTypeKind;
|
|
38
|
+
(function (McpZodTypeKind) {
|
|
39
|
+
McpZodTypeKind["Completable"] = "McpCompletable";
|
|
40
|
+
})(McpZodTypeKind || (McpZodTypeKind = {}));
|
|
60
41
|
//# sourceMappingURL=completable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completable.js","sourceRoot":"","sources":["../../../src/server/completable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"completable.js","sourceRoot":"","sources":["../../../src/server/completable.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAkB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAiB/E;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAsB,MAAS,EAAE,QAA6B;IACrF,MAAM,CAAC,cAAc,CAAC,MAAgB,EAAE,kBAAkB,EAAE;QACxD,KAAK,EAAE,EAAE,QAAQ,EAAwB;QACzC,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACtB,CAAC,CAAC;IACH,OAAO,MAA8B,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAe;IACzC,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,kBAAkB,IAAK,MAAiB,CAAC;AAC9F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAsB,MAAS;IACvD,MAAM,IAAI,GAAI,MAAmE,CAAC,kBAAkB,CAAC,CAAC;IACtG,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAA2C,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAsB,MAA4B;IAC/E,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,4CAA4C;AAC5C,wDAAwD;AACxD,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACtB,gDAA8B,CAAA;AAClC,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Protocol, type ProtocolOptions, type RequestOptions } from '../shared/protocol.js';
|
|
2
|
-
import { type ClientCapabilities, type CreateMessageRequest, type
|
|
1
|
+
import { Protocol, type NotificationOptions, type ProtocolOptions, type RequestOptions } from '../shared/protocol.js';
|
|
2
|
+
import { type ClientCapabilities, type CreateMessageRequest, type ElicitRequestFormParams, type ElicitRequestURLParams, type ElicitResult, type Implementation, type ListRootsRequest, type LoggingMessageNotification, type Notification, type Request, type ResourceUpdatedNotification, type Result, type ServerCapabilities, type ServerNotification, type ServerRequest, type ServerResult } from '../types.js';
|
|
3
3
|
import type { jsonSchemaValidator } from '../validation/types.js';
|
|
4
|
+
type LegacyElicitRequestFormParams = Omit<ElicitRequestFormParams, 'mode'>;
|
|
4
5
|
export type ServerOptions = ProtocolOptions & {
|
|
5
6
|
/**
|
|
6
7
|
* Capabilities to advertise as being supported by this server.
|
|
@@ -105,76 +106,216 @@ export declare class Server<RequestT extends Request = Request, NotificationT ex
|
|
|
105
106
|
getClientVersion(): Implementation | undefined;
|
|
106
107
|
private getCapabilities;
|
|
107
108
|
ping(): Promise<{
|
|
108
|
-
_meta?:
|
|
109
|
+
_meta?: Record<string, unknown> | undefined;
|
|
110
|
+
}>;
|
|
111
|
+
createMessage(params: CreateMessageRequest['params'], options?: RequestOptions): Promise<{
|
|
112
|
+
[x: string]: unknown;
|
|
113
|
+
model: string;
|
|
114
|
+
role: "user" | "assistant";
|
|
115
|
+
content: {
|
|
116
|
+
type: "text";
|
|
117
|
+
text: string;
|
|
118
|
+
_meta?: Record<string, unknown> | undefined;
|
|
119
|
+
} | {
|
|
120
|
+
type: "image";
|
|
121
|
+
data: string;
|
|
122
|
+
mimeType: string;
|
|
123
|
+
_meta?: Record<string, unknown> | undefined;
|
|
124
|
+
} | {
|
|
125
|
+
type: "audio";
|
|
126
|
+
data: string;
|
|
127
|
+
mimeType: string;
|
|
128
|
+
_meta?: Record<string, unknown> | undefined;
|
|
129
|
+
} | {
|
|
130
|
+
[x: string]: unknown;
|
|
131
|
+
type: "tool_use";
|
|
132
|
+
name: string;
|
|
133
|
+
id: string;
|
|
134
|
+
input: {
|
|
135
|
+
[x: string]: unknown;
|
|
136
|
+
};
|
|
137
|
+
_meta?: {
|
|
138
|
+
[x: string]: unknown;
|
|
139
|
+
} | undefined;
|
|
140
|
+
} | {
|
|
141
|
+
[x: string]: unknown;
|
|
142
|
+
type: "tool_result";
|
|
143
|
+
toolUseId: string;
|
|
144
|
+
content: ({
|
|
145
|
+
type: "text";
|
|
146
|
+
text: string;
|
|
147
|
+
_meta?: Record<string, unknown> | undefined;
|
|
148
|
+
} | {
|
|
149
|
+
type: "image";
|
|
150
|
+
data: string;
|
|
151
|
+
mimeType: string;
|
|
152
|
+
_meta?: Record<string, unknown> | undefined;
|
|
153
|
+
} | {
|
|
154
|
+
type: "audio";
|
|
155
|
+
data: string;
|
|
156
|
+
mimeType: string;
|
|
157
|
+
_meta?: Record<string, unknown> | undefined;
|
|
158
|
+
} | {
|
|
159
|
+
type: "resource";
|
|
160
|
+
resource: {
|
|
161
|
+
uri: string;
|
|
162
|
+
text: string;
|
|
163
|
+
mimeType?: string | undefined;
|
|
164
|
+
_meta?: Record<string, unknown> | undefined;
|
|
165
|
+
} | {
|
|
166
|
+
uri: string;
|
|
167
|
+
blob: string;
|
|
168
|
+
mimeType?: string | undefined;
|
|
169
|
+
_meta?: Record<string, unknown> | undefined;
|
|
170
|
+
};
|
|
171
|
+
_meta?: Record<string, unknown> | undefined;
|
|
172
|
+
} | {
|
|
173
|
+
uri: string;
|
|
174
|
+
name: string;
|
|
175
|
+
type: "resource_link";
|
|
176
|
+
description?: string | undefined;
|
|
177
|
+
mimeType?: string | undefined;
|
|
178
|
+
_meta?: {
|
|
179
|
+
[x: string]: unknown;
|
|
180
|
+
} | undefined;
|
|
181
|
+
icons?: {
|
|
182
|
+
src: string;
|
|
183
|
+
mimeType?: string | undefined;
|
|
184
|
+
sizes?: string[] | undefined;
|
|
185
|
+
}[] | undefined;
|
|
186
|
+
title?: string | undefined;
|
|
187
|
+
})[];
|
|
188
|
+
structuredContent?: {
|
|
189
|
+
[x: string]: unknown;
|
|
190
|
+
} | undefined;
|
|
191
|
+
isError?: boolean | undefined;
|
|
192
|
+
_meta?: {
|
|
193
|
+
[x: string]: unknown;
|
|
194
|
+
} | undefined;
|
|
195
|
+
} | ({
|
|
196
|
+
type: "text";
|
|
197
|
+
text: string;
|
|
198
|
+
_meta?: Record<string, unknown> | undefined;
|
|
199
|
+
} | {
|
|
200
|
+
type: "image";
|
|
201
|
+
data: string;
|
|
202
|
+
mimeType: string;
|
|
203
|
+
_meta?: Record<string, unknown> | undefined;
|
|
204
|
+
} | {
|
|
205
|
+
type: "audio";
|
|
206
|
+
data: string;
|
|
207
|
+
mimeType: string;
|
|
208
|
+
_meta?: Record<string, unknown> | undefined;
|
|
209
|
+
} | {
|
|
210
|
+
[x: string]: unknown;
|
|
211
|
+
type: "tool_use";
|
|
212
|
+
name: string;
|
|
213
|
+
id: string;
|
|
214
|
+
input: {
|
|
215
|
+
[x: string]: unknown;
|
|
216
|
+
};
|
|
217
|
+
_meta?: {
|
|
218
|
+
[x: string]: unknown;
|
|
219
|
+
} | undefined;
|
|
220
|
+
} | {
|
|
221
|
+
[x: string]: unknown;
|
|
222
|
+
type: "tool_result";
|
|
223
|
+
toolUseId: string;
|
|
224
|
+
content: ({
|
|
225
|
+
type: "text";
|
|
226
|
+
text: string;
|
|
227
|
+
_meta?: Record<string, unknown> | undefined;
|
|
228
|
+
} | {
|
|
229
|
+
type: "image";
|
|
230
|
+
data: string;
|
|
231
|
+
mimeType: string;
|
|
232
|
+
_meta?: Record<string, unknown> | undefined;
|
|
233
|
+
} | {
|
|
234
|
+
type: "audio";
|
|
235
|
+
data: string;
|
|
236
|
+
mimeType: string;
|
|
237
|
+
_meta?: Record<string, unknown> | undefined;
|
|
238
|
+
} | {
|
|
239
|
+
type: "resource";
|
|
240
|
+
resource: {
|
|
241
|
+
uri: string;
|
|
242
|
+
text: string;
|
|
243
|
+
mimeType?: string | undefined;
|
|
244
|
+
_meta?: Record<string, unknown> | undefined;
|
|
245
|
+
} | {
|
|
246
|
+
uri: string;
|
|
247
|
+
blob: string;
|
|
248
|
+
mimeType?: string | undefined;
|
|
249
|
+
_meta?: Record<string, unknown> | undefined;
|
|
250
|
+
};
|
|
251
|
+
_meta?: Record<string, unknown> | undefined;
|
|
252
|
+
} | {
|
|
253
|
+
uri: string;
|
|
254
|
+
name: string;
|
|
255
|
+
type: "resource_link";
|
|
256
|
+
description?: string | undefined;
|
|
257
|
+
mimeType?: string | undefined;
|
|
258
|
+
_meta?: {
|
|
259
|
+
[x: string]: unknown;
|
|
260
|
+
} | undefined;
|
|
261
|
+
icons?: {
|
|
262
|
+
src: string;
|
|
263
|
+
mimeType?: string | undefined;
|
|
264
|
+
sizes?: string[] | undefined;
|
|
265
|
+
}[] | undefined;
|
|
266
|
+
title?: string | undefined;
|
|
267
|
+
})[];
|
|
268
|
+
structuredContent?: {
|
|
269
|
+
[x: string]: unknown;
|
|
270
|
+
} | undefined;
|
|
271
|
+
isError?: boolean | undefined;
|
|
272
|
+
_meta?: {
|
|
273
|
+
[x: string]: unknown;
|
|
274
|
+
} | undefined;
|
|
275
|
+
})[];
|
|
276
|
+
_meta?: Record<string, unknown> | undefined;
|
|
277
|
+
stopReason?: string | undefined;
|
|
278
|
+
}>;
|
|
279
|
+
/**
|
|
280
|
+
* Creates an elicitation request for the given parameters.
|
|
281
|
+
* @param params The parameters for the form elicitation request (explicit mode: 'form').
|
|
282
|
+
* @param options Optional request options.
|
|
283
|
+
* @returns The result of the elicitation request.
|
|
284
|
+
*/
|
|
285
|
+
elicitInput(params: ElicitRequestFormParams, options?: RequestOptions): Promise<ElicitResult>;
|
|
286
|
+
/**
|
|
287
|
+
* Creates an elicitation request for the given parameters.
|
|
288
|
+
* @param params The parameters for the URL elicitation request (with url and elicitationId).
|
|
289
|
+
* @param options Optional request options.
|
|
290
|
+
* @returns The result of the elicitation request.
|
|
291
|
+
*/
|
|
292
|
+
elicitInput(params: ElicitRequestURLParams, options?: RequestOptions): Promise<ElicitResult>;
|
|
293
|
+
/**
|
|
294
|
+
* Creates an elicitation request for the given parameters.
|
|
295
|
+
* @deprecated Use the overloads with explicit `mode: 'form' | 'url'` instead.
|
|
296
|
+
* @param params The parameters for the form elicitation request (legacy signature without mode).
|
|
297
|
+
* @param options Optional request options.
|
|
298
|
+
* @returns The result of the elicitation request.
|
|
299
|
+
*/
|
|
300
|
+
elicitInput(params: LegacyElicitRequestFormParams, options?: RequestOptions): Promise<ElicitResult>;
|
|
301
|
+
/**
|
|
302
|
+
* Creates a reusable callback that, when invoked, will send a `notifications/elicitation/complete`
|
|
303
|
+
* notification for the specified elicitation ID.
|
|
304
|
+
*
|
|
305
|
+
* @param elicitationId The ID of the elicitation to mark as complete.
|
|
306
|
+
* @param options Optional notification options. Useful when the completion notification should be related to a prior request.
|
|
307
|
+
* @returns A function that emits the completion notification when awaited.
|
|
308
|
+
*/
|
|
309
|
+
createElicitationCompletionNotifier(elicitationId: string, options?: NotificationOptions): () => Promise<void>;
|
|
310
|
+
listRoots(params?: ListRootsRequest['params'], options?: RequestOptions): Promise<{
|
|
311
|
+
[x: string]: unknown;
|
|
312
|
+
roots: {
|
|
313
|
+
uri: string;
|
|
314
|
+
name?: string | undefined;
|
|
315
|
+
_meta?: Record<string, unknown> | undefined;
|
|
316
|
+
}[];
|
|
317
|
+
_meta?: Record<string, unknown> | undefined;
|
|
109
318
|
}>;
|
|
110
|
-
createMessage(params: CreateMessageRequest['params'], options?: RequestOptions): Promise<import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
|
|
111
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
112
|
-
}, {
|
|
113
|
-
model: import("zod").ZodString;
|
|
114
|
-
stopReason: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEnum<["endTurn", "stopSequence", "maxTokens"]>, import("zod").ZodString]>>;
|
|
115
|
-
role: import("zod").ZodEnum<["user", "assistant"]>;
|
|
116
|
-
content: import("zod").ZodDiscriminatedUnion<"type", [import("zod").ZodObject<{
|
|
117
|
-
type: import("zod").ZodLiteral<"text">;
|
|
118
|
-
text: import("zod").ZodString;
|
|
119
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
120
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
121
|
-
type: import("zod").ZodLiteral<"text">;
|
|
122
|
-
text: import("zod").ZodString;
|
|
123
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
124
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
125
|
-
type: import("zod").ZodLiteral<"text">;
|
|
126
|
-
text: import("zod").ZodString;
|
|
127
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
128
|
-
}, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
|
|
129
|
-
type: import("zod").ZodLiteral<"image">;
|
|
130
|
-
data: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
131
|
-
mimeType: import("zod").ZodString;
|
|
132
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
133
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
134
|
-
type: import("zod").ZodLiteral<"image">;
|
|
135
|
-
data: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
136
|
-
mimeType: import("zod").ZodString;
|
|
137
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
138
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
139
|
-
type: import("zod").ZodLiteral<"image">;
|
|
140
|
-
data: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
141
|
-
mimeType: import("zod").ZodString;
|
|
142
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
143
|
-
}, import("zod").ZodTypeAny, "passthrough">>, import("zod").ZodObject<{
|
|
144
|
-
type: import("zod").ZodLiteral<"audio">;
|
|
145
|
-
data: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
146
|
-
mimeType: import("zod").ZodString;
|
|
147
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
148
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
149
|
-
type: import("zod").ZodLiteral<"audio">;
|
|
150
|
-
data: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
151
|
-
mimeType: import("zod").ZodString;
|
|
152
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
153
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
154
|
-
type: import("zod").ZodLiteral<"audio">;
|
|
155
|
-
data: import("zod").ZodEffects<import("zod").ZodString, string, string>;
|
|
156
|
-
mimeType: import("zod").ZodString;
|
|
157
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
158
|
-
}, import("zod").ZodTypeAny, "passthrough">>]>;
|
|
159
|
-
}>, import("zod").ZodTypeAny, "passthrough">>;
|
|
160
|
-
elicitInput(params: ElicitRequest['params'], options?: RequestOptions): Promise<ElicitResult>;
|
|
161
|
-
listRoots(params?: ListRootsRequest['params'], options?: RequestOptions): Promise<import("zod").objectOutputType<import("zod").objectUtil.extendShape<{
|
|
162
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
163
|
-
}, {
|
|
164
|
-
roots: import("zod").ZodArray<import("zod").ZodObject<{
|
|
165
|
-
uri: import("zod").ZodString;
|
|
166
|
-
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
167
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
168
|
-
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
169
|
-
uri: import("zod").ZodString;
|
|
170
|
-
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
171
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
172
|
-
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
173
|
-
uri: import("zod").ZodString;
|
|
174
|
-
name: import("zod").ZodOptional<import("zod").ZodString>;
|
|
175
|
-
_meta: import("zod").ZodOptional<import("zod").ZodObject<{}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{}, import("zod").ZodTypeAny, "passthrough">>>;
|
|
176
|
-
}, import("zod").ZodTypeAny, "passthrough">>, "many">;
|
|
177
|
-
}>, import("zod").ZodTypeAny, "passthrough">>;
|
|
178
319
|
/**
|
|
179
320
|
* Sends a logging message to the client, if connected.
|
|
180
321
|
* Note: You only need to send the parameters object, not the entire JSON RPC message
|
|
@@ -188,4 +329,5 @@ export declare class Server<RequestT extends Request = Request, NotificationT ex
|
|
|
188
329
|
sendToolListChanged(): Promise<void>;
|
|
189
330
|
sendPromptListChanged(): Promise<void>;
|
|
190
331
|
}
|
|
332
|
+
export {};
|
|
191
333
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/server/index.js
CHANGED
|
@@ -97,6 +97,7 @@ export class Server extends Protocol {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
assertNotificationCapability(method) {
|
|
100
|
+
var _a, _b;
|
|
100
101
|
switch (method) {
|
|
101
102
|
case 'notifications/message':
|
|
102
103
|
if (!this._capabilities.logging) {
|
|
@@ -119,6 +120,11 @@ export class Server extends Protocol {
|
|
|
119
120
|
throw new Error(`Server does not support notifying of prompt list changes (required for ${method})`);
|
|
120
121
|
}
|
|
121
122
|
break;
|
|
123
|
+
case 'notifications/elicitation/complete':
|
|
124
|
+
if (!((_b = (_a = this._clientCapabilities) === null || _a === void 0 ? void 0 : _a.elicitation) === null || _b === void 0 ? void 0 : _b.url)) {
|
|
125
|
+
throw new Error(`Client does not support URL elicitation (required for ${method})`);
|
|
126
|
+
}
|
|
127
|
+
break;
|
|
122
128
|
case 'notifications/cancelled':
|
|
123
129
|
// Cancellation notifications are always allowed
|
|
124
130
|
break;
|
|
@@ -129,9 +135,9 @@ export class Server extends Protocol {
|
|
|
129
135
|
}
|
|
130
136
|
assertRequestHandlerCapability(method) {
|
|
131
137
|
switch (method) {
|
|
132
|
-
case '
|
|
133
|
-
if (!this._capabilities.
|
|
134
|
-
throw new Error(`Server does not support
|
|
138
|
+
case 'completion/complete':
|
|
139
|
+
if (!this._capabilities.completions) {
|
|
140
|
+
throw new Error(`Server does not support completions (required for ${method})`);
|
|
135
141
|
}
|
|
136
142
|
break;
|
|
137
143
|
case 'logging/setLevel':
|
|
@@ -197,25 +203,64 @@ export class Server extends Protocol {
|
|
|
197
203
|
async createMessage(params, options) {
|
|
198
204
|
return this.request({ method: 'sampling/createMessage', params }, CreateMessageResultSchema, options);
|
|
199
205
|
}
|
|
206
|
+
// Implementation (not visible to callers)
|
|
200
207
|
async elicitInput(params, options) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
if (!validationResult.valid) {
|
|
208
|
-
throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${validationResult.errorMessage}`);
|
|
208
|
+
var _a, _b, _c, _d;
|
|
209
|
+
const mode = ('mode' in params ? params.mode : 'form');
|
|
210
|
+
switch (mode) {
|
|
211
|
+
case 'url': {
|
|
212
|
+
if (!((_b = (_a = this._clientCapabilities) === null || _a === void 0 ? void 0 : _a.elicitation) === null || _b === void 0 ? void 0 : _b.url)) {
|
|
213
|
+
throw new Error('Client does not support url elicitation.');
|
|
209
214
|
}
|
|
215
|
+
const urlParams = params;
|
|
216
|
+
return this.request({ method: 'elicitation/create', params: urlParams }, ElicitResultSchema, options);
|
|
210
217
|
}
|
|
211
|
-
|
|
212
|
-
if (
|
|
213
|
-
throw
|
|
218
|
+
case 'form': {
|
|
219
|
+
if (!((_d = (_c = this._clientCapabilities) === null || _c === void 0 ? void 0 : _c.elicitation) === null || _d === void 0 ? void 0 : _d.form)) {
|
|
220
|
+
throw new Error('Client does not support form elicitation.');
|
|
221
|
+
}
|
|
222
|
+
const formParams = 'mode' in params
|
|
223
|
+
? params
|
|
224
|
+
: { ...params, mode: 'form' };
|
|
225
|
+
const result = await this.request({ method: 'elicitation/create', params: formParams }, ElicitResultSchema, options);
|
|
226
|
+
if (result.action === 'accept' && result.content && formParams.requestedSchema) {
|
|
227
|
+
try {
|
|
228
|
+
const validator = this._jsonSchemaValidator.getValidator(formParams.requestedSchema);
|
|
229
|
+
const validationResult = validator(result.content);
|
|
230
|
+
if (!validationResult.valid) {
|
|
231
|
+
throw new McpError(ErrorCode.InvalidParams, `Elicitation response content does not match requested schema: ${validationResult.errorMessage}`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
if (error instanceof McpError) {
|
|
236
|
+
throw error;
|
|
237
|
+
}
|
|
238
|
+
throw new McpError(ErrorCode.InternalError, `Error validating elicitation response: ${error instanceof Error ? error.message : String(error)}`);
|
|
239
|
+
}
|
|
214
240
|
}
|
|
215
|
-
|
|
241
|
+
return result;
|
|
216
242
|
}
|
|
217
243
|
}
|
|
218
|
-
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Creates a reusable callback that, when invoked, will send a `notifications/elicitation/complete`
|
|
247
|
+
* notification for the specified elicitation ID.
|
|
248
|
+
*
|
|
249
|
+
* @param elicitationId The ID of the elicitation to mark as complete.
|
|
250
|
+
* @param options Optional notification options. Useful when the completion notification should be related to a prior request.
|
|
251
|
+
* @returns A function that emits the completion notification when awaited.
|
|
252
|
+
*/
|
|
253
|
+
createElicitationCompletionNotifier(elicitationId, options) {
|
|
254
|
+
var _a, _b;
|
|
255
|
+
if (!((_b = (_a = this._clientCapabilities) === null || _a === void 0 ? void 0 : _a.elicitation) === null || _b === void 0 ? void 0 : _b.url)) {
|
|
256
|
+
throw new Error('Client does not support URL elicitation (required for notifications/elicitation/complete)');
|
|
257
|
+
}
|
|
258
|
+
return () => this.notification({
|
|
259
|
+
method: 'notifications/elicitation/complete',
|
|
260
|
+
params: {
|
|
261
|
+
elicitationId
|
|
262
|
+
}
|
|
263
|
+
}, options);
|
|
219
264
|
}
|
|
220
265
|
async listRoots(params, options) {
|
|
221
266
|
return this.request({ method: 'roots/list', params }, ListRootsResultSchema, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"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"}
|