@zuplo/cli 7.9.4 → 7.9.6
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/node_modules/@modelcontextprotocol/client/dist/{index-D_CiY-T3.d.cts → index-B-4n9P0J.d.mts} +3 -4
- package/node_modules/@modelcontextprotocol/client/dist/index-B-4n9P0J.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/{index-D_QDtbiv.d.mts → index-J2FaQ-KY.d.cts} +6 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-J2FaQ-KY.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/index.cjs +76 -22
- package/node_modules/@modelcontextprotocol/client/dist/index.cjs.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.d.cts +58 -6
- package/node_modules/@modelcontextprotocol/client/dist/index.d.cts.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.d.mts +58 -6
- package/node_modules/@modelcontextprotocol/client/dist/index.d.mts.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/index.mjs +76 -22
- package/node_modules/@modelcontextprotocol/client/dist/index.mjs.map +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.cjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/shimsWorkerd.mjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/{src-oZBjf3U1.cjs → src-DpAS0jfg.cjs} +105 -8
- package/node_modules/@modelcontextprotocol/client/dist/src-DpAS0jfg.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/{src-xKF0PJN-.mjs → src-WCy6ifGf.mjs} +88 -9
- package/node_modules/@modelcontextprotocol/client/dist/src-WCy6ifGf.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/client/dist/stdio.cjs +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.d.cts +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.d.mts +1 -1
- package/node_modules/@modelcontextprotocol/client/dist/stdio.mjs +1 -1
- package/node_modules/@modelcontextprotocol/client/package.json +5 -5
- package/node_modules/@modelcontextprotocol/core/package.json +2 -2
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js +9 -7
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/auth.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.d.ts +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.js +17 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/sse.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +23 -10
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.js +63 -20
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationFormExample.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.js +71 -29
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/elicitationUrlExample.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.js +45 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.js +71 -31
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.js +61 -18
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/simpleTaskInteractive.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js +57 -19
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.js +64 -17
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/ssePollingExample.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js +61 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.d.ts +4 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/interfaces.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.d.ts +17 -8
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.js +31 -14
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/experimental/tasks/stores/in-memory.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.js +17 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/auth/middleware/bearerAuth.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts +12 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js +46 -2
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.d.ts +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js +39 -9
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/protocol.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts +10 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.js +77 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js +9 -7
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/auth.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.d.ts +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js +18 -5
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/sse.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +24 -11
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.js +63 -20
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationFormExample.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.js +71 -29
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/elicitationUrlExample.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.js +45 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/jsonResponseStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.js +71 -31
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.js +61 -18
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/simpleTaskInteractive.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js +57 -19
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/sseAndStreamableHttpCompatibleServer.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.js +64 -17
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/ssePollingExample.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js +61 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/examples/server/standaloneSseWithGetStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts +4 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.d.ts +17 -8
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.js +31 -14
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/stores/in-memory.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.js +17 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/auth/middleware/bearerAuth.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts +12 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +46 -2
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js +39 -9
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts +10 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js +72 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-CfX6zgs1.d.mts → createMcpHandler-D4NN8WsG.d.mts} +33 -13
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-D4NN8WsG.d.mts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/{createMcpHandler-LSKhyqpU.d.cts → createMcpHandler-DZmmlN8e.d.cts} +33 -13
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-DZmmlN8e.d.cts.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/index.cjs +29 -4
- package/node_modules/@modelcontextprotocol/server/dist/index.cjs.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/index.d.cts +41 -5
- package/node_modules/@modelcontextprotocol/server/dist/index.d.cts.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/index.d.mts +41 -5
- package/node_modules/@modelcontextprotocol/server/dist/index.d.mts.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/index.mjs +29 -4
- package/node_modules/@modelcontextprotocol/server/dist/index.mjs.map +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/{mcp-TfXCpFsH.cjs → mcp-BumlNux0.cjs} +69 -23
- package/node_modules/@modelcontextprotocol/server/dist/mcp-BumlNux0.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/{mcp-DYuW2ZSs.mjs → mcp-DIH4cS6P.mjs} +69 -23
- package/node_modules/@modelcontextprotocol/server/dist/mcp-DIH4cS6P.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.cjs +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/shimsWorkerd.mjs +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/{src-BtQ5YSyq.cjs → src-BhnGYybN.cjs} +22 -8
- package/node_modules/@modelcontextprotocol/server/dist/src-BhnGYybN.cjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/{src-BHSMhZ_W.mjs → src-Cqbh3MYc.mjs} +22 -8
- package/node_modules/@modelcontextprotocol/server/dist/src-Cqbh3MYc.mjs.map +1 -0
- package/node_modules/@modelcontextprotocol/server/dist/stdio.cjs +2 -2
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.cts +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/stdio.d.mts +1 -1
- package/node_modules/@modelcontextprotocol/server/dist/stdio.mjs +2 -2
- package/node_modules/@modelcontextprotocol/server/package.json +4 -4
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-KDVEFWZE.js → chunk-233GXONP.js} +97 -97
- package/node_modules/@zuplo/runtime/out/esm/chunk-233GXONP.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/package.json +11 -11
- package/node_modules/@modelcontextprotocol/client/dist/index-D_CiY-T3.d.cts.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/index-D_QDtbiv.d.mts.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/src-oZBjf3U1.cjs.map +0 -1
- package/node_modules/@modelcontextprotocol/client/dist/src-xKF0PJN-.mjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-CfX6zgs1.d.mts.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/createMcpHandler-LSKhyqpU.d.cts.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/mcp-DYuW2ZSs.mjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/mcp-TfXCpFsH.cjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/src-BHSMhZ_W.mjs.map +0 -1
- package/node_modules/@modelcontextprotocol/server/dist/src-BtQ5YSyq.cjs.map +0 -1
- package/node_modules/@zuplo/runtime/out/esm/chunk-KDVEFWZE.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-KDVEFWZE.js.LEGAL.txt → chunk-233GXONP.js.LEGAL.txt} +0 -0
package/node_modules/@modelcontextprotocol/server/dist/{mcp-DYuW2ZSs.mjs → mcp-DIH4cS6P.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as promptArgumentsFromStandardSchema, At as LATEST_PROTOCOL_VERSION, B as scanXMcpHeaderDeclarations, C as REQUEST_STATE_ONLY_LEG_PACING_MS, Ct as CLIENT_CAPABILITIES_META_KEY, E as sleep, H as assertCompleteRequestPrompt, Ht as requiredClientCapabilitiesForInputRequest, It as SERVER_INFO_META_KEY, Kt as SdkError, Lt as SUBSCRIPTION_ID_META_KEY, M as validateStandardSchema, N as parseSchema, T as linkedRoundAbort, U as assertCompleteRequestResourceTemplate, Vt as missingClientCapabilities, Xt as OAuthErrorCode, Yt as OAuthError, _ as mergeCapabilities, _t as normalizeContentlessToolResult, a as UriTemplate, b as withRequestStateValue, bt as legacyProtocolVersions, ct as codecForVersion, dt as ResourceNotFoundError, g as Protocol, gt as attachCacheHintFallback, ht as assertValidCacheHint, j as standardSchemaToJsonSchema, jt as LOG_LEVEL_META_KEY, lt as MissingRequiredClientCapabilityError, mt as ProtocolErrorCode, nt as LoggingLevelSchema, q as isInputRequiredResult, qt as SdkErrorCode, r as normalizeRawShapeSchema, s as validateAndWarnToolName, st as MODERN_WIRE_REVISION, ut as ProtocolError, v as requestStateAccessor, w as inputRequiredRoundsExceededMessage, xt as modernProtocolVersions, yt as isModernProtocolVersion } from "./src-
|
|
1
|
+
import { A as promptArgumentsFromStandardSchema, At as LATEST_PROTOCOL_VERSION, B as scanXMcpHeaderDeclarations, C as REQUEST_STATE_ONLY_LEG_PACING_MS, Ct as CLIENT_CAPABILITIES_META_KEY, E as sleep, H as assertCompleteRequestPrompt, Ht as requiredClientCapabilitiesForInputRequest, It as SERVER_INFO_META_KEY, Kt as SdkError, Lt as SUBSCRIPTION_ID_META_KEY, M as validateStandardSchema, N as parseSchema, T as linkedRoundAbort, U as assertCompleteRequestResourceTemplate, Vt as missingClientCapabilities, Xt as OAuthErrorCode, Yt as OAuthError, _ as mergeCapabilities, _t as normalizeContentlessToolResult, a as UriTemplate, b as withRequestStateValue, bt as legacyProtocolVersions, ct as codecForVersion, dt as ResourceNotFoundError, g as Protocol, gt as attachCacheHintFallback, ht as assertValidCacheHint, j as standardSchemaToJsonSchema, jt as LOG_LEVEL_META_KEY, lt as MissingRequiredClientCapabilityError, mt as ProtocolErrorCode, nt as LoggingLevelSchema, q as isInputRequiredResult, qt as SdkErrorCode, r as normalizeRawShapeSchema, s as validateAndWarnToolName, st as MODERN_WIRE_REVISION, ut as ProtocolError, v as requestStateAccessor, w as inputRequiredRoundsExceededMessage, xt as modernProtocolVersions, yt as isModernProtocolVersion } from "./src-Cqbh3MYc.mjs";
|
|
2
2
|
import { DefaultJsonSchemaValidator } from "@modelcontextprotocol/server/_shims";
|
|
3
3
|
|
|
4
4
|
//#region src/server/completable.ts
|
|
@@ -353,7 +353,7 @@ var StdioListenRouter = class {
|
|
|
353
353
|
_serverCapabilities;
|
|
354
354
|
/**
|
|
355
355
|
* The serving instance's identity, stamped onto the graceful-close
|
|
356
|
-
* results' `_meta` (the spec's `
|
|
356
|
+
* results' `_meta` (the spec's `SubscriptionsListenResultMetaObject` extends
|
|
357
357
|
* `ResultMetaObject`). Handed over together with the capabilities.
|
|
358
358
|
*/
|
|
359
359
|
_serverInfo;
|
|
@@ -480,6 +480,15 @@ function notificationToServerEvent(method, uri) {
|
|
|
480
480
|
|
|
481
481
|
//#endregion
|
|
482
482
|
//#region src/server/middleware/bearerAuth.ts
|
|
483
|
+
function comparableResource(value) {
|
|
484
|
+
const text = String(value);
|
|
485
|
+
const hash = text.indexOf("#");
|
|
486
|
+
return (hash === -1 ? text : text.slice(0, hash)).replace(/\/$/, "");
|
|
487
|
+
}
|
|
488
|
+
function sameResource(reported, expected) {
|
|
489
|
+
if (!reported) return false;
|
|
490
|
+
return comparableResource(reported) === comparableResource(expected);
|
|
491
|
+
}
|
|
483
492
|
function headerQuotedValue(value) {
|
|
484
493
|
return value.replaceAll(/[\\"]/g, String.raw`\$&`).replaceAll(/[^\u0020-\u007E]/g, " ");
|
|
485
494
|
}
|
|
@@ -503,7 +512,8 @@ function buildWwwAuthenticateHeader(errorCode, description, requiredScopes, reso
|
|
|
503
512
|
* the verified {@link AuthInfo}.
|
|
504
513
|
*
|
|
505
514
|
* The runtime-neutral core of Bearer authentication: it parses the header,
|
|
506
|
-
* runs the verifier,
|
|
515
|
+
* runs the verifier, compares the token's resource with `expectedResource`,
|
|
516
|
+
* enforces `requiredScopes`, and rejects tokens without an
|
|
507
517
|
* expiration or past it. On any failure it throws an {@link OAuthError} —
|
|
508
518
|
* pass that to {@link bearerAuthChallengeResponse} for the matching HTTP
|
|
509
519
|
* answer, or use {@link requireBearerAuth} to get both steps as one call.
|
|
@@ -512,11 +522,12 @@ function buildWwwAuthenticateHeader(errorCode, description, requiredScopes, reso
|
|
|
512
522
|
* `@modelcontextprotocol/express` feeds it `req.headers.authorization`.
|
|
513
523
|
*/
|
|
514
524
|
async function verifyBearerToken(authorizationHeader, options) {
|
|
515
|
-
const { verifier, requiredScopes = [] } = options;
|
|
525
|
+
const { verifier, requiredScopes = [], expectedResource } = options;
|
|
516
526
|
if (!authorizationHeader) throw new OAuthError(OAuthErrorCode.InvalidToken, "Missing Authorization header");
|
|
517
527
|
const [type, token] = authorizationHeader.split(" ");
|
|
518
528
|
if (type?.toLowerCase() !== "bearer" || !token) throw new OAuthError(OAuthErrorCode.InvalidToken, "Invalid Authorization header format, expected 'Bearer TOKEN'");
|
|
519
529
|
const authInfo = await verifier.verifyAccessToken(token);
|
|
530
|
+
if (expectedResource !== void 0 && !sameResource(authInfo.resource, expectedResource)) throw new OAuthError(OAuthErrorCode.InvalidToken, "Token was not issued for this resource");
|
|
520
531
|
if (requiredScopes.length > 0) {
|
|
521
532
|
if (!requiredScopes.every((scope) => authInfo.scopes.includes(scope))) throw new OAuthError(OAuthErrorCode.InsufficientScope, "Insufficient scope");
|
|
522
533
|
}
|
|
@@ -584,11 +595,12 @@ function bearerAuthChallengeResponse(error, options) {
|
|
|
584
595
|
* ```
|
|
585
596
|
*/
|
|
586
597
|
function requireBearerAuth(options) {
|
|
587
|
-
const { verifier, requiredScopes = [], resourceMetadataUrl } = options;
|
|
598
|
+
const { verifier, requiredScopes = [], resourceMetadataUrl, expectedResource } = options;
|
|
588
599
|
const resolved = {
|
|
589
600
|
verifier,
|
|
590
601
|
requiredScopes,
|
|
591
|
-
resourceMetadataUrl
|
|
602
|
+
resourceMetadataUrl,
|
|
603
|
+
expectedResource
|
|
592
604
|
};
|
|
593
605
|
return async (request) => {
|
|
594
606
|
const [authorizationHeader] = (request.headers.get("authorization") ?? "").split(",");
|
|
@@ -970,7 +982,7 @@ function installModernOnlyHandlers(server, servedModernVersions) {
|
|
|
970
982
|
* Package-internal: the instance's implementation identity, for the serving
|
|
971
983
|
* entries to stamp onto entry-built results (the `subscriptions/listen`
|
|
972
984
|
* graceful-close result — built outside the encode seam, but the spec's
|
|
973
|
-
* `
|
|
985
|
+
* `SubscriptionsListenResultMetaObject` extends `ResultMetaObject`, so it carries
|
|
974
986
|
* the serverInfo SHOULD like every other result). Not public API.
|
|
975
987
|
*/
|
|
976
988
|
function serverIdentityOf(server) {
|
|
@@ -1041,6 +1053,11 @@ var Server = class extends Protocol {
|
|
|
1041
1053
|
if (modernProtocolVersions(this._supportedProtocolVersions).length > 0) this.setRequestHandler("server/discover", () => this._ondiscover());
|
|
1042
1054
|
if (this._capabilities.logging) this._registerLoggingHandler();
|
|
1043
1055
|
}
|
|
1056
|
+
/** Attaches to the given transport; rejects while this instance is connected to another one. */
|
|
1057
|
+
async connect(transport) {
|
|
1058
|
+
if (this.transport !== void 0) throw new SdkError(SdkErrorCode.AlreadyConnected, "Use a separate Server instance per connection: this instance is already connected to a transport. To connect it to a new transport, call close() first.");
|
|
1059
|
+
await super.connect(transport);
|
|
1060
|
+
}
|
|
1044
1061
|
/**
|
|
1045
1062
|
* Registers the built-in `logging/setLevel` request handler.
|
|
1046
1063
|
*
|
|
@@ -1602,6 +1619,30 @@ function discoverAdvertisedCapabilities(capabilities) {
|
|
|
1602
1619
|
|
|
1603
1620
|
//#endregion
|
|
1604
1621
|
//#region src/server/mcp.ts
|
|
1622
|
+
function toolInputElementCount(value, max) {
|
|
1623
|
+
let count = 0;
|
|
1624
|
+
const stack = [value];
|
|
1625
|
+
while (stack.length > 0) {
|
|
1626
|
+
const node = stack.pop();
|
|
1627
|
+
if (node === null || typeof node !== "object") continue;
|
|
1628
|
+
if (Array.isArray(node)) for (const child of node) {
|
|
1629
|
+
if (++count > max) return count;
|
|
1630
|
+
if (child !== null && typeof child === "object") stack.push(child);
|
|
1631
|
+
}
|
|
1632
|
+
else for (const key in node) {
|
|
1633
|
+
if (!Object.prototype.hasOwnProperty.call(node, key)) continue;
|
|
1634
|
+
if (++count > max) return count;
|
|
1635
|
+
const child = node[key];
|
|
1636
|
+
if (child !== null && typeof child === "object") stack.push(child);
|
|
1637
|
+
}
|
|
1638
|
+
}
|
|
1639
|
+
return count;
|
|
1640
|
+
}
|
|
1641
|
+
function resolveMaxToolInputElements(value) {
|
|
1642
|
+
if (value === void 0 || value === Infinity) return void 0;
|
|
1643
|
+
if (typeof value !== "number" || Number.isNaN(value) || value < 1) throw new RangeError(`maxToolInputElements must be a number of at least 1, or Infinity, got ${String(value)}`);
|
|
1644
|
+
return value;
|
|
1645
|
+
}
|
|
1605
1646
|
/**
|
|
1606
1647
|
* High-level MCP server that provides a simpler API for working with resources, tools, and prompts.
|
|
1607
1648
|
* For advanced usage (like sending notifications or setting custom request handlers), use the underlying
|
|
@@ -1620,16 +1661,12 @@ var McpServer = class {
|
|
|
1620
1661
|
* The underlying {@linkcode Server} instance, useful for advanced operations like sending notifications.
|
|
1621
1662
|
*/
|
|
1622
1663
|
server;
|
|
1664
|
+
_maxToolInputElements;
|
|
1623
1665
|
_registeredResources = {};
|
|
1624
1666
|
_registeredResourceTemplates = {};
|
|
1625
1667
|
_registeredTools = {};
|
|
1626
1668
|
_registeredPrompts = {};
|
|
1627
|
-
/**
|
|
1628
|
-
* Per-tool JSON-converted `inputSchema`, memoized so the SEP-2243
|
|
1629
|
-
* registration-time scan and the pre-dispatch validation step share one
|
|
1630
|
-
* conversion instead of paying it twice per request under the
|
|
1631
|
-
* per-request-factory `createMcpHandler` model.
|
|
1632
|
-
*/
|
|
1669
|
+
/** Per-tool JSON-converted `inputSchema`, filled on first use by `toolInputSchemaJson()`. */
|
|
1633
1670
|
_toolInputSchemaJson = {};
|
|
1634
1671
|
/**
|
|
1635
1672
|
* The JSON-serialized `inputSchema` of a registered tool, or `undefined`
|
|
@@ -1654,6 +1691,7 @@ var McpServer = class {
|
|
|
1654
1691
|
}
|
|
1655
1692
|
constructor(serverInfo, options) {
|
|
1656
1693
|
this.server = new Server(serverInfo, options);
|
|
1694
|
+
this._maxToolInputElements = resolveMaxToolInputElements(options?.maxToolInputElements);
|
|
1657
1695
|
if (options?.capabilities?.tools) this.setToolRequestHandlers();
|
|
1658
1696
|
if (options?.capabilities?.resources) this.setResourceRequestHandlers();
|
|
1659
1697
|
if (options?.capabilities?.prompts) this.setPromptRequestHandlers();
|
|
@@ -1725,7 +1763,7 @@ var McpServer = class {
|
|
|
1725
1763
|
name,
|
|
1726
1764
|
title: tool.title,
|
|
1727
1765
|
description: tool.description,
|
|
1728
|
-
inputSchema: tool.inputSchema ?
|
|
1766
|
+
inputSchema: tool.inputSchema ? convertListedInputSchema(name, tool.inputSchema) : EMPTY_OBJECT_JSON_SCHEMA,
|
|
1729
1767
|
annotations: tool.annotations,
|
|
1730
1768
|
icons: tool.icons,
|
|
1731
1769
|
execution: tool.execution,
|
|
@@ -1770,6 +1808,7 @@ var McpServer = class {
|
|
|
1770
1808
|
* Validates tool input arguments against the tool's input schema.
|
|
1771
1809
|
*/
|
|
1772
1810
|
async validateToolInput(tool, args, toolName) {
|
|
1811
|
+
if (this._maxToolInputElements !== void 0 && toolInputElementCount(args, this._maxToolInputElements) > this._maxToolInputElements) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Invalid arguments for tool ${toolName}: arguments contain more than the maximum of ${this._maxToolInputElements} elements`);
|
|
1773
1812
|
if (!tool.inputSchema) return;
|
|
1774
1813
|
const parseResult = await validateStandardSchema(tool.inputSchema, args ?? {});
|
|
1775
1814
|
if (!parseResult.success) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Input validation error: Invalid arguments for tool ${toolName}: ${parseResult.error}`);
|
|
@@ -2043,19 +2082,19 @@ var McpServer = class {
|
|
|
2043
2082
|
}
|
|
2044
2083
|
_createRegisteredTool(name, title, description, inputSchema, outputSchema, annotations, icons, execution, scopeChallenge, _meta, handler) {
|
|
2045
2084
|
validateAndWarnToolName(name);
|
|
2046
|
-
if (inputSchema !== void 0) try {
|
|
2047
|
-
const json = standardSchemaToJsonSchema(inputSchema, "input");
|
|
2048
|
-
this._toolInputSchemaJson[name] = json;
|
|
2049
|
-
const scan = scanXMcpHeaderDeclarations(json);
|
|
2050
|
-
if (!scan.valid) console.warn(`[mcp-sdk] tool '${name}' carries an invalid x-mcp-header declaration and will be excluded by conforming Streamable HTTP clients: ${scan.reason}`);
|
|
2051
|
-
} catch {}
|
|
2052
2085
|
let currentHandler = handler;
|
|
2086
|
+
let outputSchemaJson;
|
|
2053
2087
|
const registeredTool = {
|
|
2054
2088
|
title,
|
|
2055
2089
|
description,
|
|
2056
2090
|
inputSchema,
|
|
2057
2091
|
outputSchema,
|
|
2058
|
-
outputSchemaJson
|
|
2092
|
+
get outputSchemaJson() {
|
|
2093
|
+
return outputSchemaJson ??= convertOutputSchemaJson(registeredTool.outputSchema);
|
|
2094
|
+
},
|
|
2095
|
+
set outputSchemaJson(value) {
|
|
2096
|
+
outputSchemaJson = value;
|
|
2097
|
+
},
|
|
2059
2098
|
annotations,
|
|
2060
2099
|
icons,
|
|
2061
2100
|
execution,
|
|
@@ -2216,6 +2255,13 @@ const EMPTY_OBJECT_JSON_SCHEMA = {
|
|
|
2216
2255
|
type: "object",
|
|
2217
2256
|
properties: {}
|
|
2218
2257
|
};
|
|
2258
|
+
/** Converts a tool's `inputSchema` for `tools/list` and warns on an invalid SEP-2243 `x-mcp-header` declaration. */
|
|
2259
|
+
function convertListedInputSchema(name, inputSchema) {
|
|
2260
|
+
const json = standardSchemaToJsonSchema(inputSchema, "input");
|
|
2261
|
+
const scan = scanXMcpHeaderDeclarations(json);
|
|
2262
|
+
if (!scan.valid) console.warn(`[mcp-sdk] tool '${name}' carries an invalid x-mcp-header declaration and will be excluded by conforming Streamable HTTP clients: ${scan.reason}`);
|
|
2263
|
+
return json;
|
|
2264
|
+
}
|
|
2219
2265
|
/**
|
|
2220
2266
|
* Convert a registered `outputSchema` to JSON Schema, memoised on {@link RegisteredTool.outputSchemaJson}
|
|
2221
2267
|
* so `tools/call` passes the SAME advertised schema to the wire codec's `projectCallToolResult` that
|
|
@@ -2238,7 +2284,7 @@ function createPromptHandler(name, argsSchema, callback) {
|
|
|
2238
2284
|
if (argsSchema) {
|
|
2239
2285
|
const typedCallback = callback;
|
|
2240
2286
|
return async (args, ctx) => {
|
|
2241
|
-
const parseResult = await validateStandardSchema(argsSchema, args);
|
|
2287
|
+
const parseResult = await validateStandardSchema(argsSchema, args ?? {});
|
|
2242
2288
|
if (!parseResult.success) throw new ProtocolError(ProtocolErrorCode.InvalidParams, `Invalid arguments for prompt ${name}: ${parseResult.error}`);
|
|
2243
2289
|
return typedCallback(parseResult.data, ctx);
|
|
2244
2290
|
};
|
|
@@ -2277,4 +2323,4 @@ function unwrapOptionalSchema(schema) {
|
|
|
2277
2323
|
|
|
2278
2324
|
//#endregion
|
|
2279
2325
|
export { armSseKeepAlive as C, DEFAULT_SSE_KEEP_ALIVE_MS as S, isCompletable as T, DEFAULT_MAX_SUBSCRIPTIONS as _, seedClientIdentityFromEnvelope as a, InMemoryServerEventBus as b, findScopeChallenge as c, buildOAuthProtectedResourceMetadata as d, getOAuthProtectedResourceMetadataUrl as f, verifyBearerToken as g, requireBearerAuth as h, installModernOnlyHandlers as i, requireScopes as l, bearerAuthChallengeResponse as m, ResourceTemplate as n, serverIdentityOf as o, oauthMetadataResponse as p, Server as r, createScopeChallengeResponse as s, McpServer as t, scopeChallengeResourceMetadataUrl as u, StdioListenRouter as v, completable as w, createServerNotifier as x, createListenRouter as y };
|
|
2280
|
-
//# sourceMappingURL=mcp-
|
|
2326
|
+
//# sourceMappingURL=mcp-DIH4cS6P.mjs.map
|