@procedures/mcp-server 0.2.3 → 0.4.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/CHANGELOG.md +67 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/procedures/mcp/list-tools.d.ts.map +1 -1
- package/dist/procedures/mcp/list-tools.js +2 -1
- package/dist/procedures/mcp/list-tools.js.map +1 -1
- package/dist/procedures/mcp/serve.d.ts.map +1 -1
- package/dist/procedures/mcp/serve.js +2 -1
- package/dist/procedures/mcp/serve.js.map +1 -1
- package/dist/transport/http.d.ts +28 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/http.js +114 -0
- package/dist/transport/http.js.map +1 -0
- package/dist/transport/mcp-transport.d.ts +12 -0
- package/dist/transport/mcp-transport.d.ts.map +1 -1
- package/dist/transport/mcp-transport.js +75 -12
- package/dist/transport/mcp-transport.js.map +1 -1
- package/dist/types.d.ts +35 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/procedures/mcp/list-tools.ts +2 -1
- package/src/procedures/mcp/serve.ts +2 -1
- package/src/transport/http.ts +129 -0
- package/src/transport/mcp-transport.ts +75 -15
- package/src/types.ts +35 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tools.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA8D,KAAK,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAqC1I,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"list-tools.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAA8D,KAAK,YAAY,EAAyB,MAAM,oBAAoB,CAAC;AAqC1I,eAAO,MAAM,qBAAqB,EAAE,YA0ClC,CAAC"}
|
|
@@ -44,7 +44,8 @@ export const mcpListToolsProcedure = defineProcedure({
|
|
|
44
44
|
filter.pathPrefix = input.pathPrefix;
|
|
45
45
|
}
|
|
46
46
|
// The registry of the caller: a host with its own registry lists its own tools
|
|
47
|
-
|
|
47
|
+
// Only the procedures that the host exposes (roadmap R17)
|
|
48
|
+
const procedures = (ctx?.registry ?? PROCEDURE_REGISTRY).getAll().filter((procedure) => !ctx?.expose || ctx.expose(procedure.path));
|
|
48
49
|
const mcpTools = proceduresToMcpTools(procedures, filter);
|
|
49
50
|
const tools = mcpTools.map((tool) => ({
|
|
50
51
|
name: tool.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,qBAAqB,EAA4C,MAAM,oBAAoB,CAAC;AAC1I,OAAO,EAAE,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAE3E,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IAC/F,yCAAyC;IACzC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC1F,kDAAkD;IAClD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAClG,qDAAqD;IACrD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACtG,CAAC,CAAC;AAiBH,MAAM,wBAAwB,GAG1B;IACF,KAAK,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,IAA0B;IACpD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,IAA0B,EAAE,CAAC;CAC7F,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiB,eAAe,CAAC;IACjE,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;IAC3B,KAAK,EAAE,uBAAuB;IAC9B,MAAM,EAAE,wBAAwB;IAChC,QAAQ,EAAE;QACR,WAAW,EAAE,sDAAsD;QACnE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC;QAC9B,OAAO,EAAE,qBAAqB;KAC/B;IACD,OAAO,EAAE,KAAK,EAAE,KAAwB,EAAE,GAAsB,EAA+B,EAAE;QAC/F,2CAA2C;QAC3C,MAAM,MAAM,GAAkB;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAC;QACF,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC;QAED,+EAA+E;QAC/E,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"list-tools.js","sourceRoot":"","sources":["../../../src/procedures/mcp/list-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAEjB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAEjB,KAAK,YAAY,EAEjB,KAAK,aAAa,EACnB,MAAM,oBAAoB,CAAC;AAM5B,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AA+C7D,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC;IACzC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,IAAI,GAAE,MAAsB,EAC5B,QAAQ,GAAE,iBAAsC,GAC/C,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED,eAAO,MAAM,iBAAiB,EAAE,YA8C9B,CAAC"}
|
|
@@ -14,6 +14,7 @@ import { z } from "zod";
|
|
|
14
14
|
import { defineProcedure, ProcedureServer, PROCEDURE_REGISTRY, ProcedureRegistry, timeoutInterceptor, } from "@procedures/client";
|
|
15
15
|
import { McpServerTransport } from "../../transport/mcp-transport.js";
|
|
16
16
|
import { exposeRule, importBundles, mergeSurfaces } from "../../surface.js";
|
|
17
|
+
import { ms } from "@procedures/client";
|
|
17
18
|
/** The default bundle of the tool surface. */
|
|
18
19
|
export const DEFAULT_SERVE_BUNDLE = "@procedures/bundle-mcp";
|
|
19
20
|
const McpServeInputSchema = z.object({
|
|
@@ -80,7 +81,7 @@ export async function prepareServe(input, from = process.cwd(), registry = PROCE
|
|
|
80
81
|
registry,
|
|
81
82
|
expose,
|
|
82
83
|
strictCalls: input.strictCalls ?? true,
|
|
83
|
-
interceptors: [timeoutInterceptor({
|
|
84
|
+
interceptors: [timeoutInterceptor({ limit: ms(input.toolTimeoutMs ?? 600_000) })],
|
|
84
85
|
});
|
|
85
86
|
return warning === undefined ? { server, expose } : { server, expose, warning };
|
|
86
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GAInB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/procedures/mcp/serve.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The MCP transport over Streamable HTTP (roadmap R26), the HTTP transport of the current MCP
|
|
3
|
+
* specification. Before, this package had only stdio, and its SSE transport only threw.
|
|
4
|
+
*
|
|
5
|
+
* Each client gets a session: its `initialize` request makes a transport and an MCP server of its
|
|
6
|
+
* own, and the later requests of the client carry the `mcp-session-id` header of that session.
|
|
7
|
+
* A session gets the progress of a tool call and the `list_changed` notifications. The checks of
|
|
8
|
+
* a local server apply: the server listens on loopback by default, it refuses a web page of
|
|
9
|
+
* another host or origin (DNS rebinding, cross-site requests), and with a token it refuses a
|
|
10
|
+
* request without the token.
|
|
11
|
+
*/
|
|
12
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
13
|
+
import type { HttpTransportOptions } from "../types.js";
|
|
14
|
+
/** The HTTP endpoint of an MCP server, with a session for each client. */
|
|
15
|
+
export interface McpHttpTransport {
|
|
16
|
+
/** This function starts to listen, when the endpoint has a server of its own. It gives the URL. */
|
|
17
|
+
listen(): Promise<string>;
|
|
18
|
+
/** The number of open sessions. */
|
|
19
|
+
readonly sessions: number;
|
|
20
|
+
/** This function closes each session, and the server when the endpoint made one. */
|
|
21
|
+
close(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* This function makes the Streamable HTTP endpoint of an MCP server. `connect` connects the
|
|
25
|
+
* transport of a new session to an MCP server of its own.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createHttpTransport(options: HttpTransportOptions, connect: (transport: StreamableHTTPServerTransport) => Promise<void>): McpHttpTransport;
|
|
28
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AAEnG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,CAAC,SAAS,EAAE,6BAA6B,KAAK,OAAO,CAAC,IAAI,CAAC,GACnE,gBAAgB,CA4FlB"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The MCP transport over Streamable HTTP (roadmap R26), the HTTP transport of the current MCP
|
|
3
|
+
* specification. Before, this package had only stdio, and its SSE transport only threw.
|
|
4
|
+
*
|
|
5
|
+
* Each client gets a session: its `initialize` request makes a transport and an MCP server of its
|
|
6
|
+
* own, and the later requests of the client carry the `mcp-session-id` header of that session.
|
|
7
|
+
* A session gets the progress of a tool call and the `list_changed` notifications. The checks of
|
|
8
|
+
* a local server apply: the server listens on loopback by default, it refuses a web page of
|
|
9
|
+
* another host or origin (DNS rebinding, cross-site requests), and with a token it refuses a
|
|
10
|
+
* request without the token.
|
|
11
|
+
*/
|
|
12
|
+
import { randomUUID } from "node:crypto";
|
|
13
|
+
import { createServer } from "node:http";
|
|
14
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
15
|
+
import { bearerOf, checkBrowserRequest, tokenMatches } from "@procedures/client";
|
|
16
|
+
/**
|
|
17
|
+
* This function makes the Streamable HTTP endpoint of an MCP server. `connect` connects the
|
|
18
|
+
* transport of a new session to an MCP server of its own.
|
|
19
|
+
*/
|
|
20
|
+
export function createHttpTransport(options, connect) {
|
|
21
|
+
const path = options.path ?? "/mcp";
|
|
22
|
+
const host = options.host ?? "127.0.0.1";
|
|
23
|
+
const owned = options.server === undefined;
|
|
24
|
+
const server = options.server ?? createServer();
|
|
25
|
+
const sessions = new Map();
|
|
26
|
+
const refuse = (res, status, code, message) => {
|
|
27
|
+
res.statusCode = status;
|
|
28
|
+
res.setHeader("content-type", "application/json");
|
|
29
|
+
res.end(JSON.stringify({ jsonrpc: "2.0", error: { code: -32001, message, data: { code } }, id: null }));
|
|
30
|
+
};
|
|
31
|
+
/** The transport of a request: the one of its session, or a new one for an `initialize`. */
|
|
32
|
+
const transportOf = async (req) => {
|
|
33
|
+
const sessionId = req.headers["mcp-session-id"];
|
|
34
|
+
if (typeof sessionId === "string")
|
|
35
|
+
return sessions.get(sessionId);
|
|
36
|
+
if (req.method !== "POST")
|
|
37
|
+
return undefined;
|
|
38
|
+
const transport = new StreamableHTTPServerTransport({
|
|
39
|
+
sessionIdGenerator: () => randomUUID(),
|
|
40
|
+
onsessioninitialized: (id) => {
|
|
41
|
+
sessions.set(id, transport);
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
transport.onclose = () => {
|
|
45
|
+
if (transport.sessionId)
|
|
46
|
+
sessions.delete(transport.sessionId);
|
|
47
|
+
};
|
|
48
|
+
await connect(transport);
|
|
49
|
+
return transport;
|
|
50
|
+
};
|
|
51
|
+
const onRequest = (req, res) => {
|
|
52
|
+
const url = new URL(req.url ?? "/", "http://localhost");
|
|
53
|
+
if (url.pathname !== path) {
|
|
54
|
+
if (owned)
|
|
55
|
+
refuse(res, 404, "NOT_FOUND", `No MCP endpoint at ${url.pathname}`);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// A web page must not reach the tools: the host and the origin of the request
|
|
59
|
+
const guard = checkBrowserRequest(req, { ...(options.allowedOrigins ? { allowedOrigins: options.allowedOrigins } : {}) });
|
|
60
|
+
if (!guard.ok) {
|
|
61
|
+
refuse(res, guard.status, guard.code, guard.message);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (options.token !== undefined && !tokenMatches(options.token, bearerOf(req.headers["authorization"]))) {
|
|
65
|
+
refuse(res, 401, "UNAUTHORIZED", "Unauthorized: this server requires its token");
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
void transportOf(req)
|
|
69
|
+
.then((transport) => {
|
|
70
|
+
if (!transport) {
|
|
71
|
+
refuse(res, 404, "SESSION_NOT_FOUND", "No session: start one with an initialize request");
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
return transport.handleRequest(req, res);
|
|
75
|
+
})
|
|
76
|
+
.catch((error) => {
|
|
77
|
+
if (!res.headersSent)
|
|
78
|
+
refuse(res, 500, "INTERNAL_ERROR", error instanceof Error ? error.message : String(error));
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
server.on("request", onRequest);
|
|
82
|
+
return {
|
|
83
|
+
listen: async () => {
|
|
84
|
+
if (owned && !server.listening) {
|
|
85
|
+
await new Promise((resolve, reject) => {
|
|
86
|
+
server.once("error", reject);
|
|
87
|
+
server.listen(options.port ?? 3003, host, () => {
|
|
88
|
+
server.off("error", reject);
|
|
89
|
+
resolve();
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const address = server.address();
|
|
94
|
+
const shown = host === "0.0.0.0" ? "localhost" : host;
|
|
95
|
+
return `http://${shown}:${address?.port ?? options.port ?? 3003}${path}`;
|
|
96
|
+
},
|
|
97
|
+
get sessions() {
|
|
98
|
+
return sessions.size;
|
|
99
|
+
},
|
|
100
|
+
close: async () => {
|
|
101
|
+
server.off("request", onRequest);
|
|
102
|
+
const open = [...sessions.values()];
|
|
103
|
+
sessions.clear();
|
|
104
|
+
await Promise.all(open.map((transport) => transport.close().catch(() => undefined)));
|
|
105
|
+
if (owned && server.listening) {
|
|
106
|
+
await new Promise((resolve) => {
|
|
107
|
+
server.close(() => resolve());
|
|
108
|
+
server.closeAllConnections();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,9 +36,21 @@ export declare class McpServerTransport implements ServerTransport {
|
|
|
36
36
|
private tools;
|
|
37
37
|
private registerListener;
|
|
38
38
|
private unregisterListener;
|
|
39
|
+
/** The Streamable HTTP transport and its URL, when the transport is "http" (R26) */
|
|
40
|
+
private http;
|
|
41
|
+
/** The MCP servers of the sessions of the Streamable HTTP transport */
|
|
42
|
+
private readonly sessionServers;
|
|
43
|
+
private httpUrl;
|
|
39
44
|
/** A pending list_changed notification: a burst of registrations sends one */
|
|
40
45
|
private listChangedTimer;
|
|
46
|
+
/** The limits of a stream that can run without an end, the time in milliseconds (R15) */
|
|
47
|
+
private readonly streamLimits;
|
|
41
48
|
constructor(server: Server, options?: McpServerTransportOptions);
|
|
49
|
+
/**
|
|
50
|
+
* An MCP server of the SDK with the handlers of this transport. The stdio transport has one, and
|
|
51
|
+
* each session of the Streamable HTTP transport has one of its own (roadmap R26).
|
|
52
|
+
*/
|
|
53
|
+
private createSdkServer;
|
|
42
54
|
/**
|
|
43
55
|
* Setup MCP request handlers.
|
|
44
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-transport.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAqB,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-transport.d.ts","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAqB,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAIL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAmCtF;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,QAAQ,CAAC,IAAI,SAAS;IAEtB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,OAAO,CACa;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,gBAAgB,CAA6C;IACrE,OAAO,CAAC,kBAAkB,CAA6C;IACvE,oFAAoF;IACpF,OAAO,CAAC,IAAI,CAA+B;IAC3C,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,OAAO,CAAqB;IACpC,8EAA8E;IAC9E,OAAO,CAAC,gBAAgB,CAA4C;IACpE,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoC;IAEjE,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,yBAA8B,EA2BlE;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0FrB;;OAEG;IACH;;;;;OAKG;YACW,YAAY;IAkD1B,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB,2FAA2F;IAC3F,OAAO,CAAC,aAAa;IAKrB,gFAAgF;IAChF,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,GAAG;IAQX;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkD3B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1B;IAED;;OAEG;IACH,SAAS,IAAI,OAAO,CAEnB;IAED;;OAEG;IACH,QAAQ,IAAI,uBAAuB,CAOlC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE,CAEpB;CACF"}
|
|
@@ -10,6 +10,8 @@ import { PROCEDURE_REGISTRY, pathToMethod } from "@procedures/client";
|
|
|
10
10
|
import { proceduresToMcpTools, toToolDefinition, decodePath, } from "@procedures/mcp";
|
|
11
11
|
import { createStdioTransport } from "./stdio.js";
|
|
12
12
|
import { createSseTransport } from "./sse.js";
|
|
13
|
+
import { createHttpTransport } from "./http.js";
|
|
14
|
+
import { optionalMs } from "@procedures/client";
|
|
13
15
|
/**
|
|
14
16
|
* Generate a unique request ID.
|
|
15
17
|
*/
|
|
@@ -66,8 +68,15 @@ export class McpServerTransport {
|
|
|
66
68
|
tools = new Map();
|
|
67
69
|
registerListener;
|
|
68
70
|
unregisterListener;
|
|
71
|
+
/** The Streamable HTTP transport and its URL, when the transport is "http" (R26) */
|
|
72
|
+
http;
|
|
73
|
+
/** The MCP servers of the sessions of the Streamable HTTP transport */
|
|
74
|
+
sessionServers = new Set();
|
|
75
|
+
httpUrl;
|
|
69
76
|
/** A pending list_changed notification: a burst of registrations sends one */
|
|
70
77
|
listChangedTimer;
|
|
78
|
+
/** The limits of a stream that can run without an end, the time in milliseconds (R15) */
|
|
79
|
+
streamLimits;
|
|
71
80
|
constructor(server, options = {}) {
|
|
72
81
|
this.server = server;
|
|
73
82
|
this.options = {
|
|
@@ -78,6 +87,10 @@ export class McpServerTransport {
|
|
|
78
87
|
},
|
|
79
88
|
...options,
|
|
80
89
|
};
|
|
90
|
+
this.streamLimits = {
|
|
91
|
+
items: Math.max(1, options.streamLimits?.items ?? 100),
|
|
92
|
+
timeMs: optionalMs(options.streamLimits?.time, "streamLimits.time") ?? 30_000,
|
|
93
|
+
};
|
|
81
94
|
// The registry of the server, when it has one (a ProcedureServer with an explicit registry):
|
|
82
95
|
// before, the tools came from the global registry, also when the server served another one
|
|
83
96
|
this.registry =
|
|
@@ -86,29 +99,36 @@ export class McpServerTransport {
|
|
|
86
99
|
PROCEDURE_REGISTRY;
|
|
87
100
|
// Create MCP server with capabilities. The tool list follows the registry: when it changes,
|
|
88
101
|
// the server sends notifications/tools/list_changed (deep dive roadmap 0.4)
|
|
89
|
-
this.mcpServer =
|
|
102
|
+
this.mcpServer = this.createSdkServer();
|
|
103
|
+
// The registry listeners are attached in start() and removed in stop(): attaching them here
|
|
104
|
+
// leaked them for a transport that never started or failed to start (BUGS-2026-07 L28)
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* An MCP server of the SDK with the handlers of this transport. The stdio transport has one, and
|
|
108
|
+
* each session of the Streamable HTTP transport has one of its own (roadmap R26).
|
|
109
|
+
*/
|
|
110
|
+
createSdkServer() {
|
|
111
|
+
const server = new McpServer(this.options.serverInfo, {
|
|
90
112
|
capabilities: {
|
|
91
113
|
tools: { listChanged: true },
|
|
92
114
|
},
|
|
93
115
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
// The registry listeners are attached in start() and removed in stop(): attaching them here
|
|
97
|
-
// leaked them for a transport that never started or failed to start (BUGS-2026-07 L28)
|
|
116
|
+
this.setupHandlers(server);
|
|
117
|
+
return server;
|
|
98
118
|
}
|
|
99
119
|
/**
|
|
100
120
|
* Setup MCP request handlers.
|
|
101
121
|
*/
|
|
102
|
-
setupHandlers() {
|
|
122
|
+
setupHandlers(server) {
|
|
103
123
|
// ListToolsRequestSchema -> List all procedures as tools
|
|
104
|
-
|
|
124
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
105
125
|
this.log("ListToolsRequest received");
|
|
106
126
|
const tools = Array.from(this.tools.values()).map(toToolDefinition);
|
|
107
127
|
this.log(`Returning ${tools.length} tools`);
|
|
108
128
|
return { tools };
|
|
109
129
|
});
|
|
110
130
|
// CallToolRequestSchema -> Execute procedure
|
|
111
|
-
|
|
131
|
+
server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
112
132
|
const { name, arguments: args } = request.params;
|
|
113
133
|
this.log(`CallToolRequest: ${name}`);
|
|
114
134
|
// Find tool
|
|
@@ -141,7 +161,8 @@ export class McpServerTransport {
|
|
|
141
161
|
this.log(`Tool ${name} completed: ${response.status.type}`);
|
|
142
162
|
// Convert to MCP result
|
|
143
163
|
if (response.status.type === "success" && response.stream) {
|
|
144
|
-
|
|
164
|
+
const unbounded = response.metadata?.["stream"] === "unbounded";
|
|
165
|
+
return await this.streamResult(response.stream, extra, unbounded);
|
|
145
166
|
}
|
|
146
167
|
if (response.status.type === "success") {
|
|
147
168
|
const structured = tool.outputSchema ? structuredContentOf(response.payload) : undefined;
|
|
@@ -153,14 +174,17 @@ export class McpServerTransport {
|
|
|
153
174
|
};
|
|
154
175
|
}
|
|
155
176
|
else {
|
|
177
|
+
// The code and the reason of the error travel on each face (roadmap R25)
|
|
178
|
+
const reason = typeof response.metadata?.["reason"] === "string" ? response.metadata["reason"] : undefined;
|
|
156
179
|
return {
|
|
157
180
|
content: [
|
|
158
181
|
{
|
|
159
182
|
type: "text",
|
|
160
|
-
text: response.status.message ?? "Unknown error"
|
|
183
|
+
text: `${response.status.message ?? "Unknown error"}${reason ? ` (reason: ${reason})` : ""}`,
|
|
161
184
|
},
|
|
162
185
|
],
|
|
163
186
|
isError: true,
|
|
187
|
+
_meta: { code: response.status.code, ...(reason ? { reason } : {}) },
|
|
164
188
|
};
|
|
165
189
|
}
|
|
166
190
|
}
|
|
@@ -183,13 +207,23 @@ export class McpServerTransport {
|
|
|
183
207
|
* and a progress notification when the caller sent a progress token, so a client can show
|
|
184
208
|
* the items while the stream runs.
|
|
185
209
|
*/
|
|
186
|
-
async streamResult(stream, extra) {
|
|
210
|
+
async streamResult(stream, extra, unbounded = false) {
|
|
187
211
|
const progressToken = extra._meta?.progressToken;
|
|
188
212
|
const blocks = [];
|
|
189
213
|
let count = 0;
|
|
214
|
+
// A stream that can run without an end stops at the first limit (roadmap R15: before, a
|
|
215
|
+
// docker.logs with follow ended only at the time limit of the tool call)
|
|
216
|
+
const limits = this.streamLimits;
|
|
217
|
+
const started = Date.now();
|
|
218
|
+
let stoppedBy;
|
|
190
219
|
try {
|
|
191
220
|
for await (const item of stream) {
|
|
192
221
|
count++;
|
|
222
|
+
if (unbounded && (count > limits.items || Date.now() - started > limits.timeMs)) {
|
|
223
|
+
stoppedBy = count > limits.items ? `${limits.items} items` : `${Math.round(limits.timeMs / 1000)} seconds`;
|
|
224
|
+
count--;
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
193
227
|
const text = toText(item);
|
|
194
228
|
blocks.push({ type: "text", text });
|
|
195
229
|
if (blocks.length > MAX_STREAM_BLOCKS)
|
|
@@ -211,6 +245,9 @@ export class McpServerTransport {
|
|
|
211
245
|
if (count > MAX_STREAM_BLOCKS) {
|
|
212
246
|
blocks.unshift({ type: "text", text: `(${count} items: the first ${count - MAX_STREAM_BLOCKS} are not shown)` });
|
|
213
247
|
}
|
|
248
|
+
if (stoppedBy) {
|
|
249
|
+
blocks.push({ type: "text", text: `(The stream can run without an end, so the tool stopped it after ${stoppedBy}.)` });
|
|
250
|
+
}
|
|
214
251
|
if (count === 0)
|
|
215
252
|
blocks.push({ type: "text", text: "(no items)" });
|
|
216
253
|
return { content: blocks };
|
|
@@ -270,6 +307,8 @@ export class McpServerTransport {
|
|
|
270
307
|
this.listChangedTimer = undefined;
|
|
271
308
|
if (!this.running)
|
|
272
309
|
return;
|
|
310
|
+
for (const sessionServer of this.sessionServers)
|
|
311
|
+
sessionServer.sendToolListChanged().catch(() => undefined);
|
|
273
312
|
this.mcpServer.sendToolListChanged().catch((error) => {
|
|
274
313
|
this.log(`list_changed failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
275
314
|
});
|
|
@@ -308,6 +347,16 @@ export class McpServerTransport {
|
|
|
308
347
|
transport = createStdioTransport();
|
|
309
348
|
this.log("Using stdio transport");
|
|
310
349
|
}
|
|
350
|
+
else if (this.options.transport === "http") {
|
|
351
|
+
// Streamable HTTP (roadmap R26): an MCP server of its own for each session
|
|
352
|
+
this.http = createHttpTransport(this.options.httpOptions ?? {}, async (sessionTransport) => {
|
|
353
|
+
const sessionServer = this.createSdkServer();
|
|
354
|
+
this.sessionServers.add(sessionServer);
|
|
355
|
+
sessionServer.onclose = () => this.sessionServers.delete(sessionServer);
|
|
356
|
+
await sessionServer.connect(sessionTransport);
|
|
357
|
+
});
|
|
358
|
+
transport = undefined;
|
|
359
|
+
}
|
|
311
360
|
else if (this.options.transport === "sse") {
|
|
312
361
|
transport = createSseTransport(this.options.sseOptions);
|
|
313
362
|
this.log(`Using SSE transport on ${this.options.sseOptions?.path ?? "/mcp/sse"}`);
|
|
@@ -316,10 +365,17 @@ export class McpServerTransport {
|
|
|
316
365
|
throw new Error(`Unknown MCP transport: ${this.options.transport}`);
|
|
317
366
|
}
|
|
318
367
|
// Connect MCP server to transport
|
|
319
|
-
|
|
368
|
+
if (transport)
|
|
369
|
+
await this.mcpServer.connect(transport);
|
|
370
|
+
if (this.http) {
|
|
371
|
+
this.httpUrl = await this.http.listen();
|
|
372
|
+
this.log(`Using Streamable HTTP at ${this.httpUrl}`);
|
|
373
|
+
}
|
|
320
374
|
}
|
|
321
375
|
catch (error) {
|
|
322
376
|
this.removeRegistryListeners();
|
|
377
|
+
await this.http?.close().catch(() => undefined);
|
|
378
|
+
this.http = undefined;
|
|
323
379
|
throw error;
|
|
324
380
|
}
|
|
325
381
|
this.running = true;
|
|
@@ -339,6 +395,12 @@ export class McpServerTransport {
|
|
|
339
395
|
this.listChangedTimer = undefined;
|
|
340
396
|
}
|
|
341
397
|
await this.mcpServer.close();
|
|
398
|
+
await this.http?.close();
|
|
399
|
+
for (const sessionServer of this.sessionServers)
|
|
400
|
+
await sessionServer.close().catch(() => undefined);
|
|
401
|
+
this.sessionServers.clear();
|
|
402
|
+
this.http = undefined;
|
|
403
|
+
this.httpUrl = undefined;
|
|
342
404
|
this.running = false;
|
|
343
405
|
this.log("MCP server stopped");
|
|
344
406
|
}
|
|
@@ -356,6 +418,7 @@ export class McpServerTransport {
|
|
|
356
418
|
running: this.running,
|
|
357
419
|
toolCount: this.tools.size,
|
|
358
420
|
transport: this.options.transport,
|
|
421
|
+
...(this.httpUrl ? { url: this.httpUrl } : {}),
|
|
359
422
|
};
|
|
360
423
|
}
|
|
361
424
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-transport.js","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-transport.js","sourceRoot":"","sources":["../../src/transport/mcp-transport.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -6,9 +6,25 @@
|
|
|
6
6
|
import type { Transport as SdkTransport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
|
7
7
|
import type { ProcedureRegistry } from "@procedures/client";
|
|
8
8
|
import type { McpServerInfo, McpToolFilter } from "@procedures/mcp";
|
|
9
|
+
import type { Duration } from "@procedures/client";
|
|
9
10
|
/**
|
|
10
11
|
* SSE transport configuration options.
|
|
11
12
|
*/
|
|
13
|
+
/** The options of the Streamable HTTP transport (roadmap R26). */
|
|
14
|
+
export interface HttpTransportOptions {
|
|
15
|
+
/** Port to listen on (default: 3003) */
|
|
16
|
+
port?: number | undefined;
|
|
17
|
+
/** Host to bind to (default: "127.0.0.1": only this computer can reach the tools) */
|
|
18
|
+
host?: string | undefined;
|
|
19
|
+
/** The path of the MCP endpoint (default: "/mcp") */
|
|
20
|
+
path?: string | undefined;
|
|
21
|
+
/** A secret that each request must send as `Authorization: Bearer <token>` */
|
|
22
|
+
token?: string | undefined;
|
|
23
|
+
/** Browser origins that can call the server, besides loopback origins */
|
|
24
|
+
allowedOrigins?: string[] | undefined;
|
|
25
|
+
/** An HTTP server to answer on, in place of a server of the transport (it does not listen then) */
|
|
26
|
+
server?: import("node:http").Server | undefined;
|
|
27
|
+
}
|
|
12
28
|
export interface SseTransportOptions {
|
|
13
29
|
/** Port to listen on (default: 3002) */
|
|
14
30
|
port?: number;
|
|
@@ -23,8 +39,13 @@ export interface SseTransportOptions {
|
|
|
23
39
|
* MCP Server Transport configuration options.
|
|
24
40
|
*/
|
|
25
41
|
export interface McpServerTransportOptions {
|
|
26
|
-
/**
|
|
27
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Transport type (default: "stdio"). "http" is Streamable HTTP, the HTTP transport of the
|
|
44
|
+
* current MCP specification (roadmap R26). "sse" is not implemented.
|
|
45
|
+
*/
|
|
46
|
+
transport?: "stdio" | "sse" | "http";
|
|
47
|
+
/** The options of the Streamable HTTP transport. */
|
|
48
|
+
httpOptions?: HttpTransportOptions | undefined;
|
|
28
49
|
/** Procedure registry to use (defaults to PROCEDURE_REGISTRY) */
|
|
29
50
|
registry?: ProcedureRegistry;
|
|
30
51
|
/** Server info for MCP protocol */
|
|
@@ -40,6 +61,15 @@ export interface McpServerTransportOptions {
|
|
|
40
61
|
sdkTransport?: SdkTransport;
|
|
41
62
|
/** Enable debug logging */
|
|
42
63
|
debug?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The limits of a stream that can run without an end (`stream: { unbounded: true }` of its
|
|
66
|
+
* procedure): the tool stops it at the first one and gives the items that it has (roadmap R15).
|
|
67
|
+
* @default { items: 100, time: seconds(30) }
|
|
68
|
+
*/
|
|
69
|
+
streamLimits?: {
|
|
70
|
+
items?: number;
|
|
71
|
+
time?: Duration;
|
|
72
|
+
} | undefined;
|
|
43
73
|
}
|
|
44
74
|
/**
|
|
45
75
|
* MCP Server Transport state.
|
|
@@ -50,6 +80,8 @@ export interface McpServerTransportState {
|
|
|
50
80
|
/** Number of registered tools */
|
|
51
81
|
toolCount: number;
|
|
52
82
|
/** Transport type in use */
|
|
53
|
-
transport: "stdio" | "sse";
|
|
83
|
+
transport: "stdio" | "sse" | "http";
|
|
84
|
+
/** The URL of the Streamable HTTP endpoint, when the transport is "http" */
|
|
85
|
+
url?: string;
|
|
54
86
|
}
|
|
55
87
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,kEAAkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,mGAAmG;IACnG,MAAM,CAAC,EAAE,OAAO,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IAErC,oDAAoD;IACpD,WAAW,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAE/C,iEAAiE;IACjE,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAE7B,mCAAmC;IACnC,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,6BAA6B;IAC7B,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,qDAAqD;IACrD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC;;;OAGG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,SAAS,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,SAAS,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|